310 likes | 525 Views
Distributed Computing Systems. Hugh C. Lauer Adjunct Professor (Slides include materials from Operating System Concepts , 7 th ed., by Silbershatz, Galvin, & Gagne and from Modern Operating Systems , 2 nd ed., by Tanenbaum). Outline for Today. Introduction to CS-4513
E N D
Distributed Computing Systems Hugh C. LauerAdjunct Professor (Slides include materials from Operating System Concepts, 7th ed., by Silbershatz, Galvin, & Gagne and from Modern Operating Systems, 2nd ed., by Tanenbaum) Introduction
Outline for Today • Introduction to CS-4513 • What is “Distributed Computing” • An example of a distributed computation • Networks • Assignment of Project #1 Introduction
Introduction to CS-4513 • Continues CS-3013, Operating Systems • File Systems • One lecture in C-Term CS-3013 • No coverage in A-Term CS-3013 • Networks & Communication • Computations that run on more than one machine • Close together • Far apart • Internet and World Wide Web Introduction
Textbook and Web • Textbooks:– You should own or have access to one of the following from CS-3013 • Operating Systems Concepts, 7th ed, by Silberschatz, Galvin, and Gagne, John Wiley and Sons, 2005 • Modern Operating Systems, 2nd edition, by Andrew S. Tanenbaum, Prentice Hall, 2001 • Supplemental Text:– • Distributed Systems: Principles and Paradigms, Tanenbaum and Van Steen, Prentice-Hall, 2007 • Course Information: • http://www.cs.wpi.edu/~cs4513/d07/ Introduction
Prerequisites • Prerequisites: • CS-3013, Operating Systems or equivalent • C and C++ programming, esp. low level programming • Data structures • Unix/Linux user experience and access • Computer Organization • 1st reading assignment: any of the following • Silbershatz, §16.1-16.4 • Tanenbaum, §8.3 • Tanenbaum & Van Steen, Chapter 1 Introduction
Schedule Goddard Hall 227 9:00 – 10:50 AM Tuesdays and Fridays thru May 1 No class on April 17 14 classes total Exams Mid-term on April 3 Final on May 1 Unannounced Quizzes May occur at any time May be at beginning, middle, or end of class Mobile Phones, pagers, laptops, and other devices OFF during class ~4 Programming Projects Fossil Lab Office Hours Adjunct Office, Fuller 239 by appointment, or Normally ½ hour before and after class Teaching Assistant Choong-Soo Leeclee01 **at** cs.wpi.edu Contact <Professor’s last name> @ cs.wpi.edu Adjunct office phone:(508) 831-6470 (shared, no messages) Schedule & Logistics Introduction
Grading • Grading • Exams – 35% • Programming Projects (~4) – 35% • Class participation, homework, & quizzes – 30% • Unless otherwise noted, assignments are to be completed individually, not groups • Late Policy – 10%/day • But contact Professor for extenuating circumstances • WPI Academic Honesty policy Introduction
Miscellaneous • Is this course the capstone for a Minor in CS? • Anyone needing a project for BS & MS credit? Introduction
Ground Rule • There are no “stupid” questions. • It is a waste of your time and the class’s time to proceed when you don’t understand the basic terms. • If you don’t understand it, someone else probably doesn’t, either. Introduction
Introductions • Who are you? • Name, year, degree, major • Work experience in computing, etc.? • C & C++ experience • Other programming experience • Why CS-4513 – Distributed Computing Systems? • Anything else relevant? Introduction
Instructor — Hugh C. LauerAdjunct Professor • Ph. D. Carnegie-Mellon 1972-73 • Dissertation “Correctness in Operating Systems” • Lecturer: University of Newcastle upon Tyne, UK • 30+ years in research and development in industry in USA • Research and system topics • Operating Systems • Proofs of Correctness • Computer Architecture • Networks and Distributed Computing • Real-time networking • 3D Volume Rendering • Surgical Simulation and Navigation • … Introduction
Systems Experience • University of Newcastle • Systems Development Corporation • Xerox Corporation (Palo Alto) • Software Arts, Inc. • Apollo Computer • Eastman Kodak Company • Mitsubishi Electric Research Labs (MERL) • Real-Time Visualization • Founded and spun out from MERL • Acquired by TeraRecon, Inc. • SensAble Technologies, Inc. • Currently: CTO, Dimensions Imaging, Inc. Introduction
Accomplishments • 21 US Patents • Two seminal contributions to CS • Duality Hypothesis of Operating System Structures (with Roger Needham) • First realization of opaque types in type-safe programming languages (with Ed Satterthwaite) • VolumePro™ • World’s first 2D, 3D, and 4D volume rendering system at interactive speeds for medical, seismic, and scientific visualization Introduction
VolumePro™ • Interactive volume rendering of 3D data such as • MRI scans • CT scans • Seismic scans • Two generations of ASICs, boards, software • VolumePro 500 – 1999 • VolumePro 1000 – 2001 • CTO, Chief Architect of VolumePro 1000 • 7.5-million gate, high-performance ASIC • 109 Phong-illuminated samples per second Introduction
Sample images from VolumePro Introduction
Class Discussion What is Distributed Computing? Introduction
Distributed System • Collection of computers that are connected together and (sometimes) interact • Many independent problems at same time • Similar • Different • Or … • One very big problem (or a small number) • Computations that are physically separated • Client-server • Inherently dispersed computations Introduction
Distributed Computing Spectrum • Many independent problems at same time • Similar — e.g., banking & credit card; airline reservations • Different — e.g., university computer center; your own PC • Or … • One very big problem (or a few) • Computations that are physically separated • Client-server • Inherently dispersed computations Introduction
Multiprocessing Distributed Computing(a spectrum) • Many independent problems at same time • Similar — e.g., banking & credit card; airline reservations • Different — e.g., university computer center; your own PC • Or … • One very big problem (too big for one computer) • Weather modeling, finite element analysis; drug discovery; gene modeling; weapons simulation; etc. • Computations that are physically separated • Client-server • Inherently dispersed computations Introduction
Multiprocessing Distributed Computing(a spectrum) • Many independent problems at same time • Similar — e.g., banking & credit card; airline reservations • Different — e.g., university computer center; your own PC • Or… • One very big problem (too big for one computer) • Weather modeling, Finite element analysis; Drug discovery; Gene modeling; Weapons simulation; etc. • Computations that are physically separated • Client-server • Dispersed – routing tables for internet; electric power distribution. Introduction
Observation • Same spectrum applies to multiprocessor systems • Much more tightly coupled that traditional “distributed systems” • Some differences • “Multiprocessor systems” • Usually under same management • Very fast communication • “Distributed systems” • Sometimes not under same management • Slower communication Introduction
Another Observation(attributed to R. Hamming) • When you change the operating point of a system by an order of magnitude … … you introduce qualitative changes in how to approach problems Introduction
Let’s look at an example • An inherently distributed computation • I.e., parts of the computation must occur at physically separate locations • Under separate administrations • Internet routing tables Introduction
The Internet • A vast collection of independent computers • ~ 600 106 • All connected together • Any computer can send a message to any other • Messages broken up into little packets • Question: how do packets find their way to destinations? Introduction
Internet Introduction
Distributed routing algorithm(simplified example) • Each node “knows” which networks are directly connected to it. • Each node maintains table of distant networks • [network #, 1st hop, distance] • Adjacent nodes periodically exchange tables • Update algorithm (for each network in table) • If (my distance to network>neighbor’s distance to network + my distance to neighbor), then … • … update my table entry for that network so that neighbor is first hop. Introduction
Distributed routing algorithm(result) • All nodes in Internet maintain reasonably up-to-date routing tables • Rapid responses to changes in network topology, congestion, failures, etc. • Very reliable with no central management! Introduction
Characteristic • The routing algorithm is inherently distributed • Different parts execute in physically separated locations • Only nearby nodes “know” whether • Neighbors are up or down • Networks are congested or not Introduction
Big networks • Network management systems • Monitoring health of network (e.g., routing tables) • Identifying actual or incipient problems • Data and statistics for planning purposes Introduction
Questions? Next TopicProgramming Project Introduction