MASK: Redesigning the GPU Memory Hierarchy to Support Multi-Application Concurrency
By Rachata Ausavarungnirun, Vance Miller, Joshua Landgraf, Saugata Ghose, Jayneel Gandhi, Adwait Jog, Christopher J. Rossbach, Onur Mutlu. 2018
119 citations recorded by the source corpus.
Graphics Processing Units (GPUs) exploit large amounts of threadlevel parallelism to provide high instruction throughput and to efficiently hide long-latency stalls. The resulting high throughput, along with continued programmability improvements, have made GPUs an essential computational resource in many domains. Applications from different domains can have vastly different compute and memory demands on the GPU. In a large-scale computing environment, to efficiently accommodate such wide-ranging demands without leaving GPU resources underutilized, multiple applications can share a single GPU, akin to how multiple applications execute concurrently on a CPU. Multi-application concurrency requires several support mechanisms in both hardware and software. One such key mechanism is virtual memory, which manages and protects the address space of each application. However, modern GPUs lack the extensive support for multi-application concurrency available in CPUs, and as a result suffer from high performance overheads when shared by multiple applications, as we demonstrate. We perform a detailed analysis of which multi-application concurrency support limitations hurt GPU performance the most. We find that the poor performance is largely a result of the virtual memory mechanisms employed in modern GPUs. In particular, poor address translation performance is a key obstacle to efficient GPU sharing. State-of-the-art address translation mechanisms, which were designed for single-application execution, experience significant inter-application interference when multiple applications spatially share the GPU. This contention leads to frequent misses in the shared translation lookaside buffer (TLB), where a single miss can induce long-latency stalls for hundreds of threads. As a result, the GPU often cannot schedule enough threads to successfully hide the stalls, which diminishes system throughput and becomes a first-order performance concern. Based on our analysis, we propose MASK, a new GPU framework that provides low-overhead virtual memory support for the concurrent execution of multiple applications. MASK consists of three novel address-translation-aware cache and memory management mechanisms that work together to largely reduce the overhead of address translation: (1) a token-based technique to reduce TLB contention, (2) a bypassing mechanism to improve the effectiveness of cached address translations, and (3) an application-aware memory scheduling scheme to reduce the interference between address translation and data requests. Our evaluations show that MASK restores much of the throughput lost to TLB contention. Relative to a state-of-the-art GPU TLB, MASK improves system throughput by 57.8%, improves IPC throughput by 43.4%, and reduces applicationlevel unfairness by 22.4%. MASK's system throughput is within 23.2% of an ideal GPU system with no address translation overhead.
Subfields: Computer Networks and Communications, Hardware and Architecture, Information Systems, ML Systems & Hardware
How researchers see this paper
The researchers whose trusted networks rank it highest, strongest advocate first. Every researcher gets a different order.
In Computer Networks and Communications
- Michael Isard
- Christopher J. Rossbach
- Sanjay Ghemawat
- Ruoming Pang
- S. Hand
- Joseph Dean
- Hyeontaek Lim
- Ronald C. Taylor
In Hardware and Architecture
- Christopher J. Rossbach
- Sanjay Ghemawat
- Michael Isard
- Amogh Akshintala
- Arthur Michener Peters
- S. Hand
- Joseph Dean
- Hangchen Yu
In Information Systems
- Michael Isard
- Christopher J. Rossbach
- Sanjay Ghemawat
- Amogh Akshintala
- Arthur Michener Peters
- S. Hand
- Yonghui Wu
- Joseph Dean
In ML Systems & Hardware
- Sanjay Ghemawat
- Michael Isard
- Aakanksha Chowdhery
- S. Hand
- Joseph Dean
- Hyeontaek Lim
- Amir Salman Avestimehr
- Suhas N. Diggavi
Citations in the corpus
- Pathways: Asynchronous Distributed Dataflow for ML (2022, methodology): “Large models (Brown et al., 2020) can be limited by available accelerator memory, requiring GPU memory virtualization (Rhu et al., 2016; Ausavarungnirun et al., 2018) or DRAM offload (Rajbhandari et al., 2021).”
- AvA: Accelerated Virtualization of Accelerators (2020, background): “While memory over-subscription is uncommon for main memory in virtual environments, it remains important for accelerators because on-board memory capacity is typically small [28, 29, 62].”
- Processing Data Where It Makes Sense: Enabling In-Memory Computation (2019, unknown): “Beyond pointer chasing operations that are tackled by IMPICA [62], providing efficient mechanisms for PIMbased virtual-to-physical address translation (as well as access protection) remains a challenge for the generality of applications, especially those that access large amounts of virtual memory [”