Table of Contents

Assignment 1

Find a concurrent algorithm

Find a concurrent algorithm in the literature. The algorithm should not be trivial but also not extremely complex (since you are going to implement and verify the algorithm in Assignment 2 and 3). 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.

Ask the instructor

Ask the instructor if the algorithm is appropriate. Email the doi of the paper describing the algorithm to the instructor.

Add your paper to the list

Once your paper has been approved by the instructor, add your paper to the list below. Ensure that the reference in complete, that is, make sure that all relevant information is included. Attach a hyperlink to the title of your paper, linking it to the doi (something like http://dx.doi.org/10.1145/769800.769804).

Write a report

Write a report. In the report, describe your algorithm using pseudocode. 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.

You may want to try LaTeX and BiBTeX to write your report. You may start from the files assignment1.tex and assignment1.bib. Skeletons of various types of entries of a BiBTeX file can be found in sample.bib. Numerous tutorials on LaTeX and BiBTeX can be found on the web. If you have any questions, feel free to contact the instructor.

The report should be roughly between 4 and 10 pages. These bounds are not absolute (but one page is definitely not enough and 20 pages is too much).

As the audience of your report, consider your fellow students in the course.

List of papers