33
Distributed Garbage Collection Algorithms stefan brunthaler

Distributed Garbage Collection Algorithms stefan brunthaler

Embed Size (px)

Citation preview

Distributed Garbage Collection Algorithms

stefan brunthaler

Overview• Brief Introduction• Reference Counting

• Weighted Reference Counting• Indirect Reference Counting

• Mark & Sweep• Marktree• Tracing with timestamps

• Stop & Copy

Introduction – Definitions, 1What 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.”

--Colouris, 2001

Introduction – Definitions, 2What 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

A distributed system:

Introduction – Nomenclature

A B C

local objects:

Introduction – Nomenclature

A B C

global objects:

Introduction – Nomenclature

A B C

export record:

Introduction – Nomenclature

A B C

import record:

Introduction – Nomenclature

A B C

intrasite references:

Introduction – Nomenclature

A B C

intersite references:

Introduction – Nomenclature

A B C

problems: latency

Introduction – Networking

A

B

C

problems: non-causality

Introduction – Networking

A

B

C

Reference Counting• Reference Counting

• Weighted Reference Counting• Indirect Reference Counting

Weighted Reference Counting• proposed independently by [Watson

and Watson, 1987], and [Bevan, 1987]

Weighted Reference CountingWhere are we?

A B C

Weighted Reference CountingMemory cell layout

count weight ref

Weighted Reference CountingAlgorithm

128

1286464 3232

96

Weighted Reference CountingAlgorithm

1

1128 1

1286464

Weighted Reference CountingDomino effect [Rudalics, 1990]

A B C

1

Weighted Reference Countingpros:• no race conditions (latency)

cons:• susceptible to unreliable messaging

• duplicated messages, • message failures.

Indirect Reference Counting• proposed by [Ichisugi and

Yonezawa, 1990], [Rudalics, 1990], and [Piquer, 1991]

Indirect Reference CountingWhere are we?

A B C

Indirect Reference CountingMemory cell layout

copies parent ref

Indirect Reference CountingAlgorithm

A B C

Indirect Reference Countinginverted diffusion tree

2

2 1

0 0 0

1 0

1

Mark & Sweep• Mark & Sweep

• Marktree• Tracing with timestamps

Marktree• 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.

Marktree

Tracing with timestamps• based on Hughes, 1985

Tracing with timestampsAlgorithm

A B Cm&s m&s m&s

Stop & Copy• based on Rudalics, 1986

rootspace fromspace tospace

Danke für Eure Aufmerksamkeit

Fragen?