Assignment 1

Find a concurrent algorithm in the literature. The algorithm should not
be trivial but also not extremely complex (since you are going to implement
the algorithm in Assignment 2). Concurrent algorithms are applicable to
various areas including databases, operating systems etcetera. You are
suggested to find a concurrent algorithm in an area of your interest.
Preferably, the algorithm should be presented in a refereed journal or
fairly recent conference proceedings.
If you find a concurrent algorithm to accomplish x and that paper is
published in the year y, then you should try to find out if any concurrent algorithms
accomplishing x (improving/simplifying/generalizing the former algorithm)
have been published after the year y.

Describe the algorithm. Use pseudocode to describe the algorithm.
If you have found a description of the algorithm in pseudocode in the literature,
you may use that description. However, do not forget to mention the source.
Also explain the algorithm in your own words. This implies that you
do not copy parts of the paper. Feel free to include examples. If the examples
are not your own, then mention the source.