RSVM: a Region-based Software Virtual Memory for GPU

被引:0
|
作者
Ji, Feng [1 ]
Lin, Heshan [2 ]
Ma, Xiaosong [1 ,3 ]
机构
[1] North Carolina State Univ, Dept Comp Sci, Raleigh, NC 27695 USA
[2] Virginia Tech, depcom, Blacksburg, VA USA
[3] Oak Ridge Natl Lab, Comp Sci & Math Div, Oak Ridge, TN USA
关键词
GPGPU; Heterogeneous System; GPU Memory Mangement; PROGRAMMING-MODEL;
D O I
暂无
中图分类号
TP3 [计算技术、计算机技术];
学科分类号
0812 ;
摘要
While Graphics Processing Units (GPU) have gained much success in general purpose computing in recent years, their programming is still difficult, due to, particularly, explicitly managed GPU memory and manual CPU-GPU data transfer. Despite recent calls for managing GPU resources as first-class citizens in the operating system, a mature GPU memory management mechanism is still missing, which leads to reinventing the wheels in various GPU system software. Meanwhile, due to ever enlarging problem sizes, we urgently need a system-level mechanism for unified CPU-GPU memory management. In this work, we present the design of Region-based Software Virtual Memory (RSVM), a software virtual memory running on both CPU and GPU in a distributed and cooperative way. In addition to automatic GPU memory management and GPU-CPU data transfer, RSVM offers two novel features: 1) GPU kernel-issued on-demand data fetching from the host into the GPU memory, and 2) intra-kernel transparent GPU memory swapping into the main memory. Our study reveals important insights on the challenges and opportunities of building unified virtual memory systems for heterogeneous computing. Experimental results on real GPU benchmarks demonstrate that, though it incurs a small overhead, RSVM can transparently scale GPU kernels to large problem sizes exceeding the device memory size limit; developers write the same code for different problem sizes, but still can optimize on data layout definition accordingly. Our evaluation also identifies missing GPU architecture features for better system software efficiency.
引用
收藏
页码:269 / 278
页数:10
相关论文
共 50 条
  • [1] Region-based memory management
    Tofte, M
    Talpin, JP
    [J]. INFORMATION AND COMPUTATION, 1997, 132 (02) : 109 - 176
  • [2] Securing GPU via Region-based Bounds Checking
    Lee, Jaewon
    Kim, Yonghae
    Cao, Jiashen
    Kim, Euna
    Lee, Jaekyu
    Kim, Hyesoon
    [J]. PROCEEDINGS OF THE 2022 THE 49TH ANNUAL INTERNATIONAL SYMPOSIUM ON COMPUTER ARCHITECTURE (ISCA '22), 2022, : 27 - 41
  • [3] A region-based memory manager for Prolog
    Makholm, H
    [J]. ACM SIGPLAN NOTICES, 2001, 36 (01) : 25 - 34
  • [4] Region-based memory management in cyclone
    Grossman, D
    Morrisett, G
    Jim, T
    Hicks, M
    Wang, YL
    Cheney, J
    [J]. ACM SIGPLAN NOTICES, 2002, 37 (05) : 282 - 293
  • [5] Region-based Memory Management for GPU Programming Languages Enabling Rich Data Structures on a Spartan Host
    Holk, Eric
    Newton, Ryan
    Siek, Jeremy
    Lumsdaine, Andrew
    [J]. ACM SIGPLAN NOTICES, 2014, 49 (10) : 141 - 155
  • [6] A GPU-RSVM Based Intrusion Detection Classifier
    Zhang, Xueqin
    Zhao, Chen
    Wu, Jiyi
    Song, Chao
    [J]. THEORETICAL AND MATHEMATICAL FOUNDATIONS OF COMPUTER SCIENCE, 2011, 164 : 92 - +
  • [7] Guided Region-Based GPU Scheduling: Utilizing Multi-thread Parallelism to Hide Memory Latency
    Chen, Jianmin
    Tao, Xi
    Yang, Zhen
    Peir, Jih-Kwon
    Li, Xiaoyuan
    Lu, Shih-Lien
    [J]. IEEE 27TH INTERNATIONAL PARALLEL AND DISTRIBUTED PROCESSING SYMPOSIUM (IPDPS 2013), 2013, : 441 - 451
  • [8] Region-based memory management for Mercury programs
    Phan, Quan
    Janssens, Gerda
    Somogyi, Zoltan
    [J]. THEORY AND PRACTICE OF LOGIC PROGRAMMING, 2013, 13 : 959 - 1024
  • [9] Distributed region-based memory allocation and synchronization
    Symeonidou, Christi
    Pratikakis, Polyvios
    Nikolopoulos, Dimitrios S.
    Bilas, Angelos
    [J]. INTERNATIONAL JOURNAL OF HIGH PERFORMANCE COMPUTING APPLICATIONS, 2014, 28 (04): : 406 - 414
  • [10] A static region-based compiler for the Dalvik virtual machine
    You, Yi-Ping
    Chen, Jian-Ru
    [J]. SOFTWARE-PRACTICE & EXPERIENCE, 2016, 46 (08): : 1109 - 1130