Introduction

Tom Kelliher, CS43

Feb. 6, 1996

Introduction

Syllabus

  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.

Examples:

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

Software

Loosely Coupled Distributed Software

NOS Functions

Tightly Coupled Distributed Software

Characteristics? Global and consistent are keys in the following:

Design Issues for Distributed Systems

Transparency

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

Types of transparency:

Flexibility

``Keep options open.''

Microkernels

Reliability

Availability, security, fault tolerance

Redundant system should be more reliable than a centralized system

Performance

Communication is the bottleneck

Reliability, transparency affect performance

Fit the job to the topology

Scalability

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