340 likes | 362 Views
Explore reference counting, weighted reference counting, indirect reference counting, mark & sweep, marktree, and tracing with timestamps in distributed systems. Gain insights into various memory cell layouts, algorithms, and pros and cons of each approach.
E N D
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, 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
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
Introduction – Nomenclature A distributed system: A B C
Introduction – Nomenclature local objects: A B C
Introduction – Nomenclature global objects: A B C
Introduction – Nomenclature export record: A B C
Introduction – Nomenclature import record: A B C
Introduction – Nomenclature intrasite references: A B C
Introduction – Nomenclature intersite references: A B C
Introduction – Networking problems: latency A B C
Introduction – Networking problems: non-causality 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 Counting Where are we? A B C
Weighted Reference Counting Memory cell layout count weight ref
128 96 128 64 64 32 32 Weighted Reference Counting Algorithm
1 1 128 1 128 64 64 Weighted Reference Counting Algorithm
Weighted Reference Counting Domino effect [Rudalics, 1990] A B C 1
Weighted Reference Counting • pros: • 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 Counting Where are we? A B C
Indirect Reference Counting Memory cell layout copies parent ref
Indirect Reference Counting Algorithm A B C
1 0 0 Indirect Reference Counting inverted diffusion tree 2 1 2 1 0 0
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.
Tracing with timestamps • based on Hughes, 1985
Tracing with timestamps Algorithm m&s m&s m&s A B C
Stop & Copy • based on Rudalics, 1986 rootspace fromspace tospace
Danke für Eure Aufmerksamkeit • Fragen?