Presentation is loading. Please wait.

Presentation is loading. Please wait.

Introduction to Distributed Systems. Distributed System Definitions:  “A distributed system is a collection of independent computers that appear to the.

Similar presentations


Presentation on theme: "Introduction to Distributed Systems. Distributed System Definitions:  “A distributed system is a collection of independent computers that appear to the."— Presentation transcript:

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) A distributed system organized as middleware. Note: The middleware layer extends over multiple machines. 1.1

4  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). Distributed System Reasons

5  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 500000 MIPS, then Instruction to be executed in 0.002 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 Distributing Systems Reasons-Cont…

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., email) 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... 1.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, email 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)  NOS (Network Operating Systems)  Middleware SystemDescriptionMain 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

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. TransparencyDescription Access Hide differences in data representation and how a resource is accessed LocationHide where a resource is located MigrationHide 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 FailureHide the failure and recovery of a resource PersistenceHide whether a (software) resource is in memory or on disk


Download ppt "Introduction to Distributed Systems. Distributed System Definitions:  “A distributed system is a collection of independent computers that appear to the."

Similar presentations


Ads by Google