CN112395062A - 任务处理方法、装置、设备及计算机可读存储介质 - Google Patents
任务处理方法、装置、设备及计算机可读存储介质 Download PDFInfo
- Publication number
- CN112395062A CN112395062A CN202011285222.4A CN202011285222A CN112395062A CN 112395062 A CN112395062 A CN 112395062A CN 202011285222 A CN202011285222 A CN 202011285222A CN 112395062 A CN112395062 A CN 112395062A
- Authority
- CN
- China
- Prior art keywords
- gpu
- task
- computing
- subtask
- subtasks
- 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
- 238000003672 processing method Methods 0.000 title claims abstract description 27
- 238000003860 storage Methods 0.000 title claims abstract description 13
- 238000000034 method Methods 0.000 claims abstract description 101
- 238000012545 processing Methods 0.000 claims abstract description 92
- 238000004364 calculation method Methods 0.000 claims abstract description 80
- 230000008569 process Effects 0.000 claims abstract description 73
- 230000015654 memory Effects 0.000 claims description 36
- 238000004891 communication Methods 0.000 description 12
- 238000010586 diagram Methods 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 6
- 238000001514 detection method Methods 0.000 description 4
- 238000013473 artificial intelligence Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004888 barrier function Effects 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000008520 organization Effects 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/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种任务处理方法、装置、设备及计算机可读存储介质。所述方法包括:接收各个联邦学习计算任务分别提交的具有相同计算逻辑的图形处理器GPU计算子任务;调用GPU并行处理各所述GPU计算子任务,并将GPU的处理结果对应返回给各所述联邦学习计算任务。本发明使得GPU可以并行地处理不同联邦学习计算任务,相比于串行独占的方式,极大地提高了GPU资源利用率,减少了GPU的空闲时间,也缩短了联邦学习计算任务的处理时间,从而能够提升联邦学习建模效率。
Description
技术领域
本发明涉及数据处理技术领域,尤其涉及一种任务处理方法、装置、设备及计算机可读存储介质。
背景技术
人工智能中各项技术逐步得到广泛应用,进一步提升了社会生产里和人们生活的智能化程度,方便和丰富了人们的生活。一般情况下人工智能技术需要基于大量的数据才能发挥更好的效果,因此各大机构、公司在使用人工智能技术之前均事先需要收集大量数据,但是随着欧洲的GDPR(General Data Protection Regulation),《通用数据保护条例》),以及国内的网络安全法实施,对数据获取的合规性要求越来越高,导致各个机构、公司之间的数据无法互通,给技术的应用和推广带来了障碍,在此基础上联邦学习技术被提出。联邦学习能够做到各个机构或企业的自有数据不出本地,通过加密机制下的参数交换方式,在不违反数据隐私法规情况下,建立一个虚拟的共有模型。联邦学习一般涉及到大量数据编解码、加解密等计算密集型操作,对计算性能和数据吞吐有着很高的要求。GPU(Graphics Processing Unit,图形处理器)是非常适合此类应用场景的,能够使得编解码和加解密等计算密集任务得到数十倍,甚至上百倍的性能提升,因此业内逐步考虑将GPU引入联邦学习的计算框架,使得联邦学习计算任务效率得到大幅提升。
但是现有利用GPU来处理联邦学习过程中的计算任务时,存在任务独占的问题,也即一个联邦学习计算任务在运行使用GPU的时候,其他任务就没法使用,只能等待运行任务结束之后再使用GPU资源,导致GPU资源相对于数量庞大的建模任务来说资源利用率不高。
发明内容
本发明的主要目的在于提供一种任务处理方法、装置、设备及计算机可读存储介质,旨在解决目前利用GPU来处理联邦学习过程中的计算任务时,由于存在任务独占问题,而导致GPU资源利用率不高的技术问题。
为实现上述目的,本发明提供一种任务处理方法,所述方法包括以下步骤:
接收各个联邦学习计算任务分别提交的具有相同计算逻辑的图形处理器GPU计算子任务;
调用GPU并行处理各所述GPU计算子任务,并将GPU的处理结果对应返回给各所述联邦学习计算任务。
可选地,所述调用GPU并行处理各所述GPU计算子任务,并将GPU的处理结果对应返回给各所述联邦学习计算任务的步骤包括:
获取各所述GPU计算子任务对应的输入数据;
调用GPU按照各所述GPU计算子任务对应的计算逻辑并行处理各所述输入数据;
接收GPU返回的各所述GPU计算子任务对应的处理结果,将各所述处理结果返回给各所述联邦学习计算任务。
可选地,所述获取各所述GPU计算子任务对应的输入数据的步骤包括:
从共享内存中获取各所述GPU计算子任务对应的输入数据,其中,各所述联邦学习计算任务分别将各自GPU计算子任务的输入数据写入所述共享内存,以提交各自的GPU计算子任务。
可选地,所述调用GPU并行处理各所述GPU计算子任务,并将GPU的处理结果对应返回给各所述联邦学习计算任务的步骤之前,还包括:
对接收到的各所述GPU计算子任务进行计数,并检测计数数量是否达到预设数量;
若所述计数数量达到所述预设数量,则执行所述调用GPU并行处理各所述GPU计算子任务,并将GPU的处理结果对应返回给各所述联邦学习计算任务的步骤,并将所述计数数量重置零。
可选地,所述对接收到的各所述GPU计算子任务进行计数的步骤之后,还包括:
检测计数时长是否达到预设时长;
若所述计数时长达到所述预设时长,则执行所述调用GPU并行处理各所述GPU计算子任务,并将GPU的处理结果对应返回给各所述联邦学习计算任务的步骤,并将所述计数数量和所述计数时长均重置零。
可选地,所述对接收到的各所述GPU计算子任务进行计数,并检测计数数量是否达到预设数量的步骤之前,还包括:
检测GPU计算子任务的提交频率是否大于预设频率;
若大于,则执行所述对接收到的各所述GPU计算子任务进行计数,并检测计数数量是否达到预设数量的步骤。
可选地,所述调用GPU并行处理各所述GPU计算子任务的步骤包括:
调用GPU的多个流处理器并行地分别处理各所述GPU计算子任务。
为实现上述目的,本发明还提供一种任务处理装置,所述装置包括:
接收模块,用于接收各个联邦学习计算任务分别提交的具有相同计算逻辑的图形处理器GPU计算子任务;
调用模块,用于调用GPU并行处理各所述GPU计算子任务,并将GPU的处理结果对应返回给各所述联邦学习计算任务。
为实现上述目的,本发明还提供一种任务处理设备,所述任务处理设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的任务处理程序,所述任务处理程序被所述处理器执行时实现如上所述的任务处理方法的步骤。
此外,为实现上述目的,本发明还提出一种计算机可读存储介质,所述计算机可读存储介质上存储有任务处理程序,所述任务处理程序被处理器执行时实现如上所述的任务处理方法的步骤。
相比于现有方式中GPU被一个联邦学习计算任务独占,其他任务无法使用GPU,导致GPU资源利用率不高,在本发明中,各个联邦学习计算子任务可以提交各自的GPU计算子任务,通过接收多个联邦学习计算任务分别提交的具有相同计算逻辑的GPU计算子任务,调用GPU并行处理这些GPU计算子任务,并将GPU的处理结果对应返回给各个联邦学习计算任务,使得GPU可以并行地处理不同联邦学习计算任务,也即各个联邦学习计算任务可以并行地使用GPU;相比于串行独占的方式,极大地提高了GPU资源利用率,减少了GPU的空闲时间,也缩短了联邦学习计算任务的处理时间,从而能够提升联邦学习建模效率。
附图说明
图1为本发明实施例方案涉及的硬件运行环境的结构示意图;
图2为本发明任务处理方法第一实施例的流程示意图;
图3为现有的一种联邦学习多任务计算示意图;
图4为现有的一种CPU和GPU使用情况示意图;
图5为本发明各实施例涉及的一种联邦学习多任务计算示意图;
图6为本发明各实施例涉及的一种CPU和GPU使用情况示意图;
图7为本发明任务处理装置较佳实施例的功能模块示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
如图1所示,图1是本发明实施例方案涉及的硬件运行环境的设备结构示意图。
需要说明的是,本发明实施例任务处理设备可以是智能手机、个人计算机和服务器等设备,在此不做具体限制。
如图1所示,该任务处理设备可以包括:处理器1001,例如CPU,网络接口1004,用户接口1003,存储器1005,通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(Display)、输入单元比如键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器1005可以是高速RAM存储器,也可以是稳定的存储器(non-volatile memory),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。
本领域技术人员可以理解,图1中示出的设备结构并不构成对任务处理设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图1所示,作为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及任务处理程序。操作系统是管理和控制设备硬件和软件资源的程序,支持任务处理程序以及其它软件或程序的运行。在图1所示的设备中,用户接口1003主要用于与客户端进行数据通信;网络接口1004主要用于与服务器建立通信连接;而处理器1001可以用于调用存储器1005中存储的任务处理程序,并执行以下操作:
接收各个联邦学习计算任务分别提交的具有相同计算逻辑的图形处理器GPU计算子任务;
调用GPU并行处理各所述GPU计算子任务,并将GPU的处理结果对应返回给各所述联邦学习计算任务。
进一步地,所述调用GPU并行处理各所述GPU计算子任务,并将GPU的处理结果对应返回给各所述联邦学习计算任务的步骤包括:
获取各所述GPU计算子任务对应的输入数据;
调用GPU按照各所述GPU计算子任务对应的计算逻辑并行处理各所述输入数据;
接收GPU返回的各所述GPU计算子任务对应的处理结果,将各所述处理结果返回给各所述联邦学习计算任务。
进一步地,所述获取各所述GPU计算子任务对应的输入数据的步骤包括:
从共享内存中获取各所述GPU计算子任务对应的输入数据,其中,各所述联邦学习计算任务分别将各自GPU计算子任务的输入数据写入所述共享内存,以提交各自的GPU计算子任务。
进一步地,所述调用GPU并行处理各所述GPU计算子任务,并将GPU的处理结果对应返回给各所述联邦学习计算任务的步骤之前,处理器1001还可以用于调用存储器1005中存储的任务处理程序,并执行以下操作:
对接收到的各所述GPU计算子任务进行计数,并检测计数数量是否达到预设数量;
若所述计数数量达到所述预设数量,则执行所述调用GPU并行处理各所述GPU计算子任务,并将GPU的处理结果对应返回给各所述联邦学习计算任务的步骤,并将所述计数数量重置零。
进一步地,所述对接收到的各所述GPU计算子任务进行计数的步骤之后,处理器1001还可以用于调用存储器1005中存储的任务处理程序,并执行以下操作:
检测计数时长是否达到预设时长;
若所述计数时长达到所述预设时长,则执行所述调用GPU并行处理各所述GPU计算子任务,并将GPU的处理结果对应返回给各所述联邦学习计算任务的步骤,并将所述计数数量和所述计数时长均重置零。
进一步地,所述对接收到的各所述GPU计算子任务进行计数,并检测计数数量是否达到预设数量的步骤之前,处理器1001还可以用于调用存储器1005中存储的任务处理程序,并执行以下操作:
检测GPU计算子任务的提交频率是否大于预设频率;
若大于,则执行所述对接收到的各所述GPU计算子任务进行计数,并检测计数数量是否达到预设数量的步骤。
进一步地,所述调用GPU并行处理各所述GPU计算子任务的步骤包括:
调用GPU的多个流处理器并行地分别处理各所述GPU计算子任务。
基于上述的结构,提出任务处理方法的各个实施例。
参照图2,图2为本发明任务处理方法第一实施例的流程示意图。
本发明实施例提供了任务处理方法的实施例,需要说明的是,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。本发明任务处理方法各个实施例方法可以应用于智能手机、个人计算机和服务器等设备。在本实施例中,任务处理方法包括:
步骤S10,接收各个联邦学习计算任务分别提交的具有相同计算逻辑的图形处理器GPU计算子任务;
在本实施例中,执行主体可以是设备CPU或GPU中运行的进程、线程或服务等,用于接收联邦学习计算任务提交的GPU计算子任务,并调度GPU来处理GPU计算子任务,在以下各实施例中以调度中心为执行主体进行描述。在联邦学习过程中,有大量的计算任务需要CPU和GPU进行处理,这些任务可以是以进程、线程或协程等的方式提交的,也即,在本实施例中,联邦学习计算任务可以是指处理联邦学习过程中计算任务的进程、线程或协程等。联邦学习计算任务可能包括多个CPU计算阶段和多个GPU计算阶段。
联邦学习计算任务在执行到GPU计算阶段时,需要调度GPU来处理,故可向调度中心提交针对该计算阶段的GPU计算子任务。GPU计算子任务的提交方式可以是采用现有的进程或线程间通信方式来提交,例如共享文件、网络通信或共享内存等通信方式,在本实施例中不作限制。若该GPU计算阶段是需要对上一阶段的输出数据进行一定的计算,则可将上一阶段的输出数据作为提交的GPU计算子任务的输入数据。
调度中心接收各个联邦学习计算任务分别提交的具有相同计算逻辑的GPU计算子任务。其中,两个GPU计算子任务具有相同的计算逻辑是指例如都是要进行加密计算,或都是要进行解密计算。需要说明的是,在一种实施方式中,不同联邦学习计算任务提交的GPU计算子任务的计算逻辑都是相同的。在另一实施方式中,不同联邦学习计算任务提交的GPU计算子任务的计算逻辑可以是不同的;对此,调度中心可对接收到的GPU计算子任务按照计算逻辑的类型进行分类,将具有相同计算逻辑的GPU计算子任务划为一组;由于对每一组子任务,后续的处理过程是类似的,所以在各实施例中,仅以对具有相同计算逻辑的多个GPU计算子任务进行处理的过程为例进行描述。
步骤S20,调用GPU并行处理各所述GPU计算子任务,并将GPU的处理结果对应返回给各所述联邦学习计算任务。
调度中心在接收到各个GPU计算子任务后,调用GPU并行处理各个GPU计算子任务,并将GPU的处理结果对应返回给各个联邦学习计算任务。需要说明的是,由于联邦学习过程中有大量相同计算逻辑的计算任务,也即,各个GPU计算子任务虽然需要处理的数据不同,但是计算逻辑完全相同,例如都是加密计算,或都是解密计算,因此,利用GPU并行化处理数据的特点,能够实现并行处理联邦学习过程中这些计算逻辑完全相同的计算任务,而无需对各个联邦学习计算任务做出大的修改。
调度中心接收GPU返回的每个GPU计算子任务对应的处理结果,再将各个处理结果对应地返回给各个联邦学习计算任务,以使得各个联邦学习计算任务可以根据处理结果继续执行下一个计算阶段。需要说明的是,若联邦学习计算任务在提交GPU计算子任务后,后续有不要需该GPU计算子任务的处理结果的计算阶段,则可以继续执行该计算阶段,而不一定要等到返回该GPU计算子任务的处理结果之后才执行该计算阶段。
进一步地,由于各个联邦学习计算任务提交GPU计算子任务的时间是不固定的,因此,可以在接收到的多个GPU计算子任务满足一定条件时,统一调度GPU来处理这些计算子任务。其中,需要满足的条件可以是预先设置的,例如可以是GPU计算子任务的数量达到一定的数量,或者是预设了每隔一段时间进行一次统一调度。
进一步地,在一实施方式中,所述步骤S20中调用GPU并行处理各所述GPU计算子任务的步骤包括:
步骤a,调用GPU的多个流处理器并行地分别处理各所述GPU计算子任务。
GPU中一般有多个流处理器,用于并行地处理数据,在一实施方式中,可调用GPU的多个流处理器并行地分别处理各个GPU计算子任务,也即一个流处理器处理一个GPU计算子任务,从而实现并行处理。在其他实施方式中,也可以调用GPU按照其他的方式并行处理各个GPU计算子任务。
以每个联邦学习计算任务包括2个CPU计算阶段和1个GPU计算阶段来举例。现有方式中,如图3所示,各个联邦学习计算任务(简称任务)之间是相同独立的,各个任务内部是串行处理的,而对于GPU则任一时刻只有一个任务占有使用。以3个任务为例,假设3个任务同时启动,任务使用时段及GPU的使用可如图4所示,3个联邦学习计算任务于t0时刻启动,GPU的利用时段是t1~t2,最终于t3结束所有任务计算。
在本实施例中,如图5所示,各个联邦学习计算任务可提交各自的GPU计算子任务,由一个调度中心在接收到多个GPU计算子任务后,统一调度GPU来并行处理各个GPU计算子任务。对应图4,以本实施例中的人物处理方式,任务使用时段及GPU的使用可如图6所示。对比图4和图6发现:第一,GPU使用时长变短了,由t2-t1缩短到t5-t4,能空出更多时间段供其他任务使用,提升了GPU资源利用率;第二,任务整体等待时间变短了,任务最终运行完成时间也变短了,任务运行结束时间由t3缩短到t6,提升了任务运行效率,能支持更多任务处理,从而从整体上提高了联邦学习建模效率。当联邦学习计算任务数量更多,不同任务处于不同计算时段的情况下,能够取得更好的优化效果,理论上GPU的使用效率能提升到100%。
相比于现有方式中GPU被一个联邦学习计算任务独占,其他任务无法使用GPU,导致GPU资源利用率不高,在本实施例中,各个联邦学习计算子任务可以提交各自的GPU计算子任务,通过接收多个联邦学习计算任务分别提交的具有相同计算逻辑的GPU计算子任务,调用GPU并行处理这些GPU计算子任务,并将GPU的处理结果对应返回给各个联邦学习计算任务,使得GPU可以并行地处理不同联邦学习计算任务,也即各个联邦学习计算任务可以并行地使用GPU,相比于串行独占的方式,极大地提高了GPU资源利用率,减少了GPU的空闲时间,也缩短了联邦学习计算任务的处理时间,从而能够提升联邦学习建模效率。
进一步地,基于上述第一实施例,提出本发明任务处理方法的第二实施例,在本实施例中,所述步骤S20包括:
步骤S201,获取各所述GPU计算子任务对应的输入数据;
在联邦学习计算任务中,一般会涉及到对数据进行加解密或编解码等计算,因此,联邦学习计算任务在提交GPU计算子任务时,将该需要计算的数据作为输入数据提交。在接收到提交的GPU计算子任务后,即可获取到各个GPU计算子任务对应的输入数据。
步骤S202,调用GPU按照各所述GPU计算子任务对应的计算逻辑并行处理各所述输入数据;
在获取到各个输入数据后,调用GPU按照各个GPU计算子任务对应的计算逻辑并行处理各个输入数据。其中,GPU计算子任务的计算逻辑可以是编码、解码、加密或解密等。例如,若各个GPU计算子任务对应的计算逻辑是编码,则将各个计算子任务的输入数据汇集后,同一输入给GPU,以调用GPU对各个输入数据进行编码处理,得到各个输入数据的编码结果,也即得到了各个GPU计算子任务对应的处理结果。
步骤S203,接收GPU返回的各所述GPU计算子任务对应的处理结果,将各所述处理结果返回给各所述联邦学习计算任务。
接收GPU返回的各个GPU计算子任务对应的处理结果,将各个处理结果返回给各个联邦学习计算任务。也即,将GPU计算子任务的处理结果返回给提交该GPU计算子任务的联邦学习计算任务。其中,返回处理结果的方式可以是采用现有的进程或线程间通信方式来提交,例如共享文件、网络通信或共享内存等通信方式。
进一步地,所述步骤S201包括:
步骤S2011,从共享内存中获取各所述GPU计算子任务对应的输入数据,其中,各所述联邦学习计算任务分别将各自GPU计算子任务的输入数据写入所述共享内存,以提交各自的GPU计算子任务。
在一实施方式中,联邦学习计算任务可以通过共享内存的方式提交GPU计算子任务。具体地,联邦学习计算任务可将GPU计算子任务的输入数据写入共享内存中,以完成提交GPU计算子任务。调度中心可以从共享内存中获取GPU计算子任务的输入数据。在获取到GPU返回的处理结果后,可将处理结果写入共享内存中,供各个联邦学习计算任务提取处理结果。不同的联邦学习计算任务对应的共享内存可不同,或者预先可约定与各个联邦学习计算任务之间通过共享内存通信的规则,从而使得调度中心可以准确地将处理结果返回给各个联邦学习计算任务。
在本实施例中,各个联邦学习计算任务通过将输入数据写入共享内存的方式提交GPU计算子任务,调度中心从共享内存中获取输入数据,并将各个输入数据统一输入给GPU,以调用GPU并行地按照相同的计算逻辑处理这些输入数据,使得GPU能够并行地处理各个联邦学习计算任务,提高了GPU资源利用率。并且,通过共享内存的方式提交GPU计算子任务,使得调度中心能够快速地获取到输入数据,进而进行GPU资源调度,从整体上进一步提高了联邦学习任务的处理效率。
进一步地,基于上述第一和/或第二实施例,提出本发明任务处理方法的第三实施例,在本实施例中,所述步骤S20之前,还包括:
步骤S30,对接收到的各所述GPU计算子任务进行计数,并检测计数数量是否达到预设数量;
在本实施例中,调度中心可接收各个联邦学习计算任务提交的GPU计算子任务,并对接收到的GPU计算任务进行计数。初始化时,计数数量设置为0,每接收到一个GPU计算任务,则对计数数量加一,并检测计数数量是否达到预设数量;其中,预设数量可以是预先设置的,设置为GPU所能够并行处理的最大任务数。需要说明的是,这里是针对具有相同计算逻辑的GPU计算子任务进行的计数,若接收到不同计算逻辑的GPU计算子任务,则可以针对不同的计算逻辑进行分别计数,并分别检测各种计算逻辑对应的计数数量是否达到预设数量。
步骤S40,若所述计数数量达到所述预设数量,则执行所述步骤S20,并将所述计数数量重置零。
若检测到计数数量达到预设数量,则执行步骤S20,也即调用GPU并行处理接收到的各个具有相同计算逻辑的GPU计算子任务。例如,预设数量是10,若检测到计数数量等于10,则调用GPU并行处理这10个GPU计算子任务。调用GPU处理这些GPU计算子任务的同时,调度中心将计数数量重置为零,并继续进行计数。
在本实施例中,通过对接收到的GPU计算子任务进行计数,当计数数量达到预设数量时进行统一调用GPU并行处理这些GPU计算子任务,使得GPU能够并行处理更多的子任务,从而最大化GPU的资源利用率;又可以通过预设数量来限制并行处理的子任务的数量,避免超出GPU的负荷而导致数据处理故障的发生。
进一步地,在一实施方式中,所述步骤S30之后,还包括:
步骤S50,检测计数时长是否达到预设时长;
步骤S60,若所述计数时长达到所述预设时长,则执行所述步骤S20,并将所述计数数量和所述计数时长均重置零。
为避免计数数量长时间不能达到预设数量,调度中心又已经接收到的一些GPU计算子任务,而导致这些GPU计算子任务需要长时间等待,在本实施例中,可在计数的同时,也记录计数时长,也即,从开始计数起进行计时,并检测计数时长是否大于预设时长。若检测到计时时长大于预设时长,则可以执行步骤S20,也即调用GPU并行处理已经接收到的GPU计算子任务。并在调用GPU处理这些GPU计算子任务的同时,调度中心将计数数量和计数时长重置为零,并继续进行计数。在本实施例中,通过进一步地添加计数时长的条件,使得GPU最大限度地并行处理任务的同时,也能够保证整体的计算效率,从而兼顾了GPU计算资源的利用率和联邦学习任务的处理效率。
进一步地,在一实施方式中,所述步骤S30之前,还包括:
步骤S70,检测GPU计算子任务的提交频率是否大于预设频率;
步骤S80,若大于,则执行所述对接收到的各所述GPU计算子任务进行计数,并检测计数数量是否达到预设数量的步骤。
在一实施方式中,由于联邦学习过程中需要GPU处理的计算任务可能是突发式的,也即,联邦学习计算任务提交GPU计算子任务的频率是不固定的;当提交频率较大时,调度中心在短时间内即能够接收到大量的GPU计算子任务,从而需要限制一批处理GPU计算子任务的数量,使得提交给GPU的任务不会超过GPU的负荷;当提交频率较小时,调度中心需要等待较长时间才能够接收到最大限度利用GPU资源的子任务。
因此,调度中心可以每隔一段时间检测GPU计算子任务的提交频率。提交频率即单位时间内接收到的GPU计算子任务的数量。检测提交频率是否大于预设频率,预设频率可以是根据需要进行设置的。若提交频率大于预设频率,则调度中心可以执行步骤S30及后续的步骤,也即,提交频率较大时,限制并行处理的GPU计算子任务的数量,避免超过GPU符合。若提交频率小于预设频率,则调度中心可以每隔一段时长进行一次GPU调度,调用GPU处理该时长内接收到的GPU计算子任务。
此外,此外本发明实施例还提出一种任务处理装置,参照图7,所述装置包括:
接收模块10,用于接收各个联邦学习计算任务分别提交的具有相同计算逻辑的图形处理器GPU计算子任务;
调用模块20,用于调用GPU并行处理各所述GPU计算子任务,并将GPU的处理结果对应返回给各所述联邦学习计算任务。
进一步地,所述调用模块20包括:
获取单元,用于获取各所述GPU计算子任务对应的输入数据;
调度单元,用于调用GPU按照各所述GPU计算子任务对应的计算逻辑并行处理各所述输入数据;
返回单元,用于接收GPU返回的各所述GPU计算子任务对应的处理结果,将各所述处理结果返回给各所述联邦学习计算任务。
进一步地,所述获取单元还用于:
从共享内存中获取各所述GPU计算子任务对应的输入数据,其中,各所述联邦学习计算任务分别将各自GPU计算子任务的输入数据写入所述共享内存,以提交各自的GPU计算子任务。
进一步地,所述装置还包括:
第一检测模块,用于对接收到的各所述GPU计算子任务进行计数,并检测计数数量是否达到预设数量;
所述调用模块20还用于若所述计数数量达到所述预设数量,则执行所述调用GPU并行处理各所述GPU计算子任务,并将GPU的处理结果对应返回给各所述联邦学习计算任务的步骤,并将所述计数数量重置零。
进一步地,所述装置还包括:
第二检测模块,用于检测计数时长是否达到预设时长;
所述调度模块20还用于若所述计数时长达到所述预设时长,则执行所述调用GPU并行处理各所述GPU计算子任务,并将GPU的处理结果对应返回给各所述联邦学习计算任务的步骤,并将所述计数数量和所述计数时长均重置零。
进一步地,所述装置还包括:
第三检测模块,用于检测GPU计算子任务的提交频率是否大于预设频率;
所述第一检测模块,还用于若大于,则执行所述对接收到的各所述GPU计算子任务进行计数,并检测计数数量是否达到预设数量的步骤。
进一步地,所述调度模块20还用于:
调用GPU的多个流处理器并行地分别处理各所述GPU计算子任务。
本发明任务处理装置的具体实施方式的拓展内容与上述任务处理方法各实施例基本相同,在此不做赘述。
此外,本发明实施例还提出一种计算机可读存储介质,所述存储介质上存储有任务处理程序,所述任务处理程序被处理器执行时实现如下所述的任务处理方法的步骤。
本发明任务处理设备和计算机可读存储介质的各实施例,均可参照本发明任务处理方法各个实施例,此处不再赘述。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (10)
1.一种任务处理方法,其特征在于,所述方法包括:
接收各个联邦学习计算任务分别提交的具有相同计算逻辑的图形处理器GPU计算子任务;
调用GPU并行处理各所述GPU计算子任务,并将GPU的处理结果对应返回给各所述联邦学习计算任务。
2.如权利要求1所述的任务处理方法,其特征在于,所述调用GPU并行处理各所述GPU计算子任务,并将GPU的处理结果对应返回给各所述联邦学习计算任务的步骤包括:
获取各所述GPU计算子任务对应的输入数据;
调用GPU按照各所述GPU计算子任务对应的计算逻辑并行处理各所述输入数据;
接收GPU返回的各所述GPU计算子任务对应的处理结果,将各所述处理结果返回给各所述联邦学习计算任务。
3.如权利要求2所述的任务处理方法,其特征在于,所述获取各所述GPU计算子任务对应的输入数据的步骤包括:
从共享内存中获取各所述GPU计算子任务对应的输入数据,其中,各所述联邦学习计算任务分别将各自GPU计算子任务的输入数据写入所述共享内存,以提交各自的GPU计算子任务。
4.如权利要求1所述的任务处理方法,其特征在于,所述调用GPU并行处理各所述GPU计算子任务,并将GPU的处理结果对应返回给各所述联邦学习计算任务的步骤之前,还包括:
对接收到的各所述GPU计算子任务进行计数,并检测计数数量是否达到预设数量;
若所述计数数量达到所述预设数量,则执行所述调用GPU并行处理各所述GPU计算子任务,并将GPU的处理结果对应返回给各所述联邦学习计算任务的步骤,并将所述计数数量重置零。
5.如权利要求4所述的任务处理方法,其特征在于,所述对接收到的各所述GPU计算子任务进行计数的步骤之后,还包括:
检测计数时长是否达到预设时长;
若所述计数时长达到所述预设时长,则执行所述调用GPU并行处理各所述GPU计算子任务,并将GPU的处理结果对应返回给各所述联邦学习计算任务的步骤,并将所述计数数量和所述计数时长均重置零。
6.如权利要求4所述的任务处理方法,其特征在于,所述对接收到的各所述GPU计算子任务进行计数,并检测计数数量是否达到预设数量的步骤之前,还包括:
检测GPU计算子任务的提交频率是否大于预设频率;
若大于,则执行所述对接收到的各所述GPU计算子任务进行计数,并检测计数数量是否达到预设数量的步骤。
7.如权利要求1至6任一项所述的任务处理方法,其特征在于,所述调用GPU并行处理各所述GPU计算子任务的步骤包括:
调用GPU的多个流处理器并行地分别处理各所述GPU计算子任务。
8.一种任务处理装置,其特征在于,所述装置包括:
接收模块,用于接收各个联邦学习计算任务分别提交的具有相同计算逻辑的图形处理器GPU计算子任务;
调用模块,用于调用GPU并行处理各所述GPU计算子任务,并将GPU的处理结果对应返回给各所述联邦学习计算任务。
9.一种任务处理设备,其特征在于,所述任务处理设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的任务处理程序,所述任务处理程序被所述处理器执行时实现如权利要求1至7中任一项所述的任务处理方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有任务处理程序,所述任务处理程序被处理器执行时实现如权利要求1至7中任一项所述的任务处理方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011285222.4A CN112395062A (zh) | 2020-11-17 | 2020-11-17 | 任务处理方法、装置、设备及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011285222.4A CN112395062A (zh) | 2020-11-17 | 2020-11-17 | 任务处理方法、装置、设备及计算机可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112395062A true CN112395062A (zh) | 2021-02-23 |
Family
ID=74600556
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011285222.4A Pending CN112395062A (zh) | 2020-11-17 | 2020-11-17 | 任务处理方法、装置、设备及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112395062A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113194086A (zh) * | 2021-04-27 | 2021-07-30 | 新华三信息安全技术有限公司 | 一种防攻击的方法及设备 |
CN115220921A (zh) * | 2022-09-19 | 2022-10-21 | 浙江大华技术股份有限公司 | 资源调度方法及相关装置、图形处理器、摄像器件和介质 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102299843A (zh) * | 2011-06-28 | 2011-12-28 | 北京安天电子设备有限公司 | 一种基于gpu和缓冲区的网络数据处理方法及系统 |
CN103049241A (zh) * | 2013-01-24 | 2013-04-17 | 重庆邮电大学 | 一种提高cpu+gpu异构装置计算性能的方法 |
CN107563955A (zh) * | 2017-09-12 | 2018-01-09 | 武汉锐思图科技有限公司 | 一种基于gpu的并行地图切片方法及系统 |
CN109670001A (zh) * | 2018-11-14 | 2019-04-23 | 南京大学 | 基于cuda的多边形栅格化gpu并行计算方法 |
KR102029711B1 (ko) * | 2018-05-30 | 2019-10-08 | 한국항공대학교산학협력단 | 멀티 gpu 기반의 딥러닝 모델의 병렬화를 위한 작업 할당 장치 및 방법 |
WO2020190812A1 (en) * | 2019-03-15 | 2020-09-24 | Intel Corporation | Compute optimization in graphics processing |
CN111736987A (zh) * | 2020-05-29 | 2020-10-02 | 山东大学 | 一种基于gpu空间资源共享的任务调度方法 |
CN111831330A (zh) * | 2020-07-10 | 2020-10-27 | 深圳致星科技有限公司 | 用于联邦学习的异构计算系统设备交互方案 |
-
2020
- 2020-11-17 CN CN202011285222.4A patent/CN112395062A/zh active Pending
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102299843A (zh) * | 2011-06-28 | 2011-12-28 | 北京安天电子设备有限公司 | 一种基于gpu和缓冲区的网络数据处理方法及系统 |
CN103049241A (zh) * | 2013-01-24 | 2013-04-17 | 重庆邮电大学 | 一种提高cpu+gpu异构装置计算性能的方法 |
CN107563955A (zh) * | 2017-09-12 | 2018-01-09 | 武汉锐思图科技有限公司 | 一种基于gpu的并行地图切片方法及系统 |
KR102029711B1 (ko) * | 2018-05-30 | 2019-10-08 | 한국항공대학교산학협력단 | 멀티 gpu 기반의 딥러닝 모델의 병렬화를 위한 작업 할당 장치 및 방법 |
CN109670001A (zh) * | 2018-11-14 | 2019-04-23 | 南京大学 | 基于cuda的多边形栅格化gpu并行计算方法 |
WO2020190812A1 (en) * | 2019-03-15 | 2020-09-24 | Intel Corporation | Compute optimization in graphics processing |
CN111736987A (zh) * | 2020-05-29 | 2020-10-02 | 山东大学 | 一种基于gpu空间资源共享的任务调度方法 |
CN111831330A (zh) * | 2020-07-10 | 2020-10-27 | 深圳致星科技有限公司 | 用于联邦学习的异构计算系统设备交互方案 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113194086A (zh) * | 2021-04-27 | 2021-07-30 | 新华三信息安全技术有限公司 | 一种防攻击的方法及设备 |
CN113194086B (zh) * | 2021-04-27 | 2022-05-27 | 新华三信息安全技术有限公司 | 一种防攻击的方法及设备 |
CN115220921A (zh) * | 2022-09-19 | 2022-10-21 | 浙江大华技术股份有限公司 | 资源调度方法及相关装置、图形处理器、摄像器件和介质 |
CN115220921B (zh) * | 2022-09-19 | 2023-01-03 | 浙江大华技术股份有限公司 | 资源调度方法及相关装置、图形处理器、摄像器件和介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113535367B (zh) | 任务调度方法及相关装置 | |
US9798830B2 (en) | Stream data multiprocessing method | |
WO2021088419A1 (zh) | 一种多业务请求进程调用fpga设备的方法及相关装置 | |
CN107688495B (zh) | 调度处理器的方法及设备 | |
CN107562528B (zh) | 支持多种计算框架的单元化按需计算方法及相关装置 | |
CN111078436A (zh) | 数据处理的方法、装置、设备及存储介质 | |
CN109840149B (zh) | 任务调度方法、装置、设备及存储介质 | |
CN112035238A (zh) | 任务调度处理方法、装置、集群系统及可读存储介质 | |
WO2023082575A1 (zh) | 一种面向神经网络模型计算的图执行流水并行方法和装置 | |
CN112395062A (zh) | 任务处理方法、装置、设备及计算机可读存储介质 | |
Dubey et al. | A priority based job scheduling algorithm using IBA and EASY algorithm for cloud metaschedular | |
CN114637536A (zh) | 任务处理方法、计算协处理器、芯片及计算机设备 | |
CN115373822A (zh) | 任务调度方法、任务处理方法、装置、电子设备和介质 | |
CN111290842A (zh) | 一种任务执行方法和装置 | |
CN113051049A (zh) | 任务调度系统、方法、电子设备及可读存储介质 | |
CN112860401A (zh) | 任务调度方法、装置、电子设备和存储介质 | |
CN117271122A (zh) | 基于cpu和gpu分离的任务处理方法、装置、设备及存储介质 | |
CN112181689A (zh) | 一种在云端下进行gpu内核程序高效率调度的运行时系统 | |
CN114896295B (zh) | 大数据场景下的数据脱敏方法、脱敏装置及脱敏系统 | |
CN112486638A (zh) | 用于执行处理任务的方法、装置、设备和存储介质 | |
Kuo et al. | Real-time task scheduling on heterogeneous two-processor systems | |
CN112540838B (zh) | 系统资源调度方法及装置、计算机存储介质 | |
CN115344370A (zh) | 任务调度方法、装置、设备及存储介质 | |
CN112130977B (zh) | 一种任务调度方法、装置、设备及介质 | |
CN114661475A (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 |