Extending OpenJDK to support hybrid STM/HTM preliminary design

Keith Chapman*, Antony L. Hosking, J. Eliot B. Moss

*Corresponding author for this work

    Research output: Chapter in Book/Report/Conference proceedingConference contributionpeer-review

    1 Citation (Scopus)

    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 languageEnglish
    Title of host publicationVMIL 2016 - Proceedings of the 8th International Workshop on Virtual Machines and Intermediate Languages, co-located with SPLASH 2016
    EditorsAntony L. Hosking, Witawas Srisa-an
    PublisherAssociation for Computing Machinery, Inc
    Pages1-5
    Number of pages5
    ISBN (Electronic)9781450346450
    DOIs
    Publication statusPublished - 31 Oct 2016
    Event8th International Workshop on Virtual Machines and Intermediate Languages, VMIL 2016 - Amsterdam, Netherlands
    Duration: 31 Oct 2016 → …

    Publication series

    NameVMIL 2016 - Proceedings of the 8th International Workshop on Virtual Machines and Intermediate Languages, co-located with SPLASH 2016

    Conference

    Conference8th International Workshop on Virtual Machines and Intermediate Languages, VMIL 2016
    Country/TerritoryNetherlands
    CityAmsterdam
    Period31/10/16 → …

    Fingerprint

    Dive into the research topics of 'Extending OpenJDK to support hybrid STM/HTM preliminary design'. Together they form a unique fingerprint.

    Cite this