Idempotence-Based Preemptive GPU Kernel Scheduling for Embedded Systems
Autor: | Euiseong Seo, Hwansoo Han, Hyunjun Kim, Hyeonsu Lee, Cheolgi Kim |
---|---|
Rok vydání: | 2021 |
Předmět: |
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 |
Zdroj: | IEEE Transactions on Computers. 70:332-346 |
ISSN: | 2326-3814 0018-9340 |
DOI: | 10.1109/tc.2020.2988251 |
Popis: | 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. |
Databáze: | OpenAIRE |
Externí odkaz: |