Locality-Aware Scheduling for Scalable Heterogeneous Environments
System Software and Runtime Systems
TimeFriday, 13 November 20204pm - 4:30pm EDT
DescriptionHeterogeneous computing promises to boost performance of scientific applications by allowing massively parallel execution of computational tasks. Manually managing extremely heterogeneous, multi-device systems is complicated, however, and may result in sub-optimal performance. Specifically, data management is an extremely challenging problem on multi-device systems. In this work, we introduce two locality-aware schedulers for the Minos Computing Library (MCL), an asynchronous, task-based programming model and runtime for extremely heterogeneous systems. The first scheduler implements a pure locality-aware algorithm to maximize data reuse, though it might incur "hot-spots" that limit system utilization. The second scheduler mitigates this drawback by dynamically targeting between locality-awareness and system utilization based on the current workload and available computing devices.
Our results show that locality-awareness greatly benefits applications that exhibit data reuse, providing up to 6.9x and 7.9x over the original MCL scheduler and equivalent OpenCL implementations, respectively. Moreover, our schedulers introduce negligible overhead compared with the original MCL scheduler and achieve similar performance for applications that do not benefit from data locality.