Efficient Surrogate Reference Counting for Distributed Garbage Collection

碩士 === 國立東華大學 === 資訊工程學系 === 103 === In this thesis, we focus on the research in distributed garbage collection (DGC). The algorithms of DGC usually fall into two categories: tracing and reference counting. In tracing algorithms, all the live objects can be traced from the root objects. When the sys...

Full description

Bibliographic Details
Main Authors: Chung-Lun Yang, 楊忠倫
Other Authors: Chung Yung
Format: Others
Published: 2015
Online Access:http://ndltd.ncl.edu.tw/handle/02291903850922467294
id ndltd-TW-103NDHU5392051
record_format oai_dc
spelling ndltd-TW-103NDHU53920512016-07-31T04:22:24Z http://ndltd.ncl.edu.tw/handle/02291903850922467294 Efficient Surrogate Reference Counting for Distributed Garbage Collection 以高效的代理計數參照為基礎之分散式自動記憶體管理機制 Chung-Lun Yang 楊忠倫 碩士 國立東華大學 資訊工程學系 103 In this thesis, we focus on the research in distributed garbage collection (DGC). The algorithms of DGC usually fall into two categories: tracing and reference counting. In tracing algorithms, all the live objects can be traced from the root objects. When the system begins to reclaim memory, the whole system has to suspend for reclaiming unlabeled objects. In reference counting algorithms, a counter is used for each object to record the number of references to the object. When the counter becomes zero, the object is reclaimed. In distributed environments, reference counting algorithms usually perform in small steps interleaved with computation and have better locality, and therefore we think that reference counting algorithms have more advantages than tracing algorithms in distributed environments. Among others, there are two reference counting algorithms popularly used for DGC. Distributed reference counting (DRC) is a straightforward extension of traditional reference counting. Weighted reference counting (WRC) reduces the cost of communications but increases the cost of memory space. The idea of surrogates has shown to be a practical method to improve v the efficiency of reference counting DGC algorithms. There are two surrogate based DGC algorithms already developed: surrogate reference counting (SRC) and weighted surrogate reference counting (WSRC). We further extend the two algorithms and propose a new DGC algorithm called Efficient Surrogate Reference Counting (ESRC), which is designed to combine the advantages of surrogate reference counting and weighted surrogate reference counting. This new and improved algorithm uses less memory space than WSRC and reduces the number of connections from SRC in a distributed environment. For experiments, we implement five reference counting DGC algorithms in OpenJDK using RMI packages. In the experiments, the new ESRC garbage collector requires less communications than DRC, WRC, and SRC. In most cases, the ESRC algorithm requires the same number of connections as WSRC, but it reduces the memory space used. The benchmarks we used for experiments are selected from the NAS Parallel Benchmarks (NPB), which are a set of benchmarks for evaluating performance of parallel computers. In the NPB 3.0 benchmarks, we selected five sets for our experiments, which are SP, FT, BT, LU, MG, and ED. In comparison with DRC, our algorithm, in average, reducesthe overall consumed time by 19.03% , reduces the garbage collection time by 96.43% , and reduces the total execution time by 23.8% . In comparison with WRC, our algorithm, in average, reduces the overall consumed time by 12.16% , reduces the garbage collection time by 95.71% , and reduces the total execution time by 13.40% . In comparison with SRC, our algorithm, in average, reduces the overall consumed time by 7% , reduces vi the garbage collection time by 94.20% , and reduces the total execution time by 3.8% . In comparison with WSRC, our algorithm, in average, reduces the overall consumed time by 9.6% , reduces the garbage collection time by 47.4% , and reduces the total execution time by 5.6% . Chung Yung 雍忠 2015 學位論文 ; thesis 86
collection NDLTD
format Others
sources NDLTD
description 碩士 === 國立東華大學 === 資訊工程學系 === 103 === In this thesis, we focus on the research in distributed garbage collection (DGC). The algorithms of DGC usually fall into two categories: tracing and reference counting. In tracing algorithms, all the live objects can be traced from the root objects. When the system begins to reclaim memory, the whole system has to suspend for reclaiming unlabeled objects. In reference counting algorithms, a counter is used for each object to record the number of references to the object. When the counter becomes zero, the object is reclaimed. In distributed environments, reference counting algorithms usually perform in small steps interleaved with computation and have better locality, and therefore we think that reference counting algorithms have more advantages than tracing algorithms in distributed environments. Among others, there are two reference counting algorithms popularly used for DGC. Distributed reference counting (DRC) is a straightforward extension of traditional reference counting. Weighted reference counting (WRC) reduces the cost of communications but increases the cost of memory space. The idea of surrogates has shown to be a practical method to improve v the efficiency of reference counting DGC algorithms. There are two surrogate based DGC algorithms already developed: surrogate reference counting (SRC) and weighted surrogate reference counting (WSRC). We further extend the two algorithms and propose a new DGC algorithm called Efficient Surrogate Reference Counting (ESRC), which is designed to combine the advantages of surrogate reference counting and weighted surrogate reference counting. This new and improved algorithm uses less memory space than WSRC and reduces the number of connections from SRC in a distributed environment. For experiments, we implement five reference counting DGC algorithms in OpenJDK using RMI packages. In the experiments, the new ESRC garbage collector requires less communications than DRC, WRC, and SRC. In most cases, the ESRC algorithm requires the same number of connections as WSRC, but it reduces the memory space used. The benchmarks we used for experiments are selected from the NAS Parallel Benchmarks (NPB), which are a set of benchmarks for evaluating performance of parallel computers. In the NPB 3.0 benchmarks, we selected five sets for our experiments, which are SP, FT, BT, LU, MG, and ED. In comparison with DRC, our algorithm, in average, reducesthe overall consumed time by 19.03% , reduces the garbage collection time by 96.43% , and reduces the total execution time by 23.8% . In comparison with WRC, our algorithm, in average, reduces the overall consumed time by 12.16% , reduces the garbage collection time by 95.71% , and reduces the total execution time by 13.40% . In comparison with SRC, our algorithm, in average, reduces the overall consumed time by 7% , reduces vi the garbage collection time by 94.20% , and reduces the total execution time by 3.8% . In comparison with WSRC, our algorithm, in average, reduces the overall consumed time by 9.6% , reduces the garbage collection time by 47.4% , and reduces the total execution time by 5.6% .
author2 Chung Yung
author_facet Chung Yung
Chung-Lun Yang
楊忠倫
author Chung-Lun Yang
楊忠倫
spellingShingle Chung-Lun Yang
楊忠倫
Efficient Surrogate Reference Counting for Distributed Garbage Collection
author_sort Chung-Lun Yang
title Efficient Surrogate Reference Counting for Distributed Garbage Collection
title_short Efficient Surrogate Reference Counting for Distributed Garbage Collection
title_full Efficient Surrogate Reference Counting for Distributed Garbage Collection
title_fullStr Efficient Surrogate Reference Counting for Distributed Garbage Collection
title_full_unstemmed Efficient Surrogate Reference Counting for Distributed Garbage Collection
title_sort efficient surrogate reference counting for distributed garbage collection
publishDate 2015
url http://ndltd.ncl.edu.tw/handle/02291903850922467294
work_keys_str_mv AT chunglunyang efficientsurrogatereferencecountingfordistributedgarbagecollection
AT yángzhōnglún efficientsurrogatereferencecountingfordistributedgarbagecollection
AT chunglunyang yǐgāoxiàodedàilǐjìshùcānzhàowèijīchǔzhīfēnsànshìzìdòngjìyìtǐguǎnlǐjīzhì
AT yángzhōnglún yǐgāoxiàodedàilǐjìshùcānzhàowèijīchǔzhīfēnsànshìzìdòngjìyìtǐguǎnlǐjīzhì
_version_ 1718367077611339776