Sunteți pe pagina 1din 2

Advanced Operating Systems Theory CSci 8101 (Spring 2010) Midterm Exam (Take Home) Due Date Friday

March 12 (Morning 11:00 AM) Please submit your answers online in PDF format only. This exam must be answered individually without consulting anyone.
(Late submission: Deduction of 5 points for every 1 hour late submission.)
Please write short and succinct answers for each of the following questions. Problem 1 (15 points): In the Schiper-Eggli-Sandoz protocol for causal communication, each process maintains a vector C of entries of the form (Pj , Tj ). What is the significance of an entry in this vector? When can an entry in this vector be deleted safely by a process? Clearly present the rule for deleting an entry from this vector. Problem 2 (10 points): In the mutual exclusion protocol by Maekawa, do the processes always enter critical section (i.e. acquire lock) in strictly the increasing order of the timestamp values of their requests? Is it possible for a process with a higher timestamp request to enter critical section before a process with a lower timestamp request? If yes, give a justification for your answer. If no, explain how this can happen. Problem 3 (15 points): A variation of Maekawas protocol for mutual exclusion is suggested as follows. The system consists of N processes, which are viewed to be organized in a grid in square grid of size sqrt(N) for designating the request set of each process. For process i, all process in the row and column in which i appears are considered as the members of its request set, as shown in the figure below for N=32. It shows the request set for process number 21 with shaded rows.

1 7 13 19 25 31

2 8 14 20 26 32

3 9 15 21 27

4 10 16 22 28

5 11 17 23 29

6 12 18 24 30

1. Will this scheme of selecting the request sets work? Which of the requirements for request set properties as outlined in Maekawas paper hold here, and which ones do not hold? 2. If yes, outline the protocol a process should make to make a mutual-exclusion request. What would be the protocol for handling requests. 3. Do we need to treat processes such as 31 or 32 differently than processes such as 21? In case of 31 and 32 the row is not complete.

Problem 4: (15 points): To solve the Byzantine Agreement among n processes with at most t faulty ones: a. What is the minimum number n of processes needed to achieve agreement with ral messages? b. What is the minimum number n of processes needed to achieve agreement with signed messages? c. Is it necessary for the system to be synchronous? If so, where is this property used in the protocol using Oral Messages? d. What is the minimum of number of rounds needed in any protocol using oral messages? e. Answer the above question when the system supports signed messages. Problem 5: (15 points) Consider a system where the processes exhibit only fail-stop kind of failures. In other words, there are no malicious kind of failures. What is the minimum number n needed to achieve agreement using oral messages when there are at most t faulty processes? How many rounds are needed for agreement?

Problem 6: (10 points): What is the meaning of the following concepts in the context of reliable broadcast protocols? Message stability Agreement Uniform Agreement Orphan message Local Time -Timeliness Problem 7 (15 points); Briefly summarize (within 200 words) the basic idea in the paper A Distributed Mutual Exclusion Algorithm, Suzuki and Kasami, ACM TOCS 1985. Specifically, what is the central idea for reducing the number of messages needed per mutual exclusion. How many messages are needed per mutual exclusion?

S-ar putea să vă placă și