Data Replication CS 188 Distributed Systems February 3, 2015
|
|
- Helen Conley
- 5 years ago
- Views:
Transcription
1 Data Replication CS 188 Distributed Systems February 3, 2015 Page 1
2 Some Other Possibilities What if the machines sharing files are portable and not always connected? What if the machines communicate across the Internet? What if the load on some files is too heavy for a single machine? Page 2
3 An Answer to These Questions Replicate the data Keep multiple copies of the data on different machines Depending on details, make different copies available for different purposes Page 3
4 How Does This Help? What if the machines sharing files are portable and not always connected? Put a replica of the data on the portable machine What if the machines communicate across the Internet? Avoid expensive cross-internet traffic by having replicas on both sides What if the load on some files is too heavy for a single machine? Share the load among multiple replicas Page 4
5 Other Replication Advantages Reliability If one machine fails, replicas of its data might be elsewhere Flexibility Easier to assign data workloads to storage resources Page 5
6 The Replication Concept When in When the in When the in the When in When the in the course of human course of human course of human course of course human of human events it becomes events it becomes events it becomes events it becomes events it becomes necessary for necessary one for necessary one for necessary one necessary for one for one people to. people.. to. people.. to. people.. to people... to... There is a conceptual object (like a file) We keep more than one physical copy of it Maybe several Each copy is meant to be a full representation of the object So accessing any should be the same as accessing any other Page 6
7 Replication and Caching The two are obviously similar Caching usually implies it s temporary Replication usually implies it s permanent Caching is usually for local use only Replication is usually for more general use These distinctions are not actually binary, though Permanent isn t always really permanent Some caches service multiple machines Page 7
8 There Are Some Differences For example, invalidation on write is feasible for cached data It isn t feasible for replicated data One can always throw away a cached copy of data (modulo local needs) One can t always throw away a replica Especially the only one Page 8
9 Replication and Reading If the data is read-only, the replication problem is easy IF... The problems arise if the data is ever written Life then becomes much more complicated Page 9
10 Read-Only Replication Merely ensure that all copies start off the same They never change Accessing any copy as good as any other Still a problem of finding and choosing replicas to access Page 10
11 Read-Only Data and Metadata Usually we treat file metadata as part of the file Maybe the data is read only But is the metadata? How about access permissions? How about access time? If metadata can be updated, you still have issues Page 11
12 Choosing Read-Only Replicas Mostly a performance question Which one is closest? Which one is least loaded? Initial placement might make a big difference And what if replicas can move? Page 12
13 Varying Read-Only Replication Factors We can add or delete read-only replicas easily Some issues regarding open files When should we add a replica? When should we delete a replica? When should we move a replica to a different location? Page 13
14 Replication and Writing Life becomes complicated when you write replicated data Physically the write occurs at one copy Logically the write should be applied to all copies Going from the physical reality to the logical goal is challenging Page 14
15 Illustrating the Problem When Forescore in the and course seven years of human ago, events our forefathers it becomes necessary brought for one people forth. to.... When Forescore in the and course seven years of human ago, events our forefathers it becomes necessary brought for one people forth. to.... We write to the yellow replica The yellow and blue replicas should be the same, but they aren t What do we do? Problem solved! But... Page 15
16 A Fly in the Ointment When in the course of human events it becomes necessary for one people to... Forescore When in the and seven course years of human ago, our events forefathers it becomes brought necessary for one forth people. to.... We ve gotten ourselves into this state What if the writer s next access is to the other replica? Page 16
17 A Worse Situation When in the course of human events it becomes necessary for one people to... Forescore and seven years ago, our forefathers brought forth... What if someone else reads the other copy? Page 17
18 An Even Worse Situation When Ask not in what the course your country of human can events do for you, it becomes but necessary what you can for one do people for your to country... Forescore and seven years ago, our forefathers brought forth... What if someone else writes the other copy? Page 18
19 These Situations Arose Before Distributed Computing What if there are two processes on one machine? What if they read a file and then both choose to write it? Or one writes without the other s knowledge? Still problematic, but easier to solve Page 19
20 Single Machine Solutions Have only one copy of shared data Replication advantages less on a single machine, anyway Use locks to control access to shared data Both solutions rely on a single piece of storage that both parties consult So they don t work on two machines Page 20
21 Cross-Machine Locking Why can t I just share a lock between two machines? A lock is really a piece of data Saying who holds it Either you store it on one machine or on both Storing on just one leads to performance and reliability problems Storing on both gets us back to our original problem But now the shared data is the lock itself Page 21
22 Primary Copy Options Only allow writes to one replica So no issue of conflicting writes to different replicas Doesn t solve the read/write concurrency problem Issues if the primary copy fails Or if its server is overloaded Or if there are network partitions Page 22
23 A Diversion Into Clocks Ultimately, these issues relate to the question of ordering events What order do things happen in? In a distributed system One form of ordering used a lot in the real world is time Can we use time to solve our problem? Page 23
24 Time Services One way to make things happen in order is to timestamp them Read a clock and slap a time stamp on the event As in normal life, things only happen in time order Possible solution for ordering distributed events Page 24
25 Time Services and Replication Maybe we can slap a timestamp on every write And maybe use timestamps to control reads The timestamps of multiple writes control the order in which they occur Doesn t solve all the problems, but does solve some Page 25
26 Using a Clock 3:15 3:22 3:27 Node 1 Node 2 3:15 3:15 A To B 3:15 To C C Read the clock To B B 3:22 Node 3 Now B can know the proper order of writes Page 26
27 The Problem With Clocks A clock is (ultimately) a physical resource So it s in exactly one place We use messages to access remote places And messages take varying amounts of time to get from one place to another So, with a single clock, can t guarantee proper ordering Page 27
28 Solutions to Clock Problems Physical clocks Logical clocks Page 28
29 Physical Clocks Each node keeps its own local clock Modern machines always have them, anyway Stamp each synchronizable event with the local clock Problem becomes keeping the clocks synchronized Page 29
30 Globally Accessible Clocks In the general case, this usually means GPS clocks GPS satellites broadcast highly accurate clock signals Over the entire Earth s surface Anyone with a GPS receiver that s working can hear it Page 30
31 Pros and Cons of Physical Clocks + Simplicity Need constant access to clock Transmission errors/delays damage synchronization Requires strong knowledge of transmission delays Never possible to reduce clock skew to zero Page 31
32 Logical Clocks Don t try to keep track of passage of actual time Use a logical mechanism to keep track of proper order of events Essentially, assign artificial timestamps that maintain the causality required for the computation Page 32
33 When Are Logical Clocks Useful? When relative order of events is the issue Rather than relationship to wall clock time Often the case for operations of distributed applications Not always when there is a relationship to the real world Page 33
34 Lamport Clocks Fundamental logical clock system Each process P i has a clock C i Each event is assigned a time at its processor is the happens-before relation a If a b means a happened before b b, C(a) < C(b) Page 34
35 Implementing Lamport Clocks Whenever an event occurs, increment the local clock Assign new value to event But how do we provide the correct global view? Since processes live on different processors Page 35
36 Handling Messages in Lamport Clocks Processes communicate only via send and receive of messages Which are events If P i sends to P j, C i (send) < C j (receive) Since send must happen-before receive How do we force that? Page 36
37 Rules for Lamport Clocks 1). If a b within the same process, C(a) < C(b) 2). If a is a sending event in P i and b is the corresponding receiving event in P j, then C(a) < C(b) Enforcing Rule 1 is easy, since it s on the same processor Page 37
38 Enforcing Rule 2 Timestamp outgoing messages with time of send Receiver j adds increment d to maximum of message timestamp and local clock C j = max(c(a), C j ) + d C(b) = C j Ensures that receive event b gets a clock value after send event a Page 38
39 Lamport Clocks Example 1 i 1 20 a 1 send 2 2 j receive C(a) =1, C(send) = 2, C(receive) = 3 C(a) < C(send) C(send) < C(receive) Page 39
40 Properties of Lamport Clocks Happens-before is transitive If a b and b c, then a c If a b, then C(a) < C(b) But the converse is not true C(a) < C(b) does not imply a b How can that happen? Page 40
41 Lamport Clock Example 2 i 01 2 a 1 b 2 j 01 d 1 C(a) =1, C(b) = 2, C(d) = 1 C(a) < C(b) C(d) < C(b)????!!!!????!!!! Page 41
42 The Sad Truth About Distributed Systems Concurrency Abandon all hope ye who enter here You ve got to forget your godlike view In the absence of a physical clock, YOU CAN T ORDER ALL EVENTS PROPERLY!!!!!!!! But perhaps you don t believe that... Page 42
43 Lamport Clock Example 3 i 01 2 a 1 b 2 j d C(a) =1, C(b) = 2, C(d) = 1 But the order of events was different than before Page 43
44 Why Do We Have This Problem? Not really because we aren t keeping a physical clock It s because we aren t communicating enough to derive the order If each process sent the other a message after each local event, our examples would have proper ordering Page 44
45 Obtaining the Proper Order for Example 2 i a 1 b 2 send 3 3 Synchronize j receive C(a)<C(b), C(b)<C(d) d 5 Page 45
46 And For Example 3 receive a b i Synchronize d send j C(d) < C(a), C(a) < C(b) Page 46
47 But There s a Problem What if we have true concurrency? What if an event occurs while a synchronization message is in transit? Page 47
48 Lamport Clocks Example 4 i 01 2 Synchronize a 1 j 01 2 d 1 send 2 C(d) = C(a) Because of concurrency, you can t win Page 48
49 Lamport Clocks and Partial Orders Basic Lamport clocks only give a partial order They don t order events with equal times Easy to provide a full order Number all processes Concatenate process number to clock Page 49
50 In Our Examples, Say process i is numbered 1 and process j is numbered 2 In example 1, no equal times In example 2, C(a) = 1,1 C(b) = 2,1 C(d) = 1,2 So C(a) is ordered before C(d) Page 50
51 Fully Ordered Clocks in Example 1 i 1 20 a 1,1 send 2,1 2 receive j ,2 Page 51
52 Fully Ordered Clocks in Example 2 i 01 2 a 1,1 b 2,1 j 01 1,2 But d still ordered before b d Page 52
53 Don t Read Too Much Into This Ordering In example 3, C(a) = 1,1 C(b) = 2,1 C(d) = 1,2 C(a) is still ordered before C(d) Even though we know C(d) happened first This ordering is complete, but somewhat arbitrary Page 53
54 Fully Ordered Clocks in Example 3 a b i ,1 2,1 j 0 1 d 1,2 Page 54
55 Vector Logical Clocks In normal Lamport clocks, C(a) < C(b) does not imply a happened before b a and b might be concurrent, instead Vector clocks allow us to distinguish those cases At the cost of keeping more information Page 55
56 How Vector Clocks Work Each process keeps a vector of clocks For n total processes, n vector elements, one per process Each element of the vector is the newest clock from that process seen locally Comparisons are done on full vectors Page 56
57 Vector Clock Example i j a 1,0,0 b 0,1,0 e 2,0,0 f 2,2,0 When message arrives, Greater-than C(a)<C(e)<C(f) operation matches set each vector element C(b)<C(f) Lamport criteria separately exactly But, C(a)!< C(b) d k ,0,1 Page 57
58 Vector Clocks Pros and Cons + Partial ordering only where causal relationships exist Higher overheads for clock storage and message transport Potentially killers for huge numbers of processes Tricky (not impossible) when number of processes changes Page 58
59 What s This Got to Do With Replication? Writes can be clock events We can use vector clocks to keep track of writes to multiple replicas Doesn t prevent concurrent writes But does detect them Which leads to the possibility of optimistic replication Page 59
Example File Systems Using Replication CS 188 Distributed Systems February 10, 2015
Example File Systems Using Replication CS 188 Distributed Systems February 10, 2015 Page 1 Example Replicated File Systems NFS Coda Ficus Page 2 NFS Originally NFS did not have any replication capability
More informationArranging lunch value of preserving the causal order. a: how about lunch? meet at 12? a: <receives b then c>: which is ok?
Lamport Clocks: First, questions about project 1: due date for the design document is Thursday. Can be less than a page what we re after is for you to tell us what you are planning to do, so that we can
More informationConsistency: Relaxed. SWE 622, Spring 2017 Distributed Software Engineering
Consistency: Relaxed SWE 622, Spring 2017 Distributed Software Engineering Review: HW2 What did we do? Cache->Redis Locks->Lock Server Post-mortem feedback: http://b.socrative.com/ click on student login,
More informationClock Synchronization. Synchronization. Clock Synchronization Algorithms. Physical Clock Synchronization. Tanenbaum Chapter 6 plus additional papers
Clock Synchronization Synchronization Tanenbaum Chapter 6 plus additional papers Fig 6-1. In a distributed system, each machine has its own clock. When this is the case, an event that occurred after another
More informationConsistency. CS 475, Spring 2018 Concurrent & Distributed Systems
Consistency CS 475, Spring 2018 Concurrent & Distributed Systems Review: 2PC, Timeouts when Coordinator crashes What if the bank doesn t hear back from coordinator? If bank voted no, it s OK to abort If
More information10. 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 informationDatabase Architectures
Database Architectures CPS352: Database Systems Simon Miner Gordon College Last Revised: 4/15/15 Agenda Check-in Parallelism and Distributed Databases Technology Research Project Introduction to NoSQL
More informationDistributed 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 informationCSE 5306 Distributed Systems
CSE 5306 Distributed Systems Synchronization Jia Rao http://ranger.uta.edu/~jrao/ 1 Synchronization An important issue in distributed system is how process cooperate and synchronize with one another Cooperation
More informationDistributed 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 informationLast Class: Naming. Today: Classical Problems in Distributed Systems. Naming. Time ordering and clock synchronization (today)
Last Class: Naming Naming Distributed naming DNS LDAP Lecture 12, page 1 Today: Classical Problems in Distributed Systems Time ordering and clock synchronization (today) Next few classes: Leader election
More informationInside the PostgreSQL Shared Buffer Cache
Truviso 07/07/2008 About this presentation The master source for these slides is http://www.westnet.com/ gsmith/content/postgresql You can also find a machine-usable version of the source code to the later
More informationTime Synchronization and Logical Clocks
Time Synchronization and Logical Clocks CS 240: Computing Systems and Concurrency Lecture 5 Mootaz Elnozahy Today 1. The need for time synchronization 2. Wall clock time synchronization 3. Logical Time
More informationFirewalls Network Security: Firewalls and Virtual Private Networks CS 239 Computer Software March 3, 2003
Firewalls Network Security: Firewalls and Virtual Private Networks CS 239 Computer Software March 3, 2003 A system or combination of systems that enforces a boundary between two or more networks - NCSA
More informationDistributed 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 informationConcurrency control CS 417. Distributed Systems CS 417
Concurrency control CS 417 Distributed Systems CS 417 1 Schedules Transactions must have scheduled so that data is serially equivalent Use mutual exclusion to ensure that only one transaction executes
More informationConsistency 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 informationGoldibear and the 3 Locks. Programming With Locks Is Tricky. More Lock Madness. And To Make It Worse. Transactional Memory: The Big Idea
Programming With Locks s Tricky Multicore processors are the way of the foreseeable future thread-level parallelism anointed as parallelism model of choice Just one problem Writing lock-based multi-threaded
More informationTime Synchronization and Logical Clocks
Time Synchronization and Logical Clocks CS 240: Computing Systems and Concurrency Lecture 5 Marco Canini Credits: Michael Freedman and Kyle Jamieson developed much of the original material. Today 1. The
More informationMulti-threaded programming in Java
Multi-threaded programming in Java Java allows program to specify multiple threads of execution Provides instructions to ensure mutual exclusion, and selective blocking/unblocking of threads What is a
More information殷亚凤. Synchronization. Distributed Systems [6]
Synchronization Distributed Systems [6] 殷亚凤 Email: yafeng@nju.edu.cn Homepage: http://cs.nju.edu.cn/yafeng/ Room 301, Building of Computer Science and Technology Review Protocols Remote Procedure Call
More informationConsistency 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 informationLecture 7: Logical Time
Lecture 7: Logical Time 1. Question from reviews a. In protocol, is in- order delivery assumption reasonable? i. TCP provides it b. In protocol, need all participants to be present i. Is this a reasonable
More informationVirtual Memory. Kevin Webb Swarthmore College March 8, 2018
irtual Memory Kevin Webb Swarthmore College March 8, 2018 Today s Goals Describe the mechanisms behind address translation. Analyze the performance of address translation alternatives. Explore page replacement
More informationChapter 6 Synchronization (1)
DISTRIBUTED SYSTEMS Principles and Paradigms Second Edition ANDREW S. TANENBAUM MAARTEN VAN STEEN Chapter 6 Synchronization (1) With material from Ken Birman Tanenbaum & Van Steen, Distributed Systems:
More information10. Replication. CSEP 545 Transaction Processing Philip A. Bernstein. Copyright 2003 Philip A. Bernstein. Outline
10. Replication CSEP 545 Transaction Processing Philip A. Bernstein Copyright 2003 Philip A. Bernstein 1 Outline 1. Introduction 2. Primary-Copy Replication 3. Multi-Master Replication 4. Other Approaches
More informationCSE 5306 Distributed Systems. Synchronization
CSE 5306 Distributed Systems Synchronization 1 Synchronization An important issue in distributed system is how processes cooperate and synchronize with one another Cooperation is partially supported by
More informationCS 162 Operating Systems and Systems Programming Professor: Anthony D. Joseph Spring Lecture 21: Network Protocols (and 2 Phase Commit)
CS 162 Operating Systems and Systems Programming Professor: Anthony D. Joseph Spring 2003 Lecture 21: Network Protocols (and 2 Phase Commit) 21.0 Main Point Protocol: agreement between two parties as to
More informationEvent Ordering. Greg Bilodeau CS 5204 November 3, 2009
Greg Bilodeau CS 5204 November 3, 2009 Fault Tolerance How do we prepare for rollback and recovery in a distributed system? How do we ensure the proper processing order of communications between distributed
More informationTime. COS 418: Distributed Systems Lecture 3. Wyatt Lloyd
Time COS 418: Distributed Systems Lecture 3 Wyatt Lloyd Today 1. The need for time synchronization 2. Wall clock time synchronization 3. Logical Time: Lamport Clocks 2 A distributed edit-compile workflow
More informationDistributed Systems. Lec 11: Consistency Models. Slide acks: Jinyang Li, Robert Morris
Distributed Systems Lec 11: Consistency Models Slide acks: Jinyang Li, Robert Morris (http://pdos.csail.mit.edu/6.824/notes/l06.txt, http://www.news.cs.nyu.edu/~jinyang/fa09/notes/ds-consistency.pdf) 1
More informationOutline More Security Protocols CS 239 Computer Security February 6, 2006
Outline More Security Protocols CS 239 Computer Security February 6, 2006 Combining key distribution and authentication Verifying security protocols Page 1 Page 2 Combined Key Distribution and Authentication
More informationData-Centric Consistency Models. The general organization of a logical data store, physically distributed and replicated across multiple processes.
Data-Centric Consistency Models The general organization of a logical data store, physically distributed and replicated across multiple processes. Consistency models The scenario we will be studying: Some
More informationChapter01.fm Page 1 Monday, August 23, :52 PM. Part I of Change. The Mechanics. of Change
Chapter01.fm Page 1 Monday, August 23, 2004 1:52 PM Part I The Mechanics of Change The Mechanics of Change Chapter01.fm Page 2 Monday, August 23, 2004 1:52 PM Chapter01.fm Page 3 Monday, August 23, 2004
More informationTIME ATTRIBUTION 11/4/2018. George Porter Nov 6 and 8, 2018
TIME George Porter Nov 6 and 8, 2018 ATTRIBUTION These slides are released under an Attribution-NonCommercial-ShareAlike 3.0 Unported (CC BY-NC-SA 3.0) Creative Commons license These slides incorporate
More informationTradeoff Evaluation. Comparison between CB-R and CB-A as they only differ for this aspect.
Tradeoff Evaluation Comparison between C2PL and CB-A, as both: Allow intertransaction caching Don t use propagation Synchronously activate consistency actions Tradeoff Evaluation Comparison between CB-R
More informationDistributed Systems. Lec 12: Consistency Models Sequential, Causal, and Eventual Consistency. Slide acks: Jinyang Li
Distributed Systems Lec 12: Consistency Models Sequential, Causal, and Eventual Consistency Slide acks: Jinyang Li (http://www.news.cs.nyu.edu/~jinyang/fa10/notes/ds-eventual.ppt) 1 Consistency (Reminder)
More informationGFS 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 informationDistributed Systems 8L for Part IB
Distributed Systems 8L for Part IB Handout 3 Dr. Steven Hand 1 Distributed Mutual Exclusion In first part of course, saw need to coordinate concurrent processes / threads In particular considered how to
More informationScaling Out Key-Value Storage
Scaling Out Key-Value Storage COS 418: Distributed Systems Logan Stafman [Adapted from K. Jamieson, M. Freedman, B. Karp] Horizontal or vertical scalability? Vertical Scaling Horizontal Scaling 2 Horizontal
More informationLecture 6: Logical Time
Lecture 6: Logical Time 1. Question from reviews a. 2. Key problem: how do you keep track of the order of events. a. Examples: did a file get deleted before or after I ran that program? b. Did this computers
More informationClock and Time. THOAI NAM Faculty of Information Technology HCMC University of Technology
Clock and Time THOAI NAM Faculty of Information Technology HCMC University of Technology Using some slides of Prashant Shenoy, UMass Computer Science Chapter 3: Clock and Time Time ordering and clock synchronization
More informationCSE 5306 Distributed Systems. Consistency and Replication
CSE 5306 Distributed Systems Consistency and Replication 1 Reasons for Replication Data are replicated for the reliability of the system Servers are replicated for performance Scaling in numbers Scaling
More informationDatabase Architectures
Database Architectures CPS352: Database Systems Simon Miner Gordon College Last Revised: 11/15/12 Agenda Check-in Centralized and Client-Server Models Parallelism Distributed Databases Homework 6 Check-in
More informationAvailability versus consistency. Eventual Consistency: Bayou. Eventual consistency. Bayou: A Weakly Connected Replicated Storage System
Eventual Consistency: Bayou Availability versus consistency Totally-Ordered Multicast kept replicas consistent but had single points of failure Not available under failures COS 418: Distributed Systems
More informationIntegrity 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 informationConcurrency Control Algorithms
Concurrency Control Algorithms Given a number of conflicting transactions, the serializability theory provides criteria to study the correctness of a possible schedule of execution it does not provide
More information4.1 Review - the DPLL procedure
Applied Logic Lecture 4: Efficient SAT solving CS 4860 Spring 2009 Thursday, January 29, 2009 The main purpose of these notes is to help me organize the material that I used to teach today s lecture. They
More informationFLAT DATACENTER STORAGE. Paper-3 Presenter-Pratik Bhatt fx6568
FLAT DATACENTER STORAGE Paper-3 Presenter-Pratik Bhatt fx6568 FDS Main discussion points A cluster storage system Stores giant "blobs" - 128-bit ID, multi-megabyte content Clients and servers connected
More informationHorizontal or vertical scalability? Horizontal scaling is challenging. Today. Scaling Out Key-Value Storage
Horizontal or vertical scalability? Scaling Out Key-Value Storage COS 418: Distributed Systems Lecture 8 Kyle Jamieson Vertical Scaling Horizontal Scaling [Selected content adapted from M. Freedman, B.
More informationwait with priority An enhanced version of the wait operation accepts an optional priority argument:
wait with priority An enhanced version of the wait operation accepts an optional priority argument: syntax: .wait the smaller the value of the parameter, the highest the priority
More informationCS6450: Distributed Systems Lecture 13. Ryan Stutsman
Eventual Consistency CS6450: Distributed Systems Lecture 13 Ryan Stutsman Material taken/derived from Princeton COS-418 materials created by Michael Freedman and Kyle Jamieson at Princeton University.
More informationDistributed Coordination 1/39
Distributed Coordination 1/39 Overview Synchronization of distributed processes requires new concepts in addition to synchronization of processes in single multi-core systems. Topics: Notion of global
More informationNFS: 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 informationSCALABLE CONSISTENCY AND TRANSACTION MODELS
Data Management in the Cloud SCALABLE CONSISTENCY AND TRANSACTION MODELS 69 Brewer s Conjecture Three properties that are desirable and expected from realworld shared-data systems C: data consistency A:
More informationExam 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 informationCache Coherence and Atomic Operations in Hardware
Cache Coherence and Atomic Operations in Hardware Previously, we introduced multi-core parallelism. Today we ll look at 2 things: 1. Cache coherence 2. Instruction support for synchronization. And some
More informationIP FUNDAMENTALS FOR LIVE MULTI-CAMERA VIDEO A PRIMER FOR BROADCASTERS AND PRODUCTION FACILITIES
IP FUNDAMENTALS FOR LIVE MULTI-CAMERA VIDEO A PRIMER FOR BROADCASTERS AND PRODUCTION FACILITIES LIVE VIDEO: SMARTER, BETTER-CONNECTED, MORE FLEXIBLE LIVE VIDEO: SMARTER, BETTER-CONNECTED, MORE FLEXIBLE
More informationUbiquitous and Mobile Computing CS 525M: Virtually Unifying Personal Storage for Fast and Pervasive Data Accesses
Ubiquitous and Mobile Computing CS 525M: Virtually Unifying Personal Storage for Fast and Pervasive Data Accesses Pengfei Tang Computer Science Dept. Worcester Polytechnic Institute (WPI) Introduction:
More informationReplication in Distributed Systems
Replication in Distributed Systems Replication Basics Multiple copies of data kept in different nodes A set of replicas holding copies of a data Nodes can be physically very close or distributed all over
More informationCS 3640: Introduction to Networks and Their Applications
CS 3640: Introduction to Networks and Their Applications Fall 2018, Lecture 7: The Link Layer II Medium Access Control Protocols Instructor: Rishab Nithyanand Teaching Assistant: Md. Kowsar Hossain 1 You
More informationOutline. More Security Protocols CS 239 Security for System Software April 22, Needham-Schroeder Key Exchange
Outline More Security Protocols CS 239 Security for System Software April 22, 2002 Combining key distribution and authentication Verifying security protocols Page 1 Page 2 Combined Key Distribution and
More informationTrombone players produce different pitches partly by varying the length of a tube.
Trombone players produce different pitches partly by varying the length of a tube. 7 Variables A variable is a connection between a name and a value.* That sounds simple enough, but some complexities arise
More informationVirtualization. Q&A with an industry leader. Virtualization is rapidly becoming a fact of life for agency executives,
Virtualization Q&A with an industry leader Virtualization is rapidly becoming a fact of life for agency executives, as the basis for data center consolidation and cloud computing and, increasingly, as
More informationSynchronization. Clock Synchronization
Synchronization Clock Synchronization Logical clocks Global state Election algorithms Mutual exclusion Distributed transactions 1 Clock Synchronization Time is counted based on tick Time judged by query
More informationEECS 498 Introduction to Distributed Systems
EECS 498 Introduction to Distributed Systems Fall 2017 Harsha V. Madhyastha Dynamo Recap Consistent hashing 1-hop DHT enabled by gossip Execution of reads and writes Coordinated by first available successor
More informationLecture 6 Consistency and Replication
Lecture 6 Consistency and Replication Prof. Wilson Rivera University of Puerto Rico at Mayaguez Electrical and Computer Engineering Department Outline Data-centric consistency Client-centric consistency
More informationConsistency and Replication
Consistency and Replication 1 D R. Y I N G W U Z H U Reasons for Replication Data are replicated to increase the reliability of a system. Replication for performance Scaling in numbers Scaling in geographical
More informationDISTRIBUTED COMPUTER SYSTEMS
DISTRIBUTED COMPUTER SYSTEMS CONSISTENCY AND REPLICATION CONSISTENCY MODELS Dr. Jack Lange Computer Science Department University of Pittsburgh Fall 2015 Consistency Models Background Replication Motivation
More informationCSC 2209: CLOUD STORAGE FINAL PROJECT
CSC 2209: CLOUD STORAGE FINAL PROJECT DAVID SOLYMOSI AND JIMMY ZHU 1. High Level Overview We implemented a backup and sync service with a focus on minimizing network traffic at the cost of local storage
More informationBackground. Let s see what we prescribed.
Background Patient B s custom application had slowed down as their data grew. They d tried several different relief efforts over time, but performance issues kept popping up especially deadlocks. They
More informationDistributed Systems 8L for Part IB. Additional Material (Case Studies) Dr. Steven Hand
Distributed Systems 8L for Part IB Additional Material (Case Studies) Dr. Steven Hand 1 Introduction The Distributed Systems course covers a wide range of topics in a variety of areas This handout includes
More informationBuilding Consistent Transactions with Inconsistent Replication
Building Consistent Transactions with Inconsistent Replication Irene Zhang, Naveen Kr. Sharma, Adriana Szekeres, Arvind Krishnamurthy, Dan R. K. Ports University of Washington Distributed storage systems
More informationPAGE REPLACEMENT. Operating Systems 2015 Spring by Euiseong Seo
PAGE REPLACEMENT Operating Systems 2015 Spring by Euiseong Seo Today s Topics What if the physical memory becomes full? Page replacement algorithms How to manage memory among competing processes? Advanced
More informationIntroduction CHAPTER. Practice Exercises. 1.1 What are the three main purposes of an operating system? Answer: The three main puropses are:
1 CHAPTER Introduction Practice Exercises 1.1 What are the three main purposes of an operating system? Answer: The three main puropses are: To provide an environment for a computer user to execute programs
More informationMemory Management: Virtual Memory and Paging CS 111. Operating Systems Peter Reiher
Memory Management: Virtual Memory and Paging Operating Systems Peter Reiher Page 1 Outline Paging Swapping and demand paging Virtual memory Page 2 Paging What is paging? What problem does it solve? How
More informationWEEK 5 - APPLICATION OF PETRI NETS. 4.4 Producers-consumers problem with priority
4.4 Producers-consumers problem with priority The net shown in Fig. 27 represents a producers-consumers system with priority, i.e., consumer A has priority over consumer B in the sense that A can consume
More informationOperating System Principles: Memory Management Swapping, Paging, and Virtual Memory CS 111. Operating Systems Peter Reiher
Operating System Principles: Memory Management Swapping, Paging, and Virtual Memory Operating Systems Peter Reiher Page 1 Outline Swapping Paging Virtual memory Page 2 Swapping What if we don t have enough
More informationThe SD-WAN security guide
The SD-WAN security guide How a flexible, software-defined WAN can help protect your network, people and data SD-WAN security: Separating fact from fiction For many companies, the benefits of SD-WAN are
More informationDistributed 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 informationGFS: The Google File System
GFS: The Google File System Brad Karp UCL Computer Science CS GZ03 / M030 24 th October 2014 Motivating Application: Google Crawl the whole web Store it all on one big disk Process users searches on one
More informationRecap. CSE 486/586 Distributed Systems Case Study: Amazon Dynamo. Amazon Dynamo. Amazon Dynamo. Necessary Pieces? Overview of Key Design Techniques
Recap CSE 486/586 Distributed Systems Case Study: Amazon Dynamo Steve Ko Computer Sciences and Engineering University at Buffalo CAP Theorem? Consistency, Availability, Partition Tolerance P then C? A?
More informationHomework #1 (Spring 2012) Due: Tuesday, February 28, 2012
Name: AndrewID: 15-440 Homework #1 (Spring 2012) Due: Tuesday, February 28, 2012 Communication 1. Consider a sliding window protocol, such as the one we discussed in class. What effect does the window
More informationCS 147: Computer Systems Performance Analysis
CS 147: Computer Systems Performance Analysis Test Loads CS 147: Computer Systems Performance Analysis Test Loads 1 / 33 Overview Overview Overview 2 / 33 Test Load Design Test Load Design Test Load Design
More informationCSE 5306 Distributed Systems
CSE 5306 Distributed Systems Consistency and Replication Jia Rao http://ranger.uta.edu/~jrao/ 1 Reasons for Replication Data is replicated for the reliability of the system Servers are replicated for performance
More informationEnterprise Integration Patterns: Designing, Building, and Deploying Messaging Solutions
Enterprise Integration Patterns: Designing, Building, and Deploying Messaging Solutions Chapter 1: Solving Integration Problems Using Patterns 2 Introduction The Need for Integration Integration Challenges
More informationEventual Consistency 1
Eventual Consistency 1 Readings Werner Vogels ACM Queue paper http://queue.acm.org/detail.cfm?id=1466448 Dynamo paper http://www.allthingsdistributed.com/files/ amazon-dynamo-sosp2007.pdf Apache Cassandra
More informationFinal Examination CS 111, Fall 2016 UCLA. Name:
Final Examination CS 111, Fall 2016 UCLA Name: This is an open book, open note test. You may use electronic devices to take the test, but may not access the network during the test. You have three hours
More informationPrecedence Graphs Revisited (Again)
Precedence Graphs Revisited (Again) [i,i+6) [i+6,i+12) T 2 [i,i+6) [i+6,i+12) T 3 [i,i+2) [i+2,i+4) [i+4,i+6) [i+6,i+8) T 4 [i,i+1) [i+1,i+2) [i+2,i+3) [i+3,i+4) [i+4,i+5) [i+5,i+6) [i+6,i+7) T 5 [i,i+1)
More informationDistributed Systems (5DV147)
Distributed Systems (5DV147) Replication and consistency Fall 2013 1 Replication 2 What is replication? Introduction Make different copies of data ensuring that all copies are identical Immutable data
More informationModule 7 - Replication
Module 7 - Replication Replication Why replicate? Reliability Avoid single points of failure Performance Scalability in numbers and geographic area Why not replicate? Replication transparency Consistency
More informationCSE 461: Bridging LANs. Last Topic
CSE 461: Bridging LANs Last Topic Medium Access Control (MAC) protocols Part of the Link Layer At the heart of Local Area Networks (LANs) How do multiple parties share a wire or the air? Random access
More informationLecture 12: Demand Paging
Lecture 1: Demand Paging CSE 10: Principles of Operating Systems Alex C. Snoeren HW 3 Due 11/9 Complete Address Translation We started this topic with the high-level problem of translating virtual addresses
More informationPROJECT 6: PINTOS FILE SYSTEM. CS124 Operating Systems Winter , Lecture 25
PROJECT 6: PINTOS FILE SYSTEM CS124 Operating Systems Winter 2015-2016, Lecture 25 2 Project 6: Pintos File System Last project is to improve the Pintos file system Note: Please ask before using late tokens
More informationCeph: A Scalable, High-Performance Distributed File System
Ceph: A Scalable, High-Performance Distributed File System S. A. Weil, S. A. Brandt, E. L. Miller, D. D. E. Long Presented by Philip Snowberger Department of Computer Science and Engineering University
More information殷亚凤. Consistency and Replication. Distributed Systems [7]
Consistency and Replication Distributed Systems [7] 殷亚凤 Email: yafeng@nju.edu.cn Homepage: http://cs.nju.edu.cn/yafeng/ Room 301, Building of Computer Science and Technology Review Clock synchronization
More informationCS 138: Dynamo. CS 138 XXIV 1 Copyright 2017 Thomas W. Doeppner. All rights reserved.
CS 138: Dynamo CS 138 XXIV 1 Copyright 2017 Thomas W. Doeppner. All rights reserved. Dynamo Highly available and scalable distributed data store Manages state of services that have high reliability and
More informationA Survey on Peer-to-Peer File Systems
Christopher Chang May 10, 2007 CSE 598D: Storage Systems Department of Computer Science and Engineering The Pennsylvania State University A Survey on Peer-to-Peer File Systems Introduction Demand for information
More informationPresented By: Devarsh Patel
: Amazon s Highly Available Key-value Store Presented By: Devarsh Patel CS5204 Operating Systems 1 Introduction Amazon s e-commerce platform Requires performance, reliability and efficiency To support
More informationDistributed Mutual Exclusion
Distributed Mutual Exclusion Mutual Exclusion Well-understood in shared memory systems Requirements: at most one process in critical section (safety) if more than one requesting process, someone enters
More information