An orchestration language for parallel objects

  • Authors:
  • Laxmikant V. Kalé;Mark Hills;Chao Huang

  • Affiliations:
  • University of Illinois;University of Illinois;University of Illinois

  • Venue:
  • LCR '04 Proceedings of the 7th workshop on Workshop on languages, compilers, and run-time support for scalable systems
  • Year:
  • 2004

Quantified Score

Hi-index 0.00

Visualization

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"), 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 dynamic load balancing. However, in complex applications, Charm++ programs obscure the overall 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.