Using Write Protected Data Structures to Improve Software Fault Tolerance in Highly Available Database Management Systems

M. Sullivan and Michael Stonebraker

EECS Department
University of California, Berkeley
Technical Report No. UCB/ERL M91/56
June 1991

http://www2.eecs.berkeley.edu/Pubs/TechRpts/1991/ERL-91-56.pdf

This paper describes a database management system (DBMS) modified to use hardware write protection to guard critical DBMS data structures against software errors. Guarding (write- protecting) DBMS data improves software reliability by providing quick detection of corrupted pointers and array bound overruns. Guarding will be especially helpful in an extensible DBMS since it limits the power of extension code to corrupt unrelated parts of the system. Read-write data structures can be guarded as long as correct software is able to temporarily unprotect the data structures during updates. The paper discusses the effects of three different update models on performance, software complexity, and error protection. Measurement of a DBMS which uses guarding to protect its buffer pool show two to eleven percent performance degradation in a debit/credit benchmark.


BibTeX citation:

@techreport{Sullivan:M91/56,
    Author = {Sullivan, M. and Stonebraker, Michael},
    Title = {Using Write Protected Data Structures to Improve Software Fault Tolerance in Highly Available Database Management Systems},
    Institution = {EECS Department, University of California, Berkeley},
    Year = {1991},
    Month = {Jun},
    URL = {http://www2.eecs.berkeley.edu/Pubs/TechRpts/1991/1775.html},
    Number = {UCB/ERL M91/56},
    Abstract = {This paper describes a database management system (DBMS) modified to use hardware write protection to guard critical DBMS data structures against software errors. Guarding (write- protecting) DBMS data improves software reliability by providing quick detection of corrupted pointers and array bound overruns. Guarding will be especially helpful in an extensible DBMS since it limits the power of extension code to corrupt unrelated parts of the system. Read-write data structures can be guarded as long as correct software is able to temporarily unprotect the data structures during updates. The paper discusses the effects of three different update models on performance, software complexity, and error protection. Measurement of a DBMS which uses guarding to protect its buffer pool show two to eleven percent performance degradation in a debit/credit benchmark.}
}

EndNote citation:

%0 Report
%A Sullivan, M.
%A Stonebraker, Michael
%T Using Write Protected Data Structures to Improve Software Fault Tolerance in Highly Available Database Management Systems
%I EECS Department, University of California, Berkeley
%D 1991
%@ UCB/ERL M91/56
%U http://www2.eecs.berkeley.edu/Pubs/TechRpts/1991/1775.html
%F Sullivan:M91/56