CS:5620 Midterm Announcement
The midterm exam for CS:5620 "Distributed Systems and Algorithms" will be held on Oct 11th (Tue)
from 6:30 pm to 8:30 pm in 105 Seashore Hall (SSH).
During the exam you can use any written/printed material you bring, including books, lecture notes and
solutions, handwritten/typed notes, etc.
Make sure you bring everything that you feel you will need to the exam because you will not be
allowed to share or borrow material with classmates during the exam.
You will have to turn off and remove from your vicinity all electronic devices including
cell phones, lap tops, calculators, dictionaries, etc.
The exam is worth 250 points, which is 25% of your final grade. Here is a brief description
of the structure of the exam.
The first three problems are worth 60 points each and the last problem will be worth
- Problem 1.
You will be asked to hand-execute one or more distributed algorithms and show
the algorithm's output after each round. The algorithms you will be asked
about may be algorithms we have already discussed in class (e.g., the Cole-Vishkin 3-coloring
algorithm on oriented trees, Distributed Dijkstra's algorithm in
the asynchronous setting, etc.) or they may be algorithms that I describe
as part of the problem.
Alternately, you may be asked to construct inputs for which the distributed algorithm
exhibits certain specific behavior.
For example, can you construct an input graph for which it takes the Distributed Kruskal's
algorithm exactly n + d - 2 rounds before all the MST edges reaches the root of the BFS tree?
- Problem 2.
In class, we have discussed randomized distributed algorithms such as Luby's
coloring and MIS algorithms. In this problem, you will be given specific
inputs and asked to calculate the probabilities of certain events or the
expectations of certain random variables describing the behavior of specific
randomized distributed algorithms (e.g., Problem 2 in HW 2).
Alternately, you may be asked to construct inputs for which the randomized algorothm
exhibits certain specific probabilistic behavior.
For example, can you describe an input graph and a node v in that graph for which the
probability that v's status is determined in the first round of Luby's MIS algorithm
is less than 1/100.
- Problem 3.
This question is meant to test your understanding of proofs of algorithm correctness (e.g., the proof
of correctness of Distributed Kruskal's algorithm), lower bound proofs (e.g., Linial's Omega(log^* n) lower
bound on 3-coloring oriented cycles), round complexity analysis (e.g., showing that a constant
fraction of edges are expected to become inactive in each round of Luby's MIS algorithm).
You will not be required to reproduce any proofs/analyses fully, but you will be asked about specific parts
of these proofs/analyses (e.g., Problem 1 in HW 3 asks about k-ary c-coloring functions that appear
in Linial's lower bound proof).
- Problem 4.
You will be given a problem and asked to design a distributed algorithm for it, possibly
running in a specified number of rounds. You might also be asked to prove correctness of your
algorithm or analyze the round complexity or message complexity of your algorithm.
Most homework problems have been of this type, but given that you have limited amount of time
to solve this problem in the exam, I will lead you through the design of the algorithm and also its
analysis/proof of correctness.