Efficient Multilevel Load Balancing on Heterogeneous CPU + GPU Systems
Aleksandar D. Ilic, Leonel A. Sousa · 2014
This chapter proposes several algorithms for efficient balancing of divisible load applications in order to fully exploit the capabilities of heterogeneous multicore CPU and multi-graphics processing unit (GPU) environments for collaborative processing. It focuses on efficient load-balancing and scheduling algorithms for discretely divisible load (DL) applications in collaborative multicore CPU and multi-GPU systems at these three levels. The chapter presents two DL-balancing approaches for efficient collaborative processing in heterogeneous multicore CPU and multi-GPU environments at different levels of parallel execution, namely multi-level simultaneous load-balancing algorithm (MSLBA) for efficient DL balancing across different execution subdomains defined with several processing devices, and across all processing devices within each subdomain, and algorithm for multi-installment processing with multidistributions (AMPMD), which allows efficient overlapping of computation and communication at the single device level in respect to the supported concurrency and limited device memory, while balancing the execution across all other devices in the system.