Skip to content

Implementation of a dual-versioned software transactional memory

Notifications You must be signed in to change notification settings

paocela/CS453-Software_Transactional_Memory

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

24 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CS-453 - Dual-Versioned Software Transactional Memory

Content

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)

Practical Details

This repository provides:

  • the actual STM library written in C11 (in 345194/)
  • 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

Results

The final implementation, after optimization, reached speedup x1.2 above the reference version for the grading workload

About

Implementation of a dual-versioned software transactional memory

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published