Distributed Operating Systems: By: Malik Abdulrehman
Distributed Operating Systems: By: Malik Abdulrehman
By:
Malik Abdulrehman.
Topics to be covered
1-
for Algos
Minimize communication overhead
Data access from several nodes
Keep track of location of remote data
or
Client
Centralserver
Client
Send data
request
Centralserver
Receive Request
Perform data
accessSend
Receive block
Multicast invalidate
Access data
Remote host
Receive request
Send block
Receive invalidate
Invalidate block
nodes to have both read and write access to shared data blocks (the
multiple readers-multiple writers protocol) .
One simple way to maintain consistency is to use a gap-free sequencer .
All nodes wishing to modify shared data will send the modification to a
sequencer.
The sequencer will assign a sequence number and multicast the
modification with the sequence number to all the nodes that have a copy of
the shared data item .
Each node processes the modification requests in the sequence number
order .
A gap between the sequence number of a modification request and the
expected sequence number at a node indicates that one or more
modifications have been missed.
Memory Coherence
It
Coherence protocols
Write
Invalidate
when a write operation is observed to a location that a
cache has a copy of, the cache controller invalidates its
own copy of the snooped memory location.
Write Update
when a write operation is observed to a location that a
cache has a copy of, the cache controller updates its own
copy of the snooped memory location with the new data.
Design issues
Naming
Writing policy
the file is closed at the client. When average period for which
files are open is short then this policy is equivalent to write
through and when period is large then this policy is euivalent to
delayed writing policy
Cache consistency
When
multiple clients want to modify or access the same data, then cache
consistancy problem arises. Two schemes are used to gurantee that data
returned to the client is valid.
Cont.
b)
Client-initiated approach:
It is the responsibilty of cache manager at the clients to
validate data with server before returning it to the clients.
This approach does not take benefit of caching as the
cache manager consult the server for validation of
cached block each time.
.
Availability
replication
Scalability
The design should support a growing system
Example: server-initiated cache invalidation complexity and
Semantics
Expected semantics: a read will return data stored by the latest write
Possible options:
ThankYou