Download presentation
Presentation is loading. Please wait.
1
Distributed Garbage Collection
An Overview Presented by Dotan Adler Copyright, 1996 © Dale Carnegie & Associates, Inc.
2
Representation Outline
Present the need for Distributed GC Present the Distributed Model Present the problem of Distributed GC Present some outlines of solutions to the problem (one Direct, and two Indirect) Conclusion ז'/כסלו/תשע"ט Distributed Garbage Collection
3
The need for a Distributed GC
Where do we need Distributed GC ? Distributed applications (DCOM, CORBA, etc ..) Internet applications (Java extensions) Distributed file servers HTML pages & links ז'/כסלו/תשע"ט Distributed Garbage Collection
4
The Distributed Computing Model
A Distributed System is a set of Autonomous systems connected by a network. ז'/כסלו/תשע"ט Distributed Garbage Collection
5
The Classical GC Problem
ז'/כסלו/תשע"ט Distributed Garbage Collection
6
Distributed Garbage Collection
Each computer in a distributed system has : A local store (memory or disk) A stack Local running programs (or RPCs) A GC algorithm (a part of a global GC algorithm) Each computer has access only to local store Access to remote store is achieved by message passing ז'/כסלו/תשע"ט Distributed Garbage Collection
7
Distributed Garbage Collection
ז'/כסלו/תשע"ט Distributed Garbage Collection
8
Distributed Garbage Collection
Because there is no global address space, references to remote cells are necessarily indirect ז'/כסלו/תשע"ט Distributed Garbage Collection
9
Problems With Distributed GC
Unreliability (Relaxed) Duplications of messages Out of order delivery Communication fail Latency - the elapsed time between the issue of a task and when it is executed is undeterministic Synchronization - it takes a lot of resources to synchronize all computers in a network ז'/כסלו/תשע"ט Distributed Garbage Collection
10
Distributed Garbage Collection
Direct Approach Direct approach means to identify the garbage and mark it, so that it could be removed Reference counting is a direct GC approach since it marks garbage with count equals to 0 ז'/כסלו/תשע"ט Distributed Garbage Collection
11
Distributed Garbage Collection
Reference Counting Every object has a reference count message increases a’s count decreases the count “Inc”, and “Dec” messages are sent to the CPU which hosts the object Deletion occurs when reference equals 0 ז'/כסלו/תשע"ט Distributed Garbage Collection
12
Reference Counting (Cont’d)
Problem : If A or C were responsible for incrementing b’s count, then latency is an important factor ז'/כסלו/תשע"ט Distributed Garbage Collection
13
Reference Counting (Cont’d)
Solution : When A it first sends an ack-request to B and a copy message to C B will not accept any request after it gets an ack_req until it sends an ack to C C will not until it get ז'/כסלו/תשע"ט Distributed Garbage Collection
14
Reference Counting (Cont’d)
Problems Does not destroy inter-site cyclic references Relies on blocking of operations ז'/כסלו/תשע"ט Distributed Garbage Collection
15
Distributed Garbage Collection
Indirect Approach Indirect approach means to identify all the live objects first, and then reclaim all space not used by “live” objects Examples of indirect GC algorithms : Mark-scan Generation scavenging Dijkstra’s 3-color algorithm ז'/כסלו/תשע"ט Distributed Garbage Collection
16
Centralized Indirect Solution
Let every site run a GC locally on it’s private memory. RCT = remote cell table ERT = exit reference table ז'/כסלו/תשע"ט Distributed Garbage Collection
17
Centralized Indirect Solution (Cont)
Still we have problems with inter-site cycles. For this we add a centralized service : Whenever a local site finishes it’s GC it sends a list of RCT to ERT paths, which are inaccessible from the roots to the centralized service. The centralized service can then find dead inter-site cycles, and report them to the sites. ז'/כסלו/תשע"ט Distributed Garbage Collection
18
Distributed Garbage Collection
Cell Migration We can solve the inter-site cycles problem by migrating cells, so that inter-site cycles become local cycles. We need to define an order, among the sites, so that we won’t get a cyclic migration. This way a cell migrates only to an inferior site. ז'/כסלו/תשע"ט Distributed Garbage Collection
19
Distributed Garbage Collection
Cell Migration Problems: Copy operations could be very slow - especially when working with big networks, and big data structures An order between sites must be set prior to the running of the algorithm ז'/כסלו/תשע"ט Distributed Garbage Collection
20
Distributed Garbage Collection
Empirical Results Little work has been done in the field of DGC because it is hard to compare the execution of two distributed systems. (delay times, synchronization, etc …) Tests, however, show that Direct methods give better pause times than Indirect methods. ז'/כסלו/תשע"ט Distributed Garbage Collection
21
Future Directions of research
Use some hybrid methods (Direct & Indirect) Try to create a framework for testing Distributed GC algorithms ז'/כסלו/תשע"ט Distributed Garbage Collection
22
Distributed Garbage Collection
Conclusions Distributed GC adds a new dimesion to old-style GC. It adds the dimension of asynchronity & latency. Alltought standard GCs suffer from the same problems (memory leaks, pause time), creating a robust DGC is much more complicated. ז'/כסלו/תשע"ט Distributed Garbage Collection
23
Distributed Garbage Collection
The End ז'/כסלו/תשע"ט Distributed Garbage Collection
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.