Resource Sharing in GPU-Accelerated Windowing Systems
Department of Electrical and Computer Engineering, Carnegie Mellon University
17th IEEE Real-Time and Embedded Technology and Applications Symposium (RTAS), 2011
@article{kato2011resource,
title={Resource Sharing in GPU-accelerated Windowing Systems},
author={Kato, S. and Lakshmanan, K. and Ishikawa, Y. and Rajkumar, R.R.},
booktitle={17th IEEE Real-Time and Embedded Technology and Applications Symposium (RTAS), 2011},
year={2011}
}
Recent windowing systems allow graphics applications to directly access the graphics processing unit (GPU) for fast rendering. However, application tasks that render frames on the GPU contend heavily with the windowing server that also accesses the GPU to blit the rendered frames to the screen. This resource-sharing nature of direct rendering introduces core challenges of priority inversion and temporal isolation in multi-tasking environments. In this paper, we identify and address resource-sharing problems raised in GPU-accelerated windowing systems. Specifically, we propose two protocols that enable application tasks to efficiently share the GPU resource in the X Window System. The Priority Inheritance with X server (PIX) protocol eliminates priority inversion caused in accessing the GPU, and the Reserve Inheritance with X server (RIX) protocol addresses the same problem for resource-reservation systems. Our design and implementation of these protocols highlight the fact that neither the X server nor user applications need modifications to use our solutions. Our evaluation demonstrates that multiple GPU-accelerated graphics applications running concurrently in the X Window System can be correctly prioritized and isolated by the PIX and the RIX protocols.
June 22, 2011 by hgpu