1. Idempotence-Based Preemptive GPU Kernel Scheduling for Embedded Systems
- Author
-
Euiseong Seo, Hwansoo Han, Hyunjun Kim, Hyeonsu Lee, and Cheolgi Kim
- Subjects
Software_OPERATINGSYSTEMS ,Source code ,Job shop scheduling ,Computer science ,business.industry ,media_common.quotation_subject ,Priority scheduling ,Preemption ,Processor scheduling ,02 engineering and technology ,Execution time ,020202 computer hardware & architecture ,Theoretical Computer Science ,Scheduling (computing) ,Software ,Computational Theory and Mathematics ,Kernel (image processing) ,Hardware and Architecture ,Embedded system ,Idempotence ,0202 electrical engineering, electronic engineering, information engineering ,General-purpose computing on graphics processing units ,business ,media_common - Abstract
Mission-critical embedded systems simultaneously run multiple graphics-processing-unit (GPU) computing tasks with different criticality and timeliness requirements. Considerable research effort has been dedicated to supporting the preemptive priority scheduling of GPU kernels. However, hardware-supported preemption leads to lengthy scheduling delays and complicated designs, and most software approaches depend on the voluntary yielding of GPU resources from restructured kernels. We propose a preemptive GPU kernel scheduling scheme that harnesses the idempotence property of kernels. The proposed scheme distinguishes idempotent kernels through static source code analysis. If a kernel is not idempotent, then GPU kernels are transactionized at the operating system (OS) level. Both idempotent and transactionized kernels can be aborted at any point during their execution and rolled back to their initial state for reexecution. Therefore, low-priority kernel instances can be preempted for high-priority kernel instances and reexecuted after the GPU becomes available again. Our evaluation using the Rodinia benchmark suite showed that the proposed approach limits the preemption delay to 18 $\mu$ μ s in the 99.9th percentile, with an average delay in execution time of less than 10 percent for high-priority tasks under a heavy load in most cases.
- Published
- 2021
- Full Text
- View/download PDF