Distributed Operating System Concepts PDF
Document Details
Uploaded by SatisfactoryRhenium2021
Al-Balqa Applied University
Tags
Summary
This document provides an overview of distributed operating system concepts. It includes discussions on distributed system characteristics, goals like transparency and scalability, and techniques for scaling distributed systems.
Full Transcript
Operating System concept Distributed Operating Systems Distributed Systems What is a distributed system? “A collection of independent computers that appears to its users as a single coherent system.” Characteristics – Prone to failure – Limited bandwidth – Latency ...
Operating System concept Distributed Operating Systems Distributed Systems What is a distributed system? “A collection of independent computers that appears to its users as a single coherent system.” Characteristics – Prone to failure – Limited bandwidth – Latency Definition of a DS (2) A distributed system organized as middleware.Note that the middleware layer extends over multiple machines – To support heterogeneity and at the same time offering a single-system view – Provides means for components to communicate and at the same time hides the differences in OS and hardware from each application Characteristics of a DS Differences between the computers (platforms, HW, SW) and the ways in which they communicate are hidden from users – Heterogeneous computer and networks Easy to expand or scale Continuously available (yet some parts may temporarily out of order and) – users should not notice that parts are being replaced or fixed , or that new parts are being added Goals Of DS – Easily Connect Users / Resources. – Exhibit Transparency. – Support Openness. – Be Scalable – In size. – Geographically. – Administratively. Goals Of Distributed Systems (Transparency) A DS is transparent if: It presents itself to users as if it were a single system. – Hide the fact that its processes and resources are physically distributed across multiple computers Transparency Types in a DS Transparency Types in a DS (contd) Goals Of Distributed Systems (Openness) Goals Of Distributed Systems (Openness) Offers services according to standard rules with clear syntax protocols of computer networks – Interoperability Two implementations of systems from different manufacturers can co-exist and work together – Portability Applications for one DS can work on another DS without modification – extensibility Easy to configure, add, delete, replace components without affecting other parts of the system Goals Of Distributed Systems:(Scalability) Three dimensions of scalability problems: – Size: Number of users and/or processes (easy to add) – Geographical: Maximum distance between nodes (resources may be far apart) – Administrative: Number of administrative domains (easy to manage) Performance must not degrade with a growing DS, – however, in practice a system exhibits some loss of performance as the system scales up Avoid any form of a centralized solution within a DS, because each central “resource” might become a bottleneck: – Components /services (e.g. Single Server) or – Date /Tables (e.g. directories in DFS) – Algorithms (e.g. deadlock detection) Scalability Problems: (Size Scalability) Techniques for Scaling In general, scalability problems appear in the form of performance degradation caused by limited capacity of servers and networks. 3 techniques for scaling – Hiding communication latencies: – Distribution: Partition data and computations across multiple machines in the system: Decentralized naming services (e.g., DNS) Decentralized information systems (e.g., WWW) – Replication: Make copies of data available at different machines (e.g., replicated file servers, databases, mirrored websites, etc) Increase availability and balance load Caching : Allow client processes to access local copies – Web caches (e.g., browser/web proxy) – File caches (e.g., server or client) Consistency problems Hiding communication latencies To achieve geographical scalability Simply by avoid waiting for responses. – Asynchronous communication, Scaling Techniques Distribution: Partition data and computations across multiple machines in the system: Decentralized naming services (e.g., DNS) Decentralized information systems (e.g., WWW) Scaling Techniques Replication: Make copies of data available at different machines (e.g., replicated file servers, databases, mirrored websites, etc) – Increase availability and balance load which results in better performance – Hide some communication latency by having a near by copy. Caching : Allow client processes to access local copies – Similar to replication, it makes a copy of a recourse in the proximity of the client. However, the decision of caching is made by the client not the owner of the resource – Also, caching happens on demand while replication is often planned in advance Scaling Techniques May create consistency problems: modifying one copy makes that copy different from others Toleration of inconsistency depends of the resource usage: – Weak consistency – Web caches (e.g., browser/web proxy): – File caches (e.g., server or client) – Strong consistency – Stock exchange Summary: Scaling Techniques 1.Hiding Communication Latencies – The web-server example (cache and do at all once) 2.Distribution – Split a component and spread the parts around – E.g., Domain Name System (DNS) 3.Replication – Replicate data around