Abstract
We have recently described and evaluated a research prototype system (called XJ, for transactional Java) that allows execution of Java programs extended with transactional memory (TM) abstractions (Chapman et al. 2014, 2016). The system allows mixed execution of these abstractions using both software (STM) and hardware (HTM) transactional memory. The prototype system, based on OpenJDK, suffers a number of roadblocks impeding production use, including: (i) Per-object metadata in support of manipulation of objects by transactions is inserted via bytecode rewriting at load time, in the form of a new word-sized instance field placed at the beginning of each object; (ii) The HotSpot optimizing compilers (C1 and C2) require gentle coaxing to compile both the STM and HTM versions of methods via alternating execution in a warm-up phase. Here we explore possible changes to Open- JDK that would allow for more integrated support for TM in HotSpot, as needed to support hybrid STM/HTM. These changes include encoding per-object transactional metadata in the synchronization word carried by all OpenJDK objects, and integrating more effectively with the profiling and compilation mechanisms of the HotSpot interpreter and compilers. We believe that the proposed changes are incremental, though we also expect that a deeper re-engineering would yield somewhat better ability to tune synchronization hotpaths for performance.
| Original language | English |
|---|---|
| Title of host publication | VMIL 2016 - Proceedings of the 8th International Workshop on Virtual Machines and Intermediate Languages, co-located with SPLASH 2016 |
| Editors | Antony L. Hosking, Witawas Srisa-an |
| Publisher | Association for Computing Machinery (ACM) |
| Pages | 1-5 |
| Number of pages | 5 |
| ISBN (Electronic) | 9781450346450 |
| DOIs | |
| Publication status | Published - 31 Oct 2016 |
| Event | 8th International Workshop on Virtual Machines and Intermediate Languages, VMIL 2016 - Amsterdam, Netherlands, Amsterdam, Netherlands Duration: 31 Oct 2016 → 31 Oct 2016 https://dl.acm.org/doi/proceedings/10.1145/2998415 |
Publication series
| Name | VMIL 2016 - Proceedings of the 8th International Workshop on Virtual Machines and Intermediate Languages, co-located with SPLASH 2016 |
|---|
Conference
| Conference | 8th International Workshop on Virtual Machines and Intermediate Languages, VMIL 2016 |
|---|---|
| Abbreviated title | VMIL '16 |
| Country/Territory | Netherlands |
| City | Amsterdam |
| Period | 31/10/16 → 31/10/16 |
| Other | October 30 - December 31 2016 |
| Internet address |