High-level Multicore Programming with XJava

  • Tagung:

    Konferenzartikel 

  • Autoren:

    Frank Otto
    Victor Pankratius
    Walter F. Tichy

  • Summary

    Multicore chips are becoming mainstream, but programming them is difficult because the prevalent thread-based programming model is error-prone and does not scale well. To address this problem, we designed XJava, an extensionof Java that permits the direct expression of producer/consumer, pipeline, master/slave, and data parallelism. The central concept of the extension is the task, a parallel activity similar to a filter in Unix. Tasks can be combined with new operators to create arbitrary nestings of parallel activities.Preliminary experience with XJava and its compiler suggests that the extensions lead to code savings and reduce the potential for synchronization defects, while preserving the advantages of object-orientation and type-safety. The proposed extensions provide intuitive "what you see is what you get" parallelism. They also enable other software tools, such as autotuning and accurate static analysis for race detection.

  • Jahr:

    2009 

  • Links:

Bibtex

@inproceedings{,
author={Frank Otto, Victor Pankratius, Walter F. Tichy},
title={High-level Multicore Programming with XJava},
year=2009,
month=May,
booktitle={31st International Conference on Software Engineering (ICSE)},
volume={Companion Volume},
url={https://ps.ipd.kit.edu/downloads/ka_2009_high_level_multicore_programming.pdf},
abstract={Multicore chips are becoming mainstream, but programming them is difficult because the prevalent thread-based programming model is error-prone and does not scale well. To address this problem, we designed XJava, an extensionof Java that permits the direct expression of producer/consumer, pipeline, master/slave, and data parallelism. The central concept of the extension is the task, a parallel activity similar to a filter in Unix. Tasks can be combined with new operators to create arbitrary nestings of parallel activities.Preliminary experience with XJava and its compiler suggests that the extensions lead to code savings and reduce the potential for synchronization defects, while preserving the advantages of object-orientation and type-safety. The proposed extensions provide intuitive "what you see is what you get" parallelism. They also enable other software tools, such as autotuning and accurate static analysis for race detection.},
organization={IEEE},