• 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