+ All Categories
Home > Documents > Module 2 - Distributed System Models -...

Module 2 - Distributed System Models -...

Date post: 17-Apr-2019
Category:
Upload: phungnhu
View: 217 times
Download: 0 times
Share this document with a friend
28
Module 1 - Distributed System Architectures & Models
Transcript
Page 1: Module 2 - Distributed System Models - profile.iiita.ac.inprofile.iiita.ac.in/bibhas.ghoshal/lecture_slides/distributed/1...Architecture Distributed systems tend to be very complex.

Module 1 - Distributed System

Architectures & Models

Page 2: Module 2 - Distributed System Models - profile.iiita.ac.inprofile.iiita.ac.in/bibhas.ghoshal/lecture_slides/distributed/1...Architecture Distributed systems tend to be very complex.

Architecture

Distributed systems tend to be very complex.

It is critical to properly organize these systems to manage the

complexity.

The organization of a distributed system is primarily about

defining the software components that constitute the system.

A component is a modular unit with well-defined required and

provided interfaces.

CS454/654

1-2

Page 3: Module 2 - Distributed System Models - profile.iiita.ac.inprofile.iiita.ac.in/bibhas.ghoshal/lecture_slides/distributed/1...Architecture Distributed systems tend to be very complex.

Architecture (2)

Software Architecture:

Tells us how software components should be organized and how they

should interact.

System Architecture:

Instantiation of a software architecture on real machines.

Functions of each component are defined

Interrelationships and interactions between components are defined

CS454/654 1-3

Page 4: Module 2 - Distributed System Models - profile.iiita.ac.inprofile.iiita.ac.in/bibhas.ghoshal/lecture_slides/distributed/1...Architecture Distributed systems tend to be very complex.

CS454/654 1-4

Page 5: Module 2 - Distributed System Models - profile.iiita.ac.inprofile.iiita.ac.in/bibhas.ghoshal/lecture_slides/distributed/1...Architecture Distributed systems tend to be very complex.

CS454/654 1-5

Page 6: Module 2 - Distributed System Models - profile.iiita.ac.inprofile.iiita.ac.in/bibhas.ghoshal/lecture_slides/distributed/1...Architecture Distributed systems tend to be very complex.

CS454/654 1-10

System Architectures

Centralized architectures

Client-server

Multiple-client/single-server

Multiple-client/multiple-servers

Multitier systems

Decentralized architectures

Page 7: Module 2 - Distributed System Models - profile.iiita.ac.inprofile.iiita.ac.in/bibhas.ghoshal/lecture_slides/distributed/1...Architecture Distributed systems tend to be very complex.

CS454/654 1-11

Page 8: Module 2 - Distributed System Models - profile.iiita.ac.inprofile.iiita.ac.in/bibhas.ghoshal/lecture_slides/distributed/1...Architecture Distributed systems tend to be very complex.

CS454/654 1-13

Client-Server Communication

Client

Client

Server

Process Computer

Request (invocation)

Result

Request (invocation)

Result

Page 9: Module 2 - Distributed System Models - profile.iiita.ac.inprofile.iiita.ac.in/bibhas.ghoshal/lecture_slides/distributed/1...Architecture Distributed systems tend to be very complex.

CS454/654 1-15

Advantages of Client/Server

Computing

More efficient division of labor

Horizontal and vertical scaling of resources

Better price/performance on client machines

Ability to use familiar tools on client machines

Client access to remote data (via standards)

Full DBMS functionality provided to client

workstations

Overall better system price/performance

Page 10: Module 2 - Distributed System Models - profile.iiita.ac.inprofile.iiita.ac.in/bibhas.ghoshal/lecture_slides/distributed/1...Architecture Distributed systems tend to be very complex.

CS454/654 1-16

An Example Client and Server (1) The header.h file used by the client and server.

From Tanenbaum and van Steen, Distributed Systems: Principles and Paradigms

© Prentice-Hall, Inc. 2002

Page 11: Module 2 - Distributed System Models - profile.iiita.ac.inprofile.iiita.ac.in/bibhas.ghoshal/lecture_slides/distributed/1...Architecture Distributed systems tend to be very complex.

CS454/654 1-17

An Example Client and Server (2)

A sample server.

From Tanenbaum and van Steen, Distributed Systems: Principles and Paradigms

© Prentice-Hall, Inc. 2002

Page 12: Module 2 - Distributed System Models - profile.iiita.ac.inprofile.iiita.ac.in/bibhas.ghoshal/lecture_slides/distributed/1...Architecture Distributed systems tend to be very complex.

CS454/654 1-18

An Example Client and Server (3) A client using the server to copy a file.

1-27 b

From Tanenbaum and van Steen, Distributed Systems: Principles and Paradigms

© Prentice-Hall, Inc. 2002

Page 13: Module 2 - Distributed System Models - profile.iiita.ac.inprofile.iiita.ac.in/bibhas.ghoshal/lecture_slides/distributed/1...Architecture Distributed systems tend to be very complex.

CS454/654 1-19

Problems With Multiple-

Client/Single Server

Server forms bottleneck

Server forms single point of failure

System scaling difficult

Page 14: Module 2 - Distributed System Models - profile.iiita.ac.inprofile.iiita.ac.in/bibhas.ghoshal/lecture_slides/distributed/1...Architecture Distributed systems tend to be very complex.

CS454/654 1-21

Service Across Multiple Servers

Server

Server

Server

Service

Client

Client

From Coulouris, Dollimore and Kindberg, Distributed Systems: Concepts and Design, 3rd ed.

© Addison-Wesley Publishers 2000

Page 15: Module 2 - Distributed System Models - profile.iiita.ac.inprofile.iiita.ac.in/bibhas.ghoshal/lecture_slides/distributed/1...Architecture Distributed systems tend to be very complex.

CS454/654 1-22

Multiple-Client/Multiple-Server

Communication

Server

Client

Client

invocation

result

Server invocation

result

From Coulouris, Dollimore and Kindberg, Distributed Systems: Concepts and Design, 3rd ed.

© Addison-Wesley Publishers 2000

Page 16: Module 2 - Distributed System Models - profile.iiita.ac.inprofile.iiita.ac.in/bibhas.ghoshal/lecture_slides/distributed/1...Architecture Distributed systems tend to be very complex.

CS454/654 1-27

Page 17: Module 2 - Distributed System Models - profile.iiita.ac.inprofile.iiita.ac.in/bibhas.ghoshal/lecture_slides/distributed/1...Architecture Distributed systems tend to be very complex.

CS454/654 1-28

Multitier Systems

Example: Internet Search Engines

From Tanenbaum and van Steen, Distributed Systems: Principles and Paradigms

© Prentice-Hall, Inc. 2002

Page 18: Module 2 - Distributed System Models - profile.iiita.ac.inprofile.iiita.ac.in/bibhas.ghoshal/lecture_slides/distributed/1...Architecture Distributed systems tend to be very complex.

CS454/654 1-29

Multitier System Alternatives

From Tanenbaum and van Steen, Distributed Systems: Principles and Paradigms

© Prentice-Hall, Inc. 2002

Page 19: Module 2 - Distributed System Models - profile.iiita.ac.inprofile.iiita.ac.in/bibhas.ghoshal/lecture_slides/distributed/1...Architecture Distributed systems tend to be very complex.

CS454/654 1-30

Communication in Multitier

Systems

From Tanenbaum and van Steen, Distributed Systems: Principles and Paradigms

© Prentice-Hall, Inc. 2002

Page 20: Module 2 - Distributed System Models - profile.iiita.ac.inprofile.iiita.ac.in/bibhas.ghoshal/lecture_slides/distributed/1...Architecture Distributed systems tend to be very complex.

CS454/654 1-31

Peer-to-Peer Systems

Coordination

Application

code

Coordination

Application

code

Coordination

Application

code

From Coulouris, Dollimore and Kindberg, Distributed Systems: Concepts and Design, 3rd ed.

© Addison-Wesley Publishers 2000

Page 21: Module 2 - Distributed System Models - profile.iiita.ac.inprofile.iiita.ac.in/bibhas.ghoshal/lecture_slides/distributed/1...Architecture Distributed systems tend to be very complex.

CS454/654 1-32

Page 22: Module 2 - Distributed System Models - profile.iiita.ac.inprofile.iiita.ac.in/bibhas.ghoshal/lecture_slides/distributed/1...Architecture Distributed systems tend to be very complex.

CS454/654 1-33

Page 23: Module 2 - Distributed System Models - profile.iiita.ac.inprofile.iiita.ac.in/bibhas.ghoshal/lecture_slides/distributed/1...Architecture Distributed systems tend to be very complex.

CS454/654 1-34

Page 24: Module 2 - Distributed System Models - profile.iiita.ac.inprofile.iiita.ac.in/bibhas.ghoshal/lecture_slides/distributed/1...Architecture Distributed systems tend to be very complex.

CS454/654 1-35

Page 25: Module 2 - Distributed System Models - profile.iiita.ac.inprofile.iiita.ac.in/bibhas.ghoshal/lecture_slides/distributed/1...Architecture Distributed systems tend to be very complex.

CS454/654 1-36

Page 26: Module 2 - Distributed System Models - profile.iiita.ac.inprofile.iiita.ac.in/bibhas.ghoshal/lecture_slides/distributed/1...Architecture Distributed systems tend to be very complex.

CS454/654 1-37

Software Layers

Platform

From Tanenbaum and van Steen, Distributed Systems: Principles and Paradigms

© Prentice-Hall, Inc. 2002

Page 27: Module 2 - Distributed System Models - profile.iiita.ac.inprofile.iiita.ac.in/bibhas.ghoshal/lecture_slides/distributed/1...Architecture Distributed systems tend to be very complex.

CS454/654 1-38

Layers

Platform

Fundamental communication and resource management services

We won’t be worried about these

Middleware

Provides a service layer that hides the details and heterogeneity of the underlying platform

Provides an “easier” API for the applications and services

RPC, RMI, CORBA, etc.

Applications

Distributed applications, services

Examples: e-mail, ftp, etc

Page 28: Module 2 - Distributed System Models - profile.iiita.ac.inprofile.iiita.ac.in/bibhas.ghoshal/lecture_slides/distributed/1...Architecture Distributed systems tend to be very complex.

CS454/654 1-39

Example Client/Server Middleware

Remote Procedure Call (RPC) Uses the well-known procedure call semantics.

The caller makes a procedure call and then waits. If it is a local

procedure call, then it is handled normally; if it is a remote procedure,

then it is handled as a remote procedure call.

Caller semantics is blocked send; callee semantics is blocked receive to

get the parameters and a nonblocked send at the end to transmit results.

Caller

procedure

Caller

stub

Comm.

Transmit

Receive

Caller

Callee

procedure

Callee

stub

Comm.

Marshall

results Transmit

Unmarshall

arguments Receive

Callee

Call

Return

Call packet(s)

Result packet(s)

Call(…) Marshall

params

Unmarshall

results

.

.

.


Recommended