  Two-phase commit (2PC) has been widely used in distributed databases to
ensure atomicity for distributed transactions. However, 2PC suffers from two
limitations. First, 2PC incurs long latency as it requires two logging
operations on the critical path. Second, when a coordinator fails, a
participant may be blocked waiting for the coordinator's decision, leading to
indefinitely long latency and low throughput. We make a key observation that
modern cloud databases feature a storage disaggregation architecture, which
allows a transaction's final decision to not rely on the central coordinator.
We propose Cornus, a one-phase commit (1PC) protocol specifically designed for
this architecture. Cornus can solve the two problems mentioned above by
leveraging the fact that all compute nodes are able to access and modify the
log data on any storage node. We present Cornus in detail, formally prove its
correctness, develop certain optimization techniques, and evaluate against 2PC
on YCSB and TPC-C workloads. The results show that Cornus can achieve 1.5x
speedup in latency.
