Mapping Large Memory-constrained Workflows onto Heterogeneous Platforms
<|reference_start|>Mapping Large Memory-constrained Workflows onto Heterogeneous Platforms: Scientific workflows are often represented as directed acyclic graphs (DAGs), where vertices correspond to tasks and edges represent the dependencies between them. Since these graphs are often large in both the number of tasks and their resource requirements, it is important to schedule them efficiently on parallel or distributed compute systems. Typically, each task requires a certain amount of memory to be executed and needs to communicate data to its successor tasks. The goal is thus to execute the workflow as fast as possible (i.e., to minimize its makespan) while satisfying the memory constraints. Hence, we investigate the partitioning and mapping of DAG-shaped workflows onto heterogeneous platforms where each processor can have a different speed and a different memory size. We first propose a baseline algorithm in the absence of existing memory-aware solutions. As our main contribution, we then present a four-step heuristic. Its first step is to partition the input DAG into smaller blocks with an existing DAG partitioner. The next two steps adapt the resulting blocks of the DAG to fit the processor memories and optimize for the overall makespan by further splitting and merging these blocks. Finally, we use local search via block swaps to further improve the makespan. Our experimental evaluation on real-world and simulated workflows with up to 30,000 tasks shows that exploiting the heterogeneity with the four-step heuristic reduces the makespan by a factor of 2.44 on average (even more on large workflows), compared to the baseline that ignores heterogeneity.<|reference_end|>
@article{kulagina2024mapping,
    title={Mapping Large Memory-constrained Workflows onto Heterogeneous Platforms},
    author={Svetlana Kulagina, Henning Meyerhenke, Anne Benoit},
    journal={arXiv preprint arXiv:2407.09077},
    year={2024},
    doi={10.1145/3673038.3673068},
    archivePrefix={arXiv},
    eprint={2407.09077},
    primaryClass={cs.DC}
}