Chimera: Collaborative preemption for multitasking on a shared GPU

Jason Jong Kyu Park, Yongjun Park, Scott Mahlke

Research output: Contribution to journalArticlepeer-review

94 Citations (Scopus)


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%.

Original languageEnglish
Pages (from-to)593-606
Number of pages14
JournalACM SIGPLAN Notices
Issue number4
Publication statusPublished - 2015 Apr

Bibliographical note

Publisher Copyright:
Copyright © 2015 ACM.

All Science Journal Classification (ASJC) codes

  • General Computer Science


Dive into the research topics of 'Chimera: Collaborative preemption for multitasking on a shared GPU'. Together they form a unique fingerprint.

Cite this