Write a Blog >>
Sun 20 - Fri 25 October 2019 Athens, Greece
Fri 25 Oct 2019 14:00 - 14:22 at Olympia - Implementation Chair(s): Jens Palsberg

We present the design and implementation of GVM, the first system for executing Java bytecode entirely on GPUs. GVM is ideal for applications that execute a large number of short-living tasks, which share a significant fraction of their codebase and have similar execution time. GVM uses novel algorithms, scheduling, and data layout techniques to adapt to the massively parallel programming and execution model of GPUs.
We apply GVM to generate and execute tests for Java projects. First, we implement a sequence-based test generation on top of GVM and design novel algorithms to avoid redundant test sequences. Second, we use GVM to execute randomly generated test cases. We evaluate GVM by comparing it with two existing Java bytecode interpreters (Oracle JVM and Java Pathfinder), as well as with the Oracle JVM with just-in-time (JIT) compiler, which has been engineered and optimized for over twenty years. Our evaluation shows that sequence-based test generation on GVM outperforms both Java Pathfinder and Oracle JVM interpreter. Additionally, our results show that GVM performs as well as running our parallel sequence-based test generation algorithm using JVM with JIT with many CPU threads. Furthermore, our evaluation on several classes from open-source projects shows that executing randomly generated tests on GVM outperforms sequential execution on JVM interpreter and JVM with JIT.

Fri 25 Oct
Times are displayed in time zone: Beirut change

14:00 - 15:30: ImplementationOOPSLA at Olympia
Chair(s): Jens PalsbergUniversity of California, Los Angeles
14:00 - 14:22
Design, Implementation, and Application of GPU-Based Java Bytecode Interpreters
Ahmet CelikThe University of Texas at Austin, Pengyu NieThe University of Texas at Austin, Chris RossbachThe University of Texas at Austin and VMware Research Group, Milos GligoricThe University of Texas at Austin
14:22 - 14:45
Initialize Once, Start Fast: Application Initialization at Build Time
Christian WimmerOracle Labs, Codrut StancuOracle Labs, Peter HoferOracle Labs, Vojin JovanovicOracle Labs, Paul WögererOracle Labs, Peter B. KesslerOracle Labs, Oleg PlissOracle Labs, Thomas WuerthingerOracle Labs
DOI Pre-print
14:45 - 15:07
Reliable and Fast DWARF-Based Stack Unwinding
Link to publication DOI File Attached
15:07 - 15:30
PYE: A Framework for Precise-Yet-Efficient Just-In-Time Analyses for Java ProgramsTOPLAS
Manas ThakurIIT Madras, V Krishna NandivadaIIT Madras