Recent Changes - Search:

Distributed Computing

This website demonstrates using wikis as teaching and learning tool.

The course instructor is also happy to share the teaching materials here with those who find it readable.

Introduction to Distributed Systems

A Distributed Computing Lecture by Steven Choy

Lecture Overview: What is a Distributed System? - Why Distributed Systems? - Goals of a Distributed System - Advantages of distributed systems - Disadvantages of distributed systems - What is needed for a Distributed System? - Different ways to have distributed systems - Characteristics of Distributed Systems.


What is a Distributed System?

The following can be used as a guide:

  • A distributed system is a collection of independent computers that appears to its users as a single computer.
  • A distributed system is software through which a collection of independent computers appears to its users as a single, coherent system.
  • A distributed system consists of a collection of autonomous computers, connected through a network and distributed middleware, which enables computers to coordinate their activities and to share the resources of the system, so that users perceive the system as a single, integrated computing facility.
  • Distributed systems can be categorized as either multiple computer systems collaborating to deliver a single application, or multiple applications collaborating together as a system. The former can be broadly applied to high-performance computing (HPC) whereby multiple computers, commonly called clusters, collaborate to solve a single problem, or to distributed database systems that exchange information to maintain cache consistency. The latter can be broadly applied to application integration whereby multiple discrete applications receive a copy of "some" data and process the data accordingly. The primary common characteristic of these two systems is that the systems are distributed; that is, they run on multiple computers that are interconnected to form a system. (Enterprise Distributed Systems and Infiniband - Cisco Systems)

Class Discussion: Examples of distributed systems

Why Distributed

  • Some resources are inherently distributed
  • Resources can be shared
  • Communication
  • Flexibility
  • Enables incremental growth

Distributed systems enable

  • access to distributed data
  • access for distributed users
  • integration of many data sources
  • high system availability
  • support for mobility
  • re-use of components
  • steady evolution.

Goals of a Distributed System

  • Connecting Resources and Users
  • Transparency
  • Openness
  • Scalability

Advantages of distributed 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.
  • 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.
  • The workload may be spread over many machines.

Disadvantages of distributed systems

  • Software concerns (lack of suitable software)
  • Network concerns (unreliable networks)
  • Security concerns: ease of data sharing makes protection harder!

What is needed for a Distributed System?

  • Hardware
    • the connection hardware
  • Software
    • communications software
  • Middleware
    • some additional software to glue it all together

Different ways to have distributed systems

Networked Operating Systems
They have a networking capability built into them and so can be used to access remote resources. Access is network-transparent for some types of resource.
The defining characteristic is that the nodes running a network operating system retain autonomy in managing their own processing resources. In other words, there are multiple system images, one per node.
Distributed Operating Systems
Communications are fully integrated into the operating system. There is no distinction between processes running locally and those running remotely.
An OS that produces a single system image for all resources in a distributed system is called a distributed operating system (Tanenbaum and van Renesse 1985; Coulouris, Dollimore and Kindberg 1994, 209).
"an operating system in which users are never concerned with where their programs run, or the location of any resources. There is a single system image. The OS has control over all the nodes in the system, and it transparently locates new processors at whatever node suits its scheduling policies. For example, it could create a new process at the least loaded node in the system, to prevent individual nodes becoming unfairly overloaded" (Coulouris, Dollimore and Kindberg, pp. 222-23)

Characteristics of Distributed Systems

Transparency

  • Access transparency
No difference in locating and accessing local and remote resources
  • Location transparency
Not needing to know where resources are located
  • Replication transparency
More than one instance of the resource exists but the user does not to worry
  • Failure transparency
If part of the system fails you can continue
  • Concurrency transparency
Resources can be shared between concurrent processes without problems
  • Performance transparency, scaling transparency, mobility transparency

Distributed systems need computer networks

  • A distributed system is not possible without communication between components, and Communication is via the network.

Network goals

  • To overcome geographic separation
  • To share resources
  • To support distributed systems

Some topics of networks

  • Transmission media (we will not cover it in this course)
  • Network hardware (we will not cover it in this course)
  • Network software (we will cover it in the coming lectures)

Terminology in Chinese

  • Distributed Systems: 分散式系統

Extra materials for probing further

  • Single server vs. distributed system - Novell's Internet Messaging System (NIMS) Example
Traditional e-mail systems are bound to a single server, running all services required for a messaging system on that server. For basic installations, NIMS can be installed and operated in this mode. Click to see the figure.
NIMS shows its full power when operating in "distributed" mode. In this mode, various NIMS agents are running on various servers and NMAP becomes the means to communicate between agents distributed across the various servers. Click to see the figure.
  • A simple example of distributed system: TrueCafe
TrueCafe is a distributed system. It consists of server and client software. Click to see the diagram.
Click to see the illustration: The Berkeley Distributed VOD System Architecture
Distributed systems can be categorized as either multiple computer systems collaborating to deliver a single application, or multiple applications collaborating together as a system. The former can be broadly applied to high-performance computing (HPC) whereby multiple computers, commonly called clusters, collaborate to solve a single problem, or to distributed database systems that exchange information to maintain cache consistency. The latter can be broadly applied to application integration whereby multiple discrete applications receive a copy of "some" data and process the data accordingly. The primary common characteristic of these two systems is that the systems are distributed; that is, they run on multiple computers that are interconnected to form a system.
  • The Google File System - a scalable distributed file system for large distributed data-intensive applications. It provides fault tolerance while running on inexpensive commodity hardware, and it delivers high aggregate performance to a large number of clients.

Thanks for Reading

If you would rather like to have this lecture note in printed format, please click the print action link in the top right corner.

If you find any problem in this lecture note, please feel free to reach Steven by steven@findaway.hk

Edit - History - Print - Recent Changes - Search
Page last modified on June 17, 2009, at 09:29 PM