Tom Kelliher, CS43

Feb. 6, 1996



  1. Contract between students and instructor

  2. Keys: Responsibility, Commitment, Discipline

  3. Late assignments accepted only with prior approval

  4. Use of WWW --- abuse of WWW

  5. Perspective on collaboration --- useful aid, poor crutch

  6. Working in Unix, Unix Lab, reference books, keys

  7. Tentativeness, creation of schedule

What I Expect

  1. Demonstration of reasoning, problem solving and decomposition skills

  2. Communication, correctness demonstration skills

  3. Ability to detect, resolve ambiguity; exercise decision skills

  4. ``Fluencies'':

  5. Seminar/Lab organization; extensive discussions.

  6. Proficient in C, comfortable in Unix.

Other information

Need to set-up Unix accounts for those who don't have them.

Introduction to Distributed Systems

What is one?

A distributed system is a collection of independent computers that appear to the users of the system as a single computer.


Issues: speed, reliability, scalability, transparency, ...

Historic, Future Trends

Distributed System Advantages

Over mainframes

  1. Workstations cheaper than mainframes: better price/performance
  2. Inherent distribution --- Walmart, groupware
  3. Reliability
  4. Incremental growth

Over standalone PCs

  1. Resource sharing
  2. Enhanced communication
  3. Flexibility, mobility
  4. Load reallocation

Distributed System Disadvantages

  1. Software: fully utilizing the resources, hiding the distributed nature of the system
  2. Network saturation
  3. Network outages
  4. Security

Distributed System Hardware

A Taxonomy:

Compare/contrast: message delay, bandwidth, scalability, cost

Bus-Based Multicomputers

Switched Multicomputers

Generalizes to WANs


Loosely Coupled Distributed Software

NOS Functions

Tightly Coupled Distributed Software

Characteristics? Global and consistent are keys in the following:

Design Issues for Distributed Systems


Hide distribution from users (easier), software (harder)

Types of transparency:


``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
Tom Kelliher