A GPU Kernel Transactionization Scheme for Preemptive Priority Scheduling
A GPU Kernel Transactionization Scheme for Preemptive Priority Scheduling
复制标题
一种用于抢占式优先级调度的GPU内核事务化方案
DOI:
--
复制
发表时间:
2018
期刊:
影响因子:
--
通讯作者:
Euiseong Seo
中科院分区:
文献类型:
--
作者:
Hyeonsu Lee;Jaehun Roh;Euiseong Seo
Mission-critical embedded systems are becoming heavily dependent on graphics processing unit (GPU) computing. In general, such systems simultaneously run multiple tasks with different criticality and timeliness requirements. Consequently, many research efforts have been made in both hardware and software aspects to support the preemptive priority scheduling of GPU kernels. However, hardware-supported preemption leads to lengthy scheduling delays and complicated design, and most of the software approaches depend on the voluntary yield of GPU resources from restructured kernels. Exploiting the shared physical memory of CPUs and GPUs in heterogeneous system architecture (HSA), we propose an approach to transactionize GPU kernels at the operating system (OS) level. A transactionized GPU kernel can be aborted at any point during its execution and rolled back to its initial state for re-execution. By transactionizing GPU kernels, it is possible to forcibly evict low-priority kernels and immediately schedule high-priority kernels. The preempted low-priority kernel instances can be re-executed after a GPU becomes available. The proposed approach was implemented in a Samsung Exynos 5422 system on chip (SoC) with a Mali-T628 MP6 GPU for evaluation. Our evaluation using the Rodinia benchmark suite showed that the proposed approach limits the preemption delay to 18 μs in the 99.9th percentile with an average delay in execution time less than 10 % in most cases for high-priority tasks under a heavy load.