Mapple: A Domain-Specific Language for Mapping Distributed Programs
Not on the map. Why?
Abstract (arXiv)
Optimizing parallel programs for distributed systems is a complex task, often requiring significant code modifications. Task-based programming systems improve modularity by separating performance decisions from application logic, but their mapping interfaces are low-level. We introduce Mapple, a high-level, declarative programming interface for mapping distributed applications. Mapple provides transformation primitives to resolve dimensionality mismatches between task and processor spaces, including a key primitive, decompose, that helps minimize communication volume. We implement Mapple on top of the Legion runtime by translating Mapple mappers into its low-level C++ interface. Across nine applications, including six matrix multiplication algorithms and three scientific computing workloads, Mapple reduces mapper code size by 14x and enables performance improvements of up to 1.34x over expert-written C++ mappers. In addition, the decompose primitive achieves up to 1.83x improvement over existing dimensionality-resolution heuristics.
Key facts. Cited by 1 paper in the map (data through 14 Oct 2026). First posted on arXiv 23 Jul 2025.
Builds on
No reference list yet.
Built on by
Citing papers per year: 2026: 1.
1 paper.