|Natacha Crooks||The University of Texas at Austin|
|Matthew Burke||Cornell University|
|Sitar Harel||Cornell University|
|Ethan Cecchetti||Cornell University|
|Rachit Agarwal||Cornell University|
|Lorenzo Alvisi||Cornell University|
This paper presents the design and implementation of Obladi, the first system to provide ACID transactions while also hiding access patterns.
This paper presents the design and implementation of Obladi, the first system to provide ACID transactions while also hiding access patterns. Obladi uses as its building block oblivious RAM, but turns the demands of supporting transactions into a performance opportunity. By executing transactions within epochs and delaying commit decisions until an epoch ends, Obladi reduces the amortized bandwidth costs of oblivious storage and increases overall system throughput. These performance gains, combined with new oblivious mechanisms for concurrency control and recovery, allow Obladi to execute OLTP workloads with reasonable throughput : it comes within 5×to 12× of a non-oblivious baseline on the TPC-C, SmallBank, and FreeHealth applications. Latency overheads, however, are higher (70× on TPC-C).