[发明专利]基于协处理器的面向数组的数据库处理有效
申请号: | 201380076602.9 | 申请日: | 2013-03-15 |
公开(公告)号: | CN105229608A | 公开(公告)日: | 2016-01-06 |
发明(设计)人: | I.罗伊;F.刘;V.塔尔瓦;S.陈;J.常;P.兰加纳桑 | 申请(专利权)人: | 惠普发展公司;有限责任合伙企业 |
主分类号: | G06F9/46 | 分类号: | G06F9/46 |
代理公司: | 中国专利代理(香港)有限公司 72001 | 代理人: | 张凌苗;陈岚 |
地址: | 美国德*** | 国省代码: | 美国;US |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 处理器 面向 数组 数据库 处理 | ||
背景技术
数组(array)处理在包括机器学习、图表分析和图像处理的许多领域中具有广泛的应用。这样的数组的重要性已经导致新的存储和分析系统,诸如面向数组的数据库(AODB)。AODB是基于多维数组数据模型来组织的并且支持具有要在数组上执行的数学操作符(诸如合并数组操作、筛选数组操作等等)的结构化查询语言(SQL)类型的查询。AODB已经应用于宽泛范围的应用,包括地震分析、基因组测序、算法贸易和保险覆盖范围分析。
附图说明
图1是根据示例实现方式的面向数组的数据库(AODB)系统的示意图。
图2是根据示例实现方式的由图1的AODB系统使用的处理工作流的图示。
图3是作为组块大小的函数的供中央处理单元(CPU)和协处理器处理数据组块的时间的图示。
图4和5图示了根据示例实现方式的由图2的AODB系统执行以调节用于由协处理器处理的数据的示例格式转换。
图6是根据示例实现方式的基于协处理器的处理和基于CPU的处理的性能对工作负载类型的图示。
图7和8是描绘了根据示例实现方式的通过选择性地使用基于CPU的处理和基于协处理器的处理来处理对AODB系统的用户输入的技术的流程图。
具体实施方式
对于诸如涉及稠密矩阵乘法、K均值聚类、稀疏矩阵计算和图像处理(仅举几个示例)的分析之类的复杂多维分析而言,面向数组的数据库(AODB)可能比传统数据库相对更加高效。然而,AODB可能变得被算法复杂度和数据集大小所压垮。本文公开了通过将查询的处理分布在中央处理单元(CPU)和协处理器之间以用于高效处理对基于AODB的系统的查询的目的的系统和技术。
一般而言,协处理器受CPU监管,因为协处理器可能在其执行一些CPU式功能(诸如例如从系统存储器检索指令)的能力方面受限。然而,在对基于AODB的系统的查询的处理中包括一个或多个协处理器利用了协处理器执行基于数组的计算的能力。以此方式,相比于CPU,协处理器可以具有相对大数目的处理核。例如,诸如NVIDIATeslaM2090图形处理单元(GPU)之类的协处理器可以具有16个多处理器,其中每一个具有32个处理核,总计512个处理核。将这与给定CPU相比,给定CPU可能具有例如8或16个处理核。尽管给定CPU处理核可能拥有比给定协处理器处理核显著更多的处理能力,但是与协处理器的处理核并行处理数据的能力结合的协处理器的处理核的相对大的数目使得协处理器相当适合于数组计算,数组计算通常涉及在大数目的数组条目上执行相同的操作。
对于本文所公开的示例实现方式,协处理器是图形处理单元(GPU),尽管依照另外的实现方式可以使用其它类型的协处理器(数字信号处理(DSP)协处理器、浮点算术协处理器等等)。
依照示例实现方式,AODB系统的(一个或多个)GPU和(一个或多个)CPU可以部署在至少一个计算机(服务器、客户端、超极本计算机、台式计算机等等)上。更具体地,GPU可以部署在计算机的扩展卡上并且可以与计算机的组件通过诸如例如快速外围组件互连(PCIe)总线之类的扩展总线通信。扩展卡可以包含本地存储器,其与计算机的主系统存储器分离;并且计算机的CPU可以使用PCIe总线以用于向GPU的本地存储器递送数据和指令的目的,使得GPU可以访问指令和数据以用于处理。此外,当GPU产生作为该处理的结果的数据时,数据被存储在GPU的本地存储器中,并且CPU可以同样地使用PCIe总线通信来指导数据从GPU的本地存储器到系统存储器的递送。
在另外的实现方式中,GPU可以位于除PCIe总线之外的总线上。此外,在另外的实现方式中,GPU可以是集成到计算机中的芯片或芯片组,并且照此,GPU可以不被部署在扩展卡上。
图1描绘了根据示例实现方式的基于AODB的数据库系统100的示例实现方式。系统100被构造成处理描述基于数组的操作的用户输入150。作为示例,依照示例实现方式,系统100可以被构造成处理SciDB类型的查询,其中“SciDB”是指特定开源数组管理和分析数据库。以此方式,依照一些示例实现方式,用户输入150可以是数组查询语言(AQL)查询(类似于SQL查询但是指定数学操作)或者数组函数语言(AFL)查询。此外,用户输入150可以例如通过诸如R之类的基于数组的编程语言来生成。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于惠普发展公司;有限责任合伙企业,未经惠普发展公司;有限责任合伙企业许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201380076602.9/2.html,转载请声明来源钻瓜专利网。
- 上一篇:虚拟盘恢复和重新分布
- 下一篇:高级验证技术和应用