1. 2 distributed systems spring quarter, lums umar saif

15
1

Post on 20-Dec-2015

218 views

Category:

Documents


0 download

TRANSCRIPT

1

2

Distributed Systems

Spring Quarter, LUMS

Umar Saif

3

The Bureaucracy

Not anointed by the Queen

I am not a Sir!

4

The Bureaucracy

• Instructor: Umar Saif

• TAs:– Abdul Qadeer– Shafaq Malik– Farhan Tauheed– Athar Hameed

5

Why Bother?

• We’ll not teach you distributed systems textbooks

• We’ll learn to engineer realworld complex systems

• You’ll leave with an intuitive sense for engineering real systems

6

Modus Operandi

• System design is as much an art as it is science

• We are using an internal MIT textbook (6.033 classnotes) from Jerry Saltzer and Frans Kaashoek

• We’ll refer to a traditional textbook every so often

7

Grading

15% Assignments and labs 15% Quizzes

15% Paper Discussions

20% Midterm Exam

35% Final Exam

(Comprehensive)

8

Class Structure

• 1 Section: Everyone gets the same lecture

• Two 60 mins Lectures (mon, wed)

• Three 30 mins paper-discussion sessions (fri)– You attend one paper-session each week

9

Paper Discussions

• Attended by ~40 students• 15% grade (10 + 5)• Paper discussion modeled after program

committee meetings • Each Paper presented by 4 students

– Motivator (context of work)– Presenter– Advocate– Devil’s advocate– Class discussion and vote

10

Papers

• Eric A. Brewer. Lessons from Giant-Scale Services. IEEE Internet Computing, 5(4): pp.46-55

• A. D. Birrell and B. J. Nelson. Implementing remote procedure calls. ACM Transactions on Computer Systems 2(1):39-59, February 1984

• P.V. Mockapetris and K.J. Dunlap. Development of the Domain Name System. Proceedings of ACM SIGCOMM 1988

11

Papers

• Leslie Lamport. Time, Clocks, and the Ordering of Events in a Distributed System. Communications of the ACM, 21(7):558-565, July 1978

• Yasushi Saito, Brian Bershad, and Henry Levy. Manageability, Availability and Performance in Porcupine: A Highly Scalable Cluster-Based Mail Service. Proc. of the 17th ACM Symp. on Operating Systems Principles, December 1999

• D. B. Terry, et al. Managing Update Conflicts in Bayou, a Weakly Connected Replicated Storage System. Proceedings of the Fifteenth ACM Symposium on Operating Systems Principles, 1995

• John Ousterhout. The Role of Distributed State. CMU Computer Science: A 25th Anniversary Commemorative, ACM Press Anthology Series, R. Rashid (Ed.), July 1991

12

Papers

• George Candea et al. Microreboot -- A Technique for Cheap Recovery. Proc. 6th Symposium on Operating Systems Design and Implementation (OSDI), San Francisco, CA, December 2004

• Stuart Staniford, Vern Paxson, and Nicholas Weaver. How to Own the Internet in Your Spare Time. Proceedings of the 2002 USENIX Security Symposium, San Francisco, CA, August 2002.

• Butler W. Lampson. Hints for computer system design. Proceedings of the Ninth ACM Symposium on Operating Systems Principles (SOSP).

13

Assignments

• Assignments:– One big project

• Teams of 5

– Network File System• Both paper design and implementation• Communication• Naming• Storage: Multiple users• Reliability

14

What we’ll learn

• Principles of computer system design– Stable Performance– Correctness– High Availability– Global Scalability– Security

• System tradeoffs

15

Background

• Operating Systems Fundamentals

• Hardware multiplexing

• “Common Services”

• Communication + Naming– Abstractions

• IPC, Delegation, Protection