Title: CS-4513 Distributed Computing Systems
1Introduction
- CS-4513Distributed 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)
2Outline for Today
- Introduction to CS-4513
- What is Distributed Computing
- An example of a distributed computation
- Remote Procedure Call
- Assignment of Project 1
3CS-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
4Four Principal Abstractions Implementedby 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
5Four Principal Abstractions Implementedby 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
6CS-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
7Textbook 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/
8Prerequisites
- 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
9Co-Requisite
- CS-4514, Computer Networks
- or
- CS-502, Operating Systems (graduate level)
- or
- Tutorial by R. Skowyra
- Sockets
- Connections
- OSI 7-layer model
10Schedule Logistics
- Schedule
- Goddard Hall 227
- 800 950 AM
- Tuesdays Fridays thru April 29
- No class on April 15
- 14 classes total
- Exams
- Mid-term on April 1
- Final on April 29
- 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
- Two Programming Projects
- Fossil Lab
- One individual, one team
- Office Hours
- Adjunct Office, Fuller 239
- by appointment, or
- Normally ½ hour after class
- Teaching Assistant
- Rick Skowyra
- Isaac Chanin
- Contacts
- ltProfessors last namegt _at_ cs.wpi.edu
- Adjunct office phone(508) 831-6470 (shared, no
messages) - cs4513-staff at same domain
11Grading
- 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
12Miscellaneous
- 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
13Project 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
14Cloning 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
15Questions?
16Ground Rule
- There are no stupid questions.
- It is a waste of your time and the classs time
to proceed when you dont understand the basic
terms. - If you dont understand it, someone else probably
doesnt, either.
17Instructor Hugh C. LauerAdjunct 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
18Systems 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)
19VolumePro
- 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
20Sample images from VolumePro
21Operating 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
- MACH
- Apollo DOMAIN
- Unix (System V BSD)
- Apple Mac (v.1 v.9)
- MS-DOS
- Windows NT, 2000, XP
- various embedded systems
- Linux
22Other
- 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
23Class Discussion(laptops closed, please)
- What is Distributed Computing?
24Distributed 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
25Distributed 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
26Multiprocessing ? 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
27Multiprocessing ? 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.
28Observation
- 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
29Another 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
30Observation
- 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
31Lets 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
32The 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?
33Internet
34Distributed 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 gt neighbors distance
to network my distance to neighbor), then - update my table entry for that network so that
neighbor is first hop.
35Distributed 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!
36Characteristic
- 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
37Big networks
- Network management systems
- Monitoring health of network (e.g., routing
tables) - Identifying actual or incipient problems
- Data and statistics for planning purposes
38Questions?