Idempotence-Based Preemptive GPU Kernel Scheduling for Embedded Systems

2020 
Mission-critical embedded systems simultaneously run multiple GPU-computing tasks with different criticality and timeliness requirements. Considerable research effort has been dedicated to support 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 harness the idempotence property of kernels. The proposed scheme distinguishes idempotent kernels through a static source analysis. If a kernel is not idempotent, then GPU kernels are transactionized at the operating system 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, the low-priority kernel instances can be preempted for the 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 μs in the 99.9th percentile, with an average delay in execution time of less than 10 % for high-priority tasks under a heavy load in most cases.
    • Correction
    • Source
    • Cite
    • Save
    • Machine Reading By IdeaReader
    28
    References
    2
    Citations
    NaN
    KQI
    []