Top Banner
Applications of Distributed Systems DISTRIBUTED SYSTEMS DR. BASSEM KUSSAYBA
35
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: Applications of Distributed Systems

Applications of Distributed SystemsDISTRIBUTED SYSTEMSDR. BASSEM KUSSAYBA

Page 2: Applications of Distributed Systems

2

Layout

• Distributed Operating Systems

• Distributed File Systems

• Distributed Shared Memory

• Distribution Database Systems

• “Killer” Applications

Page 3: Applications of Distributed Systems

3

Distributed Operating Systems

Page 4: Applications of Distributed Systems

4

Distributed Operating Systems - Definition

Not all operating systems are on a single CPUD

OS

A model where distributed applications are running on multiple computers linked by communications

An extension of the network operating system that supports higher levels of communication and integration of the machines on the network

Looks like a centralized operating system but its not!

Page 5: Applications of Distributed Systems

5

Distributed Operating Systems – Types and Services

MultiprocessorsMulticomputers

TypesFile & print servicesProcess & terminal servicesMail & gateway services

Services

Page 6: Applications of Distributed Systems

6

Distributed Operating Systems – Examples• IRIX operating system• DYNIX operating system• AIX operating system• Solaris operating system• OSF/1 operating system• …

Page 7: Applications of Distributed Systems

7

Distributed Operating Systems – GoalsEffi

cien

cyData propagationOverhead of communication protocolsLoad distribution

Cons

iste

ncy

in using the systemPredict User’s perspective• Uniformity ability

of the system’s behavior

System’s perspective• Integrity

maintenance Robu

stne

ss

Fault tolerance• Handling of exceptional

situations and errors• Changes in the system

topology• Long message delays• Inability to locate a serverSecurity for the users and the system• Access control• varying security models

Page 8: Applications of Distributed Systems

8

Distributed Operating Systems – Implementation Issues

• Identification/Name• Resources must have unique address• naming scheme such as URL

• Distributed Coordination• Processes required to synchronization

• Interprocess Communication• Client/server model• Remote Procedure Call (RPC)

• Distributed Resources• Fault Tolerance and Security

Page 9: Applications of Distributed Systems

9

Distributed Operating Systems – Synchronization

Barrier Synchronization• Process must have synchronization

points to continueCondition Coordination• Process must wait for conditions -

from others- to continueMutual Exclusion• Processes must exclusion each

other in critical shared resource

TypesState information sent by messagesDecision if process may continue must rely on a message resolution protocolDeadlocks

Issues

Page 10: Applications of Distributed Systems

10

Layout

• Distributed Operating Systems

• Distributed File Systems

• Distributed Shared Memory

• Distribution Database Systems

• “Killer” Applications

Page 11: Applications of Distributed Systems

11

Distributed File System

A subsystem of an operating system

Controls how data is stored and retrieved

Without a file system, information placed in a storage area would be

one large body of data

Implements a common file system that can be shared by all autonomous computers in a distributed system

Network transparency

High availability

File System Distributed File System

Page 12: Applications of Distributed Systems

12

Distributed File System• Architectural options

1. Fully distributed• files distributed to all sites

2. Client-server Model• Fileserver: dedicated sites storing files perform storage and retrieval operations• Client: rest of the sites use servers to access files

Page 13: Applications of Distributed Systems

13

Distributed File System – Client/Server Architecture

Page 14: Applications of Distributed Systems

14

Distributed File System - ServicesN

ame

Serv

erProvides mapping the names supplied by clients into objects (files and directories)Takes place when process attempts to access file or directory the first time

Cach

e m

anag

er

Improves performance through file cachingCaching at the client - When client references file at server• Copy of data brought from server to client

machine• Subsequent accesses done locally at the clientCaching at the server• File saved in memory to reduce subsequent

access time

Page 15: Applications of Distributed Systems

15

Distributed File System – Data Access in Client/Server

Page 16: Applications of Distributed Systems

16

Distributed File System – Issues - Protection• Access Failure Replication (distributing copies of data on

multiple servers) Additional Storage in the Data Center

• Two related concepts1. Capabilities2. Access Control Lists

• Cryptographic File System

Page 17: Applications of Distributed Systems

Distributed File System – Issues - Naming

• Approaches to naming files in a distributed system• Concatenate name of host to names of files on that host

• Have a single global directory• All files belong to a single name space• Having unique system wide filenames require a single computing facility

or cooperating facilities17

Advantage Disadvantages

unique filenames Conflicts with network transparency

simple resolution Moving file to another host requires changing its name and the applications using it

Page 18: Applications of Distributed Systems

18

Distributed File System – Issues - Caching

Caching at the Client

Main Memory Disk

+ - + -Fast Expensive

memoryLarge files Requires local

diskWorks for diskless

clientsComplex Virtual

Memory Management

Simpler Virtual Memory

Management

Page 19: Applications of Distributed Systems

19

Distributed File System – Issues - Caching

Cache consistency• Server informs cache managers when data in client caches is stale• Client cache managers invalidate stale data or retrieve new data• Extensive communication

Server initiated

• Cache managers at the clients validate data with server before returning it to clients

• Extensive communicationClient initiated

• Several clients open a file, at least one of them for writing• Server informs all clients to purge that cached file

Prohibit file caching when concurrent-writing

Lock files when concurrent-write sharing (at least one client opens for

write)

Page 20: Applications of Distributed Systems

20

Distributed File System – Issues – Writing Policy

once a client writes into a file (and the local cache), when should the modified cache be sent to the server?

• Write-through• All writes at the clients, immediately transferred to the servers• Reliability• It does not take advantage of the cache• Slow Performance

Page 21: Applications of Distributed Systems

21

Distributed File System – Issues – Writing Policy

once a client writes into a file (and the local cache), when should the modified cache be sent to the server?

• Delayed writing• Delay transfer to servers• Many writes take place (including intermediate results) before a transfer• Some data may be deleted• No reliability

Page 22: Applications of Distributed Systems

22

Distributed File System – Issues – Writing Policy

once a client writes into a file (and the local cache), when should the modified cache be sent to the server?

• Delayed writing until file is closed at client• For short open intervals, same as delayed writing • For long intervals, reliability problems

Page 23: Applications of Distributed Systems

23

Distributed File System – Issues – Availability

what is the level of availability of files in a distributed file system?

• Use replication to increase availability• Many copies (replicas) of files are maintained at different sites/servers• How to keep replicas consistent• How to detect inconsistency among replicas

Page 24: Applications of Distributed Systems

24

Layout

• Distributed Operating Systems

• Distributed File Systems

• Distributed Shared Memory

• Distribution Database Systems

• “Killer” Applications

Page 25: Applications of Distributed Systems

25

Distributed Shared Memory

• A shared memory abstraction what is implemented on a loosely coupled system

Page 26: Applications of Distributed Systems

26

Distributed Shared Memory-Stumm and Zhou's Classification• Central-server algorithm

• Non-migrating and non-replicated• Client: Sends a data request to the central server• Central server: Receives the request, performs data access and

sends a response• Client: Receives the response

• Migration algorithm• Migrating and non-replicated• Client: If the needed data object is not local, determines the

location and then sends a request.• Remote host: Receives the request and then sends the object.• Client: Receives the response and then accesses the data object (read and /or

write)

Page 27: Applications of Distributed Systems

27

Distributed Shared Memory-Stumm and Zhou's Classification

• Read-replication algorithm • Migrating and replicated• Client: If the needed object is not local, sends a request• Remote host: Receives the request and then sends the object• Client: Receives the object and then multicasts by sending either

invalidate or update messages to all sites that have a copy of the data object

• Remote host: Receives an invalidation signal and then invalidates its local copy, or receives an update signal and then updates the local copy.

• Client: Accesses the data object (write)

Page 28: Applications of Distributed Systems

28

Distributed Shared Memory-Stumm and Zhou's Classification

• Full-replication algorithm • Non-migrating and replicated• Client: If it is a write, sends the data object to the sequencer. • Sequencer: Receives the data object and adds a sequence number. Sends

the client a signal with the sequence number and multicasts the data object together with the sequence number to all the other sites

• (Client) Receives the acknowledgment and updates local memory based on the sequence number of each data object.

• (Other sites) Receive the data object and update local memory based on the sequence number of each data object

Page 29: Applications of Distributed Systems

29

Layout

• Distributed Operating Systems

• Distributed File Systems

• Distributed Shared Memory

• Distribution Database Systems

• “Killer” Applications

Page 30: Applications of Distributed Systems

30

Distributed Database Systems

• A collection of multiple, logically interrelated databases distributed over a computer network

• Possible design alternatives• Autonomy • Distribution • Heterogeneity

Page 31: Applications of Distributed Systems

31

Distributed Database Systems - Essentials

Local autonomy

No reliance on a central

site

Continuous operation

Location independence

Fragment independence

Replication independence

Distributed query

processing

Distributed transaction

management

Hardware independence

Operating system

independence

Network independence

Data independence

Page 32: Applications of Distributed Systems

32

Distributed Database Systems - Issues

• Network scaling problem

• Distributed query processing

• Integration with distributed operating systems

• Heterogeneity

• Concurrency control

• Security

Page 33: Applications of Distributed Systems

33

Layout

• Distributed Operating Systems

• Distributed File Systems

• Distributed Shared Memory

• Distribution Database Systems

• “Killer” Applications

Page 34: Applications of Distributed Systems

34

“Killer” Applications• Distributed Object-based Systems

• CORBA

• Distributed Document-based Systems• WWW

• Distributed Coordination-based Systems• JINI

• Distributed Multimedia Systems• QoS requirements

• Emerging Systems• Wireless networks & mobile computing• Grid

Page 35: Applications of Distributed Systems

35

Presented by:• Abdul Majeed Al-Kattan• Rabee Al-Rass• Rahaf Aamer• Rimon Koroni• Sandra Sukarieh

THANK YOU.