D ISTRIBUTED S YSTEMS Distributed Systems [COMP9243] What is a distributed system? Session 1, 2018 ➜ Andrew Tannenbaum defines it as follows: A distributed system is a collection of independent computers that appear to its users as a single coherent system. ➜ Is there any such system? Hardly! ———– Kind of Slide 1 Slide 3 ➜ We will learn about the challenges in building “true” distributed systems For the time being, we go by a weaker definition of distributed system: A distributed system is a collection of independent Ihor Kuz computers that are used jointly to perform a single cs9243@cse.unsw.edu.au task or to provide a single service. D ISTRIBUTED S YSTEMS [COMP9243] Examples of distributed systems Lecture 1: Introduction ➜ Cray XK7 & CLE (massive multiprocessor) ➜ Distributed file system on a LAN ➀ Distributed Systems - what and why Slide 2 Slide 4 ➜ Domain Name Service (DNS) ➁ Hardware and Software ➜ Collection of Web servers: distributed database of hypertext ➂ Goals and multimedia documents ➃ Overview - principles and paradigms ➄ Course details ➅ Erlang D ISTRIBUTED S YSTEMS 1 D ISTRIBUTED S YSTEMS 2
T HE A DVANTAGES OF D ISTRIBUTED S YSTEMS What are economic and technical reasons for having distributed systems? Find more examples of distributed systems: Cost. Better price/performance as long as commodity hardware is used for the component computers Remember Performance. By using the combined processing and storage A distributed system is a collection of independent capacity of many nodes, performance levels can be reached Slide 5 Slide 7 computers that are used jointly to perform a single that are out of the scope of centralised machines task or to provide a single service. Scalability. Resources such as processing and storage capacity can be increased incrementally What’s the difference between a distributed application and distributed system? Reliability. By having redundant components, the impact of hardware and software faults on users can be reduced Inherent distribution. Some applications like the Web are naturally distributed T HE D ISADVANTAGES OF D ISTRIBUTED S YSTEMS I NTERDEPENDENCE OF D ISTRIBUTED S YSTEMS What problems are there in the use and development of ISP distributed systems? LAN New component: network. Networks are needed to connect Stream UI Search Storage Server independent nodes, are subject to performance limits Software complexity. Distributed software is more complex and harder to develop than conventional software; Slide 6 Slide 8 Internet hence, it is more expensive and harder to get right Failure. More elements that can fail, and the failure must be dealt with Datacenter Security. Easier to compromise distributed systems Distributed systems are hard to build and understand ➼ this course is going to be very challenging! T HE A DVANTAGES OF D ISTRIBUTED S YSTEMS 3 H ARDWARE A RCHITECTURE 4
H ARDWARE A RCHITECTURE Multicomputer: Uniprocessor: P P P P P M M M M Slide 9 Slide 11 M Properties: ➜ Multiple computers Properties: ➜ No direct memory access ➜ Network ➜ Single processor ➜ Homogeneous vs. Heterogeneous ➜ Direct memory access Multiprocessor: S OFTWARE A RCHITECTURE P P P P P P P P Uniprocessor OS: M M M M Machine A M M M Applications Uniform Nonuniform Slide 10 Slide 12 Operating Properties: System Services ➜ Multiple processors ➜ Direct memory access Kernel • Uniform memory access (e.g., SMP , multicore) • Nonuniform memory access (e.g., NUMA) H ARDWARE A RCHITECTURE 5 S OFTWARE A RCHITECTURE 6
Multiprocessor OS: Distributed OS: Machine A Machine A Machine B Machine C Applications Distributed applications Operating System Services Distributed operating system services Kernel Kernel Kernel Kernel Slide 13 Slide 15 Network Similar to a uniprocessor OS but: Properties: ➜ Kernel designed to handle multiple CPUs ➜ High degree of transparency ➜ Number of CPUs is transparent ➜ Single system image (FS, process, devices, etc.) ➜ Homogeneous hardware ➜ Communication uses same primitives as uniprocessor OS ➜ Examples: Amoeba, Plan 9, Chorus, Mungi ➜ Single system image Are there any problems with this approach? What’s the limitation here? Network OS: Middleware: Machine A Machine B Machine C Machine A Machine B Machine C Distributed applications Distributed applications Middleware services Network OS Network OS Network OS services services services Network OS Network OS Network OS services services services Kernel Kernel Kernel Slide 14 Slide 16 Kernel Kernel Kernel Network Network Properties: Properties: ➜ No single system image. Individual nodes are highly autonomous ➜ System independent interface for distributed programming ➜ All distribution of tasks is explicit to the user ➜ Improves transparency (e.g., hides heterogeneity) ➜ Examples: Linux, Windows ➜ Provides services (e.g., naming service, transactions, etc.) ➜ Provides programming model (e.g., distributed objects) What’s the challenge with this approach? S OFTWARE A RCHITECTURE 7 S OFTWARE A RCHITECTURE 8
D ISTRIBUTED S YSTEMS IN C ONTEXT Why is Middleware ’Winning’?: ➜ Builds on commonly available abstractions of network OSes Networking: (processes and message passing) ➜ Network protocols, routing protocols, etc. ➜ Examples: RPC, NFS, CORBA, MQSeries, SOAP , REST, MapReduce ➜ Distributed Systems: make use of networks ➜ Also languages (or language modifications) specially designed Operating Systems: for distributed computing Slide 17 Slide 19 ➜ Resource management for single systems ➜ Examples: Erlang, Ada, Limbo, Go, etc. ➜ Distributed Systems: management of distributed resources � Usually runs in user space � Raises level of abstraction for programming ➼ less error-prone This Course: � Independence from OS, network protocol, programming ➜ Generalised solutions to distributed systems problems and language, etc. ➼ Flexibility challenges � Feature dump and bloated interfaces ➜ Infrastructure software to help build distributed applications D ISTRIBUTED S YSTEMS AND P ARALLEL C OMPUTING ➜ Parallel computing: improve performance by using multiple B ASIC G OALS OF D ISTRIBUTED S YSTEMS processors per application ➜ There are two flavours: We want distributed systems to have the following properties: 1. Shared-memory systems: ➜ Transparency • Multiprocessor (multiple processors share a single bus and ➜ Dependability memory unit) ➜ Scalability Slide 18 Slide 20 • SMP support in OS ➜ Performance • Much simpler than distributed systems ➜ Flexibility • Limited scalability This course will examine approaches and techniques for 2. Distributed memory systems: designing and building distributed systems that achieve • Multicomputer (multiple nodes connected via a network) • These are a form of distributed systems these goals. • Share many of the challenges discussed here • Better scalability & cheaper D ISTRIBUTED S YSTEMS IN C ONTEXT 9 T RANSPARENCY 10
S CALABILITY T RANSPARENCY A system is said to be scalable if it can handle the addition Concealment of the separation of the components of users and resources without suffering a noticeable loss of of a distributed system (single image view). performance or increase in administrative complexity [B. Clifford Neuman] There are a number of forms of transparency Scale has three dimensions: Access: Local and remote resources accessed in same way Size: number of users and resources (problem: overloading) Location: Users unaware of location of resources Slide 21 Slide 23 Geography: distance between users and resources (problem: Migration: Resources can migrate without name change communication) Replication: Users unaware of existence of multiple copies Administration: number of organisations that exert administrative Failure: Users unaware of the failure of individual components control over parts of the system (problem: administrative mess) Note: Concurrency: Users unaware of sharing resources with others ➜ Scalability often conflicts with (small system) performance Is transparency always desirable? Is it always possible? ➜ Claim of scalability is often abused D EPENDABILITY Scaling Up or Out? ➜ Dependability of distributed systems is a double-edged sword: • Distributed systems promise higher availability: Vertical Scaling: Scaling UP Increasing the resources of a Slide 22 Slide 24 – Replication single machine • But availability may degrade: Horizontal Scaling: Scaling OUT Adding more machines – More components ➼ more potential points of failure ➜ Dependability requires consistency, security, and fault tolerance S CALABILITY 11 S CALABILITY 12
Recommend
More recommend