{"ID":2891115,"CreatedAt":"2026-06-01T04:54:23.091178241Z","UpdatedAt":"2026-06-01T04:54:23.091178241Z","DeletedAt":null,"paper_url":"https://arxiv.org/abs/2507.17087","arxiv_id":"2507.17087","title":"Mapple: A Domain-Specific Language for Mapping Distributed Programs","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.","short_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...","url_abs":"https://arxiv.org/abs/2507.17087","url_pdf":"https://arxiv.org/pdf/2507.17087v2","authors":"[\"Anjiang Wei\",\"Rohan Yadav\",\"Hang Song\",\"Wonchan Lee\",\"Ke Wang\",\"Alex Aiken\"]","published":"2025-07-23T00:01:07Z","proceeding":"cs.DC","tasks":"[\"cs.DC\",\"cs.PL\"]","methods":"[]","has_code":false}
