8 research outputs found
A method for estimating existence of pairwise STM transaction conflicts
STM transaction schedulers were introduced to improve system performance. However, designing online transaction scheduling algorithms is challenging because at the same time they should: (i) introduce minimal scheduling overhead, (ii) minimize the resulting makespan, and (iii) minimize contention in the resulting schedule. In our previous work we developed the online transaction scheduler architecture and the four scheduling algorithms, named RR, ETLB, AC, and AAC (listed in increasing order of their quality), for scheduling transactions on the Python STM. Both AC and AAC use Bernstein conditions to check for pairwise data races between transactions, at the cost of time complexity that is proportional to the product of the sizes of transaction’s read and write sets, which may be significant. In this paper we propose a method for estimating existence of pairwise transaction conflicts whose time complexity is Θ(1). We validate this method by analysing the resulting transaction schedules for the three benchmark workloads, named RDW, CFW, and WDW. The result of this analysis is positive and encouraging – AAC using the new method produces the same result as when using Bernstein conditions. The limitation of the new method is that it may have false reports, both false negatives and false positives