Home | english  | Impressum | Datenschutz | Sitemap | KIT

High-level Multicore Programming with XJava

High-level Multicore Programming with XJava
Tagung:

Konferenzartikel 

Jahr:

2009 

Autoren:

Frank Otto
Victor Pankratius
Walter F. Tichy

Links:PDF

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.

Beteiligte Mitarbeiter (zufällige Reihenfolge)
Titel Vorname Nachname

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},