Download presentation
Presentation is loading. Please wait.
1
Introduction to Distributed Systems
2
Distributed System Definitions:
“A distributed system is a collection of independent computers that appear to the users of the system as a single computer.” “A system in which hardware or software components located at networked computers communicate and coordinate their actions only by message passing.” “A system that consists of a collection of two or more independent computers which coordinate their processing through the exchange of synchronous or asynchronous message passing.” “A distributed system is a collection of autonomous computers linked by a network with software designed to produce an integrated computing facility.”
3
Definition of a Distributed System (2)
1.1 A distributed system organized as middleware. Note: The middleware layer extends over multiple machines.
4
Distributed System Reasons
Functional distribution: Computers have different functional Capabilities: – Client / server – Host / terminal – Data gathering / data processing Sharing of resources: with specific functionalities Inherent distribution: stemming from the application domain, e.g. – Cash register and inventory systems for supermarket chains – Computer supported collaborative work Load distribution / balancing: assign tasks to processors such that the overall system performance is optimized (Parallel Processing).
5
Distributing Systems Reasons-Cont…
Replication of processing power: independent processors working on the same task Distributed systems consisting of collections of microcomputers may have processing powers that no supercomputer will ever Achieve 10000 CPUs, each running at 50 MIPS, yields MIPS, then Instruction to be executed in nsec Equivalent to light distance of 0.6 mm Any processor chip of that size would melt immediately Physical Separation: Systems that rely on the fact that computers are physically separated (e.g., to satisfy reliability requirements). Economics: Collections of microprocessors offer a better price/performance ration than large mainframes. –mainframes: 10 times faster, 1000 times as expensive
6
Why Distributed Systems and not isolated hardware?
Need to share data and resources amongst users Enhance person-to-person communication Flexibility: different computers with different capabilities can be shared amongst users
7
Distributed Systems Consequences
Distributed systems are concurrent systems; Every software or hardware component is autonomous in the sequel, we will call such an autonomous component a “process” Difference process/program Components execute concurrent tasks: If A and B are concurrent if either A can happen before B, or B can happen before A (nondeterministic) Synchronization and coordination by message passing Sharing of resources Typical problems of concurrent systems Deadlocks Life locks Unreliable communication
8
Distributed vs. Centralized Systems
Advantages of Distributed Systems: • Economics – Many microprocessors that cooperatively work together offer better price/performance then a single large mainframe computer • Speed – A distributed system may have more total computing power than a mainframe • Inherent Distribution – Some applications involve spatially separated machines • Reliability – If one machine crashes, the system as a whole can still survive • Incremental Growth – Computing power can be added in small increments
9
Advantages of Distributed Systems over Isolated PC’s
• Data Sharing – We desire to allow many users access a common data base • Device Sharing – Allow many users to share expensive peripherals like color laser printers • Communication – Make human-to-human communications easier (e.g., ) • Flexibility – Spread the workload over the available machines in the most cost effective ways • The popularity of LAN, WAN, MAN and the Internet networks now makes distributed systems using standard PC hardware possible
10
Disadvantages of Distributed Systems
Software Little software exists at present for distributed systems The network can saturate or cause other problems Bandwidth forces design decisions Network reliability is an issue Security Managing security on a distributed system is complex New technologies such as Kerberous, LDAP, onDemand and PKI are now becoming commercially available Physical distribution of resources vs. demand. Computing power per node is limited.
11
Generally We want a distributed system to appear as one large non-distributed system from the users perspective Sometimes we want distributed systems to be act as parallel machines to run parallel algorithms Today Most distributed system have very few processors (< 64, but typically < 16) The future distributed systems will have thousands of processors
12
Distributed Systems Challenges
Absence of a global clock Due to asynchronous message passing there are limits on the precision with which processes in a distributed system can synchronize their clocks. Absence of a global state In the general case, there is no single process in the distributed system that would have a knowledge of the current global state of the system Due to concurrency and message passing communication Specific failure modes Processes run autonomously, in isolation Failures of individual processes may remain undetected. Individual processes may be unaware of failures in the system context
13
Distributed Systems Challenges - Cont...
Heterogeneity of Underlying network infrastructure, Computer hard- and software (e.g., operating systems, compare UNIX socket and Winsock calls), Programming languages (in particular, data representations). Some approaches Middleware (e.g., CORBA): transparency of network, hard and software and programming language heterogeneity Mobile Code (e.g., JAVA): transparency from hard-, software and programming language heterogeneity through virtual machine concepts
14
Distributed Systems Challenges - Cont...
2. Openness – Ensure extensibility and maintainability of systems Adherence to standard interfaces 3. Security Privacy Authentication Availability Trusting
15
Challenges in The Design of Distributed Systems
4. Handling of Failures – Detection (may be impossible) – Masking Retransmission redundancy of data storage – Tolerance exception handling (e.g., timeouts when waiting for a web resource) – Redundancy redundant routes in network replication of name tables in multiple domain name servers
16
Challenges in The Design of Distributed Systems
5. Concurrency Consistent scheduling of concurrent threads (so that dependencies are preserved, e.g., in concurrent transactions) Avoidance of dead- and life lock problems 6. Transparency: Concealing the heterogeneous and distributed nature of the system so that it appears to the user like one system. Transparency categories (according to ISO's Reference Model for ODP) Access: access local and remote resources using identical operations * e.g., network mapped drive using Samba server, NFS Mounts Location: access without knowledge of location of a resource e.g., URLs, addresses Concurrency: allow several processes to operate concurrently using shared resources in a consistent fashion
17
Distributed Software Software is very critical to a distributed system
• The image that a system presents to its users and how they think about the system is largely determined by the operating system software • Like hardware there are several classifications of distributed operating systems – Network Operating Systems – Distributed Operating Systems – Multiprocessor Timesharing Operating Systems • Without a distributed operating system the user is responsible for managing the distributed environment – Very complex, this is what an OS is suppose to handle
18
Software Concepts An overview of DOS (Distributed Operating Systems)
Description Main Goal DOS Tightly-coupled operating system for multi-processors and homogeneous multicomputers Hide and manage hardware resources NOS Loosely-coupled operating system for heterogeneous multicomputers (LAN and WAN) Offer local services to remote clients Middleware Additional layer atop of NOS implementing general-purpose services Provide distribution transparency An overview of DOS (Distributed Operating Systems) NOS (Network Operating Systems) Middleware
19
Distributed Operating Systems
Requirements: Provide user with convenient virtual computer. Hide distribution of resources. Mechanisms for protecting resources. Secure communication. Definition Distributed OS looks to user like ordinary centralized OS, but runs on multiple, independent CPUs. Use of multiple processors is invisible. User views system as virtual uniprocessor.
20
Network Operating Systems
Definition: A network OS is a collection of OSs of computers connected through a network incorporating modules to provide access to remote resources. Characteristics: Each computer has private OS. User works on his own machine and remotely logs in to other computers. Users are aware of location of files. Limited fault tolerance.
21
Research and Design Issues
There are many design issues that are important when considering how to achieve a single system image in a distributed environment Transparency System designers “fool” users into thinking a collection of computers is a single timesharing system Flexibility System should be able to be logically configured in a flexible manner Reliability System should be able to tolerate one or more failures in the distributed environment Scalability System should scale well and limit the amount of central control
22
Research and Design Issues- Cont..
Communication model Paradigms for process interaction Heterogeneity Autonomy and/or interdependence Replication
23
Transparency Transparency:
Make the network invisible to user/applications. Various degrees of transparency: Access Transparency Location Transparency Name Transparency Data Transparency Execution Transparency Performance Transparency
24
Transparency in a Distributed System
Different forms of transparency in a distributed system. Transparency Description Access Hide differences in data representation and how a resource is accessed Location Hide where a resource is located Migration Hide that a resource may move to another location Relocation Hide that a resource may be moved to another location while in use Replication Hide that a resource may be redundant and shared by several competitive users Concurrency Hide that a resource may be shared by several competitive users Failure Hide the failure and recovery of a resource Persistence Hide whether a (software) resource is in memory or on disk
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.