IEEE Access (Jan 2024)

XeroZerox: Analysis and Optimization of GPU Memory Management for High-Integrity Autonomous Systems

  • Alejandro J. Calderon,
  • Leonidas ALEJANDROCALDERON,
  • Carlos-F. Nicolas,
  • Francisco J. Cazorla

DOI
https://doi.org/10.1109/ACCESS.2024.3406893
Journal volume & issue
Vol. 12
pp. 77141 – 77155

Abstract

Read online

Autonomous systems require high-performance processing capabilities, which demand the use of powerful accelerators such as GPUs. However, the use of GPUs in critical systems presents several challenges, since GPU programming models rely on explicit dynamic memory management. Traditionally, dynamic memory allocation in such systems is restricted to certain controlled scenarios, which require programs to be rewritten so that all the required memory is allocated at the beginning of the program and released at its end. However, many GPU applications do not follow this approach. Moreover, when dynamic memory allocation is used, it is critical to compute the exact amount of memory that will be used as well as to minimize it, to guarantee that it fits in the physical system memory. In this paper we present XeroZerox, an open-source tool that automatically converts the traditional dynamic memory allocations of GPU applications into allocations served from a centralized and optimally sized memory pool, which is managed in a way better suited for critical systems. XeroZerox allows legacy GPU applications to be used in a critical setup without rewriting them, minimizing at the same time their memory consumption and memory management runtime overhead.

Keywords