Existing distributed transactional system execution model based on globally-consistent contention management policies may abort many transactions that could potentially commit without violating correctness. To reduce unnecessary aborts and increase concurrency, we propose the distributed dependency-aware (DDA) model, which adopts different conflicting resolution strategies for different transactions. In the DDA model, the concurrency of transactions is enhanced by ensuring that read-only and write-only transactions never abort, through established precedence relations with other transactions. Non-write-only update transactions are handled through a contention management policy. We identify the inherent limitations in establishing precedence relations in distributed transactional systems and propose their solutions. We present a set of algorithms to support the DDA model, then we prove the correctness and permissiveness of the DDA model and show that it supports invisible reads and efficiently garbage collects useless object versions.
['Bo Zhang', 'Binoy Ravindran', 'Roberto Palmieri']
Reducing Aborts in Distributed Transactional Systems through Dependency Detection