Blazes: Coordination Analysis for Distributed Programs

Peter Alvaro, Neil Conway, Joseph M. Hellerstein and David Maier

EECS Department
University of California, Berkeley
Technical Report No. UCB/EECS-2013-133
July 16, 2013

http://www2.eecs.berkeley.edu/Pubs/TechRpts/2013/EECS-2013-133.pdf

Fault tolerance is an essential feature of scalable software services. For a fault tolerance mechanism to be transparent, it must provide consistency across the results of redundant computations. Coordination protocols can ensure this consistency, but in practice they cause undesirable performance unless used judiciously. This raises significant challenges for distributed system architects and developers. In this paper we present Blazes, a cross-platform program analysis framework that (a) identifies program locations that require coordination to ensure consistent executions, and (b) automatically synthesizes application-specific coordination code that can significantly 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.


BibTeX citation:

@techreport{Alvaro:EECS-2013-133,
    Author = {Alvaro, Peter and Conway, Neil and Hellerstein, Joseph M. and Maier, David},
    Title = {Blazes: Coordination Analysis for Distributed Programs},
    Institution = {EECS Department, University of California, Berkeley},
    Year = {2013},
    Month = {Jul},
    URL = {http://www2.eecs.berkeley.edu/Pubs/TechRpts/2013/EECS-2013-133.html},
    Number = {UCB/EECS-2013-133},
    Abstract = {Fault tolerance is an essential feature of scalable software services. For a fault tolerance mechanism to be transparent, it must provide consistency across the results of redundant computations. Coordination protocols can ensure this consistency, but in practice they cause undesirable performance unless used judiciously. This raises significant challenges for distributed system architects and developers. In this paper we present Blazes, a cross-platform program analysis framework that (a) identifies program locations that require coordination to ensure consistent executions, and (b) automatically synthesizes application-specific coordination code that can significantly 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.}
}

EndNote citation:

%0 Report
%A Alvaro, Peter
%A Conway, Neil
%A Hellerstein, Joseph M.
%A Maier, David
%T Blazes: Coordination Analysis for Distributed Programs
%I EECS Department, University of California, Berkeley
%D 2013
%8 July 16
%@ UCB/EECS-2013-133
%U http://www2.eecs.berkeley.edu/Pubs/TechRpts/2013/EECS-2013-133.html
%F Alvaro:EECS-2013-133