学位论文详细信息
Features of a Multi-Threaded Memory Allocator
memory allocation;multi-threaded;programming languages;Computer Science
Wasik, Ayelet
University of Waterloo
关键词: memory allocation;    multi-threaded;    programming languages;    Computer Science;   
Others  :  https://uwspace.uwaterloo.ca/bitstream/10012/3501/1/Thesis.pdf
瑞士|英语
来源: UWSPACE Waterloo Institutional Repository
PDF
【 摘 要 】

Multi-processor computers are becoming increasingly popular and are important for improving application performance. Providing high-performance memory-management is important for multi-threaded programs. This thesis looks at memory allocation of dynamic-allocation memory in concurrent C and C++ programs. The challenges facing the design of any memory allocator include minimizing fragmentation, and promoting good locality. A multi-threaded memory-allocator is also concerned with minimizing contention, providing mutual exclusion, avoiding false-sharing, and preventing heap-blowup (a form of fragmentation). Several potential features are identified in existing multi-threaded memory-allocators. These features include per-thread heaps with a global heap, object ownership, object containers, thread-local free-list buffers, remote free-lists, allocation buffers, and lock-free operations. When used in different combinations, these features can solve most of the challenges facing a multi-threaded memory-allocator. Through the use of a test suite composed of both single and multi-threaded benchmark programs, several existing memory allocators and a set of new allocators are compared. It is determined that different features address different multi-threaded issues in the memory allocator with respect to performance, scaling, and fragmentation. Finally, recommendations are made for the design of a general-purpose memory-allocator.

【 预 览 】
附件列表
Files Size Format View
Features of a Multi-Threaded Memory Allocator 2376KB PDF download
  文献评价指标  
  下载次数:16次 浏览次数:17次