Top Banner
1 Distributed Systems (Credit Hours: 3) This course covers advanced topics in distributed systems with a special emphasis on distributed computing, and the services provided by distributed operating systems. Important topics include parallel processing, remote procedure call, concurrency, transactions, shared memory, message passing and scalability. Reference Books: 1. Distributed Systems: Concept and Design by Coulouris, Dollimore, and Kingberg 2. Distributed Operating Systems by Andrew S. Tanenbaum
33

Distributed Systems (Credit Hours: 3)

Jan 04, 2016

Download

Documents

Cynthia Pittman

Distributed Systems (Credit Hours: 3). - PowerPoint PPT Presentation
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Distributed Systems (Credit Hours: 3)

1

Distributed Systems(Credit Hours: 3)

This course covers advanced topics in distributed systems with a special emphasis on distributed computing, and the services provided by distributed operating systems. Important topics include parallel processing, remote procedure call, concurrency, transactions, shared memory, message passing and scalability.

Reference Books:1. Distributed Systems: Concept and Design by

Coulouris, Dollimore, and Kingberg2. Distributed Operating Systems by Andrew S.

Tanenbaum

Page 2: Distributed Systems (Credit Hours: 3)

2

Course Evaluation

Attendance & Class Participation 05

Assignments 10

Critical Reviews 10

Mid Term 25

Final Term 50Total Marks: 100

Page 3: Distributed Systems (Credit Hours: 3)

3

Overview

• Multiprocessing (Parallel processing).• Tightly coupled processors.• Distributed system (DS).

• Loosely coupled processors (Distributed).

• Key features of DS.

• Pros and Cons of DS.

Page 4: Distributed Systems (Credit Hours: 3)

4

Parallel Processing

From the beginning, computer scientists had challenged computers with larger and larger problems.

Eventually, computer processors were combined on the same board together in parallel to work on the same task together by sharing the same memory.

This is called parallel processing.

Page 5: Distributed Systems (Credit Hours: 3)

5

• Types of Parallel Processing.

• MISD

• SIMD

• MIMD

Parallel Processing

Page 6: Distributed Systems (Credit Hours: 3)

6

Cont……

MISD – Multiple Instruction stream, Single Data stream

SIMD – Single Instruction stream, Multiple Data stream

MIMD – Multiple Instruction stream, Multiple Data stream

Processors are multiple

Page 7: Distributed Systems (Credit Hours: 3)

7

MISD

One piece of data is broken up and sent to many processor.For searching a specific record.

Example: An unsorted dataset is broken up into sections of records and assigned to several different processors, each processor searches the sections of data base for a specific key.

Data Search

CPU

CPU

CPU

CPU

Page 8: Distributed Systems (Credit Hours: 3)

8

An other example may be:

Multiple cryptography algorithms attempting to decrypt a single coded message

MISD

Page 9: Distributed Systems (Credit Hours: 3)

9

SIMD

SIMD (Single Instruction, Multiple Data)

Is a technique applied to achieve parallel execution from a set of processor with data level parallel processing.

Page 10: Distributed Systems (Credit Hours: 3)

10

SIMDMultiple processors execute the same instruction of separate data.

Ex: A SIMD machine with 100 processors could multiply 100 numbers, each by the number three(3), at the same time.

Multiply

CPU

CPU

CPU

CPU

Data

Data

Data

Data

Page 11: Distributed Systems (Credit Hours: 3)

11

• Single instruction: all processing units execute the same instruction at any given clock cycle

• Multiple data: each processing unit can operate on a different data element

SIMDSIMD

Page 12: Distributed Systems (Credit Hours: 3)

12

MIMDMultiple processors execute different instruction of separate data.

This is the most complex form of parallel processing. It is used on complex simulations like modeling the growth of cities.

Multiply CPU

CPU

CPU

CPU

Data

Data

Data

Data

Search

Add

Subtract

Page 13: Distributed Systems (Credit Hours: 3)

13

• Currently the most common type of parallel computer• Multiple instruction: every processor may be

executing a different instruction stream• Multiple data: every processor may be working with a

different data stream

MIMD

Page 14: Distributed Systems (Credit Hours: 3)

14

Tightly Coupled Processors (H/W concepts)– e.g., Multiprocessors, in which two or

more CPUs share a main memory.– More difficult to build than multi-

computers.– Easier to program (Desktop

programming).

Page 15: Distributed Systems (Credit Hours: 3)

15

• Each processor is assigned a specific duty but, processors work in close association possibly sharing one memory module.

• These CPUs have local cashes and have access to a central shared memory. The IBM p690 Regatta is an example of a multiprocessing system. (Mainframe).

Multiprocessing system

Page 16: Distributed Systems (Credit Hours: 3)

16

Consist of some number of CPUs, all connected to a common bus along with a memory module

Bus-based multiprocessors require cashing.

With caching, memory incoherence becomes an issueWrite-through cache (Updating):

Any update goes through to the actual memory (not only the cache)Snooping (snoopy) cache (Reading):

Every cache monitors the bus, picks up any write-through to memory and applies them to itself, if necessary

It is possible to put about 32 or possibly 64 CPUs on a single bus

Multiprocessors

Page 17: Distributed Systems (Credit Hours: 3)

17

Fig: A bus-based multiprocessor

CPU CPU CPU Memory

CacheCacheCache

Bus

Page 18: Distributed Systems (Credit Hours: 3)

18

Why Multiprocessors?

1. Microprocessors as the fastest CPUs Collecting several is much easier than redesigning one.

2. IL multithreading is limited due to data dependency on one processor.

3. Improvement in parallel softwares (scientific apps, databases, OS) needs multiprocessors.

Page 19: Distributed Systems (Credit Hours: 3)

19

Introduction to distributed systems

DefinitionsA distributed system is a collection of independent computers that appear to the users of the system as a single computer

Tanenbaum

A distributed system is one in which hardware components located at networked computers communicate and coordinate their actions only by passing messages.

Coulouris, Dollimore, Kindberg

Page 20: Distributed Systems (Credit Hours: 3)

20

Distributed Computing

• Distributed computing is the process of aggregating the power of several computing entities to collaboratively run a computational task in a transparent and coherent way, so that it appears as a single, centralized system.

• A distributed computer system is a loosely coupled collection of autonomous computers connected by a network using system software to produce a single integrated computing environment.

Page 21: Distributed Systems (Credit Hours: 3)

21

Features of DS

• Distributed computing consists of a network of autonomous nodes.

• Loosely coupled.

• Node do not share the primary or secondary storage.

• A well designed distributed system does not crash if a node goes down.

Page 22: Distributed Systems (Credit Hours: 3)

22

Cont..

• If you are to perform a computing task which is parallel in nature, scaling your system is a lot cheaper by adding extra node, compared to getting a faster single machine.

• Of course, if your processing task is highly non-parallel (every result depends on the previous), using a distributed computing system may not be very beneficial.

Page 23: Distributed Systems (Credit Hours: 3)

23

Cont…

• Network connections are the key feature.• Establishing Remote access is by

message passing b/w nodes.• Messages are from CPU to CPU.• Protocols are designed for reliability, flow

control, failure detection etc.• Mode of communication between nodes is

by sending and receiving the network messages.

Page 24: Distributed Systems (Credit Hours: 3)

24

Distributed OS vs Networking OS

• The machines supporting a distributed operating system are running under a single operating system that spans the network.

• With network operating system each machine runs an entire operating system.

Page 25: Distributed Systems (Credit Hours: 3)

25

Cont…• Thus the print

task might be running on one machine, the file system on an other. Thus each machines co-operates as for the current software part of the DOS.

• While in NW OS the entire node is itself distributed across the network.

Page 26: Distributed Systems (Credit Hours: 3)

26

Advantages of DS over Centralized system.

• Better price/performance than mainframes.

• More computing power (Parallel and distributed).

• Requests for some applications.• Improved reliability because system can

survive crash of one processor.• Incremental growth can be achieved by

adding one processor at a time. • Shared ownership facilitated.

Page 27: Distributed Systems (Credit Hours: 3)

27

Disadvantages of DS.

• Network performance parameters.

• Latency: Delay that occurs after a send operation is executed before data starts to arrive at the destination computer.

• Data transfer rate: Speed at which data can be transferred between two computers once transmission has begun.

• Total network bandwidth: total volume of traffic that can be transferred across the network in a given time.

Page 28: Distributed Systems (Credit Hours: 3)

28

Disadvantages of DS.

• Dependency on reliability of the underlying network.

• Higher security risk due to more possible access points for intruders and possible communication with insecure systems.

• Software complexity.

Page 29: Distributed Systems (Credit Hours: 3)

29

Loosely Coupled Processors in H/W concepts– e.g., Multi-computers, in which each of the

processors has its own memory.– Easy to build and are commercially

available (PCs).– More complex to program (Desktop+

Socket programming).

Page 30: Distributed Systems (Credit Hours: 3)

30

DS consists of workstations on a LAN

Local memory

CPU

Local memory

CPU

Local memory

CPU

Network

Workstation Workstation Workstation

Page 31: Distributed Systems (Credit Hours: 3)

31

• Network Operating Systems (NOS)– Loosely-coupled software on loosely-coupled

hardware– e.g., a network of workstations connected by a LAN– Each user has a workstation for his exclusive use– Offers local services to remote clients

• Distributed Operating Systems (DOS)– Tightly coupled-software over loosely-coupled

hardware– Creating an illusion to a user that the entire network

of computers is a single timesharing system, rather than a collection of distinct machines (single-system image)

Software Concepts

Page 32: Distributed Systems (Credit Hours: 3)

32

• DOS– Users should not have to be aware of the existence of

multiple CPUs in the system– No current system fulfills this requirement entirely

• Multiprocessor Operating Systems– Tightly-coupled software on tightly-coupled hardware– e.g., UNIX timesharing system with multiple CPUs– Key characteristic is the existence of a single run

queue (same memory)– Basic design is mostly same as traditional OS;

however, issues of process synchronization, task scheduling, memory management, and security become more complex as memory is shared by many processors

Software Concepts (Cont’d)

Page 33: Distributed Systems (Credit Hours: 3)

33

SummaryComparison of three different

ways of organizing n CPUs

Item NOS DOS Multi-processor OS

Does it look like a virtual uni-processor? No Yes Yes

Do all have to run the same OS at a time? No Yes Yes

How many copies of the OS are there? N 1-replicated 1

How is communication achieved? Shared Files

Messages Shared Memory

Are agreed upon network protocols required? Yes Yes No

Is there a single run queue? No No Yes