Workload Placement and Scheduling on Heterogeneous CPU-GPU Architectures
摘要
The need for heterogeneous CPU-GPU processing has significantly grown in recent years. The efficient utilization of such heterogeneous resources requires data processing systems to employ efficient workload placement strategies to assign the appropriate amount of compute to the right processor. However, identifying an optimal placement strategy is challenging due to several complex and conflicting trade-offs involving the characteristics of processors, the nature of the workload, and data locality. Additionally, placement decisions affect workload runtime and performance costs, while also relying on the availability of potentially different implementations for CPUs and GPUs, adding more complexity in such heterogeneous environments. In this chapter, we review and compare state-of-the-art strategies for workload placement and scheduling on heterogeneous CPU-GPU architectures, techniques for runtime prediction, and methods to support multi-device code.