[talks] W Lloyd general exam

Melissa Lawson mml at CS.Princeton.EDU
Fri May 1 13:25:43 EDT 2009

Wyatt Lloyd will present his research seminar/general exam on Friday May 8 at 10AM in 
Room 302 (note room).  The members of his committee are:  Mike Freedman, advisor, 
Jennifer Rexford, and Larry Peterson. Everyone is invited to attend his talk, and those 
faculty wishing to remain for the oral exam following are welcome to do so.  His abstract
and reading list follow below.

Byzantine fault-tolerant (BFT) replication, while offering robustness
in the face of arbitrary failures, arguably has not been widely
adopted due to its performance overhead.  System designers often opt
for protocols that sacrifice consistency or avoid replicating work, at
the cost of correctness in the face of failures.  By using historical
information, however, I will argue that stronger consistency and high
performance are not mutually exclusive.

This talk will present Prophecy, a system that interposes itself
between clients and any replicated service to minimize request
replication when results are historically consistent.  At the core of
Prophecy is a trusted sketcher component, designed to replace the
semi-trusted load balancer that mediates access to a service.  The
sketcher maintains a compact history table of request/response pairs
that allows it to perform fast, load-balanced reads when state
transitions do not occur, and slow, replicated reads otherwise.
Despite its simplicity, the sketcher provides a new form of
consistency called delay-once consistency: informally, faulty nodes
can return only stale (not arbitrary) data and only for an
exponentially-small number of times.

A prototype implementation demonstrates Prophecy's high throughput
compared to BFT systems, and its competitiveness with traditional
load-balancing.  I will also describe and evaluate Prophecy's ability
to scale-out to support large replica groups.  As Prophecy is most
effective when state transitions are rare, I will finally present a
measurement study of popular websites that demonstrates a high extent
of static data.

Reading List:


[1] L. Lamport, R. Shostak, and M. Pease. The Byzantine generals
problem. ACM Trans. Program. Lang. Sys., 4(3), 1982.

[2] Castro, M. and Liskov, B. Practical byzantine fault tolerance. In
OSDI, 1999.

[3] R. Kotla, L. Alvisi, M. Dahlin, A. Clement, and E. Wong. Zyzzyva:
Speculative Byzantine fault tolerance. In SOSP, 2007.

[4] A. Clement, E. Wong, L. Alvisi, and M. Dahlin.  Making Byzantine
Fault Tolerant Systems Tolerate Byzantine Faults. In NSDI, 2009.

[5] M. P. Herlihy, and J. M. Wing.  Linearizability: a correctness
condition for concurrent objects. ACM Trans. Program. Lang. Sys.
12(3), 1990.

[6] B. F. Cooper, R. Ramakrishnan, U. Srivastava, A. Silberstein, P.
Bohannon, H.-A. Jacobsen, N. Puz, D. Weaver, and R. Yerneni. PNUTS:
Yahoo!'s hosted data serving platform. In VLDB, 2008.

[7] G. DeCandia, D. Hastorun, M. Jampani, G. Kakulapati, A. Lakshman,
A. Pilchin, S. Sivasubramanian, P. Vosshall, and W. Vogels.  Dynamo:
Amazon's highly available key-value store. In SOSP, 2007.

[8] Fitzpatrick, B. 2004. Distributed caching with memcached. Linux
Journal, 124, 2004.

[9] J. Karlin, S. Forrest, and J. Rexford. Pretty Good BGP: Improving
BGP by cautiously adopting routes. In ICNP, Nov. 2006.

[10] L. Poole, and V.S. Pai.  ConfiDNS: leveraging scale and history
to detect compromise. In USENIX Annual, June 2008.


K. P. Birman, Reliable Distributed Systems, Springer, 2008.  Part III
and Chapter 24.6.

More information about the talks mailing list