English

Mapple: A Domain-Specific Language for Mapping Distributed Programs

Distributed, Parallel, and Cluster Computing 2025-11-17 v2 Programming Languages

Abstract

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.

Keywords

Cite

@article{arxiv.2507.17087,
  title  = {Mapple: A Domain-Specific Language for Mapping Distributed Programs},
  author = {Anjiang Wei and Rohan Yadav and Hang Song and Wonchan Lee and Ke Wang and Alex Aiken},
  journal= {arXiv preprint arXiv:2507.17087},
  year   = {2025}
}
R2 v1 2026-07-01T04:14:24.312Z