Repository logo
Log in(current)
Repository logoMIT Open ScholarshipDSpace@MIT
  1. Home
  2. MIT Open Access Articles
  3. MIT Open Access Articles
  4. Performal: Formal Verification of Latency Properties for Distributed Systems

Performal: Formal Verification of Latency Properties for Distributed Systems

Thumbnail Image
Download
Name

3591235.pdf

Size

681.49 KB

Format

Adobe PDF

Checksum (MD5)

0bc25a463d32ffb20edcf03b1d16c3f0

Download all files submitted through automated deposit
3591235.zip (553.35 KB)
Author(s)
Zhang, Tony Nuda
•
Sharma, Upamanyu
•
Kapritsos, Manos
Date Issued
June 6, 2023
Journal
Proceedings of the ACM on Programming Languages
Publisher
ACM
Citation
Zhang, Tony Nuda, Sharma, Upamanyu and Kapritsos, Manos. 2023. "Performal: Formal Verification of Latency Properties for Distributed Systems." Proceedings of the ACM on Programming Languages, 7 (PLDI).
Version
Final published version
Abstract
Understanding and debugging the performance of distributed systems is a notoriously hard task, but a critical one. Traditional techniques like logging, tracing, and benchmarking represent a best-effort way to find performance bugs, but they either require a full deployment to be effective or can only find bugs after they manifest. Even with such techniques in place, real deployments often exhibit performance bugs that cause unwanted behavior. In this paper, we present Performal, a novel methodology that leverages the recent advances in formal verification to provide rigorous latency guarantees for real, complex distributed systems. The task is not an easy one: it requires carefully decoupling the formal proofs from the execution environment, formally defining latency properties, and proving them on real, distributed implementations. We used Performal to prove rigorous upper bounds for the latency of three applications: a distributed lock, ZooKeeper and a MultiPaxos-based State Machine Replication system. Our experimental evaluation shows that these bounds are a good proxy for the behavior of the deployed system and can be used to identify performance bugs in real-world systems.
MIT Department
Massachusetts Institute of Technology. Computer Science and Artificial Intelligence Laboratory
Terms of Use
Creative Commons Attribution
https://creativecommons.org/licenses/by/4.0/
Persistent DSpace Link
https://hdl.handle.net/1721.1/151092
DOI of Published Version
https://doi.org/10.1145/3591235
Repository logo
PrivacyPermissionsAccessibilityContact us
Repository logo
Notify us about copyright concerns.