CN116149856A - 算子计算方法、装置、设备及介质 - Google Patents
算子计算方法、装置、设备及介质 Download PDFInfo
- Publication number
- CN116149856A CN116149856A CN202310029566.6A CN202310029566A CN116149856A CN 116149856 A CN116149856 A CN 116149856A CN 202310029566 A CN202310029566 A CN 202310029566A CN 116149856 A CN116149856 A CN 116149856A
- Authority
- CN
- China
- Prior art keywords
- operator
- processor
- data
- executable
- target
- 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
- 238000004364 calculation method Methods 0.000 title claims abstract description 97
- 238000000034 method Methods 0.000 claims description 26
- 238000004590 computer program Methods 0.000 claims description 6
- 238000010586 diagram Methods 0.000 description 8
- 230000008569 process Effects 0.000 description 6
- 230000008901 benefit Effects 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 238000006243 chemical reaction Methods 0.000 description 3
- 238000013500 data storage Methods 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000001914 filtration Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 238000010923 batch production Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000000802 evaporation-induced self-assembly Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
Images
Classifications
-
- 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
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/5044—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering hardware capabilities
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本公开涉及一种算子计算方法、装置、设备及介质。其中,算子计算方法包括:获取目标语句;将目标语句在中央处理器上进行处理得到与目标语句对应的至少一个中央处理器可执行算子;针对至少一个中央处理器可执行算子中的每一个中央处理器可执行算子,基于预设代码将中央处理器可执行算子替换成数据处理器可执行算子;在基于核处理器架构的数据处理器上对数据处理器可执行算子进行计算,将计算结果返回至中央处理器,由此,能够将原本由中央处理器进行计算的可执行算子交由基于核处理器架构的数据处理器来执行,减轻了中央处理器的计算压力,同时提升了可执行算子的计算速率。
Description
技术领域
本公开涉及大数据处理技术领域,尤其涉及一种算子计算方法、装置、设备及介质。
背景技术
目前,Apache Spark是专为大规模数据处理而设计的快速通用计算引擎,使用与Hadoop相似的开源集群计算环境。结构化查询语言(Structured Query Language,SQL)是具有数据操纵和数据定义等多种功能的数据库语言,Spark SQL是Spark的计算模块之一,专门用于处理结构化的数据。Spark SQL允许用户使用标准的SQL语句来执行SQL的查询和读写,也可以使用Hive SQL来执行对Hive仓库的查询和读写。
现在的Spark SQL基于Spark框架,其全部的计算是基于中央处理器进行,也就是说中央处理器除了需要维持整个计算的调度之外,还需要额外的算力进行数据密集计算。中央处理器作为通用处理芯片,在大数据高密集型的数据计算上并无明显优势,这使得Spark SQL基于中央处理器运算时计算算力成为性能的主要瓶颈。
发明内容
为了解决上述技术问题,本公开提供了一种算子计算方法、装置、设备及介质。
本公开实施例的第一方面提供了一种算子计算方法,包括:
获取目标语句,目标语句为结构化查询语句;
将目标语句在中央处理器上进行处理得到与目标语句对应的至少一个中央处理器可执行算子;
针对至少一个中央处理器可执行算子中的每一个中央处理器可执行算子,基于预设代码将中央处理器可执行算子替换成数据处理器可执行算子,数据处理器可执行算子用于在基于核处理器架构的数据处理器上执行;
在基于核处理器架构的数据处理器上对数据处理器可执行算子进行计算,将计算结果返回至中央处理器。
本公开实施例的第二方面提供了一种算子计算装置,包括:
语句获取模块,用于获取目标语句,目标语句为结构化查询语句;
语句处理模块,用于将目标语句在中央处理器上进行处理得到与目标语句对应的至少一个中央处理器可执行算子;
算子替换模块,用于针对至少一个中央处理器可执行算子中的每一个中央处理器可执行算子,基于预设代码将中央处理器可执行算子替换成数据处理器可执行算子,数据处理器可执行算子用于在基于核处理器架构的数据处理器上执行;
算子计算模块,用于在基于核处理器架构的数据处理器上对数据处理器可执行算子进行计算,将计算结果返回至中央处理器。
本公开实施例的第三方面提供了一种电子设备,包括:
处理器;
存储器,用于存储可执行指令;
其中,处理器用于从存储器中读取可执行指令,并执行可执行指令以实现上述第一方面提供的算子计算方法。
本公开实施例的第四方面提供了一种计算机可读存储介质,该存储介质存储有计算机程序,当计算机程序被处理器执行时,使得处理器实现上述第一方面提供的算子计算方法。
本公开实施例提供的技术方案与现有技术相比具有如下优点:
本公开实施例提供的算子计算方法、装置、设备及介质,能够获取目标语句,目标语句为结构化查询语句,将目标语句在中央处理器上进行处理得到与目标语句对应的至少一个中央处理器可执行算子,针对至少一个中央处理器可执行算子中的每一个中央处理器可执行算子,基于预设代码将中央处理器可执行算子替换成数据处理器可执行算子,数据处理器可执行算子用于在基于核处理器架构的数据处理器上执行,在基于核处理器架构的数据处理器上对数据处理器可执行算子进行计算,将计算结果返回至中央处理器,由此,能够将原本由中央处理器进行计算的中央处理器可执行算子替换成数据处理器可执行算子,进而由基于核处理器架构的数据处理器来执行数据处理器可执行算子的计算,减轻了中央处理器的计算压力,同时提升了可执行算子的计算速率。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
为了更清楚地说明本公开实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本公开实施例提供的一种算子计算方法的流程图;
图2是本公开实施例提供的一种可执行算子替换的结构示意图;
图3是本公开实施例提供的一种基于核处理器架构的数据处理器执行算子计算的结构示意图;
图4是本公开实施例提供的另一种算子计算方法的流程图;
图5是本公开实施例提供的一种算子计算装置的结构示意图;
图6是本公开实施例提供的一种电子设备的结构示意图。
具体实施方式
为了能够更清楚地理解本公开的上述目的、特征和优点,下面将对本公开的方案进行进一步描述。需要说明的是,在不冲突的情况下,本公开的实施例及实施例中的特征可以相互组合。
在下面的描述中阐述了很多具体细节以便于充分理解本公开,但本公开还可以采用其他不同于在此描述的方式来实施;显然,说明书中的实施例只是本公开的一部分实施例,而不是全部的实施例。
应当理解,本公开的方法实施方式中记载的各个步骤可以按照不同的顺序执行,和/或并行执行。此外,方法实施方式可以包括附加的步骤和/或省略执行示出的步骤。本公开的范围在此方面不受限制。
需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
需要注意,本公开中提及的“一个”、“多个”的修饰是示意性而非限制性的,本领域技术人员应当理解,除非在上下文另有明确指出,否则应该理解为“一个或多个”。
通常情况下,现在的Spark SQL基于Spark框架,其全部的计算是基于中央处理器进行,也就是说中央处理器除了需要维持整个计算的调度之外,还需要额外的算力进行数据密集计算。中央处理器作为通用处理芯片,在大数据高密集型的数据计算上并无明显优势,这使得Spark SQL基于中央处理器运算时计算算力成为性能的主要瓶颈。针对该问题,本公开实施例提供了一种算子计算方法,下面结合具体的实施例对该方法进行介绍。
图1是本公开实施例提供的一种算子计算方法的流程图,该方法可以由算子计算装置来执行,该算子计算装置可以采用软件和/或硬件的方式实现,该算子计算装置可配置于电子设备中,例如服务器或终端,其中,终端具体可以包括手机、电脑或平板电脑等。
如图1所示,本实施例提供的算子计算方法包括如下步骤。
S110、获取目标语句,目标语句为结构化查询语句。
在本公开实施例中,电子设备在接收到用户的算子计算指令后,获取目标语句,目标语句为结构化查询语句。
可选地,目标语句为结构化查询语句,即结构化查询语言(Structured QueryLanguage,SQL)对应的SQL语句。
其中,SQL是一种特殊目的的编程语言,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库***,同时也是数据库脚本文件的扩展名。
在本公开一些实施例中,电子设备在接收到用户的算子计算指令后,从算子计算指令中提取与该算子计算指令相关的目标语句,进而获取到目标语句,其中,算子计算指令中包括与该算子计算相关的目标语句。
在本公开另一些实施例中,电子设备在接收到用户的算子计算指令后,对算子计算指令进行解析,根据算子计算指令从数据存储库中获取与该算子计算指令相关的目标语句,其中,算子计算指令中不包含与该算子计算相关的目标语句,目标语句预先存储在数据存储库中。
S120、将目标语句在中央处理器上进行处理得到与目标语句对应的至少一个中央处理器可执行算子。
在本公开实施例中,电子设备在获取到目标语句之后,将目标语句在中央处理器上进行处理得到与目标语句对应的至少一个中央处理器可执行算子。
其中,至少一个中央处理器可执行算子可以理解为是与目标语句对应的用于在中央处理器上执行计算的可执行算子。
具体地,电子设备可以通过将目标语句输入目标分析器中,对目标语句进行解析,进而得到与目标语句对应的至少一个中央处理器可执行算子。
进一步地,目标分析器可以是安装在电子设备中用于对目标语句进行解析的语法分析器、语义分析器等;也可以是安装在电子设备的预设模块中,例如,预设模块可以是spark SQL模块,spark SQL模块是spark的计算模块之一,专门用于处理结构化的数据,比如允许用户使用标准的SQL语句来执行SQL的查询和读写,其中,spark是专为大规模数据处理而设计的快速通用计算引擎。
S130、针对至少一个中央处理器可执行算子中的每一个中央处理器可执行算子,基于预设代码将中央处理器可执行算子替换成数据处理器可执行算子,数据处理器可执行算子用于在基于核处理器架构的数据处理器上执行。
在本公开实施例中,电子设备在得到与目标语句对应的至少一个中央处理器可执行算子之后,针对至少一个中央处理器可执行算子中的每一个中央处理器可执行算子,基于预设代码将中央处理器可执行算子替换成数据处理器可执行算子,数据处理器可执行算子用于在基于核处理器架构的数据处理器上执行。
在本公开实施例中,预设代码是预先设计并设置在电子设备中用于对可执行算子进行替换的代码,其中包含可执行算子执行路径和执行方式相关的执行逻辑。
在本公开实施例中,基于核处理器架构的数据处理器即基于KPU架构的DPU。
具体地,电子设备在得到与目标语句对应的至少一个中央处理器可执行算子之后,通过预设代码将每一个中央处理器可执行算子替换成交由基于核处理器架构的数据处理器进行执行的数据处理器可执行算子,将可执行算子的执行路径由中央处理器交由基于核处理器架构的数据处理器。
图2是本公开实施例提供的可执行算子替换的结构示意图。
如图2所示,虚框中的部分为基于预设代码将中央处理器可执行算子替换成数据处理器可执行算子的过程。
示例性地,目标语句可以是“select name from table1 where age>18”,将目标语句输入目标分析器中,目标分析器对目标语句进行解析,解析成扫描算子“scan”、过滤算子“filter”、投影算子“project”,其中扫描算子“scan”用于对table1进行扫描,过滤算子“filter”用于对table1中的age>18的信息进行过滤,投影算子“project”用于对从过滤后的age>18的信息中筛选name,进一步地,对扫描算子“scan”、过滤算子“filter”、投影算子“project”进行解析,解析成扫描可执行算子“scanExec”、过滤可执行算子“filterExec”、投影可执行算子“projectExec”在中央处理器上进行具体的执行,但是为了减轻中央处理器的计算压力,通过预设代码进行可执行算子替换,将扫描可执行算子“scanExec”、过滤可执行算子“filterExec”、投影可执行算子“projectExec”分别替换成数据处理器扫描可执行算子“DPUscanExec”、数据处理器过滤可执行算子“DPUfilterExec”、数据处理器投影可执行算子“DPUprojectExec”,使得扫描可执行算子“DPUscanExec”、数据处理器过滤可执行算子“DPUfilterExec”、数据处理器投影可执行算子“DPUprojectExec”在基于核处理器架构的数据处理器上执行。
S140、在基于核处理器架构的数据处理器上对数据处理器可执行算子进行计算,将计算结果返回至中央处理器。
在本公开实施例中,电子设备在得到数据处理器可执行算子之后,在基于核处理器架构的数据处理器上对数据处理器可执行算子进行计算,将计算结果返回至中央处理器。
具体地,电子设备在得到数据处理器可执行算子之后,将执行数据处理器可执行算子计算的数据从中央处理器上传至基于核处理器架构的数据处理器上,基于核处理器架构的数据处理器对数据处理器可执行算子进行计算,在计算完成后将计算结果返回至中央处理器。
在本公开实施例中,能够获取目标语句,目标语句为结构化查询语句,将目标语句在中央处理器上进行处理得到与目标语句对应的至少一个中央处理器可执行算子,针对至少一个中央处理器可执行算子中的每一个中央处理器可执行算子,基于预设代码将中央处理器可执行算子替换成数据处理器可执行算子,数据处理器可执行算子用于在基于核处理器架构的数据处理器上执行,在基于核处理器架构的数据处理器上对数据处理器可执行算子进行计算,将计算结果返回至中央处理器,由此,能够将原本由中央处理器进行计算的中央处理器可执行算子替换成数据处理器可执行算子,进而由基于核处理器架构的数据处理器来执行数据处理器可执行算子的计算,减轻了中央处理器的计算压力,同时提升了可执行算子的计算速率。
在本公开上述实施例的基础上,S120中将目标语句在中央处理器上进行处理得到与目标语句对应的至少一个中央处理器可执行算子可以具体包括:将目标语句输入至目标分析器中,使得目标分析器对目标语句进行解析处理,得到与目标语句对应的至少一个中央处理器可执行算子。
在本公开实施例中,目标分析器是用于将目标语句转化为与目标语句对应的可执行算子的分析器,比如可以是spark的语义分析器、语法分析器等。
具体地,电子设备在得到目标语句之后,将目标语句输入至目标分析器中,使得目标分析器对目标语句进行解析处理,得到解析处理后的逻辑计划树,同时对解析处理后的逻辑计划树进行优化处理,得到物理计划树,进一步对物理计划树进行解析得到可执行物理计划树,并将可执行物理计划树输出,其中,可执行物理计划树上的每一个节点即为一个中央处理器可执行算子,进而得到与目标语句对应的至少一个中央处理器可执行算子。
在本公开实施例中,电子设备可以通过目标分析器对目标语句进行解析处理,进而得到与目标语句对应的至少一个中央处理器可执行算子,由此,得到的至少一个中央处理器可执行算子简洁准确。
在本公开实施例中,在S130中在基于预设代码将所述中央处理器可执行算子替换成数据处理器可执行算子之后,该算子计算方法还可以包括:将执行数据处理器可执行算子所对应的数据从主机内存上传至数据处理器内存中,使得基于核处理器架构的数据处理器根据数据处理器可执行算子所对应的数据对数据处理器可执行算子进行计算。
在本公开实施例中,执行数据处理器可执行算子所对应的数据均预先存储于主机内存中,为了使得基于核处理器架构的数据处理器对数据处理器可执行算子进行计算,需要将执行数据处理器可执行算子所对应的数据从主机内存上传至数据处理器内存中。
进一步地,将执行数据处理器可执行算子所对应的数据从主机内存上传至数据处理器内存中可以具体包括:对数据处理器可执行算子所对应的数据进行分批处理,得到多组目标数据;将多组目标数据依次从主机内存上传至数据处理器内存中。
在本公开实施例中,由于一般情况下数据处理器内存要小于主机内存,在将执行数据处理器可执行算子所对应的数据从主机内存上传至数据处理器内存时,首先对数据处理器可执行算子所对应的数据进行分批处理,得到多组目标数据,将多组数据按照先后顺序依次从主机内存上传至数据处理器内存中,由此,可以最大程度地利用数据处理器内存空间,提高数据处理器可执行算子的计算速率。
在本公开上述实施例的基础上,将多组目标数据依次从所述主机内存上传至所述数据处理器内存中可以具体包括:将多组目标数据中的部分目标数据上传至数据处理器内存中,以使基于核处理器架构的数据处理器根据部分目标数据对数据处理器可执行算子进行计算,得到第一计算结果;将第一计算结果返回至中央处理器,同时对部分目标数据进行清除,再将多组目标数据中的其余目标数据上传至数据处理器内存中,以使基于核处理器架构的数据处理器根据其余目标数据对数据处理器可执行算子进行计算,得到第二计算结果。
可选地,多组目标数据中的部分目标数据可以是多组目标数据中的至少一组,其中,部分目标数据可以根据数据处理器内存的大小进行确定。
其余目标数据可以是多组目标数据中剩余的目标数据中的至少一组。
具体地,电子设备根据数据处理器内存的大小先从多组目标数据中选择部分目标数据上传至数据处理器内存中,以使基于核处理器架构的数据处理器根据部分目标数据对数据处理器可执行算子进行计算,进而得到第一计算结果,在得到第一计算结果后,将部分目标数据从数据处理器内存中清除,同时将第一计算结果返回至中央处理器,即将数据处理器内存进行清空处理,然后继续从剩余的多组目标数据中选择部分目标数据上传至数据处理器内存中,使基于核处理器架构的数据处理器对数据处理器可执行算子进行计算,以此类推,直至基于核处理器架构的数据处理器根据多组目标数据中的所有目标数据对数据处理器可执行算子进行计算为止,在基于核处理器架构的数据处理器将全部计算结果返回至中央处理器后,中央处理器对全部计算结果进行汇总,进而得到最终的计算结果。
在本公开实施例中,电子设备可以将多组目标数据分批上传至数据处理器内存,使得基于核处理器架构的数据处理器对数据处理器可执行算子进行计算,进一步提高了算子计算速率。
在本公开实施例中,在将计算结果返回至中央处理器之后,该算子计算方法还可以包括:将计算结果进行按照预设规则进行格式转化。
具体地,基于核处理器架构的数据处理器对数据处理器可执行算子进行计算得到的计算结果为列式的,而中央处理器所识别的计算结果为行式的,因此,电子设备在基于核处理器架构的数据处理器将计算结果返回至中央处理器之后,中央处理器要将计算结果按照预设规则将计算结果由列式转换为行式,以便进一步识别和显示。
图3是本公开实施例提供的一种基于核处理器架构的数据处理器执行算子计算的结构示意图。
如图3所示,白色部分为中央处理器的处理过程,通过预设代码将由中央处理器执行的可执行算子替换成数据处理器可执行算子,由基于核处理器架构的数据处理器来执行数据处理器可执行算子,在计算完成后得到计算结果即弹性分布式数据集(列式)也称为RDD(Columnar Batch),将RDD(Columnar Batch)返回至中央处理器,中央处理器将RDD(Columnar Batch)转换成弹性分布式数据集(行式)也称为RDD(Internal Row)。
图4是本公开实施例提供的另一种算子计算方法的流程图。
如图4所示,该算子计算方法可以具体包括如下步骤。
S410、获取目标语句。
S420、将目标语句输入至目标分析器中,使得目标分析器对目标语句进行解析处理,得到与目标语句对应的至少一个中央处理器可执行算子。
S430、针对至少一个中央处理器可执行算子中的每一个中央处理器可执行算子,基于预设代码将中央处理器可执行算子替换成数据处理器可执行算子,数据处理器可执行算子用于在基于核处理器架构的数据处理器上执行。
S440、将执行数据处理器可执行算子所对应的数据从主机内存上传至数据处理器内存中,使得基于核处理器架构的数据处理器根据数据处理器可执行算子所对应的数据对数据处理器可执行算子进行计算。
S450、在基于核处理器架构的数据处理器上对数据处理器可执行算子进行计算,将计算结果返回至中央处理器。
S460、将计算结果进行按照预设规则进行格式转化。
需要说明的是,S410-S460与本公开上述实施例中的具体实施方式类似,在此不做赘述。
在本公开实施例中,能够获取目标语句,将目标语句输入至目标分析器中,使得目标分析器对目标语句进行解析处理,得到与目标语句对应的至少一个中央处理器可执行算子,进而基于预设代码将中央处理器可执行算子替换成数据处理器可执行算子,并将执行数据处理器可执行算子所对应的数据从主机内存上传至数据处理器内存中,基于核处理器架构的数据处理器根据数据处理器可执行算子所对应的数据对数据处理器可执行算子进行计算,得到计算结果,进而将计算结果从基于核处理器架构的数据处理器返回至中央处理器,由此,将原本由中央处理器进行计算的可执行算子交由基于核处理器架构的数据处理器来执行,减轻了中央处理器的计算压力,提升了可执行算子的计算速率的同时,提高了算子计算的准确性。
图5是本公开实施例提供的一种算子计算装置的结构示意图。
在本公开实施例中,该算子计算装置可以设置于电子设备内,被理解为上述电子设备中的部分功能模块。具体地,电子设备可以为服务器或终端,其中,终端具体可以包括手机、电脑或平板电脑等,在此不作限制。
如图5所示,该算子计算装置500可以包括语句获取模块510、语句处理模块520、算子替换模块530和算子计算模块540。
该语句获取模块510可以用于获取目标语句,目标语句为结构化查询语句。
该语句处理模块520可以用于将目标语句在中央处理器上进行处理得到与目标语句对应的至少一个中央处理器可执行算子。
该算子替换模块530可以用于针对至少一个中央处理器可执行算子中的每一个中央处理器可执行算子,基于预设代码将中央处理器可执行算子替换成数据处理器可执行算子,数据处理器可执行算子用于在基于核处理器架构的数据处理器上执行。
该算子计算模块540可以用于在基于核处理器架构的数据处理器上对数据处理器可执行算子进行计算,将计算结果返回至中央处理器。
在本公开实施例中,能够获取目标语句,目标语句为结构化查询语句,将目标语句在中央处理器上进行处理得到与目标语句对应的至少一个中央处理器可执行算子,针对至少一个中央处理器可执行算子中的每一个中央处理器可执行算子,基于预设代码将中央处理器可执行算子替换成数据处理器可执行算子,数据处理器可执行算子用于在基于核处理器架构的数据处理器上执行,在基于核处理器架构的数据处理器上对数据处理器可执行算子进行计算,将计算结果返回至中央处理器,由此,能够将原本由中央处理器进行计算的中央处理器可执行算子替换成数据处理器可执行算子,进而由基于核处理器架构的数据处理器来执行数据处理器可执行算子的计算,减轻了中央处理器的计算压力,同时提升了可执行算子的计算速率。
在本公开一些实施例中,语句处理模块520可以具体用于将目标语句输入至目标分析器中,使得目标分析器对目标语句进行解析处理,得到与目标语句对应的至少一个中央处理器可执行算子。
在本公开一些实施例中,该算子计算装置500还可以包括数据上传模块550。
该数据上传模块550可以用于将执行数据处理器可执行算子所对应的数据从主机内存上传至数据处理器内存中,使得基于核处理器架构的数据处理器根据数据处理器可执行算子所对应的数据对数据处理器可执行算子进行计算。
在本公开一些实施例中,数据上传模块550可以包括数据分批单元5501和数据上传单元5502。
该数据分批单元5501可以用于对数据处理器可执行算子所对应的数据进行分批处理,得到多组目标数据。
该数据上传单元5502可以用于将多组目标数据依次从主机内存上传至数据处理器内存中。
在本公开一些实施例中,数据上传单元5502可以包括第一上传子单元和第二上传子单元。
该第一上传子单元可以用于将多组目标数据中的部分目标数据上传至数据处理器内存中,以使基于核处理器架构的数据处理器根据部分目标数据对数据处理器可执行算子进行计算,得到第一计算结果。
该第二上传子单元可以用于将第一计算结果返回至中央处理器,同时对部分目标数据进行清除,再将多组目标数据中的其余目标数据上传至数据处理器内存中,以使基于核处理器架构的数据处理器根据其余目标数据对数据处理器可执行算子进行计算,得到第二计算结果。
在本公开一些实施例中,该算子计算装置500还可以包括格式转化模块560。
该格式转化模块560可以用于将计算结果进行按照预设规则进行格式转化。
需要说明的是,图5所示的算子计算装置500可以执行上述方法实施例中的各个步骤,并且实现上述方法实施例中的各个过程和效果,在此不做赘述。
图6是本公开实施例提供的一种电子设备的结构示意图。
在本公开实施例中,图6所示的电子设备可以为服务器或终端,其中,终端具体可以包括手机、电脑或平板电脑等,在此不作限制。
如图6所示,该电子设备可以包括处理器610以及存储有计算机程序指令的存储器620。
具体地,上述处理器610可以包括中央处理器(中央处理器),或者特定集成电路(Application Specific Integrated Circuit,ASIC),或者可以被配置成实施本公开实施例的一个或多个集成电路。
存储器620可以包括用于信息或指令的大容量存储器。举例来说而非限制,存储器620可以包括硬盘驱动器(Hard Disk Drive,HDD)、软盘驱动器、闪存、光盘、磁光盘、磁带或通用串行总线(Universal Serial Bus,USB)驱动器或者两个及其以上这些的组合。在合适的情况下,存储器620可包括可移除或不可移除(或固定)的介质。在合适的情况下,存储器620可在综合网关设备的内部或外部。在特定实施例中,存储器620是非易失性固态存储器。在特定实施例中,存储器620包括只读存储器(Read-Only Memory,ROM)。在合适的情况下,该ROM可以是掩模编程的ROM、可编程ROM(Programmable ROM,PROM)、可擦除PROM(Electrical Programmable ROM,EPROM)、电可擦除PROM(Electrically ErasableProgrammable ROM,EEPROM)、电可改写ROM(Electrically Alterable ROM,EAROM)或闪存,或者两个或及其以上这些的组合。
处理器610通过读取并执行存储器620中存储的计算机程序指令,以执行本公开实施例所提供的算子计算方法的步骤。
在一个示例中,该电子设备还可以包括收发器630和总线640。其中,如图6所示,处理器610、存储器620和收发器630通过总线640连接并完成相互间的通信。
总线640包括硬件、软件或两者。举例来说而非限制,总线可包括加速图形端口(Accelerated Graphics Port,AGP)或其他图形总线、增强工业标准架构(ExtendedIndustry Standard Architecture,EISA)总线、前端总线(Front Side BUS,FSB)、超传输(Hyper Transport,HT)互连、工业标准架构(Industrial Standard Architecture,ISA)总线、无限带宽互连、低引脚数(Low Pin Count,LPC)总线、存储器总线、微信道架构(MicroChannel Architecture,MCA)总线、***控件互连(Peripheral Component Interconnect,PCI)总线、PCI-Express(PCI-X)总线、串行高级技术附件(Serial Advanced TechnologyAttachment,SATA)总线、视频电子标准协会局部(Video Electronics StandardsAssociation Local Bus,VLB)总线或其他合适的总线或者两个或更多个以上这些的组合。在合适的情况下,总线640可包括一个或多个总线。
本公开实施例还提供了一种计算机可读存储介质,该存储介质可以存储有计算机程序,当计算机程序被处理器执行时,使得处理器实现本公开实施例所提供的算子计算方法。
上述的存储介质可以例如包括计算机程序指令的存储器620,上述指令可由电子设备的处理器610执行以完成本公开实施例所提供的算子计算方法。可选地,存储介质可以是非临时性计算机可读存储介质,例如,非临时性计算机可读存储介质可以是ROM、随机存取存储器(Random Access Memory,RAM)、光盘只读存储器(Compact Disc ROM,CD-ROM)、磁带、软盘和光数据存储设备等。
以上所述仅是本公开的具体实施方式,使本领域技术人员能够理解或实现本公开。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本公开的精神或范围的情况下,在其它实施例中实现。因此,本公开将不会被限制于本文所述的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (10)
1.一种算子计算方法,其特征在于,包括:
获取目标语句,所述目标语句为结构化查询语句;
将所述目标语句在中央处理器上进行处理得到与所述目标语句对应的至少一个中央处理器可执行算子;
针对所述至少一个中央处理器可执行算子中的每一个中央处理器可执行算子,基于预设代码将所述中央处理器可执行算子替换成数据处理器可执行算子,所述数据处理器可执行算子用于在基于核处理器架构的数据处理器上执行;
在所述基于核处理器架构的数据处理器上对所述数据处理器可执行算子进行计算,将计算结果返回至所述中央处理器。
2.根据权利要求1所述的方法,其特征在于,所述将所述目标语句在中央处理器上进行处理得到与所述目标语句对应的至少一个中央处理器可执行算子,包括:
将所述目标语句输入至目标分析器中,使得所述目标分析器对所述目标语句进行解析处理,得到与所述目标语句对应的至少一个中央处理器可执行算子。
3.根据权利要求1所述的方法,其特征在于,在所述基于预设代码将所述中央处理器可执行算子替换成数据处理器可执行算子之后,所述方法还包括:
将执行所述数据处理器可执行算子所对应的数据从主机内存上传至所述数据处理器内存中,使得所述基于核处理器架构的数据处理器根据所述数据处理器可执行算子所对应的数据对所述数据处理器可执行算子进行计算。
4.根据权利要求3所述的方法,其特征在于,所述将执行所述数据处理器可执行算子所对应的数据从主机内存上传至所述数据处理器内存中,包括:
对所述数据处理器可执行算子所对应的数据进行分批处理,得到多组目标数据;
将所述多组目标数据依次从所述主机内存上传至所述数据处理器内存中。
5.根据权利要求4所述的方法,其特征在于,所述将所述多组目标数据依次从所述主机内存上传至所述数据处理器内存中,包括:
将所述多组目标数据中的部分目标数据上传至所述数据处理器内存中,以使所述基于核处理器架构的数据处理器根据所述部分目标数据对所述数据处理器可执行算子进行计算,得到第一计算结果;
将所述第一计算结果返回至所述中央处理器,同时对所述部分目标数据进行清除,再将所述多组目标数据中的其余目标数据上传至所述数据处理器内存中,以使所述基于核处理器架构的数据处理器根据所述其余目标数据对所述数据处理器可执行算子进行计算,得到第二计算结果。
6.根据权利要求1所述的方法,其特征在于,在所述将计算结果返回至所述中央处理器之后,所述方法还包括:
将所述计算结果进行按照预设规则进行格式转化。
7.一种算子计算装置,其特征在于,包括:
语句获取模块,用于获取目标语句,所述目标语句为结构化查询语句;
语句处理模块,用于将所述目标语句在中央处理器上进行处理得到与所述目标语句对应的至少一个中央处理器可执行算子;
算子替换模块,用于针对所述至少一个中央处理器可执行算子中的每一个中央处理器可执行算子,基于预设代码将所述中央处理器可执行算子替换成数据处理器可执行算子,所述数据处理器可执行算子用于在基于核处理器架构的数据处理器上执行;
算子计算模块,用于在所述基于核处理器架构的数据处理器上对所述数据处理器可执行算子进行计算,将计算结果返回至所述中央处理器。
8.根据权利要求7所述的装置,其特征在于,所述语句处理模块具体用于将所述目标语句输入至目标分析器中,对所述目标语句进行解析处理,得到与所述目标语句对应的至少一个中央处理器可执行算子。
9.一种电子设备,其特征在于,包括:
处理器;
存储器,用于存储可执行指令;
其中,所述处理器用于从所述存储器中读取所述可执行指令,并执行所述可执行指令以实现上述权利要求1-6中任一项所述的算子计算方法。
10.一种计算机可读存储介质,其特征在于,所述存储介质存储有计算机程序,当所述计算机程序被处理器执行时,使得处理器实现上述权利要求1-6中任一项所述的算子计算方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310029566.6A CN116149856A (zh) | 2023-01-09 | 2023-01-09 | 算子计算方法、装置、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310029566.6A CN116149856A (zh) | 2023-01-09 | 2023-01-09 | 算子计算方法、装置、设备及介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116149856A true CN116149856A (zh) | 2023-05-23 |
Family
ID=86359440
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310029566.6A Pending CN116149856A (zh) | 2023-01-09 | 2023-01-09 | 算子计算方法、装置、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116149856A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116974770A (zh) * | 2023-08-31 | 2023-10-31 | 中科驭数(北京)科技有限公司 | 算子计算方法、装置、设备及介质 |
CN117370020A (zh) * | 2023-10-18 | 2024-01-09 | 中科驭数(北京)科技有限公司 | 基于dpu的存算分离架构下数据处理方法、***及存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20200151020A1 (en) * | 2018-11-13 | 2020-05-14 | Western Digital Technologies, Inc. | Decentralized data processing architecture |
CN113821311A (zh) * | 2020-06-19 | 2021-12-21 | 华为技术有限公司 | 任务执行方法及存储设备 |
CN114186678A (zh) * | 2021-12-10 | 2022-03-15 | 北京百度网讯科技有限公司 | 基于深度学习的硬件适配装置和方法 |
CN114756730A (zh) * | 2020-12-29 | 2022-07-15 | 华为技术有限公司 | 一种使用网络设备进行数据查询的***、方法、及装置 |
CN114880346A (zh) * | 2022-04-22 | 2022-08-09 | 苏州浪潮智能科技有限公司 | 一种数据处理方法及相关组件、加速处理器 |
US20230004563A1 (en) * | 2021-06-30 | 2023-01-05 | Huawei Technologies Co., Ltd. | Method and system for providing a context-sensitive, non-intrusive data processing optimization framework |
-
2023
- 2023-01-09 CN CN202310029566.6A patent/CN116149856A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20200151020A1 (en) * | 2018-11-13 | 2020-05-14 | Western Digital Technologies, Inc. | Decentralized data processing architecture |
CN113821311A (zh) * | 2020-06-19 | 2021-12-21 | 华为技术有限公司 | 任务执行方法及存储设备 |
CN114756730A (zh) * | 2020-12-29 | 2022-07-15 | 华为技术有限公司 | 一种使用网络设备进行数据查询的***、方法、及装置 |
US20230004563A1 (en) * | 2021-06-30 | 2023-01-05 | Huawei Technologies Co., Ltd. | Method and system for providing a context-sensitive, non-intrusive data processing optimization framework |
CN114186678A (zh) * | 2021-12-10 | 2022-03-15 | 北京百度网讯科技有限公司 | 基于深度学习的硬件适配装置和方法 |
CN114880346A (zh) * | 2022-04-22 | 2022-08-09 | 苏州浪潮智能科技有限公司 | 一种数据处理方法及相关组件、加速处理器 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116974770A (zh) * | 2023-08-31 | 2023-10-31 | 中科驭数(北京)科技有限公司 | 算子计算方法、装置、设备及介质 |
CN117370020A (zh) * | 2023-10-18 | 2024-01-09 | 中科驭数(北京)科技有限公司 | 基于dpu的存算分离架构下数据处理方法、***及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111522816B (zh) | 基于数据库引擎的数据处理方法、装置、终端及介质 | |
CN116149856A (zh) | 算子计算方法、装置、设备及介质 | |
CN108182215B (zh) | 一种结构化查询语言sql性能统计的方法及装置 | |
CN110795455B (zh) | 依赖关系解析方法、电子装置、计算机设备及可读存储介质 | |
CN111400338B (zh) | Sql优化方法、装置、存储介质及计算机设备 | |
CN110502227B (zh) | 代码补全的方法及装置、存储介质、电子设备 | |
KR20190060725A (ko) | Sql 검토 방법, 장치, 서버 및 저장 매체 | |
CN110334209B (zh) | 文本分类方法、装置、介质及电子设备 | |
CN108710662B (zh) | 语言转换方法和装置、存储介质、数据查询***和方法 | |
CN110688544A (zh) | 一种查询数据库的方法、设备及存储介质 | |
CN109871251B (zh) | 一种响应数据的处理方法、装置、存储介质及终端设备 | |
CN112511546A (zh) | 基于日志分析的漏洞扫描方法、装置、设备和存储介质 | |
CN110597844A (zh) | 异构数据库数据统一访问方法及相关设备 | |
CN115934756A (zh) | 混编算子计算方法、装置、设备及介质 | |
CN111427784A (zh) | 一种数据获取方法、装置、设备及存储介质 | |
CN108008947B (zh) | 一种编程语句的智能提示方法、装置、服务器及存储介质 | |
CN112667664A (zh) | 数据库间语句转换方法、装置、终端设备及介质 | |
CN112182637A (zh) | 一种安全控制***、方法、装置及存储介质 | |
CN113553309A (zh) | 一种日志模板的确定方法、装置、电子设备及存储介质 | |
CN117171030A (zh) | 软件运行环境检测方法、装置、设备及存储介质 | |
CN110716949A (zh) | 结构化查询语句自动优化方法、装置、介质及电子设备 | |
CN113010539A (zh) | 一种数据处理方法及装置 | |
CN113821496B (zh) | 数据库迁移方法、***、设备及计算机可读存储介质 | |
CN110674839B (zh) | 异常用户识别方法、装置、存储介质及电子设备 | |
CN110852077B (zh) | 动态调整Word2Vec模型词典的方法、装置、介质及电子设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |