Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Introduction CS-4513 Distributed Computing Systems (Slides include materials from Operating System Concepts, 7th ed., by Silbershatz, Galvin, & Gagne, Distributed Systems: Principles & Paradigms, 2nd ed. By Tanenbaum and Van Steen, and Modern Operating Systems, 2nd ed., by Tanenbaum) CS-4513 D-term 2008 Introduction 1 Outline for Today • Introduction to CS-4513 • What is “Distributed Computing” – An example of a distributed computation • Remote Procedure Call • Assignment of Project #1 CS-4513 D-term 2008 Introduction 2 CS-4513, Distributed Systems • Continuation of CS-3013, Operating Systems – File Systems • No coverage in A- or C-Term CS-3013 (2007-2008) • Distributed System Topics – – – – – Remote Procedure Call Naming Security and Encryption Atomic Transactions … CS-4513 D-term 2008 Introduction 3 Four Principal Abstractions Implemented by almost all Operating Systems • Processes and Threads • Abstracts notion of “processor” • Concurrency and synchronization • Virtual Memory • Address space in which a process “thinks” • Physical memory is cache of virtual memory • Files • Named, persistent storage of information • Sockets and connections • Conversations among processes/threads across a network CS-4513 D-term 2008 Introduction 4 Four Principal Abstractions Implemented by almost all Operating Systems • Processes and Threads OS course • Abstracts notion of “processor” • Concurrency and synchronization • Virtual Memory OS course • Address space in which a process “thinks” • Physical memory is cache of virtual memory • Files This course • Named, persistent storage of information • Sockets and connections CS-4514 • Conversations among processes/threads across a network CS-4513 D-term 2008 Introduction 5 CS-4513, Distributed Systems • Continuation of CS-3013, Operating Systems – File Systems • No coverage in A- or C-Term CS-3013 (2007-2008) • Distributed System Topics – – – – – Remote Procedure Call Naming Security and Encryption Atomic Transactions … CS-4513 D-term 2008 Introduction 6 Textbook and Web • Textbook:– – Distributed Systems: Principles and Paradigms, Tanenbaum and Van Steen, Prentice-Hall, 2007 • Supplemental:– 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 • Course Information: – http://www.cs.wpi.edu/~cs4513/d08/ CS-4513 D-term 2008 Introduction 7 Prerequisites • Prerequisites:– – CS-3013, Operating Systems, or equivalent – C and C++ programming, esp. “low level” programming – Data structures • pointers, linked lists, malloc(), free() – Unix/Linux user experience and access CS-4513 D-term 2008 Introduction 8 Co-Requisite • CS-4514, Computer Networks or • CS-502, Operating Systems (graduate level) or • Tutorial by R. Skowyra • Sockets • Connections • OSI 7-layer model CS-4513 D-term 2008 Introduction 9 Schedule & Logistics • – – – – – • • Schedule Goddard Hall 227 8:00 – 9:50 AM Tuesdays & Fridays thru April 29 No class on April 15 14 classes total • • Teaching Assistant – Rick Skowyra – Isaac Chanin Unannounced Quizzes • Mobile Phones, pagers, laptops, and other devices OFF during class CS-4513 D-term 2008 Office Hours – Adjunct Office, Fuller 239 – by appointment, or – Normally ½ hour after class • – May occur at any time – May be at beginning, middle, or end of class • – Fossil Lab – One individual, one team Exams – Mid-term on ~April 1 – Final on April 29 Two Programming Projects Introduction Contacts – <Professor’s last name> @ cs.wpi.edu – Adjunct office phone: (508) 831-6470 (shared, no messages) – cs4513-staff at same domain 10 Grading • Grading – Exams – 40% – Programming Projects – 40% – Class participation, homework, & quizzes – 20% • Unless otherwise noted, assignments are to be completed individually, not groups • Late Policy – 10%/day – But contact Professor for extenuating circumstances at least one day prior to deadline or exam date • WPI Academic Honesty policy CS-4513 D-term 2008 Introduction 11 Miscellaneous • Is this course the capstone for a Minor in CS? • Anyone needing a project for BS & MS credit? • How many students feel they need tutorial on networking • Scheduling options CS-4513 D-term 2008 Introduction 12 Project Work • Two project • One individual – Remote Procedure Call • One team – Choice of Distributed or File System topics • Fossil Lab • Newly refurbished • Your accounts • Virtual machines CS-4513 D-term 2008 Introduction 13 Cloning a Virtual Machine • Log in using Fossil password • Navigate to P drive • Open Clonable-SUSE-Linux-10.3 • Double-click on VMware configuration file • Select “Clone this virtual machine” • Root and “student” password • Fossil-B17 • Linked vs. Full clone • Linked – about 2-3 gigabytes, tied back to master • Full – 8-9 gigabytes, can stand alone – Exceeds your quota on Fossil server CS-4513 D-term 2008 Introduction 14 Questions? CS-4513 D-term 2008 Introduction 15 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. CS-4513 D-term 2008 Introduction 16 Instructor — Hugh C. Lauer Adjunct Professor • Ph. D. Carnegie-Mellon 1972-73 – Dissertation “Correctness in Operating Systems” • Lecturer: University of Newcastle upon Tyne, UK • Approximately 30 years in industry in USA • Research topics – – – – – – – – Operating Systems Proofs of Correctness Computer Architecture Networks and Distributed Computing Real-time networking 3D Volume Rendering Surgical Simulation and Navigation … CS-4513 D-term 2008 Introduction 17 Systems Experience • • • • • • • • • IBM Corporation 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. • Dimensions Imaging, Inc. (new start-up) CS-4513 D-term 2008 Introduction 18 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 CS-4513 D-term 2008 Introduction 19 Sample images from VolumePro CS-4513 D-term 2008 Introduction 20 Operating Systems I have known • • • • • • • • • IBSYS (IBM 7090) OS/360 (IBM 360) TSS/360 (360 mod 67) Michigan Terminal System (MTS) CP/CMS & VM 370 MULTICS (GE 645) Alto (Xerox PARC) Pilot (Xerox STAR) CP/M CS-4513 D-term 2008 • • • • • • • • • Introduction MACH Apollo DOMAIN Unix (System V & BSD) Apple Mac (v.1 – v.9) MS-DOS Windows NT, 2000, XP various embedded systems Linux … 21 Other • Two seminal contributions to computer science • Duality hypothesis for operating system structures (with Roger Needham) • First realization of opaque types in type-safe programming languages (with Ed Satterthwaite) • 21 US patents issued • • • • Computer architecture Software reliability Networks Computer graphics & volume rendering CS-4513 D-term 2008 Introduction 22 Class Discussion (laptops closed, please) What is Distributed Computing? CS-4513 D-term 2008 Introduction 23 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 CS-4513 D-term 2008 Introduction 24 Distributed Computing Spectrum • Many independent computations 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 CS-4513 D-term 2008 Introduction 25 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 CS-4513 D-term 2008 Introduction 26 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. CS-4513 D-term 2008 Introduction 27 Observation • Same spectrum applies to multiprocessor systems – Much more tightly coupled that traditional “distributed systems” • Some differences – “Multiprocessor systems” • Usually under same management, often in same room • Very fast communication – “Distributed systems” • Sometimes not under same management • Slower communication CS-4513 D-term 2008 Introduction 28 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 CS-4513 D-term 2008 Introduction 29 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 CS-4513 D-term 2008 Introduction 30 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 CS-4513 D-term 2008 Introduction 31 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? CS-4513 D-term 2008 Introduction 32 Internet CS-4513 D-term 2008 Introduction 33 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. CS-4513 D-term 2008 Introduction 34 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! CS-4513 D-term 2008 Introduction 35 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 CS-4513 D-term 2008 Introduction 36 Big networks • Network management systems • Monitoring health of network (e.g., routing tables) • Identifying actual or incipient problems • Data and statistics for planning purposes CS-4513 D-term 2008 Introduction 37 Questions? Next Topic CS-4513 D-term 2008 Introduction 38