Skip to content

AndreaLaGrotteria/SoftwareTransactionalMemory

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

31 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CS-453 - Course project

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/)
  • 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 <tm.hpp> instead of <tm.h>)
  • 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)
  • a tool to submit your implementation (in submit.py)
    • you should have received by mail a secret unique user identifier (UUID)
    • see the description for more information

About

Concurrent Computing Project 2023

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C++ 62.5%
  • C 27.6%
  • Python 5.1%
  • Makefile 4.8%