5 Uses of Determinism

Bill Frantz frantz@communities.com
Thu, 06 May 1999 11:48:19 -0700


At 03:57 AM 5/6/99 -0700, Mark S. Miller wrote:
>1) Cheaper Commitment.
>
>Databases often use this technique by writing a "transaction log".  Once a 
>transaction request has been successfully logged, the transaction can be 
>committed even though a crash may destroy its result state, given that the 
>transaction can be deterministically reproduced from the logged request.  I 
>first saw this technique applied to committing general purpose 
>computation by Rob Strom: Do a full checkpoint occasionally, and cheaply  
>log inputs until you take the next checkpoint.  
>
>It's not clear whether this wins over KeyKOS/EROS mmu-based checkpointing, 
>since that's also incremental.  But is sure beats the crap out of 
>non-incremental checkpointing, which is the only reasonable alternative for 
>those sitting above the jvm.

[#]KeyKOS used the technique of transaction logs in conjunction with
mmu-based checkpointing to achieve high transaction rates.  See
http://www.cis.upenn.edu/~KeyKOS/KeyTXF/KeyTXF.html