Applications of Distributed Systems
Applications of Distributed Systems
DISTRIBUTED SYSTEMS
DR. BASSEM KUSSAYBA
Layout
• Distributed Operating Systems
• Distributed File Systems
• Distributed Shared Memory
• Distribution Database Systems
• “Killer” Applications
2
Distributed Operating Systems
3
Distributed Operating Systems - Definition
Not all operating systems are on a single CPU
4
Distributed Operating Systems – Types and Services
Types Services
Multiprocessors File & print services
Multicomputers Process & terminal
services
Mail & gateway
services
5
Distributed Operating Systems – Examples
• IRIX operating system
• DYNIX operating system
• AIX operating system
• Solaris operating system
• OSF/1 operating system
• …
6
Distributed Operating Systems – Goals
Data propagation in using the system Fault tolerance
Overhead of Predict User’s • Handling of exceptional
communication perspective situations and errors
protocols • Uniformity ability • Changes in the system
Robustness
Efficiency
Consistency
Load distribution of the system’s topology
behavior • Long message delays
System’s • Inability to locate a server
perspective Security for the users and the
• Integrity system
maintenance • Access control
• varying security models
7
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
8
Distributed Operating Systems – Synchronization
Types Issues
Barrier Synchronization State information sent by
• Process must have synchronization messages
points to continue
Decision if process may
Condition Coordination continue must rely on a
• Process must wait for conditions - message resolution protocol
from others- to continue
Mutual Exclusion Deadlocks
• Processes must exclusion each
other in critical shared resource
9
Layout
• Distributed Operating Systems
• Distributed File Systems
• Distributed Shared Memory
• Distribution Database Systems
• “Killer” Applications
10
Distributed File System
12
Distributed File System – Client/Server Architecture
13
Distributed File System - Services
Provides mapping the Improves performance through file
names supplied by clients caching
into objects (files and Caching at the client - When client
directories) references file at server
Name Server
Cache manager
Takes place when process • Copy of data brought from server to client
attempts to access file or machine
directory the first time • Subsequent accesses done locally at the client
Caching at the server
• File saved in memory to reduce subsequent
access time
14
Distributed File System – Data Access in Client/Server
15
Distributed File System – Issues - Protection
• Access Failure Replication (distributing copies of data on
multiple servers)
Additional Storage in the Data Center
• Two related concepts
1. Capabilities
2. Access Control Lists
• Cryptographic File System
16
Distributed File System – Issues - Naming
• Approaches to naming files in a distributed system
• Concatenate name of host to names of files on that host
Advantage Disadvantages
simple resolution Moving file to another host requires changing its name and the
applications using it
+ - + -
Fast Expensive Large files Requires local
memory disk
Works for diskless Complex Virtual Simpler Virtual
clients Memory Memory
Management Management
18
Distributed File System – Issues - Caching
Cache consistency
• Server informs cache managers when data in client caches is stale
Server initiated • Client cache managers invalidate stale data or retrieve new data
• Extensive communication
Prohibit file caching when • Several clients open a file, at least one of them for writing
concurrent-writing • Server informs all clients to purge that cached file
19
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
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?
• Delayed writing
• Delay transfer to servers
• Many writes take place (including intermediate results) before a transfer
• Some data may be deleted
• No reliability
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 until file is closed at client
• For short open intervals, same as delayed writing
• For long intervals, reliability problems
22
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
23
Layout
• Distributed Operating Systems
• Distributed File Systems
• Distributed Shared Memory
• Distribution Database Systems
• “Killer” Applications
24
Distributed Shared Memory
• A shared memory abstraction what is implemented on a loosely
coupled system
25
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)
26
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)
27
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
28
Layout
• Distributed Operating Systems
• Distributed File Systems
• Distributed Shared Memory
• Distribution Database Systems
• “Killer” Applications
29
Distributed Database Systems
• A collection of multiple, logically interrelated databases distributed
over a computer network
• Possible design alternatives
• Autonomy
• Distribution
• Heterogeneity
30
Distributed Database Systems - Essentials
Distributed
Local
query
autonomy
processing
Operating
Location
system
independenc
independenc
e
e
31
Distributed Database Systems - Issues
• Network scaling problem
• Distributed query processing
• Integration with distributed operating systems
• Heterogeneity
• Concurrency control
• Security
32
Layout
• Distributed Operating Systems
• Distributed File Systems
• Distributed Shared Memory
• Distribution Database Systems
• “Killer” Applications
33
“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
34
THANK YOU.
Presented by:
• Abdul Majeed Al-Kattan
• Rabee Al-Rass
• Rahaf Aamer
• Rimon Koroni
• Sandra Sukarieh
35