Blazes: Coordination Analysis and Placement for Distributed Programs
- Citation data:
ACM Transactions on Database Systems, ISSN: 0362-5915, Vol: 42, Issue: 4, Page: 1-31
- Publication Year:
- Repository URL:
- Computer Science
Distributed consistency is perhaps the most-discussed topic in distributed systems today. Coordination protocols can ensure consistency, but in practice they cause undesirable performance unless used judiciously. Scalable distributed architectures avoid coordination whenever possible, but under-coordinated systems can exhibit behavioral anomalies under fault, which are often extremely difcult to debug. This raises signifcant challenges for distributed system architects and developers. In this article, we present Blazes, a cross-platform program analysis framework that (a) identifes program locations that require coordination to ensure consistent executions, and (b) automatically synthesizes application-specifc coordination code that can signifcantly outperform general-purpose techniques. We present two case studies, one using annotated programs in the Twitter Storm system and another using the Bloom declarative language.