Cross-platform implementation of reader-writer lock algorithms

Project description:

In practice, locking is the most commonly used synchronization mechanism. In a number of scenarios, application performance can be improved by discriminating between the different operations which may be performed on the locked objects: while only a single process should be allowed to modify an object protected by a lock at any given time, multiple processes may be allowed to concurrently read it. While in theory this concept of reader-writer lock may sound simple, practical implementations can be quite complex, as they have to exploit the characteristics of the underlying architecture as best as possible. In this project, the student is expected to complement libslock, an existing cross-platform locking library with implementations of state-of-the-art reader-writer lock algorithms. The source code of libslock can be found at http://github.com/tudordavid/libslock. All implementations will be in C.

Technical Details

Responsible: Tudor David

Faculty/laboratory: IC/LPD

Semester project for 1 CS or SysCom Master student

Experience with the C programming language required