Locality and Fast Paths in Buffer Pool Translation
Abstract Buffer pool translation—resolving an on-disk page identifier to an in-memory frame—was once a heavyweight operation whose bookkeeping consumed a substantial fraction of CPU cycles in early OLTP engines. Recent systems reduce this cost with techniques such as pointer swizzling, in-page hints, OS page-table mappings, prediction, sharding, and direct arrays. This paper surveys buffer pool translation mechanisms and then studies two orthogonal ways to reduce the cost of hash-table-based translation: placing related pages near each other in the frame array so neighboring pages prefer neighboring frame slots, and choosing a lookup policy that bypasses the hash table when a predicted frame validates. The benefit of each depends on workload locality, displacement, and payload size: on an in-memory translation microbenchmark, combining relation-local placement with bypass yields up to 1.46 $$\\times$$ higher translation throughput, while the advantage shrinks to near zero once large payload reads dominate per-access cost.
Authors
- Aaron J. Elmore (ORCID: https://orcid.org/0000-0002-4062-8826)
- Goetz Graefe (ORCID: https://orcid.org/0000-0003-0194-6466)
- Riki Otaki
- Kathir Meyyappan
Institutions
- Google (United States) (US)
- University of Illinois Chicago (US)
- University of Chicago (US)
Publication Details
- Journal
- Datenbank-Spektrum
- Published
- 2026-08-31
- DOI
- https://doi.org/10.1007/s13222-026-00558-4
- Primary Topic
- Advanced Data Storage Technologies
- Type
- article
- Field-Weighted Citation Impact
- 0.00
Funders
- National Science Foundation