2910

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

Xiaohuang Huang, Christopher I. Rodrigues, Stephen Jones, Ian Buck, Wen-mei Hwu
University of Illinois at Urbana-Champaign, USA
Proceedings of the 2010 10th IEEE International Conference on Computer and Information Technology, IEEE Computer Society Washington, DC, USA, 2010, CIT ’10

@inproceedings{Huang:2010:XSL:1900726.1901485,

   author={Huang, Xiaohuang and Rodrigues, Christopher I. and Jones, Stephen and Buck, Ian and Hwu, Wen-mei},

   title={XMalloc: A Scalable Lock-free Dynamic Memory Allocator for Many-core Machines},

   booktitle={Proceedings of the 2010 10th IEEE International Conference on Computer and Information Technology},

   series={CIT ’10},

   year={2010},

   isbn={978-0-7695-4108-2},

   pages={1134–1139},

   numpages={6},

   url={http://dx.doi.org/10.1109/CIT.2010.206},

   doi={http://dx.doi.org/10.1109/CIT.2010.206},

   acmid={1901485},

   publisher={IEEE Computer Society},

   address={Washington, DC, USA},

   keywords={malloc, CUDA, GPGPU, lock-free, async-signalsafe, availability, scalability}

}

Download Download (PDF)   View View   Source Source   

994

views

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.
No votes yet.
Please wait...

* * *

* * *

Featured events

2018
November
27-30
Hida Takayama, Japan

The Third International Workshop on GPU Computing and AI (GCA), 2018

2018
September
19-21
Nagoya University, Japan

The 5th International Conference on Power and Energy Systems Engineering (CPESE), 2018

2018
September
22-24
MediaCityUK, Salford Quays, Greater Manchester, England

The 10th International Conference on Information Management and Engineering (ICIME), 2018

2018
August
21-23
No. 1037, Luoyu Road, Hongshan District, Wuhan, China

The 4th International Conference on Control Science and Systems Engineering (ICCSSE), 2018

2018
October
29-31
Nanyang Executive Centre in Nanyang Technological University, Singapore

The 2018 International Conference on Cloud Computing and Internet of Things (CCIOT’18), 2018

HGPU group © 2010-2018 hgpu.org

All rights belong to the respective authors

Contact us: