• DocumentCode
    501639
  • Title

    On Expressing Different Concurrency Paradigms on Virtual Execution Systems

  • Author

    Dittamo, Cristian

  • Author_Institution
    Dept. Comput. Sci., Univ. of Pisa, Pisa, Italy
  • Volume
    1
  • fYear
    2009
  • fDate
    20-24 July 2009
  • Firstpage
    664
  • Lastpage
    667
  • Abstract
    Virtual machines emerged during the 90s as the platform for developing frameworks and applications, offering large base class libraries, dynamic loading, and reflection. The design of these machines was influenced by the then dominant idea that processors would have maintained a Von-Neumann model while hiding non-Von Neumann aspects in their internal structure. Recently Graphics Processing Units (GPUs), as well as the Cell BE architecture, have broken this assumption, exposing to programs forms of non-determinism going beyond the traditional model. These architectures are difficult to target from the Just-In-Time compiler module of a Virtual Machine (VM) because their features (execution and memory models) are hidden from the abstraction layer provided by the intermediate language. This is a symptom of a diverging gap between the actual architectures and the abstract view offered by the VM that will eventually lead to the under-use of hardware resources by VM-based programs.In this research I introduce a set of types and meta-data to represent different parallel computations, so that programmers are freed from the task of specifying parallelism, communication, synchronization, etc.At runtime, through reflection a meta-program can evaluate the meta-data and generates required code for exploiting the special features of the underlying non-Von Neumann architectures.
  • Keywords
    just-in-time; multiprocessing programs; program compilers; software architecture; virtual machines; virtual reality; Von-Neumann model; concurrency paradigms; graphics processing units; just-in-time compiler; non-Von Neumann architectures; virtual execution systems; virtual machines; Computer architecture; Concurrent computing; Graphics; Hardware; Libraries; Parallel processing; Programming profession; Reflection; Virtual machining; Virtual manufacturing; General Purpose GPU; Runtime code generation; Virtual Machine; meta-programming; parallel computation models;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Computer Software and Applications Conference, 2009. COMPSAC '09. 33rd Annual IEEE International
  • Conference_Location
    Seattle, WA
  • ISSN
    0730-3157
  • Print_ISBN
    978-0-7695-3726-9
  • Type

    conf

  • DOI
    10.1109/COMPSAC.2009.102
  • Filename
    5254188