CIS506 Advanced Operation Systems


<< back to courseware demo page
- This online lecture is for demonstration purposes

 

Lecture I

This lecture will cover an introduction to distributed systems. The menu to the right provides links to the major topics of the lecture. You may also scroll down to begin reading the lecture material.

 

Lecture Menu

Learning objectives

Preliminaries

What is a distributed system?

Advantages and disadvantages of distributed systems

Summary and Sample Test


 
 

Learning objectives
 

After completing this lecture you should:

  • understand the basic ideas of distributed systems
  • know the difference between multiprocessors and multicomputers
  • be able to distinguish between network operating systems and distributed operating systems

 

Preliminaries
 

Two developments make computer systems of a large number of CPUs feasible:

  • powerful microprocessors
  • high speed computer networks
    • local area networks (LANs)
    • wide area networks (WANs)
Systems composed of a large number of individual computers connected by a high speed network are generally called distributed systems
  • in contrast with centralized (single processor) systems.


Distributed systems offer the promise of increased computational power, but:

  • there is not much software for distributed systems.
What is a distributed system?
 

No completely satisfactory definition has been given for a distributed system, but the following can be used as a loose guide:

  • A distributed system is a collection of independent computers that appears to the users of the system as a single computer. 
Example:
  • A bank with many branch offices, each branch having a local computer which can connect to all the other branch computers and a central computer.
  • If transactions can be carried out without regard to account location, this counts as a distributed system.


 

Advantages and disadvantages of distributed systems compared to centralized systems
 
 

Advantages of distributed systems over centralized systems

  • Distributed systems offer a better price/performance ratio than centralized computers.
  • A distributed system may have more computing power than a centralized mainframe or supercomputer.
  • Some applications are naturally distributed
    • like the branch banking example above.
  • Potential increased reliability:
    • one machine crashing may still allow the system as a whole to continue functioning.
  • Computing power may be added a little at a time:
    • one or several new machines added may give sufficient improvement.


Advantages of distributed systems over independent PCs

  • Users can have shared access to a database.
  • Users can share printers, scanners and other peripherals.
  • Communication, e.g. email, is facilitated.
  • The workload may be spread over many machines.
Disadvantages of distributed systems
  • Software shortage
  • Network problems, e.g. saturation
  • Security
    • Ease of data sharing makes protection harder
Hardware for distributed and parallel systems
 

Flynn (1972) proposed a simple classification for (possibly) multiple CPU computers.  It has become widely known.
 

Flynn's taxonomy 

  • SISD: single instruction stream; single data stream
    • includes all traditional uniprocessors, PCs to mainframes
  • SIMD: single instruction stream; multiple data stream
    • array processors that execute one instruction on many data in parallel
  • MISD: multiple instruction stream; single data stream 
    • no known examples
  • MIMD: multiple instruction stream; multiple data stream 
    • includes all distributed systems


MIMD machines can be further classified into multiprocessors and multicomputers.

  • multiprocessors have a
    • shared global memory
    • are tightly coupled (message passing at near CPU speed)
  • multicomputers have
    • no shared memory
    • are loosely coupled (message passing at low speed compared to CPU)


Multiprocessors and multicomputers may use either bus based or switched interconnection networks.

 
 

Bus based multiprocessors have:

  • independent CPUs connected by a high speed system bus with a global memory.
  • Each CPU usually has a cache to improve performance.
  • There is a limit of about 64 CPUs because of bus saturation.


Switched multiprocessors 

  • Large switching networks to support many CPUs are expensive and may be slow.
  • NUMA (non uniform memory access) systems reduce the cost:
    • there is a small local memory for each CPU
    • accessing another CPU's memory is allowed but is slower than accessing local memory.
    • complex algorithms are needed for good software placement.


Generally a tightly coupled shared memory multiprocessor with a large number of CPUs is expensive and difficult to build.

 

Bus based multicomputers:

  • are easy to build,
  • consist of independent computers with local memory connected by a LAN or other bus topology network,
  • have no global memory.


Switched multicomputers 

  • Grid 
    • rectangular array of CPUs with connections only to neighbors
    • messages from one corner to the opposite corner in an n by n grid require (n-1)+(n-1) hops
  • Hypercube
    • an n-dimensional cube with CPUs at the vertices
    • there are 2n CPUs
    • messages from one CPU to a CPU most distant from it require n hops (= log2(number of CPUs))

Software for distributed and parallel systems

Network operating systems

  • loosely coupled software on loosely coupled hardware
  • usually workstations and file servers on a LAN
  • each machine autonomous


True distributed systems 

  • tightly coupled software on loosely coupled hardware
  • appear to users to be a single computer
    • single-system image
    • virtual uniprocessor
  • same kernel runs on each machine


Multiprocessor timesharing systems 

  • tightly coupled software on tightly coupled hardware
  • single run queue in shared memory
  • traditional file system

 

 

Summary and Sample Test

SUMMARY: 

Distributed systems are:

  • a collection of CPUs that cooperate to make the system resemble a single computer


Hardware for multiple CPU systems:

  • multiprocessors
    • shared memory
    • bus-based or switched
  • multicomputers
    • no shared memory
    • bus-based or switched
Software for multiple CPU systems:
  • Network operating systems
    • independent workstations with shared file system
  • Distributed operating systems
    • single-system image
  • Shared memory multiprocessor systems
    • not true distributed systems
SAMPLE TEST: 
 

1. Name two advantages of distributed systems over centralized systems. 

2. Name two disadvantages of distributed systems compared to centralized systems.

3. What is the difference between  a loosely coupled and a tightly coupled system?

4. What is the difference between a multicomputer and a multiprocessor?

5. What is a single-system image?

6. What distinguishes a MIMD computer from a SIMD one? 

7. What is the difference between a network operating system and a distributed operating system? 

8. What distinguishes a MIMD computer from a MISD one? 

9. For a 64 CPU multicomputer is organized as an 8 by 8 grid, what is the maximum number of hops a message may need to take (assume optimal routing)? 

10. For a 64 CPU multicomputer is organized as a 6 dimensional hypercube, what is the maximum number of hops a message may need to take (assume optimal routing)? 
 

ANSWERS: 

1. incremental expansion, potential fault tolerance 

2. lack of software, network delays 

3. Tightly coupled systems communicate on the order of CPU speed.  Loosely coupled systems communicate at much lower rates than CPU speed.

4. A multicomputer has no shared memory.  A multiprocessor has a shared memory directly accessible by each CPU.

5. The user is not aware of the multiple CPUs.  The system appears as one computer. 

6. MIMD machines have independent instruction pointers for each CPU, but SIMD machines have just one instruction pointer.

7. A distributed operating system presents a single-system image, while a network operating system does not.

8. Many examples of MIMD machines exist, but none is known of a MISD machine. 

9. 14

10. 6