System Software Support for GPU-accelerated Applications
Performance scalability is a key requirement for many interactive and real-time applications, such as autonomous robot, autonomous driving, virtual reality, physics simulation, and nuclear power plant control, where a large amount of data needs to be processed in real-time. These applications would benefit from the power of hardware accelerators that integrate many processing cores and arithmetic units on a chip for data-parallel processing. In particular, the graphics processing unit (GPU) is increasingly used in both graphics and general-purpose domains to accelerate application tasks. This talk presents the system software for these GPU-accelerated interactive and real-time applications. Specifically, it is focused on resource management techniques to prioritize and isolate concurrently-executing application tasks on the GPU. It also provides ideas for improving data communication throughput in GPU clusters.