Distributed Garbage Collection Algorithms stefan brunthaler.

33
Distributed Garbage Collection Algorithms stefan brunthaler

Transcript of Distributed Garbage Collection Algorithms stefan brunthaler.

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?