1 / 52

Distributed Systems

Distributed Systems. Luai Malhis PH.D Computer Engineering Department An- Najah N. University Fall 2013. Introduction. What is a Distributed system? Why do we need distributed Systems? History of Distributed Systems. Applications of Distributed Systems. Goals and Objectives.

plato
Télécharger la présentation

Distributed Systems

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Distributed Systems LuaiMalhis PH.D Computer Engineering Department An-Najah N. University Fall 2013 Distributed Systems

  2. Introduction • What is a Distributed system? • Why do we need distributed Systems? • History of Distributed Systems. • Applications of Distributed Systems. • Goals and Objectives. Distributed Systems

  3. Definition of a Distributed System (Tanenbaum): • A distributed system is: A collection of independent computers that appears to its users as a single coherent system. Distributed Systems

  4. Centralized Systems: • System shared by users all the time • All resources accessible • Software runs in a single process • Single physical location • Single clock time (Global Time) • Single point of control • Single point of failure Distributed Systems

  5. Decentralized Systems: • Multiple autonomous components • Components shared by users • Some resources may not be accessible • Software can run in concurrent processes on different processors • Multiple physical locations • Multiple points of control • Multiple points of failure • Multiple Clock times (No global time) • No shared memory (in most cases) Distributed Systems

  6. Basics of Distributed Systems: • Networked computers (close or loosely coupled) that provide a degree of operation transparency • Distributed Computer System = • independent processors + networking infrastructure • Communication between processes (on the same or different computer) using message passing technologies is the basis of distributed computing Distributed Systems

  7. Advantages of Distributed Systems over Centralized Systems • Economics: a collection of microprocessors offer a better price/performance than mainframes. Lowprice/performance ratio: cost effective way to increase computing power. • Speed: a distributed system may have more total computing power than a mainframe. Ex. 10,000 CPU chips, each running at 50 MIPS. Not possible to build 500,000 MIPS single processor since it would require 0.002 nsec instruction cycle. Enhanced performance through load distributing. • Inherent distribution: Some applications are inherently distributed. Ex. a supermarket chain. Distributed Systems

  8. Advantages continue • Reliability: If one machine crashes, the system as a whole can still survive. Higher availability and improved reliability. • Incremental growth: Computing power can be added in small increments. Modular expandability • Another deriving force: the existence of large number of personal computers, the need for people to collaborate and share information. Distributed Systems

  9. Advantages Continue • Data sharing: allow many users to access to a common data base • Resource Sharing: expensive peripherals like color printers • Communication: enhance human-to-human communication, e.g., email, chat • Flexibility: spread the workload over the available machines Distributed Systems

  10. Disadvantages of Distributed Systems • Software: difficult to develop software for distributed systems • Network: saturation, lossy transmissions • Security: easy access also applies to secrete data Distributed Systems

  11. Goals of Distributed Systems: • Resource sharing: easy for users to access remote resources. • Transparency: to hide the fact that processes and resources are physically distributed across multiple computers. • Openness: to offer services according to standard rules. • Scalability: easy to expand and manage. Distributed Systems

  12. ISO RM-ODP: forms of transparency :Reference Model for open distributed system Distributed Systems

  13. Scalability Problems: Centralized paradigm Distributed Systems

  14. Scalability Problems: Decentralized paradigm • No machine has complete information about the systems state. • Machines make decisions based only on local information. • Failure of one machine does not ruin the algorithm. • There is no implicit assumption that a global clock exists. Distributed Systems

  15. User Requirements : • What services the system can provide? • How easy to use and manage the system? • What benefits the system can offer? • What is the ratio of performance/cost? • How reliable the system is? • How secure the system can guarantee? Distributed Systems

  16. Distributed Computer System Metrics • Latency – network delay before any data is sent • Bandwidth – maximum channel capacity (analogue communication Hz, digital communication bps) • Granularity – relative size of units of processing required. Distributed systems operate best with coarse grain granularity because of the slow communication compared to processing speed in general Distributed Systems

  17. Metrics Continue • Reliability– ability to continue operating correctly for a given time • Fault tolerance – resilience to partial system failure • Security – policy to deal with threats to the communication or processing of data in a system • Processor speed – MIPS, FLOPS • Administrative/managementdomains – issues concerning the ownership and access to distributed systems components Distributed Systems

  18. Chapter 2: Concepts and Architectures Disk(s) CPU I/O Memory Traditional Computer Architecture Distributed Systems

  19. Computer System Architectures • Flynn, 1966+1972 classification of computer systems in terms of instruction and data stream organizations • Based on Von-Neumann model (separate processor and memory units • 4 machine organizations • SISD - Single Instruction, Single Data (PC, MIPS, etc.) • SIMD - Single Instruction, Multiple Data (Array Proc.) • MISD - Multiple Instruction, Single Data (not Available) • MIMD - Multiple Instruction, Multiple Data (Parallel Proc) Distributed Systems

  20. I D CU PU Serial Processor SISD D1 PU1 I Array Processor CU Dn PUn SIMD CU – control unit PU – processor unit I – instruction stream D – data stream Flynn Architectures (1) Distributed Systems

  21. I1 D1 CU1 PU1 Multiprocessor and Multicomputer In Dn CUn PUn MIMD I1 CU1 PU1 No real examples - possibly some pipeline architectures D In CUn PUn MISD Flynn Architectures (2) Distributed Systems

  22. Processor-Memory Interconnection Network Distributed Systems

  23. Crossbar switch Distributed Systems

  24. P P P P P P P P P P M M M M M M M M M M Multiple stage switch Distributed Systems

  25. Homogeneous Multicomputer Systems – Processor Arrays Grid Hypercube Distributed Systems

  26. Loosely coupled multi-computer systems • Distributed Memory Multi-computer • IPC by message passing • Typically PC or workstation clusters • Physically distributed components • Characterized by longer message delays and limited bandwidth network M P M P M P Distributed Systems

  27. Shared Memory M P M P M P M P I/O Closely coupled multi-computer systems • Shared Memory Multiprocessor • Processors connected via common bus or fast network • Characterized by short message delays, high • bandwidth • IPC via Shared Memory Distributed Systems

  28. Network based Systems • Network size: number of nodes N • Node: ni, 1 i N • Distance: d(ni, nj): number of links between ni and nj • Network distance: D = max(d(ni, nj)) • Degree: degree(ni): number of links from/to ni • Network topology is an abstract graph to represent the architecture of a network Distributed Systems

  29. Desired Properties: • (1) When network size grows arbitrarily, the network distance increases (Max distance between two nodes) • (2) There exists a constant k, such that • degree(ni) k • (3) Routing algorithm is easy to implement and independent of network size • (4) When some nodes or links are failed, the network is still connected (with lower performance) • (5) Traffic loads are evenly distributed over the network Distributed Systems

  30. star ring B-tree complete regular arbitrary Typical network topologies: Distributed Systems

  31. Software Concepts • DOS (Distributed Operating Systems) • NOS (Network Operating Systems) • Middleware Distributed Systems

  32. Uniprocessor Operating System Separating applications from operating system code through a microkernel. Distributed Systems

  33. Distributed Operating System Tightly-coupled operating system for multi-processors and homogeneous multi-computers. Strong transparency. Distributed Systems

  34. DOS: characteristics (1) • Distributed Operating Systems • Allows a multiprocessor or multicomputer network resources to be integrated as a single system image • Hide and manage hardware and software resources • provides transparency support • provide heterogeneity support • control network in most effective way • consists of low level commands + local operating systems + distributed features • Inter-process communication (IPC) Distributed Systems

  35. DOS: characteristics (2) • remote file and device access • global addressing and naming • trading and naming services • synchronization and deadlock avoidance • resource allocation and protection • global resource sharing • deadlock avoidance • communication security • no examples in general use but many research systems: Amoeba, Chorus etc. see Google “distributed systems research” Distributed Systems

  36. Network Operating System Loosely-coupled operating system for heterogeneous multi-computers (LAN and WAN). Weak transparency. Distributed Systems

  37. NOS: characteristics • Network Operating System • extension of centralized operating systems • offer local services to remote clients • each processor has own operating system • user owns a machine, but can access others (e.g. rlogin, telnet) • no global naming of resources • system has little fault tolerance • e.g. UNIX, Windows NT, 2000 Distributed Systems

  38. Middleware System Additional layer on the top of NOS implementing general-purpose services. Better transparency. Distributed Systems

  39. Middleware Examples • Examples: Sun RPC, CORBA, DCOM, Java RMI (distributed object technology) • Built on top of transport layer in the ISO/OSI 7 layer reference model: application (protocol), presentation (semantic), session (dialogue), transport (e.g. TCP or UDP), network (IP, ATM etc), data link (frames, checksum), physical (bits and bytes) • Most are implemented over the internet protocols • Masks heterogeneity of underlying networks, hardware, operating system and programming languages – so provides a uniform programming model with standard services • 3 types of middleware: • transaction oriented (for distributed database applications) • message oriented (for reliable asynchronous communication) • remote procedure calls (RPC) – the original OO middleware Distributed Systems

  40. Types of communication Message passing is the general basis of communication in a distributed system: transferring a set of data from a sender to a receiver. Distributed Systems

  41. Point-to-point Message passing • sender calls send primitive to pass message to sender’s buffer • communication module transmits the message to the destination • destination communication module puts the message to receiver’s buffer • receiver calls receive primitive to get the message Distributed Systems

  42. Distributed Shared Memory • Pages of address space distributed among four machines • Situation after CPU 1 references page 10 • Situation if page 10 is read only and replication is used Distributed Systems

  43. Comparison between Systems Distributed Systems

  44. Client-Server Model Distributed Systems

  45. Timing interaction between client and server Distributed Systems

  46. Design Issues of Distributed Systems • Transparency • Flexibility • Reliability • Performance • Scalability Distributed Systems

  47. 1. Transparency • How to achieve the single-system image, i.e., how to make a collection of computers appear as a single computer. • Hiding all the distribution from the users as well as the application programs can be achieved at two levels: • hide the distribution from users • at a lower level, make the system look transparent to programs. 1) and 2) requires uniform interfaces such as access to files, communication. Distributed Systems

  48. Types of transparency • Location Transparency: users cannot tell where hardware and software resources such as CPUs, printers, files, data bases are located. • Migration Transparency: resources must be free to move from one location to another without their names changed. • Replication Transparency: OS can make additional copies of files and resources without users noticing. • Concurrency Transparency: The users are not aware of the existence of other users. Need to allow multiple users to concurrently access the same resource. Lock and unlock for mutual exclusion. • Parallelism Transparency: Automatic use of parallelism without having to program explicitly. The holy grail for distributed and parallel system designers. Distributed Systems

  49. 2. Flexibility • Make it easier to change • Monolithic Kernel: systems calls are trapped and executed by the kernel. All system calls are served by the kernel, e.g., UNIX. • Microkernel: provides minimal services. (Fig 9-15)1) IPC 2) some memory management 3) some low-level process management and scheduling 4) low-level i/oE.g., Mach can support multiple file systems, multiple system interfaces. Distributed Systems

  50. 3. Reliability • Distributed system should be more reliable than single system. Example: 3 machines with .95 probability of being up. 1-.05**3 probability of being up. • Availability: fraction of time the system is usable. Redundancy improves it. • Need to maintain consistency • Need to be secure • Fault tolerance: need to mask failures, recover from errors. Distributed Systems

More Related