A Tale of Three Runtimes
Nicolas Vasilache, Muthu Baskaran, Tom Henretty, Benoit Meister, M., Harper Langston, Sanket Tavarageri, Richard Lethin

TL;DR
This paper presents a method for automatically generating event-driven, tuple-space programs from sequential C code, enabling efficient execution across multiple runtimes like CnC, SWARM, and OCR, with experimental validation.
Contribution
It introduces a hierarchical mapping approach using auto-parallelizing compiler technology to target various EDT-based runtimes from a sequential C specification.
Findings
Automatic code generation improves runtime efficiency.
Hierarchical async-finish support enhances runtime flexibility.
Cross-runtime comparisons demonstrate performance benefits.
Abstract
This contribution discusses the automatic generation of event-driven, tuple-space based programs for task-oriented execution models from a sequential C specification. We developed a hierarchical mapping solution using auto-parallelizing compiler technology to target three different runtimes relying on event-driven tasks (EDTs). Our solution benefits from the important observation that loop types encode short, transitive relations among EDTs that are compact and efficiently evaluated at runtime. In this context, permutable loops are of particular importance as they translate immediately into conservative point-to-point synchronizations of distance 1. Our solution generates calls into a runtime-agnostic C++ layer, which we have retargeted to Intel's Concurrent Collections (CnC), ETI's SWARM, and the Open Community Runtime (OCR). Experience with other runtime systems motivates our…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsParallel Computing and Optimization Techniques · Distributed and Parallel Computing Systems · Distributed systems and fault tolerance
