1 / 55

Advanced Operating Systems

Advanced Operating Systems Lecture 10: Distributed Systems University of Tehran Dept. of EE and Computer Engineering By: Dr. Nasser Yazdani Covered topic Distributed Systems, Why? And how. References Chapter 1 of the text book Outline Why Distributed systems Challenges.

Sophia
Download Presentation

Advanced Operating 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. Advanced Operating Systems Lecture 10: Distributed Systems University of Tehran Dept. of EE and Computer Engineering By: Dr. Nasser Yazdani Distributed Operating Systems

  2. Covered topic • Distributed Systems, Why? And how. • References • Chapter 1 of the text book Distributed Operating Systems

  3. Outline • Why Distributed systems • Challenges. • Communication • Distributed Operating systems • Architectural models Distributed Operating Systems

  4. Problems? • Bigger Problems like weather forecast, Economic modeling, Scientific problems, etc. • Faster machines? It is getting harder to extract the performance modern applications require out of a single processor machine • Some application are inherently distributed, sensor networks, etc. • A lot of Data to store in one place • More efficient use of resources, sharing resources • Solution: Distributed computing Distributed Operating Systems

  5. Distributed systems • Definitions • A collection of autonomous computers linked by a network, with software designed to produce an integrated computing facility • A distributed system is a collection of independent computers that appear to users as a single computer • A system in which hardware or software components located at networked computers communicate and coordinate their actions only by passing messages • Examples • World Wide Web • Automatic Teller Machines • Cell Phones Distributed Operating Systems

  6. Working Definition • A distributed system is several computers doing something together • Three primary features of a distributed system • Multiple computers • Communications • “Virtual” Computer Distributed Operating Systems

  7. Advantages Distributed Operating Systems

  8. Disadvantages Distributed Operating Systems

  9. Consequences • Concurrency • Concurrency is the norm instead of the exception • Synchronization is critical • No Global Clock • There is a limit as to how accurate a global clock can be. • Contrary to parallel systems. • Independent Failures • The more stuff you add the more likely something will break • Single system view says independent failures should not affect users Distributed Operating Systems

  10. Communication Issues • Building a system out of interconnected computers requires that some major issues be addressed • Independent failure • Unreliable communication • Insecure Communication • Costly Communication Distributed Operating Systems

  11. Distributed Operating Systems • A distributed operating system supports the encapsulation and protection of resources inside servers; and it supports mechanisms required to access these resources, including naming, communication and scheduling • The software for multiple CPU systems can be divided into three rough classes • Network operating systems (file servers) • Distributed Operating Systems • Shared Memory Multiprocessors Distributed Operating Systems

  12. Parallel Computing • A large collection of processing elements that can communicate and cooperate to solve large problems quickly • A form of information processing which uses concurrent events during execution • In other words, both the language and the hardware support concurrency Distributed Operating Systems

  13. Parallel Architectures • Unlike traditional von Neumann machines, there is no single standard architecture used on parallel machines • In fact dozens of different parallel architectures have been built and are being used • Several people have tried to classify the different types of parallel machines • The taxonomy proposed by Flynn is the most commonly used Distributed Operating Systems

  14. Ex. Building a mail server mail arrives from outside world store it until... user reads/deletes/saves it • Solution: • One server w/ disk to store mail-boxes • Problems: • Performance: Stable performance under high load • consistent w.r.t. client-side copies • concurrent mail arrival, deletion • crash recovery (crash while updating mail-box) • availability Distributed Operating Systems

  15. Other problems? • Not necessarily plenty of bandwidth • Not necessarily low latency • Significant variance in latency and bandwidth • Frequent and unpredictable partial failure of channel • Lost messages, &c What else has changed? • We don't have hardware support for synchronization/atomicity among hosts • We don't have a global timer or clock • Frequent and unpredictable failure of some CPUs, I/O devices, &c • Snoopy caches are not practical, because broadcasting is too expensive. Distributed Operating Systems

  16. Challenges • There are a number of challenges found in building distributed systems • Heterogeneity • Openness • Security • Scalability • Failure Handling • Concurrency • Transparency Distributed Operating Systems

  17. Heterogeneity • Applies to • Networks • Computer Hardware • Operating Systems • Programming Languages • Implementations • Middleware applies to a software layer that helps to handle heterogeneity Distributed Operating Systems

  18. Openness • The characteristic that a system can be extended in various ways • Hardware extensions • Software extensions • Historically, computer systems were largely closed • UNIX broke the mold for OS • IBM PC broke the mold for hardware Distributed Operating Systems

  19. Security • Security is a huge issue in computing in general, but even more so in distributed computing • Communication • Distributed Resources • Infrastructure Attacks Distributed Operating Systems

  20. Scalability • Distributed systems operate at many different scales • Two workstations and a file server • The CS computers… • Often the more important question is not can you scale, but can you scale well • Consider the Internet Distributed Operating Systems

  21. Failure Handling • What happens when a fault occurs? • Detect • Mask • Tolerate • Fault tolerant design is based on two approaches • Hardware redundancy • Software recovery Distributed Operating Systems

  22. Hardware Redundancy • Two computers are employed for a single application, one acting as a standby • Very costly, but often very effective, solution • Redundancy can be planned at a finer grain • Individual servers can be replicated • Redundant hardware can be used for non-critical activities when no faults are present Distributed Operating Systems

  23. Software Redundancy • Software must be designed so that the state of permanent data can be recovered or “rolled back” when a fault is detected • Transaction processing Distributed Operating Systems

  24. Concurrency • Concurrency in a distributed system does not necessarily mean concurrency within a single program • Many users invoke similar commands • Many different server processes may be running • Synchronization, of course, is a problem Distributed Operating Systems

  25. Transparency Distributed Operating Systems

  26. Scalability Problems Examples of scalability limitations. Distributed Operating Systems

  27. Scaling Techniques (1) 1.4 • The difference between letting: • a server or • a client check forms as they are being filled Distributed Operating Systems

  28. Scaling Techniques (2) 1.5 An example of dividing the DNS name space into zones. Distributed Operating Systems

  29. Hardware Models 1.6 Different basic organizations and memories in distributed computer systems Distributed Operating Systems

  30. Multiprocessors (1) • A bus-based multiprocessor. 1.7 Distributed Operating Systems

  31. Multiprocessors (2) • A crossbar switch • An omega switching network 1.8 Distributed Operating Systems

  32. Homogeneous Multicomputer Systems • Grid • Hypercube 1-9 Distributed Operating Systems

  33. Software Models • An overview between • DOS (Distributed Operating Systems) • NOS (Network Operating Systems) • Middleware Distributed Operating Systems

  34. Uniprocessor Operating Systems • Separating applications from operating system code through a microkernel. 1.11 Distributed Operating Systems

  35. Multicomputer Operating Systems (1) 1.14 Distributed Operating Systems

  36. Multicomputer Operating Systems (2) • Alternatives for blocking and buffering in message passing. 1.15 Distributed Operating Systems

  37. Distributed Shared Memory Systems (1) • 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 Operating Systems

  38. Distributed Shared Memory Systems (2) • False sharing of a page between two independent processes. 1.18 Distributed Operating Systems

  39. Network Operating System (1) • General structure of a network operating system. 1-19 Distributed Operating Systems

  40. Positioning Middleware • General structure of a distributed system as middleware. 1-22 Distributed Operating Systems

  41. Applications, services Middleware Operating system Platform Computer and network hardware Software Layers Distributed Operating Systems

  42. Middleware • What does it do? • Provides an API for the application • Hides the underlying heterogeneity • Examples • Sun RPC, ISIS • CORBA • RMI • DCOM Distributed Operating Systems

  43. Middleware and Openness • In an open middleware-based distributed system, the protocols used by each middleware layer should be the same, as well as the interfaces they offer to applications. 1.23 Distributed Operating Systems

  44. Comparison between Systems Distributed Operating Systems

  45. Architectural Models • Concerned with • The placement of the components across a network of computers • The interrelationships between the components • Common abstractions • Server processes • Client processes • Peer processes Distributed Operating Systems

  46. Clients and Servers • General interaction between a client and a server. 1.25 Distributed Operating Systems

  47. Processing Level • The general organization of an Internet search engine into three different layers 1-28 Distributed Operating Systems

  48. Multitiered Architectures (1) • Alternative client-server organizations (a) – (e). 1-29 Distributed Operating Systems

  49. Multitiered Architectures (2) • An example of a server acting as a client. 1-30 Distributed Operating Systems

  50. Client-Server • Creating for example a hotmail? What are the options? • One server? • Several servers? Distributed Operating Systems

More Related