Detail

Publication date: 1 de June, 2021

Software Transactional Memory

Due to performance reasons, most existing STM implementations use
optimistic methods for concurrency control, however these allow
transactions to conflict with each other and conflict detection may
only happen at commit time. In such cases the transactions, may run
into infinite loops, dereference invalid pointers or fail
algorithmic invariants that would not happen if the transaction
would execute only in consistent states.

This work is focused on STMs that detect such conflicts and abort
immediately the transaction, preventing the user code to run
inconsistent states. Based on TL2 implementation, this
work extends it by implementing an undo log strategy—both on word
and object based modes. We do experimental evaluations of the
performance of the alternatives—word based/redo log, word
based/undo log and object based/undo log.

We evaluate the cost of consistent state validation, arguing that
this cost can be minimized by performing partial validation on
problematic code regions.

Finally, we analyze two lock placement strategies on object based
based modes: lock adjacent to data and lock on a separate table.

Presenter


Date 28/05/2007
State Concluded