Presentation is loading. Please wait.

Presentation is loading. Please wait.

Univ. of TehranDistributed Operating Systems1 Advanced Operating Systems University of Tehran Dept. of EE and Computer Engineering By: Dr. Nasser Yazdani.

Similar presentations


Presentation on theme: "Univ. of TehranDistributed Operating Systems1 Advanced Operating Systems University of Tehran Dept. of EE and Computer Engineering By: Dr. Nasser Yazdani."— Presentation transcript:

1 Univ. of TehranDistributed Operating Systems1 Advanced Operating Systems University of Tehran Dept. of EE and Computer Engineering By: Dr. Nasser Yazdani Distributed Systems Lecture 8: Distributed Systems

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

3 Univ. of TehranDistributed Operating Systems3 Outline Why Distributed systems Challenges. Communication Distributed Operating systems Architectural models

4 Univ. of TehranDistributed Operating Systems4 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

5 Univ. of TehranDistributed Operating Systems5 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

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

7 Univ. of TehranDistributed Operating Systems7 Advantages ItemDescription EconomicsMicroprocessors offer a better price/performance than mainframes SpeedA distributed system may have more total computing power than a mainframe Inherent Distribution Some applications involve spatially separated machines. ReliabilityIf one machine crashes, the system as a whole can still survive Incremental Growth Computing power can be added in small increments

8 Univ. of TehranDistributed Operating Systems8 Disadvantages ItemDescription SoftwareLittle software, OSs or PLS, exists at present for distributed systems NetworkingThe network can saturate or cause other problems. SecurityEasy access also applies to secret data, privacy!

9 Univ. of TehranDistributed Operating Systems9 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. Independent Failures The more stuff you add the more likely something will break Single system view says independent failures should not affect users

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

11 Univ. of TehranDistributed Operating Systems11 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

12 Univ. of TehranDistributed Operating Systems12 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

13 Univ. of TehranDistributed Operating Systems13 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

14 Univ. of TehranDistributed Operating Systems14 Challenges There are a number of challenges found in building distributed systems Heterogeneity Openness Security Scalability Failure Handling Concurrency Transparency

15 Univ. of TehranDistributed Operating Systems15 Heterogeneity Applies to Networks Computer Hardware Operating Systems Programming Languages Implementations Middleware applies to a software layer that helps to handle heterogeneity

16 Univ. of TehranDistributed Operating Systems16 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

17 Univ. of TehranDistributed Operating Systems17 Security Security is a huge issue in computing in general, but even more so in distributed computing Communication Distributed Resources Infrastructure Attacks

18 Univ. of TehranDistributed Operating Systems18 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

19 Univ. of TehranDistributed Operating Systems19 Failure Handling What happens when a fault occurs? Detect Mask Tolerate Fault tolerant design is based on two approaches Hardware redundancy Software recovery

20 Univ. of TehranDistributed Operating Systems20 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

21 Univ. of TehranDistributed Operating Systems21 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

22 Univ. of TehranDistributed Operating Systems22 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

23 Univ. of TehranDistributed Operating Systems23 Transparency TransparencyDescription 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 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

24 Univ. of TehranDistributed Operating Systems24 Scalability Problems Examples of scalability limitations. ConceptExample Centralized services A single server for all users Centralized data A single on-line telephone book Centralized algorithms Doing routing based on complete information

25 Univ. of TehranDistributed Operating Systems25 Scaling Techniques (1) 1.4 The difference between letting: a server or a client check forms as they are being filled

26 Univ. of TehranDistributed Operating Systems26 Scaling Techniques (2) 1.5 An example of dividing the DNS name space into zones.

27 Univ. of TehranDistributed Operating Systems27 Hardware Models 1.6 Different basic organizations and memories in distributed computer systems

28 Univ. of TehranDistributed Operating Systems28 Multiprocessors (1) A bus-based multiprocessor. 1.7

29 Univ. of TehranDistributed Operating Systems29 Multiprocessors (2) a) A crossbar switch b) An omega switching network 1.8

30 Univ. of TehranDistributed Operating Systems30 Homogeneous Multicomputer Systems a) Grid b) Hypercube 1-9

31 Univ. of TehranDistributed Operating Systems31 Software Models An overview between 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

32 Univ. of TehranDistributed Operating Systems32 Uniprocessor Operating Systems Separating applications from operating system code through a microkernel. 1.11

33 Univ. of TehranDistributed Operating Systems33 Multicomputer Operating Systems (1) 1.14

34 Univ. of TehranDistributed Operating Systems34 Multicomputer Operating Systems (2) Alternatives for blocking and buffering in message passing. 1.15

35 Univ. of TehranDistributed Operating Systems35 Multicomputer Operating Systems (3) Relation between blocking, buffering, and reliable communications. Synchronization pointSend buffer Reliable comm. guaranteed? Block sender until buffer not full YesNot necessary Block sender until message sent NoNot necessary Block sender until message received NoNecessary Block sender until message delivered NoNecessary

36 Univ. of TehranDistributed Operating Systems36 Distributed Shared Memory Systems (1) a) Pages of address space distributed among four machines b) Situation after CPU 1 references page 10 c) Situation if page 10 is read only and replication is used

37 Univ. of TehranDistributed Operating Systems37 Distributed Shared Memory Systems (2) False sharing of a page between two independent processes. 1.18

38 Univ. of TehranDistributed Operating Systems38 Network Operating System (1) General structure of a network operating system. 1-19

39 Univ. of TehranDistributed Operating Systems39 Network Operating System (2) Two clients and a server in a network operating system. 1-20

40 Univ. of TehranDistributed Operating Systems40 Network Operating System (3) Different clients may mount the servers in different places. 1.21

41 Univ. of TehranDistributed Operating Systems41 Positioning Middleware General structure of a distributed system as middleware. 1-22

42 Univ. of TehranDistributed Operating Systems42 Software Layers Applications, services Computer and network hardware Platform Operating system Middleware

43 Univ. of TehranDistributed Operating Systems43 Middleware What does it do? Provides an API for the application Hides the underlying heterogeneity Examples Sun RPC, ISIS CORBA RMI DCOM

44 Univ. of TehranDistributed Operating Systems44 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

45 Univ. of TehranDistributed Operating Systems45 Comparison between Systems Item Distributed OS Network OS Middleware -based OS Multiproc.Multicomp. Degree of transparency Very HighHighLowHigh Same OS on all nodes Yes No Number of copies of OS 1NNN Basis for communication Shared memory MessagesFiles Model specific Resource management Global, central Global, distributed Per node Scalability NoModeratelyYesVaries Openness Closed Open

46 Univ. of TehranDistributed Operating Systems46 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

47 Univ. of TehranDistributed Operating Systems47 Clients and Servers General interaction between a client and a server. 1.25

48 Univ. of TehranDistributed Operating Systems48 Processing Level The general organization of an Internet search engine into three different layers 1-28

49 Univ. of TehranDistributed Operating Systems49 Multitiered Architectures (1) Alternative client-server organizations (a) – (e). 1-29

50 Univ. of TehranDistributed Operating Systems50 Multitiered Architectures (2) An example of a server acting as a client. 1-30

51 Univ. of TehranDistributed Operating Systems51 Client-Server Creating for example a hotmail? What are the options? One server? Several servers?

52 Univ. of TehranDistributed Operating Systems52 Multiple Servers

53 Univ. of TehranDistributed Operating Systems53 Proxy Server

54 Univ. of TehranDistributed Operating Systems54 Peer Processes

55 Univ. of TehranDistributed Operating Systems55 Modern Architectures An example of horizontal distribution of a Web service. 1-31

56 Univ. of TehranDistributed Operating Systems56 Next Lecture Communication among distributed systems. Remote Procedure Call (RPC) References Chapter 2 of the book


Download ppt "Univ. of TehranDistributed Operating Systems1 Advanced Operating Systems University of Tehran Dept. of EE and Computer Engineering By: Dr. Nasser Yazdani."

Similar presentations


Ads by Google