Hera-JVM: A Runtime System for Heterogeneous Multi-Core Architectures

  • Ross McIlroy | Microsoft Research Cambridge

Heterogeneous multi-core processors, such as the IBM Cell processor, can deliver high performance. However, these processors are notoriously difficult to program: different cores support different instruction set architectures, and the processor as a whole does not provide coherence between the different cores’ local memories.

Hera-JVM is an implementation of the Java Virtual Machine which operates over the Cell processor, thereby making this platform more readily accessible to mainstream developers. Hera-JVM supports the full Java language; threads from an unmodified Java application can be simultaneously executed on both the main PowerPC based core and on the additional SPE accelerator cores. Migration of threads between these cores is transparent from the point of view of the application, requiring no modification to Java source code or bytecode. Hera-JVM supports the existing Java Memory Model, even though the underlying hardware does not provide cache coherence between the different core types.

In this talk I will discuss the approach taken by Hera-JVM and describe how the use of high level type information embedded in the Java bytecode can assist in overcoming the challenges of development on this platform. Experimental results from the SpecJVM, Java Grande and Dacapo benchmark suites will be presented, which show that Hera-JVM can achieve speedups of up to 2.25x by using one of the Cell processor’s SPE accelerator cores and up to 13x speedup when using all six SPE cores, compared to execution on the main PowerPC core.

Speaker Details

Ross McIlroy is a Post-Doc researcher in the System’s and Networking group at Microsoft Research Cambridge. His main research interests lie in operating system, runtime system and programming language support for multi-core architectures, particularly the interface between application programs and heterogeneous architectures. He is currently involved in the Barrelfish operating system, a joint collaboration between MSR and ETH-Zurich.

He recently completed his PhD at the University of Glasgow, which involved the creation of a Java Virtual Machine for the Cell processor, called Hera-JVM. He completed a MSci in Computing Science in 2005, also at the University of Glasgow. This involved a research project that employed the Xen Virtual Machine Monitor to partition a network router’s resources between multiple competing QoS network flows. During his studies he has interned at IBM, Intel, Google and Microsoft Research Redmond, working on the Xen virtual machine and the Helios operating system during these internships.

    • Portrait of Jeff Running

      Jeff Running

    • Portrait of Ross McIlroy

      Ross McIlroy