Distributed Garbage Collection

Slides:



Advertisements
Similar presentations
Paging: Design Issues. Readings r Silbershatz et al: ,
Advertisements

(Chapter 5) Deleting Objects
CS 484. Discrete Optimization Problems A discrete optimization problem can be expressed as (S, f) S is the set of all feasible solutions f is the cost.
Silberschatz and Galvin  Operating System Concepts Module 16: Distributed-System Structures Network-Operating Systems Distributed-Operating.
Distributed System Structures Network Operating Systems –provide an environment where users can access remote resources through remote login or file transfer.
Garbage Collection What is garbage and how can we deal with it?
Garbage Collecting the World Bernard Lang Christian Queinnec Jose Piquer Presented by Yu-Jin Chia See also: pp text.
Garbage Collecting the World. --Bernard Lang, Christian and Jose Presented by Shikha Khanna coen 317 Date – May25’ 2005.
Increasing Memory Usage in Real-Time GC Tobias Ritzau and Peter Fritzson Department of Computer and Information Science Linköpings universitet
Network Operating Systems Users are aware of multiplicity of machines. Access to resources of various machines is done explicitly by: –Logging into the.
Inter Process Communication:  It is an essential aspect of process management. By allowing processes to communicate with each other: 1.We can synchronize.
16: Distributed Systems1 DISTRIBUTED SYSTEM STRUCTURES NETWORK OPERATING SYSTEMS The users are aware of the physical structure of the network. Each site.
PRASHANTHI NARAYAN NETTEM.
UniProcessor Garbage Collection Techniques Paul R. Wilson University of Texas Presented By Naomi Sapir Tel-Aviv University.
Chapter 3.5 Memory and I/O Systems. 2 Memory Management Memory problems are one of the leading causes of bugs in programs (60-80%) MUCH worse in languages.
Computing Infrastructure for Large Ecommerce Systems -- based on material written by Jacob Lindeman.
UniProcessor Garbage Collection Techniques Paul R. Wilson University of Texas Presented By Naomi Sapir Tel-Aviv University.
More Distributed Garbage Collection DC4 Reference Listing Distributed Mark and Sweep Tracing in Groups.
Lecture 4 Mechanisms & Kernel for NOSs. Mechanisms for Network Operating Systems  Network operating systems provide three basic mechanisms that support.
® July 21, 2004GC Summer School1 Cycles to Recycle: Copy GC Without Stopping the World The Sapphire Collector Richard L. Hudson J. Eliot B. Moss Originally.
Parallel Computation of Skyline Queries Verification COSC6490A Fall 2007 Slawomir Kmiec.
Operating Systems Distributed-System Structures. Topics –Network-Operating Systems –Distributed-Operating Systems –Remote Services –Robustness –Design.
Garbage Collecting the World Presentation: Mark Mastroieni Authors: Bernard Lang, Christian Queinne, Jose Piquer.
Multiprogramming. Readings r Chapter 2.1 of the textbook.
Remote Backup Systems.
Garbage Collection What is garbage and how can we deal with it?
Core Java Garbage Collection LEVEL – PRACTITIONER.
Chapter 3: Process Concept
Distributed Shared Memory
Definition of Distributed System
The University of Adelaide, School of Computer Science
Processes Overview: Process Concept Process Scheduling
Chapter 3: Process Concept
Software Engineering Introduction to Apache Hadoop Map Reduce
#01 Client/Server Computing
Chapter 16: Distributed System Structures
Routing.
Advanced Operating Systems
Lecture 2: Processes Part 1
CSE 451: Operating Systems Winter 2006 Module 20 Remote Procedure Call (RPC) Ed Lazowska Allen Center
Application layer Lecture 7.
Chapter 17: Database System Architectures
Outline Midterm results summary Distributed file systems – continued
Process-to-Process Delivery:
CSE 451: Operating Systems Autumn 2003 Lecture 16 RPC
CSE 451: Operating Systems Winter 2007 Module 20 Remote Procedure Call (RPC) Ed Lazowska Allen Center
Operating System Concepts
Background and Motivation
User-level Distributed Shared Memory
CSE 451: Operating Systems Winter 2004 Module 19 Remote Procedure Call (RPC) Ed Lazowska Allen Center
CSE 451: Operating Systems Spring 2012 Module 22 Remote Procedure Call (RPC) Ed Lazowska Allen Center
CSE 451: Operating Systems Autumn 2009 Module 21 Remote Procedure Call (RPC) Ed Lazowska Allen Center
EECE.4810/EECE.5730 Operating Systems
The University of Adelaide, School of Computer Science
CSE 451: Operating Systems Autumn 2010 Module 21 Remote Procedure Call (RPC) Ed Lazowska Allen Center
CSE 451: Operating Systems Winter 2003 Lecture 16 RPC
Routing.
The University of Adelaide, School of Computer Science
Remote Backup Systems.
Last Class: Communication in Distributed Systems
An Implementation of User-level Distributed Shared Memory
Chapter 6 – Distributed Processing and File Systems
Performance Evaluation of a Communication Round over the Internet
CSE 451: Operating Systems Messaging and Remote Procedure Call (RPC)
Exceptions and networking
#01 Client/Server Computing
Garbage Collection What is garbage and how can we deal with it?
Evaluating the Running Time of a Communication Round over the Internet
Presentation transcript:

Distributed Garbage Collection An Overview Presented by Dotan Adler Copyright, 1996 © Dale Carnegie & Associates, Inc.

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

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

The Distributed Computing Model A Distributed System is a set of Autonomous systems connected by a network. ז'/כסלו/תשע"ט Distributed Garbage Collection

The Classical GC Problem ז'/כסלו/תשע"ט Distributed Garbage Collection

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

Distributed Garbage Collection ז'/כסלו/תשע"ט Distributed Garbage Collection

Distributed Garbage Collection Because there is no global address space, references to remote cells are necessarily indirect ז'/כסלו/תשע"ט Distributed Garbage Collection

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

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

Distributed Garbage Collection Reference Counting Every object has a reference count Inc(@a) message increases a’s count Dec(@a) 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

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

Reference Counting (Cont’d) Solution : When A duplicates @b, 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 use @b until it get ack(@b) ז'/כסלו/תשע"ט Distributed Garbage Collection

Reference Counting (Cont’d) Problems Does not destroy inter-site cyclic references Relies on blocking of operations ז'/כסלו/תשע"ט Distributed Garbage Collection

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

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

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

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

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

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

Future Directions of research Use some hybrid methods (Direct & Indirect) Try to create a framework for testing Distributed GC algorithms ז'/כסלו/תשע"ט Distributed Garbage Collection

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

Distributed Garbage Collection The End ז'/כסלו/תשע"ט Distributed Garbage Collection