"GDM: device memory management for GPGPU computing"  

Kaibo Wang, Xiaoning Ding, Rubao Lee, Shinpei Kato and Xiaodong Zhang

Proceedings of 2014 ACM SIGMETRICS Conference on Measurement and Modeling for 
Computer Systems (SIGMETRICS 2014), Austin, Texas, June 16-20, 2014.   

GPGPUs are evolving from dedicated accelerators towards
mainstream commodity computing resources. During the
transition, the lack of system management of device memory
space on GPGPUs has become a major hurdle. In existing
GPGPU systems, device memory space is still managed explicitly
by individual applications, which not only increases
the burden of programmers but can also cause application
crashes, hangs, or low performance.

In this paper, we present the design and implementation
of GDM, a fully functional GPGPU device memory manager
to address the above problems and unleash the computing
power of GPGPUs in general-purpose environments.
To effectively coordinate the device memory usage of different
applications, GDM takes control over device memory
allocations and data transfers to and from device memory,
leveraging a buffer allocated in each application's virtual
memory. GDM utilizes the unique features of GPGPU systems
and relies on several effective optimization techniques
to guarantee the efficient usage of device memory space and
to achieve high performance.

We have evaluated GDM and compared it against state-of-the-art 
GPGPU system software on a range of workloads.
The results show that GDM can prevent applications from
crashes, including those induced by device memory leaks,
and improve system performance by up to 43%.