An efficient multi-threaded memory allocator for PDES applications

被引:4
|
作者
Li, Tianlin [1 ]
Yao, Yiping [1 ]
Tang, Wenjie [1 ]
Zhu, Feng [1 ]
Lin, Zhongwei [1 ]
机构
[1] Natl Univ Def Technol, Changsha, Peoples R China
基金
中国国家自然科学基金;
关键词
Multi-threaded; Memory allocator; PDES; DISCRETE-EVENT SIMULATION;
D O I
10.1016/j.simpat.2020.102067
中图分类号
TP39 [计算机的应用];
学科分类号
081203 ; 0835 ;
摘要
Parallel Discrete Event Simulation (PDES) aims at providing high performance solutions for simulation with large and complex models. Like traditional multi-threaded applications, PDES applications are also confronted with large overhead produced by memory allocation. Especially, complex models and frequent inter-thread communications in PDES applications will lead to large amounts of memory allocation and deallocation requests. Inter-thread communications are implemented by sending and receiving events based on shared memory. Hence, an efficient memory allocator has great impact on the performance of such applications. Current well-known allocators are dedicated to be scalable and lock-free. However, they ignore the difference between thread local and shared memory and manage them in the same way, which cannot make good use of their own characteristics. To solve this problem, this paper proposes a high efficient multi-threaded memory allocator named HMalloc, which innovatively separates thread local memory from shared memory. Thus, local memory allocation and deallocation will not lead to false sharing and lock contention. Moreover, coalescence free is applied to free local memory blocks. Furthermore, a flag-based shared memory management method is proposed to achieve lock-free shared memory allocation and deallocation. Experimental results show that HMalloc can achieve significant performance improvement in both traditional memory allocation benchmarks and typical PDES benchmarks when compared with existing well-known memory allocators.
引用
收藏
页数:19
相关论文
共 50 条
  • [1] HMalloc: A Hybrid, Scalable, and Lock-free Memory Allocator for Multi-threaded Applications
    Li, Tianlin
    Yao, Yiping
    Tang, Wenjie
    Lin, Zhongwei
    [J]. 2019 IEEE 25TH INTERNATIONAL CONFERENCE ON PARALLEL AND DISTRIBUTED SYSTEMS (ICPADS), 2019, : 406 - 409
  • [2] Efficient Multi-threaded Crawling Using In Memory Data Structures
    Abdeen, Mohammad A. R.
    [J]. INTERNATIONAL JOURNAL OF COMPUTER SCIENCE AND NETWORK SECURITY, 2020, 20 (02): : 88 - 92
  • [3] An efficient multi-level trace toolkit for multi-threaded applications
    Danjean, V
    Namyst, R
    Wacrenier, PA
    [J]. EURO-PAR 2005 PARALLEL PROCESSING, PROCEEDINGS, 2005, 3648 : 166 - 175
  • [4] Enabling Multi-threaded Applications on Hybrid Shared Memory Manycore Architectures
    Rawat, Tushar
    Shrivastava, Aviral
    [J]. 2015 DESIGN, AUTOMATION & TEST IN EUROPE CONFERENCE & EXHIBITION (DATE), 2015, : 742 - 747
  • [5] A Fast Profiler for Compilation of Multi-Threaded Applications on a Hybrid Memory System
    Dadzie, Thomas Haywood
    Cho, SeungPyo
    Oh, Hyunok
    [J]. 2017 IEEE 6TH NON-VOLATILE MEMORY SYSTEMS AND APPLICATIONS SYMPOSIUM (NVMSA 2017), 2017,
  • [6] Energy-Efficient Server Consolidation for Multi-threaded Applications in the Cloud
    Hankendi, Can
    Coskun, Ayse K.
    [J]. 2013 INTERNATIONAL GREEN COMPUTING CONFERENCE (IGCC), 2013,
  • [7] ResPCT: Fast Checkpointing in Non-volatile Memory for Multi-threaded Applications
    Khorguani, Ana
    Ropars, Thomas
    De Palma, Noel
    [J]. PROCEEDINGS OF THE SEVENTEENTH EUROPEAN CONFERENCE ON COMPUTER SYSTEMS (EUROSYS '22), 2022, : 525 - 540
  • [8] Analysing Dataflow Multi-Threaded Applications at Runtime
    Mazumdar, Somnath
    Scionti, Alberto
    [J]. 2017 7TH IEEE INTERNATIONAL ADVANCE COMPUTING CONFERENCE (IACC), 2017, : 744 - 749
  • [9] A Framework for Systematic Testing of Multi-threaded Applications
    Florian, Mihai
    [J]. 2011 IEEE 17TH PACIFIC RIM INTERNATIONAL SYMPOSIUM ON DEPENDABLE COMPUTING (PRDC), 2011, : 278 - 279
  • [10] A SIMT Analyzer for Multi-Threaded CPU Applications
    Alawneh, Ahmad
    Khairy, Mahmoud
    Rogers, Timothy G.
    [J]. 2022 IEEE INTERNATIONAL SYMPOSIUM ON PERFORMANCE ANALYSIS OF SYSTEMS AND SOFTWARE (ISPASS 2022), 2022, : 248 - 250