Unleashing the Power of Preemptive Priority-based Scheduling for Real-Time GPU Tasks

Fuente: arXiv
Saved in:
Bibliographic Details
Main Authors: Wang, Yidi, Liu, Cong, Wong, Daniel, Kim, Hyoseung
Format: Preprint
Published: 2024
Subjects:
Online Access:
Tags: Add Tag
No Tags, Be the first to tag this record!
_version_ 1866910311023378432
author Wang, Yidi
Liu, Cong
Wong, Daniel
Kim, Hyoseung
author_facet Wang, Yidi
Liu, Cong
Wong, Daniel
Kim, Hyoseung
contents 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 preemption, extended blocking times, and/or the need for extensive modifications to program code. In this paper, we propose two novel techniques, namely the kernel thread and IOCTL-based approaches, to enable preemptive priority-based scheduling for real-time GPU tasks. Our approaches exert control over GPU context scheduling at the device driver level and enable preemptive GPU scheduling based on task priorities. The kernel thread-based approach achieves this without requiring modifications to user-level programs, while the IOCTL-based approach needs only a single macro at the boundaries of GPU access segments. In addition, we provide a comprehensive response time analysis that takes into account overlaps between different task segments, mitigating pessimism in worst-case estimates. Through empirical evaluations and case studies, we demonstrate the effectiveness of the proposed approaches in improving taskset schedulability and timeliness of real-time tasks. The results highlight significant improvements over prior work, with up to 40\% higher schedulability, while also achieving predictable worst-case behavior on Nvidia Jetson embedded platforms.
format Preprint
id arxiv_https___arxiv_org_abs_2401_16529
institution arXiv
publishDate 2024
record_format arxiv
spellingShingle Unleashing the Power of Preemptive Priority-based Scheduling for Real-Time GPU Tasks
Wang, Yidi
Liu, Cong
Wong, Daniel
Kim, Hyoseung
Distributed, Parallel, and Cluster Computing
Performance
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 preemption, extended blocking times, and/or the need for extensive modifications to program code. In this paper, we propose two novel techniques, namely the kernel thread and IOCTL-based approaches, to enable preemptive priority-based scheduling for real-time GPU tasks. Our approaches exert control over GPU context scheduling at the device driver level and enable preemptive GPU scheduling based on task priorities. The kernel thread-based approach achieves this without requiring modifications to user-level programs, while the IOCTL-based approach needs only a single macro at the boundaries of GPU access segments. In addition, we provide a comprehensive response time analysis that takes into account overlaps between different task segments, mitigating pessimism in worst-case estimates. Through empirical evaluations and case studies, we demonstrate the effectiveness of the proposed approaches in improving taskset schedulability and timeliness of real-time tasks. The results highlight significant improvements over prior work, with up to 40\% higher schedulability, while also achieving predictable worst-case behavior on Nvidia Jetson embedded platforms.
title Unleashing the Power of Preemptive Priority-based Scheduling for Real-Time GPU Tasks
topic Distributed, Parallel, and Cluster Computing
Performance
url https://arxiv.org/abs/2401.16529