CPU-GPU heterogeneous architectures are now commonly used in a wide variety of computing systems from mobile devices to supercomputers. Maximizing the throughput for multi-programmed workloads on such systems is indispensable as one single program typically cannot fully exploit all available resources. At the same time, power consumption is a key issue and often requires optimizing power allocations to the CPU and GPU while enforcing a total power constraint, in particular when the power/thermal requirements are strict. The result is a system-wide optimization problem with several knobs. In particular we focus on (1) co-scheduling decisions, i.e., selecting programs to co-locate in a space sharing manner; (2) resource partitioning on both CPUs and GPUs; and (3) power capping on both CPUs and GPUs. We solve this problem using predictive performance modeling using machine learning in order to coordinately optimize the above knob setups. Our experiential results using a real system show that our approach achieves up to 67% of speedup compared to a time-sharing-based scheduling with a naive power capping that evenly distributes power budgets across components.
翻译:CPU-GPU异构架构现已广泛应用于从移动设备到超级计算机的各类计算系统中。在此类系统上最大化多程序工作负载的吞吐量至关重要,因为单个程序通常无法充分利用所有可用资源。同时,功耗是一个关键问题,通常需要在满足总功耗约束的前提下优化CPU和GPU的功率分配,尤其在功耗/热设计约束严苛的情况下。由此产生了包含多个调节参数的系统级优化问题。我们重点关注以下三个维度:(1)协同调度决策,即采用空间共享方式选择共存程序;(2)CPU和GPU的资源划分;(3)CPU和GPU的功率上限控制。我们通过基于机器学习的预测性能建模方法,协同优化上述参数配置。实际系统上的实验结果表明,与采用均匀分配功率预算的时间共享调度及朴素功率上限控制方法相比,本方法最高可实现67%的加速比。