کد مقاله | کد نشریه | سال انتشار | مقاله انگلیسی | نسخه تمام متن |
---|---|---|---|---|
432996 | 689196 | 2016 | 13 صفحه PDF | دانلود رایگان |

• JaSPEx-MLS: an automatic parallelization framework for JVM applications.
• Uses Method-Level Speculation.
• Custom STM extended with support for futures, value prediction, and captured memory.
• Optimized execution with custom thread pool buffering and task freezing mechanisms.
• Works on top of the HotSpot JVM and is able to obtain speedups over the Oracle JVM.
Despite the ubiquity of multicores, many commonly-used applications are still sequential. As a consequence, many chip designers are still investing on the creation of chips with a small number of ever-more-complex cores, showing that sequential performance is still a very important issue in some of today’s computing systems. To tackle this issue, we have developed JaSPEx-MLS: a software-based automatic parallelization framework targeted at sequential irregular Java/JVM applications, that is based on Method-Level Speculation and Software Transactional Memory, and works atop the OpenJDK HotSpot JVM, a state-of-the-art managed runtime. We aim our framework as a software implementation of the boost feature in modern CPUs, allowing sequential applications to execute faster on multicores whenever parallel versions of those applications are not yet available. In this work, we describe the design of our framework, and introduce several techniques that when combined allow it to parallelize applications successfully with minimal overheads on commonly-available multicores.
Journal: Journal of Parallel and Distributed Computing - Volume 87, January 2016, Pages 13–25