Heterogeneous architectures featuring a CPU and a GPU on the same die are becoming ubiquitous in modern day computing systems. These architectures are designed to address some of the bottlenecks associated with discrete CPU-GPU systems. They can provide reduced memory copy times, as well as improved performance per watt. Given the growing popularity of these devices, a number of emerging applications are being designed to leverage both the CPU and GPU in such systems. The peak performance for these applications is achieved when both the CPU and GPU are used collaboratively. The goal of such applications is to minimize the idle time of both the CPU and the GPU, trying to fully exploit the computing power that each device provides. However, along with this increased gain in performance, power and energy management on such systems is a larger challenge. Given the fact that the CPU and GPU shared a common chip level power budget, the power management system must ensure that the CPU, the GPU, and the memory system are all operating in the most energy efficient way.
In this thesis we address the issue of executing applications that utilize both the CPU and GPU on an integrated heterogeneous architecture in an energy efficient way. Towards this end, we propose a power management framework named Airavat that tunes the CPU, GPU and memory frequencies, synergestically, in order to improve the energy efficiency of collaborative CPU-GPU applications. Airavat uses machine learning-based predictive models that predict the best frequency combination for a given workload, combined with feedback-based Dynamic Voltage and Frequency Scaling to improve the energy efficiency of heterogeneous applications. We demonstrate our framework on the NVIDIA Jetson TX1 and observe an overall Energy Delay
Product(EDP) savings of 24% with negligible performance loss.
Professor David Kaeli (Advisor)
Professor Yunsei Fei
Dr. Yash Ukidave
Dr. Norm Rubin