The demand for multitasking on graphics processing units (GPUs) is constantly increasing as they have become one of the default components on modern computer systems along with traditional processors (CPUs). Preemptive multitasking on CPUs has been primarily supported through context switching. However, the same preemption strategy incurs substantial overhead due to the large context in GPUs. The overhead comes in two dimensions: a preempting kernel suffers from a long preemption latency, and the system throughput is wasted during the switch. Without precise control over the large preemption overhead, multitasking on GPUs has little use for applications with strict latency requirements. In this paper, we propose Chimera, a collaborative preemption approach that can precisely control the overhead for multitasking on GPUs. Chimera first introduces streaming multiprocessor (SM) flushing, which can instantly preempt an SM by detecting and exploiting idempotent execution. Chimera utilizes flushing collaboratively with two previously proposed preemption techniques for GPUs, namely context switching and draining to minimize throughput overhead while achieving a required preemption latency. Evaluations show that Chimera violates the deadline for only 0.2% of preemption requests when a 15μs preemption latency constraint is used. For multi-programmed workloads, Chimera can improve the average normalized turnaround time by 5.5x, and system throughput by 12.2%. puter Graphics]: Hardware Architecture - Graphics processors.
|Title of host publication||ASPLOS 2015 - 20th International Conference on Architectural Support for Programming Languages and Operating Systems|
|Publisher||Association for Computing Machinery|
|Number of pages||14|
|Publication status||Published - 2015 Mar 14|
|Event||20th International Conference on Architectural Support for Programming Languages and Operating Systems, ASPLOS 2015 - Istanbul, Turkey|
Duration: 2015 Mar 14 → 2015 Mar 18
|Name||International Conference on Architectural Support for Programming Languages and Operating Systems - ASPLOS|
|Conference||20th International Conference on Architectural Support for Programming Languages and Operating Systems, ASPLOS 2015|
|Period||15/3/14 → 15/3/18|
Bibliographical notePublisher Copyright:
Copyright © 2015 ACM.
All Science Journal Classification (ASJC) codes
- Information Systems
- Hardware and Architecture