IDEALS Home University of Illinois at Urbana-Champaign logo The Alma Mater The Main Quad

Jade: Compiler-Supported Multi-Paradigm Processor Virturalization-Based Parallel Programming

Show full item record

Bookmark or cite this item: http://hdl.handle.net/2142/10911

Files in this item

File Description Format
PDF Jade Compiler-S ... d Parallel Programming.pdf (598KB) (no description provided) PDF
Title: Jade: Compiler-Supported Multi-Paradigm Processor Virturalization-Based Parallel Programming
Author(s): DeSouza, Jayant
Subject(s): Parallel Computing Parallel systems parallel programming
Abstract: Current parallel programming approaches, which typically use message-passing and shared memory threads, require the programmer to write considerable low-level work management and distribution code to partition and distribute data, perform load distribution and balancing, pack and unpack data into messages, and so on. One solution to this low level of programming is to use processor virtualization, wherein the programmer assumes a large number of available virtual processors and creates a large number of work objects, combined with an adaptive runtime system (ARTS) that intelligently maps work to processors and performs dynamic load balancing to optimize performance. Charm++ and AMPI are implementations of this approach. Although Charm++ and AMPI enable the use of an ARTS, the program specification is still low-level, requiring many details. Furthermore, the only mechanisms for information exchange are asynchronous method invocation and message passing, although some applications are more easily expressed in a shared memory paradigm. We explore the thesis that compiler support and optimizations, and a disciplined shared memory abstraction can substantially improve programmer productivity while retaining most of the performance benefits of processor virtualization and the ARTS. The ideas proposed in this thesis are embodied in a new programming language, Jade, based on Java, Charm++ and AMPI. The language design uses the Java memory model, automating memory management and eliminating void pointers and pointer arithmetic. In addition, by automating various routine tasks in Charm++, programmer productivity is substantially improved. Jade introduces Multiphase Shared Arrays (MSA), which can be shared in read-only, write-many, and accumulate modes. These simple modes scale well and are general enough to capture the majority of shared memory access patterns. We present novel uses of known compilation techniques, as well as new compile-time analyses suggested by the needs of ARTS. One optimization strip-mines MSA loops and optimizes away a test that checks if a page is present in the local MSA cache, resulting in single-cpu MSA performance matching that of a sequential program. Another optimization generates guarded pack/unpack code that only packs live data. This significantly reduces the time taken and disk size needed to checkpoint (or migrate objects within) large applications. The Jade language and compiler system described in this thesis can serve as the framework for further research into compiler-based multi-paradigm ARTS-supported parallel programming built upon processor virtualization.
Issue Date: 2004-12
Genre: Technical Report
Type: Text
URI: http://hdl.handle.net/2142/10911
Other Identifier(s): UIUCDCS-R-2004-2458
Rights Information: You are granted permission for the non-commercial reproduction, distribution, display, and performance of this technical report in any format, BUT this permission is only for a period of 45 (forty-five) days from the most recent time that you verified that this technical report is still available from the University of Illinois at Urbana-Champaign Computer Science Department under terms that include this permission. All other rights are reserved by the author(s).
Date Available in IDEALS: 2009-04-17
 

This item appears in the following Collection(s)

Show full item record

Item Statistics

  • Total Downloads: 191
  • Downloads this Month: 3
  • Downloads Today: 0

Browse

My Account

Information

Access Key