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

167
Опубликовано 17 августа 2016, 22:04
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.
автотехномузыкадетское