Tom Kelliher, CS43
Feb. 6, 1996
- Contract between students and instructor
- Keys: Responsibility, Commitment, Discipline
- Late assignments accepted only with prior approval
- Use of WWW --- abuse of WWW
- Perspective on collaboration --- useful aid, poor crutch
- Working in Unix, Unix Lab, reference books, keys
- Tentativeness, creation of schedule
Demonstration of reasoning, problem solving and decomposition skills
Communication, correctness demonstration skills
Ability to detect, resolve ambiguity; exercise decision skills
To develop an awareness of the issues
involved in distributed systems.
To achieve an understanding of the design models and
principles associated with distributed systems.
To gain hands-on experience with distributed systems by configuring and
studying client services on Unix workstations and through writing some
distributed tools and applications.
- Seminar/Lab organization; extensive discussions.
- Proficient in C, comfortable in Unix.
Need to set-up Unix accounts for those who don't have them.
What is one?
A distributed system is a collection of independent computers that
appear to the users of the system as a single computer.
- LAN in a lab
- The Internet
- An automobile
- The Space Shuttle
Issues: speed, reliability, scalability, transparency, ...
- Centralized computing
- Workstations (GUIs, economics, LAN technology)
- Return to centralized? (``big'' pipes, latency, economics, Java)
- Workstations cheaper than mainframes: better price/performance
- Inherent distribution --- Walmart, groupware
- Incremental growth
Over standalone PCs
- Resource sharing
- Enhanced communication
- Flexibility, mobility
- Load reallocation
- Software: fully utilizing the resources, hiding the distributed
nature of the system
- Network saturation
- Network outages
Compare/contrast: message delay, bandwidth, scalability, cost
- Private memory
- Workstations on a LAN
- Communication Latency
- Mesh --- dependent routing
- Hypercube --- independent routing
Generalizes to WANs
- Individual machines are distinguishable
- rlogin abacus
- Individual OSs pieced together with a NOS
- File, print servers (NFS, Netware, printcap)
- DNS, RPC
- User information (YP, NIS, NetInfo, NDS)
- email, ftp, gopher, ...
- True distributed system --- indistinguishable machines
- Unifying OS --- single system image
Characteristics? Global and consistent are keys in the
- Namespace (files, services, everything)
- Process management
- Reliability, redundancy
Hide distribution from users (easier), software (harder)
Types of transparency:
- Concurrency --- resource sharing
- Parallelism --- utilize multiple CPUs for a single task
``Keep options open.''
Availability, security, fault tolerance
Redundant system should be more reliable than a centralized system
Communication is the bottleneck
Reliability, transparency affect performance
Fit the job to the topology
If it works for 200 CPUs, will it work for 200,000,000?
Avoid centralization of: hardware, software, algorithms (routing info.)
The Internet's anarchy
Thomas P. Kelliher
Tue Feb 6 08:19:07 EST 1996