XMalloc: A Scalable Lock-free Dynamic Memory Allocator for Many-core Machines

Computer and Information Technology(2010)

Cited 38|Views4
No score
Abstract
There are two avenues for many-core machines to gain higher performance: increasing the number of processors, and increasing the number of vector units in one SIMD processor. A truly scalable algorithm should take advantage of both. However, most past research on scalable memory allocators scales well with the number of processors, but poorly with the number of vector units in one SIMD processor. As a result, they are not truly scalable on many-core architectures. In this work, we introduce our proposed solution through the design of XMalloc, a truly scalable, efficient lock-free memory allocator. We will present (1) our solution for transforming traditional atomic compare-and-swap based lock-free algorithm to scale on SIMD architectures, and (2) a hierarchical cachelike buffer solution to reduce the average latency of accesses to non-scalable or slow resources such as main memory in a many-core machine. We implemented XMalloc as a memory allocator on an NVIDIA Tesla C1060 GPU with 240 processing units. Our experimental results show that XMalloc scales very well with growth in both the number of processors and the number of vector units in each SIMD processor. Our truly scalable lock-free solution achieves 211 times speedup compared to the common lock-free solution.
More
Translated text
Key words
parallel processing,vector unit,many-core machine,scalable algorithm,lock-free,simd processor,scalable lock-free solution,cache storage,malloc,many-core machines,simd architectures,cachelike buffer solution,availability,common lock-free solution,scalable lockfree dynamic memory allocator,scalable memory allocators scale,cuda,scalable lock-free dynamic memory,multiprocessing systems,scalability,hierarchical cachelike buffer solution,many core machines,async-signalsafe,xmalloc design,gpgpu,xmalloc,simd architecture,proposed solution,memory management,instruction sets,compare and swap,data structures,resource management,dynamic memory allocation,algorithm design and analysis,memory allocation,lock free
AI Read Science
Must-Reading Tree
Example
Generate MRT to find the research sequence of this paper
Chat Paper
Summary is being generated by the instructions you defined