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 条
  • [21] An Offline Demand Estimation Method for Multi-Threaded Applications
    Perez, Juan F.
    Pacheco-Sanchez, Sergio
    Casale, Giuliano
    2013 IEEE 21ST INTERNATIONAL SYMPOSIUM ON MODELING, ANALYSIS & SIMULATION OF COMPUTER AND TELECOMMUNICATION SYSTEMS (MASCOTS 2013), 2013, : 21 - +
  • [22] Workshop on multi-threaded architectures and applications-MTAAP
    Derose, Luiz, 1600, IEEE Computer Society
  • [23] Bandwidth based performance optimization of Multi-threaded applications
    Manakkadu, Sheheeda
    Dutta, Sourav
    2014 SIXTH INTERNATIONAL SYMPOSIUM ON PARALLEL ARCHITECTURES, ALGORITHMS AND PROGRAMMING (PAAP), 2014, : 118 - 122
  • [24] Performance Evaluation of Virtualization Tools in Multi-Threaded Applications
    Sabolski, Ivan
    Leventic, Hrvoje
    Galic, Irena
    INTERNATIONAL JOURNAL OF ELECTRICAL AND COMPUTER ENGINEERING SYSTEMS, 2014, 5 (02) : 57 - 62
  • [25] Decoupling contention with VRB mechanism for multi-threaded applications
    Gao, Ke
    Fan, Dongrui
    Liu, Zhiyong
    Jisuanji Yanjiu yu Fazhan/Computer Research and Development, 2015, 52 (11): : 2577 - 2588
  • [26] Multi-Threaded Parallel I/O for OpenMP Applications
    Mehta, Kshitij
    Gabriel, Edgar
    INTERNATIONAL JOURNAL OF PARALLEL PROGRAMMING, 2015, 43 (02) : 286 - 309
  • [27] HEAP GARBAGE COLLECTION WITH REFERENCE COUNTING
    Yang, Wuu
    Tseng, Huei-Ru
    Jan, Rong-Hong
    ICSOFT 2010: PROCEEDINGS OF THE FIFTH INTERNATIONAL CONFERENCE ON SOFTWARE AND DATA TECHNOLOGIES, VOL 2, 2010, : 267 - 270
  • [28] Multi-threaded modularity based graph clustering using the multilevel paradigm
    LaSalle, Dominique
    Karypis, George
    JOURNAL OF PARALLEL AND DISTRIBUTED COMPUTING, 2015, 76 : 66 - 80
  • [29] An efficient multi-level trace toolkit for multi-threaded applications
    Danjean, V
    Namyst, R
    Wacrenier, PA
    EURO-PAR 2005 PARALLEL PROCESSING, PROCEEDINGS, 2005, 3648 : 166 - 175
  • [30] Multi-Threaded Hierarchical Clustering by Parallel Nearest-Neighbor Chaining
    Jeon, Yongkweon
    Yoon, Sungroh
    IEEE TRANSACTIONS ON PARALLEL AND DISTRIBUTED SYSTEMS, 2015, 26 (09) : 2534 - 2548