edge, no research was done in the field of databases
to protect in-memory data against arbitrary dynamic
bit flips, except our own investigations on error de-
tecting B-Trees (Kolditz et al., 2014). In the field
of databases, other work mainly concentrates on han-
dling errors during I/O operations, or regards situa-
tions where the system inadvertently writes to wrong
memory regions, e.g. due to software bugs like buffer
overflows or broken pointers.
For instance, (Graefe and Stonecipher, 2009;
Graefe et al., 2012) harden the well-known B-Tree
and variants against errors during I/O-operations or
against certain other tree corruptions, whereas the
techniques are not suited for online error detection.
Dynamic bit flips may lead to false positives and false
negatives when querying such trees between there
maintenance checks.
(Sullivan and Stonebraker, 1991) deal with cor-
ruptions due to arbitrary writes by employing hard-
ware memory protection for individual pages. Mem-
ory pages are protected using hardware directives and
the protection is removed only when accessing the
pages through a special interface. The routines for
protecting and unprotecting require kernel calls which
leads to high performance penalties. Additionally,
while a page is unprotected other threads may still
corrupt data.
6 CONCLUSION
Low-cost, high-density main memory lead to a
change in the database ecosystem towards in-memory
designs, whereas data compression plays an impor-
tant role, too. However, due to the constant increase
of memory density, main memory becomes more and
more unreliable. This results in dynamic random
errors and in future hardware generations the error
rates are likely to escalate. General purpose ECC
mechanisms are not the appropriate solution from a
cost perspective. Therefore, we propose to exploit
database context knowledge by a tightly combination
of compression and resilience techniques. As pre-
sented, AN-encoding is a code family which allows
arithmetic operations on code words and, by that, is
suitable for transactional and analytical workloads.
We showed that by using AN-encoded extensions of
compression schemes, much higher bit flip detection
capabilities are achievable than with SECDED ECC.
Our preliminary evaluation shows that data compres-
sion schemes augmented with AN-encoding become
resilient at a low memory and performance cost. Nev-
ertheless, more research in this direction is necessary
from a conceptual as well as implementation perspec-
tive.
ACKNOWLEDGEMENTS
This work is partly supported by the German Re-
search Foundation (DFG) within the Cluster of Ex-
cellence “Center for Advanced Electronics Dresden”
(cfAED) and by the DFG-grant LE-1416/26-1.
REFERENCES
Abadi, D., Madden, S., and Ferreira, M. Integrating com-
pression and execution in column-oriented database
systems. In SIGMOD, pages 671–682.
Chen, Z., Gehrke, J., and Korn, F. (2001). Query optimiza-
tion in compressed database systems. SIGMOD Rec.,
30(2):271–282.
Garcia-Molina, H. and Salem, K. (1992). Main Memory
Database Systems: An Overview. Knowledge and
Data Engineering, 4(6).
Graefe, G., Kuno, H., and Seeger, B. (2012). Self-
diagnosing and self-healing indexes. In DBTest, pages
8:1–8:8.
Graefe, G. and Stonecipher, R. (2009). Efficient verification
of b-tree integrity. In BTW, pages 27–46.
Hoffmann, M., Ulbrich, P., Dietrich, C., Schirmeier, H.,
Lohmann, D., and Schr
¨
oder-Preikschat, W. (2014).
A Practitioner’s Guide to Software-based Soft-Error
Mitigation Using AN-Codes. In HASE ’14, pages 33–
40.
Hwang, A. A., Stefanovici, I. A., and Schroeder, B. (2012).
Cosmic Rays Don’t Strike Twice: Understanding the
Nature of DRAM Errors and the Implications for Sys-
tem Design. SIGARCH Comput. Archit. News, 40(1).
Italiano, G. F. (2010). Resilient algorithms and data struc-
tures. In CIAC 2010, pages 13–24.
Kolditz, T., Kissinger, T., Schlegel, B., Habich, D., and
Lehner, W. (2014). Online bit flip detection for in-
memory b-trees on unreliable hardware. In DaMoN,
pages 5:1–5:9.
Lemire, D. and Boytsov, L. (2012). Decoding billions
of integers per second through vectorization. CoRR,
abs/1209.2137.
Moon, T. K. (2005). Error Correction Coding: Mathemati-
cal Methods and Algorithms. Wiley.
Roth, M. A. and Van Horn, S. J. (1993). Database compres-
sion. SIGMOD Rec., 22(3):31–39.
Schiffel, U. (2011). Hardware Error Detection Using AN-
Codes. PhD thesis, Technische Universit
¨
at Dresden.
Schlegel, B., Gemulla, R., and Lehner, W. (2010). Fast inte-
ger compression using simd instructions. In DaMoN,
pages 34–40.
Sullivan, M. and Stonebraker, M. (1991). Using write pro-
tected data structures to improve software fault tol-
erance in highly available database management sys-
tems. In VLDB, pages 171–180.
Warren, H. S. (2002). Hacker’s Delight. Addison-Wesley
Longman Publishing Co., Inc., Boston, MA, USA.
Resiliency-awareDataCompressionforIn-memoryDatabaseSystems
331