Abstract :
Lock-based thread synchronization techniques have
been commonly used in parallel programming on multi-core
processors. However, lock can cause deadlocks and poor scalabilites,
and Transactional Memory (TM) has been proposed
and studied for lock-free synchronization. On TMs, transactions
are executed speculatively in parallel as long as they do not
encounter any conflicts on shared variables. On general HTMs,
hardware implementations of TM, conflicts can degrade the
performance of HTM because of the overhead for re-execution
of transactions. To address this problem, various transaction
scheduling algorithms for avoiding conflicts have been proposed.
However in the existing algorithms, execution path variation is
not considered at all. Some transactions have branch instructions,
and they cause execution path variations of transaction, resulting
in poor efficacy of the scheduling algorithms. In this paper, we
propose a novel concurrency control based on the execution time
of transactions with considering execution path variation. The
result of the experiment shows that the execution time of HTM
is reduced 61.6% at a maximum, and 13.8% on average with 16
threads.