Sigmoid: An auto-tuned load balancing algorithm for heterogeneous systems
Department of Computer Science and Electronics, Universidad de Cantabria, Santander, Spain
Journal of Parallel and Distributed Computing, Volume 157, November 2021, Pages 30-42, (2021)
@article{perez2021sigmoid,
title={Sigmoid: an auto-tuned load balancing algorithm for heterogeneous systems},
author={P{‘e}rez, Borja and Stafford, E and Bosque, JL and Beivide, R},
journal={Journal of Parallel and Distributed Computing},
year={2021},
publisher={Elsevier}
}
A challenge that heterogeneous system programmers face is leveraging the performance of all the devices that integrate the system. This paper presents Sigmoid, a new load balancing algorithm that efficiently co-executes a single OpenCL data-parallel kernel on all the devices of heterogeneous systems. Sigmoid splits the workload proportionally to the capabilities of the devices, drastically reducing response time and energy consumption. It is designed around several features; it is dynamic, adaptive, guided and effortless, as it does not require the user to give any parameter, adapting to the behaviour of each kernel at runtime. To evaluate Sigmoid’s performance, it has been implemented in Maat, a system abstraction library. Experimental results with different kernel types show that Sigmoid exhibits excellent performance, reaching a utilization of 90%, together with energy savings up to 20%, always reducing programming effort compared to OpenCL, and facilitating the portability to other heterogeneous machines.
June 27, 2021 by hgpu