Controlling concurrency and expressing synchronization in charm++ programs

Laxmikant V. Kale, Jonathan Lifflander

Research output: Contribution to journalArticlepeer-review


Charm++ is a parallel programming system that evolved over the past 20 years to become a well-established system for programming parallel science and engineering applications, in addition to the combinatorial search applications with which it started. At its earliest point, the precursor to Charm++, the Chare Kernel, was a purely reactive specification, similar to most actor languages. This paper describes the evolution of a series of concurrency control mechanisms that have been deployed in Charm++ to tame this unrestricted concurrency in order to improve code clarity and/or to improve performance.

ASJC Scopus subject areas

  • Theoretical Computer Science
  • Computer Science(all)


Dive into the research topics of 'Controlling concurrency and expressing synchronization in charm++ programs'. Together they form a unique fingerprint.

Cite this