introductioncs-4513, d-term 20071 distributed computing systems hugh c. lauer adjunct professor...

30
Introduction CS-4513, D-Term 2007 1 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)

Upload: merilyn-gallagher

Post on 16-Dec-2015

217 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: IntroductionCS-4513, D-Term 20071 Distributed Computing Systems Hugh C. Lauer Adjunct Professor (Slides include materials from Operating System Concepts,

IntroductionCS-4513, D-Term 2007 1

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)

Page 2: IntroductionCS-4513, D-Term 20071 Distributed Computing Systems Hugh C. Lauer Adjunct Professor (Slides include materials from Operating System Concepts,

IntroductionCS-4513, D-Term 2007 2

Outline for Today

• Introduction to CS-4513

• What is “Distributed Computing”– An example of a distributed computation

• Networks

• Assignment of Project #1

Page 3: IntroductionCS-4513, D-Term 20071 Distributed Computing Systems Hugh C. Lauer Adjunct Professor (Slides include materials from Operating System Concepts,

IntroductionCS-4513, D-Term 2007 3

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

Page 4: IntroductionCS-4513, D-Term 20071 Distributed Computing Systems Hugh C. Lauer Adjunct Professor (Slides include materials from Operating System Concepts,

IntroductionCS-4513, D-Term 2007 4

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/

Page 5: IntroductionCS-4513, D-Term 20071 Distributed Computing Systems Hugh C. Lauer Adjunct Professor (Slides include materials from Operating System Concepts,

IntroductionCS-4513, D-Term 2007 5

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

Page 6: IntroductionCS-4513, D-Term 20071 Distributed Computing Systems Hugh C. Lauer Adjunct Professor (Slides include materials from Operating System Concepts,

IntroductionCS-4513, D-Term 2007 6

Schedule & Logistics

• 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 Lee

clee01 **at** cs.wpi.edu

• Contact– <Professor’s last name> @ cs.wpi.edu– Adjunct office phone:

(508) 831-6470 (shared, no messages)

Page 7: IntroductionCS-4513, D-Term 20071 Distributed Computing Systems Hugh C. Lauer Adjunct Professor (Slides include materials from Operating System Concepts,

IntroductionCS-4513, D-Term 2007 7

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

Page 8: IntroductionCS-4513, D-Term 20071 Distributed Computing Systems Hugh C. Lauer Adjunct Professor (Slides include materials from Operating System Concepts,

IntroductionCS-4513, D-Term 2007 8

Miscellaneous

• Is this course the capstone for a Minor in CS?

• Anyone needing a project for BS & MS credit?

Page 9: IntroductionCS-4513, D-Term 20071 Distributed Computing Systems Hugh C. Lauer Adjunct Professor (Slides include materials from Operating System Concepts,

IntroductionCS-4513, D-Term 2007 9

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.

Page 10: IntroductionCS-4513, D-Term 20071 Distributed Computing Systems Hugh C. Lauer Adjunct Professor (Slides include materials from Operating System Concepts,

IntroductionCS-4513, D-Term 2007 10

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?

Page 11: IntroductionCS-4513, D-Term 20071 Distributed Computing Systems Hugh C. Lauer Adjunct Professor (Slides include materials from Operating System Concepts,

IntroductionCS-4513, D-Term 2007 11

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– …

Page 12: IntroductionCS-4513, D-Term 20071 Distributed Computing Systems Hugh C. Lauer Adjunct Professor (Slides include materials from Operating System Concepts,

IntroductionCS-4513, D-Term 2007 12

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.

Page 13: IntroductionCS-4513, D-Term 20071 Distributed Computing Systems Hugh C. Lauer Adjunct Professor (Slides include materials from Operating System Concepts,

IntroductionCS-4513, D-Term 2007 13

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

Page 14: IntroductionCS-4513, D-Term 20071 Distributed Computing Systems Hugh C. Lauer Adjunct Professor (Slides include materials from Operating System Concepts,

IntroductionCS-4513, D-Term 2007 14

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

Page 15: IntroductionCS-4513, D-Term 20071 Distributed Computing Systems Hugh C. Lauer Adjunct Professor (Slides include materials from Operating System Concepts,

IntroductionCS-4513, D-Term 2007 15

Sample images from VolumePro

Page 16: IntroductionCS-4513, D-Term 20071 Distributed Computing Systems Hugh C. Lauer Adjunct Professor (Slides include materials from Operating System Concepts,

IntroductionCS-4513, D-Term 2007 16

Class Discussion

What is Distributed Computing?

Page 17: IntroductionCS-4513, D-Term 20071 Distributed Computing Systems Hugh C. Lauer Adjunct Professor (Slides include materials from Operating System Concepts,

IntroductionCS-4513, D-Term 2007 17

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

Page 18: IntroductionCS-4513, D-Term 20071 Distributed Computing Systems Hugh C. Lauer Adjunct Professor (Slides include materials from Operating System Concepts,

IntroductionCS-4513, D-Term 2007 18

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

Page 19: IntroductionCS-4513, D-Term 20071 Distributed Computing Systems Hugh C. Lauer Adjunct Professor (Slides include materials from Operating System Concepts,

IntroductionCS-4513, D-Term 2007 19

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

Page 20: IntroductionCS-4513, D-Term 20071 Distributed Computing Systems Hugh C. Lauer Adjunct Professor (Slides include materials from Operating System Concepts,

IntroductionCS-4513, D-Term 2007 20

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.

Page 21: IntroductionCS-4513, D-Term 20071 Distributed Computing Systems Hugh C. Lauer Adjunct Professor (Slides include materials from Operating System Concepts,

IntroductionCS-4513, D-Term 2007 21

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

Page 22: IntroductionCS-4513, D-Term 20071 Distributed Computing Systems Hugh C. Lauer Adjunct Professor (Slides include materials from Operating System Concepts,

IntroductionCS-4513, D-Term 2007 22

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

Page 23: IntroductionCS-4513, D-Term 20071 Distributed Computing Systems Hugh C. Lauer Adjunct Professor (Slides include materials from Operating System Concepts,

IntroductionCS-4513, D-Term 2007 23

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

Page 24: IntroductionCS-4513, D-Term 20071 Distributed Computing Systems Hugh C. Lauer Adjunct Professor (Slides include materials from Operating System Concepts,

IntroductionCS-4513, D-Term 2007 24

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?

Page 25: IntroductionCS-4513, D-Term 20071 Distributed Computing Systems Hugh C. Lauer Adjunct Professor (Slides include materials from Operating System Concepts,

IntroductionCS-4513, D-Term 2007 25

Internet

Page 26: IntroductionCS-4513, D-Term 20071 Distributed Computing Systems Hugh C. Lauer Adjunct Professor (Slides include materials from Operating System Concepts,

IntroductionCS-4513, D-Term 2007 26

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.

Page 27: IntroductionCS-4513, D-Term 20071 Distributed Computing Systems Hugh C. Lauer Adjunct Professor (Slides include materials from Operating System Concepts,

IntroductionCS-4513, D-Term 2007 27

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!

Page 28: IntroductionCS-4513, D-Term 20071 Distributed Computing Systems Hugh C. Lauer Adjunct Professor (Slides include materials from Operating System Concepts,

IntroductionCS-4513, D-Term 2007 28

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

Page 29: IntroductionCS-4513, D-Term 20071 Distributed Computing Systems Hugh C. Lauer Adjunct Professor (Slides include materials from Operating System Concepts,

IntroductionCS-4513, D-Term 2007 29

Big networks

• Network management systems• Monitoring health of network (e.g., routing tables)

• Identifying actual or incipient problems

• Data and statistics for planning purposes

Page 30: IntroductionCS-4513, D-Term 20071 Distributed Computing Systems Hugh C. Lauer Adjunct Professor (Slides include materials from Operating System Concepts,

IntroductionCS-4513, D-Term 2007 30

Next Topic

Programming Project

Questions?