CN112650590B - 任务的处理方法、装置及系统、分配方法和装置 - Google Patents
任务的处理方法、装置及系统、分配方法和装置 Download PDFInfo
- Publication number
- CN112650590B CN112650590B CN202011591303.7A CN202011591303A CN112650590B CN 112650590 B CN112650590 B CN 112650590B CN 202011591303 A CN202011591303 A CN 202011591303A CN 112650590 B CN112650590 B CN 112650590B
- Authority
- CN
- China
- Prior art keywords
- calculation
- task
- subtasks
- data
- data processor
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 57
- 238000003672 processing method Methods 0.000 title claims abstract description 22
- 238000012360 testing method Methods 0.000 claims abstract description 102
- 238000012545 processing Methods 0.000 claims abstract description 97
- 230000011218 segmentation Effects 0.000 claims abstract description 46
- 238000001514 detection method Methods 0.000 claims abstract description 31
- 238000004364 calculation method Methods 0.000 claims description 181
- 238000004590 computer program Methods 0.000 claims description 4
- 239000000758 substrate Substances 0.000 claims 1
- 238000005516 engineering process Methods 0.000 abstract description 5
- 238000013135 deep learning Methods 0.000 description 12
- 230000008569 process Effects 0.000 description 8
- 238000013473 artificial intelligence Methods 0.000 description 7
- 230000005540 biological transmission Effects 0.000 description 6
- 238000013136 deep learning model Methods 0.000 description 6
- 238000011161 development Methods 0.000 description 6
- 230000018109 developmental process Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 6
- 238000005192 partition Methods 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 3
- 238000012549 training Methods 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 230000008878 coupling Effects 0.000 description 2
- 238000010168 coupling process Methods 0.000 description 2
- 238000005859 coupling reaction Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000012805 post-processing Methods 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000013499 data model Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 230000035800 maturation Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012821 model calculation Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/10—Interfaces, programming languages or software development kits, e.g. for simulating neural networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/5017—Task decomposition
-
- 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)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Mathematical Physics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本申请公开了一种任务的处理方法、装置及系统、分配方法和装置。其中,该分配方法包括:通过多个算力分割方案,对各数据处理器的算力性能进行检测,得到多个检测结果,算力分割方案用于按照数据处理器的数量对算力测试任务进行分割;基于多个检测结果,确认母任务的目标分割方案,以将母任务分割成多个子任务,子任务的数量与数据处理器的数量相匹配;向数据处理器分配对应的子任务,以使各个数据处理器分别执行对应的子任务。本申请解决了相关技术中推理任务对处理器资源的消耗较大的技术问题。
Description
技术领域
本申请涉及互联网领域,具体而言,涉及一种任务的处理方法、装置及系统、分配方法和装置。
背景技术
随着人工智能(Artificial Intelligence,AI)科学技术的发展及成熟,AI技术已经无处不在的渗透到现代的各个应用场景中。国家目前已将人工智能发展定位为国家发展战略,极力的促进了中国人工智能的发展。
人工智能对于计算处理能力要求较高,而Intel传统服务器的处理器已经无法满足对于计算能力要求较高及准确率极高的要求,此时英伟达推出了用于人工智能领域的GPU处理器,这极大的节约了各个涉及人工智能领域公司的投入成本,保证了各个公司可以使用最低廉的价格达到最大化的收益。因为GPU服务器的发展已经成为了一种新的技术方向及趋势。
GPU(Graphic Processing Unit,图形处理器),可以用于执行复杂的数学和几何计算,常用于图像处理、机器学习算法训练等。GPU的价格一般比较昂贵,所以目前的AI对GPU资源的消耗过大,造成了成本较高。
针对上述的问题,目前尚未提出有效的解决方案。
发明内容
本申请实施例提供了一种任务的处理方法、装置及系统、分配方法和装置,以至少解决相关技术中推理任务对处理器资源的消耗较大的技术问题。
根据本申请实施例的一个方面,提供了一种任务的处理系统,包括:任务分配终端,通过多个算力分割方案,检测各数据处理器的算力性能,并基于检测结果确认母任务的目标分割方案,以将母任务分割成多个子任务,分别向各数据处理器分配对应的子任务;第一数据处理器,接收并执行任务分配终端分配的子任务,输出执行对应的子任务得到的结果;第二数据处理器,接收并执行任务分配终端分配的子任务,输出执行对应的子任务得到的结果。
根据本申请实施例的另一方面,还提供了一种任务的分配方法,包括:通过多个算力分割方案,对各数据处理器的算力性能进行检测,得到多个检测结果,算力分割方案用于按照数据处理器的数量对算力测试任务进行分割;基于多个检测结果,确认母任务的目标分割方案,以将母任务分割成多个子任务,子任务的数量与数据处理器的数量相匹配;向数据处理器分配对应的子任务,以使各个数据处理器分别执行对应的子任务。
根据本申请实施例的另一方面,还提供了一种任务的处理方法,包括:获取第一子任务,第一子任务为基于上述的分配方法进行处理得到的与第一数据处理器对应的子任务;执行第一子任务,得到处理结果。
根据本申请实施例的另一方面,还提供了一种任务的处理方法,包括:获取第二子任务,第二子任务为基于上述的分配方法进行处理得到的与第二数据处理器对应的子任务;执行第二子任务,得到处理结果。
根据本申请实施例的另一方面,还提供了一种任务的分配装置,包括:检测单元,用于通过多个算力分割方案,对各数据处理器的算力性能进行检测,得到多个检测结果,算力分割方案用于按照数据处理器的数量对算力测试任务进行分割;分割单元,用于基于多个检测结果,确认母任务的目标分割方案,以将母任务分割成多个子任务,子任务的数量与数据处理器的数量相匹配;分配单元,用于向数据处理器分配对应的子任务,以使各个数据处理器分别执行对应的子任务。
根据本申请实施例的另一方面,还提供了一种任务的处理装置,包括:第一获取单元,用于获取第一子任务,第一子任务为基于上述的分配方法进行处理得到的与第一数据处理器对应的子任务;第一执行单元,用于执行第一子任务,得到处理结果。
根据本申请实施例的另一方面,还提供了一种任务的处理装置,包括:第二获取单元,用于获取第二子任务,第二子任务为基于上述的分配方法进行处理得到的与第二数据处理器对应的子任务;第二执行单元,用于执行第二子任务,得到处理结果。
根据本申请实施例的另一方面,还提供了一种存储介质,该存储介质包括存储的程序,程序运行时执行上述的方法。
根据本申请实施例的另一方面,还提供了一种电子装置,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器通过计算机程序执行上述的方法。
本申请实施例中,考虑了深度学习推理服务云端部署在专用处理器(如GPU)平台上时其它处理器(如通用处理器CPU)的利用率低,而推理吞吐率取决于模型在专用处理器上的运行时间(也即通用处理器算力没有充分利用,深度学习模型计算全部分配到专用处理器上运行),本方案基于专用处理器平台的异构特性,将深度学习计算的任务均衡地分配给通用处理器和专用处理器(即第一数据处理器和第二数据处理器),可以解决相关技术中推理任务对处理器资源的消耗较大的技术问题,最大化的利用了平台的通用处理器和专用处理器资源,实现计算流水线的高效运行。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1是根据本申请实施例的任务的处理方法的硬件环境的示意图;
图2是根据本申请实施例的一种可选的任务的分配方法的流程图;
图3是根据本申请实施例的一种可选的计算图的示意图;
图4是根据本申请实施例的一种可选的计算图的示意图;
图5是根据本申请实施例的一种可选的任务的处理方法的流程图;
图6是根据本申请实施例的一种可选的任务的处理方法的流程图;
图7是根据本申请实施例的一种可选的子图推理流水线的示意图;
图8是根据本申请实施例的一种可选的任务的分配装置的示意图;
图9是根据本申请实施例的一种终端的结构框图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
首先,在对本申请实施例进行描述的过程中出现的部分名词或者术语适用于如下解释:
云系统:是采用HFP及HDRDP等技术在局域网架构下实现云计算使用效果的新一代通用计算机系统产品,云计算操作系统,又称云计算中心操作系统、云OS,(英文简称:cloudsystem)是云计算后台数据中心的整体管理运营系统(也有人认为云计算系统包括云终端操作系统,例如现在流行的各类手机操作系统,这与现行的单机操作系统区别不大,在此不做讨论),它是指构架于服务器、存储、网络等基础硬件资源和单机操作系统、中间件、数据库等基础软件管理海量的基础硬件、软资源之上的云平台综合管理系统。
中央处理器(CPU,central processing unit)作为计算机系统的运算和控制核心,是信息处理、程序运行的最终执行单元。CPU自产生以来,在逻辑结构、运行效率以及功能外延上取得了巨大发展。
VPU(Video Processing Unit,视频处理单元)是一种全新的视频处理平台核心引擎,具有硬解码功能以及减少CPU负荷的能力。另外,VPU可以减少服务器负载和网络带宽的消耗。图形处理单元又包括视频处理单元、外视频模块和后处理模块这三个主要模块。
GPU(Graphics Processing Unit,图形处理器),又称显示核心、视觉处理器、显示芯片,是一种专门在个人电脑、工作站、游戏机和一些移动设备(如平板电脑、智能手机等)上做图像和图形相关运算工作的微处理器。
图(graph):是用于表示对象之间关联关系的一种抽象数据结构,使用顶点(vertex)和边(edge)进行描述,顶点表示对象,边表示对象之间的关系,可抽象成用图描述的数据即为图数据,图计算是以图作为数据模型来表达问题并予以解决的这一过程。
根据本申请实施例的一方面,提供了一种任务的处理方法的方法实施例。
可选地,在本实施例中,上述任务的处理方法可以应用于如图1所示的由任务分配终端101和至少一台服务器103所构成的硬件系统中,如图1所示,服务器103通过网络或者总线与终端101进行连接,可用于为终端或终端上安装的客户端提供服务(如数据运算等),可在服务器上或独立于服务器设置数据库105,用于为服务器提供数据存储服务(如保存待处理的数据),上述网络包括但不限于:广域网、城域网或局域网,终端101并不限定于PC、手机、平板电脑等。
上述任务分配终端101和服务器103可以为不同的设备,换言之,任务分配和任务处理是由不同的设备处理的,后续以二者为不同的设备为例进行描述;上述任务分配终端101和服务器103也可以为相同的设备,换言之,任务分配和任务处理是由相同的设备处理的,例如可以均有服务器完成。
服务器上设有多个类型的数据处理器,如CPU和GPU、CPU和VPU等,任务分配终端,通过多个算力分割方案,检测各数据处理器的算力性能,并基于检测结果确认母任务的目标分割方案,以将母任务分割成多个子任务,分别向各数据处理器分配对应的子任务,服务器上的第一数据处理器接收并执行任务分配终端分配的子任务,输出执行对应的子任务得到的结果;服务器上的第二数据处理器接收并执行任务分配终端分配的子任务,输出执行对应的子任务得到的结果。
本申请实施例的方法可以由任务分配终端101来执行,图2是根据本申请实施例的一种可选的任务的分配方法的流程图,如图2所示,该方法可以包括以下步骤:
步骤S202,任务分配终端通过多个算力分割方案,对各数据处理器的算力性能进行检测,得到多个检测结果,算力分割方案用于按照数据处理器的数量对算力测试任务进行分割。
上述处理器包括第一数据处理器和第二数据处理器,第一数据处理器可为通用型处理器,如为CPU,第二数据处理器为专用于执行推理任务的处理器,如为GPU、VPU等。
步骤S204,任务分配终端基于多个检测结果,确认母任务的目标分割方案,以将母任务分割成多个子任务,所述子任务的数量与数据处理器的数量相匹配。
算力测试任务和以上母任务为相同类型的任务,如对于深度学习推理服务、深度学习训练服务等服务,一般是部署在云端平台上,此时的推理任务可以为模型的训练任务、模型的识别任务、模型的学习推理任务等,后续以推理任务为例进行说明,如对图数据进行处理,在数学中,图是描述于一组对象的结构,其中某些对象对在某种意义上是“相关的”,这些对象对应于称为顶点的数学抽象(也称为节点或点),并且每个相关的顶点对都称为边(也称为链接或线),通常,图形以图解形式描绘为顶点的一组点或环,并通过边的线或曲线连接。图形是离散数学的研究对象之一。
步骤S206,向所述数据处理器分配对应的子任务,以使各个所述数据处理器分别执行对应的子任务。
当前深度学习服务计算中,通用型处理器(后续以CPU为例进行说明)主要用作深度学习服务的入口,负责一些IO、数据预处理、数据后处理的工作,目前的深度学习模型计算都分配到专用处理器(后续以GPU为例进行说明)上运行,造成了对专用处理器的消耗过大。
为了进一步提升平台的深度学习推理吞吐率,降低云端部署的成本,在本申请的方案中,考虑了深度学习推理服务云端部署在专用处理器(如GPU)平台上时其它处理器(如通用处理器CPU)的利用率低,而推理吞吐率取决于模型在专用处理器上的运行时间(也即通用处理器算力没有充分利用,深度学习模型计算全部分配到专用处理器上运行),本方案基于专用处理器平台的异构特性,将深度学习计算的任务均衡地分配给通用处理器和专用处理器(即第一数据处理器和第二数据处理器),可以解决相关技术中推理任务对处理器资源的消耗较大的技术问题,最大化的利用了平台的通用处理器和专用处理器资源,实现计算流水线的高效运行。下文结合详细步骤进一步详述本申请的技术方案。
步骤1,可以采用计算图的形式表示算力测试任务,对于每个算力分割方案,将算力测试任务分割为多个算力测试子任务,所述算力测试子任务的数量与数据处理器的数量相匹配(也即有几个处理器就可以将测试任务分成几个子任务)。
算力测试任务中一个运算节点的输入为另一个节点的输出或者算力测试任务的源数据(如图3所示的输入的数据流),一个运算节点的输出为另一个节点的输入或者算力测试任务的最终结果。
例如,一种计算图如图3所示,计算图是一个有向无环图,图3中箭头代表数据计算的流动方向,圆圈节点代表计算层(也称运算节点),它包含计算算子(即“运算规则”,如求和等逻辑运算)和对应的参数,包括节点J1至节点J11,任意节点的数值是将输入的数据按照该节点定义的规则计算得到的,例如,“J8”输出的数值为由从“J4”输入的数值和从“J5”输入的数值按照“J8”定义的规则计算得到的。
步骤2,确定算力测试任务中所有运算节点的计算深度,计算深度表示当前运算节点与根运算节点之间的距离。
如图4所示,计算深度表示与计算图中根节点之间的距离,如图4所示的计算图总深度为5,其中,J1的计算深度为0,J2、J3的计算深度为1,其余节点以此类推。
步骤3,将算力测试任务中具有相同计算深度的运算节点作为一个计算层。如图4所示,J1作为一个计算层,J2、J3作为一个计算层,以此类推。
步骤4,遍历算力测试任务的所有计算层,将算力测试任务中任意两个相邻计算层之间的位置作为分割位置。
如图4所示,任意两个相邻层的运算节点均会被一个分割位置隔开,对于有n层运算节点(即运算深度为n-1)的计算图,分割位置有(n-1)个。
步骤5,将算力测试任务按照分割位置进行分割,得到多个算力测试子任务。
如图4所示,在本次分割属于第一次分割的情况下,从第一分割位置进行分割,得到两个算力测试子任务,第一分割位置为顺序排列的多个分割位置中的第一个分割位置,如图4所示,第一次分割时从分割位置1开始分割,也可以从分割位置4开始分割。
在本次分割不属于第一次分割的情况下,从第二分割位置进行分割,得到两个算力测试子任务,第二分割位置在多个分割位置中的顺序位于前一次使用的分割位置之后,如图4所示,如第一次分割是从分割位置1分割,那么第二次分割时从分割位置2分割,如第一次分割是从分割位置4分割,那么第二次分割时从分割位置3分割。
步骤6,向各个所述数据处理器发送对应的算力测试子任务。
步骤7,获取各个所述数据处理器分别执行对应的算力测试子任务的处理时长。
例如,计算图包括顺序的算力测试子任务1(如从分割位置1分割时,该子任务包括J1)和算力测试子任务2(如从分割位置1分割时,该子任务包括J2-J11)为例,运行时,从算力测试子任务1输入待处理数据,监测算力测试子任务1处理完这些数据所消耗的处理时长,算力测试子任务1处理完这些数据时,中间数据作为算力测试子任务2的输入,并监测算力测试子任务2处理完这些数据所消耗的处理时长。
步骤8,基于多个检测结果,确认母任务的目标分割方案,以将母任务分割成多个子任务,所述子任务的数量与数据处理器的数量相匹配。
对于最终的目标分割方案,可以依据按照一定的标准选取,如处理器之间的处理时长差值不超过某一阈值,此时可获取各个算力分割方案下各个数据处理器的处理时长;对每个算力分割方案下各个数据处理器的处理时长进行两两比较,得到差值中的最大值,将各个算力分割方案中差值的最大值小于对应阈值的算力分割方案作为目标分割方案。
也可以按照差值的平均值选取,此时可获取各个算力分割方案下各个数据处理器的处理时长;对每个算力分割方案下各个数据处理器的处理时长进行两两比较,得到差值的平均值,将各个算力分割方案中差值的平均值小于对应阈值的算力分割方案作为目标分割方案。
如图4所示,计算图分割是按照数据流运算深度方向来切割的:算力测试子任务2依赖于算力测试子任务1的输出,假设计算深度是n,整体遍历下来一共有n-1中分割方式,分别统计算力测试子任务1在CPU上的运行时间和算力测试子任务2在GPU上的运行时间,并找到运行时间最接近的分割点,以分割位置2为例,节点J1、J2以及J3构成的链路相当于算力测试子任务1,节点J4至J11构成的链路相当于算力测试子任务2。
步骤9,向所述数据处理器分配对应的子任务,以使各个所述数据处理器分别执行对应的子任务,如将节点J1、J2以及J3作为子任务分配给第一数据处理器CPU,将节点J4至J11构成的链路作为子任务分配给第二数据处理器GPU。
本申请实施例的方法也可以由第一数据处理器或者第二数据处理器来执行,图5是根据本申请实施例的一种可选的任务的处理方法的流程图,如图5所示,该方法可以包括以下步骤:
步骤S502,第一数据处理器从任务分配终端获取第一子任务,第一子任务为基于上述的分配方法进行处理得到的与第一数据处理器对应的子任务。
步骤S504,第一数据处理器执行第一子任务,得到处理结果。
可选地,第一数据处理器在执行第一子任务时,可先获取待处理的数据,若第一子任务是母任务的第一个子任务,则获取第一子任务的母任务对应的任务数据(即任务源数据);否则,从中间件获取待处理的数据。
第一数据处理器在基于第一子任务的处理逻辑(如数据的求和等逻辑运算处理)完成数据处理,得到中间处理结果后,将中间结果保存至中间件,以作为待处理的数据,提供给执行邻接子任务的数据处理器,如下文提及的第二数据处理器。
步骤S506,第二数据处理器从任务分配终端获取第二子任务,第二子任务为基于上述的分配方法进行处理得到的与第二数据处理器对应的子任务。
步骤S508,第二数据处理器执行第二子任务,得到处理结果。
对于第二数据处理器,执行第二子任务时,可从中间件获取待处理的数据;基于第二子任务的处理逻辑完成数据处理,得到最终处理结果。
以待处理数据包括D0、D1、D2,时间阶段为T1、T2、T3,计算图包括顺序的第一子任务(如从分割位置1分割时,该子任务包括J1)和第二子任务(如从分割位置1分割时,该子任务包括J2-J11)为例,T1起始时,第一子任务的输入为D0,第二子任务没有输入;T1结束、T2开始时,第一子任务的输入为D1,第二子任务的输入为D0`(第一子任务对输入的D0进行处理后输出的);T2结束、T3开始时,第一子任务的输入为D2,第二子任务的输入为D1`(第一子任务对输入的D1进行处理后输出的),以此类推。
作为一种可选的实施例,为了解决CPU利用率低、推理吞吐率性能瓶颈的问题,均衡分割深度学习模型计算图,分配计算到CPU和GPU上运行,推理计算过程中实现子图推理计算流水线。下面结合具体实现步骤详述本申请的技术方案:
本申请的方案主要分为两个阶段,计算图均衡分割点的获取和子图推理计算流水线的运行。
计算图均衡分割点的获取:
步骤1,遍历计算图,找到所有可以把计算图切分成两个计算子图的分割点,如图4所示的分割位置1至分割位置4。
步骤2,遍历步骤1中的分割点,把计算图切分成两个计算子图,分别统计计算子图1在CPU上运行时间和计算子图2在GPU上的运行时间,并找到两个运行时间最接近的分割点,这个分割点就是要找计算图均衡分割点。
计算图均衡分割点的具体获取方式如图6所示:
步骤S602,获取原始计算图(实际为待分割的这部分计算图,即第一子任务和第二子任务的集合)的运行时间T。
步骤S604,根据下一分割点切分计算图,得到第一子任务(可简称为计算子图1)和第二子任务(可简称为计算子图2)。
步骤S606,分别统计第一子任务在CPU上的运行时间T1和第二子任务在GPU上的运行时间T2。
步骤S608,获取运行时间T1与运行时间T2的差值的绝对值Tdiff。
步骤S610,判断该差值的绝对值是否小于T,若是则执行步骤S612,否则执行步骤S614。
步骤S612,保存分割点。
步骤S614,取出上次保存的分割点为最优分割点。
子图推理计算流水线的运行:
分割点找到以后,把原有单个深度学习计算图推理任务,变成两个独立的计算子图任务;第一子任务接收图片输入,完成推理后,把结果写入中间队列;第二子任务,一直从中间队列读取第一子任务的结果,完成推理运行后,输出最终结果;第二子任务运行过程中,第一子任务可以继续接受下一张图片输入,由于异构特性,这两个任务的并发运行,不会影响各自任务的运行时间。
一种可选的推理流水线示意图如图7所示。
假设原有计算图运行时间是t,均衡分割后计算子图运行时间分别是t1和t2(t1<t,t2<t),假设t2>t1,按照新方案设计后的吞吐率提升是t/t2。
在本申请的技术方案中,深度模型计算图切分成计算子图(即子任务),分配到不同计算硬件上运行,效果是提升了计算硬件的利用率;设计了一种均衡分割的方法,效果是最大化流水线计算的效率。
需要说明的是,假设在更多计算资源的单一平台上,比如计算平台上同时有CPU,GPU,VPU等多种计算资源,计算子图的分配方法需要改进,以适应多计算资源平台的需要,在将深度学习模型部署在GPU平台时,该申请可以提升深度学习推理计算的吞吐率,降低GPU资源的使用。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本申请各个实施例所述的方法。
根据本申请实施例的另一个方面,还提供了一种用于实施上述任务的处理方法的任务的分配装置。图8是根据本申请实施例的一种可选的任务的分配装置的示意图,如图8所示,该装置可以包括:
检测单元81,用于通过多个算力分割方案,对各数据处理器的算力性能进行检测,得到多个检测结果,算力分割方案用于按照数据处理器的数量对算力测试任务进行分割;
分割单元83,用于基于多个检测结果,确认母任务的目标分割方案,以将母任务分割成多个子任务,所述子任务的数量与数据处理器的数量相匹配;
分配单元85,用于向所述数据处理器分配对应的子任务,以使各个所述数据处理器分别执行对应的子任务。
需要说明的是,该实施例中的检测单元81可以用于执行本申请实施例中的步骤S202,该实施例中的分割单元83可以用于执行本申请实施例中的步骤S204,该实施例中的分配单元85可以用于执行本申请实施例中的步骤S206。
通过上述模块,考虑了深度学习推理服务云端部署在GPU平台上时CPU的利用率低,而推理吞吐率取决于模型在GPU上的运行时间(也即CPU算力没有充分利用,深度学习模型计算全部分配到GPU上运行),本方案基于GPU平台的异构特性,将深度学习计算的任务均衡地分配给CPU和GPU,可以解决相关技术中推理任务对处理器资源的消耗较大的技术问题,最大化的利用了平台的CPU和GPU资源,实现计算流水线的高效运行。
可选地,检测单元还可用于:对于每个算力分割方案,将算力测试任务分割为多个算力测试子任务,所述算力测试子任务的数量与数据处理器的数量相匹配;向各个所述数据处理器发送对应的算力测试子任务;获取各个所述数据处理器分别执行对应的算力测试子任务的处理时长。
可选地,分割单元还用于:按照预设条件对多个检测结果进行对比,得到目标检测结果;将与目标检测结果对应的算力分割方案作为目标分割方案。
可选地,分割单元还用于:获取各个算力分割方案下各个数据处理器的处理时长;对每个算力分割方案下各个数据处理器的处理时长进行两两比较,得到差值中的最大值,或,对每个算力分割方案下各个数据处理器的处理时长进行两两比较,得到差值的平均值。
可选地,分割单元还用于:将各个算力分割方案中差值的最大值小于对应阈值的算力分割方案作为目标分割方案,或,将各个算力分割方案中差值的平均值小于对应阈值的算力分割方案作为目标分割方案。
可选地,分割单元还用于:确定算力测试任务中所有运算节点的计算深度,计算深度表示当前运算节点与根运算节点之间的距离,算力测试任务中一个运算节点的输入为另一个节点的输出或者算力测试任务的源数据,一个运算节点的输出为另一个节点的输入或者算力测试任务的最终结果;将算力测试任务中具有相同计算深度的运算节点作为一个计算层;遍历算力测试任务的所有计算层,将算力测试任务中任意两个相邻计算层之间的位置作为分割位置;将算力测试任务按照分割位置进行分割,得到多个算力测试子任务。
根据本申请实施例的另一个方面,还提供了一种用于实施上述任务的处理方法的任务的处理装置,该装置可以包括:第一获取单元,用于获取第一子任务,第一子任务为基于分配方法进行处理得到的与第一数据处理器对应的子任务;第一执行单元,用于执行第一子任务,得到处理结果。
可选地,第一执行单元还用于:获取待处理的数据;基于第一子任务的处理逻辑完成数据处理,得到中间处理结果,将中间处理结果进行保存。
可选地,第一执行单元还用于:获取第一子任务的母任务对应的任务数据;或,从中间件获取待处理的数据。
可选地,第一执行单元还用于:将中间结果保存至中间件,以作为待处理的数据,提供给执行邻接子任务的数据处理器。
根据本申请实施例的另一个方面,还提供了一种用于实施上述任务的处理方法的任务的处理装置,该装置可以包括:第二获取单元,用于获取第二子任务,第二子任务为基于分配方法进行处理得到的与第二数据处理器对应的子任务;第二执行单元,用于执行第二子任务,得到处理结果。
可选地,第二执行单元还用于:从中间件获取待处理的数据;基于第二子任务的处理逻辑完成数据处理,得到最终处理结果。
此处需要说明的是,上述模块与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在如图1所示的硬件环境中,可以通过软件实现,也可以通过硬件实现,其中,硬件环境包括网络环境。
根据本申请实施例的另一个方面,还提供了一种用于实施上述任务的处理方法的服务器或终端。
图9是根据本申请实施例的一种终端的结构框图,如图9所示,该终端可以包括:一个或多个(图9中仅示出一个)处理器901、存储器903、以及传输装置905,如图9所示,该终端还可以包括输入输出设备907。
其中,存储器903可用于存储软件程序以及模块,如本申请实施例中的任务的处理方法和装置对应的程序指令/模块,处理器901通过运行存储在存储器903内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的任务的处理方法。存储器903可包括高速随机存储器,还可以包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器903可进一步包括相对于处理器901远程设置的存储器,这些远程存储器可以通过网络连接至终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
上述的传输装置905用于经由一个网络接收或者发送数据,还可以用于处理器与存储器之间的数据传输。上述的网络具体实例可包括有线网络及无线网络。在一个实例中,传输装置905包括一个网络适配器(Network Interface Controller,NIC),其可通过网线与其他网络设备与路由器相连从而可与互联网或局域网进行通讯。在一个实例中,传输装置905为射频(Radio Frequency,RF)模块,其用于通过无线方式与互联网进行通讯。
其中,具体地,存储器903用于存储应用程序。
处理器901可以通过传输装置905调用存储器903存储的应用程序,以执行下述步骤:
通过多个算力分割方案,对各数据处理器的算力性能进行检测,得到多个检测结果,算力分割方案用于按照数据处理器的数量对算力测试任务进行分割;
基于多个检测结果,确认母任务的目标分割方案,以将母任务分割成多个子任务,所述子任务的数量与数据处理器的数量相匹配;
向所述数据处理器分配对应的子任务,以使各个所述数据处理器分别执行对应的子任务。
采用本申请实施例,考虑了深度学习推理服务云端部署在专用处理器(如GPU)平台上时其它处理器(如通用处理器CPU)的利用率低,而推理吞吐率取决于模型在专用处理器上的运行时间(也即通用处理器算力没有充分利用,深度学习模型计算全部分配到专用处理器上运行),本方案基于专用处理器平台的异构特性,将深度学习计算的任务均衡地分配给通用处理器和专用处理器(即第一数据处理器和第二数据处理器),可以解决相关技术中推理任务对处理器资源的消耗较大的技术问题,最大化的利用了平台的通用处理器和专用处理器资源,实现计算流水线的高效运行。
可选地,本实施例中的具体示例可以参考上述实施例中所描述的示例,本实施例在此不再赘述。
本领域普通技术人员可以理解,图9所示的结构仅为示意,终端可以是智能手机(如Android手机、iOS手机等)、平板电脑、掌上电脑以及移动互联网设备(Mobile InternetDevices,MID)、PAD等终端设备。图9其并不对上述电子装置的结构造成限定。例如,终端还可包括比图9中所示更多或者更少的组件(如网络接口、显示装置等),或者具有与图9所示不同的配置。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令终端设备相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、只读存储器(Read-Only Memory,ROM)、随机存取器(RandomAccess Memory,RAM)、磁盘或光盘等。
本申请的实施例还提供了一种存储介质。可选地,在本实施例中,上述存储介质可以用于执行任务的处理方法的程序代码。
可选地,在本实施例中,上述存储介质可以位于上述实施例所示的网络中的多个网络设备中的至少一个网络设备上。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:
通过多个算力分割方案,对各数据处理器的算力性能进行检测,得到多个检测结果,算力分割方案用于按照数据处理器的数量对算力测试任务进行分割;
基于多个检测结果,确认母任务的目标分割方案,以将母任务分割成多个子任务,所述子任务的数量与数据处理器的数量相匹配;
向所述数据处理器分配对应的子任务,以使各个所述数据处理器分别执行对应的子任务。
可选地,本实施例中的具体示例可以参考上述实施例中所描述的示例,本实施例在此不再赘述。
可选地,在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
上述实施例中的集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在上述计算机可读取的存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在存储介质中,包括若干指令用以使得一台或多台计算机设备(可为个人计算机、服务器或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。
在本申请的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的客户端,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
以上所述仅是本申请的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。
Claims (14)
1.一种任务的处理系统,其特征在于,包括:
任务分配终端,通过多个算力分割方案,检测各数据处理器的算力性能,并基于检测结果选取多个数据处理器的处理时长最均衡的分割方案作为母任务的目标分割方案,以将母任务分割成多个子任务,分别向各数据处理器分配对应的子任务;
第一数据处理器,接收并执行任务分配终端分配的子任务,输出执行对应的子任务得到的结果;
第二数据处理器,接收并执行任务分配终端分配的子任务,输出执行对应的子任务得到的结果;
其中,所述任务分配终端还用于:
对于每个算力分割方案,将算力测试任务分割为多个算力测试子任务,所述算力测试子任务的数量与数据处理器的数量相匹配,其中,所述算力测试任务和所述母任务为相同类型的任务;
向各个所述数据处理器发送对应的算力测试子任务;
获取各个所述数据处理器分别执行对应的算力测试子任务的处理时长;
其中,所述任务分配终端还用于:
确定算力测试任务中所有运算节点的计算深度,计算深度表示当前运算节点与根运算节点之间的距离,算力测试任务中一个运算节点的输入为另一个节点的输出或者算力测试任务的源数据,一个运算节点的输出为另一个节点的输入或者算力测试任务的最终结果;
将算力测试任务中具有相同计算深度的运算节点作为一个计算层;
遍历算力测试任务的所有计算层,将算力测试任务中任意两个相邻计算层之间的位置作为分割位置;
将算力测试任务按照分割位置进行分割,得到多个算力测试子任务。
2.一种任务的分配方法,其特征在于,应用于任务分配终端,包括:
通过多个算力分割方案,对各数据处理器的算力性能进行检测,得到多个检测结果,算力分割方案用于按照数据处理器的数量对算力测试任务进行分割;
基于多个检测结果,选取多个数据处理器的处理时长最均衡的分割方案作为母任务的目标分割方案,以将母任务分割成多个子任务,所述子任务的数量与数据处理器的数量相匹配,其中,所述算力测试任务和所述母任务为相同类型的任务;
向所述数据处理器分配对应的子任务,以使各个所述数据处理器分别执行对应的子任务;
其中,通过多个算力分割方案,对各数据处理器的算力性能进行检测,得到多个检测结果包括:
对于每个算力分割方案,将算力测试任务分割为多个算力测试子任务,所述算力测试子任务的数量与数据处理器的数量相匹配;
向各个所述数据处理器发送对应的算力测试子任务;
获取各个所述数据处理器分别执行对应的算力测试子任务的处理时长;
其中,将算力测试任务分割为多个算力测试子任务包括:
确定算力测试任务中所有运算节点的计算深度,计算深度表示当前运算节点与根运算节点之间的距离,算力测试任务中一个运算节点的输入为另一个节点的输出或者算力测试任务的源数据,一个运算节点的输出为另一个节点的输入或者算力测试任务的最终结果;
将算力测试任务中具有相同计算深度的运算节点作为一个计算层;
遍历算力测试任务的所有计算层,将算力测试任务中任意两个相邻计算层之间的位置作为分割位置;
将算力测试任务按照分割位置进行分割,得到多个算力测试子任务。
3.根据权利要求2所述的方法,其特征在于,
基于多个检测结果,确认母任务的目标分割方案包括:获取各个算力分割方案下各个数据处理器的处理时长;对每个算力分割方案下各个数据处理器的处理时长进行两两比较,得到差值中的最大值,或,对每个算力分割方案下各个数据处理器的处理时长进行两两比较,得到差值的平均值;
将与目标检测结果对应的算力分割方案作为目标分割方案包括:将各个算力分割方案中差值的最大值小于对应阈值的算力分割方案作为目标分割方案,或,将各个算力分割方案中差值的平均值小于对应阈值的算力分割方案作为目标分割方案。
4.一种任务的处理方法,其特征在于,应用于第一数据处理器,包括:
获取第一子任务,第一子任务为基于权利要求2至3中任一项所述的分配方法进行处理得到的与第一数据处理器对应的子任务;
执行第一子任务,得到处理结果。
5.根据权利要求4所述的处理方法,其特征在于,执行第一子任务,得到处理结果包括:
获取待处理的数据;
基于第一子任务的处理逻辑完成数据处理,得到中间处理结果,将中间处理结果进行保存。
6.根据权利要求5所述的处理方法,其特征在于,获取待处理的数据包括:
获取第一子任务的母任务对应的任务数据;或,
从中间件获取待处理的数据。
7.根据权利要求5所述的处理方法,其特征在于,将中间处理结果进行保存包括:
将中间结果保存至中间件,以作为待处理的数据,提供给执行邻接子任务的数据处理器。
8.一种任务的处理方法,其特征在于,应用于第二数据处理器,包括:
获取第二子任务,第二子任务为基于权利要求2至3中任一项所述的分配方法进行处理得到的与第二数据处理器对应的子任务;
执行第二子任务,得到处理结果。
9.根据权利要求8所述的处理方法,其特征在于,所述执行第二子任务,得到处理结果包括:
从中间件获取待处理的数据;
基于第二子任务的处理逻辑完成数据处理,得到最终处理结果。
10.一种任务的分配装置,其特征在于,应用于任务分配终端,包括:
检测单元,用于通过多个算力分割方案,对各数据处理器的算力性能进行检测,得到多个检测结果,算力分割方案用于按照数据处理器的数量对算力测试任务进行分割;
分割单元,用于基于多个检测结果,选取多个数据处理器的处理时长最均衡的分割方案作为母任务的目标分割方案,以将母任务分割成多个子任务,所述子任务的数量与数据处理器的数量相匹配,其中,所述算力测试任务和所述母任务为相同类型的任务;
分配单元,用于向所述数据处理器分配对应的子任务,以使各个所述数据处理器分别执行对应的子任务;
其中,所述检测单元用于:
对于每个算力分割方案,将算力测试任务分割为多个算力测试子任务,所述算力测试子任务的数量与数据处理器的数量相匹配;
向各个所述数据处理器发送对应的算力测试子任务;
获取各个所述数据处理器分别执行对应的算力测试子任务的处理时长;
其中,所述检测单元用于:
确定算力测试任务中所有运算节点的计算深度,计算深度表示当前运算节点与根运算节点之间的距离,算力测试任务中一个运算节点的输入为另一个节点的输出或者算力测试任务的源数据,一个运算节点的输出为另一个节点的输入或者算力测试任务的最终结果;
将算力测试任务中具有相同计算深度的运算节点作为一个计算层;
遍历算力测试任务的所有计算层,将算力测试任务中任意两个相邻计算层之间的位置作为分割位置;
将算力测试任务按照分割位置进行分割,得到多个算力测试子任务。
11.一种任务的处理装置,其特征在于,应用于第一数据处理器,包括:
第一获取单元,用于获取第一子任务,第一子任务为基于权利要求2至3中任一项所述的分配方法进行处理得到的与第一数据处理器对应的子任务;
第一执行单元,用于执行第一子任务,得到处理结果。
12.一种任务的处理装置,其特征在于,应用于第二数据处理器,包括:
第二获取单元,用于获取第二子任务,第二子任务为基于权利要求2至3中任一项所述的分配方法进行处理得到的与第二数据处理器对应的子任务;
第二执行单元,用于执行第二子任务,得到处理结果。
13.一种存储介质,其特征在于,所述存储介质包括存储的程序,其中,所述程序运行时执行上述权利要求2至9任一项中所述的方法。
14.一种电子装置,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器通过所述计算机程序执行上述权利要求2至9任一项中所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011591303.7A CN112650590B (zh) | 2020-12-29 | 2020-12-29 | 任务的处理方法、装置及系统、分配方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011591303.7A CN112650590B (zh) | 2020-12-29 | 2020-12-29 | 任务的处理方法、装置及系统、分配方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112650590A CN112650590A (zh) | 2021-04-13 |
CN112650590B true CN112650590B (zh) | 2024-03-15 |
Family
ID=75363850
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011591303.7A Active CN112650590B (zh) | 2020-12-29 | 2020-12-29 | 任务的处理方法、装置及系统、分配方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112650590B (zh) |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113239127B (zh) * | 2021-05-13 | 2024-02-09 | 北方工业大学 | 科技服务关联网络的构建、依赖关系的识别方法及计算机产品 |
CN113254350A (zh) * | 2021-06-23 | 2021-08-13 | 深信服科技股份有限公司 | 一种Flink作业测试方法、装置、设备及存储介质 |
CN113792869B (zh) * | 2021-09-16 | 2024-05-10 | 北京中星天视科技有限公司 | 基于神经网络芯片的视频处理方法、装置和电子设备 |
CN114185600A (zh) * | 2021-11-11 | 2022-03-15 | 北京百度网讯科技有限公司 | 用于目标检测任务的加速框架生成方法、装置及电子设备 |
CN114020476B (zh) * | 2021-12-30 | 2022-06-03 | 荣耀终端有限公司 | 一种作业的处理方法、设备及介质 |
CN114567635A (zh) * | 2022-03-10 | 2022-05-31 | 深圳力维智联技术有限公司 | 边缘数据的处理方法、设备及计算机可读存储介质 |
CN114911612B (zh) * | 2022-04-29 | 2024-06-11 | 中国航空无线电电子研究所 | 一种面向cpu-gpu异构资源的任务调度方法 |
CN114596009B (zh) * | 2022-05-09 | 2022-07-22 | 苏州浪潮智能科技有限公司 | 智算中心的算力资源部署方法、装置、设备及存储介质 |
CN117521841A (zh) * | 2022-07-28 | 2024-02-06 | 华为技术有限公司 | 一种深度学习系统和方法 |
CN116467061B (zh) | 2023-06-19 | 2023-09-19 | 之江实验室 | 一种任务执行的方法、装置、存储介质及电子设备 |
CN116932332B (zh) * | 2023-08-08 | 2024-04-19 | 中科驭数(北京)科技有限公司 | Dpu运行状态监控方法及装置 |
CN116909756B (zh) * | 2023-09-13 | 2024-01-26 | 中移(苏州)软件技术有限公司 | 跨云服务方法、装置、电子设备及存储介质 |
CN117648451B (zh) * | 2024-01-30 | 2024-04-19 | 青岛漫斯特数字科技有限公司 | 用于图像处理的数据管理方法、系统、设备及介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110298437A (zh) * | 2019-06-28 | 2019-10-01 | Oppo广东移动通信有限公司 | 神经网络的分割计算方法、装置、存储介质及移动终端 |
CN110674936A (zh) * | 2019-09-24 | 2020-01-10 | 上海寒武纪信息科技有限公司 | 一种神经网络处理方法、装置、计算机设备及存储介质 |
CN111274034A (zh) * | 2020-01-19 | 2020-06-12 | 北京奇艺世纪科技有限公司 | 模型推理的资源分配方法、装置、计算机设备和存储介质 |
CN111752713A (zh) * | 2020-06-28 | 2020-10-09 | 浪潮电子信息产业股份有限公司 | 模型并行训练任务负载均衡方法、装置、设备及存储介质 |
CN111782401A (zh) * | 2020-07-17 | 2020-10-16 | Oppo广东移动通信有限公司 | 数据处理方法、装置以及电子设备 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8024395B1 (en) * | 2001-09-04 | 2011-09-20 | Gary Odom | Distributed processing multiple tier task allocation |
CN110321999B (zh) * | 2018-03-30 | 2021-10-01 | 赛灵思电子科技(北京)有限公司 | 神经网络计算图优化方法 |
CN111124656B (zh) * | 2018-10-31 | 2023-09-15 | 伊姆西Ip控股有限责任公司 | 用于向专用计算资源分配任务的方法、设备和计算机可读存储介质 |
US20200249998A1 (en) * | 2019-02-01 | 2020-08-06 | Alibaba Group Holding Limited | Scheduling computation graph heterogeneous computer system |
-
2020
- 2020-12-29 CN CN202011591303.7A patent/CN112650590B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110298437A (zh) * | 2019-06-28 | 2019-10-01 | Oppo广东移动通信有限公司 | 神经网络的分割计算方法、装置、存储介质及移动终端 |
CN110674936A (zh) * | 2019-09-24 | 2020-01-10 | 上海寒武纪信息科技有限公司 | 一种神经网络处理方法、装置、计算机设备及存储介质 |
CN111274034A (zh) * | 2020-01-19 | 2020-06-12 | 北京奇艺世纪科技有限公司 | 模型推理的资源分配方法、装置、计算机设备和存储介质 |
CN111752713A (zh) * | 2020-06-28 | 2020-10-09 | 浪潮电子信息产业股份有限公司 | 模型并行训练任务负载均衡方法、装置、设备及存储介质 |
CN111782401A (zh) * | 2020-07-17 | 2020-10-16 | Oppo广东移动通信有限公司 | 数据处理方法、装置以及电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN112650590A (zh) | 2021-04-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112650590B (zh) | 任务的处理方法、装置及系统、分配方法和装置 | |
CN112035238B (zh) | 任务调度处理方法、装置、集群系统及可读存储介质 | |
US10908965B2 (en) | Method, apparatus, and computer program product for processing computing task | |
US10862765B2 (en) | Allocation of shared computing resources using a classifier chain | |
US9471383B2 (en) | Task allocation in a computing environment | |
CN111866054A (zh) | 一种云主机的搭建方法、装置、电子设备及可读存储介质 | |
CN111782385A (zh) | 用于处理任务的方法、电子设备和计算机程序产品 | |
CN111400555A (zh) | 图数据查询任务处理方法、装置、计算机设备和存储介质 | |
CN111506434A (zh) | 一种任务处理方法、装置及计算机可读存储介质 | |
CN114281521A (zh) | 优化深度学习异构资源通信效率方法、系统、设备及介质 | |
CN114896068A (zh) | 资源分配方法、资源分配装置、电子设备及存储介质 | |
CN114661480A (zh) | 深度学习任务资源分配方法和系统 | |
CN117707761A (zh) | 一种任务构建方法、装置、电子设备及存储介质 | |
US20230185625A1 (en) | Workload characterization-based capacity planning for cost-effective and high-performance serverless execution environment | |
US10831638B2 (en) | Automated analytics for improving reuse of application solutions | |
CN107992821B (zh) | 一种图像识别方法及系统 | |
CN113419842B (zh) | 一种基于JavaScript构建边缘计算微服务的方法、装置 | |
CN108829516A (zh) | 一种图形处理器资源虚拟化调度方法 | |
CN115437781A (zh) | 一种gpu资源管理方法及系统 | |
CN114138284A (zh) | 模型部署处理方法、装置、电子设备及存储介质 | |
WO2024087844A1 (zh) | 图神经网络的训练方法、训练系统及异常账号识别方法 | |
CN115665160B (zh) | 一种面向电力安全工器具的多接入边缘计算系统及方法 | |
CN114553700B (zh) | 设备分组方法、装置、计算机设备及存储介质 | |
US11722557B2 (en) | Offload server and computer-readable medium for automatically offloading processing to programmable logic device | |
CN111488216B (zh) | 一种数据处理的方法、装置及电子设备 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |