CN110262887B - 基于特征识别的cpu-fpga任务调度方法及装置 - Google Patents

基于特征识别的cpu-fpga任务调度方法及装置 Download PDF

Info

Publication number
CN110262887B
CN110262887B CN201910563352.0A CN201910563352A CN110262887B CN 110262887 B CN110262887 B CN 110262887B CN 201910563352 A CN201910563352 A CN 201910563352A CN 110262887 B CN110262887 B CN 110262887B
Authority
CN
China
Prior art keywords
processed
task
tasks
fpga
cpu
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
Application number
CN201910563352.0A
Other languages
English (en)
Other versions
CN110262887A (zh
Inventor
张海涛
杜沛伦
马华东
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing University of Posts and Telecommunications
Original Assignee
Beijing University of Posts and Telecommunications
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing University of Posts and Telecommunications filed Critical Beijing University of Posts and Telecommunications
Priority to CN201910563352.0A priority Critical patent/CN110262887B/zh
Publication of CN110262887A publication Critical patent/CN110262887A/zh
Application granted granted Critical
Publication of CN110262887B publication Critical patent/CN110262887B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation 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/5038Allocation 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 the execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation 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/505Allocation 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 the load

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Complex Calculations (AREA)
  • Devices For Executing Special Programs (AREA)

Abstract

本发明实施例提供了一种基于特征识别的CPU‑FPGA任务调度方法及装置,其中方法包括:获取多个待处理任务及各待处理任务的数据量,提取多个待处理任务中各待处理任务的特征信息,基于各待处理任务的CPU特征信息,FPGA特征信息,以及任务自身特征信息,生成各待处理任务的特征向量,将所生成的各待处理任务的特征向量输入预先训练的分类模型中,得到各待处理任务的分类结果,根据各待处理任务的数据量之间的大小关系,对待处理任务进行排序,并将排序后的各待处理任务按照预设策略分别调度至CPU和FPGA中处理。本发明实施例,能够实现在CPU‑FPGA任务调度过程中,提高CPU‑FPGA的负载均衡性。

Description

基于特征识别的CPU-FPGA任务调度方法及装置
技术领域
本发明涉及计算机技术领域,特别是涉及一种基于特征识别的CPU-FPGA任务调度方法及装置。
背景技术
近年来随着人工智能、多媒体技术和高性能计算的发展,激发了人们对异构计算体系结构的广泛研究兴趣。传统的服务器平台无法承受大批量且多样化的数据处理任务,伴随着分布式计算和高性能计算的发展,异构计算应运而生。异构计算平台整合了异构的计算资源和存储资源,为任务的数据处理提供了弹性的资源配置,提高了资源利用率,降低了服务成本,同时提供了容错和故障恢复技术,为任务的数据处理提供了安全可靠的平台,使得越来越多的任务迁移到异构平台中进行处理。例如,任务可以是视频数据处理、图像数据处理等,异构平台可以为异构服务器等。
目前针对CPU(Central Processing Unit,中央处理单元)-FPGA(Field-Programmable Gate Array,现场可编程门阵列)异构平台上需要处理的任务,其采用的处理方法为:CPU针对CPU-FPGA异构平台上所接收到的任务,根据接收任务的先后顺序,将所接收的任务优先分配到FPGA上执行,当FPGA上所需执行的任务达到一定数量时(此时FPGA的内存已完全被占用),再将所接收的任务分配到CPU上执行。
然而,现有针对CPU-FPGA异构平台上任务的处理方法,是按照接收任务的先后顺序对任务进行分配处理的,实际应用中,因不同的任务所需处理的数据量的大小不同,使得仅按照接收任务的先后顺序对任务进行分配,容易出现将需处理数据量小或计算复杂度低的任务分配给FPGA,将需处理数据量大或计算复杂度高的任务分配给CPU,导致CPU-FPGA负载不均衡的问题。
发明内容
本发明实施例的目的在于提供一种基于特征识别的CPU-FPGA任务调度方法及装置,实现在CPU-FPGA任务调度过程中,进一步提高CPU-FPGA的负载均衡性。具体技术方案如下:
第一方面,本发明实施例提供了一种基于特征识别的CPU-FPGA任务调度方法,所述方法包括:
获取多个待处理任务及各待处理任务的数据量,所述待处理任务为所述CPU和所述FPGA中待进行处理的任务,所述数据量用于表示处理所述待处理任务所需的数据处理量;
提取所述多个待处理任务中各待处理任务的特征信息,所述特征信息包括:CPU特征信息,FPGA特征信息,以及任务自身特征信息;所述CPU特征信息用于表示CPU处理所述待处理任务时具有的特征,所述FPGA特征信息用于表示FPGA处理所述待处理任务时具有的特征;
基于各所述待处理任务的CPU特征信息,FPGA特征信息,以及任务自身特征信息,生成各所述待处理任务的特征向量;所述特征向量为所述待处理任务的特征信息经去除量纲后生成的;
将所生成的各所述待处理任务的特征向量输入预先训练的分类模型中,得到各所述待处理任务的分类结果,所述分类结果包括:第一分类结果和第二分类结果,所述第一分类结果对应的第一待处理任务用于在CPU中处理,所述第二分类结果对应的第二待处理任务用于在FPGA中处理;所述分类模型是根据预设任务对应的特征向量,及预设任务所对应的类别标签训练得到的;
根据各所述第一待处理任务的数据量之间的大小关系,对所述第一待处理任务进行排序,并将排序后的各所述第一待处理任务按照预设策略调度至CPU中进行处理;
根据各所述第二待处理任务的数据量之间的大小关系,对所述第二待处理任务进行排序,并将排序后的各所述第二待处理任务按照预设策略调度至FPGA中进行处理。
可选地,所述基于各所述待处理任务的CPU特征信息,FPGA特征信息,以及任务自身特征信息,生成各所述待处理任务的特征向量的步骤,包括:
将各所述待处理任务的CPU特征信息,FPGA特征信息以及任务自身特征信息去除量纲,得到各待处理任务的CPU特征数据,FPGA特征数据以及任务自身特征数据;
按照预设规则将各所述待处理任务的CPU特征数据,FPGA特征数据以及任务自身特征数据,组合成各待处理任务的特征向量。
可选地,所述第一分类结果为CPU任务子集,所述第二分类结果为FPGA任务子集,所述根据各所述第一待处理任务的数据量之间的大小关系,对所述第一待处理任务进行排序的步骤,包括:
将所述CPU任务子集对应的第一待处理任务,按照各第一待处理任务的数据量之间的大小关系升序排序,得到第一CPU任务队列;
或者,将所述CPU任务子集对应的第一待处理任务,按照各第一待处理任务的数据量之间的大小关系降序排序,得到第二CPU任务队列;
所述根据各所述第二待处理任务的数据量之间的大小关系,对所述第二待处理任务进行排序的步骤,包括:
将所述FPGA任务子集对应的第二待处理任务,按照各第二待处理任务的数据量之间的大小关系降序排序,得到第一FPGA任务队列;
或者,将所述FPGA任务子集对应的第二待处理任务,按照各第二待处理任务的数据量之间的大小关系升序排序,得到第二FPGA任务队列。
可选地,所述将排序后的各所述第一待处理任务按照预设策略调度至CPU中进行处理的步骤,包括:
针对排序后的各所述第一待处理任务,按照第一CPU任务队列中各第一待处理任务的先后顺序,依次将所述第一CPU任务队列中的各第一待处理任务调度至CPU中进行处理;
或者,针对排序后的各所述第一待处理任务,按照第二CPU任务队列中各第一待处理任务的倒序顺序,依次将所述第二CPU任务队列中的各第一待处理任务调度至CPU中进行处理。
可选地,所述将排序后的各所述第二待处理任务按照预设策略调度至FPGA中进行处理的步骤,包括:
针对排序后的各所述第二待处理任务,按照第一FPGA任务队列中各第二待处理任务的先后顺序,依次将所述第一FPGA任务队列中的各第二待处理任务调度至FPGA中进行处理;
或者,针对排序后的各所述第二待处理任务,按照第二FPGA任务队列中各第二待处理任务的倒序顺序,依次将所述第二FPGA任务队列中的各第二待处理任务调度至FPGA中进行处理。
第二方面,本发明实施例提供了一种基于特征识别的CPU-FPGA任务调度装置,所述装置包括:
获取模块,用于获取多个待处理任务及各待处理任务的数据量,所述待处理任务为所述CPU和所述FPGA中待进行处理的任务,所述数据量用于表示处理所述待处理任务所需的数据处理量;
提取模块,用于提取所述多个待处理任务中各待处理任务的特征信息,所述特征信息包括:CPU特征信息,FPGA特征信息,以及任务自身特征信息;所述CPU特征信息用于表示CPU处理所述待处理任务时具有的特征,所述FPGA特征信息用于表示FPGA处理所述待处理任务时具有的特征;
生成模块,用于基于各所述待处理任务的CPU特征信息,FPGA特征信息,以及任务自身特征信息,生成各所述待处理任务的特征向量;所述特征向量为所述待处理任务的特征信息经去除量纲后生成的;
分类模块,用于将所生成的各所述待处理任务的特征向量输入预先训练的分类模型中,得到各所述待处理任务的分类结果,所述分类结果包括:第一分类结果和第二分类结果,所述第一分类结果对应的第一待处理任务用于在CPU中处理,所述第二分类结果对应的第二待处理任务用于在FPGA中处理;所述分类模型是根据预设任务对应的特征向量,及预设任务所对应的类别标签训练得到的;
第一调度模块,用于根据各所述第一待处理任务的数据量之间的大小关系,对所述第一待处理任务进行排序,并将排序后的各所述第一待处理任务按照预设策略调度至CPU中进行处理;
第二调度模块,用于根据各所述第二待处理任务的数据量之间的大小关系,对所述第二待处理任务进行排序,并将排序后的各所述第二待处理任务按照预设策略调度至FPGA中进行处理。
可选地,所述生成模块,包括:
去量纲子模块,用于将各所述待处理任务的CPU特征信息,FPGA特征信息以及任务自身特征信息去除量纲,得到各待处理任务的CPU特征数据,FPGA特征数据以及任务自身特征数据;
生成子模块,用于按照预设规则将各所述待处理任务的CPU特征数据,FPGA特征数据以及任务自身特征数据,组合成各待处理任务的特征向量。
可选地,所述第一调度模块,具体用于:
将所述CPU任务子集对应的第一待处理任务,按照各第一待处理任务的数据量之间的大小关系升序排序,得到第一CPU任务队列;
或者,将所述CPU任务子集对应的第一待处理任务,按照各第一待处理任务的数据量之间的大小关系降序排序,得到第二CPU任务队列;
所述第二调度模块,具体用于:
将所述FPGA任务子集对应的第二待处理任务,按照各第二待处理任务的数据量之间的大小关系降序排序,得到第一FPGA任务队列;
或者,将所述FPGA任务子集对应的第二待处理任务,按照各第二待处理任务的数据量之间的大小关系升序排序,得到第二FPGA任务队列。
可选地,第一调度模块,具体用于:
针对排序后的各第一待处理任务,按照第一CPU任务队列中各第一待处理任务的先后顺序,依次将第一CPU任务队列中的各第一待处理任务调度至CPU中进行处理;
或者,针对排序后的各第一待处理任务,按照第二CPU任务队列中各第一待处理任务的倒序顺序,依次将第二CPU任务队列中的各第一待处理任务调度至CPU中进行处理。
可选地,第二调度模块,具体用于:
针对排序后的各第二待处理任务,按照第一FPGA任务队列中各第二待处理任务的先后顺序,依次将第一FPGA任务队列中的各第二待处理任务调度至FPGA中进行处理;
或者,针对排序后的各第二待处理任务,按照第二FPGA任务队列中各第二待处理任务的倒序顺序,依次将第二FPGA任务队列中的各第二待处理任务调度至FPGA中进行处理。
第三方面,本发明实施例还提供了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现上述第一方面所述的一种基于特征识别的CPU-FPGA任务调度方法步骤。
第四方面,本发明实施例还提供了一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行上述第一方面所述的一种基于特征识别的CPU-FPGA任务调度方法步骤。
本发明实施例有益效果:
本发明实施例提供的一种基于特征识别的CPU-FPGA任务调度方法及装置,由于对待处理任务的分类是基于各待处理任务的特征信息所生成的特征向量来实现的,在调度待处理任务前,综合考虑各待处理任务的CPU特征信息、FPGA特征信息以及任务自身特征信息,进而对待处理任务进行分类,使得分类之后得到的第一待处理任务更适合在CPU中处理,第二待处理任务更适合在FPGA中处理,实现在CPU-FPGA任务调度过程中,进一步提高CPU-FPGA的负载均衡性,并且,在对待处理任务进行调度时,由于基于待处理任务的数据量之间的大小关系进行调度,因此可以更好的协调利用CPU和FPGA的资源。
当然,实施本发明的任一产品或方法并不一定需要同时达到以上所述的所有优点。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种基于特征识别的CPU-FPGA任务调度方法的流程示意图;
图2为本发明实施例提供的一种特征向量生成方式流程示意图;
图3为本发明实施例提供的一种基于特征识别的CPU-FPGA任务调度装置的结构示意图;
图4为本发明实施例提供的一种生成模块的结构示意图;
图5为本发明实施例提供的一种电子设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为了解决现有在CPU-FPGA任务调度过程中,导致的CPU-FPGA负载不均衡的问题,本发明实施例提供了一种基于特征识别的CPU-FPGA任务调度方法及装置。
下面首先对本发明实施例所提供的一种基于特征识别的CPU-FPGA任务调度方法进行介绍。
如图1所示,图1为本发明实施例提供的一种基于特征识别的CPU-FPGA任务调度方法的流程示意图,该方法可以包括:
S101、获取多个待处理任务及各待处理任务的数据量。
本发明实施例中,针对CPU-FPGA异构平台上任务的调度过程,可以通过CPU执行。在对任务进行调度之前,可以先获取多个待处理任务,以及各待处理任务的数据量。其中,待处理任务可以为CPU和FPGA中待进行处理的任务,待处理任务的数据量可以表示处理待处理任务所需的数据处理量。
实际应用中,所获取的待处理任务可以是用户向CPU-FPGA异构平台发送的任务,也可以是其他设备向CPU-FPGA异构平台发送的任务。
S102、提取多个待处理任务中各待处理任务的特征信息。
在获取多个待处理任务之后,可以提取多个待处理任务中各个待处理任务对应的特征信息,该特征信息可以包括:CPU特征信息,FPGA特征信息,以及任务自身特征信息。其中,CPU特征信息用于表示CPU处理待处理任务时具有的特征,FPGA特征信息用于表示FPGA处理待处理任务时具有的特征。
可以理解的,CPU特征信息可以是CPU固有的一些特征属性,FPGA特征信息可以是FPGA固有的一些特征属性。示例性的,CPU特征信息及FPGA特征信息可以包括:CPU芯片频率、FPGA芯片频率、CPU和主机内存之间的最大数据传输速率、CPU和FPGA之间的最大带宽以及局部存储和全局存储之间的带宽等。
任务自身特征信息可以包括:静态特征信息和动态特征信息。示例性的,静态特征信息可以包括:OpenCL(Open Computing Language,开放运算语言)内核的间隔时间、第一个有效输出前丢失的时钟周期个数、LUTs(Look-Up-Tables,查找表)利用率、FFs(FringeField Switching,边缘场开关技术)利用率、OpenCL内核的最优时钟周期、计算任务的复杂度等,例如,第一个有效输出前丢失的时钟周期个数可以是,当第一个有效输出在第三个时钟周期后可用,那么该第一个有效输出前丢失的时钟周期个数为2,任务的复杂度可以是任务中算法的复杂度等,该任务的静态特征信息可以表示该待处理任务在处理过程中不会发生变化的特征。动态特征信息可以包括:主机传输到FPGA的数据量、FPGA传输到主机的数据量、CPU和FPGA全局工作项数量以及CPU和FPGA局部工作量数量等,该任务的动态特征信息可以表示该待处理任务在处理过程中发生变化的特征。
S103、基于各待处理任务的CPU特征信息,FPGA特征信息,以及任务自身特征信息,生成各待处理任务的特征向量。
本发明实施例中,提取各待处理任务的特征信息,将待处理任务的特征信息经去除量纲后生成各待处理任务的特征向量,参见图2,图2为本发明实施例提供的一种特征向量生成方式流程示意图,该生成方式可以包括:
S1031、将各待处理任务的CPU特征信息,FPGA特征信息以及任务自身特征信息去除量纲,得到各待处理任务的CPU特征数据,FPGA特征数据以及任务自身特征数据。
示例性的,待处理任务的CPU特征信息,FPGA特征信息以及任务自身特征信息可以包括:CPU芯片频率为50Hz,CPU和FPGA之间的最大带宽为50bps,OpenCL内核的最优时钟周期为50s、FPGA传输到主机的数据量为50MB,CPU和FPGA局部工作量数量为50个等,将这些特征信息去除量纲,对应得到待处理任务的CPU特征数据,FPGA特征数据以及任务自身特征数据为:CPU芯片频率为50,CPU和FPGA之间的最大带宽为50,OpenCL内核的最优时钟周期为50、FPGA传输到主机的数据量为50,CPU和FPGA局部工作量数量为50等。
S1032、按照预设规则将各待处理任务的CPU特征数据,FPGA特征数据以及任务自身特征数据,组合成各待处理任务的特征向量。
示例性的,得到待处理任务的CPU特征数据,FPGA特征数据以及任务自身特征数据为:CPU芯片频率为50,CPU和FPGA之间的最大带宽为50,OpenCL内核的最优时钟周期为50、FPGA传输到主机的数据量为50,CPU和FPGA局部工作量数量为50等,将这些特征数据组合成待处理任务的特征向量可以表示为(50,50,50,50,50)。其中,预设规则可以是将CPU特征数据放在前面,将FPGA特征数据放在中间,将任务自身特征数据放在最后,进而组合成待处理任务的特征向量;预设规则也可以是将待处理任务的CPU特征数据,FPGA特征数据以及任务自身特征数据随机排列,组合成待处理任务的特征向量。具体的,预设规则的设置本领域技术人员可以根据实际需求进行设置,本发明实施例在此不作限定。
参见图1,S104、将所生成的各待处理任务的特征向量输入预先训练的分类模型中,得到各待处理任务的分类结果。
将生成的各待处理任务的特征向量输入预先训练的分类模型中,进一步得到各待处理任务的分类结果。该分类结果可以包括:第一分类结果和第二分类结果,其中,第一分类结果对应的第一待处理任务用于在CPU中处理,第二分类结果对应的第二待处理任务用于在FPGA中处理。
分类模型是根据预设任务对应的特征向量,及预设任务所对应的类别标签训练得到的。示例性的,该分类模型可以是基于SVM(Support Vector Machine,支持向量机)算法的SVM分类模型,或基于KNN(k-NearestNeighbor,K最近邻)算法的KNN分类模型,或基于K-means(k-means clustering algorithm,k均值聚类)算法的K-means分类模型。预设任务可以是预先收集的用于训练分类模型的任务集合中的任务,预先收集的任务集合可以为包含多个任务的数据量在1M到1G不等的任务集合,任务集合中的任务可以包括视觉类任务、加密类任务及高性能并行性任务等,例如,视觉类任务可以包括:边缘检测类任务、去水印类任务或目标检测类任务等。
示例性的,针对预先收集的预设任务,可参照上述提取待处理任务的特征信息,生成各待处理任务的特征向量的实现方式,来提取预设任务的特征信息,生成预设任务对应的特征向量。进一步在CPU-FPGA平台上实测得到预设任务对应的加速比,该加速比即加速程度,可以用预设任务分别在CPU和FPGA中处理所需的处理时间的比值来精确描述。可以将加速比大于4的预设任务定义为加速任务,将加速比不大于4的预设任务定义为普通任务,进一步的,将加速任务对应的类别标识为第二分类结果,将普通任务对应的类别标识为第一分类结果,得到预设任务所对应的类别标签。然后,根据预设任务对应的特征向量,及预设任务所对应的类别标签训练得到分类模型,具体的训练过程可参照现有技术的实现,本发明实施例在此不做赘述。
本发明实施例中,将加速任务对应的类别标识为第二分类结果,将普通任务对应的类别标识为第一分类结果,训练得到的分类模型,可以将各待处理任务的特征向量输入该分类模型中,得到在CPU中处理的第一待处理任务对应的第一分类结果,以及在FPGA中处理的第二待处理任务对应的第二分类结果。使得可以将任务复杂度低的或数据计算并行程度小、不利于FPGA芯片加速的待处理任务划分为第一分类结果在CPU中处理,将任务复杂度高的或数据计算并行程度大、有利于FPGA芯片加速的待处理任务划分为第二分类结果在FPGA中处理,以提高CPU-FPGA的负载均衡性。
S105、根据各第一待处理任务的数据量之间的大小关系,对第一待处理任务进行排序,并将排序后的各第一待处理任务按照预设策略调度至CPU中进行处理。
本发明实施例中,第一分类结果可以表示为CPU任务子集,第二分类结果可以表示为FPGA任务子集。CPU任务子集对应有多个第一待处理任务,FPGA任务子集对应有多个第二待处理任务。
其中,根据各第一待处理任务的数据量之间的大小关系,对第一待处理任务进行排序的实施方式可以包括:
一种对第一待处理任务排序的实施方式中,可以将CPU任务子集对应的第一待处理任务,按照各第一待处理任务的数据量之间的大小关系升序排序,得到第一CPU任务队列。其中,第一待处理任务的数据量可以表示为处理该第一待处理任务所需的数据处理量。
另一种对第一待处理任务排序的实施方式中,可以将CPU任务子集对应的第一待处理任务,按照各第一待处理任务的数据量之间的大小关系降序排序,得到第二CPU任务队列。其中,第二待处理任务的数据量可以表示为处理该第二待处理任务所需的数据处理量。
第一待处理任务排序实施方式的不同,将排序后的各第一待处理任务按照预设策略调度至CPU中进行处理的实施方式也不同。具体的,针对上述一种对第一待处理任务排序的实施方式,将排序后的各第一待处理任务按照预设策略调度至CPU中进行处理的实施方式可以为:
针对排序后的各第一待处理任务,按照第一CPU任务队列中各第一待处理任务的先后顺序,依次将第一CPU任务队列中的各第一待处理任务调度至CPU中进行处理。此时,预设策略可以为:按照第一CPU任务队列中各第一待处理任务的先后顺序依次对各第一待处理任务进行调度。
针对上述另一种对第一待处理任务排序的实施方式,将排序后的各第一待处理任务按照预设策略调度至CPU中进行处理的实施方式可以为:
针对排序后的各第一待处理任务,按照第二CPU任务队列中各第一待处理任务的倒序顺序,依次将第二CPU任务队列中的各第一待处理任务调度至CPU中进行处理。此时,预设策略可以为:按照第一CPU任务队列中各第一待处理任务的倒序顺序依次对各第一待处理任务进行调度。
作为本发明一种可选的实施方式,根据各第一待处理任务的数据量之间的大小关系,对各第一待处理任务进行排序,并在排序后按照先后顺序或倒序顺序依次将各第一待处理任务调度至CPU中进行处理,使得数据量较小对应的第一待处理任务优先在CPU中处理。进一步的,可以在CPU任务队列为空时,优先调度FPGA任务队列中数据量较小对应的第二待处理任务,以便于更好的协调利用CPU和FPGA的资源。
S106、根据各第二待处理任务的数据量之间的大小关系,对第二待处理任务进行排序,并将排序后的各第二待处理任务按照预设策略调度至FPGA中进行处理。
其中,根据各第二待处理任务的数据量之间的大小关系,对第二待处理任务进行排序的实施方式可以包括:
一种对第二待处理任务排序的实施方式中,可以将FPGA任务子集对应的第二待处理任务,按照各第二待处理任务的数据量之间的大小关系降序排序,得到第一FPGA任务队列。
另一种对第二待处理任务排序的实施方式中,可以将FPGA任务子集对应的第二待处理任务,按照各第二待处理任务的数据量之间的大小关系升序排序,得到第二FPGA任务队列。
第二待处理任务排序实施方式的不同,将排序后的各第二待处理任务按照预设策略调度至FPGA中进行处理的实施方式也不同。具体的,针对上述一种对第二待处理任务排序的实施方式,将排序后的各第二待处理任务按照预设策略调度至FPGA中进行处理的实施方式可以为:
针对排序后的各第二待处理任务,按照第一FPGA任务队列中各第二待处理任务的先后顺序,依次将第一FPGA任务队列中的各第二待处理任务调度至FPGA中进行处理。此时,预设策略可以为:按照第一FPGA任务队列中各第二待处理任务的先后顺序依次对各第二待处理任务进行调度。
针对上述另一种对第二待处理任务排序的实施方式,将排序后的各第二待处理任务按照预设策略调度至FPGA中进行处理的实施方式可以为:
针对排序后的各第二待处理任务,按照第二FPGA任务队列中各第二待处理任务的倒序顺序,依次将第二FPGA任务队列中的各第二待处理任务调度至FPGA中进行处理。此时,预设策略可以为:按照第二FPGA任务队列中各第二待处理任务的倒序顺序依次对各第二待处理任务进行调度。
作为本发明一种可选的实施方式,根据各第二待处理任务的数据量之间的大小关系,对各第二待处理任务进行排序,并在排序后按照先后顺序或倒序顺序依次将各第二待处理任务调度至FPGA中进行处理,使得数据量较大对应的第二待处理任务优先在FPGA中处理。进一步的,可以在FPGA任务队列为空时,优先调度CPU任务队列中数据量较大对应的第一待处理任务,以便于更好的协调利用CPU和FPGA的资源。
本发明实施例提供的一种基于特征识别的CPU-FPGA任务调度方法,由于对待处理任务的分类是基于各待处理任务的特征信息所生成的特征向量来实现的,在调度待处理任务前,综合考虑各待处理任务的CPU特征信息、FPGA特征信息以及任务自身特征信息,进而对待处理任务进行分类,使得分类之后得到的第一待处理任务更适合在CPU中处理,第二待处理任务更适合在FPGA中处理,实现在CPU-FPGA任务调度过程中,进一步提高CPU-FPGA的负载均衡性,并且,在对待处理任务进行调度时,由于基于待处理任务的数据量之间的大小关系进行调度,因此可以更好的协调利用CPU和FPGA的资源。
相应于上述方法实施例,本发明实施例提供了一种基于特征识别的CPU-FPGA任务调度装置,如图3所示,该装置可以包括:
获取模块201,用于获取多个待处理任务及各待处理任务的数据量,待处理任务为CPU和FPGA中待进行处理的任务,数据量用于表示处理待处理任务所需的数据处理量。
提取模块202,用于提取多个待处理任务中各待处理任务的特征信息,特征信息包括:CPU特征信息,FPGA特征信息,以及任务自身特征信息;CPU特征信息用于表示CPU处理待处理任务时具有的特征,FPGA特征信息用于表示FPGA处理待处理任务时具有的特征。
生成模块203,用于基于各待处理任务的CPU特征信息,FPGA特征信息,以及任务自身特征信息,生成各待处理任务的特征向量;特征向量为待处理任务的特征信息经去除量纲后生成的。
分类模块204,用于将所生成的各待处理任务的特征向量输入预先训练的分类模型中,得到各待处理任务的分类结果,分类结果包括:第一分类结果和第二分类结果,第一分类结果对应的第一待处理任务用于在CPU中处理,第二分类结果对应的第二待处理任务用于在FPGA中处理;分类模型是根据预设任务对应的特征向量,及预设任务所对应的类别标签训练得到的。
第一调度模块205,用于根据各第一待处理任务的数据量之间的大小关系,对第一待处理任务进行排序,并将排序后的各第一待处理任务按照预设策略调度至CPU中进行处理。
第二调度模块206,用于根据各第二待处理任务的数据量之间的大小关系,对第二待处理任务进行排序,并将排序后的各第二待处理任务按照预设策略调度至FPGA中进行处理。
本发明实施例提供的一种基于特征识别的CPU-FPGA任务调度装置,由于对待处理任务的分类是基于各待处理任务的特征信息所生成的特征向量来实现的,在调度待处理任务前,综合考虑各待处理任务的CPU特征信息、FPGA特征信息以及任务自身特征信息,进而对待处理任务进行分类,使得分类之后得到的第一待处理任务更适合在CPU中处理,第二待处理任务更适合在FPGA中处理,实现在CPU-FPGA任务调度过程中,进一步提高CPU-FPGA的负载均衡性,并且,在对待处理任务进行调度时,由于基于待处理任务的数据量之间的大小关系进行调度,因此可以更好的协调利用CPU和FPGA的资源。
需要说明的是,本发明实施例的装置是与图1所示的一种基于特征识别的CPU-FPGA任务调度方法对应的装置,图1所示的一种基于特征识别的CPU-FPGA任务调度方法的所有实施例均适用于该装置,且均能达到相同的有益效果。
可选地,如图4所示,生成模块203,包括:
去量纲子模块2031,用于将各待处理任务的CPU特征信息,FPGA特征信息以及任务自身特征信息去除量纲,得到各待处理任务的CPU特征数据,FPGA特征数据以及任务自身特征数据。
生成子模块2032,用于按照预设规则将各待处理任务的CPU特征数据,FPGA特征数据以及任务自身特征数据,组合成各待处理任务的特征向量。
可选地,第一调度模块205,具体用于:
将CPU任务子集对应的第一待处理任务,按照各第一待处理任务的数据量之间的大小关系升序排序,得到第一CPU任务队列。
或者,将CPU任务子集对应的第一待处理任务,按照各第一待处理任务的数据量之间的大小关系降序排序,得到第二CPU任务队列。
第二调度模块206,具体用于:
将FPGA任务子集对应的第二待处理任务,按照各第二待处理任务的数据量之间的大小关系降序排序,得到第一FPGA任务队列。
或者,将FPGA任务子集对应的第二待处理任务,按照各第二待处理任务的数据量之间的大小关系升序排序,得到第二FPGA任务队列。
可选地,第一调度模块205,具体用于:
针对排序后的各第一待处理任务,按照第一CPU任务队列中各第一待处理任务的先后顺序,依次将第一CPU任务队列中的各第一待处理任务调度至CPU中进行处理。
或者,针对排序后的各第一待处理任务,按照第二CPU任务队列中各第一待处理任务的倒序顺序,依次将第二CPU任务队列中的各第一待处理任务调度至CPU中进行处理。
可选地,第二调度模块206,具体用于:
针对排序后的各第二待处理任务,按照第一FPGA任务队列中各第二待处理任务的先后顺序,依次将第一FPGA任务队列中的各第二待处理任务调度至FPGA中进行处理。
或者,针对排序后的各第二待处理任务,按照第二FPGA任务队列中各第二待处理任务的倒序顺序,依次将第二FPGA任务队列中的各第二待处理任务调度至FPGA中进行处理。
本发明实施例还提供了一种电子设备,如图5所示,包括处理器301、通信接口302、存储器303和通信总线304,其中,处理器301,通信接口302,存储器303通过通信总线304完成相互间的通信,
存储器303,用于存放计算机程序;
处理器301,用于执行存储器303上所存放的程序时,实现上述任一一种基于特征识别的CPU-FPGA任务调度方法的步骤。
本发明实施例提供的一种电子设备,由于对待处理任务的分类是基于各待处理任务的特征信息所生成的特征向量来实现的,在调度待处理任务前,综合考虑各待处理任务的CPU特征信息、FPGA特征信息以及任务自身特征信息,进而对待处理任务进行分类,使得分类之后得到的第一待处理任务更适合在CPU中处理,第二待处理任务更适合在FPGA中处理,实现在CPU-FPGA任务调度过程中,进一步提高CPU-FPGA的负载均衡性,并且,在对待处理任务进行调度时,由于基于待处理任务的数据量之间的大小关系进行调度,因此可以更好的协调利用CPU和FPGA的资源。
上述电子设备提到的通信总线可以是外设部件互连标准(Peripheral ComponentInterconnect,PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口用于上述电子设备与其他设备之间的通信。
存储器可以包括随机存取存储器(Random Access Memory,RAM),也可以包括非易失性存储器(Non-Volatile Memory,NVM),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital SignalProcessing,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
在本发明提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述任一一种基于特征识别的CPU-FPGA任务调度方法的步骤。
在本发明提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中任一一种基于特征识别的CPU-FPGA任务调度方法的步骤。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置/电子设备实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。

Claims (9)

1.一种基于特征识别的CPU-FPGA任务调度方法,其特征在于,所述方法包括:
获取多个待处理任务及各待处理任务的数据量,所述待处理任务为所述CPU和所述FPGA中待进行处理的任务,所述数据量用于表示处理所述待处理任务所需的数据处理量;
提取所述多个待处理任务中各待处理任务的特征信息,所述特征信息包括:CPU特征信息,FPGA特征信息,以及任务自身特征信息;所述CPU特征信息用于表示CPU处理所述待处理任务时具有的特征,所述FPGA特征信息用于表示FPGA处理所述待处理任务时具有的特征;
基于各所述待处理任务的CPU特征信息,FPGA特征信息,以及任务自身特征信息,生成各所述待处理任务的特征向量;所述特征向量为所述待处理任务的特征信息经去除量纲后生成的;
将所生成的各所述待处理任务的特征向量输入预先训练的分类模型中,得到各所述待处理任务的分类结果,所述分类结果包括:第一分类结果和第二分类结果,所述第一分类结果对应的第一待处理任务用于在CPU中处理,所述第二分类结果对应的第二待处理任务用于在FPGA中处理;所述分类模型是根据预设任务对应的特征向量,及预设任务所对应的类别标签训练得到的;所述第一分类结果为CPU任务子集,所述第二分类结果为FPGA任务子集;
根据各所述第一待处理任务的数据量之间的大小关系,对所述第一待处理任务进行排序,并将排序后的各所述第一待处理任务按照预设策略调度至CPU中进行处理;
根据各所述第二待处理任务的数据量之间的大小关系,对所述第二待处理任务进行排序,并将排序后的各所述第二待处理任务按照预设策略调度至FPGA中进行处理;
其中,所述根据各所述第二待处理任务的数据量之间的大小关系,对所述第二待处理任务进行排序,并将排序后的各所述第二待处理任务按照预设策略调度至FPGA中进行处理,包括:
将所述FPGA任务子集对应的第二待处理任务,按照各第二待处理任务的数据量之间的大小关系降序排序,得到第一FPGA任务队列;针对排序后的各所述第二待处理任务,按照第一FPGA任务队列中各第二待处理任务的先后顺序,依次将所述第一FPGA任务队列中的各第二待处理任务调度至FPGA中进行处理;
或者,将所述FPGA任务子集对应的第二待处理任务,按照各第二待处理任务的数据量之间的大小关系升序排序,得到第二FPGA任务队列;针对排序后的各所述第二待处理任务,按照第二FPGA任务队列中各第二待处理任务的倒序顺序,依次将所述第二FPGA任务队列中的各第二待处理任务调度至FPGA中进行处理。
2.根据权利要求1所述的方法,其特征在于,所述基于各所述待处理任务的CPU特征信息,FPGA特征信息,以及任务自身特征信息,生成各所述待处理任务的特征向量的步骤,包括:
将各所述待处理任务的CPU特征信息,FPGA特征信息以及任务自身特征信息去除量纲,得到各待处理任务的CPU特征数据,FPGA特征数据以及任务自身特征数据;
按照预设规则将各所述待处理任务的CPU特征数据,FPGA特征数据以及任务自身特征数据,组合成各待处理任务的特征向量。
3.根据权利要求2所述的方法,其特征在于,所述根据各所述第一待处理任务的数据量之间的大小关系,对所述第一待处理任务进行排序的步骤,包括:
将所述CPU任务子集对应的第一待处理任务,按照各第一待处理任务的数据量之间的大小关系升序排序,得到第一CPU任务队列;
或者,将所述CPU任务子集对应的第一待处理任务,按照各第一待处理任务的数据量之间的大小关系降序排序,得到第二CPU任务队列。
4.根据权利要求3所述的方法,其特征在于,所述将排序后的各所述第一待处理任务按照预设策略调度至CPU中进行处理的步骤,包括:
针对排序后的各所述第一待处理任务,按照第一CPU任务队列中各第一待处理任务的先后顺序,依次将所述第一CPU任务队列中的各第一待处理任务调度至CPU中进行处理;
或者,针对排序后的各所述第一待处理任务,按照第二CPU任务队列中各第一待处理任务的倒序顺序,依次将所述第二CPU任务队列中的各第一待处理任务调度至CPU中进行处理。
5.一种基于特征识别的CPU-FPGA任务调度装置,其特征在于,所述装置包括:
获取模块,用于获取多个待处理任务及各待处理任务的数据量,所述待处理任务为所述CPU和所述FPGA中待进行处理的任务,所述数据量用于表示处理所述待处理任务所需的数据处理量;
提取模块,用于提取所述多个待处理任务中各待处理任务的特征信息,所述特征信息包括:CPU特征信息,FPGA特征信息,以及任务自身特征信息;所述CPU特征信息用于表示CPU处理所述待处理任务时具有的特征,所述FPGA特征信息用于表示FPGA处理所述待处理任务时具有的特征;
生成模块,用于基于各所述待处理任务的CPU特征信息,FPGA特征信息,以及任务自身特征信息,生成各所述待处理任务的特征向量;所述特征向量为所述待处理任务的特征信息经去除量纲后生成的;
分类模块,用于将所生成的各所述待处理任务的特征向量输入预先训练的分类模型中,得到各所述待处理任务的分类结果,所述分类结果包括:第一分类结果和第二分类结果,所述第一分类结果对应的第一待处理任务用于在CPU中处理,所述第二分类结果对应的第二待处理任务用于在FPGA中处理;所述分类模型是根据预设任务对应的特征向量,及预设任务所对应的类别标签训练得到的;所述第一分类结果为CPU任务子集,所述第二分类结果为FPGA任务子集;
第一调度模块,用于根据各所述第一待处理任务的数据量之间的大小关系,对所述第一待处理任务进行排序,并将排序后的各所述第一待处理任务按照预设策略调度至CPU中进行处理;
第二调度模块,用于根据各所述第二待处理任务的数据量之间的大小关系,对所述第二待处理任务进行排序,并将排序后的各所述第二待处理任务按照预设策略调度至FPGA中进行处理;
所述第二调度模块,具体用于:
将所述FPGA任务子集对应的第二待处理任务,按照各第二待处理任务的数据量之间的大小关系降序排序,得到第一FPGA任务队列;针对排序后的各所述第二待处理任务,按照第一FPGA任务队列中各第二待处理任务的先后顺序,依次将所述第一FPGA任务队列中的各第二待处理任务调度至FPGA中进行处理;
或者,将所述FPGA任务子集对应的第二待处理任务,按照各第二待处理任务的数据量之间的大小关系升序排序,得到第二FPGA任务队列;针对排序后的各所述第二待处理任务,按照第二FPGA任务队列中各第二待处理任务的倒序顺序,依次将所述第二FPGA任务队列中的各第二待处理任务调度至FPGA中进行处理。
6.根据权利要求5所述的装置,其特征在于,所述生成模块,包括:
去量纲子模块,用于将各所述待处理任务的CPU特征信息,FPGA特征信息以及任务自身特征信息去除量纲,得到各待处理任务的CPU特征数据,FPGA特征数据以及任务自身特征数据;
生成子模块,用于按照预设规则将各所述待处理任务的CPU特征数据,FPGA特征数据以及任务自身特征数据,组合成各待处理任务的特征向量。
7.根据权利要求6所述的装置,其特征在于,所述第一调度模块,具体用于:
将所述CPU任务子集对应的第一待处理任务,按照各第一待处理任务的数据量之间的大小关系升序排序,得到第一CPU任务队列;
或者,将所述CPU任务子集对应的第一待处理任务,按照各第一待处理任务的数据量之间的大小关系降序排序,得到第二CPU任务队列。
8.一种电子设备,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现权利要求1-4任一所述的方法步骤。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1-4任一所述的方法步骤。
CN201910563352.0A 2019-06-26 2019-06-26 基于特征识别的cpu-fpga任务调度方法及装置 Active CN110262887B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910563352.0A CN110262887B (zh) 2019-06-26 2019-06-26 基于特征识别的cpu-fpga任务调度方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910563352.0A CN110262887B (zh) 2019-06-26 2019-06-26 基于特征识别的cpu-fpga任务调度方法及装置

Publications (2)

Publication Number Publication Date
CN110262887A CN110262887A (zh) 2019-09-20
CN110262887B true CN110262887B (zh) 2022-04-01

Family

ID=67921995

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910563352.0A Active CN110262887B (zh) 2019-06-26 2019-06-26 基于特征识别的cpu-fpga任务调度方法及装置

Country Status (1)

Country Link
CN (1) CN110262887B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111061547B (zh) * 2019-10-24 2023-04-11 中国科学院计算技术研究所 一种异构***的任务调度方法及***
CN110908797B (zh) * 2019-11-07 2023-09-15 浪潮电子信息产业股份有限公司 调用请求数据处理方法、装置、设备、存储介质及***
CN111400007A (zh) * 2020-03-13 2020-07-10 重庆特斯联智慧科技股份有限公司 一种基于边缘计算的任务调度方法和***
CN116073890B (zh) * 2023-03-06 2023-06-02 成都星联芯通科技有限公司 业务数据处理方法、装置、接收设备、地球站及存储介质

Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101441579A (zh) * 2008-12-02 2009-05-27 南京大学 一种基于集群计算***的三维模型库特征提取方法
JP2011197803A (ja) * 2010-03-17 2011-10-06 Ricoh Co Ltd プログラム実行制御方法
CN103197976A (zh) * 2013-04-11 2013-07-10 华为技术有限公司 异构***的任务处理方法及装置
CN107273331A (zh) * 2017-06-30 2017-10-20 山东超越数控电子有限公司 一种基于cpu+gpu+fpga架构的异构计算***和方法
CN107861606A (zh) * 2017-11-21 2018-03-30 北京工业大学 一种通过协调dvfs和任务映射的异构多核功率封顶方法
CN108334405A (zh) * 2017-01-20 2018-07-27 阿里巴巴集团控股有限公司 频率异构cpu,频率异构实现方法、装置及任务调度方法
CN108629355A (zh) * 2017-03-21 2018-10-09 北京京东尚科信息技术有限公司 用于生成工作量信息的方法和装置
CN108776649A (zh) * 2018-06-11 2018-11-09 山东超越数控电子股份有限公司 一种基于cpu+fpga异构计算***及其加速方法
CN109101339A (zh) * 2018-08-15 2018-12-28 北京邮电大学 异构集群中视频任务并行化方法、装置及异构集群***
CN109408148A (zh) * 2018-10-25 2019-03-01 北京计算机技术及应用研究所 一种国产化计算平台及其应用加速方法
CN109542596A (zh) * 2018-10-22 2019-03-29 西安交通大学 一种基于OpenCL内核任务的调度框架
CN109828790A (zh) * 2019-01-31 2019-05-31 上海赜睿信息科技有限公司 一种基于申威异构众核处理器的数据处理方法和***

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101717817B (zh) * 2009-07-17 2011-11-23 中国人民解放军国防科学技术大学 对基于随机上下文无关文法的rna二级结构预测进行加速的方法

Patent Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101441579A (zh) * 2008-12-02 2009-05-27 南京大学 一种基于集群计算***的三维模型库特征提取方法
JP2011197803A (ja) * 2010-03-17 2011-10-06 Ricoh Co Ltd プログラム実行制御方法
CN103197976A (zh) * 2013-04-11 2013-07-10 华为技术有限公司 异构***的任务处理方法及装置
CN108334405A (zh) * 2017-01-20 2018-07-27 阿里巴巴集团控股有限公司 频率异构cpu,频率异构实现方法、装置及任务调度方法
CN108629355A (zh) * 2017-03-21 2018-10-09 北京京东尚科信息技术有限公司 用于生成工作量信息的方法和装置
CN107273331A (zh) * 2017-06-30 2017-10-20 山东超越数控电子有限公司 一种基于cpu+gpu+fpga架构的异构计算***和方法
CN107861606A (zh) * 2017-11-21 2018-03-30 北京工业大学 一种通过协调dvfs和任务映射的异构多核功率封顶方法
CN108776649A (zh) * 2018-06-11 2018-11-09 山东超越数控电子股份有限公司 一种基于cpu+fpga异构计算***及其加速方法
CN109101339A (zh) * 2018-08-15 2018-12-28 北京邮电大学 异构集群中视频任务并行化方法、装置及异构集群***
CN109542596A (zh) * 2018-10-22 2019-03-29 西安交通大学 一种基于OpenCL内核任务的调度框架
CN109408148A (zh) * 2018-10-25 2019-03-01 北京计算机技术及应用研究所 一种国产化计算平台及其应用加速方法
CN109828790A (zh) * 2019-01-31 2019-05-31 上海赜睿信息科技有限公司 一种基于申威异构众核处理器的数据处理方法和***

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
Performance-Effective and Low-Complexity Task Scheduling for Heterogeneous Computing;H. Topcuouglu 等;《IEEE Transactions on Parallel and Distributed Systems》;20020331;第13卷(第3期);260-274 *
Throughput optimization for streaming applications on CPU-FPGA heterogeneous systems;Xuechao Wei 等;《2017 22nd Asia and South Pacific Design Automation Conference (ASP-DAC)》;20170119;488-493 *
面向异构体系结构的任务流模型;张丹 等;《信息工程大学学报》;20120615;第13卷(第3期);358-364,375 *

Also Published As

Publication number Publication date
CN110262887A (zh) 2019-09-20

Similar Documents

Publication Publication Date Title
CN110262887B (zh) 基于特征识别的cpu-fpga任务调度方法及装置
CN108415845A (zh) Ab测试***指标置信区间的计算方法、装置和服务器
EP4198771A1 (en) Data processing method and apparatus, computer readable medium, and electronic device
CN103765415A (zh) 文档主题的并行生成
Zhang et al. Virtual machine placement strategy using cluster-based genetic algorithm
CN106815254A (zh) 一种数据处理方法和装置
CN110969198A (zh) 深度学习模型的分布式训练方法、装置、设备及存储介质
WO2024007849A1 (zh) 面向智能计算的分布式训练容器调度
CN109983459A (zh) 用于标识语料库中出现的n-gram的计数的方法和设备
CN110347602A (zh) 多任务脚本执行方法及装置、电子设备及可读存储介质
Maroulis et al. A holistic energy-efficient real-time scheduler for mixed stream and batch processing workloads
US20180121135A1 (en) Data processing system and data processing method
WO2022007596A1 (zh) 图像检索***、方法和装置
CN110472246A (zh) 工单分类方法、装置及存储介质
CN114048816A (zh) 一种图神经网络数据采样方法、装置、设备及存储介质
US11436412B2 (en) Predictive event searching utilizing a machine learning model trained using dynamically-generated event tags
CN116662001A (zh) 一种事件处理方法及装置
CN117093619A (zh) 一种规则引擎处理方法、装置、电子设备及存储介质
CN114968603B (zh) 一种支持多档负载平衡的容量检测方法及装置
CN110865877A (zh) 一种任务请求的响应方法及设备
Kamala et al. An optimal approach for social data analysis in Big Data
Benini et al. Multi-stage Benders decomposition for optimizing multicore architectures
CN111143456B (zh) 基于Spark的Cassandra数据导入方法、装置、设备及介质
CN113032522A (zh) 一种文本并行数据挖掘***及方法
Ovalle et al. Distributed Cache Strategies for Machine Learning Classification Tasks over Cluster Computing Resources

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