STM (Software Transactional Memory) transactions sometimes invoke code which effects cannot be rolled back. This might be a third party library or code which effects are visible to users (e.g. printing to a printer). In order to deal with such code Software Transactional Memory must not abort the transaction that invokes it (i.e. the transaction becomes irrevocable). The goal of this project is to implement support for irrevocable transactions in SwissTM using two different algorithms (global serialization and visible reader) and to compare them on several benchmarks.
Responsible: Aleksandar Dragojevic
Project intended for 1 student