Mapple: A Domain-Specific Language for Mapping Distributed Programs

Fuente: arXiv
Enregistré dans:
Détails bibliographiques
Auteurs principaux: Wei, Anjiang, Yadav, Rohan, Song, Hang, Lee, Wonchan, Wang, Ke, Aiken, Alex
Format: Preprint
Publié: 2025
Sujets:
Accès en ligne:
Tags: Ajouter un tag
Pas de tags, Soyez le premier à ajouter un tag!
_version_ 1866915617390460928
author Wei, Anjiang
Yadav, Rohan
Song, Hang
Lee, Wonchan
Wang, Ke
Aiken, Alex
author_facet Wei, Anjiang
Yadav, Rohan
Song, Hang
Lee, Wonchan
Wang, Ke
Aiken, Alex
contents 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.
format Preprint
id arxiv_https___arxiv_org_abs_2507_17087
institution arXiv
publishDate 2025
record_format arxiv
spellingShingle Mapple: A Domain-Specific Language for Mapping Distributed Programs
Wei, Anjiang
Yadav, Rohan
Song, Hang
Lee, Wonchan
Wang, Ke
Aiken, Alex
Distributed, Parallel, and Cluster Computing
Programming Languages
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.
title Mapple: A Domain-Specific Language for Mapping Distributed Programs
topic Distributed, Parallel, and Cluster Computing
Programming Languages
url https://arxiv.org/abs/2507.17087