GCAPS: GPU Context-Aware Preemptive Priority-based Scheduling for Real-Time Tasks
<|reference_start|>GCAPS: GPU Context-Aware Preemptive Priority-based Scheduling for Real-Time Tasks: Scheduling real-time tasks that utilize GPUs with analyzable guarantees poses a significant challenge due to the intricate interaction between CPU and GPU resources, as well as the complex GPU hardware and software stack. While much research has been conducted in the real-time research community, several limitations persist, including the absence or limited availability of GPU-level preemption, extended blocking times, and/or the need for extensive modifications to program code. In this paper, we propose GCAPS, a GPU Context-Aware Preemptive Scheduling approach for real-time GPU tasks. Our approach exerts control over GPU context scheduling at the device driver level and enables preemption of GPU execution based on task priorities by simply adding one-line macros to GPU segment boundaries. In addition, we provide a comprehensive response time analysis of GPU-using tasks for both our proposed approach as well as the default Nvidia GPU driver scheduling that follows a work-conserving round-robin policy. Through empirical evaluations and case studies, we demonstrate the effectiveness of the proposed approaches in improving taskset schedulability and response time. The results highlight significant improvements over prior work as well as the default scheduling approach, with up to 40% higher schedulability, while also achieving predictable worst-case behavior on Nvidia Jetson embedded platforms.<|reference_end|>
@article{wang2024gcaps:,
    title={GCAPS: GPU Context-Aware Preemptive Priority-based Scheduling for
  Real-Time Tasks},
    author={Yidi Wang, Cong Liu, Daniel Wong and Hyoseung Kim},
    journal={arXiv preprint arXiv:2406.05221},
    year={2024},
    archivePrefix={arXiv},
    eprint={2406.05221},
    primaryClass={cs.DC}
}