DistOptimize automates protocol adjustments to boost cloud performance

DistOptimize: Automatic Optimization of Distributed Protocols

Distributed, Parallel, and Cluster ComputingDatabases

Summary

Protocols that keep data consistent across many computers in the cloud are very complex and must be proven safe. When these protocols get changed, there's a risk of mistakes that hurt safety, but checking every change carefully is hard. The authors created DistOptimize, a tool that automatically optimizes these protocols to make them run faster while ensuring they stay safe. It uses verification techniques and smart searching to find better ways to run these protocols, improving speed up to four times with minimal delay.

What this means in practice

Authors

David Chu McElroy, Shadaj Laddad, Lucky Katahanas, Mingwei Samuel, Octavio Lomeli, Natacha Crooks, Joseph M. Hellerstein, Mohsen Lesani

Abstract

Distributed consensus and consistency protocols are difficult to reason about yet foundational to the cloud; as such, they often undergo a rigorous proof and formal verification process before deployment. The same level of rigor is rarely applied to protocol modifications, which occur frequently in production and threaten to compromise safety. In this paper, we eliminate the risk of safety violations from manual modifications by presenting an automatic optimizer for distributed protocols: DistOptimize. DistOptimize adapts throughput optimizations from academic languages to frameworks used in production, verifying the correctness of the rewrites in Rocq and automating their application through a combination of calibration and ILP-based search space navigation. Applied to both fundamental distributed protocols and protocols used at AWS, DistOptimize improves throughput by up to 4x and increases latency by at most 0.3ms.