1 / 10

Review for 22C: 166

Review for 22C: 166. Topics (1). Graph algorithms: Routing, spanning tree, MST, leader election etc Shortest path computation Distance vector and Link State Routing Compact routing Spanning tree and MST Leader election Synchronizers Fault and fault-tolerance: various protocols

regis
Download Presentation

Review for 22C: 166

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. Review for 22C:166

  2. Topics (1) Graph algorithms: Routing, spanning tree, MST, leader election etc • Shortest path computation • Distance vector and Link State Routing • Compact routing • Spanning tree and MST • Leader election • Synchronizers Fault and fault-tolerance: various protocols • Be familiar with different types of failure, like omission, transient, Byzantine • Transformation from one failure model to another • Tolerating omission failures: network protocols • Classifying fault-tolerance Distributed Consensus • Requirements for consensus • Impossibility of consensus in asynchronous systems: understand the spirit of it • Byzantine Generals problem and solutions: Understand OM(1) and SM(1) • Failure detectors: completeness and accuracy properties: what is the big deal about implementing consensus using failure detectors

  3. Topics (2) Group communication • Various types of multicasts, their significance and implementation • Open groups and View-synchronous communication Replication • Passive vs active replication • Fault-tolerant state machine • Consistency models and their implementation • Quorum protocols Self-stabilization • Understanding the concept • Convergence and closure properties • Simple examples and algorithms for self-stabilization

  4. Sample questions Question 1. Part 1. A (non-real-time) system deadlocks whenever a security breach is about to occur. What kind of fault-tolerance is this? (a) Masking (b) non-masking (c) fail-safe (d) the system is not fault tolerant. Part 2. Many problems in distributed computing can be reduced to a consensus problem.Which one of the following is NOT a consensus problem? • Mutual exclusion • Leader election • Distributed snapshot • Total order multicast

  5. Sample questions Question 2. Four travelers A, B, C, D were lost in a desert. Each of them looked at the starry night, and tried to decide whether to head north (N), or south (S), or east (E), or west (W). For their safety, it is important that all of them travel together and move in the same direction. D has bad motives - he wants the group to split, so that he could rob some of his travel companions. However, the others do not know about this – they only know that at most one of them is not trustworthy. The remaining ones have to reach a consensus about the direction they will head to – so they run the OM(1) version of Byzantine Generals Algorithm. If A wants to go north, B wants to go north, C wants to go south, and D tells A to go east, but tells B and C to head south, then what direction with A, B, and C head to? What is the basis of their judgment? (You can assume that in the absence of a clear majority, everyone will decide to head east.)

  6. Sample questions Question 3. The members of a group use view-synchronous communication to communicate with one another. Initially, there are four processes 0, 1, 2, 3. Process 0 sent a message m to the group in view (0,1,2,3). Processes 0, 1 and 2 delivered message min the same view, but process 3 did not. Is this an acceptable behavior? Justify your answer.

  7. Sample questions Question 4. Four processes A, B, C, D execute the following actions on two shared variables x and y: A W(x:=10) B W(x:=20) C R(x=10) W(y:=5) R(x =20) D R(x=20) R(x =10) R(y=5) (a) The above trace satisfies sequential consistency but not causal consistency. (b) The above trace satisfies both sequential and causal consistency. (c) The above trace satisfies neither sequential nor causal consistency. (d) The above trace satisfies causal consistency but not sequential consistency.

  8. Sample questions Question 5. A quorum-based replica management system works as follows: Let there be N servers. To complete a write, a client must successfully place the updated data item on W (1 ≤ W ≤ N) servers. The updated data item will be assigned a new version number generated by incrementing its current version number. To read the data, the client must read out the copies from any set of at least R (1 ≤ R ≤ N) servers. Of these, it will find out a copy with the highest version number, and accept that copy. If N = 10, W =7, then what should be the minimum value of R so that sequential consistency is satisfied?

  9. Sample questions Question6. Many shared memory multiprocessors use a write buffer to speed up the operation of its write-through cache memory. It works as follows: When a variable x is updated, the processor writes its value into the local cache C, and at the same time puts the updated value into its write bufferW. A separate controller then transfers this value into the main memory and invalidates all other cache entries storing x. The advantage is that the processor does not have wait for the completion of the write memory operation, which is slower than writing into the buffer. This speeds up instruction execution. For a read operation, data is retrieved from the local cache. However, if the cache entry is invalid, then data is retrieved from the main memory • Consider the following programs executes by P1 and P2 • P1: {initially x=0} x :=1; print y • P2: {initially y=0} y :=1; print x • If sequential consistency is maintained, then what value(s) of • (x, y) will never be printed? • What values of (x, y) may be printed by the shared-memory • multiprocessor of Figure 1?

  10. Sample questions Question 7. In the following network, the propagation delays of the different edges are shown as edge labels. With node 0 as the root, compute the spanning tree using Chang’s algorithm. The edge directions denote the directions of the message propagation, and acknowledgements propagate in the reverse direction. Assume that the probes or the echoes spend negligible amount of time at the various nodes. To answer this question, you have to mark the edges of the spanning tree using the (X) sign.

More Related