Transactional memory (TM) offers optimistic concurrency support in modern multicore archi-
tectures, helping the programmers to extract parallelism in irregular applications when data
dependence information is not available before runtime. In fact, recent research focus on ex-
ploiting thread-level parallelism using TM approaches. However, the proposed techniques are
of general use, valid for any type of application.
This work presents ReduxSTM, a software TM system specially designed to extract maxi-
mum parallelism from irregular applications. Commit management and conflict detection are
tailored to take advantage of both, sequential transaction ordering to assure correct results,
and privatization of reduction patterns, a very frequent memory access pattern in irregular
applications. Both techniques are used to avoid unnecessary transaction aborts.
A function in 300.twolf package from SPEC CPU2000 was taken as a motivating irregular
program. This code was parallelized using ReduxSTM and an ordered version of TinySTM,
a state-of-the-art TM system. Experimental evaluation shows that ReduxTM exploits more
parallelism from the sequential program and obtains better performance than the other system.