Show simple item record

dc.contributor.authorZhang, Tony Nuda
dc.contributor.authorSharma, Upamanyu
dc.contributor.authorKapritsos, Manos
dc.date.accessioned2023-07-11T18:53:38Z
dc.date.available2023-07-11T18:53:38Z
dc.date.issued2023-06-06
dc.identifier.issn2475-1421
dc.identifier.urihttps://hdl.handle.net/1721.1/151092
dc.description.abstractUnderstanding 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.en_US
dc.publisherACMen_US
dc.relation.isversionofhttps://doi.org/10.1145/3591235en_US
dc.rightsCreative Commons Attributionen_US
dc.rights.urihttps://creativecommons.org/licenses/by/4.0/en_US
dc.sourceAssociation for Computing Machineryen_US
dc.titlePerformal: Formal Verification of Latency Properties for Distributed Systemsen_US
dc.typeArticleen_US
dc.identifier.citationZhang, 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).
dc.contributor.departmentMassachusetts Institute of Technology. Computer Science and Artificial Intelligence Laboratory
dc.relation.journalProceedings of the ACM on Programming Languagesen_US
dc.identifier.mitlicensePUBLISHER_CC
dc.eprint.versionFinal published versionen_US
dc.type.urihttp://purl.org/eprint/type/JournalArticleen_US
eprint.statushttp://purl.org/eprint/status/PeerRevieweden_US
dc.date.updated2023-07-01T07:54:59Z
dc.language.rfc3066en
dc.rights.holderThe author(s)
dspace.date.submission2023-07-01T07:54:59Z
mit.journal.volume7en_US
mit.journal.issuePLDIen_US
mit.licensePUBLISHER_CC
mit.metadata.statusAuthority Work and Publication Information Neededen_US


Files in this item

No Thumbnail [100%x160]
Thumbnail

This item appears in the following Collection(s)

Show simple item record