Presentation is loading. Please wait.

Presentation is loading. Please wait.

Chapter 1  Introduction 1 Introduction Chapter 1.

Similar presentations


Presentation on theme: "Chapter 1  Introduction 1 Introduction Chapter 1."— Presentation transcript:

1

2 Chapter 1  Introduction 1 Introduction Chapter 1

3 Chapter 1  Introduction 2 Examples of Distributed Systems  DNS o Hierarchical distributed database  WWW o Origin servers and web caches o Distributed database  Cray T3E o 2048 tightly coupled homogeneous processors o Distributed/parallel computing  Condor/RES o Loosely coupled heterogeneous workstations o Parallel/distributed computing

4 Chapter 1  Introduction 3 Other Distributed Systems  Email  Electronic banking  Airline reservation system  Peer-to-peer networks  Etc., etc., etc.

5 Chapter 1  Introduction 4 Computer Revolution  Processing power o 50 years ago, $100M for 1 instr/sec o Today, $1K for 10 7 instructions/sec  Price/perform. improvement of 10 12 o If cars had followed same path as computers… o “…a Rolls Royce would now cost 1 dollar and get a billion miles per gallon” o And it would “explode once a year, killing everyone inside”

6 Chapter 1  Introduction 5 Computer Revolution  High speed networks o 30 years ago, networks were unknown o Today, Gigabit networks and the Internet  Before networks, centralized systems  Today, distributed systems o Computers in many locations work as one

7 Chapter 1  Introduction 6 What is a Distributed System?  According to your textbook o “A collection of independent computers that appears to its users as a single coherent system”  Two parts to definition o Hardware  machines are autonomous o Software  machines appear as one system Implies that communication hidden from user Implies that organization hidden from user

8 Chapter 1  Introduction 7 What is a Distributed System?  According to dict.die.net o A collection of (probably heterogeneous) automata whose distribution is transparent to the user so that the system appears as one local machine o This is in contrast to a network, where the user is aware that there are several machines, and their location, storage replication, load balancing and functionality is not transparent  Crucial point is transparency

9 Chapter 1  Introduction 8 How to Implement a Dist. System?  A distributed system is a collection of independent computers…  …that acts like a single system  How to accomplish this?  Middleware o Make distributed system as transparent as possible

10 Chapter 1  Introduction 9 Role of Middleware  Distributed system as middleware  Middleware extends over multiple machines

11 Chapter 1  Introduction 10 Goals  For a distributed system to be worthwhile authors believe it should o Easily connect users to resources o Hide fact that resources are distributed o Be open o Be scalable  First 2 of these about transparency  Transparent, open, scalable

12 Chapter 1  Introduction 11 Transparency Description AccessHide different data representations, how resources accessed LocationHide where a resource is located MigrationHide that a resource may move to another location RelocationHide that a resource may be moved while in use ReplicationHide that a resource is replicated ConcurrencyHide that a resource may be shared by several users FailureHide failure and recovery of a resource PersistenceHide whether a (software) resource is in memory or on disk  Transparent system “acts” like one computer  Various aspects of transparency listed above

13 Chapter 1  Introduction 12 Degree of Transparency  Cannot hide physical limitations o Time it takes to send packet  May be a tradeoff between transparency and performance o What to do if Web request times out? o Keeping replicated data current

14 Chapter 1  Introduction 13 Openness  Open == standards-based  Provides o Interoperability o Portability  Ideally, flexible, i.e., extensible  But many useful systems follow the “American standard” o Do whatever you want

15 Chapter 1  Introduction 14 Scalability ConceptExample Centralized servicesA single server for all users Centralized dataA single on-line telephone book Centralized algorithmsDoing routing based on complete information  Scalability issues/limitations

16 Chapter 1  Introduction 15 Scalability  Authors believe centralized is bad o Centralized server is source of congestion, single point of failure o Centralized data leads to congestion, lots of traffic o Centralized algorithm must collect all info and process it (e.g., routing algs)  Google? Napster?

17 Chapter 1  Introduction 16 Scalability  Decentralized algorithms o No machine has complete system state o Decisions based on local info o Failure of one machine does not kill entire algorithm o No assumption of global clock  Examples?

18 Chapter 1  Introduction 17 Geographic Scalability  Big difference between LAN and WAN  LANs have synchronous communication o Client can “block” until server responds  On LAN, global time may be possible (to within a few milliseconds)  WAN unreliable, point-to-point  WAN has different admin domains o A security nightmare

19 Chapter 1  Introduction 18 Scaling Techniques  Scaling problems due to limited capacity of networks and servers  Three possible solutions o Hide latencies  do something useful while waiting (asynchronous comm.) o Distribution  DNS, for example o Replication  allows for load balancing  Replication creates consistency issues

20 Chapter 1  Introduction 19 Scaling Techniques  Server or client check form as it’s filled out?  Having client do more, as in (b), may reduce latency (but may cause security problems)

21 Chapter 1  Introduction 20 Scaling Techniques  DNS name space divided into zones  Goto server in Z1 to find server Z2 and so on  Like a binary search for correct server

22 Chapter 1  Introduction 21 Hardware Issues  For our purposes, 2 kinds of machines  Multiprocessor o Different processors share same memory  Multicomputer o Each processor has it’s own memory  Each of these could use either bus or switched architecture

23 Chapter 1  Introduction 22 Hardware Issues multiprocessormulticomputer

24 Chapter 1  Introduction 23 Multiprocessors  A bus-based multiprocessor  Cache coherence is an issue

25 Chapter 1  Introduction 24 Multiprocessors a) A crossbar switch b) Omega switching network

26 Chapter 1  Introduction 25 Homogeneous Multicomputer Grid Hypercube

27 Chapter 1  Introduction 26 Software Concepts  DOS  Distributed Operating Systems  NOS  Network Operating Systems  Middleware  self-explanatory 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

28 Chapter 1  Introduction 27 Uniprocessor OSs  Separate apps from OS code via microkernel

29 Chapter 1  Introduction 28 Multiprocessor OSs  How to protect count from concurrent access? monitor Counter { private: int count = 0; public: int value() { return count;} void incr () { count = count + 1;} void decr() { count = count – 1;} }

30 Chapter 1  Introduction 29 Multiprocessor OSs  Protect count from concurrent access o Using blocking monitor Counter { private: int count = 0; int blocked_procs = 0; condition unblocked; public: int value () { return count;} void incr () { if (blocked_procs == 0) count = count + 1; else signal (unblocked); } void decr() { if (count ==0) { blocked_procs = blocked_procs + 1; wait (unblocked); blocked_procs = blocked_procs – 1; } else count = count – 1; }

31 Chapter 1  Introduction 30 Multicomputer OSs  Multicomputer OS

32 Chapter 1  Introduction 31 Multicomputer OSs  ???

33 Chapter 1  Introduction 32 Multicomputer OSs  Huh? Synchronization pointSend buffer Reliable comm. guaranteed? Block sender until buffer not fullYesNot necessary Block sender until message sentNoNot necessary Block sender until message receivedNoNecessary Block sender until message deliveredNoNecessary

34 Chapter 1  Introduction 33 Programming Issues  Programming multicomputers much harder than multiprocessors  Why? o Message passing o Buffering, blocking, reliable comm., etc.  One option is to emulate shared memory on multicomputer o Large “virtual” address space

35 Chapter 1  Introduction 34 Distributed Shared Memory a) Pages of address space distributed among 4 machines b) After CPU 1 references pg 10 c) If page 10 read only and replication used

36 Chapter 1  Introduction 35 Distributed Shared Memory  False sharing of page between two processes o Two independent processors share same page

37 Chapter 1  Introduction 36 Network OS  Network OS o Each processor has its own OS

38 Chapter 1  Introduction 37 Network OS  Clients and server in a network OS  Global shared file system

39 Chapter 1  Introduction 38 Distributed System  Distributed OS not a distributed system by our definition  Network OS not a distributed system by our definition  What we need is middleware…

40 Chapter 1  Introduction 39 Positioning Middleware  A distributed system as middleware o Individual node managed by local OS o Middleware hides heterogeneity of underlying systems

41 Chapter 1  Introduction 40 Middleware and Openness  Open middleware-based system  Middleware layer should o Use the same protocols o Provide same interfaces to apps

42 Chapter 1  Introduction 41 Comparison of Systems  Middleware rocks! Item Distributed OS Network OS Middleware- based OS Multiproc.Multicomp. Degree of transparencyVery HighHighLowHigh Same OS on all nodesYes No Number of copies of OS1NNN Basis for communication Shared memory MessagesFilesModel specific Resource management Global, central Global, distributed Per node ScalabilityNoModeratelyYesVaries OpennessClosed Open

43 Chapter 1  Introduction 42 Middleware Services  Main goal is access transparency o Hides low level message passing  Naming o Like yellow pages or URL  Persistence o For example, a distributed file system  Distributed transactions o Read and writes are atomic  Security

44 Chapter 1  Introduction 43 Client Server Model  Read this section

45 Chapter 1  Introduction 44 Clients and Servers  Interaction between client and server

46 Chapter 1  Introduction 45 Example Client and Server  header.h o Used by client o And by server

47 Chapter 1  Introduction 46 Example Client and Server  A sample server

48 Chapter 1  Introduction 47 Example Client and Server  Client using server to copy a file

49 Chapter 1  Introduction 48 Processing Level  Internet search engine as 3 layers

50 Chapter 1  Introduction 49 Multitiered Architectures  Alternative client-server organizations

51 Chapter 1  Introduction 50 Multitiered Architectures  A server acting as client

52 Chapter 1  Introduction 51 Modern Architectures  Horizontal distribution of Web service

53 Chapter 1  Introduction 52 Summary  Distributed system o Autonomous computers that operate together as a single coherent system  Potential advantages o Can integrate systems o Scales well, if properly designed  Potential disadvantages o Complexity o Degraded performance o Security

54 Chapter 1  Introduction 53 Summary  Different types of dist systems  Distributed OS o For tightly coupled system o Can’t integrate different systems  Network OS o For heterogeneous system o No single system view

55 Chapter 1  Introduction 54 Summary  Middleware systems based on o Remote procedure calls o Distributed objects, files, documents o Vertical organization o Horizontal organization


Download ppt "Chapter 1  Introduction 1 Introduction Chapter 1."

Similar presentations


Ads by Google