DocumentCode
2004018
Title
High-level multicore programming with XJava
Author
Otto, Frank ; Pankratius, Victor ; Tichy, Walter F.
Author_Institution
Univ. of Karlsruhe, Karlsruhe
fYear
2009
fDate
16-24 May 2009
Firstpage
319
Lastpage
322
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 extension of 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 ldquowhat-you-see-is-what-you-getrdquo parallelism. They also enable other software tools, such as auto-tuning and accurate static analysis for race detection.
Keywords
Java; Unix; microprocessor chips; multi-threading; Unix; XJava; data parallelism; high-level multicore programming; multicore chips; software tools; static analysis; synchronization defects; thread-based programming model; Filters; Graphics; Java; Libraries; Master-slave; Multicore processing; Parallel processing; Parallel programming; Pipelines; Signal processing;
fLanguage
English
Publisher
ieee
Conference_Titel
Software Engineering - Companion Volume, 2009. ICSE-Companion 2009. 31st International Conference on
Conference_Location
Vancouver, BC
Print_ISBN
978-1-4244-3495-4
Type
conf
DOI
10.1109/ICSE-COMPANION.2009.5071011
Filename
5071011
Link To Document