Litcius/Paper detail

Sigmoid: An auto-tuned load balancing algorithm for heterogeneous systems

Borja Pérez, Esteban Stafford, José Luis Bosque, R. Beivide

2021Journal of Parallel and Distributed Computing19 citationsDOIOpen Access PDF

Abstract

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.

Topics & Concepts

Computer scienceSigmoid functionSoftware portabilityWorkloadKernel (algebra)Energy consumptionLoad balancing (electrical power)AbstractionParallel computingDistributed computingAlgorithmOperating systemArtificial intelligenceGridEcologyArtificial neural networkMathematicsPhilosophyEpistemologyBiologyGeometryCombinatoricsParallel Computing and Optimization TechniquesDistributed and Parallel Computing SystemsAdvanced Data Storage Technologies