+ All Categories
Home > Documents > Distributed Computing Class: BIT5 & 6 Instructor: Aatif Kamal Chapter 02: (part 01) Distributed...

Distributed Computing Class: BIT5 & 6 Instructor: Aatif Kamal Chapter 02: (part 01) Distributed...

Date post: 28-Dec-2015
Category:
Upload: spencer-blake
View: 215 times
Download: 1 times
Share this document with a friend
Popular Tags:
35
Distributed Computi ng Class: BIT5 & 6 Instructor: Aatif Kamal Chapter 02: (part 01) Distributed System Model s Dated: 7 th Sept 2006
Transcript

Distributed ComputingClass: BIT5 & 6Instructor: Aatif Kamal

Chapter 02: (part 01)Distributed System Models

Dated: 7th Sept 2006

Copyrights @ 2005, Aatif Kamal 2

Revision

Distributed systems

Characteristics

Issues/challenges

Copyrights @ 2005, Aatif Kamal 3

Objectives of the lecture

To provide models for helping to perceive different distributed system designs.

To understand the characteristics of the most common architectural models of distributed systems.

To understand some of the factors that produce variety to these models.

Copyrights @ 2005, Aatif Kamal 4

Basic Elements Resources in a distributed systems are shared between

users. They are normally encapsulated within in one of the computers and can be accessed from other computers by communication.

Each resource is managed by a program, the resource manager, it offers communication interface enabling the resource to be accessed by the users.

Resource managers in general can be modeled as processes. In object oriented system, resources are encapsulated in objects.

Copyrights @ 2005, Aatif Kamal 5

Distributed system models Architectural models:

Placements of parts Relationship between parts

Examples Client /server Peer-to-peer model Proxy server

Architectural models (definition): The way in which the components of systems interact with one

another and the way in which they are mapped onto an underlying network of computers

Fundamental models: Formal description of system properties common in all

architectural models reliability, security, performance

Copyrights @ 2005, Aatif Kamal 6

Architectural models

Architecture: Structure of separately specified components

Over all goal: Structure should meet the present and future

requirements on Reliability Manageability Adaptability Cost-effectiveness

Copyrights @ 2005, Aatif Kamal 7

Architectural models

Functions of individual components are not important: Abstract way

Consider instead: Placement (across network)

Pattern for data Work load distribution

Interrelationships Functional roles Communication pattern

Copyrights @ 2005, Aatif Kamal 8

Architectural models Simplification by distinction between client,

server and peer processes Assessment of workload (responsibilities) Failure impact analysis

Architectural models can be used to determine placement pf processes

More dynamic systems can be built as variations on the client-server model Moving code (from one process to another process) Adding/removing nodes or components Discovery and advertisement of services

Copyrights @ 2005, Aatif Kamal 9

Service Layers Software architecture

Structuring software as layers or modules

Services offered and requested by processes on same or different computers (More recently)

Service layers (ch. 3 to 6)

A distributed service can be provided by one or more interacting server processes

Network Time Protocol

Applications, services

Computer and network hardware

Platform

Operating system

Middleware

Software and Hardware service layers in DS

Copyrights @ 2005, Aatif Kamal 10

Service Layers

Platform Operating system, hardware

Lowest level of layer provide services to Layer above them, So that they can be implemented independently in all computers

Facilitate communication and coordination among process

Supplies system programming interface Examples ?

Copyrights @ 2005, Aatif Kamal 11

Service Layers

Middleware Masks heterogeneity

Represented by processes or objects in a set of computers that interact with each

To Implement communication and resource sharing

RMI Group communication

Supplies application programming interface

Copyrights @ 2005, Aatif Kamal 12

Service Layers: Middleware

Middleware Examples:

Sun RPC Simple, remote procedure calling package

OMG CORBA Microsoft DCOM Java RMI

Provides Building blocks for software components Infrastructural services for application programs

Copyrights @ 2005, Aatif Kamal 13

Service Layers: Middleware Middleware services

Naming Security Transactions Persistent storage Event notification

Limitations Many distributed applications rely entirely on the services

provided by the available middleware to support their needs for communication & data sharing

TCP reliable for packets (basic error correction and detection) Mail transfer service increase fault tolerance (maintain record of

progress) Some functions can only be correctly implemented with the help

of application level information The end-to-end argument e.g. reliable file transfer (Saltzer) Correct behaviour in distributed programs depends upon checks

at various levels

Copyrights @ 2005, Aatif Kamal 14

System Architectures: Client-Server Model

Server may in turn be client of other servers Web server may be client of local file server Serch engine is both a server and client

Server

Client

Client

invocation

result

Serverinvocation

result

Process:Key:

Computer:

Copyrights @ 2005, Aatif Kamal 15

System Architectures: Multiple Servers Model

Web servers manage their resources independently A user can access any resource

Sun NIS (Netwrok Infomation Service) Each NIS has its own replica of the password file

Server

Server

Server

Service

Client

Client

Copyrights @ 2005, Aatif Kamal 16

System Architectures: Multiple Servers Model

Services may be provided by multiple servers Partitioned or replicated service-related objects Replication provides

Increased performance Increased availability Increased fault-tolerance

But requires replica coordination / consistency preservation

Copyrights @ 2005, Aatif Kamal 17

System Architectures: Proxy Server Model

Cache: Store of reccently used data objects Cache

collocated at each client (web bworser) proxy server (shared cache)

Web browser recently visited paegs HTTP to check the consistency

Client

Proxy

Web

server

Web

server

serverClient

Copyrights @ 2005, Aatif Kamal 18

System Architectures: Proxy Server Model

Cache: a close store of recently used data Considerably increases performance in many

applications But requires cache coherence protocols

Proxy server: a shared cache of resources Most commonly used for web access

Copyrights @ 2005, Aatif Kamal 19

System Architectures: Peer-to-Peer Model

Coordination

Application

code

Coordination

Application

code

Coordination

Application

code

Copyrights @ 2005, Aatif Kamal 20

System Architectures: Peer-to-Peer Model

Peer processes: processes that play similar roles No absolute distinction between client/server May still assume client/server roles from time to time Peer processes maintain the synchronization &

consistency of resources and actions White board

Viewing, editing a picture Elimination of server processes reduces inter-

process communication delay for local object access

Increased fault-tolerance and scalability Coordination difficult

Copyrights @ 2005, Aatif Kamal 21

Variations on the Client-Server Model

Variations inside the client-server model from following factors: the use of mobile code and mobile agents lightweight clients, based on users’ need for

low-cost computers and easy management the requirment to add and remove mobile

devices in a convinient manner

Copyrights @ 2005, Aatif Kamal 22

Variations on the Client-Server Model

Example of a mobile code

a) client request results in the downloading of applet code

Web server

ClientWeb serverApplet

Applet code

Client

b) client interacts with the applet

Copyrights @ 2005, Aatif Kamal 23

Variations on the Client-Server Model

Example of a mobile code (cont.) Server push model

Server initiates dialogue “Pushes” information to client Client needs application that listens for server

pushes Example

stockbroker

Copyrights @ 2005, Aatif Kamal 24

Variations on the Client-Server Model

Example of a mobile agent a) The code and data are moved to the server

Web server

Code + data

Users

Results

Copyrights @ 2005, Aatif Kamal 25

Variations on the Client-Server Model

Mobile agents A running program that travels between computers in

a network Carries out tasks on someone’s behalf

E.g., collect information, install programs Has internal knowledge, beliefs and goals

Advantage: local access everywhere Reduction in communication costs Disconnected operation

Potential security threat Limited applicability

Copyrights @ 2005, Aatif Kamal 26

Variations on the Client-Server Model Network computer

All files related to management of application is stored and managed remotely

Application is present & run locally If allowed on local disk & space is available

used as cache Minimum of local software is downloaded

As data and files are stored remotely so user can migrate from one NC to another NC

Thin client Does not even run its own applications Programs are run by a powerful computer server Citrix WinFrame, teleporting and PCAnyWhere: thin client

process for Windows Advantage

Low cost Disadvantage

Not good Highly interactive application like CAD Delay in communication can effect application operation

Copyrights @ 2005, Aatif Kamal 27

Variations on the Client-Server Model

ThinClient

ApplicationProcess

Network computeror PC

Compute server

network

Copyrights @ 2005, Aatif Kamal 28

Mobile Devices and Spontaneous networking

Internet

gateway

PDA

service

Music service

serviceDiscovery

Alarm

Camera

Guestsdevices

LaptopTV/PC

Hotel wirelessnetwork

Copyrights @ 2005, Aatif Kamal 29

Mobile Devices and Spontaneous networking

Key features Easy connection to local network

Transparently reconfigured devices Easy integration with local services

Autonomous service discoveries Issues

Internet addressing, and routing assumption computers are at fixed locations

Limited connectivity Security and privacy

Discovery services Registration service Lookup service

Copyrights @ 2005, Aatif Kamal 30

Design requirements for distributed architectures

Performance issues Quality of Service Use of caching and replication Dependability issues

Copyrights @ 2005, Aatif Kamal 31

Performance issues Responsiveness

Users of interactive application require a fast and consistent response to interaction

Speed of response: load and performance of the server, delays in all software components

Software layers must be optimized Throughput

The rate at which computational work is done Data transfer between processes Throughput of software layer and network

Balancing computer loads The ability to run applet at client removes load from the

web server In some case load balancing may involve moving partially-

completed work as the loads on hosts changes

Copyrights @ 2005, Aatif Kamal 32

Quality of Service (QoS) Quality of service

The ability to meet the deadlines of users need Reliability

Failure model

Security Security model

Performance Adaptability

Example Time-critical data: movie service

QoS Resource reservation

Copyrights @ 2005, Aatif Kamal 33

Use of caching and replication

The performance issues >major obstacles to the successful deployment of DS,

Much progress has been made in the design of systems that overcome data replication and caching

Copyrights @ 2005, Aatif Kamal 34

Dependability issues The dependability of computer systems

correctness, security fault tolerance

Correctness

Fault tolerance reliability is achieved through redundancy

Replication of data and process Redundancy in communication protocols

Security the architectural impact of the requirement for security

concerns the need to locate sensitive data and other resources only in computers that can be effectively secured against attack

Copyrights @ 2005, Aatif Kamal 35

Assignment 2 Q.1 From the book, answer the following questions

2.1 2.4 2.6 2.10

Q. 2 Please read the article: Fred B. Schneider on Distributed Computing, Interview by Deja

n Milojicic, IEEE DS Online, Volume 1, Number 1 Answer the following:

What are the critical unsolved problems in distributed systems today?

What are the trends of distributing computing systems? What are the most important technologies for the future of distribu

ted systems?


Recommended