Boosted transactions offer an attractive method that enables programmers to create larger transactions that scale well and offer deadlock-free guarantees. However, as boosted transactions get larger, they become more susceptible to conflicts and aborts. We describe a linear-time algorithm to detect transactions that cannot make progress,  which  transactions need to be aborted, and  when . The algorithm guarantees zero false positives with minimal aborts. Our proposals, as implemented in DSTM2, increase the transactional throughput of the system, often by more than 30%.
['Chinmay Eishan Kulkarni', 'Osman S. Unsal', 'Adrián Cristal', 'Eduard Ayguadé', 'Mateo Valero']
Turbocharging boosted transactions or: how i learnt to stop worrying and love longer transactions