CS 194: Lecture 1 University of California Berkeley

Slides:



Advertisements
Similar presentations
1 CS 194: Elections, Exclusion and Transactions Scott Shenker and Ion Stoica Computer Science Division Department of Electrical Engineering and Computer.
Advertisements

Computer Science Lecture 17, page 1 CS677: Distributed OS Last Class: Fault Tolerance Basic concepts and failure models Failure masking using redundancy.
Last Class: Weak Consistency
Copyright © Clifford Neuman - UNIVERSITY OF SOUTHERN CALIFORNIA - INFORMATION SCIENCES INSTITUTE Distributed Systems Shahab Baqai Lahore University.
Computer Network Fundamentals CNT4007C
Lecture 1 Page 1 CS 111 Summer 2015 Introduction CS 111 Operating System Principles.
Computer Networks CEN 5501C Spring, 2008 Ye Xia (Pronounced as “Yeh Siah”)
Distributed Systems II TDA297(CTH), DIT290 (GU) LP hec
Distributed Systems II TDA297(CTH), DIT290 (GU) LP hec
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.
Trustworthy Semantic Web Dr. Bhavani Thuraisingham The University of Texas at Dallas Review for the Final Exam December 8, 2008.
CSE 486/586, Spring 2012 CSE 486/586 Distributed Systems Wrap-up Steve Ko Computer Sciences and Engineering University at Buffalo.
Introduction to CS739: Distribution Systems UNIVERSITY of WISCONSIN-MADISON Computer Sciences Department CS 739 Distributed Systems Andrea C. Arpaci-Dusseau.
1 Introduction to Data Communication Networks ISQS 3349, Spring 2000 Instructor: Zhangxi Lin Office: BA 708 Phone: Homepage:
ECE 374: Computer Networks & Internet Introduction Spring 2015 Prof. Michael Zink.
CS 425/ECE 428 Distributed Systems Nitin Vaidya. T.A.s – Persia Aziz – Frederick Douglas – Su Du – Yixiao Lin.
ECE 374: Computer Networks & Internet Introduction Spring 2012 Prof. Michael Zink.
Computer Networks CNT5106C
PROCESS RESILIENCE By Ravalika Pola. outline: Process Resilience  Design Issues  Failure Masking and Replication  Agreement in Faulty Systems  Failure.
ICS 151 Digital Logic Design Spring 2004 Administrative Issues.
CSE 486/586, Spring 2014 CSE 486/586 Distributed Systems Byzantine Fault Tolerance Steve Ko Computer Sciences and Engineering University at Buffalo.
Networking CS 3470, Section 1 Sarah Diesburg
Computer Network Fundamentals CNT4007C
CSE 486/586 Distributed Systems Wrap-up
CS/CE/TE 6378 Advanced Operating Systems
Course Overview - Database Systems
CMSC 621: Advanced Operating Systems Advanced Operating Systems
CPE741: Distributed Systems Course Introduction
Networking CS 3470, Section 1 Sarah Diesburg
Introduction to Programming
Computer Networks CNT5106C
CPE741: Distributed Systems Course Introduction
Course Information Mark Stanovich Principles of Operating Systems
CSE 486/586 Distributed Systems Wrap-up
CPE741: Distributed Systems Course Introduction
8.2. Process resilience Shreyas Karandikar.
COMP28112 – Lecture 14 Byzantine fault tolerance: dealing with arbitrary failures The Byzantine Generals’ problem (Byzantine Agreement) 13-Oct-18 COMP28112.
FINAL EXAM INFORMATION
Welcome to CS 1010! Algorithmic Problem Solving.
Computer Networks CNT5106C
Course Overview - Database Systems
Welcome to CS 1010! Algorithmic Problem Solving.
COMP28112 – Lecture 13 Byzantine fault tolerance: dealing with arbitrary failures The Byzantine Generals’ problem (Byzantine Agreement) 19-Nov-18 COMP28112.
Outline Announcements Fault Tolerance.
IS 651: Distributed Systems Midterm
Distributed Systems CS
CSCD 330 Network Programming Spring
EEC 688/788 Secure and Dependable Computing
IS 651: Distributed Systems
PHYS 202 Intro Physics II Catalog description: A continuation of PHYS 201 covering the topics of electricity and magnetism, light, and modern physics.
EEC 688/788 Secure and Dependable Computing
COMP28112 – Lecture 13 Byzantine fault tolerance: dealing with arbitrary failures The Byzantine Generals’ problem (Byzantine Agreement) 22-Feb-19 COMP28112.
Welcome to the First-Year Experience!
Analysis of Algorithms
EEC 688/788 Secure and Dependable Computing
EEC 688/788 Secure and Dependable Computing
EEC 688/788 Secure and Dependable Computing
Computer Networks CNT5106C
EEC 688/788 Secure and Dependable Computing
Welcome to the First-Year Experience!
CSE 486/586 Distributed Systems Wrap-up
Distributed Systems (15-440)
Sarah Diesburg Operating Systems CS 3430
Lecture 1: Overview of CSCI 485 Notes: I presented parts of this lecture as a keynote at Educator’s Symposium of OOPSLA Shahram Ghandeharizadeh Associate.
CSE 486/586 Distributed Systems Byzantine Fault Tolerance
CS 232 Geometric Algorithms: Lecture 1
Welcome to the First-Year Experience!
CSE 486/586 Distributed Systems Mid-Semester Overview
Distributed Systems and Algorithms
Presentation transcript:

CS 194: Lecture 1 University of California Berkeley Department of Electrical Engineering and Computer Sciences University of California Berkeley

Today’s Lecture Opening Remarks Administrivia Overview Background Questionnaire

Administrivia Course web page: Office Hours: TBD http://inst.eecs.berkeley.edu/~cs194/sp05 Check periodically to get the latest information Office Hours: TBD Deadline means deadline Unless otherwise specified, it means 5:00pm on the date Special circumstances should be brought to our attention well before the deadline Closed book exams (but with single crib sheet)

Grading Homework: 20% (4 x 5%) Project: 40% Midterm: 20% Final: 20%

Promise Course won’t be as boring as the first chapter!

Two Views of Distributed Systems Optimist: A distributed system is a collection of independent computers that appears to its users as a single coherent system Pessimist: “You know you have one when the crash of a computer you’ve never heard of stops you from getting any work done.” (Lamport)

History First, there was the mainframe Then there were workstations (PCs) Then there was the LAN Then people wanted to make the collection of PCs look like a mainframe They built some neat systems (DFS, TDBs, ….) But the web blew them away!

Why? The vision of distributed systems: But the impact was limited by: Enticing dream Very promising start, theoretically and practically But the impact was limited by: Autonomy (fate sharing, policies, cost, etc.) Scaling (some systems couldn’t scale well) The Internet provided: Extreme autonomy Extreme scale Poor consistency (nobody cared!)

Recurring Theme Academics like: Users like: Clean abstractions Strong semantics Things that prove they are smart Users like: Systems that work (most of the time) Scale is important to reach many users Perfect consistency isn’t important to many users

Inherent Tension Goals: CAP Thm: Can only have two! (Brewer) Consistent (broadly defined) Available Partitions don’t stop system CAP Thm: Can only have two! (Brewer) Systems embody each of the three choices More generally: Consistency and availability hard to achieve as system gets larger

What Makes a DS Hard? Delays (asynchrony) Failures (stop failures) Byzantine failures Different incentives

Course Overview Algorithmic challenges: How the real world works: Synchronization, exclusion, consistency, CAP, commitment, fault tolerance, security,… How the real world works: Protocols, RPC, RMI, processes, naming, CORBA/DCOM, distributed file systems, Web, Jini, P2P, DHTs, Internet design, incentives, (sensornets?)

Project: DBay Distributed auction Will be done in stages Synchronize bidding Secure transaction on sale Will be done in stages Starting easy Let us know if you are in trouble early!

Sample Problem I Consider n generals, each with a certain number of troops. Assume m of them are traitors, who will lie. Design an algorithm (assuming reliable communication) so that every loyal general knows the number of troops of every other loyal general Extra credit: design it so that the loyal generals agree on a total troop strength (perhaps incorrect)

Sample Problem II What’s the fastest way to spread a rumor? N people Each has a phone Place a random phone call every morning They don’t remember who they talked to the previous day, and they don’t know N But they can remember how many times they’ve repeated the rumor, etc., and must use that information to decide when to stop spreading it Want to minimize the number of people who haven’t heard, as a function of the number of times the rumor is retold.

Questionnaire