Chimera
- 14 March 2015
- journal article
- research article
- Published by Association for Computing Machinery (ACM) in ACM SIGARCH Computer Architecture News
- Vol. 43 (1), 593-606
- https://doi.org/10.1145/2786763.2694346
Abstract
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 15us 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%.Keywords
Funding Information
- NSF (CNS-0964478, CCF-1438996)
This publication has 24 references indexed in Scilit:
- Enabling preemptive multiprogramming on GPUsPublished by Institute of Electrical and Electronics Engineers (IEEE) ,2014
- Improving GPGPU resource utilization through alternative thread block schedulingPublished by Institute of Electrical and Electronics Engineers (IEEE) ,2014
- iGPUACM SIGARCH Computer Architecture News, 2012
- EncorePublished by Association for Computing Machinery (ACM) ,2011
- Cooperative multitasking for GPU-accelerated grid systemsConcurrency and Computation: Practice and Experience, 2011
- Rapid and low-cost context-switch through embedded processor customization for real-time and control applicationsPublished by Association for Computing Machinery (ACM) ,2006
- Balancing register pressure and context-switching delays in ASTI systemsPublished by Association for Computing Machinery (ACM) ,2005
- Reference idempotency analysisPublished by Association for Computing Machinery (ACM) ,2001
- Fast context switches: compiler and architectural support for preemptive schedulingMicroprocessors and Microsystems, 1995
- The IBM System/370 vector architecture: design considerationsIEEE Transactions on Computers, 1988