Professional Documents
Culture Documents
DS Major Design Issues
DS Major Design Issues
Outline
Problems
Definition:
Distributed operating system: [3]
Integration of system services presenting a
transparent view of a multiple computer system
with distributed resources and control.
Consisting of concurrent processes accessing
distributed shared or replicated resources
through message passing in a network
environment.
[3]
Efficiency
Consistency
Robustness
Efficiency
Efficiency
[3]
problem: Communication
delays
Data propagation
Overhead of communication protocols
Load distribution
Consistency
[3]
Consistency Problem:
Users perspective:
Uniformity in using the system
Predictability of the systems behavior
Systems perspective:
Integrity maintenance
Concurrency control
Failure handling
Recovery procedures
Robustness
Robustness
[3]
Problems:
Fault tolerance
Implementation Issues
Objects
Identification / Name
Objects:
Object access:
Name
Physical or Logical address
Service that the servers provide.
Identification Issue:
Distributed Coordination
Processes
[1]
Coordination required to
achieve synchronization:
Synchronization Types:
Barrier synchronization:
Condition Coordination:
Mutual exclusion:
Synchronization Types
Barrier Synchronization:
Condition Coordination:
Mutual Exclusion:
Synchronization Issues:
Centralized Coordinator:
Deadlocks
Interprocess Communication
[1]
Interprocess Communication
Issues
Susceptible
Distributed Resources
[1]
Resources:
Data (Storage)
Processing capacity (Sum of all processors)
Multiprocessor scheduling
Objective: Minimize the completion time of processes
Issue: Minimize communication overhead with
efficient scheduling.
Load sharing
Objective: Maximize the utilization of processors.
Issue: Process migration strategy & mechanism.
[1]
Summary of Issues
[3]
Issue
Affect Service
Communication, Synchronization,
distributed algorithms
Performance
Resource
System Failures
References
[1] Randy Chow & Theodore Johnson,
1997,Distributed Operating Systems & Algorithms,
(Addison-Wesley), p. 45 to 50.
[2] Ian Sommerville, 2000, Software Engineering, 6th
edition, Chapter 11.
[3] Pierre Boulet, 2006, Distributed Systems:
Fundemental Concepts