1 / 31

2.6 Major Design Issues

2.6 Major Design Issues. Shuman Guo CSc 8320 Advanced Operating Systems. Outlines. Design & Implementation Issues Object Models and Naming Schemes Distributed Coordination Interprocess Communication Distributed Resources Fault Tolerance and Security Summary References.

halle
Download Presentation

2.6 Major Design Issues

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. 2.6 Major Design Issues Shuman Guo CSc 8320 Advanced Operating Systems

  2. Outlines • Design & Implementation Issues • Object Models and Naming Schemes • Distributed Coordination • Interprocess Communication • Distributed Resources • Fault Tolerance and Security • Summary • References

  3. A distributed system consists of three major components: • Coordination of distributed processes • management of distributed resources • implementation of distributed algorithms • These components may be unreliable. Thus raise the design and implementation issues, in particular how to support transparency.

  4. Design & Implementation Issues • Object Models and Naming Schemes • Distributed Coordination • Interprocess Communication • Distributed Resources • Fault Tolerance and Security

  5. Object Models and Naming Schemes [1] • Objects in a computer system : • processes, data files, memory, devices, processors, and networks. • Objects are encapsulated in servers • process servers, file servers, memory servers • A client is a null server that accesses object servers.

  6. Cont’d • Three possible ways to identify a server • Identification by name (name server) • Identification by either physical or logical address (network server) • Identification by service that the servers provide

  7. Distributed Coordination [1] • Processes require coordination to achieve synchronization • Types of synchronization: • Barrier synchronization • Condition coordination • Mutual exclusion

  8. Types of Synchronization • Barrier synchronization • Process must reach a common synchronization point before they can continue. • Condition coordination • A process must wait for a condition that will be set asynchronously by other interacting processes to maintain some ordering of execution. • Mutual exclusion • Concurrent processes must have mutual exclusion when accessing a critical shared resource.

  9. Example: Logical Clocks

  10. Deadlock Handling[5] • Deadlock handling is a major process coordination tool for building distributed services. • Four conditions must hold for deadlock to occur: • Exclusive use • Hold and wait. • No preemption • Cyclical wait

  11. Deadlock Cont’d • The problem of deadlocks can be handled in following ways • Prevention • Ensure that deadlock is not possible. • Avoidance • require decisions by the system while it is running in order to insure that deadlocks will not occur • Detection • When detected, decide which process to rollback or abnormally terminate.

  12. Deadlock Prevention • Schemes that guarantee the deadlocks can never happen because of the way the system is structured. • One of the four conditions is prevented, thus preventing deadlocks. • For example, to impose an order on the resources and require processes to request resources in increasing order. This prevents cyclical waitand thus makes deadlocks impossible.

  13. Interprocess Communication[1] • Lower level: Interprocess communication can be accomplished by using simple message passing primitives. • Higher level logical communication methods provides the transparency: • Hide the physical details of message passing • Two important concepts : • The client/server model • Remote Procedure Call (RPC)

  14. The Client/Server Model[1] • The client/ server model is a programming example for structuring processes in distributed systems. logical communication request reply actual communication network client server kernel kernel

  15. The RPC Model[3] • The remote procedure call model is similar to that of the local model: • The caller places arguments to a procedure in a specific location (such as a result register). • The caller temporarily transfers control to the procedure. • When the caller gains control again, it obtains the results of the procedure from the specified location. • The caller then continues program execution.

  16. RPC Cont’d • On the server side, a process is dormant (inactive, sleeping)-- awaiting the arrival of a call message. When one arrives, the server process computes a reply that it then sends back to the requesting client. After this, the server process becomes dormant again.

  17. How RPC works? • Basic network communication with Remote Procedure Call

  18. Other Examples: (1)CORBA[4] • The Common Object Request Broker Architecture (CORBA) is a standard defined by the Object Management Group (OMG) that enables software components written in multiple computer languages and running on multiple computers to work together. • CORBA defines commonly needed services (such as transactions and security, events, time, and other domain-specific interface models)

  19. CORBA Cont’d • The diagram illustrates how the generated code is used within the CORBA infrastructure:

  20. Other Examples: (2) JAVA RMI[4] • The Java Remote Method Invocation API , or Java RMI is a Java application programming interface for performing the equivalent of remote procedure calls • A typical implementation model of Java RMI using Stub and Skeleton objects.

  21. Distributed Resources[1] • Load Distribution • multiprocessor scheduling (Static) • load sharing (Dynamic) • Distributed shared memory • Distributed file systems

  22. Load Distribution • Multiprocessor scheduling • Minimize communication overhead with efficient scheduling. • Load sharing • Process migration strategy & mechanism

  23. Distributed File Systems and Distributed Shared Memory • Distributed file systems • Issues are based on a file point of view • Distributed shared memory • Issues are based on a process perception of the system. • The common issues central to them: • Sharing and replication of data

  24. Fault Tolerance and Security[1] • Security threats and failures are both system faults. • The problem of failures can be alleviated if there is redundancy in the system. • The system should transparently handle failures or removal of machines, network links, and other resources without loss of data or functionality. • This should hold true for both the system itself and for its applications.

  25. Security Cont’d • Security • Authentication -- clients and also servers and messages must be authenticated. • Authorization-- access control has to be performed across a physical network with heterogeneous components under different administrative units using different security models.

  26. Security examples[4] • Extensible Authentication Protocol (EAP) is a universal authentication framework frequently used in wireless networks and P2P connections • EAP is not a wire protocol; instead it only defines message formats.

  27. More Info about EAP • EAP Authentication Protocols for WLANs [6] • The relationship between 802.1X and EAP(introduction)[7] • EAP Methods for 802.11 Wireless LAN Security[8]

  28. Summary[1] • Given the system architectures, we summarized the important design and implementation issues. • These issues include object models and naming schemes, interprocess communication and synchronization, data sharing and replication, and failure and recovery. • These problems are unique to distributed systems.

  29. References [1] Randy Chow & Theodore Johnson, 1997,“Distributed Operating Systems & Algorithms”, (Addison-Wesley), p. 45 to 50, 61 to 63. [2] Suresh Sridharan, 2006, “Distributed Operating Systems “, (University of Wisconsin, Madison). http://pages.cs.wisc.edu/~dusseau/Classes/CS739/Writeups/Survey.pdf [3]http://h30097.www3.hp.com/docs/base_doc/DOCUMENTATION/HTML/AA-Q0R5B-TET1_html/onc-rpc2.html [4]Wikipedia. http://en.wikipedia.org/wiki [5] JoAnne L. Holliday and Amr El Abbadi, ”Distributed Deadlock Detection”, http://www.cse.scu.edu/~jholliday/dd_9_16.htm

  30. References • [6]Krishna Sankar, Andrew Balinsky, Darrin Miller, Sri Sundaralingam. (Feb 18, 2005)” EAP Authentication Protocols for WLANs”. http://www.ciscopress.com/articles/article.asp?p=369223&seqNum=3&rl=1 • [7] “802.1X Port-Based Authentication HOWTO” http://tldp.org/HOWTO/8021X-HOWTO/intro.html • [8]” EAP Methods for 802.11 Wireless LAN Security” http://www.iec.org/online/tutorials/eap_methods/topic01.html

  31. Any Questions?

More Related