Abstract

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.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call