14
Lecture 6: Introduction to Distributed Computing

Lecture 6: Introduction to Distributed Computing

Embed Size (px)

Citation preview

Page 1: Lecture 6: Introduction to Distributed Computing

Lecture 6: Introduction to Distributed Computing

Page 2: Lecture 6: Introduction to Distributed Computing

Distribute Systems and Distributed Computing

Contents

• Introduction of Distributed Systems

• Distributed Computation Models

• Synchronous Network Algorithms

• Asynchronous Network Algorithms

• Clock in Asynchronous Distributed Systems and Snapshot algorithms

• Fault-Tolerant Algorithms

Wei Chen, Professor

Tennessee State University

Page 3: Lecture 6: Introduction to Distributed Computing

Construction of Distributed Systems

Units of A Distributed System:

• Units/Nodes (Computers, sensors, … )

• Network

• Softwarenetwork

Page 4: Lecture 6: Introduction to Distributed Computing

What Is Distribute Systems?

There is no unique definition for distributed systems. Similar terms are

• Networked system

• parallel systems

• Concurrent systems

• Decentralized systems

Enslow’s Definition

Distributed System = Distributed hardware + Distributed control + Distributed data

Page 5: Lecture 6: Introduction to Distributed Computing

Distributed Hardware

Physically shared/distributed memory and logically shared/distributed memory

Logically shared Logically distributed

Physically shared

Common memory Simulated message passing

Physically distributed

Distributed shared memory

message passing

processor processor processor

Network

memory

Physically shared memory

processor processor processor

Network

memorymemory memory

Physically distributed memory

Page 6: Lecture 6: Introduction to Distributed Computing

Distributed System Software

• Cooperating the actions of units (computers, sensors, …)

• Supporting system resources (hard ware and software) sharing.

• Supporting data sharing.

Page 7: Lecture 6: Introduction to Distributed Computing

Distributed Control

• Master/Slave (fixed/dynamic)

• Multi control points (homogenous/heterogeneous)

Distributed Data

• Copies: Processors hold data copies.

• Divided data: Data are divided and distributed to processors.

Page 8: Lecture 6: Introduction to Distributed Computing

Features of Distributed Systems

• Resource sharing: hardware, software, data

• Openness: openness of main interface of the system, scalability of the current system

• Concurrency: concurrent execution of the processes, high performance, nice rate of price and performance (PC cluster = poor man’s supercomputer )

• Fault tolerance: ability to tolerate the fault of system units, availability( using potential redundancy to overcome the system fault).

• Transparency: a distributed system can be looked as one computer (access transparency, position transparency, parallel transparency,….)

Page 9: Lecture 6: Introduction to Distributed Computing

Distributed Computational models

• Processes: never mind in which unit they are.

• Communicating links: communication channels

Computer

process

Communication link

Page 10: Lecture 6: Introduction to Distributed Computing

Process

• Generalized RAM (Random Access Machine)

CPU with program

Infinite memory

Message changeable with adjacent processes

• Each process has a distinct ID.

• Without fault (it will be considered in the model with fault).

Page 11: Lecture 6: Introduction to Distributed Computing

Communication Links

• Bidirectional

• Asynchronous

• Infinite FIFO queue

• Without fault (no massage losing, alteration)

Sending in order of A,B,C Receiving in order of A,B,C

Page 12: Lecture 6: Introduction to Distributed Computing

Synchronism

• Running speed of each process

• Transmission delay

• Speed of the local clock in each process: constant upper and lower bounds

Page 13: Lecture 6: Introduction to Distributed Computing

Local Clock of Synchronous Distribute Systems

p(t): the value of the local clock of process p at moment t

)1()/())()1(

that such constant positiveexist There

21211 attttpa

c, a

Real clock

Real time

Local

clock 1)1( a

)1( a

Typical synchronous distributed model: Round Model

• Processes execute each round synchronously

Each round consists of message receiving, computation, and

message sending

• Processes accept the message sent from the previous round.

Page 14: Lecture 6: Introduction to Distributed Computing

Complete asynchronous model

• No assumption for the speed of processes.

• No assumption for the transmission delay of communication links.

• No assumption for the speed of local clocks.