CN115098240A - 一种多处理器应用调度方法和系统及存储介质 - Google Patents

一种多处理器应用调度方法和系统及存储介质 Download PDF

Info

Publication number
CN115098240A
CN115098240A CN202210877304.0A CN202210877304A CN115098240A CN 115098240 A CN115098240 A CN 115098240A CN 202210877304 A CN202210877304 A CN 202210877304A CN 115098240 A CN115098240 A CN 115098240A
Authority
CN
China
Prior art keywords
task
tasks
proximity
grouping
multiprocessor
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.)
Granted
Application number
CN202210877304.0A
Other languages
English (en)
Other versions
CN115098240B (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.)
Zhongcheng Hualong Computer Technology Co Ltd
Original Assignee
Zhongcheng Hualong Computer Technology Co Ltd
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 Zhongcheng Hualong Computer Technology Co Ltd filed Critical Zhongcheng Hualong Computer Technology Co Ltd
Priority to CN202210877304.0A priority Critical patent/CN115098240B/zh
Publication of CN115098240A publication Critical patent/CN115098240A/zh
Application granted granted Critical
Publication of CN115098240B publication Critical patent/CN115098240B/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
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/48Indexing scheme relating to G06F9/48
    • G06F2209/484Precedence
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/5021Priority

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multi Processors (AREA)

Abstract

本发明公开了一种多处理器应用调度方法和系统及存储介质,涉及计算技术技术领域,包括步骤:初始化;计算每两个任务之间的接近度,根据任务特征信息和接近度得到分组数量N,以及每个分组
Figure 601895DEST_PATH_IMAGE001
的任务数;根据分组的顺序,将任务进行分配至对应分组中;直至剩余任务分配完成;调度规划器通过动态和静态算法进行任务分组到处理节点的映射,实时分发器将任务分组分配至对应处理节点执行任务。在本方法中,通过计算每两个任务之间的接近度,对分组内所有任务的接近度进行二次方计算然后求和得到该分组的加权值的计算实现合理分组,大大提高了任务处理效率,满足用户实际需要。

Description

一种多处理器应用调度方法和系统及存储介质
技术领域
本发明涉及计算技术技术领域,尤其涉及一种多处理器应用调度方法和系统及存储介质。
背景技术
目前,计算资源进行高性能计算研究已经在国内得到了极大的普及。尤其是多处理器、多核、并行计算等技术得到广泛应用,然而,大部分针对任务的调度策略都存在一些不可忽略的问题:第一,由于任务调度的不充分性,导致作业的排队时间过长,造成调度效率低下,现有的调度没有对任务进行进一步的细分或分组处理;第二,由于没有对调度任务进行特征的准确提取分类,导致任务调度分配不合理,需要大规模处理器进行计算的作业无法被高效调度到对应的调度队列中进行处理,从而增加了大量时间开销;第三,由于该调度策略未使用有效的策略,导致负载过重的作业不能被有效调度到可提供大量节点的调度队列中处理,从而造成严重的状况,并形成了较为严重的调度性能瓶颈。
新型的多个处理器或多核处理器的部署,也使得任务计算效率大大提升,且也存在任务的接近度计算,但现有的接近度只是简单的对比,难以满足由此带来任务准确分配和处理器资源使用等问题,且现有技术计算效率低、准确地低、不能满足用户实际需要。
因此,为满足多任务多处理器调度充分利用的需求,如何应对任务的亟需合理调度,处理器的充分利用,实现计算的高效、准确、用户满意度高的任务调度技术迫在眉睫。
发明内容
本发明的主要目的在于提供一种多处理器应用调度方法及装置,旨在解决现有技术中任务调度的不充分性的技术问题。
为实现上述目的,本发明提供了一种多处理器应用调度方法,其包括:
多个处理器,处理器包括第一硬件线程、第二硬件线程和任务管理器;
步骤1、初始化:所有处理器开启,获取多处理器参数,接收一组任务集合,任务分解器对任务进行分解;
步骤2、计算任务之间的接近度:计算每两个任务之间的接近度,采用数组进行储存,根据任务特征信息和接近度得到分组数量N,以及每个分组
Figure 574777DEST_PATH_IMAGE001
的任务数;
步骤3、根据
Figure 627046DEST_PATH_IMAGE002
Figure 611183DEST_PATH_IMAGE003
Figure 189932DEST_PATH_IMAGE004
,...,
Figure 234111DEST_PATH_IMAGE005
的顺序,将任务进行分配至对应分组中,当N=1时,每个剩余的未分配任务将单独分组,并在分组过程结束时跳至步骤(6);否则,从剩余任务中找到具有接近度最高的两个任务,并将它们添加到集群分组
Figure 898310DEST_PATH_IMAGE001
中;如果有多对接近度最高的任务,则选择两个任务其运行时间的之和最接近
Figure 686138DEST_PATH_IMAGE006
,M表示任务数量,
Figure 994760DEST_PATH_IMAGE007
表示任务
Figure 334474DEST_PATH_IMAGE008
的运行时间;
步骤4、如果分组
Figure 361336DEST_PATH_IMAGE001
中的任务数小于设定阈值,然后将剩余任务根据任务接近度加权值添加至分组
Figure 687275DEST_PATH_IMAGE001
中,所述任务接近度加权值即:分别计算每个分组
Figure 240616DEST_PATH_IMAGE001
中每两个任务的接近度,对分组内所有任务的接近度进行二次方计算然后求和得到该分组的加权值,将待分配任务分配至加权值最大的分组;若多个剩余任务加权值相同,则选择任务运行时间最大的任务;
步骤5、循环步骤3、步骤4直至剩余任务分配完成;
步骤6、任务分组完成,调度规划器通过动态和静态算法进行任务分组到处理节点的映射,实时分发器将任务分组分配至对应处理节点执行任务。
优选地,所述获取多处理器参数包括获取多处理器的核心数、全局或分区使用标识;所述调度规划器包括全局固定优先级、全局最早截止期优先、分区固定优先级方式对分组任务进行规划。
优选地,所述多个处理器是指集成了多核CPU、多CPU或多主机上的处理器核或多个主机服务器;多源多核系统中的核,可以是对称的也可以是非对称的;任务集合是可以分配到多核处理器上执行的任务的集合。
优选地,所述根据任务特征信息和接近度得到分组数量N,以及每个分组
Figure 361019DEST_PATH_IMAGE009
的任务数,包括根据任务特征信息包括文件大小、文件数目、文件类型、镜像名称、镜像大小、镜像哈希码、程序文本长度、外部获取的数据集大小设置分组数量N;计算每两个任务之间的接近度,根据接近度最高和最低只差确定设定分组数量。
优选地,所述计算任务之间的接近度包括,对于任务A和任务B,其相应的特征向量分别表示为
Figure 140756DEST_PATH_IMAGE010
Figure 129441DEST_PATH_IMAGE011
,则它们之间的接近度为:
Figure 412654DEST_PATH_IMAGE012
Figure 94171DEST_PATH_IMAGE013
其中特征向量通过卷积神经网络提取,用SPP-Net卷积核去提取特征,即初始化的卷积核在反向传播的过程中,无限去拟合目标特征向量,具体为将任务执行文件、任务执行对象参数输入卷积神经网络进行拟合计算,进而输出特征集;
Figure 95625DEST_PATH_IMAGE014
Figure 28946DEST_PATH_IMAGE015
分别表示执行任务A和任务B的程序逻辑判断数量,
Figure 28651DEST_PATH_IMAGE016
Figure 22015DEST_PATH_IMAGE017
分别表示执行任务A和任务B的内存大小,
Figure 245186DEST_PATH_IMAGE018
Figure 841252DEST_PATH_IMAGE019
分别表示执行任务A和任务B的程序文本长度,
Figure 833479DEST_PATH_IMAGE020
Figure 997744DEST_PATH_IMAGE021
分别表示执行任务A和任务B的第n个特征;
Figure 567266DEST_PATH_IMAGE022
分别表示对应程序逻辑判断数量、内存大小、程序文本长度、第n个特征的权值系数。
本发明还提供一种多处理器应用调度系统,包括:多个处理器,处理器包括第一硬件线程、第二硬件线程和任务管理器;
初始化模块:所有处理器开启,获取多处理器参数,接收一组任务集合,任务分解器对任务进行分解;
步骤2、计算任务之间的接近度:计算每两个任务之间的接近度,采用数组进行储存,根据任务特征信息和接近度得到分组数量N,以及每个分组
Figure 842389DEST_PATH_IMAGE001
的任务数;
步骤3、根据
Figure 79335DEST_PATH_IMAGE002
Figure 148923DEST_PATH_IMAGE003
Figure 346686DEST_PATH_IMAGE004
,...,
Figure 284555DEST_PATH_IMAGE005
的顺序,将任务进行分配至对应分组中,当N=1时,每个剩余的未分配任务将单独分组,并在分组过程结束时跳至步骤(6);否则,从剩余任务中找到具有接近度最高的两个任务,并将它们添加到集群分组
Figure 251374DEST_PATH_IMAGE001
中;如果有多对接近度最高的任务,则选择两个任务其运行时间的之和最接近
Figure 491862DEST_PATH_IMAGE006
,M表示任务数量,
Figure 567134DEST_PATH_IMAGE007
表示任务
Figure 918481DEST_PATH_IMAGE008
的运行时间;
步骤4、如果分组
Figure 5386DEST_PATH_IMAGE001
中的任务数小于设定阈值,然后将剩余任务根据任务接近度加权值添加至分组
Figure 541410DEST_PATH_IMAGE001
中,所述任务接近度加权值即:分别计算每个分组
Figure 713765DEST_PATH_IMAGE001
中每两个任务的接近度,对分组内所有任务的接近度进行二次方计算然后求和得到该分组的加权值,将待分配任务分配至加权值最大的分组;若多个剩余任务加权值相同,则选择任务运行时间最大的任务;
步骤5、循环步骤3、步骤4直至剩余任务分配完成;
步骤6、任务分组完成,调度规划器通过动态和静态算法进行任务分组到处理节点的映射,实时分发器将任务分组分配至对应处理节点执行任务。
优选地,所述获取多处理器参数包括获取多处理器的核心数、全局或分区使用标识;所述调度规划器包括全局固定优先级、全局最早截止期优先、分区固定优先级方式对分组任务进行规划。
优选地,所述多个处理器是指集成了多核CPU、多CPU或多主机上的处理器核或多个主机服务器;多源多核系统中的核,可以是对称的也可以是非对称的;任务集合是可以分配到多核处理器上执行的任务的集合。
优选地,所述根据任务特征信息和接近度得到分组数量N,以及每个分组
Figure 727857DEST_PATH_IMAGE009
的任务数,包括根据任务特征信息包括文件大小、文件数目、文件类型、镜像名称、镜像大小、镜像哈希码、程序文本长度、外部获取的数据集大小设置分组数量N;计算每两个任务之间的接近度,根据接近度最高和最低只差确定设定分组数量。
优选地,所述计算任务之间的接近度包括,对于任务A和任务B,其相应的特征向量分别表示为
Figure 934848DEST_PATH_IMAGE010
Figure 517139DEST_PATH_IMAGE011
,则它们之间的接近度为:
Figure 38775DEST_PATH_IMAGE012
Figure 997503DEST_PATH_IMAGE013
其中特征向量通过卷积神经网络提取,用SPP-Net卷积核去提取特征,初始化的卷积核在反向传播的过程中,无限去拟合目标特征向量;
Figure 793421DEST_PATH_IMAGE014
Figure 936826DEST_PATH_IMAGE015
分别表示执行任务A和任务B的程序逻辑判断数量,
Figure 818195DEST_PATH_IMAGE016
Figure 315035DEST_PATH_IMAGE017
分别表示执行任务A和任务B的内存大小,
Figure 355672DEST_PATH_IMAGE018
Figure 279766DEST_PATH_IMAGE019
分别表示执行任务A和任务B的程序文本长度,
Figure 773064DEST_PATH_IMAGE020
Figure 73596DEST_PATH_IMAGE021
分别表示执行任务A和任务B的第n个特征;
Figure 578526DEST_PATH_IMAGE022
分别表示对应程序逻辑判断数量、内存大小、程序文本长度、第n个特征的权值系数。
本发明还提供一种电子设备,包括存储器,处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,所述处理器执行所述程序时实现所述一种多处理器应用调度方法的步骤。
本发明还提供一种存储介质,其内存储有处理器可执行指令,所述指令由一个或一个以上处理器加载,以执行所述一种多处理器应用调度方法。
本发明的多处理器应用调度方法和系统,通过计算每两个任务之间的接近度,并根据任务特征信息和接近度得到分组数量,大大增强了根据任务特点进行分组,并将不同分组对应不同处理器,能够大大增强任务处理效率;且本申请的分组过程中,充分考虑任务之间接近度的利用,通过对分组内所有任务的接近度进行二次方计算然后求和得到该分组的加权值的计算实现合理分组;加权值的计算实现了任务与组的最大程度匹配;此外通过卷积神经网络提取特征向量并进行接近度的计算,以及权值系数的设置提高了特征提取准确度以及计算效率。
附图说明
图1是本发明实施例方案实施流程。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例1:
参照图1,图1为本发明文件生成方法一实施例流程示意图。本发明的一种多处理器应用调度方法,其包括:
多个处理器,处理器包括第一硬件线程、第二硬件线程和任务管理器;
步骤1、初始化:所有处理器开启,获取多处理器参数,接收一组任务集合,任务分解器对任务进行分解;
步骤2、计算任务之间的接近度:计算每两个任务之间的接近度,采用数组进行储存,根据任务特征信息和接近度得到分组数量N,以及每个分组
Figure 63734DEST_PATH_IMAGE001
的任务数;
步骤3、根据
Figure 185274DEST_PATH_IMAGE002
Figure 758338DEST_PATH_IMAGE003
Figure 773567DEST_PATH_IMAGE004
,...,
Figure 39463DEST_PATH_IMAGE005
的顺序,将任务进行分配至对应分组中,当N=1时,每个剩余的未分配任务将单独分组,并在分组过程结束时跳至步骤(6);否则,从剩余任务中找到具有接近度最高的两个任务,并将它们添加到集群分组
Figure 241775DEST_PATH_IMAGE001
中;如果有多对接近度最高的任务,则选择两个任务其运行时间的之和最接近
Figure 149688DEST_PATH_IMAGE006
,M表示任务数量,
Figure 629211DEST_PATH_IMAGE007
表示任务
Figure 456221DEST_PATH_IMAGE008
的运行时间;
步骤4、如果分组
Figure 286774DEST_PATH_IMAGE001
中的任务数小于设定阈值,然后将剩余任务根据任务接近度加权值添加至分组
Figure 201640DEST_PATH_IMAGE001
中,所述任务接近度加权值即:分别计算每个分组
Figure 182673DEST_PATH_IMAGE001
中每两个任务的接近度,对分组内所有任务的接近度进行二次方计算然后求和得到该分组的加权值,将待分配任务分配至加权值最大的分组;若多个剩余任务加权值相同,则选择任务运行时间最大的任务;
步骤5、循环步骤3、步骤4直至剩余任务分配完成;
步骤6、任务分组完成,调度规划器通过动态和静态算法进行任务分组到处理节点的映射,实时分发器将任务分组分配至对应处理节点执行任务。
在一些实施例中,所述获取多处理器参数包括获取多处理器的核心数、全局或分区使用标识;所述调度规划器包括全局固定优先级、全局最早截止期优先、分区固定优先级方式对分组任务进行规划。
在一些实施例中,所述多个处理器是指集成了多核CPU、多CPU或多主机上的处理器核或多个主机服务器;多源多核系统中的核,可以是对称的也可以是非对称的;任务集合是可以分配到多核处理器上执行的任务的集合。
在一些实施例中,所述根据任务特征信息和接近度得到分组数量N,以及每个分组
Figure 790372DEST_PATH_IMAGE001
的任务数,包括根据任务特征信息包括文件大小、文件数目、文件类型、镜像名称、镜像大小、镜像哈希码、程序文本长度、外部获取的数据集大小设置分组数量N;计算每两个任务之间的接近度,根据接近度最高和最低只差确定设定分组数量。
在一些实施例中,所述计算任务之间的接近度包括,对于任务A和任务B,其相应的特征向量分别表示为
Figure 108221DEST_PATH_IMAGE010
Figure 951412DEST_PATH_IMAGE011
,则它们之间的接近度为:
Figure 671106DEST_PATH_IMAGE012
Figure 574340DEST_PATH_IMAGE013
其中特征向量通过卷积神经网络提取,用SPP-Net卷积核去提取特征,初始化的卷积核在反向传播的过程中,无限去拟合目标特征向量;
Figure 379485DEST_PATH_IMAGE014
Figure 901733DEST_PATH_IMAGE015
分别表示执行任务A和任务B的程序逻辑判断数量,
Figure 334989DEST_PATH_IMAGE016
Figure 550069DEST_PATH_IMAGE017
分别表示执行任务A和任务B的内存大小,
Figure 435986DEST_PATH_IMAGE023
分别表示执行任务A和任务B的程序文本长度,
Figure 27504DEST_PATH_IMAGE020
Figure 456211DEST_PATH_IMAGE021
分别表示执行任务A和任务B的第n个特征;
Figure 701248DEST_PATH_IMAGE022
分别表示对应程序逻辑判断数量、内存大小、程序文本长度、第n个特征的权值系数。
实施例2:
本发明还提供一种多处理器应用调度系统,包括:多个处理器,处理器包括第一硬件线程、第二硬件线程和任务管理器;
初始化模块:所有处理器开启,获取多处理器参数,接收一组任务集合,任务分解器对任务进行分解;
步骤2、计算任务之间的接近度:计算每两个任务之间的接近度,采用数组进行储存,根据任务特征信息和接近度得到分组数量N,以及每个分组
Figure 215406DEST_PATH_IMAGE001
的任务数;
步骤3、根据
Figure 345036DEST_PATH_IMAGE002
Figure 752883DEST_PATH_IMAGE003
Figure 309767DEST_PATH_IMAGE004
,...,
Figure 311221DEST_PATH_IMAGE005
的顺序,将任务进行分配至对应分组中,当N=1时,每个剩余的未分配任务将单独分组,并在分组过程结束时跳至步骤(6);否则,从剩余任务中找到具有接近度最高的两个任务,并将它们添加到集群分组
Figure 838017DEST_PATH_IMAGE001
中;如果有多对接近度最高的任务,则选择两个任务其运行时间的之和最接近
Figure 975737DEST_PATH_IMAGE006
,M表示任务数量,
Figure 96665DEST_PATH_IMAGE007
表示任务
Figure 54256DEST_PATH_IMAGE008
的运行时间;
步骤4、如果分组
Figure 791268DEST_PATH_IMAGE001
中的任务数小于设定阈值,然后将剩余任务根据任务接近度加权值添加至分组
Figure 908129DEST_PATH_IMAGE001
中,所述任务接近度加权值即:分别计算每个分组
Figure 806815DEST_PATH_IMAGE001
中每两个任务的接近度,对分组内所有任务的接近度进行二次方计算然后求和得到该分组的加权值,将待分配任务分配至加权值最大的分组;若多个剩余任务加权值相同,则选择任务运行时间最大的任务;
步骤5、循环步骤3、步骤4直至剩余任务分配完成;
步骤6、任务分组完成,调度规划器通过动态和静态算法进行任务分组到处理节点的映射,实时分发器将任务分组分配至对应处理节点执行任务。
优选地,所述获取多处理器参数包括获取多处理器的核心数、全局或分区使用标识;所述调度规划器包括全局固定优先级、全局最早截止期优先、分区固定优先级方式对分组任务进行规划。
优选地,所述多个处理器是指集成了多核CPU、多CPU或多主机上的处理器核或多个主机服务器;多源多核系统中的核,可以是对称的也可以是非对称的;任务集合是可以分配到多核处理器上执行的任务的集合。
优选地,所述根据任务特征信息和接近度得到分组数量N,以及每个分组
Figure 641915DEST_PATH_IMAGE009
的任务数,包括根据任务特征信息包括文件大小、文件数目、文件类型、镜像名称、镜像大小、镜像哈希码、程序文本长度、外部获取的数据集大小设置分组数量N;计算每两个任务之间的接近度,根据接近度最高和最低只差确定设定分组数量。
优选地,所述计算任务之间的接近度包括,对于任务A和任务B,其相应的特征向量分别表示为
Figure 917039DEST_PATH_IMAGE010
Figure 29351DEST_PATH_IMAGE011
,则它们之间的接近度为:
Figure 223572DEST_PATH_IMAGE012
Figure 421336DEST_PATH_IMAGE013
其中特征向量通过卷积神经网络提取,用SPP-Net卷积核去提取特征,初始化的卷积核在反向传播的过程中,无限去拟合目标特征向量;
Figure 234571DEST_PATH_IMAGE014
Figure 591603DEST_PATH_IMAGE015
分别表示执行任务A和任务B的程序逻辑判断数量,
Figure 566512DEST_PATH_IMAGE016
Figure 517150DEST_PATH_IMAGE017
分别表示执行任务A和任务B的内存大小,
Figure 993131DEST_PATH_IMAGE023
分别表示执行任务A和任务B的程序文本长度,
Figure 80036DEST_PATH_IMAGE020
Figure 350480DEST_PATH_IMAGE021
分别表示执行任务A和任务B的第n个特征;
Figure 522836DEST_PATH_IMAGE022
分别表示对应程序逻辑判断数量、内存大小、程序文本长度、第n个特征的权值系数。
本发明还提供一种电子设备,包括存储器,处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,所述处理器执行所述程序时实现所述一种多处理器应用调度方法的步骤。
本发明还提供一种存储介质,其内存储有处理器可执行指令,所述指令由一个或一个以上处理器加载,以执行所述一种多处理器应用调度方法。
本发明的多处理器应用调度方法和系统,通过计算每两个任务之间的接近度,并根据任务特征信息和接近度得到分组数量,大大增强了根据任务特点进行分组,并将不同分组对应不同处理器,能够大大增强任务处理效率;且本申请的分组过程中,充分考虑任务之间接近度的利用,通过对分组内所有任务的接近度进行二次方计算然后求和得到该分组的加权值的计算实现合理分组;加权值的计算实现了任务与组的最大程度匹配;此外通过ELO结合卷积神经网络提取特征向量并进行接近度的计算,提高了特征提取准确度以及计算效率。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
本领域技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品,因此本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。
虽然本发明披露如上,但本发明并非限定于此。任何本领域技术人员,在不脱离本发明的精神和范围内,均可作各种更动与修改,因此本发明的保护范围应当以权利要求所限定的范围为准。

Claims (11)

1.一种多处理器应用调度方法,其特征在于,包括:步骤1、初始化:所有处理器开启,获取多处理器参数,接收一组任务集合,任务分解器对任务进行分解;
步骤2、计算每两个任务之间的接近度,采用数组进行储存,根据任务特征信息和接近度得到分组数量N,以及每个分组
Figure 423744DEST_PATH_IMAGE001
的任务数;所述接近度表示两个任务特征向量之间的距离;
步骤3、根据
Figure 672323DEST_PATH_IMAGE002
Figure 926586DEST_PATH_IMAGE003
Figure 209800DEST_PATH_IMAGE004
,...,
Figure 766683DEST_PATH_IMAGE005
的顺序,将任务进行分配至对应分组中,当N=1时,每个剩余的未分配任务将单独分组,并在分组过程结束时跳至步骤6;否则,从剩余任务中找到具有接近度最高的两个任务,并将它们添加到集群分组
Figure 630122DEST_PATH_IMAGE001
中;如果有多对接近度最高的任务,则选择两个任务其运行时间的之和最接近
Figure 563443DEST_PATH_IMAGE006
,M表示任务数量,
Figure 825797DEST_PATH_IMAGE007
表示任务
Figure 553581DEST_PATH_IMAGE008
的运行时间;
步骤4、如果分组
Figure 776752DEST_PATH_IMAGE001
中的任务数小于设定阈值,然后将剩余任务根据任务接近度加权值添加至分组
Figure 372819DEST_PATH_IMAGE001
中,所述任务接近度加权值即:分别计算每个分组
Figure 365045DEST_PATH_IMAGE001
中每两个任务的接近度,对分组内所有任务的接近度进行二次方计算然后求和得到该分组的加权值,将待分配任务分配至加权值最大的分组;若多个剩余任务加权值相同,则选择任务运行时间最大的任务;
步骤5、循环步骤3、步骤4直至剩余任务分配完成;
步骤6、任务分组完成,调度规划器通过动态和静态算法进行任务分组到处理节点的映射,实时分发器将任务分组分配至对应处理节点执行任务。
2.如权利要求1所述的多处理器应用调度方法,其特征在于,所述获取多处理器参数包括获取多处理器的核心数、全局或分区使用标识;所述调度规划器包括全局固定优先级、全局最早截止期优先、分区固定优先级方式对分组任务进行规划。
3.如权利要求2所述的一种多处理器应用调度方法,其特征在于,所述多个处理器是指集成了多核CPU、多CPU或多主机上的处理器核或多个主机服务器;多源多核系统中的核,可以是对称的也可以是非对称的;任务集合是可以分配到多核处理器上执行的任务的集合。
4.如权利要求3所述的一种多处理器应用调度方法,其特征在于,所述根据任务特征信息和接近度得到分组数量N,以及每个分组
Figure 388365DEST_PATH_IMAGE001
的任务数,包括根据任务特征信息包括文件大小、文件数目、文件类型、镜像名称、镜像大小、镜像哈希码、程序文本长度、外部获取的数据集大小设置分组数量N;计算每两个任务之间的接近度,根据接近度最高和最低之差确定设定分组数量。
5.如权利要求3所述的一种多处理器应用调度方法,其特征在于,所述计算任务之间的接近度包括,对于任务A和任务B,其相应的特征向量分别表示为
Figure 364411DEST_PATH_IMAGE009
Figure 108377DEST_PATH_IMAGE010
,则它们之间的接近度为:
Figure 610902DEST_PATH_IMAGE011
Figure 414910DEST_PATH_IMAGE012
其中特征向量通过卷积神经网络提取,用SPP-Net卷积核去提取特征,初始化的卷积核在反向传播的过程中,无限去拟合目标特征向量;
Figure 878252DEST_PATH_IMAGE013
Figure 550542DEST_PATH_IMAGE014
分别表示执行任务A和任务B的程序逻辑判断数量,
Figure 782940DEST_PATH_IMAGE015
Figure 148063DEST_PATH_IMAGE016
分别表示执行任务A和任务B的内存大小,
Figure 833122DEST_PATH_IMAGE017
Figure 184469DEST_PATH_IMAGE018
分别表示执行任务A和任务B的程序文本长度,
Figure 396007DEST_PATH_IMAGE019
Figure 72976DEST_PATH_IMAGE020
分别表示执行任务A和任务B的第n个特征;
Figure 979752DEST_PATH_IMAGE021
分别表示对应程序逻辑判断数量、内存大小、程序文本长度、第n个特征的权值系数。
6.一种多处理器应用调度系统,其特征在于,包括:多个处理器,处理器包括:
初始化模块,所有处理器开启,获取多处理器参数,接收一组任务集合,任务分解器对任务进行分解;
接近度计算模块,计算任务之间的接近度:计算每两个任务之间的接近度,采用数组进行储存,根据任务特征信息和接近度得到分组数量N,以及每个分组
Figure 996774DEST_PATH_IMAGE001
的任务数;
任务分组模块,根据
Figure 203765DEST_PATH_IMAGE002
Figure 51635DEST_PATH_IMAGE003
Figure 570341DEST_PATH_IMAGE004
,...,
Figure 529070DEST_PATH_IMAGE005
的顺序,将任务进行分配至对应分组中,当N=1时,每个剩余的未分配任务将单独分组,并在分组过程结束时任务分组完成;否则,从剩余任务中找到具有接近度最高的两个任务,并将它们添加到集群分组
Figure 184042DEST_PATH_IMAGE001
中;如果有多对接近度最高的任务,则选择两个任务其运行时间的之和最接近
Figure 202814DEST_PATH_IMAGE022
,M表示任务数量,
Figure 349761DEST_PATH_IMAGE007
表示任务
Figure 971236DEST_PATH_IMAGE008
的运行时间;
任务分组优化模块,如果分组
Figure 887239DEST_PATH_IMAGE001
中的任务数小于设定阈值,然后将剩余任务根据任务接近度加权值添加至分组
Figure 545753DEST_PATH_IMAGE001
中,所述任务接近度加权值即:分别计算每个分组
Figure 304631DEST_PATH_IMAGE001
中每两个任务的接近度,对分组内所有任务的接近度进行二次方计算然后求和得到该分组的加权值,将待分配任务分配至加权值最大的分组;若多个剩余任务加权值相同,则选择任务运行时间最大的任务;
循环模块,执行循环任务分组模块、任务分组优化模块直至剩余任务分配完成;
任务执行模块,任务分组完成,调度规划器通过动态和静态算法进行任务分组到处理节点的映射,实时分发器将任务分组分配至对应处理节点执行任务。
7.如权利要求6所述的一种多处理器应用调度系统,其特征在于,所述获取多处理器参数包括获取多处理器的核心数、全局或分区使用标识;所述调度规划器包括全局固定优先级、全局最早截止期优先、分区固定优先级方式对分组任务进行规划。
8.如权利要求7所述的一种多处理器应用调度系统,其特征在于,所述多个处理器是指集成了多核CPU、多CPU或多主机上的处理器核或多个主机服务器;多源多核系统中的核,可以是对称的也可以是非对称的;任务集合是可以分配到多核处理器上执行的任务的集合。
9.如权利要求8所述的一种多处理器应用调度系统,其特征在于,所述根据任务特征信息和接近度得到分组数量N,以及每个分组
Figure 605162DEST_PATH_IMAGE001
的任务数,包括根据任务特征信息包括文件大小、文件数目、文件类型、镜像名称、镜像大小、镜像哈希码、程序文本长度、外部获取的数据集大小设置分组数量N;计算每两个任务之间的接近度,根据接近度最高和最低只差确定设定分组数量。
10.如权利要求8所述的一种多处理器应用调度系统,其特征在于,所述计算任务之间的接近度包括,对于任务A和任务B,其相应的特征向量分别表示为
Figure 375672DEST_PATH_IMAGE009
Figure 595301DEST_PATH_IMAGE010
,则它们之间的接近度为:
Figure 451261DEST_PATH_IMAGE011
Figure 555484DEST_PATH_IMAGE012
其中特征向量通过卷积神经网络提取,用SPP-Net卷积核去提取特征,初始化的卷积核在反向传播的过程中,无限去拟合目标特征向量;
Figure 39555DEST_PATH_IMAGE013
Figure 571030DEST_PATH_IMAGE014
分别表示执行任务A和任务B的程序逻辑判断数量,
Figure 914287DEST_PATH_IMAGE015
Figure 681254DEST_PATH_IMAGE016
分别表示执行任务A和任务B的内存大小,
Figure 426356DEST_PATH_IMAGE017
Figure 990718DEST_PATH_IMAGE018
分别表示执行任务A和任务B的程序文本长度,
Figure 821270DEST_PATH_IMAGE019
Figure 1716DEST_PATH_IMAGE020
分别表示执行任务A和任务B的第n个特征;
Figure 725958DEST_PATH_IMAGE021
分别表示对应程序逻辑判断数量、内存大小、程序文本长度、第n个特征的权值系数。
11.一种存储介质,其内存储有处理器可执行指令,所述指令由一个或一个以上处理器加载,以执行如权利要求1至5中任一项所述一种多处理器应用调度方法。
CN202210877304.0A 2022-07-25 2022-07-25 一种多处理器应用调度方法和系统及存储介质 Active CN115098240B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210877304.0A CN115098240B (zh) 2022-07-25 2022-07-25 一种多处理器应用调度方法和系统及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210877304.0A CN115098240B (zh) 2022-07-25 2022-07-25 一种多处理器应用调度方法和系统及存储介质

Publications (2)

Publication Number Publication Date
CN115098240A true CN115098240A (zh) 2022-09-23
CN115098240B CN115098240B (zh) 2022-11-15

Family

ID=83298239

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210877304.0A Active CN115098240B (zh) 2022-07-25 2022-07-25 一种多处理器应用调度方法和系统及存储介质

Country Status (1)

Country Link
CN (1) CN115098240B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115981865A (zh) * 2022-12-29 2023-04-18 广州趣研网络科技有限公司 一种业务资源调度方法、装置、电子设备及存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160098300A1 (en) * 2014-10-02 2016-04-07 Media Tek Inc. Multi-core processor systems and methods for assigning tasks in a multi-core processor system
CN111598486A (zh) * 2020-06-09 2020-08-28 拉扎斯网络科技(上海)有限公司 任务分组方法、平台、服务器及存储介质
CN111694648A (zh) * 2020-06-09 2020-09-22 北京百度网讯科技有限公司 一种任务调度方法、装置以及电子设备
CN112667380A (zh) * 2020-12-30 2021-04-16 珠海亿智电子科技有限公司 多处理器任务调度方法、装置及存储介质
US20210263781A1 (en) * 2020-02-22 2021-08-26 International Business Machines Corporation Dispatching tasks on processors based on memory access efficiency
CN114706689A (zh) * 2022-05-17 2022-07-05 中诚华隆计算机技术有限公司 一种基于子任务特性的多核处理器任务调度方法及系统

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160098300A1 (en) * 2014-10-02 2016-04-07 Media Tek Inc. Multi-core processor systems and methods for assigning tasks in a multi-core processor system
US20210263781A1 (en) * 2020-02-22 2021-08-26 International Business Machines Corporation Dispatching tasks on processors based on memory access efficiency
CN111598486A (zh) * 2020-06-09 2020-08-28 拉扎斯网络科技(上海)有限公司 任务分组方法、平台、服务器及存储介质
CN111694648A (zh) * 2020-06-09 2020-09-22 北京百度网讯科技有限公司 一种任务调度方法、装置以及电子设备
CN112667380A (zh) * 2020-12-30 2021-04-16 珠海亿智电子科技有限公司 多处理器任务调度方法、装置及存储介质
CN114706689A (zh) * 2022-05-17 2022-07-05 中诚华隆计算机技术有限公司 一种基于子任务特性的多核处理器任务调度方法及系统

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115981865A (zh) * 2022-12-29 2023-04-18 广州趣研网络科技有限公司 一种业务资源调度方法、装置、电子设备及存储介质
CN115981865B (zh) * 2022-12-29 2024-05-07 广州趣研网络科技有限公司 一种业务资源调度方法、装置、电子设备及存储介质

Also Published As

Publication number Publication date
CN115098240B (zh) 2022-11-15

Similar Documents

Publication Publication Date Title
Nabi et al. DRALBA: Dynamic and resource aware load balanced scheduling approach for cloud computing
CN112416585B (zh) 面向深度学习的gpu资源管理与智能化调度方法
CN111431961A (zh) 一种云数据中心的节能任务分配方法
CN114610474B (zh) 一种异构超算环境下多策略的作业调度方法及系统
Hosseini A new shuffled genetic-based task scheduling algorithm in heterogeneous distributed systems
CN109710372B (zh) 一种基于猫头鹰搜索算法的计算密集型云工作流调度方法
CN106934537A (zh) 基于反向工作流调度的子期限获取优化方法
CN115098240B (zh) 一种多处理器应用调度方法和系统及存储介质
Biswas et al. Multi-level queue for task scheduling in heterogeneous distributed computing system
Shi et al. A task scheduling approach for cloud resource management
Singh et al. A comparative study of various scheduling algorithms in cloud computing
CN114579284A (zh) 任务调度方法及装置
CN112306642B (zh) 一种基于稳定匹配博弈理论的工作流调度方法
Kumar et al. Delay-based workflow scheduling for cost optimization in heterogeneous cloud system
Dubey et al. QoS driven task scheduling in cloud computing
CN112882805A (zh) 一种任务资源约束的利润优化调度方法
Rashmi et al. Deadline constrained Cost Effective Workflow scheduler for Hadoop clusters in cloud datacenter
Mala et al. Resource allocation in cloud using enhanced max-min algorithm
Arif A Hybrid MinMin & Round Robin Approach for task scheduling in cloud computing
Genez et al. A flexible scheduler for workflow ensembles
CN111522637B (zh) 一种基于成本效益的storm任务调度方法
Suresh et al. Prioritized user demand approach for scheduling meta tasks on heterogeneous grid environment
Kim et al. An allocation and provisioning model of science cloud for high throughput computing applications
Aida et al. Performance enhancement of scheduling algorithm in heterogeneous distributed computing systems
Sharma et al. An optimized task scheduling in cloud computing using priority

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