  Network latency can have a significant impact on the performance of
transactional storage systems, particularly in wide area or geo-distributed
deployments. To reduce latency, systems typically rely on a cache to service
read-requests closer to the client. However, caches are not effective for
write-heavy workloads, which have to be processed by the storage system in
order to maintain serializability.
  This paper presents a new technique, called optimistic abort, which reduces
network latency for high-contention, write-heavy workloads by identifying
transactions that will abort as early as possible, and aborting them before
they reach the store. We have implemented optimistic abort in a system called
Gotthard, which leverages recent advances in network data plane programmability
to execute transaction processing logic directly in network devices. Gotthard
examines network traffic to observe and log transaction requests. If Gotthard
suspects that a transaction is likely to be aborted at the store, it aborts the
transaction early by re-writing the packet header, and routing the packets back
to the client. Gotthard significantly reduces the overall latency and improves
the throughput for high-contention workloads.
