15

Click here to load reader

Section 2.1 Distributed System Design Goals Alex De Ruiter

Embed Size (px)

DESCRIPTION

Operating System Design Goals Efficiency Flexibility Consistency Robustness

Citation preview

Page 1: Section 2.1 Distributed System Design Goals Alex De Ruiter

Section 2.1

Distributed System Design Goals

Alex De [email protected]

Page 2: Section 2.1 Distributed System Design Goals Alex De Ruiter

Why a Distributed System? Resource sharing

Specialized hardware Data/Database

Computation speedup Partitioning computations allowing concurrent

processing Load balancing

Reliability In event of system resource failure, shift its

processing load to another similar resource.

Page 3: Section 2.1 Distributed System Design Goals Alex De Ruiter

Operating System Design Goals

Efficiency

Flexibility

Consistency

Robustness

Page 4: Section 2.1 Distributed System Design Goals Alex De Ruiter

Efficiency Standard measurements

Throughput: Number of process/tasks completed per unit of time.

Turnaround Time: Process/task specific time required to execute from start to finish.

Waiting Time: Time process spent waiting to execute.

Response Time: If in an interactive environment, the time required to provide the first response to a processing request.

Page 5: Section 2.1 Distributed System Design Goals Alex De Ruiter

Efficiency Distributed system efficiency issues

Data propagation In a centralized system, access to data is for the most

part immediate. Not so the distributed system, data may be found in widely dispersed locations.

Solution, Data migration Computation migration Process migration

Page 6: Section 2.1 Distributed System Design Goals Alex De Ruiter

Efficiency Communication protocol overhead

Once again, in a centralized system a common basis for communication is present. Not so the distributed system.

Differing character encoding- ASCII vs EBCDIC Differing structuring of binary data.

Big Endian vs Little Endian In a centralized system no need for network protocols

to facilitate interprocess communication.

Solutions/requirements Tightly coded communication constructs at the operating

system level. Handle the ASCII vs EBCDIC or Endian issues with a minimum of fuss.

Effective communication protocols at the network level

Page 7: Section 2.1 Distributed System Design Goals Alex De Ruiter

Efficiency Load distribution

Issues bottlenecks and congestion Network

WAN LAN

Software components / processes Scalability – also falls in the robustness category

Page 8: Section 2.1 Distributed System Design Goals Alex De Ruiter

Flexibility Friendliness, what is it?

ease of use of the system interface Ability to relate computation processes to the

users problem space - accountability Freedom, what is it?

The ability to select when, where and how to use the system with restrictions being at a minimum.

Extensibility of the user environment. Ready system features present to provide for the creation of new user tools and services.

Page 9: Section 2.1 Distributed System Design Goals Alex De Ruiter

Consistency What is it?

Uniformity in using the system. Predictability in system behavior.

Issues: Lack of global information

Timing System state

Component failures Data replication and partitioning Maintaining data integrity in the face of

concurrency over widely dispersed data locations

Page 10: Section 2.1 Distributed System Design Goals Alex De Ruiter

Robustness A system is said to be robust if it is fault-

tolerant. Or said another way, it has the ability to continue to function, perhaps in a reduced capacity, after the occurrence of some form of system failure.

Common distributed system failures: Communication link failure Processing nodes failure / site outage Client/server processes failure / message loss

Page 11: Section 2.1 Distributed System Design Goals Alex De Ruiter

Robustness Recovery, step one: detect the failure.

Detect that some system resource has ceased to function.

Recovery, step two: reconfiguration. Isolate the failed system resource from the

system as a whole to prevent attempted use of said failed resource.

Recovery, step three: restoration. Once the failed resource returns to operation the

system must be once again reconfigured to include the formerly failed resource.

Page 12: Section 2.1 Distributed System Design Goals Alex De Ruiter

Robustness Scalability can also be considered under the

heading of robustness. Scalability is the ability of a system to adapt

to an increased service load. Any system resource who's load is proportional

to the size of the system has the potential of being overwhelmed as the system increases in size.

So, scalability, and therefore robustness, requires that the maximum load on any system resource be determined by some value other than system size.

Page 13: Section 2.1 Distributed System Design Goals Alex De Ruiter

Robustness Security:

Breach of confidentiality - Access of data Breach of integrity - Modification of data Breach of availability - Destruction of data Theft of service - Use of resources Denial of Serice - Preventing resource use

Protection: Allow multiple users/processes access to shared

system resources in a manner consistent with system protection polices.

i.e. only allow a user/process to access the minimum set of resources needed to accomplish their task.

Page 14: Section 2.1 Distributed System Design Goals Alex De Ruiter

Questions?

Page 15: Section 2.1 Distributed System Design Goals Alex De Ruiter

References Randy Chow, Theodore Johnson, “Distributed Operating Systems &

Algorithms”, Addison Wesley, pp.28-29. Abraham Silberschatz, Peter Baer Galvin, Greg Gagne, “Operating

System Concepts”, John Wiley & Sons Inc., pp. 612 - 617