

Study with the several resources on Docsity
Earn points by helping other students or get them with a premium plan
Prepare for your exams
Study with the several resources on Docsity
Earn points to download
Earn points by helping other students or get them with a premium plan
A university homework assignment for a distributed systems and algorithms course. It includes five questions covering topics such as the sliding window protocol with buffer, software errors leading to crash and omission failures, identifying faulty processes in the byzantine generals algorithm, and using minimal subgraphs for broadcasting in spanning trees.
Typology: Assignments
1 / 2
This page cannot be seen from the preview
Don't miss anything!


Assigned 10/31/08, due 11/07/ Please submit typewritten solutions. You can email it to the TA ([email protected]), or submit a paper copy to me
Question 1. (10+5 = 15 points) Consider a modification of the sliding window protocol where the receiving process has a buffer of size B (B>1) to hold the pending messages before delivering it to the application. (a) Rewrite the program for the receiving process to reflect the change. (b) What will be effect of increasing B? Explain.
Question 2 (10 points) Explain how software errors can lead to (1) crash failure (2) omission failure in a process. Provide examples to explain the complete scenario in each case.
Question 3. (10 points) The byzantine generals algorithm helps reach a consensus when less than one-third of the processes undergo byzantine failure. However, it does not suggest how to diagnose such failures. Assuming that at most one process can be faulty , examine if the faulty process can be identified without any ambiguity. Investigate all relevant cases.
Question 4 (5 points) Chapter 13, exercise 3
Question 5. (10 points) In a spanning tree of a graph, there is exactly one path between any pair of nodes. If a spanning tree is used for broadcasting a message, and a process crashes, some nodes will not be able to receive the broadcast. Our goal is to improve the connectivity of the subgraph used for broadcast, so that it can tolerate the crash of one process.
What kind of minimal subgraph will you use for broadcasting, so that messages will reach every process even if one process fails? In each of the following two topologies, identify such a minimal subgraph. .
(a)
(b)