A GPU Kernel Transactionization Scheme for Preemptive Priority Scheduling

A GPU Kernel Transactionization Scheme for Preemptive Priority Scheduling
复制标题

一种用于抢占式优先级调度的GPU内核事务化方案

DOI:
--
复制
发表时间:
2018
期刊:
IEEE Real Time Technology and Applications Symposium
影响因子:
--
通讯作者:
Euiseong Seo
Euiseong Seo
中科院分区:
--
文献类型:
--
作者:
Hyeonsu Lee;Jaehun Roh;Euiseong Seo

文献摘要

被引文献

相似文献

任务关键型嵌入式系统正变得严重依赖于图形处理单元(GPU)计算。通常,这样的系统同时运行具有不同关键性和及时性要求的多个任务。因此,在硬件和软件两个方面都对GPU内核的抢占式优先级调度进行了大量的研究。然而,硬件支持的抢占会导致冗长的调度延迟和复杂的设计,并且大多数软件方法依赖于重构内核的GPU资源的自愿收益。利用异构系统架构(HSA)中CPU和GPU的共享物理内存,提出了一种在操作系统(OS)级别上对GPU内核进行事务化的方法。事务化的GPU内核可以在其执行期间的任何时候中止,并回滚到其初始状态以重新执行。通过事务化GPU内核,可以强制驱逐低优先级内核并立即调度高优先级内核。被抢占的低优先级内核实例可以在GPU变得可用之后重新执行。所提出的方法在三星Exynos 5422片上系统(SoC)中实现,并使用Mali-T628 MP 6 GPU进行评估。我们使用Rodinia基准测试套件进行的评估表明,所提出的方法将抢占延迟限制在99.9百分位数的18 μs,在大多数情况下,对于高优先级任务,在重负载下的执行时间的平均延迟小于10%。
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.