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
A model where distributed applications are running
on multiple computers linked by communications
DOS
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!
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
Implements a common file system that
A subsystem of an operating system can be shared by all autonomous
computers in a distributed system
Controls how data is stored and
retrieved Network transparency
Without a file system, information
placed in a storage area would be High availability
one large body of data
File System Distributed File System
11
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
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
unique filenames Conflicts with network transparency
simple resolution Moving file to another host requires changing its name and the
applications using it
• 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 facilities
17
Distributed File System – Issues - Caching
Caching at the Client
Main Memory Disk
+ - + -
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
• Cache managers at the clients validate data with server before
Client initiated returning it to clients
• 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
Lock files when concurrent-write
sharing (at least one client opens
for write)
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
Replication No reliance Data Distributed
independenc on a central independenc transaction
e site e management
Fragment Network Hardware
Continuous
independenc independenc independenc
operation
e e e
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