SMART: a processor scheduler for multimedia applications
SOSP '95 Proceedings of the fifteenth ACM symposium on Operating systems principles
CPU reservations and time constraints: efficient, predictable scheduling of independent activities
Proceedings of the sixteenth ACM symposium on Operating systems principles
Proceedings of the seventeenth ACM symposium on Operating systems principles
Scheduling Algorithms for Multiprogramming in a Hard-Real-Time Environment
Journal of the ACM (JACM)
Deterministic Batch Scheduling without Static Partitioning
IPPS/SPDP '99/JSSPP '99 Proceedings of the Job Scheduling Strategies for Parallel Processing
Portable RK: A Portable Resource Kernel for Guaranteed and Enforced Timing Behavior
RTAS '99 Proceedings of the Fifth IEEE Real-Time Technology and Applications Symposium
Real-time filesystems. Guaranteeing timing constraints for disk accesses in RT-Mach
RTSS '97 Proceedings of the 18th IEEE Real-Time Systems Symposium
A resource allocation model for QoS management
RTSS '97 Proceedings of the 18th IEEE Real-Time Systems Symposium
Design and Implementation of Semi-preemptible IO
FAST '03 Proceedings of the 2nd USENIX Conference on File and Storage Technologies
VMM-independent graphics acceleration
Proceedings of the 3rd international conference on Virtual execution environments
Fair and timely scheduling via cooperative polling
Proceedings of the 4th ACM European conference on Computer systems
GViM: GPU-accelerated virtual machines
Proceedings of the 3rd ACM Workshop on System-level Virtualization for High Performance Computing
GPU virtualization on VMware's hosted I/O architecture
ACM SIGOPS Operating Systems Review
Helios: heterogeneous multiprocessing with satellite kernels
Proceedings of the ACM SIGOPS 22nd symposium on Operating systems principles
Redline: first class support for interactivity in commodity operating systems
OSDI'08 Proceedings of the 8th USENIX conference on Operating systems design and implementation
PTask: operating system abstractions to manage GPUs as compute devices
SOSP '11 Proceedings of the Twenty-Third ACM Symposium on Operating Systems Principles
Globally scheduled real-time multiprocessor systems with GPUs
Real-Time Systems
Realtime scheduling using GPUs - proof of feasibility
CSCC'11 Proceedings of the 2nd international conference on Circuits, Systems, Communications & Computers
PACUE: processor allocator considering user experience
Euro-Par'11 Proceedings of the 2011 international conference on Parallel Processing - Volume 2
Gdev: first-class GPU resource management in the operating system
USENIX ATC'12 Proceedings of the 2012 USENIX conference on Annual Technical Conference
Accelerating pathology image data cross-comparison on CPU-GPU hybrid systems
Proceedings of the VLDB Endowment
Softshell: dynamic scheduling on GPUs
ACM Transactions on Graphics (TOG) - Proceedings of ACM SIGGRAPH Asia 2012
VGRIS: virtualized GPU resource isolation and scheduling in cloud gaming
Proceedings of the 22nd international symposium on High-performance parallel and distributed computing
COSMIC: middleware for high performance and reliable multiprocessing on xeon phi coprocessors
Proceedings of the 22nd international symposium on High-performance parallel and distributed computing
Towards adaptive GPU resource management for embedded real-time systems
ACM SIGBED Review
Exploring microcontrollers in GPUs
Proceedings of the 4th Asia-Pacific Workshop on Systems
Zero-copy I/O processing for low-latency GPU computing
Proceedings of the ACM/IEEE 4th International Conference on Cyber-Physical Systems
Proceedings of the Twenty-Fourth ACM Symposium on Operating Systems Principles
ACM SIGOPS 24th Symposium on Operating Systems Principles
Dandelion: a compiler and runtime for heterogeneous systems
Proceedings of the Twenty-Fourth ACM Symposium on Operating Systems Principles
Enabling OS research by inferring interactions in the black-box GPU stack
USENIX ATC'13 Proceedings of the 2013 USENIX conference on Annual Technical Conference
I/o paravirtualization at the device file boundary
Proceedings of the 19th international conference on Architectural support for programming languages and operating systems
Disengaged scheduling for fair, protected access to fast computational accelerators
Proceedings of the 19th international conference on Architectural support for programming languages and operating systems
Hi-index | 0.00 |
The Graphics Processing Unit (GPU) is now commonly used for graphics and data-parallel computing. As more and more applications tend to accelerate on the GPU in multi-tasking environments where multiple tasks access the GPU concurrently, operating systems must provide prioritization and isolation capabilities in GPU resource management, particularly in real-time setups. We present TimeGraph, a real-time GPU scheduler at the device-driver level for protecting important GPU workloads from performance interference. TimeGraph adopts a new event-driven model that synchronizes the GPU with the CPU to monitor GPU commands issued from the user space and control GPU resource usage in a responsive manner. TimeGraph supports two priority-based scheduling policies in order to address the tradeoff between response times and throughput introduced by the asynchronous and non-preemptive nature of GPU processing. Resource reservation mechanisms are also employed to account and enforce GPU resource usage, which prevent misbehaving tasks from exhausting GPU resources. Prediction of GPU command execution costs is further provided to enhance isolation. Our experiments using OpenGL graphics benchmarks demonstrate that TimeGraph maintains the frame-rates of primary GPU tasks at the desired level even in the face of extreme GPU workloads, whereas these tasks become nearly unresponsive without TimeGraph support. Our findings also include that the performance overhead imposed on TimeGraph can be limited to 4-10%, and its event-driven scheduler improves throughput by about 30 times over the existing tick-driven scheduler.