CS4411 Programming Assignment 3: Synchronization and Performance

Due May 12.

This is the second half of the semester project, in which you will incorporate synchronization and gain experience profiling and addressing performance.

Rembember that FUSE can operate in two modes with respect to threading. In multi-threaded mode, the default, FUSE will spawn a pool of worker threads to handle incoming requests. It will do this totally transparently, on your behalf; the only thing you need to know is that your functions must be re-entrant. You have avoided this concern for the first half of the project, by running your server in the other, single-threaded mode, passing it the -s option. When testing your synchronization, do NOT use -s. There will never be any race conditions in single-threaded mode, and your synchronization will appear to work correctly even if it is broken.


Requirements

You must do two things for this assignment:

For extra credit, you may: