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 条
  • [1] INCREMENTAL MULTI-THREADED GARBAGE COLLECTION ON VIRTUALLY SHARED-MEMORY ARCHITECTURES
    LESERGENT, T
    BERTHOMIEU, B
    LECTURE NOTES IN COMPUTER SCIENCE, 1992, 637 : 179 - 199
  • [2] A Framework for Systematic Testing of Multi-threaded Applications
    Florian, Mihai
    2011 IEEE 17TH PACIFIC RIM INTERNATIONAL SYMPOSIUM ON DEPENDABLE COMPUTING (PRDC), 2011, : 278 - 279
  • [3] Analysing Dataflow Multi-Threaded Applications at Runtime
    Mazumdar, Somnath
    Scionti, Alberto
    2017 7TH IEEE INTERNATIONAL ADVANCE COMPUTING CONFERENCE (IACC), 2017, : 744 - 749
  • [4] A SIMT Analyzer for Multi-Threaded CPU Applications
    Alawneh, Ahmad
    Khairy, Mahmoud
    Rogers, Timothy G.
    2022 IEEE INTERNATIONAL SYMPOSIUM ON PERFORMANCE ANALYSIS OF SYSTEMS AND SOFTWARE (ISPASS 2022), 2022, : 248 - 250
  • [5] BarrierPoint: Sampled Simulation of Multi-Threaded Applications
    Carlson, Trevor E.
    Heirman, Wim
    Van Craeynest, Kenzo
    Eeckhout, Lieven
    2014 IEEE INTERNATIONAL SYMPOSIUM ON PERFORMANCE ANALYSIS OF SYSTEMS AND SOFTWARE (ISPASS), 2014, : 2 - 12
  • [6] Estimating Computational Requirements in Multi-Threaded Applications
    Perez, Juan F.
    Casale, Giuliano
    Pacheco-Sanchez, Sergio
    IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 2015, 41 (03) : 264 - 278
  • [7] Workshop on Multi-Threaded Architectures and Applications - MTAAP
    DeRose, Luiz
    2012 IEEE 26TH INTERNATIONAL PARALLEL AND DISTRIBUTED PROCESSING SYMPOSIUM WORKSHOPS & PHD FORUM (IPDPSW), 2012, : 1571 - 1571
  • [8] NVthreads: Practical Persistence for Multi-threaded Applications
    Hsu, Terry Ching-Hsiang
    Bruegner, Helge
    Roy, Indrajit
    Keeton, Kimberly
    Eugster, Patrick
    PROCEEDINGS OF THE TWELFTH EUROPEAN CONFERENCE ON COMPUTER SYSTEMS (EUROSYS 2017), 2017, : 468 - 482
  • [9] Classifying Performance Bottlenecks in Multi-Threaded Applications
    Dutta, Sourav
    Manakkadu, Sheheeda
    Kagaris, Dimitri
    2014 IEEE 8TH INTERNATIONAL SYMPOSIUM ON EMBEDDED MULTICORE/MANYCORE SOCS (MCSOC), 2014, : 341 - 345
  • [10] Workshop on multi-threaded architectures and applications - MTAAP
    IPDPS 2009 - Proceedings of the 2009 IEEE International Parallel and Distributed Processing Symposium, 2009,