Clustering the heap in multi-threaded applications for improved garbage collection

被引:0
|
作者
Cohen, Myra [1 ]
Kooi, Shiu Beng [1 ]
Srisa-An, Witawas [1 ]
机构
[1] Univ Nebraska, Dept Comp Sci & Engn, Lincoln, NE 68588 USA
关键词
garbage collection; heap clustering; search based software; engineering; hill climbing; virtual machines;
D O I
暂无
中图分类号
TP18 [人工智能理论];
学科分类号
081104 ; 0812 ; 0835 ; 1405 ;
摘要
Garbage collection can be a performance bottleneck in large distributed, multi-threaded applications. Applications may produce millions of objects during their lifetimes and may invoke hundreds or thousands of threads. When using a single shared heap, each time a garbage collection phase occurs all threads must be stopped, essentially halting all other processing. Attempts to fix this bottleneck include creating a single heap per thread, however this may not scale to large thread intensive applications. In this paper we explore the potential of clustering threads into related sub-heaps. We hypothesize that this will lead to a smaller shared heap, while maintaining good garbage collection parallelism. We leverage results from software module clustering to achieve this goal. Our results show that we can significantly reduce the number of sub-heaps created and reduce the number of objects in the shared heap in a representative application. This suggests that clustering may be a promising optimization technique for garbage collection in large multi-threaded systems with many shared objects.
引用
收藏
页码:1901 / +
页数:2
相关论文
共 50 条
  • [31] Performance and energy metrics for multi-threaded applications on DVFS processors
    Rauber, Thomas
    Ruenger, Gudula
    Stachowski, Matthias
    SUSTAINABLE COMPUTING-INFORMATICS & SYSTEMS, 2018, 17 : 55 - 68
  • [32] A scalability prediction approach for multi-threaded applications on manycore processors
    Bai, Xiuxiu
    Wang, Endong
    Dong, Xiaoshe
    Zhang, Xingjun
    JOURNAL OF SUPERCOMPUTING, 2015, 71 (11): : 4072 - 4094
  • [33] Fault Detection in Multi-Threaded C++ Server Applications
    Muehlenfeld, Arndt
    Wotawa, Franz
    ELECTRONIC NOTES IN THEORETICAL COMPUTER SCIENCE, 2007, 174 (09) : 5 - 22
  • [34] Multi-Threaded Graph Partitioning
    LaSalle, Dominique
    Karypis, George
    IEEE 27TH INTERNATIONAL PARALLEL AND DISTRIBUTED PROCESSING SYMPOSIUM (IPDPS 2013), 2013, : 225 - 236
  • [35] Feedback-based resource management for multi-threaded applications
    Alessandro V. Papadopoulos
    Kunal Agrawal
    Enrico Bini
    Sanjoy Baruah
    Real-Time Systems, 2023, 59 : 35 - 68
  • [36] Testing Multi-Threaded Applications Using Answer Set Programming
    Xue, Xiaozhen
    Siami-Namini, Sima
    Namin, Akbar Siami
    INTERNATIONAL JOURNAL OF SOFTWARE ENGINEERING AND KNOWLEDGE ENGINEERING, 2018, 28 (08) : 1151 - 1175
  • [37] A multi-threaded asynchronous language
    Paulino, H
    Marques, P
    Lopes, L
    Vasconcelos, V
    Silva, F
    PARALLEL COMPUTING TECHNOLOGIES, PROCEEDINGS, 2003, 2763 : 316 - 323
  • [38] A multi-threaded version of MCFM
    John M. Campbell
    R. Keith Ellis
    Walter T. Giele
    The European Physical Journal C, 2015, 75
  • [39] Multi-Threaded Message Dispatcher Framework for Mission Critical Applications
    Marginean, Marcel-Titus
    Lu, Chao
    2016 IEEE/ACIS 14TH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING RESEARCH, MANAGEMENT AND APPLICATIONS (SERA), 2016, : 83 - 89
  • [40] Performance Analysis of Multi-threaded Applications in NUMA Multicore Processors
    Fang, Juan
    Fan, Qing-Wen
    Hao, Xiao-Ting
    Cai, Min
    Song, Shu-Ying
    Li, Bin
    2015 INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING AND INFORMATION SYSTEM (SEIS 2015), 2015, : 257 - 262