The project description is available on Moodle and the website of the course.
The description includes:
- an introduction to (software) transactional memory
- an introduction to concurrent programming in C11/C++11, with pointers to more resources
- the specifications of the transactional memory you have to implement, i.e. both:
- sufficient properties for a transactional memory to be deemed correct
- a thorough description of the transactional memory interface
- practical informations, including:
- how to test your implementation on your local machine and on the evaluation server
- how your submission will be graded
- rules for (optionally) using 3rd-party libraries and collaboration (although the project is individual)
This repository provides:
-
examples of how to use synchronization primitives (in
sync-examples/
) -
implementation (in
src
) -
implementation testing (in
benchmarks/
) -
The implementation is based on on TL2 algorithm