Title: Distributed Garbage Collection Algorithms
1Distributed Garbage Collection Algorithms
stefan brunthaler
2Overview
- Brief Introduction
- Reference Counting
- Weighted Reference Counting
- Indirect Reference Counting
- Mark Sweep
- Marktree
- Tracing with timestamps
- Stop Copy
3Introduction Definitions, 1
What is a distributed system? A system in
which hardware or software components located at
networked computers communicate and coordinate
their actions only by message passing. --Colour
is, 2001
4Introduction Definitions, 2
What is a distributed system? A distributed
system is a collection of independent computers
that appear to the users of the system as a
single computer. --Tanenbaum, 1994
5Introduction Nomenclature
A distributed system
A
B
C
6Introduction Nomenclature
local objects
A
B
C
7Introduction Nomenclature
global objects
A
B
C
8Introduction Nomenclature
export record
A
B
C
9Introduction Nomenclature
import record
A
B
C
10Introduction Nomenclature
intrasite references
A
B
C
11Introduction Nomenclature
intersite references
A
B
C
12Introduction Networking
problems latency
A
B
C
13Introduction Networking
problems non-causality
A
B
C
14Reference Counting
- Reference Counting
- Weighted Reference Counting
- Indirect Reference Counting
15Weighted Reference Counting
- proposed independently by Watson and Watson,
1987, and Bevan, 1987
16Weighted Reference Counting
Where are we?
A
B
C
17Weighted Reference Counting
Memory cell layout
count
weight
ref
18Weighted Reference Counting
Algorithm
19Weighted Reference Counting
Algorithm
20Weighted Reference Counting
Domino effect Rudalics, 1990
A
B
C
1
21Weighted Reference Counting
- pros
- no race conditions (latency)
- cons
- susceptible to unreliable messaging
- duplicated messages,
- message failures.
22Indirect Reference Counting
- proposed by Ichisugi and Yonezawa, 1990,
Rudalics, 1990, and Piquer, 1991
23Indirect Reference Counting
Where are we?
A
B
C
24Indirect Reference Counting
Memory cell layout
copies
parent
ref
25Indirect Reference Counting
Algorithm
A
B
C
26Indirect Reference Counting
inverted diffusion tree
2
1
2
1
0
0
27Mark Sweep
- Mark Sweep
- Marktree
- Tracing with timestamps
28Marktree
- after Hudak and Keller, 1982,
- based on on-the-fly garbage collector as proposed
by Dijkstra et al., 1978, - instead of recursion uses mark tasks,
- back propagation using uptree tasks,
- tricolor scheme.
29Marktree
30Tracing with timestamps
31Tracing with timestamps
Algorithm
ms
ms
ms
A
B
C
32Stop Copy
rootspace
fromspace
tospace
33Danke für Eure Aufmerksamkeit
Fragen?