{"id":{"repo_id":"uiuc","oai_identifier":"oai:www.ideals.illinois.edu:2142/16137"},"canonical_url":"https://search.dev.ndltd.org/etd/uiuc/oai:www.ideals.illinois.edu:2142/16137","repository":{"repo_id":"uiuc","name":"University of Illinois - Urbana-Champaign","base_url":"https://www.ideals.illinois.edu/oai-pmh"},"display":{"title":"Xmalloc: a scalable lock-free dynamic memory allocator for many-core machines","abstract":"There are two venues for many-core machines to gain higher performance: increasing the number of processors and number of vector units in one SIMD processor. A truly scalable algorithm should take advantage for both venues. However, most of past research, on scalable memory allocators such as atomic operation based lock-free algorithms, can be scalable with number of processors growing, but have poor scalability with the number of vector units in one SIMD processor growing. As a result, they are not truly scalable in many-core architecture. In this work, we introduce our proposed solution used in the design of XMalloc, an truly scalable, efficient lockfree memory allocator. We will present (1) Our solution for transforming traditional atomic CAS(Compare-And-Swap) based lock-free algorithm to be truly scalable for many-core architecture. (2) A hierarchical cache-like buffer solution to reduce the average latency for accessing non-scalable or slow resource such as the memory system in many-core machine. We used XMalloc as a memory allocator for NVIDIA Tesla C1600 with 240 processing units. Our experimental results show that XMalloc achieves very good scalability in terms of the number of processors and the number of vector units in each SIMD processor growing. Our truly scalability lock-free solution achieve 211 times speedup comparing to the common lock-free solution.","abstract_html":"There are two venues for many-core machines to gain higher performance: increasing the number of processors and number of vector units in one SIMD processor. A truly scalable algorithm should take advantage for both venues. However, most of past research, on scalable memory allocators such as atomic operation based lock-free algorithms, can be scalable with number of processors growing, but have poor scalability with the number of vector units in one SIMD processor growing. As a result, they are not truly scalable in many-core architecture. In this work, we introduce our proposed solution used in the design of XMalloc, an truly scalable, efficient lockfree memory allocator. We will present (1) Our solution for transforming traditional atomic CAS(Compare-And-Swap) based lock-free algorithm to be truly scalable for many-core architecture. (2) A hierarchical cache-like buffer solution to reduce the average latency for accessing non-scalable or slow resource such as the memory system in many-core machine. We used XMalloc as a memory allocator for NVIDIA Tesla C1600 with 240 processing units. Our experimental results show that XMalloc achieves very good scalability in terms of the number of processors and the number of vector units in each SIMD processor growing. Our truly scalability lock-free solution achieve 211 times speedup comparing to the common lock-free solution.","abstract_has_math":false,"creators":["Huang, Xiaohuang"],"institution":"University of Illinois at Urbana-Champaign","degree_name":"M.S.","degree_level":"Thesis","degree_discipline":"Computer Science","degree_department":null,"school":null,"contributors":["Hwu, Wen-Mei W."],"advisors":[],"committee_chairs":[],"committee_members":[],"year":2010,"date_issued":"2010-05-19T18:38:28Z","date_published":"2010-05-19T18:38:28Z","updated_at":"2026-07-22T22:25:08Z","subjects":["General-purpose computing on graphics processing units (GPGPU)","Memory Allocation"],"languages":["en"],"rights":["Copyright 2010 Xiaohuang Huang"],"rights_urls":[],"identifier_entries":[]},"links":{"outbound_url":"http://hdl.handle.net/2142/16137","outbound_label":"Handle","outbound_source":"dc:identifier"},"metadata_groups":[{"id":"people","label":"People","entries":[{"key":"dc:contributor","label":"Contributor","values":["Hwu, Wen-Mei W."]},{"key":"dc:creator","label":"Author","values":["Huang, Xiaohuang"]}]},{"id":"academic_context","label":"Academic Context","entries":[{"key":"dc:date","label":"Dc Date","values":["2010-05-19T18:38:28Z","2010-5"]},{"key":"thesis:degree_discipline","label":"Discipline","values":["Computer Science"]},{"key":"thesis:degree_level","label":"Degree Level","values":["Thesis"]},{"key":"thesis:degree_name","label":"Degree Name","values":["M.S."]},{"key":"thesis:institution_name","label":"Thesis Institution Name","values":["University of Illinois at Urbana-Champaign"]}]},{"id":"subjects_keywords","label":"Subjects and Keywords","entries":[{"key":"dc:subject","label":"Dc Subject","values":["General-purpose computing on graphics processing units (GPGPU)","Memory Allocation"]}]},{"id":"language_rights","label":"Language and Rights","entries":[{"key":"dc:language","label":"Dc Language","values":["en"]},{"key":"dc:rights","label":"Dc Rights","values":["Copyright 2010 Xiaohuang Huang"]}]},{"id":"identifiers","label":"Identifiers","entries":[{"key":"dc:identifier","label":"Identifier","values":["http://hdl.handle.net/2142/16137"]}]},{"id":"additional","label":"Additional Metadata","entries":[{"key":"dc:description","label":"Description","values":["There are two venues for many-core machines to gain higher performance: increasing the number of processors and number of vector units in one SIMD processor. A truly scalable algorithm should take advantage for both venues. However, most of past research, on scalable memory allocators such as atomic operation based lock-free algorithms, can be scalable with number of processors growing, but have poor scalability with the number of vector units in one SIMD processor growing. As a result, they are not truly scalable in many-core architecture. In this work, we introduce our proposed solution used in the design of XMalloc, an truly scalable, efficient lockfree memory allocator. We will present (1) Our solution for transforming traditional atomic CAS(Compare-And-Swap) based lock-free algorithm to be truly scalable for many-core architecture. (2) A hierarchical cache-like buffer solution to reduce the average latency for accessing non-scalable or slow resource such as the memory system in many-core machine. We used XMalloc as a memory allocator for NVIDIA Tesla C1600 with 240 processing units. Our experimental results show that XMalloc achieves very good scalability in terms of the number of processors and the number of vector units in each SIMD processor growing. Our truly scalability lock-free solution achieve 211 times speedup comparing to the common lock-free solution.","Item withdrawn by Mark Zulauf (zulauf@illinois.edu) on 2010-04-30T21:40:32Z Item was in collections: University of Illinois Theses & Dissertations (ID: 1) No. of bitstreams: 1 Huang_Xiaohuang.pdf: 274610 bytes, checksum: c2551791ce0d8e29bd3ce62b4746f854 (MD5)","Made available in DSpace on 2010-05-19T18:38:28Z (GMT). No. of bitstreams: 2 Huang_Xiaohuang.pdf: 274610 bytes, checksum: c2551791ce0d8e29bd3ce62b4746f854 (MD5) license.txt: 4065 bytes, checksum: 43764337f7f6472af98d62b35294cd29 (MD5)"]},{"key":"dc:title","label":"Title","values":["Xmalloc: a scalable lock-free dynamic memory allocator for many-core machines"]}]}],"canonical_facts":{"dc:contributor":["Hwu, Wen-Mei W."],"dc:creator":["Huang, Xiaohuang"],"dc:date":["2010-05-19T18:38:28Z","2010-5"],"dc:description":["There are two venues for many-core machines to gain higher performance: increasing the number of processors and number of vector units in one SIMD processor. A truly scalable algorithm should take advantage for both venues. However, most of past research, on scalable memory allocators such as atomic operation based lock-free algorithms, can be scalable with number of processors growing, but have poor scalability with the number of vector units in one SIMD processor growing. As a result, they are not truly scalable in many-core architecture. In this work, we introduce our proposed solution used in the design of XMalloc, an truly scalable, efficient lockfree memory allocator. We will present (1) Our solution for transforming traditional atomic CAS(Compare-And-Swap) based lock-free algorithm to be truly scalable for many-core architecture. (2) A hierarchical cache-like buffer solution to reduce the average latency for accessing non-scalable or slow resource such as the memory system in many-core machine. We used XMalloc as a memory allocator for NVIDIA Tesla C1600 with 240 processing units. Our experimental results show that XMalloc achieves very good scalability in terms of the number of processors and the number of vector units in each SIMD processor growing. Our truly scalability lock-free solution achieve 211 times speedup comparing to the common lock-free solution.","Item withdrawn by Mark Zulauf (zulauf@illinois.edu) on 2010-04-30T21:40:32Z Item was in collections: University of Illinois Theses & Dissertations (ID: 1) No. of bitstreams: 1 Huang_Xiaohuang.pdf: 274610 bytes, checksum: c2551791ce0d8e29bd3ce62b4746f854 (MD5)","Made available in DSpace on 2010-05-19T18:38:28Z (GMT). No. of bitstreams: 2 Huang_Xiaohuang.pdf: 274610 bytes, checksum: c2551791ce0d8e29bd3ce62b4746f854 (MD5) license.txt: 4065 bytes, checksum: 43764337f7f6472af98d62b35294cd29 (MD5)"],"dc:identifier":["http://hdl.handle.net/2142/16137"],"dc:language":["en"],"dc:rights":["Copyright 2010 Xiaohuang Huang"],"dc:subject":["General-purpose computing on graphics processing units (GPGPU)","Memory Allocation"],"dc:title":["Xmalloc: a scalable lock-free dynamic memory allocator for many-core machines"],"thesis:degree_discipline":["Computer Science"],"thesis:degree_level":["Thesis"],"thesis:degree_name":["M.S."],"thesis:institution_name":["University of Illinois at Urbana-Champaign"]},"updated_at":"2026-07-22T22:25:08Z"}