An Orchestration Language for Parallel Objects

Workshop on Languages, Compilers, and Run-time Support for Scalable Systems (LCR) 2004
Pulication Type: Paper
Download: pdf ps

Abstract

Charm++, a parallel object language based on the idea of virtual processors, has attained significant success in efficient parallelization of applications. Requiring the user to only decompose the computation into a large number of objects ("virtual processors" or VPs), Charm++ empowers its intelligent adaptive runtime system to assign and reassign the objects to processors at runtime. This facility is used to optimize execution, including via dynamic load balancing. Having multiple sets of VPs for distinct parts of a simulation leads to improved modularity and performance. However, it also tends to obscure the global flow of control: One must look at the code of multiple objects to discern how the sets of objects are orchestrated in a given application. In this paper, we present an orchestration notation that allows expression of Charm++ functionality without its fragmented flow of control.

Text Ref

L. V. Kale and Mark Hills and Chao Huang, "An Orchestration Language for 
Parallel Objects", Parallel Programming Laboratory, Department of Computer 
Science, University of Illinois at Urbana-Champaign, Proceedings of Seventh 
Workshop on Languages, Compilers, and Run-time Support for Scalable Systems 
(LCR 04), Houston, Texas, October 2004.

BibTex

@INPROCEEDINGS{orch04,
        author="L. V. Kal\'{e} and Mark Hills and Chao Huang",
        title="An Orchestration Language for Parallel Objects",
	institution = "Parallel Programming Laboratory, Department of
          Computer Science, University of Illinois at
          Urbana-Champaign",
	booktitle = "Proceedings of Seventh Workshop on Languages, Compilers, and Run-time Support for Scalable Systems (LCR 04)",
	month = "October",
	year = "2004",
	address = "Houston, Texas",
}