DOC PREVIEW
UW-Madison CS 739 - Lecture Notes

This preview shows page 1-2-3-4 out of 11 pages.

Save
View full document
View full document
Premium Document
Do you want full access? Go Premium and unlock all 11 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 11 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 11 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 11 pages.
Access to all documents
Download any document
Ad free experience
Premium Document
Do you want full access? Go Premium and unlock all 11 pages.
Access to all documents
Download any document
Ad free experience

Unformatted text preview:

Introduction to CS739: Distribution SystemsGoals of CourseWhat is a Distributed System?Benefits of Distributed SystemsDistributed System ChallengesContent of 739Learning by ReadingLearning by Reading (cont)Course Topics: Reading ListLearning by DoingAgenda for Next ClassIntroduction to CS739:Distribution SystemsUNIVERSITY of WISCONSIN-MADISONComputer Sciences DepartmentCS 739Distributed SystemsAndrea C. Arpaci-DusseauWhat are distributed systems? What are the benefits and challenges?How will CS739 be structured?Readings, Writeups, PresentationsProjectsGoals of CourseLearn about challenges and existing techniques for building distributed systems and services•Read and discuss influential papers from SOSP, OSDI, NSDIGain some experience programming in distributed environment•Warm-up project•Final projectWhat is a Distributed System?Leslie Lamport says: “You know you have one when the crash of a computer you never heard of stops you from doing any work” More technical definition:“Collection of independent computers that appears to its users as a single coherent system”How are parallel, distributed, networked systems different?•All contain nodes (processing, memory, disk) connected with networkparalleldistributed networkedConsider distributed services as well…MoreunifiedLessunifiedBenefits of Distributed SystemsGreat price/performance•Leverage commodity components (nodes and networks)•Use many, many of themIncremental scalability•Can add x% new nodes (or disks or memory) to improve performance x%Improved availability •Continue operating when some nodes stop working Improved reliability•Deliver correct results when some nodes misbehave, corrupt dataAllow geographically-distributed individuals to share data or cooperateDistributed System ChallengesLack of global state information•Different nodes have different view of system–What are the contents of file A?–How many jobs are running on node X?–Which nodes are currently part of the system?•See delays, different ordering of messages, lost messages, network partitions•Tension with goal of “single coherent system”Handling slow, failed and misbehaving nodes•How do you avoid slow nodes?•How do you get back data or work from failed node?•When nodes disagree, how do you know who is wrong?•Tension with goal of “available and reliable”When is it okay to have some centralized components?•Simplifies state management, but single point-of-failure and performance bottleneckContent of 739Distributed system courses can be very different…Theoretical: distributed algorithms (e.g., to allow nodes to come to consensus or agreement)•4 lecturesPractical: distributed programming (e.g., using RPC, JAVA RMI, CORBA, DCOM, MPI, PVM)•Warm-up projectResearch systems: new ideas for making distributed systems better•Focus of course•Implemented systems with new conceptual ideas•Recent papers in top systems conferences (SOSP, OSDI, NSDI)Learning by ReadingIntense reading list; assume sophisticated reader (736)•Usually cover 1 fascinating paper per class•No examsThree types of classes1) Formal lecture: Only for 4 theory topics2) Discussions: Most papers–I ask questions, expect everyone to enthusiastically participate; fairly casual–Task 1: Read paper 2-3 times before class–Task 2: Email write-up to me BEFORE class–Task 3: Take turns being scribe (about 2 times in semester)•Write-up notes from discussion in latex•Post to web page within 72 hoursLearning by Reading (cont)Types of classes (cont)3) Group-led lectures: 4 topics–Small group gives overview of about 3-4 related papers–Topics: •Distributed system analysis•Process migration•Programming environments•Specialized distributed services–Advantages•Good practice for giving presentations•Learn about topic in slightly more depth–Tasks•Group: »Finalize related papers (1 week before)»Present to me (2 days before)»Use slides3) Everyone else: Skim papers–Handout: State preferences by next weekCourse Topics: Reading ListDistributed Operating Systems (Survey, Amoeba vs Sprite)Network File Systems (NFS, Coda, LBFS)Theory: Time, Ordering, and Distributed Snapshots (2 Lamport papers)Analysis of Distributed Systems (1 + Group Presentation)Programming Environments (DSM, MapReduce, Group)Process Migration (1 + Group)Specialized Distributed Services (Porcupine + Group)SPRING BREAKTheory: Consensus (Byzantine failures and fail-stop processors)Cluster-based File Systems (Petal+Frangipani and GoogleFS)Communication Primitives (RPC vs U-Net)P2P Systems (Measurement, CFS, Amazon, Pangaea, LOCKSS)Miscellaneous: Trust, Recovery, Mistakes, Speculation, Sensor NetworksLearning by DoingWarm-up Project•Goal: Become familiar with existing distributed programming environments•Examples: Hadoop (open-source MapReduce), MPI, PVM•Task 0: Get environment running•Task 1: Implement simple application (e.g., sorting)•Task 2: Report sufficient numbers to indicate did somethingFinal Project•Goal 1: Experience with “research process” in general–Work on open-ended project, unknown result–New idea where don’t know if it will work•Goal 2: Learn about specific topic in depth•Topic from my list or your own choice; work with project partner•Deliverables: 20 minute talk, short research paperAgenda for Next ClassSee website:www.cs.wisc.edu/~cs739-1 Read:•Survey : Distributed Operating SystemsAndrew S. Tanenbaum and Robbert Van RenesseACM Computing Surveys, Volume 17, Issue 4 (December 1985), pp 419-470•Long paper: Focus on Sections 1 and 2Answer question:•What were the goals of distributed systems at this time? Which design issue (I.e., communication primitives, naming and protection, resource management, fault tolerance, services) seems most challenging (or interesting)? Why?•Email answer to me with Subject cs739: SurveyThink about group presentation


View Full Document

UW-Madison CS 739 - Lecture Notes

Documents in this Course
Load more
Download Lecture Notes
Our administrator received your request to download this document. We will send you the file to your email shortly.
Loading Unlocking...
Login

Join to view Lecture Notes and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view Lecture Notes 2 2 and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?