GPUArmor: A Hardware-Software Co-design for Efficient and Scalable Memory Safety on GPUs

📅 2025-02-25
📈 Citations: 0
Influential: 0
📄 PDF
🤖 AI Summary
GPU memory safety is threatened by spatial and temporal memory violations; existing allocation-based solutions (e.g., cuCatch) suffer from high memory overhead or scalability bottlenecks. This paper proposes GPUArmor, the first hardware–software co-designed framework tailored to GPU memory access characteristics. It introduces a lightweight hardware Memory Lookaside Buffer (MLB) and integrates LLVM compiler-driven metadata optimization with dynamic runtime checks for base/bound validation and memory tagging. GPUArmor pioneers GPU-specific metadata management and introduces a HWOnly variant requiring no recompilation or software dependencies. Evaluation shows GPUArmor incurs only 2.3% average runtime overhead (2.2% for HWOnly) and near-zero storage overhead—substantially outperforming conventional tagging schemes—while maintaining full compatibility with modern GPU workloads.

Technology Category

Application Category

📝 Abstract
Memory safety errors continue to pose a significant threat to current computing systems, and graphics processing units (GPUs) are no exception. A prominent class of memory safety algorithms is allocation-based solutions. The key idea is to maintain each allocation's metadata (base address and size) in a disjoint table and retrieve it at runtime to verify memory accesses. While several previous solutions have adopted allocation-based algorithms (e.g., cuCatch and GPUShield), they typically suffer from high memory overheads or scalability problems. In this work, we examine the key characteristics of real-world GPU workloads and observe several differences between GPU and CPU applications regarding memory access patterns, memory footprint, number of live allocations, and active allocation working set. Our observations motivate GPUArmor, a hardware-software co-design framework for memory safety on GPUs. We show that a simple compiler analysis combined with lightweight hardware support using a small Memory Lookaside Buffer (MLB) can help prevent spatial and temporal memory violations on modern GPU workloads with 2.3% average run time overheads. More importantly, GPUArmor achieves speed-of-light performance with negligible storage requirements. This result benefits both base and bounds solutions and memory tagging techniques, which we showcase with GPUArmor-HWOnly, a variation of GPUArmor that does not require recompilation, and achieves 2.2% slowdowns while significantly reducing storage overheads beyond traditional memory tagging approaches.
Problem

Research questions and friction points this paper is trying to address.

Memory safety errors in GPUs
High memory overheads in solutions
Scalability issues in GPU applications
Innovation

Methods, ideas, or system contributions that make the work stand out.

Hardware-software co-design
Memory Lookaside Buffer
Compiler analysis integration
🔎 Similar Papers
No similar papers found.