CS 425/ECE 428 Distributed Systems Nitin Vaidya. T.A.s – Persia Aziz – Frederick Douglas – Su Du – Yixiao Lin.

Slides:



Advertisements
Similar presentations
Teaser - Introduction to Distributed Computing
Advertisements

D u k e S y s t e m s Time, clocks, and consistency and the JMM Jeff Chase Duke University.
Mutual Exclusion The Art of Multiprocessor Programming Spring 2007.
CMPT 401 Summer 2007 Dr. Alexandra Fedorova Distributed Systems.
Operating Systems CS451 Brian Bershad
Distributed systems Module 2 -Distributed algorithms Teaching unit 1 – Basic techniques Ernesto Damiani University of Bozen Lesson 3 – Distributed Systems.
Distribuerade System fk TDA297(CTH), INN290 (GU) VT 2009 LP3 – 5p (7.5 hp)
Welcome to Introduction to Java Programming At J.D.O’Bryant Science & Mathematics Chonho Lee Department of Computer Science University of Massachusetts.
CMPT Dr. Alexandra Fedorova Distributed Systems.
1 Principles of Reliable Distributed Systems Lecture 5: Failure Models, Fault-Tolerant Broadcasts and State-Machine Replication Spring 2005 Dr. Idit Keidar.
Preparation for the Final Exam -- Weaving the threads together ECEN5043 Software Engineering of Multi-Program Systems University of Colorado, Boulder.
CS294, YelickConsensus, p1 CS Consensus
SynchronizationCS-4513, D-Term Synchronization in Distributed Systems CS-4513 D-Term 2007 (Slides include materials from Operating System Concepts,
Replication and Consistency CS-4513 D-term Replication and Consistency CS-4513 Distributed Computing Systems (Slides include materials from Operating.
CSE 486/586, Spring 2012 CSE 486/586 Distributed Systems Introduction Steve Ko Computer Sciences and Engineering University at Buffalo.
Synchronization in Distributed Systems CS-4513 D-term Synchronization in Distributed Systems CS-4513 Distributed Computing Systems (Slides include.
Lecture 12 Synchronization. EECE 411: Design of Distributed Software Applications Summary so far … A distributed system is: a collection of independent.
CS 470/570:Introduction to Parallel and Distributed Computing.
Distributed Systems Lecture 1: Overview CS425/CSE424/ECE428 Fall 2011 Nikita Borisov.
CIS 720 Distributed algorithms. “Paint on the forehead” problem Each of you can see other’s forehead but not your own. I announce “some of you have paint.
CS 3305 Course Overview. Introduction r Instructor: Dr Hanan Lutfiyya r Office: MC 355 r hanan at csd dot uwo ca r Office Hours: m Drop-by m Appointment.
Distributed Systems and Security: An Introduction Brad Karp UCL Computer Science CS GZ03 / st October, 2007.
CSE 486/586, Spring 2013 CSE 486/586 Distributed Systems Introduction Steve Ko Computer Sciences and Engineering University at Buffalo.
Fault Tolerance via the State Machine Replication Approach Favian Contreras.
(1) ECE 8823: GPU Architectures Sudhakar Yalamanchili School of Electrical and Computer Engineering Georgia Institute of Technology NVIDIA Keplar.
Computer Networks CEN 5501C Spring, 2008 Ye Xia (Pronounced as “Yeh Siah”)
Distributed systems [Fall 2014] G Lec 1: Course Introduction.
Distributed Systems II TDA297(CTH), DIT290 (GU) LP hec
Distributed Systems II TDA297(CTH), DIT290 (GU) LP hec
Course Introduction Andy Wang COP 5611 Advanced Operating Systems.
Architectures of distributed systems Fundamental Models
Computer Science Lecture 10, page 1 CS677: Distributed OS Last Class: Naming Name distribution: use hierarchies DNS X.500 and LDAP.
(1) ECE 3056: Architecture, Concurrency and Energy in Computation Lecture Notes by MKP and Sudhakar Yalamanchili Sudhakar Yalamanchili (Some small modifications.
Distributed Systems II TDA297(CTH), INN290 (GU) LP hec
CSE 486/586, Spring 2013 CSE 486/586 Distributed Systems Wrap-up Steve Ko Computer Sciences and Engineering University at Buffalo.
Advanced Principles of Operating Systems (CE-403).
L-1 Introduction 1. Today's Lecture Administrivia Example topics 2.
Multicore Computing Lecture 1 : Course Overview Bong-Soo Sohn Associate Professor School of Computer Science and Engineering Chung-Ang University.
Computer Science Lecture 13, page 1 CS677: Distributed OS Last Class: Canonical Problems Distributed synchronization and mutual exclusion Distributed Transactions.
11/21/20151 Operating Systems Design (CS 423) Elsa L Gunter 2112 SC, UIUC Based on slides by Sam King and Andrew.
CSE 486/586, Spring 2012 CSE 486/586 Distributed Systems Wrap-up Steve Ko Computer Sciences and Engineering University at Buffalo.
Copyright © George Coulouris, Jean Dollimore, Tim Kindberg This material is made available for private study and for direct.
 Course Overview Distributed Systems IT332. Course Description  The course introduces the main principles underlying distributed systems: processes,
CIS825 Lecture 2. Model Processors Communication medium.
Distributed systems [Fall 2015] G Lec 1: Course Introduction.
Multiprocessor Synchronization Algorithms ( ) Lecturer: Danny Hendler.
Several sets of slides by Prof. Jennifer Welch will be used in this course. The slides are mostly identical to her slides, with some minor changes. Set.
Course Overview 1 FCM 710 Architecture of Secure Operating Systems Prof. Shamik Sengupta Office 4210 N
Introduction to CS739: Distribution Systems UNIVERSITY of WISCONSIN-MADISON Computer Sciences Department CS 739 Distributed Systems Andrea C. Arpaci-Dusseau.
Cheating The School of Network Computing, the Faculty of Information Technology and Monash as a whole regard cheating as a serious offence. Where assignments.
Distributed Systems and Security: An Introduction Brad Karp and Steve Hailes UCL Computer Science CS Z03 / nd October, 2006.
Computer Networks CNT5106C
Copyright ©: Nahrstedt, Angrave, Abdelzaher, Caccamo1 University of Illinois at Urbana-Champaign Welcome to CS 241 Systems Programming University of Illinois.
CS/CE/TE 6378 Advanced Operating Systems
CS 450/550 Operating Systems Loc & Time: MW 1:40pm-4:20pm, 101 ENG
CMSC 621: Advanced Operating Systems Advanced Operating Systems
Multiprocessor Synchronization Algorithms ( )
Andy Wang COP 5611 Advanced Operating Systems
Andy Wang COP 5611 Advanced Operating Systems
Outline Distributed Mutual Exclusion Distributed Deadlock Detection
Multiprocessor Synchronization Algorithms ( )
CGS 3763 Operating Systems Concepts Spring 2013
Andy Wang COP 5611 Advanced Operating Systems
Andy Wang COP 5611 Advanced Operating Systems
Human Media Multicore Computing Lecture 1 : Course Overview
Andy Wang COP 5611 Advanced Operating Systems
Distributed Systems (15-440)
Sarah Diesburg Operating Systems CS 3430
Dennis Kafura – CS5204 – Operating Systems
Last Class: Naming Name distribution: use hierarchies DNS
Presentation transcript:

CS 425/ECE 428 Distributed Systems Nitin Vaidya

T.A.s – Persia Aziz – Frederick Douglas – Su Du – Yixiao Lin

Course handout … textbook … office hours … Piazza … grading policy … late submission policy

Course website Course website … mid-term exam schedule … lectures page … homework … programming assignments (for 4 credit hours only)

What’s this course about ?

What this course is not about …

As you can see, I have memorized this utterly useless piece of information long enough to pass a test question. I now intend to forget it forever. You’ve taught me nothing except how to cynically manipulate the system. - ??????

Calvin and Hobbes As you can see, I have memorized this utterly useless piece of information long enough to pass a test question. I now intend to forget it forever. You’ve taught me nothing except how to cynically manipulate the system. - Calvin

Handout provided for 1 st mid-term in Spring 2014 … something similar this semester too

What is distributed computing?

Parallel computing versus distributed computing Example: To add N numbers where N very large use 4 processors, each adding up N/4, then add the 4 partial sums Parallel or distributed ?

What is distributed computing? Parallel computing versus distributed computing Role of uncertainty in distributed systems – Clock drift – Network delays – Network losses – Asynchrony – Failures

A distributed system is one in which the failure of a computer you didn't even know existed can render your own computer unusable. -- Leslie Lamport

What is distributed computing? Parallel computing versus distributed computing Role of uncertainty in distributed systems – Clock drift – Network delays – Network losses – Asynchrony – Failures

Clocks Notion of time very useful in real life, and so it is in distributed systems Example … Submit programming assignment by by 11:59 pm Monday By which clock ?

How to synchronize clocks?

Role of delay uncertainty

Ordering of Events If we can’t have “perfectly” synchronized clocks, can we still determine what happened first?

What is distributed computing? Parallel computing versus distributed computing Role of uncertainty in distributed systems – Clock drift – Network delays – Network losses – Asynchrony – Failures

Mutual Exclusion We want only one person to speak Only the person holding the microphone may speak Must acquire microphone before speaking

Mutual Exclusion How to implement in a message-passing system?

Mutual Exclusion What if messages may be lost?

What is distributed computing? Parallel computing versus distributed computing Role of uncertainty in distributed systems – Clock drift – Network delays – Network losses – Asynchrony – Failures

Agreement Where to meet for dinner?

Agreement with Failure Non-faulty nodes must agree

Agreement with Crash Failure & Asynchrony

What if nodes misbehave? Crash failures are benign Other extreme … Byzantine failures

Agreement with Byzantine failures (synchronous system)

How to improve system availability? Potentially large network delays … network partition Failures

Replication is a common approach Consider a storage system If data stored only in one place, far away user will incur significant access delay  Store data in multiple replicas, Clients prefer to access “closest” replica

Replicated Storage How to keep replicas “consistent” ? What does “consistent” really mean?

What’s this course about?

Learn to “reason” about distributed systems … not just facts, but principles Learn important canonical problems, and some solutions Programming experience

In class: we will focus on principles Supplemental readings: read about practical aspects, recent industry deployments

Distributed Computing … our scope 35 Communication models: – message passing – shared memory Timing models: – synchronous – Asynchronous Fault models – Crash – Byzantine

Shared Memory Different processes (or threads of execution) can communicate by writing to/reading from (physically) shared memory

Shared Memory

Distributed Shared Memory The “shared memory” may be simulated by using local memory of different processors

Distributed Shared Memory

Key-Value Stores

Consistency Model Since shared memory may be accessed by different processes concurrently, we need to define how the updates are observed by the processes Consistency model captures these requirements

Consistency #1 Alice: My cat was hit by a car. Alice: But luckily she is fine. Bob: That’s great! What should Calvin observe?

Consistency #1 Alice: My cat was hit by a car. Alice: But luckily she is fine. Bob: That’s great! What should Calvin observe?

Consistency #2 Alice: My cat was hit by a car. Alice: But luckily she is fine.Bob: That’s terrible! What should Calvin observe?

Consistency #2 Alice: My cat was hit by a car. Alice: But luckily she is fine.Bob: That’s terrible! What should Calvin observe?