The Chubby Lock Service for Distributed Systems

Size: px
Start display at page:

Download "The Chubby Lock Service for Distributed Systems"

Transcription

1 The Chubby Lock Service for Distributed Systems Xiuwen Yang School of Informatics and Computing Indiana University Bloomington 3209 East 10 th Street ABSTRACT In this paper, we describe the design, use as well as the design error of Chubby locking service. KEYWORDS Paxos, consensus, distributed, Chubby, fault-tolerant, file system, locks, KeepAlives, session, protocol, master, lease, Berkeley. 1. INTRODUCTION Chubby is a locking mechanism for loosely-coupled distributed system. It is designed for coarse-grained locking and also provides a limited but reliable fault-tolerant distributed file system. There is no need for software developers to pursue complex consensus protocol, instead, to use Chubby API to lock the shared resource as doing in sequential programing. The lock is advisory, but not mandatory, which offers more flexibility. The clients cache data, in order to reduce the load of the servers. Events are delivered to the clients, informing the status of the data they request. Google coordinates the access to the shared resource which is normally a small amount of metadata within several of Google systems, such as Google File System (GFS), BigTable, and MapReduce. Although it offers locking service for synchronization, Google also use it as a name server which replaces DNS. This survey paper emphasizes on the design, use and performance of Chubby. 2. DESIGN 2.1 Paxos algorithm The Paxos algorithm targets at solving consensus problem for implementing a fault-tolerant distributed system. Suppose there is a collection of processes that can propose values, a consensus algorithm ensures that only a single one value is chosen among all those processes. And if the value which proposed by a process is chosen, then this value need to be learned by all the other processes. 2.2 Chubby as a Lock Service Some people will argue that just because Paxos as a consensus protocol could use as a mechanism to solve distributed consensus problem, why not go directly to an implementation algorithm based on Paxos rather than a lock service? Because, first of all, most of the developers will not consider the consensus problem at the very beginning of the initiative development of a software or a service, only with the growth of it and increasing number of clients served by the service, developers realize that consensus will be a problem when it comes to the distributed service, and thus be serious about this problem. So, adopting a mechanism such as a lock service, one can solve those consensus problems simply by adding some statements to the existing system without changing the program structure and communication patterns. Additionally, Chubby is employed as a lock service as well as a file system has many advantages in many cases in real life. Most of the time, the system will not just elect a master, but to broadcast the address of this master, or may store some data and information for further aims. Thus, one can use Chubby to synchronize the access to the shared resources, and also could store metadata or configuration. Moreover, to most programmers, may not many people know about consensus protocol, but for sure, most of the programmers used locks in programming, at least heard of it. Therefore, maintain a lock-based interface is much more familiar to programmers, thus resulting in reliable mechanism for distributed decision making. Last, distributed-consensus algorithm use quorums to make decision, so they use several replicas to achieve high availability. While, Chubby reduces the number of servers needed for a reliable service system, thus even a single client can obtain a lock and make progress safely. Based on all the aspects that listed above, we conclude the goal of design in Chubby lock service: Coarse-grained locking service: based on loosely-coupled distributed reliable system, it offers coarse-grained locking service for clients. High usability and high reliability: ensure high usability and reliability of locking service as well as basic usability, throughput and storage ability. Directly store service information: offer archive file, storing configuration of service and relative information instead of establishing and maintaining another service. High scability: store data in RAM, supporting simultaneous access to one file among large amount of clients. Events mechanism: clients need to know the change of service in time. Through events mechanism, the server sends update message to clients regularly. Caching: use cache to store file data and node meta-data in case of frequently access to the server, thus reduce the traffic. 2.3 System Structure The Chubby system has two main components, see Figure 1; one part of the system is a Chubby cell which usually consists of five servers, each of those five servers is called replica aiming at reducing correlated failure, the other part of Chubby system is the client side linking with Chubby library which is served as user interface connecting with the system. Those two parts communicate using RPC.

2 One Chubby sell in Chubby system uses distributed consensus algorithm to elect a master, which the agreement that no master will be elected in the next few seconds, and the master is elected must be approved by the majority proposers, namely, all the servers in this system. And after a small period of peace, known as master lease, the new master will be again elected by consensus algorithm through voting. Figure 1, Chubby system structure Every replica in one Chubby cell maintains a copy of data, but only master can perform read and write operations into the database, and other replicas just simply update their own database by copying updates from the master. Clients find the master by sending master location requests to the replicas listed in the DNS. Once the client finds the location of master, it then can send read or write requests to the master until the master lease ends or the client stops to send requests to the master. If the client send read request to the master, then there is no need for other replicas except the master to access the database, while when it comes to write request, it cannot be satisfied by master alone, the master will notice other replicas to update their own database in order to maintain consistence of the date, thus in case the occurrence of failure in master. Once master fail, then other replicas will elect another new master through consensus algorithm, and if a replica fails, then the replacement system will select a new machine form a machine pool, and replica the IP address of the failed on in DNS with the IP address of the new machine, then update the cell member table that maintained by each replica. 2.4 File system Chubby employs a similar, but much simpler file system than UNIX, it also contains the directory name and slashes which indicate dependency, for example: ls/foo/wombat/pouch is a typical file name in Chubby file system, ls stands for lock service which is common through all Chubby cells, foo is a name of Chubby cell, and /wombat/pouch is a file name that only be visible by the Chubby cell which actually stores the file. The design which different from actual UNIX file system is that it does not offer the operation that move one file from one directory to another directory, and does not recode the last access date which is helpful in caching file meta-data. Chubby file system only contains file and directory, each file or directory is represented as node in file system, and similar to other file system, it only has one name according to one particular node, but differs in the idea that there are no symbolic or hard links. Berkeley DB is used in Chubby file system to store meta-data in each node. To establish a relationship similar to map relationship, in which, key the directory of the node and value is the contents of the node. Because Berkeley DB requires consecutive memory for data storage, so data is actually stored directly in DB rather than stored in the form of pointers. File operations include: FileSystem: create a file system, including a new Berkeley DB file filesystem.dat. FileSystem(const std::string&db): create a file system, starting initialization from Berkeley DB file string db. CreateNewFile: create a new file in file system, if directory is provided, then the system will create directory, ValidType is the valid type of nodes: temporary, permanent. Mkdir: create directory in file system, if no parent directory then it will be created, ValidType is the valid type of nodes. Open: open a named file or directory to produce a handle, analogous to a UNIX file descriptor. The file descriptor will be retuned under every circumstance. Close: close an open handle, and never fails. ReadFile: read the contents from a file node. ReadDir: read the contents from a directory node, and return the all the directory and file nodes information. Write: start from the position that pointed by ptr, write data of length size to file node. Size: get the size of current file. Delete: delete node, thus erase the contents in the node. If the node is directory, then all its children directories including file nodes inside them will be deleted. SyncToDisk: write the file which is in memory to Berkeley DB, default filesystem.dat. SyncFromDisk: read the file which is in Berkeley DB to file system in memory. Each node in Chubby file system can be used as a lock, typical lock is used between the clients and the lock manager, when a client wants a lock to protect the shared resource, first, he needs to send request to the lock manager, and indicates the type of the lock, either shared or exclusive. Then the lock manager responses to the client either grand the lock of refuse the operation invoked by client, once client successfully gets the lock, then he can do operations such as, read or write to the resource, the lock manger will reply back the status of resource to the client, when client has done operations, he will unlock the lock which is held by him, then other clients will continue to send request to the lock manager for resources. Which lock in Chubby file system is advisory lock which is, for example, suppose one client has locked the file, if some other client wants to access the file without sending request to unlock the file, it will not be prohibited. Another lock which is not used in Chubby system is mandatory lock, contrary to advisory lock that only the lock holder can access the file, if client who does not hold the lock wants to access the file, an exception will be returned by system to the client indicating that the file is inaccessible. There are two modes in the lock, shared mode which is known as read lock, many reads can share one read lock and access the same file without interfere, exclusive mode which is known as write lock, only one writer can

3 access to the file, and when the file is being written, no other reads can read the file. Data consistency is complex in distributed systems because communication is typically uncertain, and process may fail independently. Thus, to maintain an order consistent with the actual activity that invoked by each client, Chubby system includes virtual time, and virtual synchrony to solve this kind of problem. 2.5 Events Chubby clients may subscribe a range of events when they create a handle when a file is established; those events are passed to the clients who subscribe the events after the corresponding event occurs. Events include: File contents modified: often used to monitor the location of a service advertised via the file Child node added, removed, or modified: used to implement mirroring. Chubby master failed over: warns clients that other events may have been lost, so data must be rescanned. A handle has become invalid: this typically suggests a commination problem. Lock acquired: can be used to determine when a primary has been elected. Conflicting lock request from another client: allows the caching of locks. 2.6 Caching Chubby caches file data and node meta-data in a consistent, writethrough cache held in memory to reduce traffic. The master in Chubby cell maintains a list of what each client may be caching. And the cache is kept consistent by consistent by invalidations sent by the master. If the file data or node meta-data is modified, the master server will block this change, then sends invalidations to all the clients who may cache it. Once every client receives the invalidation, they will flush the invalidated state, and then acknowledge it. The master server may proceed only after it knows each client who caches the data invalided its cache to keep consistent. The caching protocol invalidates cached data on a change, and does not update it. Because a client may receive large number of updates when it accesses a file, thus result in inefficiency of caching protocol. Chubby system also caches open handles besides file data and meta-data. Thus, if a client requests to open a file which it has been opened previously, it just results in one RPC call to the master server. Lock is also can be cached in Chubby system. The system assumes that if a client holds the lock sufficiently long, it may be held by the same client again in the future. So, it is really for a client to request to acquire lock the first time, then it will be cached by the lock holder, thus reducing unnecessary RPC calls. When another client requests to conflicting lock, the master will notify the current lock hold to release the lock. 2.7 Communication Chubby system uses RPC mechanism which is provided by ICE (Internet Communication Engine). ICE is middleware similar to COBRA, offering an object-orientated platform comfortable with different programming environments. See Figure 2 for structure of ICE. Figure 2 ICE structure ICE code in this figure above includes runtime support for remote procedure call between client and server. Proxy code is the extension of the code which generated by Specification Language for ICE (slice) file. Proxy code in client responds to adapter code resides in server accordingly: proxy code is responsible for sending, while adapter code is responsible for receiving. Chubby system adopts two main methods in ICE asynchronous programming: AMI and AMD. Asynchronous Method Invocation (AMI), also known as asynchronous method calls or asynchronous pattern is a design pattern for asynchronous invocation of potentially long-running methods of an object in multithreaded object-oriented programming. Normally, an asynchronous call, the client process will be blocked in the called function until get the response from the server. If there is no response from the server, then client process has no means to continue. However, when it applied AMI method, there is no need for the client to wait after calling RPC functions to continue. Chubby uses AMI to realize lock operations and exclusive file operations as well as non-blocking RPC Asynchronous Method Dispatch (AMD) is a data communication method used when there is a need for the server side to handle a large number of long lasting client requests. Normally, when a servicing of request arrives at the server side, it will process the request immediately, and then returns to the client side. However, AMD allows the server to put callback function of RPC to blocking state, and then dispatches it to an available thread from a pool of threads after a prolonged time. AMD is mainly used in KeepAlive of Chubby system. This kind of RPC is the kind that not asking the server to response immediately, if so, it will largely increase the traffic of internet. 2.8 Sessions and KeepAlives Session is maintained to keep connection between master server and client. Each session is held for a time interval by handshakes called KeepAlives, and each session is associated with a lease, which is a time period that both client and master keep connection, and agreed by master that this time is not be terminated. Unless client notifies master, otherwise, file handles, lock service as well as cache remain valid during a session period. See figure 3. KeepAlives is a message sent by master periodically. It can be used to prolong the valid time of lease, and carry event updates to client side (See events in section 2.5). In normal condition, the lease will be renewed continuously with the repletion of KeepAlives handshakes. When client local lease timeout expires, which is, it does not receive the KeepAlives response, and then it steps into jeopardy

4 state. Because it has no idea whether this session will be terminated by master or not, it invalidates cache. In the meantime, the client will start to search a new master server. By iterating other servers except master in Chubby cell, the client gets the new view of cell. Whenever client receives an acknowledgment, it will send new KeepAlives message to the new master server, informing that master that itself is in jeopardy state, thus establish a new session with master. File handles will also be sent to master for updating. If a time interval, 45 seconds by default, passed, and no other server can be connected by client, then client will assume that the session has been terminated, then invalid session. Thus, in this period, the client cannot update its cache to keep data consistent. When the master lease timeout expires, then it means that for a certain amount time, the master is not able of receiving any KeepLives messages from the clients. Thus, master server will wait for a time period for the client s reconnection, if client cannot reconnect to master in this time period, master will assume that session between client and master is invalid. Therefore, master will clear file handles opened by client, lock acquired by client, and empty all temporary files that generated by client. All those operations are in consistent with other servers in Chubby cell besides master. If master server receives KeepAlives message from client, then the session remains valid. When a master fails, all the other servers just response to the call of getting view from the client, but ignore other API calls during the election time of a new master. Eventually a new master election succeeds. And then the new master proceeds: 1. It selects a new client epoch number, which clients are required to present on every call. Then the master can decide whether to receive packet based on the epoch number, an old epoch number will be rejected since it may be sent to the old master. 2. New master only process location-related requests, but not session-related requests. 3. Wait for KeepAlive message that carried with jeopardy state from clients. 4. Master responses to KeepAlives message fron client, establish new session between client and master, in the meantime, it refuses other session-related operations. Newly elected master response to client with KeepAlives message, warn client with master fail-over, then lets client to update file handles and locks. 5. Master waits responses of acknowledgements from all clients in each session, or let seesion expire. If master receives request to update handles in client, then it flushes handles in order to distinguish them from old ones. Add those updated Figure 3 Session between client the master handles from handle list in client session and handle list in its own. 6. Master response to all the operations that requested by client. 7. After some intervals, the master starts to check ephemeral files that have no open file handles. If so, master will delete those ephemeral files, release locks. 3. SCALING Chubby system must handle huge number of clients which are individual processes. Because there is just one master in one Chubby cell, so the client can overwhelm the master by a huge margin. Chubby use several approaches: Since clients always have tend to use nearby cell to avoid reliance on remote machines, so to create an arbitrary number of Chubby cells, and use one for a data centre. Lease time will be changed from, by default, 12 seconds to about 60 seconds when the master is in heavy load. Thus, this method can largely reduce KeepAlive RPCs which is the dominating type of request and communications between client and master. Chubby cache file data, meta-data, file handles to reduce the number of requests needed to be sent to the server. Use protocol-conversion servers to translate the Chubby protocol into less-complex protocols such as DNS and others. 4. USE Even though Chubby system is designed as a locking service, it is now heavily used inside Google as a name service, supplanting DNS. Normally, each entry in DNS has time-to-live field that associated with it, and DNS data will be dropped if it is not refreshed during this time period. Because is it common for developers to invoke thousands of processes in program and communicate with each other, thus resulting in thousands of DNS lookups, and things will become worse if it comes to a large program, and thousands of clients running program concurrently. However, Chubby s caching uses explicit invalidation so a constant rate of session KeepAlives requests can maintain an arbitrary number of cache entries indefinitely at a client. It is, nevertheless, a problem of load spike, even Chubby system can allow a single cell to sustain a large number of clients. Google resolves this by grouping name entries into batches so that a single lookup would return and cache the name mappings for a large number of related processes within a job.

5 5. DESIGN ERRORS Google infrastructures are mostly in C++, but a growing number of systems are being written in Java which has more complex protocol in client and a non-trivial client-side library. Thus, this creates potential problems for Chubby. To maintain library in Java would require care and expense, while an implementation without caching would burden the Chubby server. Even methods like running copies of protocol-conversion server that exports a simple RPC protocol that corresponds closely to Chubby s client API, it does not avoid the cost of writing, running and maintaining this additional server. 6. REFERENCES [1] Mike Burrows. The Chubby lock service for loosely-coupled distributed systems. In proceedings of the 7th Symposium on Operating Systems Design and Implementaion, Seattle, WA, November [2] Asynchronous Method Invocation. Distrivuted Programming with Ice. ZeroC, Inc.. Retrieved 22 November [3] Leslie Lamport. Paxos Made Simple. 01 November [4] David Mazi`eres, Paxos Made Pratical [5] Michi Henning, Mark Spurielll. Distributed Programming with Ice.

The Chubby Lock Service for Loosely-coupled Distributed systems

The Chubby Lock Service for Loosely-coupled Distributed systems The Chubby Lock Service for Loosely-coupled Distributed systems Author: Mike Burrows Presenter: Ke Nian University of Waterloo, Waterloo, Canada October 22, 2014 Agenda Distributed Consensus Problem 3

More information

The Chubby lock service for loosely- coupled distributed systems

The Chubby lock service for loosely- coupled distributed systems The Chubby lock service for loosely- coupled distributed systems Mike Burrows, Google Inc. Presented By- Rahul Malviya Outline Paxos Algorithm The Chubby Lock Service What is Paxos Help to implemenjng

More information

Consensus and related problems

Consensus and related problems Consensus and related problems Today l Consensus l Google s Chubby l Paxos for Chubby Consensus and failures How to make process agree on a value after one or more have proposed what the value should be?

More information

Recap. CSE 486/586 Distributed Systems Google Chubby Lock Service. Paxos Phase 2. Paxos Phase 1. Google Chubby. Paxos Phase 3 C 1

Recap. CSE 486/586 Distributed Systems Google Chubby Lock Service. Paxos Phase 2. Paxos Phase 1. Google Chubby. Paxos Phase 3 C 1 Recap CSE 486/586 Distributed Systems Google Chubby Lock Service Steve Ko Computer Sciences and Engineering University at Buffalo Paxos is a consensus algorithm. Proposers? Acceptors? Learners? A proposer

More information

Recap. CSE 486/586 Distributed Systems Google Chubby Lock Service. Recap: First Requirement. Recap: Second Requirement. Recap: Strengthening P2

Recap. CSE 486/586 Distributed Systems Google Chubby Lock Service. Recap: First Requirement. Recap: Second Requirement. Recap: Strengthening P2 Recap CSE 486/586 Distributed Systems Google Chubby Lock Service Steve Ko Computer Sciences and Engineering University at Buffalo Paxos is a consensus algorithm. Proposers? Acceptors? Learners? A proposer

More information

The Chubby lock service for loosely-coupled distributed systems

The Chubby lock service for loosely-coupled distributed systems The Chubby lock service for loosely-coupled distributed systems Mike Burrows, Google Inc. Abstract We describe our experiences with the Chubby lock service, which is intended to provide coarse-grained

More information

SimpleChubby: a simple distributed lock service

SimpleChubby: a simple distributed lock service SimpleChubby: a simple distributed lock service Jing Pu, Mingyu Gao, Hang Qu 1 Introduction We implement a distributed lock service called SimpleChubby similar to the original Google Chubby lock service[1].

More information

or? Paxos: Fun Facts Quorum Quorum: Primary Copy vs. Majority Quorum: Primary Copy vs. Majority

or? Paxos: Fun Facts Quorum Quorum: Primary Copy vs. Majority Quorum: Primary Copy vs. Majority Paxos: Fun Facts Quorum Why is the algorithm called Paxos? Leslie Lamport described the algorithm as the solution to a problem of the parliament on a fictitious Greek island called Paxos Many readers were

More information

CS /15/16. Paul Krzyzanowski 1. Question 1. Distributed Systems 2016 Exam 2 Review. Question 3. Question 2. Question 5.

CS /15/16. Paul Krzyzanowski 1. Question 1. Distributed Systems 2016 Exam 2 Review. Question 3. Question 2. Question 5. Question 1 What makes a message unstable? How does an unstable message become stable? Distributed Systems 2016 Exam 2 Review Paul Krzyzanowski Rutgers University Fall 2016 In virtual sychrony, a message

More information

Distributed Systems 16. Distributed File Systems II

Distributed Systems 16. Distributed File Systems II Distributed Systems 16. Distributed File Systems II Paul Krzyzanowski pxk@cs.rutgers.edu 1 Review NFS RPC-based access AFS Long-term caching CODA Read/write replication & disconnected operation DFS AFS

More information

Applications of Paxos Algorithm

Applications of Paxos Algorithm Applications of Paxos Algorithm Gurkan Solmaz COP 6938 - Cloud Computing - Fall 2012 Department of Electrical Engineering and Computer Science University of Central Florida - Orlando, FL Oct 15, 2012 1

More information

Paxos Made Live. An Engineering Perspective. Authors: Tushar Chandra, Robert Griesemer, Joshua Redstone. Presented By: Dipendra Kumar Jha

Paxos Made Live. An Engineering Perspective. Authors: Tushar Chandra, Robert Griesemer, Joshua Redstone. Presented By: Dipendra Kumar Jha Paxos Made Live An Engineering Perspective Authors: Tushar Chandra, Robert Griesemer, Joshua Redstone Presented By: Dipendra Kumar Jha Consensus Algorithms Consensus: process of agreeing on one result

More information

Hierarchical Chubby: A Scalable, Distributed Locking Service

Hierarchical Chubby: A Scalable, Distributed Locking Service Hierarchical Chubby: A Scalable, Distributed Locking Service Zoë Bohn and Emma Dauterman Abstract We describe a scalable, hierarchical version of Google s locking service, Chubby, designed for use by systems

More information

Exam 2 Review. October 29, Paul Krzyzanowski 1

Exam 2 Review. October 29, Paul Krzyzanowski 1 Exam 2 Review October 29, 2015 2013 Paul Krzyzanowski 1 Question 1 Why did Dropbox add notification servers to their architecture? To avoid the overhead of clients polling the servers periodically to check

More information

Chubby lock service. Service in a cloud. Big table and Chubby: perfect together. Big table. Badri Nath Rutgers University

Chubby lock service. Service in a cloud. Big table and Chubby: perfect together. Big table. Badri Nath Rutgers University Service in a cloud Chubby lock service 1. Chubby 2. Cassandra Badri Nath Rutgers University badri@cs.rutgers.edu Services deployed over a cluster Thousands of machines over 100s of racks Deployed over

More information

DISTRIBUTED SYSTEMS [COMP9243] Lecture 9b: Distributed File Systems INTRODUCTION. Transparency: Flexibility: Slide 1. Slide 3.

DISTRIBUTED SYSTEMS [COMP9243] Lecture 9b: Distributed File Systems INTRODUCTION. Transparency: Flexibility: Slide 1. Slide 3. CHALLENGES Transparency: Slide 1 DISTRIBUTED SYSTEMS [COMP9243] Lecture 9b: Distributed File Systems ➀ Introduction ➁ NFS (Network File System) ➂ AFS (Andrew File System) & Coda ➃ GFS (Google File System)

More information

Distributed systems. Lecture 6: distributed transactions, elections, consensus and replication. Malte Schwarzkopf

Distributed systems. Lecture 6: distributed transactions, elections, consensus and replication. Malte Schwarzkopf Distributed systems Lecture 6: distributed transactions, elections, consensus and replication Malte Schwarzkopf Last time Saw how we can build ordered multicast Messages between processes in a group Need

More information

Integrity in Distributed Databases

Integrity in Distributed Databases Integrity in Distributed Databases Andreas Farella Free University of Bozen-Bolzano Table of Contents 1 Introduction................................................... 3 2 Different aspects of integrity.....................................

More information

The Google File System

The Google File System October 13, 2010 Based on: S. Ghemawat, H. Gobioff, and S.-T. Leung: The Google file system, in Proceedings ACM SOSP 2003, Lake George, NY, USA, October 2003. 1 Assumptions Interface Architecture Single

More information

Distributed Systems 11. Consensus. Paul Krzyzanowski

Distributed Systems 11. Consensus. Paul Krzyzanowski Distributed Systems 11. Consensus Paul Krzyzanowski pxk@cs.rutgers.edu 1 Consensus Goal Allow a group of processes to agree on a result All processes must agree on the same value The value must be one

More information

416 practice questions (PQs)

416 practice questions (PQs) 416 practice questions (PQs) 1. Goal: give you some material to study for the final exam and to help you to more actively engage with the material we cover in class. 2. Format: questions that are in scope

More information

Distributed Systems. 15. Distributed File Systems. Paul Krzyzanowski. Rutgers University. Fall 2016

Distributed Systems. 15. Distributed File Systems. Paul Krzyzanowski. Rutgers University. Fall 2016 Distributed Systems 15. Distributed File Systems Paul Krzyzanowski Rutgers University Fall 2016 1 Google Chubby 2 Chubby Distributed lock service + simple fault-tolerant file system Interfaces File access

More information

Distributed Consensus Protocols

Distributed Consensus Protocols Distributed Consensus Protocols ABSTRACT In this paper, I compare Paxos, the most popular and influential of distributed consensus protocols, and Raft, a fairly new protocol that is considered to be a

More information

Reliability & Chubby CSE 490H. This presentation incorporates content licensed under the Creative Commons Attribution 2.5 License.

Reliability & Chubby CSE 490H. This presentation incorporates content licensed under the Creative Commons Attribution 2.5 License. Reliability & Chubby CSE 490H This presentation incorporates content licensed under the Creative Commons Attribution 2.5 License. Overview Writable / WritableComparable Reliability review Chubby + PAXOS

More information

CS November 2017

CS November 2017 Bigtable Highly available distributed storage Distributed Systems 18. Bigtable Built with semi-structured data in mind URLs: content, metadata, links, anchors, page rank User data: preferences, account

More information

Distributed Systems. 15. Distributed File Systems. Paul Krzyzanowski. Rutgers University. Fall 2017

Distributed Systems. 15. Distributed File Systems. Paul Krzyzanowski. Rutgers University. Fall 2017 Distributed Systems 15. Distributed File Systems Paul Krzyzanowski Rutgers University Fall 2017 1 Google Chubby ( Apache Zookeeper) 2 Chubby Distributed lock service + simple fault-tolerant file system

More information

CPS 512 midterm exam #1, 10/7/2016

CPS 512 midterm exam #1, 10/7/2016 CPS 512 midterm exam #1, 10/7/2016 Your name please: NetID: Answer all questions. Please attempt to confine your answers to the boxes provided. If you don t know the answer to a question, then just say

More information

Chapter 17: Distributed Systems (DS)

Chapter 17: Distributed Systems (DS) Chapter 17: Distributed Systems (DS) Silberschatz, Galvin and Gagne 2013 Chapter 17: Distributed Systems Advantages of Distributed Systems Types of Network-Based Operating Systems Network Structure Communication

More information

Distributed File Systems II

Distributed File Systems II Distributed File Systems II To do q Very-large scale: Google FS, Hadoop FS, BigTable q Next time: Naming things GFS A radically new environment NFS, etc. Independence Small Scale Variety of workloads Cooperation

More information

CAS 703 Software Design

CAS 703 Software Design Dr. Ridha Khedri Department of Computing and Software, McMaster University Canada L8S 4L7, Hamilton, Ontario Acknowledgments: Material based on Software by Tao et al. (Chapters 9 and 10) (SOA) 1 Interaction

More information

CS /30/17. Paul Krzyzanowski 1. Google Chubby ( Apache Zookeeper) Distributed Systems. Chubby. Chubby Deployment.

CS /30/17. Paul Krzyzanowski 1. Google Chubby ( Apache Zookeeper) Distributed Systems. Chubby. Chubby Deployment. Distributed Systems 15. Distributed File Systems Google ( Apache Zookeeper) Paul Krzyzanowski Rutgers University Fall 2017 1 2 Distributed lock service + simple fault-tolerant file system Deployment Client

More information

BigTable. CSE-291 (Cloud Computing) Fall 2016

BigTable. CSE-291 (Cloud Computing) Fall 2016 BigTable CSE-291 (Cloud Computing) Fall 2016 Data Model Sparse, distributed persistent, multi-dimensional sorted map Indexed by a row key, column key, and timestamp Values are uninterpreted arrays of bytes

More information

CSCI 4717 Computer Architecture

CSCI 4717 Computer Architecture CSCI 4717/5717 Computer Architecture Topic: Symmetric Multiprocessors & Clusters Reading: Stallings, Sections 18.1 through 18.4 Classifications of Parallel Processing M. Flynn classified types of parallel

More information

The Google File System

The Google File System The Google File System By Ghemawat, Gobioff and Leung Outline Overview Assumption Design of GFS System Interactions Master Operations Fault Tolerance Measurements Overview GFS: Scalable distributed file

More information

NFS: Naming indirection, abstraction. Abstraction, abstraction, abstraction! Network File Systems: Naming, cache control, consistency

NFS: Naming indirection, abstraction. Abstraction, abstraction, abstraction! Network File Systems: Naming, cache control, consistency Abstraction, abstraction, abstraction! Network File Systems: Naming, cache control, consistency Local file systems Disks are terrible abstractions: low-level blocks, etc. Directories, files, links much

More information

EMPIRICAL STUDY OF UNSTABLE LEADERS IN PAXOS LONG KAI THESIS

EMPIRICAL STUDY OF UNSTABLE LEADERS IN PAXOS LONG KAI THESIS 2013 Long Kai EMPIRICAL STUDY OF UNSTABLE LEADERS IN PAXOS BY LONG KAI THESIS Submitted in partial fulfillment of the requirements for the degree of Master of Science in Computer Science in the Graduate

More information

Exam 2 Review. Fall 2011

Exam 2 Review. Fall 2011 Exam 2 Review Fall 2011 Question 1 What is a drawback of the token ring election algorithm? Bad question! Token ring mutex vs. Ring election! Ring election: multiple concurrent elections message size grows

More information

AGREEMENT PROTOCOLS. Paxos -a family of protocols for solving consensus

AGREEMENT PROTOCOLS. Paxos -a family of protocols for solving consensus AGREEMENT PROTOCOLS Paxos -a family of protocols for solving consensus OUTLINE History of the Paxos algorithm Paxos Algorithm Family Implementation in existing systems References HISTORY OF THE PAXOS ALGORITHM

More information

ZooKeeper & Curator. CS 475, Spring 2018 Concurrent & Distributed Systems

ZooKeeper & Curator. CS 475, Spring 2018 Concurrent & Distributed Systems ZooKeeper & Curator CS 475, Spring 2018 Concurrent & Distributed Systems Review: Agreement In distributed systems, we have multiple nodes that need to all agree that some object has some state Examples:

More information

Megastore: Providing Scalable, Highly Available Storage for Interactive Services & Spanner: Google s Globally- Distributed Database.

Megastore: Providing Scalable, Highly Available Storage for Interactive Services & Spanner: Google s Globally- Distributed Database. Megastore: Providing Scalable, Highly Available Storage for Interactive Services & Spanner: Google s Globally- Distributed Database. Presented by Kewei Li The Problem db nosql complex legacy tuning expensive

More information

Distributed Systems. Lec 9: Distributed File Systems NFS, AFS. Slide acks: Dave Andersen

Distributed Systems. Lec 9: Distributed File Systems NFS, AFS. Slide acks: Dave Andersen Distributed Systems Lec 9: Distributed File Systems NFS, AFS Slide acks: Dave Andersen (http://www.cs.cmu.edu/~dga/15-440/f10/lectures/08-distfs1.pdf) 1 VFS and FUSE Primer Some have asked for some background

More information

Today: Distributed File Systems. File System Basics

Today: Distributed File Systems. File System Basics Today: Distributed File Systems Overview of stand-alone (UNIX) file systems Issues in distributed file systems Next two classes: case studies of distributed file systems NFS Coda xfs Log-structured file

More information

Bigtable: A Distributed Storage System for Structured Data By Fay Chang, et al. OSDI Presented by Xiang Gao

Bigtable: A Distributed Storage System for Structured Data By Fay Chang, et al. OSDI Presented by Xiang Gao Bigtable: A Distributed Storage System for Structured Data By Fay Chang, et al. OSDI 2006 Presented by Xiang Gao 2014-11-05 Outline Motivation Data Model APIs Building Blocks Implementation Refinement

More information

Today: Distributed File Systems

Today: Distributed File Systems Today: Distributed File Systems Overview of stand-alone (UNIX) file systems Issues in distributed file systems Next two classes: case studies of distributed file systems NFS Coda xfs Log-structured file

More information

CHAPTER - 4 REMOTE COMMUNICATION

CHAPTER - 4 REMOTE COMMUNICATION CHAPTER - 4 REMOTE COMMUNICATION Topics Introduction to Remote Communication Remote Procedural Call Basics RPC Implementation RPC Communication Other RPC Issues Case Study: Sun RPC Remote invocation Basics

More information

Assignment 12: Commit Protocols and Replication Solution

Assignment 12: Commit Protocols and Replication Solution Data Modelling and Databases Exercise dates: May 24 / May 25, 2018 Ce Zhang, Gustavo Alonso Last update: June 04, 2018 Spring Semester 2018 Head TA: Ingo Müller Assignment 12: Commit Protocols and Replication

More information

Fault-Tolerance & Paxos

Fault-Tolerance & Paxos Chapter 15 Fault-Tolerance & Paxos How do you create a fault-tolerant distributed system? In this chapter we start out with simple questions, and, step by step, improve our solutions until we arrive at

More information

Talend Component tgoogledrive

Talend Component tgoogledrive Talend Component tgoogledrive Purpose and procedure This component manages files on a Google Drive. The component provides these capabilities: 1. Providing only the client for other tgoogledrive components

More information

The Google File System (GFS)

The Google File System (GFS) 1 The Google File System (GFS) CS60002: Distributed Systems Antonio Bruto da Costa Ph.D. Student, Formal Methods Lab, Dept. of Computer Sc. & Engg., Indian Institute of Technology Kharagpur 2 Design constraints

More information

GFS-python: A Simplified GFS Implementation in Python

GFS-python: A Simplified GFS Implementation in Python GFS-python: A Simplified GFS Implementation in Python Andy Strohman ABSTRACT GFS-python is distributed network filesystem written entirely in python. There are no dependencies other than Python s standard

More information

Distributed Systems. 19. Fault Tolerance Paul Krzyzanowski. Rutgers University. Fall 2013

Distributed Systems. 19. Fault Tolerance Paul Krzyzanowski. Rutgers University. Fall 2013 Distributed Systems 19. Fault Tolerance Paul Krzyzanowski Rutgers University Fall 2013 November 27, 2013 2013 Paul Krzyzanowski 1 Faults Deviation from expected behavior Due to a variety of factors: Hardware

More information

Google File System (GFS) and Hadoop Distributed File System (HDFS)

Google File System (GFS) and Hadoop Distributed File System (HDFS) Google File System (GFS) and Hadoop Distributed File System (HDFS) 1 Hadoop: Architectural Design Principles Linear scalability More nodes can do more work within the same time Linear on data size, linear

More information

MODELS OF DISTRIBUTED SYSTEMS

MODELS OF DISTRIBUTED SYSTEMS Distributed Systems Fö 2/3-1 Distributed Systems Fö 2/3-2 MODELS OF DISTRIBUTED SYSTEMS Basic Elements 1. Architectural Models 2. Interaction Models Resources in a distributed system are shared between

More information

The Google File System

The Google File System The Google File System Sanjay Ghemawat, Howard Gobioff, and Shun-Tak Leung December 2003 ACM symposium on Operating systems principles Publisher: ACM Nov. 26, 2008 OUTLINE INTRODUCTION DESIGN OVERVIEW

More information

Consistency and Replication 1/62

Consistency and Replication 1/62 Consistency and Replication 1/62 Replicas and Consistency??? Tatiana Maslany in the show Orphan Black: The story of a group of clones that discover each other and the secret organization Dyad, which was

More information

Last time. Distributed systems Lecture 6: Elections, distributed transactions, and replication. DrRobert N. M. Watson

Last time. Distributed systems Lecture 6: Elections, distributed transactions, and replication. DrRobert N. M. Watson Distributed systems Lecture 6: Elections, distributed transactions, and replication DrRobert N. M. Watson 1 Last time Saw how we can build ordered multicast Messages between processes in a group Need to

More information

Paxos and Raft (Lecture 21, cs262a) Ion Stoica, UC Berkeley November 7, 2016

Paxos and Raft (Lecture 21, cs262a) Ion Stoica, UC Berkeley November 7, 2016 Paxos and Raft (Lecture 21, cs262a) Ion Stoica, UC Berkeley November 7, 2016 Bezos mandate for service-oriented-architecture (~2002) 1. All teams will henceforth expose their data and functionality through

More information

Google File System and BigTable. and tiny bits of HDFS (Hadoop File System) and Chubby. Not in textbook; additional information

Google File System and BigTable. and tiny bits of HDFS (Hadoop File System) and Chubby. Not in textbook; additional information Subject 10 Fall 2015 Google File System and BigTable and tiny bits of HDFS (Hadoop File System) and Chubby Not in textbook; additional information Disclaimer: These abbreviated notes DO NOT substitute

More information

BigTable. Chubby. BigTable. Chubby. Why Chubby? How to do consensus as a service

BigTable. Chubby. BigTable. Chubby. Why Chubby? How to do consensus as a service BigTable BigTable Doug Woos and Tom Anderson In the early 2000s, Google had way more than anybody else did Traditional bases couldn t scale Want something better than a filesystem () BigTable optimized

More information

Distributed Filesystem

Distributed Filesystem Distributed Filesystem 1 How do we get data to the workers? NAS Compute Nodes SAN 2 Distributing Code! Don t move data to workers move workers to the data! - Store data on the local disks of nodes in the

More information

Distributed Systems Homework 1 (6 problems)

Distributed Systems Homework 1 (6 problems) 15-440 Distributed Systems Homework 1 (6 problems) Due: November 30, 11:59 PM via electronic handin Hand in to Autolab in PDF format November 29, 2011 1. You have set up a fault-tolerant banking service.

More information

CSE 544 Principles of Database Management Systems. Alvin Cheung Fall 2015 Lecture 14 Distributed Transactions

CSE 544 Principles of Database Management Systems. Alvin Cheung Fall 2015 Lecture 14 Distributed Transactions CSE 544 Principles of Database Management Systems Alvin Cheung Fall 2015 Lecture 14 Distributed Transactions Transactions Main issues: Concurrency control Recovery from failures 2 Distributed Transactions

More information

4/9/2018 Week 13-A Sangmi Lee Pallickara. CS435 Introduction to Big Data Spring 2018 Colorado State University. FAQs. Architecture of GFS

4/9/2018 Week 13-A Sangmi Lee Pallickara. CS435 Introduction to Big Data Spring 2018 Colorado State University. FAQs. Architecture of GFS W13.A.0.0 CS435 Introduction to Big Data W13.A.1 FAQs Programming Assignment 3 has been posted PART 2. LARGE SCALE DATA STORAGE SYSTEMS DISTRIBUTED FILE SYSTEMS Recitations Apache Spark tutorial 1 and

More information

10. Replication. CSEP 545 Transaction Processing Philip A. Bernstein Sameh Elnikety. Copyright 2012 Philip A. Bernstein

10. Replication. CSEP 545 Transaction Processing Philip A. Bernstein Sameh Elnikety. Copyright 2012 Philip A. Bernstein 10. Replication CSEP 545 Transaction Processing Philip A. Bernstein Sameh Elnikety Copyright 2012 Philip A. Bernstein 1 Outline 1. Introduction 2. Primary-Copy Replication 3. Multi-Master Replication 4.

More information

Today s Papers. Google Chubby. Distributed Consensus. EECS 262a Advanced Topics in Computer Systems Lecture 24. Paxos/Megastore November 24 th, 2014

Today s Papers. Google Chubby. Distributed Consensus. EECS 262a Advanced Topics in Computer Systems Lecture 24. Paxos/Megastore November 24 th, 2014 EECS 262a Advanced Topics in Computer Systems Lecture 24 Paxos/Megastore November 24 th, 2014 John Kubiatowicz Electrical Engineering and Computer Sciences University of California, Berkeley Today s Papers

More information

Distributed Systems Exam 1 Review Paul Krzyzanowski. Rutgers University. Fall 2016

Distributed Systems Exam 1 Review Paul Krzyzanowski. Rutgers University. Fall 2016 Distributed Systems 2015 Exam 1 Review Paul Krzyzanowski Rutgers University Fall 2016 1 Question 1 Why did the use of reference counting for remote objects prove to be impractical? Explain. It s not fault

More information

EECS 498 Introduction to Distributed Systems

EECS 498 Introduction to Distributed Systems EECS 498 Introduction to Distributed Systems Fall 2017 Harsha V. Madhyastha Implementing RSMs Logical clock based ordering of requests Cannot serve requests if any one replica is down Primary-backup replication

More information

Distributed Systems. Lec 10: Distributed File Systems GFS. Slide acks: Sanjay Ghemawat, Howard Gobioff, and Shun-Tak Leung

Distributed Systems. Lec 10: Distributed File Systems GFS. Slide acks: Sanjay Ghemawat, Howard Gobioff, and Shun-Tak Leung Distributed Systems Lec 10: Distributed File Systems GFS Slide acks: Sanjay Ghemawat, Howard Gobioff, and Shun-Tak Leung 1 Distributed File Systems NFS AFS GFS Some themes in these classes: Workload-oriented

More information

To do. Consensus and related problems. q Failure. q Raft

To do. Consensus and related problems. q Failure. q Raft Consensus and related problems To do q Failure q Consensus and related problems q Raft Consensus We have seen protocols tailored for individual types of consensus/agreements Which process can enter the

More information

Distributed Systems. 10. Consensus: Paxos. Paul Krzyzanowski. Rutgers University. Fall 2017

Distributed Systems. 10. Consensus: Paxos. Paul Krzyzanowski. Rutgers University. Fall 2017 Distributed Systems 10. Consensus: Paxos Paul Krzyzanowski Rutgers University Fall 2017 1 Consensus Goal Allow a group of processes to agree on a result All processes must agree on the same value The value

More information

CS 138: Google. CS 138 XVI 1 Copyright 2017 Thomas W. Doeppner. All rights reserved.

CS 138: Google. CS 138 XVI 1 Copyright 2017 Thomas W. Doeppner. All rights reserved. CS 138: Google CS 138 XVI 1 Copyright 2017 Thomas W. Doeppner. All rights reserved. Google Environment Lots (tens of thousands) of computers all more-or-less equal - processor, disk, memory, network interface

More information

Consistency and Replication 1/65

Consistency and Replication 1/65 Consistency and Replication 1/65 Replicas and Consistency??? Tatiana Maslany in the show Orphan Black: The story of a group of clones that discover each other and the secret organization Dyad, which was

More information

GFS Overview. Design goals/priorities Design for big-data workloads Huge files, mostly appends, concurrency, huge bandwidth Design for failures

GFS Overview. Design goals/priorities Design for big-data workloads Huge files, mostly appends, concurrency, huge bandwidth Design for failures GFS Overview Design goals/priorities Design for big-data workloads Huge files, mostly appends, concurrency, huge bandwidth Design for failures Interface: non-posix New op: record appends (atomicity matters,

More information

(Pessimistic) Timestamp Ordering

(Pessimistic) Timestamp Ordering (Pessimistic) Timestamp Ordering Another approach to concurrency control: Assign a timestamp ts(t) to transaction T at the moment it starts Using Lamport's timestamps: total order is given. In distributed

More information

CS 138: Google. CS 138 XVII 1 Copyright 2016 Thomas W. Doeppner. All rights reserved.

CS 138: Google. CS 138 XVII 1 Copyright 2016 Thomas W. Doeppner. All rights reserved. CS 138: Google CS 138 XVII 1 Copyright 2016 Thomas W. Doeppner. All rights reserved. Google Environment Lots (tens of thousands) of computers all more-or-less equal - processor, disk, memory, network interface

More information

Agreement and Consensus. SWE 622, Spring 2017 Distributed Software Engineering

Agreement and Consensus. SWE 622, Spring 2017 Distributed Software Engineering Agreement and Consensus SWE 622, Spring 2017 Distributed Software Engineering Today General agreement problems Fault tolerance limitations of 2PC 3PC Paxos + ZooKeeper 2 Midterm Recap 200 GMU SWE 622 Midterm

More information

Byzantine Fault Tolerant Raft

Byzantine Fault Tolerant Raft Abstract Byzantine Fault Tolerant Raft Dennis Wang, Nina Tai, Yicheng An {dwang22, ninatai, yicheng} @stanford.edu https://github.com/g60726/zatt For this project, we modified the original Raft design

More information

Network File Systems

Network File Systems Network File Systems CS 240: Computing Systems and Concurrency Lecture 4 Marco Canini Credits: Michael Freedman and Kyle Jamieson developed much of the original material. Abstraction, abstraction, abstraction!

More information

Paxos and Distributed Transactions

Paxos and Distributed Transactions Paxos and Distributed Transactions INF 5040 autumn 2016 lecturer: Roman Vitenberg Paxos what is it? The most commonly used consensus algorithm A fundamental building block for data centers Distributed

More information

Distributed File Systems

Distributed File Systems Distributed File Systems Today l Basic distributed file systems l Two classical examples Next time l Naming things xkdc Distributed File Systems " A DFS supports network-wide sharing of files and devices

More information

Distributed Systems COMP 212. Revision 2 Othon Michail

Distributed Systems COMP 212. Revision 2 Othon Michail Distributed Systems COMP 212 Revision 2 Othon Michail Synchronisation 2/55 How would Lamport s algorithm synchronise the clocks in the following scenario? 3/55 How would Lamport s algorithm synchronise

More information

Practice: Large Systems

Practice: Large Systems Practice: Large Systems Chapter 7 Roger Wattenhofer ETH Zurich Distributed Computing www.disco.ethz.ch Overview Introduction Strong Consistency Crash Failures: Primary Copy, Commit Protocols Crash-Recovery

More information

(Pessimistic) Timestamp Ordering. Rules for read and write Operations. Read Operations and Timestamps. Write Operations and Timestamps

(Pessimistic) Timestamp Ordering. Rules for read and write Operations. Read Operations and Timestamps. Write Operations and Timestamps (Pessimistic) stamp Ordering Another approach to concurrency control: Assign a timestamp ts(t) to transaction T at the moment it starts Using Lamport's timestamps: total order is given. In distributed

More information

HDFS: Hadoop Distributed File System. Sector: Distributed Storage System

HDFS: Hadoop Distributed File System. Sector: Distributed Storage System GFS: Google File System Google C/C++ HDFS: Hadoop Distributed File System Yahoo Java, Open Source Sector: Distributed Storage System University of Illinois at Chicago C++, Open Source 2 System that permanently

More information

CprE Fault Tolerance. Dr. Yong Guan. Department of Electrical and Computer Engineering & Information Assurance Center Iowa State University

CprE Fault Tolerance. Dr. Yong Guan. Department of Electrical and Computer Engineering & Information Assurance Center Iowa State University Fault Tolerance Dr. Yong Guan Department of Electrical and Computer Engineering & Information Assurance Center Iowa State University Outline for Today s Talk Basic Concepts Process Resilience Reliable

More information

Distributed Systems. The main method of distributed object communication is with remote method invocation

Distributed Systems. The main method of distributed object communication is with remote method invocation Distributed Systems Unit III Syllabus:Distributed Objects and Remote Invocation: Introduction, Communication between Distributed Objects- Object Model, Distributed Object Modal, Design Issues for RMI,

More information

The Google File System

The Google File System The Google File System Sanjay Ghemawat, Howard Gobioff and Shun Tak Leung Google* Shivesh Kumar Sharma fl4164@wayne.edu Fall 2015 004395771 Overview Google file system is a scalable distributed file system

More information

Operation Manual DHCP. Table of Contents

Operation Manual DHCP. Table of Contents Table of Contents Table of Contents Chapter 1 DHCP Overview... 1-1 1.1 DHCP Principles... 1-1 1.1.1 BOOTP Relay Agent... 1-3 1.1.2 DHCP and BOOTP Relay Agent... 1-4 1.2 General DHCP Configuration... 1-4

More information

Distributed Systems Fall 2009 Final

Distributed Systems Fall 2009 Final 15-440 Distributed Systems Fall 2009 Final Name: Andrew: ID November 29, 2010 Please write your name and Andrew ID above before starting this exam. This exam has 10 pages, including this title page. Please

More information

DIVING IN: INSIDE THE DATA CENTER

DIVING IN: INSIDE THE DATA CENTER 1 DIVING IN: INSIDE THE DATA CENTER Anwar Alhenshiri Data centers 2 Once traffic reaches a data center it tunnels in First passes through a filter that blocks attacks Next, a router that directs it to

More information

Distributed System Chapter 16 Issues in ch 17, ch 18

Distributed System Chapter 16 Issues in ch 17, ch 18 Distributed System Chapter 16 Issues in ch 17, ch 18 1 Chapter 16: Distributed System Structures! Motivation! Types of Network-Based Operating Systems! Network Structure! Network Topology! Communication

More information

Chapter 8 Fault Tolerance

Chapter 8 Fault Tolerance DISTRIBUTED SYSTEMS Principles and Paradigms Second Edition ANDREW S. TANENBAUM MAARTEN VAN STEEN Chapter 8 Fault Tolerance 1 Fault Tolerance Basic Concepts Being fault tolerant is strongly related to

More information

6. Results. This section describes the performance that was achieved using the RAMA file system.

6. Results. This section describes the performance that was achieved using the RAMA file system. 6. Results This section describes the performance that was achieved using the RAMA file system. The resulting numbers represent actual file data bytes transferred to/from server disks per second, excluding

More information

Practice: Large Systems Part 2, Chapter 2

Practice: Large Systems Part 2, Chapter 2 Practice: Large Systems Part 2, Chapter 2 Overview Introduction Strong Consistency Crash Failures: Primary Copy, Commit Protocols Crash Recovery Failures: Paxos, Chubby Byzantine Failures: PBFT, Zyzzyva

More information

Introduction Data Model API Building Blocks SSTable Implementation Tablet Location Tablet Assingment Tablet Serving Compactions Refinements

Introduction Data Model API Building Blocks SSTable Implementation Tablet Location Tablet Assingment Tablet Serving Compactions Refinements Fay Chang, Jeffrey Dean, Sanjay Ghemawat, Wilson C. Hsieh, Deborah A. Wallach Mike Burrows, Tushar Chandra, Andrew Fikes, Robert E. Gruber Google, Inc. M. Burak ÖZTÜRK 1 Introduction Data Model API Building

More information

Authors : Sanjay Ghemawat, Howard Gobioff, Shun-Tak Leung Presentation by: Vijay Kumar Chalasani

Authors : Sanjay Ghemawat, Howard Gobioff, Shun-Tak Leung Presentation by: Vijay Kumar Chalasani The Authors : Sanjay Ghemawat, Howard Gobioff, Shun-Tak Leung Presentation by: Vijay Kumar Chalasani CS5204 Operating Systems 1 Introduction GFS is a scalable distributed file system for large data intensive

More information

Data Modeling and Databases Ch 14: Data Replication. Gustavo Alonso, Ce Zhang Systems Group Department of Computer Science ETH Zürich

Data Modeling and Databases Ch 14: Data Replication. Gustavo Alonso, Ce Zhang Systems Group Department of Computer Science ETH Zürich Data Modeling and Databases Ch 14: Data Replication Gustavo Alonso, Ce Zhang Systems Group Department of Computer Science ETH Zürich Database Replication What is database replication The advantages of

More information

Java Concurrency in practice Chapter 9 GUI Applications

Java Concurrency in practice Chapter 9 GUI Applications Java Concurrency in practice Chapter 9 GUI Applications INF329 Spring 2007 Presented by Stian and Eirik 1 Chapter 9 GUI Applications GUI applications have their own peculiar threading issues To maintain

More information

Cloud Computing CS

Cloud Computing CS Cloud Computing CS 15-319 Distributed File Systems and Cloud Storage Part I Lecture 12, Feb 22, 2012 Majd F. Sakr, Mohammad Hammoud and Suhail Rehman 1 Today Last two sessions Pregel, Dryad and GraphLab

More information