CS 771/871 Operating Systems

[ Home | Class Roster | Syllabus | Status | Glossary | Search | Course Notes]


Workstation Model

Problems:

  1. Bursty nature of some computations
  2. Mobil computing

Utilizing Idle Workstations

RSH: spawn a process on another (idle) machine


Find Idle Machines

Server driven algorithms:

Client driven algorithms:


Proper Processor Context


Return of Owner

 


Processor Pool Model

Compute server accessed through Graphics Terminals
Processors are no longer "owned"

Easier add 20% more processors to pool than upgrade all workstations by 20%.

Pooling resources is more efficient as shown by queuing analysis:


Other Factors

Above result is very general and argues for centralization
Processors are only idle is there is insufficient work
in toto.

However:

Hybrid models: sufficient personal processing power for common tasks with Processor Pool for rarer bursty computation tasks.


Processor Allocation Models


Processor Allocation: Design Issues

  1. Deterministic vs heuristic
  2. Centralized vs distributed
  3. Optimal vs sub-optimal
  4. Local vs global (transfer policy)
  5. Sender vs receiver initiated (location policy)

Processor Allocation: Implementation Issues

Performance depends on:


Graph Theoretic Deterministic Algorithm

Assumes:

Create weighted graph with processes as nodes and traffic between processes as (weighted) edges.

Cut graph into "n" partitions (one for each processor) which minimizes weight of edges between cuts (traffic between processors) while maintaining constraints on intraprocessor resource usage.


Graph Example

Using Data for fig 4-17:

 

A B C D E F G H I
A 3 2 6
B 3 2 2 1
C 2 3 8 5
D 3 4
E 2 2 3 4
F 1 1 1
G 6 3 4
H 4 1 4 2
I 5 4 5 2

Sorting edges:

 

CF AG FH FI DI EH GH AB CD EG BC AE BE HI BF FH
8 6 5 5 4 4 4 3 3 3 2 2 2 2 1 1

Homework: What algorithms could you develop? subject to what constraints?


Up-Down Algorithm

Essentially a priority queue with dynamically set priorities based on needs and usage with some hysteresis.

Co-ordinator keeps usage table with on entry per user(workstation):

Simulations show good performance over a variety of loads.
New users favored over old.


Hierarchical Algorithms

Distributed centralized:


MICROS algorithm

Complicated by simultaneous requests at different points in hierarchy
out of date information
deadlocks
race conditions


Client vs Server Initiated

Client requests when needed

Server announces availability

Could build a hybrid, plus keep some memory of past histories.


Bidding Algorithms

Uses market model of supply and demand (efficient market theory says will reach optimum equilibrium if instantaneous communication of state).

Can greed be programmed in?


Scheduling Process Sets

Question: Assume a job requires "n" independent tasks. Argue why there would be no advantage to time slicing on a uniprocessor.
Is this still true for a distributed system?

Co-Scheduling a set of jobs which communicate can speed up a process set.


Copyright chris wild 1996.
For problems or questions regarding this web contact [Dr. Wild].
Last updated: October 03, 1996.