On Expressing Different Concurrency Paradigms on Virtual Execution Systems

Cristian Dittamo
2009 2009 33rd Annual IEEE International Computer Software and Applications Conference  
The notion of virtual machine has permeated every aspect of computing systems, as witnessed by the ever growing set of virtual execution systems targeted by programming languages such as Java, C#, Perl and Python just to mention few of them. Virtual machines are appreciated not only because of portability of computer programs across different architectures; the ability of monitoring the program execution has proven important to enforce security aspects as well as tailoring execution onto
more » ... c architectures. Moreover, dynamic loading and reflection allow programs to adapt their execution depending on several environment factors, including the underlying computing architecture. Recently microprocessor architectures are shifting from the original Von Neumann computational model, and including different forms of concurrent computation that cannot be hidden to the executing program; important examples are the programmable graphical processors (GPU), and the Cell BE architectures. Virtual machines provide an abstract computing model that provides heap, stack-based operations, shared memory, and multi-threaded concurrency. Although it is possible to imagine a Just In Time compiler that maps programs for the virtual machines to the underlying architecture, the program will not contain enough information to efficiently bridge the gap between computational paradigms that may differ significantly. In this PhD work we want to investigate general approaches to bridge this gap, by providing suitable programming abstractions not affecting the general structure of the virtual machine, but consent control over the particular underlying architecture. 2 Research Proposal 21 Bibliography 25 ii CONTENTS 1 Instead of ISA + OS interface with ProcVM 2 Recently standardized by ECMA and ISO as well as the C# language specification [19] 3 Published under ECMA-335[20] and ISO/IEC 23271) developed by Microsoft.
doi:10.1109/compsac.2009.102 dblp:conf/compsac/Dittamo09 fatcat:fsi73aeutnb2pgmboqkv6rusoy