资源调度方法、装置、电子设备及存储介质与流程

文档序号:31869876发布日期:2022-10-21 18:41阅读:41来源:国知局
1.本技术涉及资源管理领域,具体涉及一种资源调度方法、装置、电子设备及存储介质。
背景技术
::2.众多领域中在进行数据处理时,凡是涉及到计算的任务,均需要为其分配一定的硬件资源以提供必要支持。其中,硬件资源通常为资源池中的硬件资源平台的硬件核心,例如:资源池将其中cpu平台的cpu核心作为硬件资源分配给任务,以支持任务的计算。现有技术中,在对资源池中的硬件资源进行调度分配的过程中,常常会导致部分硬件资源被浪费,从而导致资源池的资源利用率和计算效率均较为低下。技术实现要素:3.本技术的一个目的在于提出一种资源调度方法、装置、电子设备及存储介质,能够提高资源池的整体资源利用率和整体计算效率。4.根据本技术实施例的一方面,公开了一种资源调度方法,所述方法包括:5.针对需求第一资源池中的第一硬件资源平台计算的目标任务,获取所述目标任务所需求的目标核心数量,并获取所述第一硬件资源平台的空闲硬件处理节点的第一核心数量;6.若检测到所述目标核心数量大于所述第一核心数量,则获取第二资源池中的第二硬件资源平台的空闲硬件处理节点的第二核心数量;7.若检测到所述第一核心数量与所述第二核心数量之和大于或等于所述目标核心数量,则将所述第二硬件资源平台的空闲硬件处理节点临时整合至所述第一资源池,并将所述目标任务推送至所述第一资源池,指示所述第一硬件资源平台调用所述第一资源池的整合后空闲硬件处理节点计算所述目标任务,其中,所述整合后空闲硬件处理节点的核心数量大于或等于所述目标核心数量。8.根据本技术实施例的一方面,公开了一种资源调度装置,所述装置包括:9.第一获取模块,配置为针对需求第一资源池中的第一硬件资源平台计算的目标任务,获取所述目标任务所需求的目标核心数量,并获取所述第一硬件资源平台的空闲硬件处理节点的第一核心数量;10.第二获取模块,配置为若检测到所述目标核心数量大于所述第一核心数量,则获取第二资源池中的第二硬件资源平台的空闲硬件处理节点的第二核心数量;11.整合推送模块,配置为若检测到所述第一核心数量与所述第二核心数量之和大于或等于所述目标核心数量,则将所述第二硬件资源平台的空闲硬件处理节点临时整合至所述第一资源池,并将所述目标任务推送至所述第一资源池,指示所述第一硬件资源平台调用所述第一资源池的整合后空闲硬件处理节点计算所述目标任务,其中,所述整合后空闲硬件处理节点的核心数量大于或等于所述目标核心数量。12.在本技术的一示例性实施例中,所述装置配置为:13.从任务队列中取出所述目标任务,获取所述目标任务的作业信息;14.基于所述作业信息,检索得到硬件环境与所述目标任务适配的资源池,并将与所述目标任务适配的资源池作为所述第一资源池。15.在本技术的一示例性实施例中,所述装置配置为:16.确定所述目标任务所需求的软件证书;17.若检测到软件资源平台存在空闲的所述软件证书,并且检测到所述第一核心数量与所述第二核心数量之和大于或等于所述目标核心数量,则将所述软件证书分配给所述目标任务,并临时整合所述第一资源池以及将所述目标任务推送至所述第一资源池,指示所述第一硬件资源平台调用所述整合后空闲硬件处理节点计算所述目标任务。18.在本技术的一示例性实施例中,所述装置配置为:19.所述目标任务计算完成之后,将所述软件资源平台中的所述软件证书进行释放,并将所述第一资源池中被所述目标任务占用的硬件处理节点进行释放。20.在本技术的一示例性实施例中,所述装置配置为:21.所述目标任务计算完成后,将所述第一资源池中被所述目标任务占用的硬件处理节点进行释放,并将临时整合至所述第一资源池的空闲硬件处理节点退还至所述第二资源池。22.在本技术的一示例性实施例中,所述装置配置为:23.通过将所述第二硬件资源平台的空闲硬件处理节点的标签临时更改为与所述第一资源池绑定的方式,将所述第二硬件资源平台的空闲硬件处理节点临时整合至所述第一资源池;24.通过将临时整合至所述第一资源池的空闲硬件处理节点的标签还原为与所述第二资源池绑定的方式,将临时整合至所述第一资源池的空闲硬件处理节点退还至所述第二资源池。25.在本技术的一示例性实施例中,所述装置配置为:26.从所述第二硬件资源平台中筛选出使得所述整合后空闲硬件节点的核心数量大于或等于所述目标核心数量,并且使得所述整合后空闲硬件节点的核心数量最小的空闲硬件处理节点;27.将从所述第二硬件资源平台中筛选出的空闲硬件处理节点临时整合至所述第一资源池。28.根据本技术实施例的一方面,公开了一种电子设备,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述电子设备实现上述各种可选实现方式中提供的方法。29.根据本技术实施例的一方面,公开了一种计算机程序介质,其上存储有计算机可读指令,当所述计算机可读指令被计算机的处理器执行时,使计算机执行上述各种可选实现方式中提供的方法。30.根据本技术实施例的一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述各种可选实现方式中提供的方法。31.本技术实施例中,针对需要第一资源池的第一硬件资源平台计算的目标任务,在目标任务所需求的目标核心数量大于第一硬件资源平台的空闲硬件处理节点的第一核心数量时,通过将第二资源池中的第一硬件资源平台的空闲硬件处理节点临时整合至第一资源池,适应性地弹性调整了资源池的硬件资源分布,从而使得第一资源池的整合后空闲硬件处理节点能够用于计算目标任务,实现了空闲硬件处理节点的二次调度,减少了硬件资源的浪费,从而提高了第一资源池和第二资源池的整体资源利用率和整体计算效率。32.本技术的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本技术的实践而习得。33.应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本技术。附图说明34.通过参考附图详细描述其示例实施例,本技术的上述和其它目标、特征及优点将变得更加显而易见。35.图1示出了根据本技术一个实施例的基础资源调度策略示意图。36.图2示出了根据本技术一个实施例的图1实施例在资源调度前后的硬件资源分布示意图。37.图3示出了根据本技术一个实施例的资源调度方法的流程图。38.图4示出了根据本技术一个实施例的本技术所提供资源调度方法与基础资源调度策略耦合的流程图。39.图5示出了根据本技术一个实施例的资源调度的详细流程图。40.图6示出了根据本技术一个实施例的资源调度开发逻辑架构示意图。41.图7示出了根据本技术一个实施例的资源调度装置的框图。42.图8示出了根据本技术一个实施例的电子设备硬件图。具体实施方式43.现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些示例实施方式使得本技术的描述将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。附图仅为本技术的示意性图解,并非一定是按比例绘制。图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。44.此外,所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多示例实施方式中。在下面的描述中,提供许多具体细节从而给出对本技术的示例实施方式的充分理解。然而,本领域技术人员将意识到,可以实践本技术的技术方案而省略所述特定细节中的一个或更多,或者可以采用其它的方法、组元、步骤等。在其它情况下,不详细示出或描述公知结构、方法、实现或者操作以避免喧宾夺主而使得本技术的各方面变得模糊。45.附图中所示的一些方框图是功能实体,不一定必须与物理或逻辑上独立的实体相对应。可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。46.本技术提供了一种资源调度方法,可用于高性能计算集群hpc(highperformancecomputing)的资源调度系统pbs(portablebatchsystem)。作为hpc中用于资源调度的计算任务管理器,pbs可通过本技术提供的资源调度方法,对hpc的计算资源进行调度,从而提升hpc的整体资源利用率和整体计算效率。47.图1示出了本技术一实施例的基础资源调度策略示意图。图2示出了本技术一实施例的图1实施例在资源调度前后的硬件资源分布示意图。48.参考图1至图2,本实施例中,资源调度系统pbs接收到待计算的任务q后,确认任务q的相关信息:需求112核心,指定硬件资源平台p1。49.根据任务q的软件信息,确定硬件适配任务q的资源池r1。进而检测资源池r1中的硬件资源平台p1的空闲硬件处理节点是否有足够的核心数量,并检测软件资源平台是否空闲有任务q的license证书。50.若软件资源平台空闲有证书,并且p1的空闲硬件处理节点有足够的核心数量,则将任务q从存储拷贝到r1,交由p1的空闲硬件处理节点进行计算。51.若软件资源平台空闲有证书,但p1的空闲硬件处理节点没有足够的核心数量,则将资源池r2中的硬件资源平台p2的空闲硬件处理节点临时整合至r1,使得p1的整合后空闲硬件处理节点的核心数量大于或等于112核心。进而将任务q从存储拷贝到r1,交由p1的整合后空闲硬件处理节点进行计算。52.由此可见,本实施例通过将r2中的p2的空闲硬件处理节点临时整合至资源池r1,使得r1中的p1的原本会被搁置浪费的空闲硬件处理节点得到二次调度,从而提高了r1和r2的整体资源利用率和整体计算效率。53.本实施例中,优选的,硬件资源平台p1的平台类型与硬件资源平台p2的平台类型相同或相似,但由于所处资源池的硬件环境不同,通常会导致硬件资源平台p1与硬件资源平台p2所具体适用的任务存在区别。54.图3示出了本技术一实施例的资源调度方法的流程图,该方法的示例性执行主体为资源调度系统pbs,该方法包括:55.步骤s110、针对需求第一资源池中的第一硬件资源平台计算的目标任务,获取目标任务所需求的目标核心数量,并获取第一硬件资源平台的空闲硬件处理节点的第一核心数量;56.步骤s120、若检测到目标核心数量大于第一核心数量,则获取第二资源池中的第二硬件资源平台的空闲硬件处理节点的第二核心数量;57.步骤s130、若检测到第一核心数量与第二核心数量之和大于或等于目标核心数量,则将第二硬件资源平台中的空闲硬件处理节点临时整合至第一资源池,并将目标任务推送至第一资源池,指示第一硬件资源平台调用第一资源池的整合后空闲硬件处理节点计算目标任务,其中,整合后空闲硬件处理节点的核心数量大于或等于目标核心数量。58.具体的,本技术实施例中,针对需求第一资源池r1中的第一硬件资源平台p1计算的目标任务q,获取其所需求的目标核心数量n1。目标核心数量为n1,说明计算目标任务q需要占用n1个核心。59.其中,核心作为硬件资源平台中的硬件资源占用单位,位于硬件资源平台中作为硬件资源调度单位的硬件处理节点。核心包括但不限于cpu核心、gpu核心等。当硬件资源平台为通过cpu节点搭建起来的cpu平台时,其硬件处理节点为cpu节点,其核心为cpu核心。当硬件资源平台为通过gpu节点搭建起来的gpu平台时,其硬件处理节点为gpu节点,其核心为gpu核心。60.考虑到p1的空闲硬件处理节点的第一核心数量n1可能会小于n1,尤其是目标任务q为需求大量核心的大规模任务时,这种情况会导致r1暂时无法用于计算目标任务q,从而导致r1的硬件资源的浪费。61.为了提高资源池的硬件资源利用效率,本技术实施例中,若检测到n1大于n1,则获取第二资源池r2中的第二硬件资源平台p2的空闲硬件处理节点的第二核心数量n2。优选的,p2为p1的同类平台,即,p1的平台类型与p2的平台类型相同或相似。62.进一步检测n1与n2之和是否大于或等于n1。若检测到n1与n2之和大于或等于n1,则将p2中的空闲硬件处理节点临时整合至r1,使得p1在r1中可调用的整合后空闲硬件处理节点的核心数量n3大于或等于n1。进而将目标任务q推送至r1,指示p1调用r1的整合后空闲硬件处理节点计算目标任务q。63.例如:目标任务q所需求的目标核心数量n1为112;第一资源池r1中的第一硬件资源平台p1的空闲硬件处理节点c1(c11,c12,...,c1x)的核心数量n1为80;第二资源池r2中的第二硬件资源平台p2的空闲硬件处理节点c2(c21,c22,...,c2y)的核心数量n2为40。其中,x与y均为正整数。64.由于n1大于n1,因此仅依靠r1的硬件资源无法满足目标任务q的需求。但由于n1与n2之和为120,大于n1,因此将p2的空闲硬件处理节点临时整合至r1后,r1中可供p1调用的整合后空闲硬件处理节点的核心数量n3可以大于或等于n1。因此将p2的空闲硬件处理节点临时整合至r1后,使得n3大于或等于n1后,再将目标任务q推送至r1,即可使得p1调用r1的整合后空闲硬件处理节点计算目标任务q。65.由此可见,本技术实施例中,针对需要第一资源池的第一硬件资源平台计算的目标任务,在目标任务所需求的目标核心数量大于第一硬件资源平台的空闲硬件处理节点的第一核心数量时,通过将第二资源池中的第一硬件资源平台的空闲硬件处理节点临时整合至第一资源池,适应性地弹性调整了资源池的硬件资源分布,从而使得第一资源池的整合后空闲硬件处理节点能够用于计算目标任务,实现了空闲硬件处理节点的二次调度,减少了硬件资源的浪费,从而提高了第一资源池和第二资源池的整体资源利用率和整体计算效率。66.在一实施例中,从任务队列中取出目标任务,获取目标任务的作业信息。基于作业信息,检索得到硬件环境与目标任务适配的资源池,并将与目标任务适配的资源池作为第一资源池。67.本实施例主要应用于fifo(firstinfirstout,先入先出)策略的资源调度场景。本实施例中,提交至pbs的任务按照时间顺序进行排队,组成任务队列。pbs将从任务队列中取出的当前任务作为目标任务q,获取目标任务q的作业信息。作业信息包括任务id、软件名称s1、需求的第一硬件资源平台p1、需求的目标核心n1等。68.进而pbs基于作业信息,在预先配置的数据库中检索得到硬件环境与目标任务q适配的资源池,并将该资源池作为第一资源池r1。69.在一实施例中,确定目标任务所需求的软件证书。若检测到软件资源平台存在空闲的软件证书,并且检测到第一核心数量与第二核心数量之和大于或等于目标核心数量,则将软件证书分配给目标任务,并临时整合第一资源池以及将目标任务推送至第一资源池,指示第一硬件资源平台调用整合后空闲硬件处理节点计算目标任务。70.本实施例中,pbs除了确定目标任务q所需求的目标核心数量n1外,还确定目标任务q所需求的软件证书l1。确定出的n1用于进行硬件资源匹配,确定出的软件证书l1用于进行软件资源匹配。当软硬件资源均匹配成功时,再对目标任务q进行软件资源分配和硬件资源分配。71.具体的,pbs可以先确定目标任务q所需求的软件证书l1,检测到软件资源平台存在空闲的软件证书l1后,再检测第一核心数量n1与第二核心数量n2之和是否大于或等于n1。若n1与n2之和大于或等于n1,则将软件证书l1分配给目标任务q,并将第二资源平台p2的空闲硬件处理节点临时整合至第一资源池r1,使得r1中可供第一硬件资源平台p1调用的整合后空闲硬件处理节点的核心数量n3大于或等于n1。72.pbs也可以在检测软件资源平台是否存在空闲的软件证书l1的同时,检测n1与n2之和是否大于或等于n1。进而在检测到软件资源平台存在空闲的软件证书l2,并且n1与n2之和大于或等于n1时,将软件证书l1分配给目标任务q,并将p2的空闲硬件处理节点临时整合至r1,使得n3大于或等于n1。73.在一实施例中,目标任务计算完成之后,将软件资源平台中的软件证书进行释放,并将第一资源池中被目标任务占用的硬件处理节点进行释放。74.本实施例中,pbs将软件证书l1分配给目标任务q,并将第二资源池r2中的第二硬件资源平台p2的空闲硬件处理节点临时整合至第一资源池r1后,目标任务q被第一硬件资源平台p1调用r1的整合后空闲硬件处理节点进行计算。75.由于被占用的软硬件资源暂时无法用于计算其他任务,为了保证软硬件资源的高效利用,目标任务q计算完成之后,pbs将被目标任务q占用的软硬件资源进行释放。即,将软件证书l1进行释放,并将p1中被目标任务q占用的硬件处理节点进行释放。释放后的软硬件资源恢复为可利用的空闲状态。76.图4示出了本技术一实施例的本技术所提供资源调度方法与基础资源调度策略耦合的流程图。77.参考图4。本实施例中,pbs接收到用户提交的待计算的任务q后,确认任务q的作业信息:软件名称为s1,指定的cpu平台为p1,需求的目标核心数量为n1。78.pbs在软件资源平台进行检索,检测软件s1的证书l1,即,任务q1的软件证书l1;并在硬件资源池进行检索,检测资源池r1中的p1的空闲cpu节点的第一核心数量n1,资源池r2中的p2的空闲cpu节点的第二核心数量n2。79.若存在空闲的软件证书l1,并且n1大于或等于n1,则将任务q推送至r1,调取任务执行脚本,执行计算进程。80.若不存在空闲的软件证书l1,或者n1小于n1,则将任务q进行排队,进而根据本技术所提供资源调度方法,在检测到存在空闲的软件证书l1,并且n1与n2之和大于或等于n1时,利用动态自适应的fifo调度策略对任务q与资源池进行整合,将p2的空闲cpu节点临时整合至r1,使得r1的整合后空闲cpu节点的核心数量大于或等于n1,进而推送任务q至r1,调起任务执行脚本,执行计算进程。81.计算进程结束后,释放被任务q占用的软件证书l1和p1的cpu节点。82.在一实施例中,目标任务计算完成后,将第一资源池中被目标任务占用的硬件处理节点进行释放,并将临时整合至第一资源池的空闲硬件处理节点退还至第二资源池。83.本实施例中,目标任务q的计算过程中,被目标任务q占用的硬件处理节点包括:第一硬件资源平台p1的硬件处理节点,原本属于第二硬件资源平台p2但临时整合至r1的硬件处理节点。84.为了维持硬件处理节点与资源池之间归属关系的稳定,目标任务q计算完成后,除了将被目标任务q占用的硬件处理节点进行释放,恢复为空闲状态,还将原本属于p2但临时整合至r1的硬件处理节点退还至r2。85.在一实施例中,通过将第二硬件资源平台中的空闲硬件处理节点的标签临时更改为与第一资源池绑定的方式,将第二硬件资源平台的空闲硬件处理节点临时整合至第一资源池。通过将临时整合至第一资源池的空闲硬件处理节点的标签还原为与第二资源池绑定的方式,将临时整合至第一资源池的空闲硬件处理节点退还至第二资源池。86.本实施例中,pbs通过标签绑定的方式对硬件处理节点与资源池之间的归属关系进行管理。87.具体的,第一资源池r1的硬件处理节点的标签与r1绑定,第二资源池r2的硬件处理节点的标签与r2绑定。88.pbs在检测到第一核心数量n1与第二核心数量n2之和大于或等于目标核心数量n1后,将第二硬件资源平台p2的空闲硬件处理节点的标签临时更改为与r1绑定,从而将p2的空闲硬件处理节点临时整合至r1。同理,pbs在目标任务q计算完成后,将临时整合至r1的空闲硬件处理节点的标签还原为与r2绑定,从而将临时整合至r1的空闲硬件处理节点退还至r2。89.图5示出了本技术一实施例的资源调度的详细流程图。90.参考图5。本实施例中,pbs确认任务q的作业信息:软件名称为s1,指定的cpu平台为p1,需求的目标核心数量为n1。并确认资源池r状态:资源池r1中的x个cpu平台p1,资源池r2中的y个cpu平台p2,p1的空闲cpu节点的第一核心数量n1,p2的空闲cpu节点的第二核心数量n2。其中,x与y均为正整数。91.若n1大于n1,则将p2的空闲cpu节点临时整合至r1,将r1中临时可用的cpu节点的核数扩增至(n1+n2)。92.若检测到存在空闲的软件证书l1,并且(n1+n2)大于或等于n1,则推送任务q至r1,调取任务执行脚本,执行计算进程。93.计算进程结束后,释放软件证书l1,解绑r1中临时整合的原属于p2的空闲cpu节点,并退回至r2。94.图6示出了本技术一实施例的资源调度开发逻辑架构示意图。95.参考图6。本实施例中,在资源调度开发逻辑的阶段一,建立三个关联数据库:资源池数据库resource_pool,资源池操作信息数据库resource_opration,软件license信息数据库job_lic_data。96.具体的,通过分析各类仿真软件特性,匹配最佳的cpu平台,建立资源池数据库resource_pool。其中的关键字段包括:资源池名称、节点数量、核心数量、适用软件等。97.建立资源池操作信息数据库resource_opration,记录资源池操作日志。其中的关键字段包括:任务id、需求的目标核心数量、软件名称、节点数量、资源池操作前名称、资源池操作后名称、调度系统修改资源池命令等。98.建立软件license信息数据库job_lic_data,监测软件license状态。其中的关键字段包括:记录数、时间、星期、软件名称、license总数、license使用数、在计算任务数、在目标任务数、任务总数、在算核数、排队核数等。99.在资源调度开发逻辑的阶段二,通过自主开发的shell+python自动化脚本,建立资源池空闲资源二次调度判断逻辑。100.具体的,通过pbs的命令qstat,获取目标任务的作业信息:任务id、软件名称、需求的平台名称p1、需求的目标核心数量n1。101.进而利用目标任务的作业信息,检索软件license信息数据库job_lic_data,查看软件license。102.当license不满足目标任务的需求,继续排队。当license满足目标任务的需求,利用目标任务的作业信息,检索资源池数据库resource_pool,获取适配的资源池信息r1。检索r1的空闲cpu节点状态和r2的空闲cpu节点状态。若r1的空闲cpu节点的第一核心数量n1与r2的空闲cpu节点的第二核心数量n2之和小于目标核心n1,则继续排队;若n1与n2之和大于或等于n1,则进入资源调度开发逻辑的阶段三。103.在资源调度开发逻辑的阶段三,通过自主开发的shell+python自动化脚本,整合资源池空闲资源在二次调度后的映射关系。104.具体的,将r2中的p2的空闲cpu节点的标签修改为与r1的p1绑定,记录相关操作于资源池操作信息数据库resource_operation中。通过脚本调用pbs命令qrun,将目标任务推送至r1进行计算。105.在资源调度开发逻辑的阶段四,通过自主开发的shell+python自动化脚本,还原资源池的映射关系。106.具体的,目标任务计算完成后,释放计算资源。并根据任务id,检索资源池操作信息数据库resource_operation,查找适配资源池修改前的标签信息,并将标签进行还原。107.在一实施例中,从第二硬件资源平台中筛选出使得整合后空闲硬件节点的核心数量大于或等于目标核心数量,并且使得整合后空闲硬件节点的核心数量最小的空闲硬件处理节点。将从第二硬件资源平台中筛选出的空闲硬件处理节点临时整合至第一资源池。108.本实施例中,pbs在对资源池的硬件资源分布进行弹性调整时,最低限度地进行整合。109.具体的,考虑到第二硬件资源平台p2的空闲硬件处理节点会有多个,即使第一核心数量n1与第二核心数量n2之和大于或等于目标核心数量n1,也并不代表一定要将p2的空闲硬件处理节点全部整合至第一资源池r1。如果能够最低限度地控制整合所涉及的硬件处理节点,将有助于维持资源池的稳定性。110.因此,pbs检测到n1与n2之和大于或等于n1后,从p2中筛选出使得整合后空闲硬件节点的核心数量n3大于或等于的空闲硬件处理节点,并且使得n3值最小。进而再将这些从p2中筛选出的空闲硬件处理节点临时整合至第一资源池r1。111.例如:目标任务q所需求的目标核心数量n1为100;第一资源池r1中的第一硬件资源平台p1的空闲硬件处理节点c1的核心数量n1为80;第二资源池r2中的第二硬件资源平台p2的空闲硬件处理节点c2(c21,c22,c23)的核心数量n2为60。其中,c21的核心数量n21为10,c22的核心数量n22为20,c23的核心数量n23为30。112.可以将c21,c22,c23全部临时整合至r1,使得可供p1调用的r1的整合后空闲硬件处理节点的核心数量n3为140,大于n1,满足目标任务q的需求;也可以仅将c21和c22临时整合至r1,使得n3为110,大于n1,满足目标任务q的需求;也可以仅将c22临时整合至r1,使得n3为100,等于n1,满足目标任务q的需求。113.包含上述三种整合方式的所有方式中,能够使得n3大于或等于n1,并且n3值最小的为第三种整合方式。第三种整合方式能够最低限度地控制临时整合仅涉及c22。因此pbs优选仅将c22临时整合至r1。114.图7示出了根据本技术一实施例的资源调度装置的框图,所述装置包括:115.第一获取模块210,配置为针对需求第一资源池中的第一硬件资源平台计算的目标任务,获取所述目标任务所需求的目标核心数量,并获取所述第一硬件资源平台的空闲硬件处理节点的第一核心数量;116.第二获取模块220,配置为若检测到所述目标核心数量大于所述第一核心数量,则获取第二资源池中的第二硬件资源平台的空闲硬件处理节点的第二核心数量;117.整合推送模块230,配置为若检测到所述第一核心数量与所述第二核心数量之和大于或等于所述目标核心数量,则将所述第二硬件资源平台的空闲硬件处理节点临时整合至所述第一资源池,并将所述目标任务推送至所述第一资源池,指示所述第一硬件资源平台调用所述第一资源池的整合后空闲硬件处理节点计算所述目标任务,其中,所述整合后空闲硬件处理节点的核心数量大于或等于所述目标核心数量。118.在本技术的一示例性实施例中,所述装置配置为:119.从任务队列中取出所述目标任务,获取所述目标任务的作业信息;120.基于所述作业信息,检索得到硬件环境与所述目标任务适配的资源池,并将与所述目标任务适配的资源池作为所述第一资源池。121.在本技术的一示例性实施例中,所述装置配置为:122.确定所述目标任务所需求的软件证书;123.若检测到软件资源平台存在空闲的所述软件证书,并且检测到所述第一核心数量与所述第二核心数量之和大于或等于所述目标核心数量,则将所述软件证书分配给所述目标任务,并临时整合所述第一资源池以及将所述目标任务推送至所述第一资源池,指示所述第一硬件资源平台调用所述整合后空闲硬件处理节点计算所述目标任务。124.在本技术的一示例性实施例中,所述装置配置为:125.所述目标任务计算完成之后,将所述软件资源平台中的所述软件证书进行释放,并将所述第一资源池中被所述目标任务占用的硬件处理节点进行释放。126.在本技术的一示例性实施例中,所述装置配置为:127.所述目标任务计算完成后,将所述第一资源池中被所述目标任务占用的硬件处理节点进行释放,并将临时整合至所述第一资源池的空闲硬件处理节点退还至所述第二资源池。128.在本技术的一示例性实施例中,所述装置配置为:129.通过将所述第二硬件资源平台的空闲硬件处理节点的标签临时更改为与所述第一资源池绑定的方式,将所述第二硬件资源平台的空闲硬件处理节点临时整合至所述第一资源池;130.通过将临时整合至所述第一资源池的空闲硬件处理节点的标签还原为与所述第二资源池绑定的方式,将临时整合至所述第一资源池的空闲硬件处理节点退还至所述第二资源池。131.在本技术的一示例性实施例中,所述装置配置为:132.从所述第二硬件资源平台中筛选出使得所述整合后空闲硬件节点的核心数量大于或等于所述目标核心数量,并且使得所述整合后空闲硬件节点的核心数量最小的空闲硬件处理节点;133.将从所述第二硬件资源平台中筛选出的空闲硬件处理节点临时整合至所述第一资源池。134.下面参考图8来描述根据本技术实施例的电子设备30。图8显示的电子设备30仅仅是一个示例,不应对本技术实施例的功能和使用范围带来任何限制。135.如图8所示,电子设备30以通用计算设备的形式表现。电子设备30的组件可以包括但不限于:上述至少一个处理单元310、上述至少一个存储单元320、连接不同系统组件(包括存储单元320和处理单元310)的总线330。136.其中,所述存储单元存储有程序代码,所述程序代码可以被所述处理单元310执行,使得所述处理单元310执行本说明书上述示例性方法的描述部分中描述的根据本发明各种示例性实施方式的步骤。例如,所述处理单元310可以执行如图3中所示的各个步骤。137.存储单元320可以包括易失性存储单元形式的可读介质,例如随机存取存储单元(ram)3201和/或高速缓存存储单元3202,还可以进一步包括只读存储单元(rom)3203。138.存储单元320还可以包括具有一组(至少一个)程序模块3205的程序/实用工具3204,这样的程序模块3205包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。139.总线330可以为表示几类总线结构中的一种或多种,包括存储单元总线或者存储单元控制器、外围总线、图形加速端口、处理单元或者使用多种总线结构中的任意总线结构的局域总线。140.电子设备30也可以与一个或多个外部设备400(例如键盘、指向设备、蓝牙设备等)通信,还可与一个或者多个使得用户能与该电子设备30交互的设备通信,和/或与使得该电子设备30能与一个或多个其它计算设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(i/o)接口350进行。输入/输出(i/o)接口350与显示单元340相连。并且,电子设备30还可以通过网络适配器360与一个或者多个网络(例如局域网(lan),广域网(wan)和/或公共网络,例如因特网)通信。如图所示,网络适配器360通过总线330与电子设备30的其它模块通信。应当明白,尽管图中未示出,可以结合电子设备30使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、raid系统、磁带驱动器以及数据备份存储系统等。141.通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本技术实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是cd-rom,u盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、终端装置、或者网络设备等)执行根据本技术实施方式的方法。142.在本技术的示例性实施例中,还提供了一种计算机可读存储介质,其上存储有计算机可读指令,当所述计算机可读指令被计算机的处理器执行时,使计算机执行上述方法实施例部分描述的方法。143.根据本技术的一个实施例,还提供了一种用于实现上述方法实施例中的方法的程序产品,其可以采用便携式紧凑盘只读存储器(cd-rom)并包括程序代码,并可以在终端设备,例如个人电脑上运行。然而,本发明的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。144.所述程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以为但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。145.计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。146.可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、rf等等,或者上述的任意合适的组合。147.可以以一种或多种程序设计语言的任意组合来编写用于执行本发明操作的程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如java、c++等,还包括常规的过程式程序设计语言—诸如“c”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(lan)或广域网(wan),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。148.应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本技术的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。149.此外,尽管在附图中以特定顺序描述了本技术中方法的各个步骤,但是,这并非要求或者暗示必须按照该特定顺序来执行这些步骤,或是必须执行全部所示的步骤才能实现期望的结果。附加的或备选的,可以省略某些步骤,将多个步骤合并为一个步骤执行,以及/或者将一个步骤分解为多个步骤执行等。150.通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本技术实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是cd-rom,u盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、移动终端、或者网络设备等)执行根据本技术实施方式的方法。151.本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本技术的其它实施方案。本技术旨在涵盖本技术的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本技术的一般性原理并包括本技术未公开的本
技术领域
:中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本技术的真正范围和精神由所附的权利要求指出。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1