Taking the Shortcut: Actively Incorporating the Virtual Memory Index of the OS to Hardware-Accelerate Database Indexing

Felix Schuhknecht
{"title":"Taking the Shortcut: Actively Incorporating the Virtual Memory Index of the OS to Hardware-Accelerate Database Indexing","authors":"Felix Schuhknecht","doi":"arxiv-2310.09124","DOIUrl":null,"url":null,"abstract":"Index structures often materialize one or multiple levels of explicit\nindirections (aka pointers) to allow for a quick traversal to the data of\ninterest. Unfortunately, dereferencing a pointer to go from one level to the\nother is costly since additionally to following the address, it involves two\naddress translations from virtual memory to physical memory under the hood. In\nthe worst case, such an address translation is resolved by an index access\nitself, namely by a lookup into the page table, a central hardware-accelerated\nindex structure of the OS. However, if the page table is anyways constantly\nqueried, it raises the question whether we can actively incorporate it into our\ndatabase indexes and make it work for us. Precisely, instead of materializing\nindirections in form of pointers, we propose to express these indirections\ndirectly in the page table wherever possible. By introducing such shortcuts, we\n(a) effectively reduce the height of traversal during lookups and (b) exploit\nthe hardware-acceleration of lookups in the page table. In this work, we\nanalyze the strengths and considerations of this approach and showcase its\neffectiveness at the case of the real-world indexing scheme extendible hashing.","PeriodicalId":501333,"journal":{"name":"arXiv - CS - Operating Systems","volume":"24 4","pages":""},"PeriodicalIF":0.0000,"publicationDate":"2023-10-13","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"arXiv - CS - Operating Systems","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/arxiv-2310.09124","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 0

Abstract

Index structures often materialize one or multiple levels of explicit indirections (aka pointers) to allow for a quick traversal to the data of interest. Unfortunately, dereferencing a pointer to go from one level to the other is costly since additionally to following the address, it involves two address translations from virtual memory to physical memory under the hood. In the worst case, such an address translation is resolved by an index access itself, namely by a lookup into the page table, a central hardware-accelerated index structure of the OS. However, if the page table is anyways constantly queried, it raises the question whether we can actively incorporate it into our database indexes and make it work for us. Precisely, instead of materializing indirections in form of pointers, we propose to express these indirections directly in the page table wherever possible. By introducing such shortcuts, we (a) effectively reduce the height of traversal during lookups and (b) exploit the hardware-acceleration of lookups in the page table. In this work, we analyze the strengths and considerations of this approach and showcase its effectiveness at the case of the real-world indexing scheme extendible hashing.
查看原文
分享 分享
微信好友 朋友圈 QQ好友 复制链接
本刊更多论文
走捷径:积极将操作系统的虚拟内存索引整合到硬件加速数据库索引中
索引结构通常具体化一个或多个层次的显式间接指示(又名指针),以允许快速遍历感兴趣的数据。不幸的是,将指针从一个级别解引用到另一个级别是非常昂贵的,因为除了跟踪地址之外,它还涉及从虚拟内存到物理内存的两次地址转换。在最坏的情况下,这样的地址转换由索引访问本身来解决,即通过对页表的查找来解决,页表是操作系统的一个中央硬件加速索引结构。然而,如果页表总是被查询,那么我们是否可以积极地将它合并到我们的数据库索引中,并使其为我们工作。确切地说,我们建议尽可能在页表中直接表达这些间接,而不是以指针的形式具体化间接。通过引入这样的快捷方式,我们(a)有效地降低了查找过程中的遍历高度,(b)利用了页表中查找的硬件加速。在这项工作中,我们分析了这种方法的优势和注意事项,并展示了它在现实世界索引方案可扩展散列中的有效性。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约1分钟内获得全文 去求助
来源期刊
自引率
0.00%
发文量
0
期刊最新文献
Analysis of Synchronization Mechanisms in Operating Systems Skip TLB flushes for reused pages within mmap's eBPF-mm: Userspace-guided memory management in Linux with eBPF BULKHEAD: Secure, Scalable, and Efficient Kernel Compartmentalization with PKS Rethinking Programmed I/O for Fast Devices, Cheap Cores, and Coherent Interconnects
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
现在去查看 取消
×
提示
确定
0
微信
客服QQ
Book学术公众号 扫码关注我们
反馈
×
意见反馈
请填写您的意见或建议
请填写您的手机或邮箱
已复制链接
已复制链接
快去分享给好友吧!
我知道了
×
扫码分享
扫码分享
Book学术官方微信
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术
文献互助 智能选刊 最新文献 互助须知 联系我们:info@booksci.cn
Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。
Copyright © 2023 Book学术 All rights reserved.
ghs 京公网安备 11010802042870号 京ICP备2023020795号-1