Parcae: A system for flexible parallel execution

Arun Raman, Ayal Zaks, Jae W. Lee, David I. August

Research output: Contribution to journalArticlepeer-review

18 Scopus citations

Abstract

Workload, platform, and available resources constitute a parallel program's execution environment. Most parallelization efforts statically target an anticipated range of environments, but performance generally degrades outside that range. Existing approaches address this problem with dynamic tuning but do not optimize a multiprogrammed system holistically. Further, they either require manual programming effort or are limited to array-based data-parallel programs. This paper presents Parcae, a generally applicable automatic system for platform-wide dynamic tuning. Parcae includes (i) the Nona compiler, which creates flexible parallel programs whose tasks can be efficiently reconfigured during execution; (ii) the Decima monitor, which measures resource availability and system performance to detect change in the environment; and (iii) the Morta executor, which cuts short the life of executing tasks, replacing them with other functionally equivalent tasks better suited to the current environment. Parallel programs made flexible by Parcae outperform original parallel implementations in many interesting scenarios.

Original languageEnglish (US)
Pages (from-to)133-144
Number of pages12
JournalACM SIGPLAN Notices
Volume47
Issue number6
DOIs
StatePublished - Aug 2012

All Science Journal Classification (ASJC) codes

  • Computer Science(all)

Keywords

  • Adaptivity
  • Automatic parallelization
  • Code generation
  • Compiler
  • Flexible
  • Multicore
  • Parallel
  • Performance portability
  • Run-Time
  • Tuning

Fingerprint

Dive into the research topics of 'Parcae: A system for flexible parallel execution'. Together they form a unique fingerprint.

Cite this