Font Size: a A A

A Fast And Secure GPU Memory Allocator

Posted on:2020-02-07Degree:MasterType:Thesis
Country:ChinaCandidate:J WuFull Text:PDF
GTID:2428330620451122Subject:Computer Science and Technology
Abstract/Summary:PDF Full Text Request
Graphics Processing Units?GPUs?is widely used to perform general purpose computing in many areas such as scientific computing and deep learning.In order to offer more flexibility in GPU programming,dynamic memory allocation has been in-troduced in GPU programming frameworks such as CUDA.However,the dynamic memory allocator in CUDA is inefficient in highly concurrent environments.Thus,several dynamic memory allocators are recently proposed to enhance the performance of dynamic memory management.Despite the improvements in software security over the years,memory-related attacks remain a serious threat.Buffer overflow is the most dangerous of these memory attacks.Buffer overflow also exists on GPUs as introduced in recent studies.However,these allocators only focus on achieving higher perfor-mance but ignore the security issues.Therefore,this paper propose the design and implementation of a fast and secure GPU dynamic memory allocator based on ScatterAlloc,focusing on enabling tech-niques that offer the capability of detecting buffer overflows at runtime while keeping the overhead as minimum as possible.Specifically,the detection of buffer overflow is based on the idea of canary check.By inserting the encrypted canary into the two ends of the memory chunk separately,only the correctness of the canary needs to be verified to determine whether a buffer overflow occurs.In order to effectively verify the canary of the memory chunk,this paper implements two detection mechanisms.The first is to perform a canary check when the memory chunk is freed.The second is an always-on-detection mechanism that performs an uninterrupted canary check.For always-on-de-tection mechanisms,this paper uses address compression techniques to reduce memory consumption.This paper also implements over-provisioning,which allows the alloca-tor to tolerate a certain degree of buffer overflow error by allocating more memory.The main contributions of this paper are summarized as follows:?1?this paper propose the design and implementation of a fast and secure GPU dynamic memory allocator,which is composed of some key technologies and can ef-fectively detect buffer overflow errors.These key technologies include:canary based buffer overflow detection;address compression;over-provisioning.?2?This paper conduct extensive performance evaluation to validate the key de-sign choices.The experimental results show that the allocator can effectively detect buffer overflow errors using both detection mechanisms.Results show that the over-head of checking canary on memory deallocation is only 1%-3%as compared to the baseline implementation.The overhead of performing real-time detection is about28%-35%.?3?This paper tests the impact of hash parameters ks and kmp on the performance of the allocator,and analyzes the fragmentation of the memory of the allocator.
Keywords/Search Tags:Dynamic Memory Allocation, CUDA, Buffer Overflow, GPGPU
PDF Full Text Request
Related items