  Optimistic concurrency control (OCC) can exploit the strengths of parallel
hardware to provide excellent performance for uncontended transactions, and is
popular in high-performance in-memory databases and transactional systems. But
at high contention levels, OCC is susceptible to frequent aborts, leading to
wasted work and degraded performance. Contention managers, mixed
optimistic/pessimistic concurrency control algorithms, and novel
optimistic-inspired concurrency control algorithms, such as TicToc, aim to
address this problem, but these mechanisms introduce sometimes-high overheads
of their own. We show that in real-world benchmarks, traditional OCC can
outperform these alternative mechanisms by simply adding fine-grained version
timestamps (using different timestamps for disjoint components of each record).
With fine-grained timestamps, OCC gets 1.14x TicToc's throughput in TPC-C at
128 cores (previous work reported TicToc having 1.8x higher throughput than OCC
at 80 hyperthreads). Our study shows that timestamp granularity has a greater
impact than previously thought on the performance of transaction processing
systems, and should not be overlooked in the push for faster concurrency
control schemes.
