@inproceedings{9db1c09eae2e4eb68372f303b1aadb02,
title = "Piccolo: Building fast, distributed programs with partitioned tables",
abstract = "Piccolo is a new data-centric programming model for writing parallel in-memory applications in data centers. Unlike existing data-flow models, Piccolo allows computation running on different machines to share distributed, mutable state via a key-value table interface. Piccolo enables efficient application implementations. In particular, applications can specify locality policies to exploit the locality of shared state access and Piccolo's run-time automatically resolves write-write conflicts using user-defined accumulation functions. Using Piccolo, we have implemented applications for several problem domains, including the PageRank algorithm, k-means clustering and a distributed crawler. Experiments using 100 Amazon EC2 instances and a 12 machine cluster show Piccolo to be faster than existing data flow models for many problems, while providing similar fault-tolerance guarantees and a convenient programming interface.",
author = "Russell Power and Jinyang Li",
year = "2019",
month = jan,
day = "1",
language = "English (US)",
series = "Proceedings of the 9th USENIX Symposium on Operating Systems Design and Implementation, OSDI 2010",
publisher = "USENIX Association",
pages = "293--306",
booktitle = "Proceedings of the 9th USENIX Symposium on Operating Systems Design and Implementation, OSDI 2010",
note = "9th USENIX Symposium on Operating Systems Design and Implementation, OSDI 2010 ; Conference date: 04-10-2010 Through 06-10-2010",
}