一种基于内存池化的数据库异构加速方法与流程
- 国知局
- 2024-09-11 14:25:14
本发明涉及内存池化与异构加速领域,尤其涉及一种基于内存池化的数据库异构加速方法。
背景技术:
1、随着cxl(快速计算连接)协议和交换机技术的不断发展,内存池化已经成为了一种可行的技术实现方式。当前内存池化的研究和应用方向,主要为池化内存资源的管理和弹性扩展,在构建超大内存池和多节点交换方位的基础上,尽可能的提高访问带宽,并降低内存访问延迟,实现池化内存近似于本地内存资源的访问性能。
2、基于cxl协议的内存池化,能够为数据库查询系统提供弹性内存的应用需求,解决数据库查询应用期间内存弹性扩容和资源浪费的问题。然而,现有数据库还存在计算任务过重的问题,经常需求通过gpu等异构加速系统进行查询任务的卸载加速。独立的基于cxl的内存访问和基于gpu等异构加速系统的异构加速,在造成了资源浪费的同时,也因不同设备间的数据交互引发了查询性能的降低。
技术实现思路
1、为了解决以上技术问题,本发明提供了一种基于内存池化的数据库异构加速方法。
2、本发明的技术方案是:
3、一种基于内存池化的数据库异构加速方法,包括:数据查询任务采用管理节点和计算节点相结合的方式,接收外部查询任务,并在不同计算节点进行并行查询计算;cxl交换机连接计算节点和存储池,管理并为计算节点分配存储和异构计算资源,实现数据库对底层存储节点的存储访问和异构计算控制;采用fpga设计内存扩展模组,实现基于cxl协议的存储访问和异构计算控制寄存器组的访问,并根据异构计算控制寄存器组的配置参数,调度数据解压缩、双调排序、过滤计算、哈希计算模块进行大规模并行计算,完成数据库查询操作中部分计算任务,最后,数据收集器将计算结果上传到计算节点的同时,缓存到本地易失性存储单元。本发明通过将数据库查询子操作中高算力需求任务卸载到异构计算单元的方式,以及基于cxl协议的内存访问方式,实现在高带宽、低延迟的池化存储访问状态下,cpu和异构计算的算力优化分配,提高了数据库查询效率,降低了系统的整体运营成本。
4、进一步的,
5、将管理节点和计算节点服务器部署数据库查询系统,管理节点记录所有内存扩展模组的存储索引,接收查询任务,并为查询任务分配存储、异构计算、计算节点资源,通过cxl交换机将存储访问任务下发到不同的内存扩展模组,并通过任务标记的方式,将访问的数据结果发送给不同的计算节点进行进一步的查询计算,最终通过cxl交换机,将结算结果传输给管理节点,进行结果反馈。
6、一个管理节点可同时接收若干个查询任务的并行查询,管理节点通过索引非易失存储器中的数据存储地址,生成查询任务的存储访问控制,并通过cxl控制器下发存储访问任务和异构加速任务;
7、管理节点记录并查询计算节点的工作状态,通过cxl交换机将查询任务下发到空闲计算节点,并将计算节点信息加载到存储访问任务中,使存储访问任务与主机计算任务相匹配。
8、再进一步的,
9、cxl交换机为每个内存扩展模组的访问,都建立任务队列,通过具有优先级标记的任务队列,进行内存扩展模组的存储访问任务管理;
10、当cxl交换机接收到管理节点提交的任务指令时,将任务指令拆解为内存访问任务、异构加速任务、数据通路任务,并独立存储;cxl交换机检测通过本地任务记录表,记录不同内存扩展模块的内存访问、异构加速任务进度,根据任务队列中待执行的任务需求,查找并确定当前可用内存扩展模组,并向该内存扩展模块发送内存访问和异构计算任务。
11、cxl交换机允许任务的流水执行模块,cxl交换机向同一个内存扩展模组发送若干个任务流,标记单个内存扩展模组中可同时存在的最大任务数量上限,并记录内存扩展模组中当前存在的任务类型的数量;cxl交换机实时接收内存扩展模组的任务结束反馈信息,当检测到任务队列中某个任务进程结束时,将该任务标记为无效,并将记录的内存扩展模组中任务数量减一。
12、内存扩展模块通过cxl协议控制器中的cache协议方式,访问异构加速控制器,将若干个机构加速任务存储到本地缓存,顺序解码执行;解码后的指令信息直接发送到解压缩、双调排序阵列、过滤计算阵列、哈希计算阵列和数据收集器,控制不同的异构计算功能模块,进行片选和通路执行。
13、数据库查询任务过程中,对数据进行压缩后存储,数据经过解压缩后才能获得符合计算需求格式的数据;此外,数据库查询任务中包含能够并行执行的计算过程,将这些算子中的部分计算过程进行卸载加速,以流水线的形式顺序计算。
14、当数据存储在易失性存储设备中时,cxl协议控制器接收到内存访问任务,通过虚拟与真实物理地址映射关机,直接访问本地易失性存储中的数据,并将读取结果上传到cxl交换机;
15、当数据存储在非易失性存储设备中时,控制本地非易失性存储控制器直接读取非易失性存储器中的数据,并发送到解压缩模块;解压缩模块进行以及硬件电路的解压缩算法,获取解压缩数据;对于部分不需要解压缩的数据内容,解压缩模块通过旁路模式,直接将数据发送到下一级处理单元。
16、过滤计算阵列执行基础过滤计算,包括逻辑比较和关系比较,计算数据以数据流的方式顺序无卡顿完成计算,并发送到下一级处理单元;双调排序阵列支持最大64个数据的双调排序,通过固定周期的数据比较计算,输出具有升序/降序格式的64个数据结果,完成查询算子计算过程中的部分计算任务;哈希计算支持若干种哈希函数,每种哈希函数数量与非易失性存储的访问带宽相匹配,能够在一个时钟周期内,完成非易失存储器单周期读取数据总量的计算;
17、数据收集器接收片选通路传输的数据,将数据上传到cxl交换机;同时,根据易失性存储器中现有数据写入时间以及数据读取频率,将新数据覆盖写入到易失性存储器,并将数据和地址信息上传到管理节点服务器,为管理节点下一次的数据访问提供存储访问索引信息。
18、在数据收集器读取易失性存储器中的数据时,异构加速控制器可执行非易失性存储中的数据读取与计算任务,并将计算结果写入的空闲状态中的易失性存储器中,通过掩盖部分内存读写延迟的方式,降低查询任务的总体存储访问延迟。
19、cxl交换机解析内存扩展模组上传的报文信息,并提供数据路由通路,将内存扩展模块经过异构计算单元预处理的数据,传输给管理节点指定的计算节点;计算节点接收cxl从不同内存扩展模组读取的数据信息,实现查询操作的其它计算过程,并将计算结果转发到管理节点,实现最终的查询反馈。
20、本发明的有益效果是
21、通过cxl交换机和内存扩展模组构建非易事存储资源和易失存储资源的池化存储,并在易失存储资源中缓存查询计算的中间结果,提高了数据库对热点查询内容的反应速度;通过cxl交换机对多个内存扩展模组调度管理,以及内存扩展模块内部的任务调度,提高了异构计算资源的算力资源利用率,从而提高了数据库查询任务的并行计算能力。
技术特征:1.一种基于内存池化的数据库异构加速方法,其特征在于,
2.根据权利要求1所述的方法,其特征在于,
3.根据权利要求2所述的方法,其特征在于,
4.根据权利要求3所述的方法,其特征在于,
5.根据权利要求4所述的方法,其特征在于,
6.根据权利要求5所述的方法,其特征在于,
7.根据权利要求6所述的方法,其特征在于,
8.根据权利要求7所述的方法,其特征在于,
9.根据权利要求8所述的方法,其特征在于,
10.根据权利要求8或9所述的方法,其特征在于,
技术总结本发明提供一种基于内存池化的数据库异构加速方法,属于内存池化与异构加速领域,本发明通过将数据库查询子操作中高算力需求任务卸载到异构计算单元的方式,以及基于CXL协议的内存访问方式,实现在高带宽、低延迟的池化存储访问状态下,CPU和异构计算的算力优化分配,提高了数据库查询效率,降低了系统的整体运营成本。技术研发人员:王帅,赵鑫鑫,于帆受保护的技术使用者:山东浪潮科学研究院有限公司技术研发日:技术公布日:2024/9/9本文地址:https://www.jishuxx.com/zhuanli/20240911/290682.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。