CSE 486/586, Spring 2012 CSE 486/586 Distributed Systems Wrap-up Steve Ko Computer Sciences and Engineering University at Buffalo.

Slides:



Advertisements
Similar presentations
CS425 /CSE424/ECE428 – Distributed Systems – Fall 2011 Material derived from slides by I. Gupta, M. Harandi, J. Hou, S. Mitra, K. Nahrstedt, N. Vaidya.
Advertisements

CSE 486/586, Spring 2012 CSE 486/586 Distributed Systems Leader Election Steve Ko Computer Sciences and Engineering University at Buffalo.
CSE 486/586, Spring 2012 CSE 486/586 Distributed Systems Consensus Steve Ko Computer Sciences and Engineering University at Buffalo.
CSE 486/586, Spring 2012 CSE 486/586 Distributed Systems Paxos Steve Ko Computer Sciences and Engineering University at Buffalo.
Failure Detection The ping-ack failure detector in a synchronous system satisfies – A: completeness – B: accuracy – C: neither – D: both.
CSE 486/586, Spring 2014 CSE 486/586 Distributed Systems Consistency Steve Ko Computer Sciences and Engineering University at Buffalo.
CSE 486/586, Spring 2013 CSE 486/586 Distributed Systems Consensus Steve Ko Computer Sciences and Engineering University at Buffalo.
CSE 486/586, Spring 2013 CSE 486/586 Distributed Systems Byzantine Fault Tolerance Steve Ko Computer Sciences and Engineering University at Buffalo.
CSE 486/586, Spring 2012 CSE 486/586 Distributed Systems Byzantine Fault Tolerance Steve Ko Computer Sciences and Engineering University at Buffalo.
CSE 486/586, Spring 2012 CSE 486/586 Distributed Systems Transactions Steve Ko Computer Sciences and Engineering University at Buffalo.
CSE 486/586, Spring 2012 CSE 486/586 Distributed Systems Replication Steve Ko Computer Sciences and Engineering University at Buffalo.
CSE 486/586, Spring 2013 CSE 486/586 Distributed Systems Paxos Steve Ko Computer Sciences and Engineering University at Buffalo.
CSE 486/586, Spring 2012 CSE 486/586 Distributed Systems Google Chubby Lock Service Steve Ko Computer Sciences and Engineering University at Buffalo.
CSE 486/586, Spring 2013 CSE 486/586 Distributed Systems Consistency Steve Ko Computer Sciences and Engineering University at Buffalo.
CSE 486/586, Spring 2013 CSE 486/586 Distributed Systems Concurrency Control Steve Ko Computer Sciences and Engineering University at Buffalo.
CS 425 / ECE 428 Distributed Systems Fall 2014 Indranil Gupta (Indy) August 26 – December 9, 2014 Lecture 1-29 Web: courses.engr.illinois.edu/cs425/ All.
CS603 Advanced Topics in Distributed Systems MWF 13:30-14:30 RHPH 162 Professor Chris Clifton.
CSE 486/586, Spring 2012 CSE 486/586 Distributed Systems Introduction Steve Ko Computer Sciences and Engineering University at Buffalo.
CSE 486/586, Spring 2012 CSE 486/586 Distributed Systems Logical Time Steve Ko Computer Sciences and Engineering University at Buffalo.
CSE 486/586, Spring 2013 CSE 486/586 Distributed Systems Logical Time Steve Ko Computer Sciences and Engineering University at Buffalo.
CSE 486/586, Spring 2012 CSE 486/586 Distributed Systems Distributed File Systems Steve Ko Computer Sciences and Engineering University at Buffalo.
CSE 486/586, Spring 2012 CSE 486/586 Distributed Systems Case Study: Amazon Dynamo Steve Ko Computer Sciences and Engineering University at Buffalo.
CSE 486/586, Spring 2012 CSE 486/586 Distributed Systems Consensus Steve Ko Computer Sciences and Engineering University at Buffalo.
Distributed Systems (15-440) Mohammad Hammoud December 4 th, 2013.
CSE 486/586 CSE 486/586 Distributed Systems Introduction Steve Ko Computer Sciences and Engineering University at Buffalo.
CSE 486/586, Spring 2013 CSE 486/586 Distributed Systems Introduction Steve Ko Computer Sciences and Engineering University at Buffalo.
CSE 486/586, Spring 2013 CSE 486/586 Distributed Systems Mid-Semester Overview Steve Ko Computer Sciences and Engineering University at Buffalo.
CSE 486/586, Spring 2013 CSE 486/586 Distributed Systems Mutual Exclusion Steve Ko Computer Sciences and Engineering University at Buffalo.
CSE 486/586, Spring 2012 CSE 486/586 Distributed Systems Distributed Shared Memory Steve Ko Computer Sciences and Engineering University at Buffalo.
CSE 486/586, Spring 2012 CSE 486/586 Distributed Systems Mutual Exclusion Steve Ko Computer Sciences and Engineering University at Buffalo.
CSE 486/586, Spring 2013 CSE 486/586 Distributed Systems Replication with View Synchronous Group Communication Steve Ko Computer Sciences and Engineering.
CSE 486/586, Spring 2013 CSE 486/586 Distributed Systems Wrap-up Steve Ko Computer Sciences and Engineering University at Buffalo.
CS 425/ECE 428/CSE424 Distributed Systems (Fall 2009) Lecture 8 Leader Election Section 12.3 Klara Nahrstedt.
CSE 486/586, Spring 2014 CSE 486/586 Distributed Systems Paxos Steve Ko Computer Sciences and Engineering University at Buffalo.
CSE 486/586, Spring 2013 CSE 486/586 Distributed Systems Global States Steve Ko Computer Sciences and Engineering University at Buffalo.
Lecture 11-1 Computer Science 425 Distributed Systems CS 425 / CSE 424 / ECE 428 Fall 2010 Indranil Gupta (Indy) September 28, 2010 Lecture 11 Leader Election.
CSE 486/586, Spring 2014 CSE 486/586 Distributed Systems Google Chubby Lock Service Steve Ko Computer Sciences and Engineering University at Buffalo.
CSE 486/586, Spring 2012 CSE 486/586 Distributed Systems Mutual Exclusion & Leader Election Steve Ko Computer Sciences and Engineering University.
CSE 486/586 CSE 486/586 Distributed Systems Byzantine Fault Tolerance Steve Ko Computer Sciences and Engineering University at Buffalo.
CSE 486/586, Spring 2014 CSE 486/586 Distributed Systems Consistency Steve Ko Computer Sciences and Engineering University at Buffalo.
CSE 486/586, Spring 2014 CSE 486/586 Distributed Systems Introduction Steve Ko Computer Sciences and Engineering University at Buffalo.
Lecture 29-1 Computer Science 425 Distributed Systems CS 425 / CSE 424 / ECE 428 Fall 2012 Indranil Gupta (Indy) August 27-December 11, 2012 Lecture 1-29.
CSE 486/586, Spring 2012 CSE 486/586 Distributed Systems Replication Steve Ko Computer Sciences and Engineering University at Buffalo.
CSE 486/586 CSE 486/586 Distributed Systems Global States Steve Ko Computer Sciences and Engineering University at Buffalo.
CSE 486/586, Spring 2013 CSE 486/586 Distributed Systems Byzantine Fault Tolerance Steve Ko Computer Sciences and Engineering University at Buffalo.
CSE 486/586, Spring 2014 CSE 486/586 Distributed Systems Transactions on Replicated Data Steve Ko Computer Sciences and Engineering University at Buffalo.
CSE 486/586, Spring 2014 CSE 486/586 Distributed Systems Google Spanner Steve Ko Computer Sciences and Engineering University at Buffalo.
CSE 486/586, Spring 2012 CSE 486/586 Distributed Systems Paxos Steve Ko Computer Sciences and Engineering University at Buffalo.
CSE 486/586 CSE 486/586 Distributed Systems Leader Election Steve Ko Computer Sciences and Engineering University at Buffalo.
CSE 486/586 CSE 486/586 Distributed Systems Consensus Steve Ko Computer Sciences and Engineering University at Buffalo.
CSE 486/586, Spring 2014 CSE 486/586 Distributed Systems Paxos Steve Ko Computer Sciences and Engineering University at Buffalo.
CSE 486/586, Spring 2014 CSE 486/586 Distributed Systems Byzantine Fault Tolerance Steve Ko Computer Sciences and Engineering University at Buffalo.
CSE 486/586, Spring 2013 CSE 486/586 Distributed Systems Consistency Steve Ko Computer Sciences and Engineering University at Buffalo.
CSE 486/586 Distributed Systems Byzantine Fault Tolerance
CSE 486/586 Distributed Systems Gossiping
CSE 486/586 Distributed Systems Wrap-up
CSE 486/586 Distributed Systems Leader Election
CSE 486/586 Distributed Systems Mid-Semester Overview
CSE 486/586 Distributed Systems Paxos
CSE 486/586 Distributed Systems Wrap-up
CSE 486/586 Distributed Systems Byzantine Fault Tolerance
CSE 486/586 Distributed Systems Leader Election
CSE 486/586 Distributed Systems Wrap-up
CSE 486/586 Distributed Systems Introduction
Distributed Systems (15-440)
CSE 486/586 Distributed Systems Consistency --- 1
CSE 486/586 Distributed Systems Byzantine Fault Tolerance
CSE 486/586 Distributed Systems Leader Election
CSE 486/586 Distributed Systems Mid-Semester Overview
Presentation transcript:

CSE 486/586, Spring 2012 CSE 486/586 Distributed Systems Wrap-up Steve Ko Computer Sciences and Engineering University at Buffalo

CSE 486/586, Spring 2012 Building a Distributed System “The number of people who know how to build really solid distributed systems…is about ten” –Scott Shenker, Professor at UC Berkeley Are you confident now? What were the most interesting topic to you? 2

CSE 486/586, Spring 2012 Things We Discussed (Midterm) Networking basics (feat. the Internet) Failure detection Time synchronization Logical time & global states P2P & DHT Reliable multicast Consensus basics Mutual exclusion & leader election RPC 3

CSE 486/586, Spring 2012 Things We Discussed Transactions & concurrency control Replication Gossiping Distributed file systems Distributed shared memory Paxos BFT Security 4

CSE 486/586, Spring 2012 The Way I See It We’ve learned some of the building blocks & fundamental results… –Networking basics, failure detection, logical time, reliable multicast, mutual exclusion, leader election, transactions, concurrency control, replication, gossiping, Paxos, BFT, … …and how real systems get built using those… –P2P, DHT, Dynamo, FAWN, Chubby, … …and also got some experience in building/using the fundamental building blocks… –Ordered multicast for messaging, a DHT, and a replicated key-value storage 5

CSE 486/586, Spring 2012 Distributed Systems 10 Questions Course goal: answering 10 questions on distributed systems –At the end of the semester, if you can answer only 10 questions about distributed systems, you’ll probably get an A. –Easy enough! What are those questions? –Organized in 6 themes –1~2 questions in each theme –A few (or several) lectures to answer each question 6

CSE 486/586, Spring 2012 Theme 1: Hint 7 What’s up? Hey!

CSE 486/586, Spring 2012 Theme 1: Communications Q1: how do you talk to another machine? –A: Networking basics –Know how to use socket now? Q2: how do you talk to multiple machines at once? –A: Multicast –What is “reliable multicast”? –What orderings are there for ordered multicast? Q3: can you call a function/method/procedure running in another machine? –A: RPC –What is a stub compiler (generator)? 8

CSE 486/586, Spring 2012 Theme 2: Hint 9 I’m shaking my tail. What? I’m doing it too! I thought I was doing it…

CSE 486/586, Spring 2012 Theme 2: Concurrency Q4: how do you control access to shared resources? –A: Distributed mutual exclusion, leader election, etc. –Ring election? Modified ring election? Bully algorithm? 10

CSE 486/586, Spring 2012 Theme 3: Hint 11 I want to shake my tail. No, I don’t want to. OK No way!

CSE 486/586, Spring 2012 Theme 3: Consensus Q5: how do multiple machines reach an agreement? –A: it’s impossible! (the FLT result), but algorithms do exist that get around the impossibility (Paxos, BFT, etc.) –What are the phases for Paxos? 12

CSE 486/586, Spring 2012 Theme 4: Hint 13 Who has a brain? I do. I don’t.

CSE 486/586, Spring 2012 Theme 4: Storage Management Q6: how do you locate where things are and access them? –A: DHT, distributed file systems, etc. –Consistent hashing? 14

CSE 486/586, Spring 2012 Theme 5: Hint 15 zzz… I have a feeling that something went wrong…

CSE 486/586, Spring 2012 Theme 5: Non-Byzantine Failures Q7: how do you know if a machine has failed? –A: Failure detection –What is the fundamental limit of a failure detector? Q8: how do you program your system to operate continually even under failures? –A: Replication, gossiping –Linearizability? Sequential consistency? One-copy seriarizability? 16

CSE 486/586, Spring 2012 Theme 6: Hint 17 We’re under attack!

CSE 486/586, Spring 2012 Theme 6: Byzantine Failures Q9: how do you deal with attackers? –A: Security –What is onion routing? Q10: what if some machines malfunction? –A: Byzantine fault tolerance –To tolerate f faulty nodes, how many nodes do we need in total? 18

CSE 486/586, Spring 2012 Android… Want to register as an Android developer? Developer Registration –You must register to be able to distribute your products through Google Play. There is a one time $25 registration fee. We charge this fee to encourage higher quality products on Google Play (e.g. less spammy products). Selling apps –If you're interested in selling priced applications, you'll need to be registered as a Google Checkout Merchant as well. To do this from Google Play publisher site. 19

CSE 486/586, Spring 2012 CSE 486/586 Administrivia Project 3 deadline 11:59PM Final –5/7 (Monday), 3:30PM - 6:30PM –Norton 112 Office hours this week –Usual time + usual class time –Today: 4pm – 5pm, WF: 3pm – 5pm Project scores this week! 20

CSE 486/586, Spring Acknowledgements These slides contain material developed and copyrighted by Indranil Gupta (UIUC).