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 条
  • [41] Feedback-based resource management for multi-threaded applications
    Papadopoulos, Alessandro, V
    Agrawal, Kunal
    Bini, Enrico
    Baruah, Sanjoy
    REAL-TIME SYSTEMS, 2023, 59 (01) : 35 - 68
  • [42] Bottle Graphs: Visualizing Scalability Bottlenecks in Multi-Threaded Applications
    Du Bois, Kristof
    Sartor, Jennifer B.
    Eyerman, Stijn
    Eeckhout, Lieven
    ACM SIGPLAN NOTICES, 2013, 48 (10) : 355 - 371
  • [43] A multi-threaded version of MCFM
    Campbell, John M.
    Ellis, R. Keith
    Giele, Walter T.
    EUROPEAN PHYSICAL JOURNAL C, 2015, 75 (06):
  • [44] Multi-threaded Active Objects
    Henrio, Ludovic
    Huet, Fabrice
    Istvan, Zsolt
    COORDINATION MODELS AND LANGUAGES, COORDINATION 2013, 2013, 7890 : 90 - 104
  • [45] A scalability prediction approach for multi-threaded applications on manycore processors
    Xiuxiu Bai
    Endong Wang
    Xiaoshe Dong
    Xingjun Zhang
    The Journal of Supercomputing, 2015, 71 : 4072 - 4094
  • [46] Finding Complex Concurrency Bugs in Large Multi-Threaded Applications
    Fonseca, Pedro
    Li, Cheng
    Rodrigues, Rodrigo
    EUROSYS 11: PROCEEDINGS OF THE EUROSYS 2011 CONFERENCE, 2011, : 215 - 228
  • [47] Multi-threaded Object Streaming
    Di Guida, Salvatore
    Govi, Giacomo
    Ojeda, Miguel
    Pfeiffer, Andreas
    Sipos, Roland
    21ST INTERNATIONAL CONFERENCE ON COMPUTING IN HIGH ENERGY AND NUCLEAR PHYSICS (CHEP2015), PARTS 1-9, 2015, 664
  • [48] Toward a multi-threaded glish
    Schiebel, DR
    ASTRONOMICAL DATA ANALYSIS SOFTWARE AND SYSTEMS XI, 2002, 281 : 164 - 168
  • [49] Improved MPI Multi-threaded performance using OFI Scalable Endpoints
    Gopalakrishnan, Aravind
    Cabral, Matias A.
    Erwin, James P.
    Ganapathi, Ravindra Babu
    2019 IEEE SYMPOSIUM ON HIGH-PERFORMANCE INTERCONNECTS (HOTI 2019), 2019, : 36 - 39
  • [50] Partitioned garbage collection of a large stable heap
    Liskov, B
    Maheshwari, U
    Ng, T
    PROCEEDINGS OF THE FIFTH INTERNATIONAL WORKSHOP ON OBJECT-ORIENTATION IN OPERATING SYSTEMS, 1996, : 117 - 121