[发明专利]用于使用基于硬件的处理来提供分布式树遍历的系统和方法有效
申请号: | 201580064313.6 | 申请日: | 2015-11-20 |
公开(公告)号: | CN107004013B | 公开(公告)日: | 2020-12-25 |
发明(设计)人: | K·H·埃古罗;Z·伊斯特范;A·阿拉苏;R·拉马莫西;K·施里拉格哈夫 | 申请(专利权)人: | 微软技术许可有限责任公司 |
主分类号: | G06F16/22 | 分类号: | G06F16/22;G06F16/2455;G06F16/2453 |
代理公司: | 北京市金杜律师事务所 11256 | 代理人: | 王茂华 |
地址: | 美国华*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 用于 使用 基于 硬件 处理 提供 分布式 遍历 系统 方法 | ||
主机CPU运行数据库管理系统(DBMS)和硬件协同处理器通过在主机CPU请求树型数据结构时分配高速缓存中的可重用存储器以存储树型数据结构的部分来加速对树型数据结构的遍历。硬件协同处理器以对主机CPU透明的方式管理高速缓存的树型数据结构。位于主机CPU处或者分离计算设备处的驱动器可以提供在主机CPU与硬件协同处理器之间的接口,因此减少在主机CPU与硬件协同处理器之间的通信。
背景技术
如今的数据库系统必须对大数据库执行许多查询,例如Google必须每天回答约十亿个搜索查询。为了保持响应时间低,必须尽可能快地执行查询。查询是在保持数据库的数据库管理系统与依赖于在这样的数据库中存储的数据的数据库应用之间的接口。因此,加速查询执行增加数据库系统的性能,并且数据库应用将从降低的响应时间受益。
专用和可重配置硬件加速器与常规的基于软件的处理器相比具有改进数据库查询、尤其是计算的吞吐量、延时和功率要求的长久历史。然而同时,这些类型的设备的专用性质也一般地意味着它们仅能够执行相对简单的功能,从而要求基于软件的处理完成任务或者至少充当备用处理。该分布式处理可能导致在两个系统之间的同步和/或一致性问题。
现场可编程门阵列(FPGA)和其他硬件逻辑设备(例如专用集成电路(ASIC)和复杂可编程门阵列(CPGA))已经用来加速对树数据结构的存储和遍历。当前解决方案采用两种一般方式之一:通过内容可寻址存储器结构的高速缓存和用于树的FPGA加速器,在FPGA加速器中,在专用寄存器传送级(RTL)逻辑中布置树节点。第一类解决方案具有两个缺点。首先,它通常地以显式高速缓存策略为特征,其中主机(例如数据库管理系统(DBMS))必须做出关于在高速缓存中存储/更新项目的决策。第二,最经常使用的数据结构没有提高很高存储器效率。第二类解决方案也具有两个主要缺点。首先,由于在硬件中直接地表示整个树,所以它们消耗大量片上存储器/逻辑。第二,实施的树结构很刚性从而使对树结构的动态更新难以快速地和经济地处置。
发明内容
本公开描述用于在硬件中高速缓存和处理树式数据结构的系统和方法。
一种示例系统包括数据库管理系统(DBMS)、驱动器和逻辑设备。至少部分地在由一个或者多个处理器可执行的计算机可读介质中体现DBMS和驱动器。DBMS接收用于在一个或者多个树型关系数据库数据结构中存储的信息的查询,并且响应于接收到查询,向驱动器发送查询。驱动器响应于从DBMS接收到查询,向至少部分地在硬件中体现的逻辑设备发送修改的查询。逻辑设备包括高速缓存存储器,高速缓存存储器用于存储与关联于DBMS的一个或者多个树型关系数据库数据结构之一的至少部分关联的树型关系数据库数据结构。逻辑设备响应于接收到修改的查询来至少基于修改的查询来遍历在高速缓存存储器中存储的树型关系数据库数据结构的节点,取回位于每个遍历的节点处的数据的部分;并且向驱动器发送取回的数据的部分。
驱动器响应于接收到数据的部分,基于在关联于DBMS的树型关系数据库数据结构处存储的数据证实数据的部分,并且向DBMS发送证实的数据的部分。向逻辑设备重新发送数据的未证实或者不一致的部分。驱动器在查找表(LUT)内存储从硬件逻辑设备接收的数据的部分作为节点并且使用LUT以答复从DBMS接收的查询。
在其他示例中,逻辑设备在与逻辑设备关联的高速缓存存储器当前不包括与关联于接收的查询的节点关联的页面时,至少基于分配规则,为与接收的查询、节点数据和路径信息关联的节点分配在高速缓存存储器内的页面。逻辑设备至少基于接收所接收的查询、节点数据和路径信息依次地分配页面。高速缓存的页面包括存储值的值位置和存储一个或者多个指针的指针位置。指针位置与在高速缓存存储器内的值位置在逻辑上分离。
提供本发明内容以用简化的形式介绍以下在具体实施方式中进一步描述的概念的选择。本发明内容未旨在于标识要求保护的主题的关键或者必要特征,它也未旨在于在确定要求保护的主题的范围时用作辅助。例如术语“技术”可以如以上和贯穿本文而描述的上下文所允许的那样指代一个或者多个系统、一个或者多个方法、计算机可读指令、一个或者多个模块、算法、硬件逻辑和/或一个或者多个操作。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于微软技术许可有限责任公司,未经微软技术许可有限责任公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201580064313.6/2.html,转载请声明来源钻瓜专利网。
- 上一篇:X射线装置和X射线成像方法
- 下一篇:包括可释放的辅助材料的钉仓