https://github.com/matteoldani/ca-project
TL2 implementation for the Concurrent Algorithm project of 2022
https://github.com/matteoldani/ca-project
Last synced: 3 months ago
JSON representation
TL2 implementation for the Concurrent Algorithm project of 2022
- Host: GitHub
- URL: https://github.com/matteoldani/ca-project
- Owner: matteoldani
- Created: 2022-09-27T13:09:08.000Z (over 2 years ago)
- Default Branch: master
- Last Pushed: 2023-03-05T14:54:50.000Z (over 2 years ago)
- Last Synced: 2025-01-21T01:15:03.728Z (5 months ago)
- Language: C++
- Homepage:
- Size: 146 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# CS-453 - Course project
The repo holds my implementation of the project proposed in CS-453 (Concurrent Algorithm) at EPFL. The aim of the project is the implementation of a transaction memory. My implementation of Transactional Locking II is in `tl2`.
## Description
The [project description](https://dcl.epfl.ch/site/_media/education/ca-project.pdf) is available on [Moodle](https://moodle.epfl.ch/course/view.php?id=14334) and the [website of the course](https://dcl.epfl.ch/site/education/ca_2021).
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/`)
* a reference implementation (in `reference/`)
* a "skeleton" implementation (in `template/`)
* this template is written in C11
* feel free to overwrite it completely if you prefer to use C++ (in this case include `` instead of ``)
* the program that will test your implementation (in `grading/`)
* the same program will be used on the evaluation server (although possibly with a different seed)
* you can use it to test/debug your implementation on your local machine (see the [description](https://dcl.epfl.ch/site/_media/education/ca-project.pdf))
* a tool to submit your implementation (in `submit.py`)
* you should have received by mail a secret _unique user identifier_ (UUID)
* see the [description](https://dcl.epfl.ch/site/_media/education/ca-project.pdf) for more information