• Keine Ergebnisse gefunden

Distributed Garbage Collection Algorithms

N/A
N/A
Protected

Academic year: 2022

Aktie "Distributed Garbage Collection Algorithms"

Copied!
33
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Distributed Garbage Collection Algorithms

stefan brunthaler

(2)

Overview

• Brief Introduction

• Reference Counting

• Weighted Reference Counting

• Indirect Reference Counting

• Mark & Sweep

• Marktree

• Tracing with timestamps

• Stop & Copy

(3)

Introduction – 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.”

--Colouris, 2001

(4)

Introduction – 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

(5)

A distributed system:

Introduction – Nomenclature

A B C

(6)

local objects:

Introduction – Nomenclature

A B C

(7)

global objects:

Introduction – Nomenclature

A B C

(8)

export record:

Introduction – Nomenclature

A B C

(9)

import record:

Introduction – Nomenclature

A B C

(10)

intrasite references:

Introduction – Nomenclature

A B C

(11)

intersite references:

Introduction – Nomenclature

A B C

(12)

problems: latency

Introduction – Networking

A B

C

(13)

problems: non-causality

Introduction – Networking

A B

C

(14)

Reference Counting

• Reference Counting

• Weighted Reference Counting

• Indirect Reference Counting

(15)

Weighted Reference Counting

• proposed independently by [Watson and Watson, 1987], and [Bevan, 1987]

(16)

Weighted Reference Counting

Where are we?

A B C

(17)

Weighted Reference Counting

Memory cell layout

count weight ref

(18)

Weighted Reference Counting

Algorithm

128

1286464 3232 96

(19)

Weighted Reference Counting

Algorithm

1

1 128 1

1286464

(20)

Weighted Reference Counting

Domino effect [Rudalics, 1990]

A B C

1

(21)

Weighted Reference Counting

pros:

• no race conditions (latency) cons:

• susceptible to unreliable messaging

• duplicated messages,

• message failures.

(22)

Indirect Reference Counting

• proposed by [Ichisugi and Yonezawa,

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

(23)

Indirect Reference Counting

Where are we?

A B C

(24)

Indirect Reference Counting

Memory cell layout

copies parent ref

(25)

Indirect Reference Counting

Algorithm

A B C

(26)

Indirect Reference Counting

inverted diffusion tree

2

2 1

0 0 0

1 0

1

(27)

Mark & Sweep

• Mark & Sweep

• Marktree

• Tracing with timestamps

(28)

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.

(29)

Marktree

(30)

Tracing with timestamps

• based on Hughes, 1985

(31)

Tracing with timestamps

Algorithm

A m&s B m&s C m&s

(32)

Stop & Copy

• based on Rudalics, 1986

rootspace fromspace tospace

(33)

Danke für Eure Aufmerksamkeit

Fragen?

Referenzen

ÄHNLICHE DOKUMENTE

Simulation is required in order to understand the functioning of quantum algorithms, to construct novel quan- tum algorithms, to write quantum programs, to teach quantum computing,

• garbage collection: Speicherplatz nicht mehr referenzierter Objekte wird wieder freigegeben!. beachte: unreferenziertes Objekt kann (eigentich) nicht mehr referenziert werden; in

 von Wurzelzeiger: in den letzten Waggon des letzten Zugs (nicht erster Zug), wenn voll -> neuer Zug.  von einem Waggon des Zugs z: in den letzten Waggon des Zugs z, wenn

Das Reference Counting ist das älteste Verfahren und ich möchte es nur der Vollständigkeit halber kurz erwähnen, da es nur mehr in Spezialfällen verwendet wird. In Java wird nicht

 Objekte im F-reachable Queue können noch NICHT freigegeben werden, da erst ihre Finalize-Methode aufgerufen werden muß..

Wenn die Verzögerung, die durch große Objekte verursacht wird, zu kostspielig ist, können diese Objekte einfach in einen separaten Bereich im Heap gespeichert

 Objekte so anlegen, dass blacklisted Referenz nicht in das Objekt zeigt (interior pointers...).  Erste Collection bevor Speicher

Außerdem kann eine Softwarevariante, die als Standard einen generationellen Collector verwendet leicht so angepasst werden, dass der Collector der alten Generation