Database memory checks trade lower cost for stronger protection
In plain words
Database software can make mistakes when it reads or writes memory, sometimes corrupting records or query results.
This paper is an empirical comparison of two hardware approaches for checking memory in database systems: Arm’s Memory Tagging Extension (MTE), which checks tags on pointers and memory, and CHERI, which uses pointers with enforced bounds and permissions.
The authors tested them across database components and workloads. MTE had lower summarized overhead in the tested full systems, while CHERI caught spatial memory violations deterministically in small reproduced tests. The results describe those tests and ports, not every database or bug.
The research
Database software often manages memory directly, so an invalid access can corrupt records or query results. It remains unclear whether hardware checks can reduce these errors without imposing runtime costs or integration work that database systems cannot accept in practice.
The authors compare Arm’s Memory Tagging Extension (MTE), which checks tags on pointers and memory, with CHERI’s bounded, permission-carrying pointers across database components and systems to measure safety guarantees, runtime cost, and porting effort.
To answer that, the authors tested the extensions at several layers, then ran database workloads against native Arm configurations. Across the tested full-system workloads, the reported overhead ranges were 5–10% for MTE and 20–60% for CHERI, though systems and available ports differed.
Separate reproductions of reported bug classes showed CHERI caught spatial violations deterministically, while MTE caught some spatial and temporal heap violations probabilistically. The results show a trade-off between protection and measured overhead.
These findings apply to the workloads, ports, reproduced bug cases, and operating-system support tested. The report counts are estimates of classified reports, not a census of memory-safety bugs.