Professional Documents
Culture Documents
Breakout Session - Synchronization #2
Breakout Session - Synchronization #2
b. It is possible to have several elections initiated simultaneously. How is this possible? How
does the election algorithm ensure the result is consistent for the processes involved?
c. What are the possible scenarios when a process might not be involved in any ongoing
election? How can a process know who the unique leader is at a particular moment in time?
d. What are the messages used by the Bully Algorithm to implement the elections? Why is it
referred to a bully algorithm? What are some of the problems of this algorithm?
b. What is the purpose of a centralized mutual exclusion zone? How does these mutual
exclusion zone support the distributed environment?
c. Compare the two algorithms for the mutual exclusion viz.: centralized algorithm and distributed
algorithm. What are the potential drawbacks with these algorithms?
d. How does a token ring algorithm work to grant processes access to mutual exclusion zones?
What are potential advantages or disadvantages using this algorithm? What is a token?
1
3. Breakout Room #7, 8 and 9
a. How does the transaction model work? What is novel about this model? Use a simple
application to explain the transaction model concept.
b. What are primitives in transactions programming? Explain the primitives used in the
Transaction Model and their importance in the model implementation.
c. What are the characteristics of a flat transaction? What does each characteristic mean? What
are the limitations of flat transactions?
d. What is a nested transaction? What are the advantages of using a nested transaction model?
How are the decisions for commit made in a nested transaction? Does a commit mean
every node will commit? Why or why not?
b. Why is it important that when a process starts, it is given a private workspace? What are
the potential repercussions of not having a private workspace when a process implements
its tasks?
d. How does the write-ahead / intentions log work? In what ways is this an important part of a
distributed environment?
e. Why is there no conflict between a read/read scenario but there is a conflict for read/write
and write/write scenarios? Explain with examples why these conflicts occur.