GMOD: a dynamic GPU memory overflow detector
GMOD: a dynamic GPU memory overflow detector
复制标题
DOI:
10.1145/3243176.3243194
复制
发表时间:
2018-11
期刊:
影响因子:
--
通讯作者:
Bang Di;Jianhua Sun;Dong Li;Hao Chen;Zhe Quan
中科院分区:
文献类型:
--
作者:
Bang Di;Jianhua Sun;Dong Li;Hao Chen;Zhe Quan
Rich thread-level parallelism in GPU has motivated co-running GPU kernels on a single GPU. However, when GPU kernels co-run, it is possible that a kernel can leverage buffer overflow to attack another kernel running on the same GPU. There is very limited work aiming to detect buffer overflow for GPU. The existing work has either large performance overhead or limited capability to detect buffer overflow. In this paper, we introduce GMOD, a runtime software system that detects GPU buffer overflow. GMOD performs always-on monitoring on dynamically allocated buffers based on a canary-based design. GMOD introduces a set of byte arrays to store buffer information for buffer overflow detection. To enable high performance, GMOD introduces several techniques, such as lock-free accesses to the byte arrays, delayed memory free for high performance memory free, and efficient memory reallocation and garbage collection for the byte arrays. Our experiments show that GMOD is capable of detecting buffer overflows at runtime and has small runtime overhead (2.9% on average and up to 9.1%).