1 / 205

Outline

Outline. Announcement Existing distributed systems Final Review. Announcement. The final exam will be 5:30 – 7:30 pm on April 29. 2003 in LOV 103 The exam will be open-book and open-note You can have at most three hours (if necessary). Existing Distributed Systems.

frebecca
Download Presentation

Outline

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. Outline • Announcement • Existing distributed systems • Final Review COP5611

  2. Announcement • The final exam will be • 5:30 – 7:30 pm on April 29. 2003 in LOV 103 • The exam will be open-book and open-note • You can have at most three hours (if necessary) COP5611

  3. Existing Distributed Systems • There are commercial as well as experimental distributed systems available • In general, theses systems are not generic distributed systems as defined in this class • Rather, they are designed to offer some good specific services (with the hope to generate profits from those services) • These are mainly based on the chapters from the book by A. S. Tanenbaum and M. van Steen COP5611

  4. Distributed Object-based Systems • Distributed object-based systems • In these systems, everything is treated as an object and clients are offered services and resources in the form of objects they can invoke • Examples • CORBA • Microsoft’s DCOM • Globe (Global Object-Based Environment) COP5611

  5. CORBA COP5611

  6. Distributed Component Object Model COP5611

  7. Distributed Component Object Model – cont. COP5611

  8. GLOBE COP5611

  9. Object Model • The general organization of a CORBA system. COP5611

  10. Distributed Document-based Systems • A simple paradigm • Everything is a document • A distributed document-based system allows a user to exchange information • Examples • World wide web • Can be viewed as a huge distributed system consisting of millions of clients and servers • Lotus notes • Primarily based on databases COP5611

  11. World Wide Web • WWW is essentially a huge client-server system with millions of servers distributed worldwide • Each server maintains a collection of documents • Each document is stored as a file • Or can be generated on request (ASP, JSP, PHP, ....) • The simplest way to refer to a document is by means of a reference called Uniform Resource Locator • A client interacts with servers with browsers COP5611

  12. The World Wide Web • Overall organization of the Web. COP5611

  13. Architectural Overview • The principle of using server-side CGI programs. COP5611

  14. Architectural Overview – cont. • Architectural details of a client and server in the Web. COP5611

  15. Web Proxy Caching • The principle of cooperative caching COP5611

  16. Server Replication • The principle working of the Akami CDN. COP5611

  17. Security COP5611

  18. Lotus Notes • The general organization of a Lotus Notes system. COP5611

  19. Processes in Lotus Notes COP5611

  20. Processes in Lotus Notes – cont. • Request handling in a cluster of Domino servers. COP5611

  21. Distributed Coordination-based Systems • Newer generation of distributed systems • Various components of a system are inherently distributed • One of the major issues is coordination of activities COP5611

  22. TIB / Rendezvous COP5611

  23. TIB / Rendezvous – cont. COP5611

  24. Overview of Jini COP5611

  25. Jini Architecture COP5611

  26. Communication Events in Jini COP5611

  27. Announcement • Final exam will be on April 29, 2003 • From 5:30-7:30 PM (8:30 PM at most you can have) • At Love 103 • It is an open-book, open-note exam • Please plan to come around 5:20 pm so that we can start as early as possible COP5611

  28. Important Topics • These are the main focus for the purpose of the final exam • However, other topics are not excluded entirely • Important ones • Logical clocks/vector clocks • Causal ordering of messages • Consistent global state/checkpoint • Lamport’s algorithm for mutual exclusion (Lab 1 also included) • Lab 2 • Distributed scheduling algorithms / issues • Synchronous checkpointing and recovery/asynchronous checkpointing and recovery • Commit protocols / non-blocking commit protocols • Static voting protocols • Access matrix model / Implementation issues COP5611

  29. Distributed Systems • A distributed system is a collection of independent computers that appears to its users as a single coherent system • Independent computers mean that they do not share memory or clock • The computers communicate with each other by exchanging messages over a communication network • Distributed operating systems are much like the traditional operating systems • Resource management • User friendliness • The key concept is transparency COP5611

  30. Clients and Servers • General interaction between a client and a server. COP5611

  31. Layered Protocols • Layers, interfaces, and protocols in the OSI model. COP5611

  32. Network Layer • The primary task of a network layer is routing • The most widely used network protocol is the connection-less IP (Internet Protocol) • Each IP packet is routed to its destination independent of all others • A connection-oriented protocol is gaining popularity • Virtual channel in ATM networks COP5611

  33. Transport Layer • This layer is the last part of a basic network protocol stack • In other words, this layer can be used by application developers • An important aspect of this layer is to provide end-to-end communication • The Internet transport protocol is called TCP (Transmission Control Protocol) • The Internet protocol also supports a connectionless transport protocol called UDP (Universal Datagram Protocol) COP5611

  34. Sockets – cont. • Connection-oriented communication pattern using sockets. COP5611

  35. A Multithreaded Server COP5611

  36. The Message Passing Model • The message passing model provides two basic communication primitives • Send and receive • Send has two logical parameters, a message and its destination • Receive has two logical parameters, the source and a buffer for storing the message COP5611

  37. Semantics of Send and Receive Primitives • There are several design issues regarding send and receive primitives • Buffered or un-buffered • Blocking vs. non-blocking primitives • With blocking primitives, the send does not return control until the message has been sent or received and the receive does not return control until a message is copied to the buffer • With non-blocking primitives, the send returns control as the message is copied and the receive signals its intention to receive a message and provide a buffer for it COP5611

  38. Semantics of Send and Receive Primitives – cont. • Synchronous vs. asynchronous primitives • With synchronous primitives, a SEND primitive is blocked until a corresponding RECEIVE primitive is executed • With asynchronous primitives, a SEND primitive does not block if there is no corresponding execution of a RECEIVE primitive • The messages are buffered COP5611

  39. Remote Procedure Call • RPC is designed to hide all the details from programmers • Overcome the difficulties with message-passing model • It extends the conventional local procedure calls to calling procedures on remote computers COP5611

  40. Steps of a Remote Procedure Call – cont. COP5611

  41. Inherent Limitations of a Distributed System • Absence of a global clock • In a centralized system, time is unambiguous • In a distributed system, there exists no system wide common clock • In other words, the notion of global time does not exist • Impact of the absence of global time • Difficult to reason about temporal order of events • Makes it harder to collect up-to-date information on the state of the entire system COP5611

  42. Inherent Limitations of a Distributed System • Absence of shared memory • An up-to-date state of the entire system is not available to any individual process • This information, however, is necessary to reason about the system’s behavior, debugging, recovering from failures COP5611

  43. Lamport’s Logical Clocks • Logical clocks • For a wide of algorithms, what matters is the internal consistency of clocks, not whether they are close to the real time • For these algorithms, the clocks are often called logical locks • Lamport proposed a scheme to order events in a distributed system using logical clocks COP5611

  44. Lamport’s Logical Clocks – cont. • Definitions • Happened before relation • Happened before relation () captures the causal dependencies between events • It is defined as follows • a  b, if a and b are events in the same process and a occurred before b. • a  b, if a is the event of sending a message m in a process and b is the event of receipt of the same message m by another process • If a  b and b  c, then a  c, i.e., “” is transitive COP5611

  45. Lamport’s Logical Clocks – cont. • Definitions – continued • Causally related events • Event a causally affects event b if a  b • Concurrent events • Two distinct events a and b are said to be concurrent (denoted by a || b) if a  b and b  a • For any two events, either a  b, b  a, or a || b COP5611

  46. Lamport’s Logical Clocks – cont. • Implementation rules • [IR1] Clock Ci is incremented between any two successive events in process Pi Ci := Ci + d ( d > 0) • [IR2] If event a is the sending of message m by process Pi, then message m is assigned a timestamp tm = Ci(a). On receiving the same message m by process Pj, Cj is set to Cj := max(Cj, tm + d) COP5611

  47. An Example COP5611

  48. Total Ordering Using Lamport’s Clocks • If a is any event at process Pi and b is any event at process Pj, then a => b if and only if either • Where is any arbitrary relation that totally orders the processes to break ties COP5611

  49. A Limitation of Lamport’s Clocks • In Lamport’s system of logical clocks • If a  b, then C(a) < C(b) • The reverse if not necessarily true if the events have occurred on different processes COP5611

  50. A Limitation of Lamport’s Clocks COP5611

More Related