Filtering Translation Bandwidth with Virtual Caching

Paper on ACM DL Local Download

Abstract

Heterogeneous computing with GPUs integrated on the same chip as CPUs is ubiquitous, and to increase programmability many of these systems support virtual address accesses from GPU hardware. However, this entails address translation on every memory access. We observe that future GPUs and workloads show very high bandwidth demands (up to 4 accesses per cycle in some cases) for shared address translation hardware due to frequent private TLB misses. This greatly impacts performance (32% average performance degradation relative to an ideal MMU). To mitigate this overhead, we propose a software-agnostic, practical, GPU virtual cache hierarchy. We use the virtual cache hierarchy as an effective address translation bandwidth filter. We observe many requests that miss in private TLBs find corresponding valid data in the GPU cache hierarchy. With a GPU virtual cache hierarchy, these TLB misses can be filtered (i.e., virtual cache hits), significantly reducing bandwidth demands for the shared address translation hardware. In addition, accelerator-specific attributes (e.g., less likelihood of synonyms) of GPUs reduce the design complexity of virtual caches, making a whole virtual cache hierarchy (including a shared L2 cache) practical for GPUs. Our evaluation shows that the entire GPU virtual cache hierarchy effectively filters the high address translation bandwidth, achieving almost the same performance as an ideal MMU. We also evaluate L1-only virtual cache designs and show that using a whole virtual cache hierarchy obtains additional performance benefits (1.31× speedup on average).

Hongil Yoon, Jason Lowe-Power, and Gurindar S. Sohi. 2018. Filtering Translation Bandwidth with Virtual Caching. In Proceedings of the Twenty-Third International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS ‘18). ACM, New York, NY, USA, 113-127. DOI: https://doi.org/10.1145/3173162.3173195

@inproceedings{gpuvc:Yoon:2018,
    author = {Hongil Yoon and Jason Lowe-Power and Gurindar S. Sohi},
    title = {Filtering Translation Bandwidth with Virtual Caching},
    booktitle = {Proceedings of the Twenty-Third International Conference on Architectural Support for Programming Languages and Operating Systems},
    series = {ASPLOS '18},
    year = {2018},
    isbn = {978-1-4503-4911-6},
    location = {Williamsburg, VA, USA},
    pages = {113--127},
    numpages = {15},
    url = {http://doi.acm.org/10.1145/3173162.3173195},
    doi = {10.1145/3173162.3173195},
    acmid = {3173195},
    publisher = {ACM},
    address = {New York, NY, USA},
}

Updated: