You are on page 1of 2

ICS4014 / BTC 4201 – Distributed Systems

Lecture Topic: Synchronization with Breakout Sessions (12 Rooms)


1. Breakout Room #1, 2 and 3:
a. What is the main purpose of election algorithms in a distributed environment? What criteria
do the algorithms adopted to elect a unique leader responsible for coordination? Why
should the leader be unique in such an environment?

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?

2. Breakout Room #4, 5 and 6


a. How does the ring algorithm implement the elections? Which messages are used? How
does the process the know who the current leader is if there have been multiple elections
in progress? What are the problems with 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?

4. Breakout Room #10, 11 and 12


a. Briefly differentiate between a nested and distributed transactions? Explain with examples
these differences among the two transaction types.

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?

c. What do you understand by concurrency control? How is concurrency control


implemented among several machines involved in distributed transactions?

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.

You might also like