RapiLog: reducing system complexity through verification

  • Authors:
  • Gernot Heiser;Etienne Le Sueur;Adrian Danis;Aleksander Budzynowski;Tudor-loan Salomie;Gustavo Alonso

  • Affiliations:
  • NICTA and UNSW, Sydney, Australia;NICTA and UNSW, Sydney, Australia;NICTA and UNSW, Sydney, Australia;NICTA and UNSW, Sydney, Australia;ETH Zurich, Switzerland;ETH Zurich, Switzerland

  • Venue:
  • Proceedings of the 8th ACM European Conference on Computer Systems
  • Year:
  • 2013

Quantified Score

Hi-index 0.00

Visualization

Abstract

Database management systems provide updates with guaranteed durability in the presence of OS crashes or power failures. Durability is achieved by performing synchronous writes to a transaction log on stable, non-volatile storage. The procedure is expensive and several techniques have been devised to ameliorate the impact on overall performance at the cost of increased system complexity. In this paper we explore the possibility of reducing the system complexity around logging by leveraging verification instead of using specialised/dedicated hardware or complicated optimisations. The prototype system, RapiLog, uses a dependable hypervisor based on seL4 to buffer log data outside the database system and its OS, and performs the physical disk writes asynchronously with respect to the operation of the database. RapiLog guarantees that the log data will eventually be written to the disk even if the database system or the underlying OS crash or electrical power is cut. We evaluate RapiLog with multiple open-source and commercial database engines and find that performance is never degraded (beyond the virtualisation overhead), and at times is significantly improved.