CN105229608A - 基于协处理器的面向数组的数据库处理 - Google Patents
基于协处理器的面向数组的数据库处理 Download PDFInfo
- Publication number
- CN105229608A CN105229608A CN201380076602.9A CN201380076602A CN105229608A CN 105229608 A CN105229608 A CN 105229608A CN 201380076602 A CN201380076602 A CN 201380076602A CN 105229608 A CN105229608 A CN 105229608A
- Authority
- CN
- China
- Prior art keywords
- group
- chunk
- subset
- cpu
- coprocessor
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/21—Design, administration or maintenance of databases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
- G06F16/24553—Query execution of query operations
- G06F16/24554—Unary operations; Data partitioning operations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/283—Multi-dimensional databases or data warehouses, e.g. MOLAP or ROLAP
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5066—Algorithms for mapping a plurality of inter-dependent sub-tasks onto a plurality of physical CPUs
Abstract
一种技术包括在面向数组的数据库中接收用户输入。所述用户输入指示数据库操作,以及处理由数据库存储的多个数据组块以执行操作。所述处理包括在至少一个中央处理单元的第一组与至少一个协处理器的第二组之间选择性地分布对多个组块的处理。
Description
背景技术
数组(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之类的基于数组的编程语言来生成。
一般而言,用户输入150可以是查询或用户定义的函数。无论其特定形式如何,用户输入150定义要由数据库系统100执行的操作。以此方式,一般而言,查询可以使用作为由AODB定义的操作符集的部分的操作符,而用户定义的函数允许用户指定定制算法和/或数组数据上的操作。
给定用户输入150可以与本文称为“数据组块”的数据的一个或多个单元相关联。作为示例,由用户输入150描述的给定数组操作可以与一个或多个数组的分区相关联,并且每一个组块对应于分区之一。系统100在系统100的一个或多个CPU112和一个或多个GPU114之间分布针对数据组块的计算任务。在该上下文中,“计算任务”可以被视为用于给定数据组块的计算内核。每一个CPU112可以具有一个或多个处理核(作为示例,8或16个处理核),并且每一个CPU处理核是用于运行线程以执行给定计算任务的潜在候选。每一个GPU114也可以包含一个或多个处理核(作为示例,512个处理核),并且GPU114的处理核可以并行执行指派给GPU114的给定计算任务。
对于前述示例,假定AODB系统100由诸如示例物理机110-1之类的一个或多个物理机110形成。一般而言,物理机110是由实际硬件和实际机器可执行指令或“软件”构成的实际机器。在这方面,如图1中所描绘的,物理机110-1包括如一个或多个CPU112;一个或多个GPU114;主系统存储器130(即用于机器110-1的工作存储器);与储存器117(一个或多个硬盘驱动器、固态驱动器、光学驱动器等等)通信的储存器接口116;网络接口等等这样的硬件,如技术人员可以领会的那样。
如图1中所描绘的,每一个GPU114具有本地存储器115,其(例如经由PCIe总线递送)从系统存储器130接收要由GPU114处理的指令和数据组块并且存储从GPU的处理得出的数据组块,所述数据组块(经由例如PCIe总线递送)被递送回到系统存储器130中。此外,CPU112中的一个或多个可以运行机器可执行指令以形成基于AODB的数据库120的模块或组件以用于处理用户输入150的目的。
对于图1中所描绘的示例实现方式,AODB数据库120包括解析用户输入150的解析器122;并且作为该解析的结果,解析器122标识要被处理的一个或多个数据组块和要在(一个或多个)数据组块上执行的一个或计算任务。AODB数据库120还包括调度要由(一个或多个)CPU112和(一个或多个)GPU114执行的计算任务的调度器134。以此方式,调度器134将指示计算任务的数据放置在运行器126的队列127中并且对该数据加标签以指示哪些计算任务要由(一个或多个)CPU112执行以及哪些计算任务要由(一个或多个)GPU114执行。
基于由队列127中的数据所指示的调度,运行器126从储存器117检索对应数据组块118并且将组块118存储在系统存储器130中。对于CPU运行的计算任务,运行器126发起由(一个或多个)CPU112对计算任务的运行;并且(一个或多个)CPU112从系统存储器130存取数据组块以用于执行相关联的计算任务的目的。对于GPU运行的任务,运行器126可以将适当的数据组块从系统存储器130递送至GPU的本地存储器115中(例如经由PCIe总线递送)。
AODB数据库120还包括大小调整器或大小优化器124,其调整用于计算任务处理的数据组块大小。以此方式,尽管数据组块118可以被定尺寸以用于来自储存器117的组块118的高效递送(和用于经处理的数据组块到储存器117的高效递送),但是数据组块118的大小对于通过CPU112或GPU114的处理而言可能不是最优的。此外,用于CPU处理的数据组块的最优大小可能不同于用于GPU处理的数据组块的最优大小。
依照一些实现方式,AODB数据库120识别出组块大小影响计算任务处理的性能。以此方式,为了高效GPU处理,相对大的组块由于(作为示例)数据递送开销中的减少而可能是有益的,因为相对较大的组块更高效地递送到GPU的本地存储器115中和从其递送出来(例如经由PCIe总线递送);并且相对较大的组块增强GPU处理效率,因为GPU的处理核具有要并行处理的相对大量数据。这与用于CPU处理的组块大小形成对照,因为较小的组块大小可以增强分配数据局部性并且减少访问要在CPU112线程之中处理的数据的开销。
大小优化器124基于在该组块上执行有关计算任务的处理实体而调整数据组块大小。例如,大小优化器124可以从储存器117加载相对大的数据组块118并且将相对大的数据组块存储在储存器117中以用于加速该数据去往和来自储存器117的传送的目的。大小优化器124基于处理这些组块的处理实体而选择性地合并和划分数据组块118以产生经修改大小的数据组块。以此方式,依照示例实现方式,大小优化器124在这些组块对应于由CPU112执行的计算任务时将数据组块118划分成多个较小的数据组块,并且将这些经划分的块连同对应的CPU标签一起存储在队列127中。相反,大小优化器124可以将两个或更多数据组块118合并在一起以产生相对较大的数据组块以用于基于GPU的处理;并且大小优化器124可以将该经合并的组块连同适当的GPU标签一起存储在队列127中。
图3是根据示例实现方式的相对CPU和GPU响应时间对组块大小的图示300。在这方面,图3的条302图示了针对不同组块大小的CPU响应时间;并且条304表示针对相同组块大小的对应GPU响应时间。如可以通过分别针对CPU和GPU处理的趋势320和330看到的,一般而言,针对GPU处理的趋势330指示针对GPU处理的响应时间随组块大小而减小,而针对CPU处理的趋势320描绘了针对CPU处理的响应时间随组块大小而增加。
依照示例实现方式,运行器126还可以将数据组块解码或转换成适合于执行有关计算任务的处理实体的格式。例如,数据组块118可以以三元组格式存储在储存器117中。在图4中描绘了在400处的示例三元组形式。在示例三元组格式400中,数据被布置为结构402的数组,其可能不是通过由GPU114处理的合适格式,但是可能是通过由CPU112处理的合适格式。因此,如果给定数据组块要由CPU112处理,运行器126可以不执行任何另外的格式转换。然而,如果数据组块要由GPU114处理,依照示例实现方式,运行器126可以将数据格式转换成适合于GPU114的格式。使用图4的示例,运行器126可以将图4的三元组格式400转换成数组502的结构500(图5中描绘),其适合用于由GPU114的处理核的并行处理。
参照回图1,依照示例实现方式,调度器134可以基于静态准则向(一个或多个)CPU112和(一个或多个)GPU114指派计算任务。例如,调度器134可以向(一个或多个)GPU114指派固定百分比的计算任务并且向(一个或多个)CPU112指派其余计算任务。
依照另外的实现方式,调度器134可以采用基于由AODB数据库120的监视器128提供的度量的动态指派策略。以此方式,监视器128可以监视如CPU利用、CPU计算任务处理时间、GPU利用、GPU计算任务处理时间、并发GPU任务的数目等等的这样的度量;并且基于这些所监视的度量,调度器134动态地指派计算任务,这为调度器134提供了在运行时调节性能的灵活性。依照示例实现方式,调度器134可以基于由监视器128提供的度量和静态策略做出指派决定。例如,调度器134可以向(一个或多个)GPU114指派某个百分比的计算任务,直到达到并发GPU任务的数目上的固定限制为止,或者直到GPU计算任务处理时间减小至低于某个阈值为止。因此,依照一些实现方式,调度器134可以展现出朝向向(一个或多个)GPU114指派计算任务的倾向。该倾向进而利用GPU114的潜在更快的计算任务处理时间。
以此方式,图6描绘了针对不同操作的与使用基于GPU的计算任务处理对基于CPU的计算任务处理相关联的所观察到的相对加速乘数的图示。这些分别通过用于图像处理、稠密矩阵乘法和页面排序计算的加速乘数604、606和608示出。如从图6可以看到的,GPU取决于数据类型而提供不同的加速乘数,并且对于图6的示例,最大加速乘数针对稠密矩阵乘法而发生。
参照图2,总结来说,依照示例实现方式,AODB数据库120建立用于在(一个或多个)CPU112和(一个或多个)GPU114之间分布计算任务的工作流200。工作流200包括从储存器117检索数据组块118和在(一个或多个)CPU112与(一个或多个)GPU114之间选择性地指派对应计算任务,这导致GPU和CPU任务或作业。工作流200包括如本文所公开的选择性地合并和划分数据组块118以形成针对图2所图示的CPU作业的经划分的组块210和针对图2所图示的GPU作业的经合并的组块216。
(一个或多个)CPU112处理数据组块210以形成传送回到储存器117的对应组块212。用于GPU作业的数据组块216可以被进一步解码或重格式化(如通过附图标记220指示的)以产生对应经重格式化的数据组块221,所述数据组块221被移入(如附图标记222所图示的)到GPU的存储器115中(经由例如PCIe总线递送)以形成要由(一个或多个)GPU114处理的本地块223。在产生数据块225的GPU处理224之后,工作流200包括从GPU本地存储器115移出块225(如附图标记226所指示的),诸如通过PCIe总线递送,这产生块227,以及编码(如附图标记228所指示的)块227(例如使用CPU)以产生经重格式化的块230,所述经重格式化的块230然后被递送至储存器117。
因此,参照图7,概括来说,依照示例实现方式,技术700一般包括在面向数组的数据库中接收(块702)用户输入。依据技术700,在一个或多个CPU和一个或多个GPU之间选择性地指派(块704)用于处理组块的任务。
更具体地,图8描绘了可以依照示例实现方式执行的技术800。依据技术800,依据块802,接收用户输入,并且基于至少一个所监视的CPU和/或GPU性能度量而指派(块804)用于处理与用户输入相关联的数据组块的任务。依据块806,可以使用针对检索优化的第一组块大小而从储存器检索数据组块;并且然后依据块810,可以基于处理组块的处理实体而选择性地划分/合并组块。技术800还包括根据指派而向(一个或多个)CPU和(一个或多个)GPU传送(块812)经划分/经合并的组块。
虽然本文已经公开了有限数目的示例,但是受益于本公开的本领域技术人员将从中领会到大量修改和变型。意图在于随附权利要求覆盖所有这样的修改和变型。
Claims (20)
1.一种方法,包括:
在面向数组的数据库中接收用户输入,所述用户输入指示数据库操作;以及
处理由数据库存储的多个数据组块以执行数据库操作,所述处理包括在至少一个中央处理单元的第一组与至少一个协处理器的第二组之间选择性地分布对多个组块的处理。
2.权利要求1的方法,还包括至少部分地基于子集由至少中央处理单元的第一组还是由至少一个协处理器的第二组处理来选择性地划分组块的子集中的至少一个组块。
3.权利要求2的方法,其中选择性地划分子集中的至少一个组块包括如果子集被分配给第一组的中央处理单元则划分至少一个组块。
4.权利要求1的方法,还包括至少部分地基于子集由至少中央处理单元的第一组还是由至少一个协处理器的第二组处理来选择性地合并组块的子集中的至少两个组块。
5.权利要求4的方法,其中选择性地合并子集中的至少两个组块包括如果子集被分配给第二组的协处理器则合并至少两个组块。
6.权利要求1的方法,还包括至少部分地基于子集由至少中央处理单元的第一组还是由至少一个协处理器的第二组处理来格式化组块的子集中的至少一个组块。
7.权利要求1的方法,其中选择性地分布处理包括至少部分地基于至少一个协处理器的利用和至少一个中央处理单元的利用而选择性地分布处理。
8.一种装置,包括:
面向数组的数据库;
至少一个中央处理单元的第一组;
至少一个协处理器的第二组;以及
调度器,其响应于指示数据库操作的用户输入而在第一组与第二组之间选择性地分布对存储在数据库中的多个组块的处理。
9.权利要求8的装置,还包括数据大小调整器,以至少部分地基于调度器将子集分配成由至少中央处理单元的第一组还是由至少一个协处理器的第二组处理来选择性地划分组块的子集中的至少一个组块。
10.权利要求9的装置,其中数据大小调整器被适配成基于子集是否被分配给第一组的中央处理单元而选择性地划分子集中的至少一个组块。
11.权利要求9的装置,其中数据大小调整器被适配成至少部分地基于子集由至少中央处理单元的第一组还是由至少一个协处理器的第二组处理来选择性地合并组块的子集中的至少两个组块。
12.权利要求8的装置,还包括数据大小调整器,以响应于用户输入而加载多个组块并且至少部分地基于子集由至少中央处理单元的第一组还是由至少一个协处理器的第二组处理来选择性地增加和减小针对组块的子集的与组块相关联的组块大小。
13.权利要求8的装置,还包括:
监视器,以确定至少一个协处理器的利用和至少一个中央处理单元的利用。
14.权利要求13的装置,其中调度器被适配成至少部分地基于通过监视器的确定而选择性地分布组块。
15.权利要求8的装置,其中用户输入包括用户定义的函数或数据库查询。
16.一种包括非暂时性计算机可读存储介质以存储指令的制品,所述指令在由计算机运行时使计算机:
在面向数组的数据库中接收用户输入;以及
响应于用户输入,在至少一个中央处理单元的第一组与至少一个协处理器的第二组之间选择性地分布对存储在数据库中的多个组块的处理。
17.权利要求16的制品,所述存储介质存储指令,所述指令在由计算机运行时使计算机至少部分地基于子集由至少中央处理单元的第一组还是由至少一个协处理器的第二组处理来选择性地划分组块的子集中的至少一个组块。
18.权利要求16的制品,所述存储介质存储指令,所述指令在由计算机运行时使计算机至少部分地基于子集由至少中央处理单元的第一组还是由至少一个协处理器的第二组处理来选择性地合并组块的子集中的至少两个组块。
19.权利要求16的制品,所述存储介质存储指令,所述指令在由计算机运行时使计算机至少部分地基于子集由至少中央处理单元的第一组还是由至少一个协处理器的第二组处理来格式化组块的子集中的至少一个组块。
20.权利要求16的制品,所述存储介质存储指令,所述指令在由计算机运行时使计算机至少部分地基于至少一个协处理器的利用和至少一个中央处理单元的利用而选择性地分布处理。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2013/072674 WO2014139140A1 (en) | 2013-03-15 | 2013-03-15 | Co-processor-based array-oriented database processing |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105229608A true CN105229608A (zh) | 2016-01-06 |
Family
ID=51535823
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201380076602.9A Pending CN105229608A (zh) | 2013-03-15 | 2013-03-15 | 基于协处理器的面向数组的数据库处理 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20160034528A1 (zh) |
EP (1) | EP2972840A4 (zh) |
CN (1) | CN105229608A (zh) |
WO (1) | WO2014139140A1 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111338769A (zh) * | 2019-12-31 | 2020-06-26 | 深圳云天励飞技术有限公司 | 一种数据处理方法、装置及计算机可读存储介质 |
CN112417470A (zh) * | 2020-11-06 | 2021-02-26 | 上海壁仞智能科技有限公司 | 实现gpu数据安全访问的方法、装置、电子设备及存储介质 |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150323690A1 (en) * | 2014-05-08 | 2015-11-12 | Divestco Inc. | System and method for processing data |
KR102222752B1 (ko) * | 2014-08-01 | 2021-03-04 | 삼성전자주식회사 | 프로세서의 동적 전압 주파수 스케일링 방법 |
KR102329473B1 (ko) * | 2014-11-24 | 2021-11-19 | 삼성전자주식회사 | 프로세서와 이를 포함하는 반도체 장치 |
CN105068787A (zh) * | 2015-08-28 | 2015-11-18 | 华南理工大学 | 一种稀疏矩阵向量乘法的异构并行计算方法 |
US10896064B2 (en) * | 2017-03-27 | 2021-01-19 | International Business Machines Corporation | Coordinated, topology-aware CPU-GPU-memory scheduling for containerized workloads |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100138376A1 (en) * | 2007-01-24 | 2010-06-03 | Nicholas John Avis | Method and system for searching for patterns in data |
WO2011131470A1 (en) * | 2010-04-22 | 2011-10-27 | International Business Machines Corporation | Gpu enabled database systems |
WO2012025915A1 (en) * | 2010-07-21 | 2012-03-01 | Sqream Technologies Ltd | A system and method for the parallel execution of database queries over cpus and multi core processors |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8374986B2 (en) * | 2008-05-15 | 2013-02-12 | Exegy Incorporated | Method and system for accelerated stream processing |
CN101894051A (zh) * | 2010-07-29 | 2010-11-24 | 中国科学技术大学 | 基于主辅数据结构的cpu-gpu合作计算方法 |
CN102855218A (zh) * | 2012-05-14 | 2013-01-02 | 中兴通讯股份有限公司 | 数据处理系统、方法及装置 |
-
2013
- 2013-03-15 WO PCT/CN2013/072674 patent/WO2014139140A1/en active Application Filing
- 2013-03-15 CN CN201380076602.9A patent/CN105229608A/zh active Pending
- 2013-03-15 US US14/775,329 patent/US20160034528A1/en not_active Abandoned
- 2013-03-15 EP EP13878260.2A patent/EP2972840A4/en not_active Ceased
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100138376A1 (en) * | 2007-01-24 | 2010-06-03 | Nicholas John Avis | Method and system for searching for patterns in data |
WO2011131470A1 (en) * | 2010-04-22 | 2011-10-27 | International Business Machines Corporation | Gpu enabled database systems |
WO2012025915A1 (en) * | 2010-07-21 | 2012-03-01 | Sqream Technologies Ltd | A system and method for the parallel execution of database queries over cpus and multi core processors |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111338769A (zh) * | 2019-12-31 | 2020-06-26 | 深圳云天励飞技术有限公司 | 一种数据处理方法、装置及计算机可读存储介质 |
CN111338769B (zh) * | 2019-12-31 | 2023-08-29 | 深圳云天励飞技术有限公司 | 一种数据处理方法、装置及计算机可读存储介质 |
CN112417470A (zh) * | 2020-11-06 | 2021-02-26 | 上海壁仞智能科技有限公司 | 实现gpu数据安全访问的方法、装置、电子设备及存储介质 |
CN112417470B (zh) * | 2020-11-06 | 2023-06-27 | 上海壁仞智能科技有限公司 | 实现gpu数据安全访问的方法、装置、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
EP2972840A4 (en) | 2016-11-02 |
US20160034528A1 (en) | 2016-02-04 |
WO2014139140A1 (en) | 2014-09-18 |
EP2972840A1 (en) | 2016-01-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105229608A (zh) | 基于协处理器的面向数组的数据库处理 | |
KR102011671B1 (ko) | 이종 계산 장치 기반의 질의 처리 방법 및 장치 | |
Zhao et al. | Parallel k-means clustering based on mapreduce | |
Khorasani et al. | Scalable simd-efficient graph processing on gpus | |
CN110765157B (zh) | 数据查询方法、装置、计算机设备及存储介质 | |
US20200396311A1 (en) | Provisioning using pre-fetched data in serverless computing environments | |
Bicer et al. | Time and cost sensitive data-intensive computing on hybrid clouds | |
US10235182B2 (en) | System and method for hybrid task management across CPU and GPU for efficient data mining | |
US20140331235A1 (en) | Resource allocation apparatus and method | |
Grover et al. | Extending map-reduce for efficient predicate-based sampling | |
CN109074281B (zh) | 图形处理器任务的分配方法和装置 | |
US20180314566A1 (en) | Systems for parallel processing of datasets with dynamic skew compensation | |
JP2014120097A (ja) | 情報処理装置、プログラム、及び、情報処理方法 | |
Kim et al. | ClustalXeed: a GUI-based grid computation version for high performance and terabyte size multiple sequence alignment | |
CN108334951A (zh) | 针对决策树的节点的数据的预统计 | |
US10229367B2 (en) | Collaborative analytics map reduction classification learning systems and methods | |
Lee et al. | Optimization of GPU-based sparse matrix multiplication for large sparse networks | |
CN111949681A (zh) | 数据的聚合处理装置、方法和存储介质 | |
JP5043166B2 (ja) | 計算機システム、データ検索方法及びデータベース管理計算機 | |
CN109388609B (zh) | 基于加速核的数据处理方法和装置 | |
CN114860449A (zh) | 数据处理方法、装置、设备和存储介质 | |
CN110415162B (zh) | 大数据中面向异构融合处理器的自适应图划分方法 | |
WO2016053083A1 (en) | System for processing multiple queries using gpu | |
US20240037098A1 (en) | Executing database queries for grouping data using channel based flow control | |
Liu et al. | Memory capacity aware non-blocking data transfer on GPGPU |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C41 | Transfer of patent application or patent right or utility model | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20170122 Address after: American Texas Applicant after: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP Address before: American Texas Applicant before: Hewlett-Packard Development Company, L.P. |
|
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20160106 |
|
WD01 | Invention patent application deemed withdrawn after publication |