Applications of Distributed Systems DISTRIBUTED SYSTEMS DR. BASSEM KUSSAYBA
Aug 07, 2015
Applications of Distributed SystemsDISTRIBUTED SYSTEMSDR. BASSEM KUSSAYBA
2
Layout
• Distributed Operating Systems
• Distributed File Systems
• Distributed Shared Memory
• Distribution Database Systems
• “Killer” Applications
3
Distributed Operating 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!
5
Distributed Operating Systems – Types and Services
MultiprocessorsMulticomputers
TypesFile & print servicesProcess & terminal servicesMail & gateway services
Services
6
Distributed Operating Systems – Examples• IRIX operating system• DYNIX operating system• AIX operating system• Solaris operating system• OSF/1 operating system• …
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
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
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
10
Layout
• Distributed Operating Systems
• Distributed File Systems
• Distributed Shared Memory
• Distribution Database Systems
• “Killer” Applications
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
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
13
Distributed File System – Client/Server Architecture
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
15
Distributed File System – Data Access in Client/Server
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
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
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
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)
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
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
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
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
24
Layout
• Distributed Operating Systems
• Distributed File Systems
• Distributed Shared Memory
• Distribution Database Systems
• “Killer” Applications
25
Distributed Shared Memory
• A shared memory abstraction what is implemented on a loosely coupled system
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)
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)
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
29
Layout
• Distributed Operating Systems
• Distributed File Systems
• Distributed Shared Memory
• Distribution Database Systems
• “Killer” Applications
30
Distributed Database Systems
• A collection of multiple, logically interrelated databases distributed over a computer network
• Possible design alternatives• Autonomy • Distribution • Heterogeneity
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
32
Distributed Database Systems - Issues
• Network scaling problem
• Distributed query processing
• Integration with distributed operating systems
• Heterogeneity
• Concurrency control
• Security
33
Layout
• Distributed Operating Systems
• Distributed File Systems
• Distributed Shared Memory
• Distribution Database Systems
• “Killer” Applications
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
35
Presented by:• Abdul Majeed Al-Kattan• Rabee Al-Rass• Rahaf Aamer• Rimon Koroni• Sandra Sukarieh
THANK YOU.