Integrating asynchronous task parallelism and data-centric atomicity

Vivek Kumar, Julian Dolby, Stephen M. Blackburn

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

    3 Citations (Scopus)

    Abstract

    Processor design has turned toward parallelism and heterogeneous cores to achieve performance and energy efficiency. Developers find high-level languages attractive as they use abstraction to offer productivity and portability over these hardware complexities. Over the past few decades, researchers have developed increasingly advanced mechanisms to deliver performance despite the overheads naturally imposed by this abstraction. Recent work has demonstrated that such mechanisms can be exploited to attack overheads that arise in emerging high-level languages, which provide strong abstractions over parallelism. However, current implementation of existing popular high-level languages, such as Java, offer little by way of abstractions that allow the developer to achieve performance in the face of extensive hardware parallelism. In this paper, we present a small set of extensions to the Java programming language that aims to achieve both high performance and high productivity with minimal programmer effort. We incorporate ideas from languages like X10 and AJ to develop five annotations in Java for achieving asynchronous task parallelism and data-centric concurrency control. These annotations allow the use of a highly effcient implementation of a work-stealing scheduler for task parallelism. We evaluate our proposal by refactoring classes from a number of existing multithreaded open source projects to use our new annotations. Our results suggest that these annotations significantly reduce the programming effort while achieving performance improvements up to 30% compared to conventional approaches.

    Original languageEnglish
    Title of host publicationProceedings of the 2016 International Conference on Principles and Practices of Programming on the Java Platform
    Subtitle of host publicationVirtual Machines, Languages, and Tools, PPPJ 2016
    PublisherAssociation for Computing Machinery
    ISBN (Electronic)9781450341356
    DOIs
    Publication statusPublished - 2016
    Event13th International Conference on Principles and Practices of Programming on the Java Platform: Virtual Machines, Languages, and Tools, PPPJ 2016 - Lugano, Switzerland
    Duration: 29 Aug 201631 Aug 2016

    Publication series

    NameACM International Conference Proceeding Series
    VolumePart F128404

    Conference

    Conference13th International Conference on Principles and Practices of Programming on the Java Platform: Virtual Machines, Languages, and Tools, PPPJ 2016
    Country/TerritorySwitzerland
    CityLugano
    Period29/08/1631/08/16

    Fingerprint

    Dive into the research topics of 'Integrating asynchronous task parallelism and data-centric atomicity'. Together they form a unique fingerprint.

    Cite this