Concurrent Programming 8893
Assignment 4

Due: Tuesday, April 6 at 8:55.

You may do this assignment in teams of two. If you do so, please submit only one copy, but clearly list the names of both team members in the file header blocks. Submit your solution in a zip file, assign4_all.zip. Include a high-level description of your solution structure, either in comments in the source files or in a separate document.

Do one of the following:

  1. Design and implement a solution to the replicated shared database problem. Model the database with an array of integers, each of which represents an independently lockable portion (e.g, table) of the database. Your system should consist of the following actors: The protocol for modifying a value in the database should be three stage: lock, write, commit/release; whereas reading may be single stage.

    Advice: Start with a database containing only one table. You'll get most of the marks for just getting that to work. Once that works well, extend your solution to an arbitrary database.

  2. Design and implement a distributed solution to another problem of your own choosing subject to my approval. The problem should be of about the same level of complexity as the above problem. Be sure that your solution includes termination detection, if applicable.

Back to 8893 homepage

Last modified: Tue 2004.03.09 at 09:03 NST by Dennis Peters