CN110347512A - 一种多组件异构资源需求的资源调度方法 - Google Patents
一种多组件异构资源需求的资源调度方法 Download PDFInfo
- Publication number
- CN110347512A CN110347512A CN201910631482.3A CN201910631482A CN110347512A CN 110347512 A CN110347512 A CN 110347512A CN 201910631482 A CN201910631482 A CN 201910631482A CN 110347512 A CN110347512 A CN 110347512A
- Authority
- CN
- China
- Prior art keywords
- resource
- component
- priority
- needed
- sequence
- 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
Links
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
-
- 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)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明涉及机器学习算法的技术领域,提供了一种单一应用多组件异构资源需求的资源调度方法,包括以下步骤:统计可用的每种资源的总数为Xi,i为表示资源种类的编号,统计所有组件所需的每种资源的总数为Yi,计算Zi=Xi‑Yi,根据Zi制定用于组件执行排序的第一优先级Tji:Zi越小其对应的资源的第一优先级Tji越高,j越小,表示第一优先级Tji越高,根据第一优先级Tji排列组件的执行顺序。这种单一应用多组件异构资源需求的资源调度方法是根据应用中的组件对资源的需求数量和可用数量来制定组件运行顺序,在总体资源够的前提,合理的分配资源,保证应用的成功运行。
Description
技术领域
本发明涉及机器学习算法的技术领域,尤其涉及一种单一应用多组件异构资源需求的资源调度方法和一种多应用多组件异构资源需求的资源调度方法。
背景技术
Tensorflow是一种用图的形式来表示运算过程的一种模型,它是一个基于数据流编程的符号数学系统,被广泛应用于各类机器学习算法的编程实现,其前身是谷歌的神经网络算法库。分布式TensorFlow的核心组件(core runtime)包括:分发中心(distributedmaster)、执行器(worker service)、参数器(parameter server)、内核应用(kernelimplementation)和最底端的设备层(device layer)/网络层(networking layer)。分发中心从输入的数据流图中剪取子图(subgraph),将其划分为操作片段并启动执行器。分发中心处理数据流图时会进行预设定的操作优化,包括公共子表达式消去(commonsubexpression elimination)、常量折叠(constant folding)等。执行器负责图操作在进程和设备中的运行、收发其它执行器的结果。参数器负责汇总和更新其它执行器返回的模型参数。
一个任务需要利用CPU或GPU等资源分布式执行图的运算过程。一般我们无需显示的指定资源,Tensorflow可以自动地进行识别,如果检测到我们的GPU环境,会优先的利用GPU环境执行我们的程序。但如果我们的计算机中有多于一个可用的GPU,这就需要我们手动的指派GPU去执行。TensorFlow的核心组件中,分发中心和执行器用GPU进行计算来加速学习性能,而参数器只需要使用CPU进行计算;现有技术中对于资源的调度方法都是按照任务定义的顺序来调度资源,比如一个TensorFlow任务的组件对于资源的需求为:
1个分发中心:1CPU+2GPU,总数:1CPU+2GPU;
2个参数器:每个1CPU,总数:2CPU;
2个执行器:每个1CPU+1GPU,总数:2CPU+2GPU;
可用系统资源配置为:两台主机:主机1:4CPU+4GPU,主机2:4CPU;
可用系统资源为8CPU+4GPU,任务所需资源为5CPU+4GPU,可用系统资源大于任务所需资源。目前的调度方法的步骤为:
以上的例子只是单一应用的情况,在多应用或多种不同资源的情况下(如CPU、GPU、内存、存储空间、网络带宽等),发生这种现象的概率会很大,即总体资源够,但分配会失败。
发明内容
本发明要解决的技术问题是:为了解决现有技术中由于对资源的分配方法不合理,导致即使资源足够却仍然出现应用运行失败的问题,本发明提供了一种单一应用多组件异构资源需求的资源调度方法来解决上述问题。
本发明解决其技术问题所采用的技术方案是:一种单一应用多组件异构资源需求的资源调度方法,包括以下步骤:
S1、统计可用的每种资源的总数为Xi,其中i=1,2,…n,n为大于1的自然数,i为表示资源种类的编号;
S2、统计单一应用中所有组件所需的每种资源的总数为Yi,其中i=1,2,…n,n为大于1的自然数,i为表示资源种类的编号;
S3、计算Zi=Xi-Yi;
S4、根据Zi制定用于组件执行排序的第一优先级Tji:Zi越小其对应的资源的第一优先级Tji越高,其中j=1,2,…m,m为大于或等于1的自然数,m≤n,j越小,表示第一优先级Tji越高;
S5、根据第一优先级Tji排列组件的执行顺序。
作为优选,在所述步骤S5中,当m=n时,首先比较各个组件所需第一优先级T1i对应的资源的数量,数量越大则组件的执行顺序越优先;
当出现不同组件所需第一优先级T1i对应的资源的数量相同时,比较这些组件所需第一优先级T2i对应的资源的数量,数量越大则组件的执行顺序越优先;
以此类推,直至不再出现两个以上的组件之间所需的某一种资源的数量相同的情况或者比较完所有种类的资源的所需数量为止。
作为优选,还包括步骤:对应每种资源设定第二优先级Pi;
在所述步骤S5中,当m<n时,首先比较各个组件所需第一优先级T1i对应的资源的数量,数量越大则组件的执行顺序越优先;
当出现不同组件所需第一优先级T1i对应的资源的数量相同时,比较这些组件所需第一优先级T2i对应的资源的数量,数量越大则组件的执行顺序越优先;
当两种以上的资源对应的第一优先级Tji相同时,则采用这些资源对应的第二优先级Pi对组件的执行顺序进行排列;
以此类推,直至不再出现两个以上的组件之间所需的某一种资源的数量相同的情况或者比较完所有种类的资源的所需数量为止。
作为优选,还包括步骤:将同一种类的组件合并成组件群,组件群中的组件的数量至少为1;
在所述步骤S5中,当m=n时,首先比较各个组件群所需第一优先级T1i对应的资源的数量,数量越大则组件群中的组件的执行顺序越优先;
当出现不同组件群所需第一优先级T1i对应的资源的数量相同时,比较这些组件所需第一优先级T2i对应的资源的数量,数量越大则组件群中的组件的执行顺序越优先;
以此类推,直至不再出现两个以上的组件群之间所需的某一种资源的数量相同的情况或者比较完所有种类的资源的所需数量为止。
作为优选,还包括步骤:将同一种类的组件合并成组件群,组件群中的组件的数量至少为1;对应每种资源设定第二优先级Pi;
在所述步骤S5中,当m<n时,首先比较各个组件群所需第一优先级T1i对应的资源的数量,数量越大则组件群中的组件的执行顺序越优先;
当出现不同组件群所需第一优先级T1i对应的资源的数量相同时,比较这些组件所需第一优先级T2i对应的资源的数量,数量越大则组件群中的组件的执行顺序越优先;
当两种以上的资源对应的第一优先级Tji相同时,则采用这些资源对应的第二优先级Pi对组件群的组件的执行顺序进行排列;
以此类推,直至不再出现两个以上的组件群之间所需的某一种资源的数量相同的情况或者比较完所有种类的资源的所需数量为止。
作为优选,其特征在于:
还包括步骤S6、按照组件的执行顺序来运行各个组件。
针对多应用,本发明还提供了一种多应用多组件异构资源需求的资源调度方法,包括以下步骤:
按照所述的一种单一应用多组件异构资源需求的资源调度方法确定每个应用的组件执行顺序;
根据Zi制定用于应用执行排序的第三优先级Qk,其中k=1,2,…l,l为大于1的自然数,k越小表示第三优先级Qk越高:比较各个应用的第一优先级T1i对应的Zi的大小,Zi越小第三优先级Qk越高;当出现不同应用的第一优先级T1对应的Zn的大小相等时,则它们的第三优先级Qk相同;
根据第三优先级Qk,排列应用的执行顺序。
本发明的有益效果是,这种单一应用多组件异构资源需求的资源调度方法是根据应用中的组件对资源的需求数量和可用数量来制定组件运行顺序,在总体资源够的前提,合理的分配资源,保证应用的成功运行。
附图说明
下面结合附图和实施例对本发明进一步说明。
图1是本发明的一种单一应用多组件异构资源需求的资源调度方法的实施例1的流程图。
图2是本发明的一种多应用多组件异构资源需求的资源调度方法的实施例的流程图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能理解为对本发明的限制。
在本发明的描述中,需要理解的是,术语“中心”、“纵向”、“横向”、“长度”、“宽度”、“厚度”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”“内”、“外”、“轴向”、“径向”、“周向”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。
此外,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性。在本发明的描述中,需要说明的是,除非另有明确的规定和限定,术语“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。此外,在本发明的描述中,除非另有说明,“多个”的含义是两个或两个以上。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。
如图1所示,是一种单一应用多组件异构资源需求的资源调度方法的实施例1,包括以下步骤:
S1、统计可用的每种资源的总数为Xi,其中i=1,2,…n,n为大于1的自然数,i为表示资源种类的编号,资源是指用于编辑、存储和运行应用的硬件资源,包括CPU、GPU、内存、存储空间、网络带宽等。例如,主机总数为3,CPU的总数X1=12,GPU总数X2=8,内存总数X3=6,存储空间总数X4=9,网络带宽总数X5=3,此时n=5。
S2、统计单一应用中所有组件所需的每种资源的总数为Yi,其中i=1,2,…n,n为大于1的自然数,i为表示资源种类的编号;组件是指分发中心、参数器、执行器、内核、网络中心等。例如组件1为分发中心,所需资源为1CPU+1GPU,组件2为参数器,所需资源为1CPU,组件3为参数器,所需资源为1CPU,组件4为执行器,所需资源为1CPU+2GPU,组件5为执行器,所需资源为1CPU+2GPU,组件里6为内核,所需资源为2内存+3存储空间,组件7为网络中心,所需资源为1网络带宽,因此CPU的所需总数Y1=5,GPU所需总数Y2=5,内存所需总数Y3=2,存储空间所需总数Y4=3,网络带宽所需总数Y5=1。
S3、计算Zi=Xi-Yi,此实例中,Z1=7,Z2=3,Z3=4,Z4=6,Z5=2,
S4、根据Zi制定用于组件执行排序的第一优先级Tji:Zi越小其对应的资源的第一优先级Tji越高,其中j=1,2,…m,m为大于或等于1的自然数,m≤n,j越小,表示第一优先级Tji越高;此实例中m=n,5种资源对应的第一优先级从高到低依次是网络带宽T15,GPU T22,内存T33,存储空间T44以及CPU T51。综合上述统计结构整理成表1:
CPU | GPU | 内存 | 存储空间 | 网络带宽 | |
资源总数(X<sub>i</sub>) | 12 | 8 | 6 | 9 | 3 |
所需总数(Y<sub>i</sub>) | 5 | 5 | 2 | 3 | 1 |
Z<sub>i</sub> | 7 | 3 | 4 | 6 | 2 |
第一优先级 | T<sub>51</sub> | T<sub>22</sub> | T<sub>33</sub> | T<sub>44</sub> | T<sub>15</sub> |
表1
S5、根据第一优先级Tji排列组件的执行顺序:首先比较各个组件所需第一优先级T1i对应的资源的数量,数量越大则组件的执行顺序越优先;
当出现不同组件所需第一优先级T1i对应的资源的数量相同时,比较这些组件所需第一优先级T2i对应的资源的数量,数量越大则组件的执行顺序越优先;
以此类推,直至不再出现两个以上的组件之间所需的某一种资源的数量相同的情况或者比较完所有种类的资源的所需数量为止。排列之后具体的执行顺序见表2:
网络带宽(T<sub>15</sub>) | GPU(T<sub>22</sub>) | 内存(T<sub>33</sub>) | 存储空间(T<sub>44</sub>) | CPU(T<sub>51</sub>) | 结果 | |
组件1 | 0 | 1 | 0 | 0 | 1 | 第四执行 |
组件2 | 0 | 0 | 0 | 0 | 1 | 第七执行 |
组件3 | 0 | 0 | 0 | 0 | 1 | 第六执行 |
组件4 | 0 | 2 | 0 | 0 | 1 | 第三执行 |
组件5 | 0 | 2 | 0 | 0 | 1 | 第二执行 |
组件6 | 0 | 0 | 2 | 3 | 0 | 第五执行 |
组件7 | 1 | 0 | 0 | 0 | 0 | 第一执行 |
表2
结合表2,此实例中由于网络带宽对应的第一优先级最高,所以首先比较7个组件对网络带宽的需求数量,组件7需求为1,其它为0,所以组件7被排在第一个执行,GPU对应的第一优先级次高,剩余6个组件中组件1对GPU的需求为1,组件4和组件5的需求为2,其余组件需求为0,所以可以确定的是组件1第四个执行,由于组件4和组件5对GPU的需求一样,组件4和组件5的执行顺序包揽第二和第三。为了得到组件4和组件5的执行顺序,接下来按照第一优先级从高到底的顺序依次比较它们对各种资源的需求数量,可以从表2中看出,由于它们对于其他资源的需求数量也都是一样的,所以组件5第二个执行并且组件4第三个执行,也可以把它们的执行顺序调换。实际上,组件4和组件5是相同的组件种类,所需的每种资源的数量都一样,它们的执行次序谁先谁后均可,符合实际应用的运行逻辑。
最后按照组件的执行顺序来运行各个组件。
在实施例2中,当有两种以上的资源对应的Zi相等时,那么这些资源对应的第一优先级也相同,例如将组件7的资源需求改为1网络带宽+1内存,则得到表3:
CPU | GPU | 内存 | 存储空间 | 网络带宽 | |
资源总数(X<sub>i</sub>) | 12 | 8 | 6 | 9 | 3 |
所需总数(Y<sub>i</sub>) | 5 | 5 | 3 | 3 | 1 |
Z<sub>i</sub> | 7 | 3 | 3 | 6 | 2 |
第一优先级 | T<sub>41</sub> | T<sub>22</sub> | T<sub>23</sub> | T<sub>34</sub> | T<sub>15</sub> |
表3
可以看出,此实例中,m=4,m<n=5,那么如果按照实施例1中的调度方式则会出现无法给出排序结果的问题,具体参见表4:
网络带宽(T<sub>15</sub>) | GPU(T<sub>22</sub>) | 内存(T<sub>23</sub>) | 存储空间(T<sub>34</sub>) | CPU(T<sub>41</sub>) | 结果 | |
组件1 | 0 | 1 | 0 | 0 | 1 | 未决 |
组件2 | 0 | 0 | 0 | 0 | 1 | 未决 |
组件3 | 0 | 0 | 0 | 0 | 1 | 未决 |
组件4 | 0 | 2 | 0 | 0 | 1 | 未决 |
组件5 | 0 | 2 | 0 | 0 | 1 | 未决 |
组件6 | 0 | 0 | 2 | 3 | 0 | 未决 |
组件7 | 1 | 0 | 1 | 0 | 0 | 第一执行 |
表4
通过表4可以看出,由于GPU和内存对应的第一优先级一样,实施例1中的调度方法在给出组件7为第一个执行的结果后,无法再给出剩余组件的执行顺序,因此在此实例中还包括步骤,对应每种资源设定第二优先级Pi,其中i=1,2,…n,n为大于1的自然数,i为表示资源种类的编号,第二优先级Pi可以根据实际需求进行预设,此实例中,P1>P3>P2>P4>P5,由于P3>P2,则重新调整第一优先级为网络带宽T15,GPU T32,内存T23,存储空间T44以及CPU T51,然后根据与实施例1相同的方式依次进行比较,结果见表5:
表5
最后按照组件的执行顺序来运行各个组件。
实施例1和实施例2中,组件2和组件3为相同种类的组件,组件4和组件5也为相同的组件,相同种类的组件所需的资源种类和数量一般是相同的,为了能够进一步的提高调度的效率,在实施例3中,将同一种类的组件合并成组件群,组件群中的组件的数量至少为1,那么组件1为组件群1,组件2和组件3组成组件群2,组件4和组件5组成组件群3,组件6为组件群4,组件7为组件群5。此实例中m=5,首先比较各个组件群所需第一优先级T1i对应的资源的数量,数量越大则组件群中的组件的执行顺序越优先;
当出现不同组件群所需第一优先级T1i对应的资源的数量相同时,比较这些组件所需第一优先级T2i对应的资源的数量,数量越大则组件群中的组件的执行顺序越优先;
以此类推,直至不再出现两个以上的组件群之间所需的某一种资源的数量相同的情况或者比较完所有种类的资源的所需数量为止;结果见表6:
网络带宽(T<sub>15</sub>) | GPU(T<sub>22</sub>) | 内存(T<sub>33</sub>) | 存储空间(T<sub>44</sub>) | CPU(T<sub>51</sub>) | 结果 | |
组件群1 | 0 | 1 | 0 | 0 | 1 | 第三执行 |
组件群2 | 0 | 0 | 0 | 0 | 2 | 第五执行 |
组件群3 | 0 | 4 | 0 | 0 | 2 | 第二执行 |
组件群4 | 0 | 0 | 2 | 3 | 0 | 第四执行 |
组件群5 | 1 | 0 | 0 | 0 | 0 | 第一执行 |
表6
同一群组中的组件所需的资源是相同的,所以同一组群中的组件之间的顺序谁先谁后均可。
最后按照组件的执行顺序来运行各个组件。
基于实施例2,在实施例4中,将同一种类的组件合并成组件群,组件群中的组件的数量至少为1;那么组件1为组件群1,组件2和组件3组成组件群2,组件4和组件5组成组件群3,组件6为组件群4,组件7为组件群5。首先比较5个组件群所需第一优先级T1i对应的资源的数量,数量越大则组件群中的组件的执行顺序越优先;
当出现不同组件群所需第一优先级T1i对应的资源的数量相同时,比较这些组件所需第一优先级T2i对应的资源的数量,数量越大则组件群中的组件的执行顺序越优先;
对应每种资源设定第二优先级Pi,其中i=1,2,…5,i为表示资源种类的编号,第二优先级Pi可以根据实际需求进行预设。当两种以上的资源对应的第一优先级Tji相同时,则采用这些资源对应的第二优先级Pi对组件群的组件的执行顺序进行排列;此实例中,m=4,m<n=5,因此,此实例中,P1>P3>P2>P4>P5,由于P3>P2,则重新调整第一优先级为网络带宽T15,GPU T32,内存T23,存储空间T44以及CPU T51。
以此类推,直至不再出现两个以上的组件群之间所需的某一种资源的数量相同的情况或者比较完所有种类的资源的所需数量为止。
结果见表7:
网络带宽(T<sub>15</sub>) | GPU(T<sub>32</sub>) | 内存(T<sub>23</sub>) | 存储空间(T<sub>44</sub>) | CPU(T<sub>51</sub>) | 结果 | |
组件群1 | 0 | 1 | 0 | 0 | 1 | 第四执行 |
组件群2 | 0 | 0 | 0 | 0 | 2 | 第五执行 |
组件群3 | 0 | 4 | 0 | 0 | 2 | 第三执行 |
组件群4 | 0 | 0 | 2 | 3 | 0 | 第二执行 |
组件群5 | 1 | 0 | 1 | 0 | 0 | 第一执行 |
最后按照组件的执行顺序来运行各个组件。
在一种多应用多组件异构资源需求的资源调度方法的实施例中,对多个应用的资源需求进行调度,包括以下步骤:
针对每种应用里的组件种类和它们所需求的资源,利用上述的单一应用多组件异构资源需求的资源调度方法确定每个应用的组件执行顺序;
根据Zi制定用于应用执行排序的第三优先级Qk,其中k=1,2,…l,l为大于1的自然数,k越小表示第三优先级Qk越高;比较各个应用的第一优先级T1i对应的Zi的大小,Zi越小第三优先级Qk越高;当出现不同应用的第一优先级T1i对应的Zi的大小相等时,则它们的第三优先级Qk相同;
根据第三优先级Qk,排列应用的执行顺序。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对所述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
以上述依据本发明的理想实施例为启示,通过上述的说明内容,相关工作人员完全可以在不偏离本项发明技术思想的范围内,进行多样的变更以及修改。本项发明的技术性范围并不局限于说明书上的内容,必须要根据权利要求范围来确定其技术性范围。
Claims (7)
1.一种单一应用多组件异构资源需求的资源调度方法,其特征在于,包括以下步骤:
S1、统计可用的每种资源的总数为Xi,其中i=1,2,…n,n为大于1的自然数,i为表示资源种类的编号;
S2、统计单一应用中所有组件所需的每种资源的总数为Yi,其中i=1,2,…n,n为大于1的自然数,i为表示资源种类的编号;
S3、计算Zi=Xi-Yi;
S4、根据Zi制定用于组件执行排序的第一优先级Tji:Zi越小其对应的资源的第一优先级Tji越高,其中j=1,2,…m,m为大于或等于1的自然数,m≤n,j越小,表示第一优先级Tji越高;
S5、根据第一优先级Tji排列组件的执行顺序。
2.如权利要求1所述的一种单一应用多组件异构资源需求的资源调度方法,其特征在于:在所述步骤S5中,当m=n时,首先比较各个组件所需第一优先级T1i对应的资源的数量,数量越大则组件的执行顺序越优先;
当出现不同组件所需第一优先级T1i对应的资源的数量相同时,比较这些组件所需第一优先级T2i对应的资源的数量,数量越大则组件的执行顺序越优先;
以此类推,直至不再出现两个以上的组件之间所需的某一种资源的数量相同的情况或者比较完所有种类的资源的所需数量为止。
3.如权利要求1所述的一种单一应用多组件异构资源需求的资源调度方法,其特征在于,还包括步骤:对应每种资源设定第二优先级Pi;
在所述步骤S5中,当m<n时,首先比较各个组件所需第一优先级T1i对应的资源的数量,数量越大则组件的执行顺序越优先;
当出现不同组件所需第一优先级T1i对应的资源的数量相同时,比较这些组件所需第一优先级T2i对应的资源的数量,数量越大则组件的执行顺序越优先;
当两种以上的资源对应的第一优先级Tji相同时,则采用这些资源对应的第二优先级Pi对组件的执行顺序进行排列;
以此类推,直至不再出现两个以上的组件之间所需的某一种资源的数量相同的情况或者比较完所有种类的资源的所需数量为止。
4.如权利要求1所述的一种单一应用多组件异构资源需求的资源调度方法,其特征在于,还包括步骤:将同一种类的组件合并成组件群,组件群中的组件的数量至少为1;
在所述步骤S5中,当m=n时,首先比较各个组件群所需第一优先级T1i对应的资源的数量,数量越大则组件群中的组件的执行顺序越优先;
当出现不同组件群所需第一优先级T1i对应的资源的数量相同时,比较这些组件所需第一优先级T2i对应的资源的数量,数量越大则组件群中的组件的执行顺序越优先;
以此类推,直至不再出现两个以上的组件群之间所需的某一种资源的数量相同的情况或者比较完所有种类的资源的所需数量为止。
5.如权利要求1所述的一种单一应用多组件异构资源需求的资源调度方法,其特征在于,还包括步骤:将同一种类的组件合并成组件群,组件群中的组件的数量至少为1;对应每种资源设定第二优先级Pi;
在所述步骤S5中,当m<n时,首先比较各个组件群所需第一优先级T1i对应的资源的数量,数量越大则组件群中的组件的执行顺序越优先;
当出现不同组件群所需第一优先级T1i对应的资源的数量相同时,比较这些组件所需第一优先级T2i对应的资源的数量,数量越大则组件群中的组件的执行顺序越优先;
当两种以上的资源对应的第一优先级Tji相同时,则采用这些资源对应的第二优先级Pi对组件群的组件的执行顺序进行排列;
以此类推,直至不再出现两个以上的组件群之间所需的某一种资源的数量相同的情况或者比较完所有种类的资源的所需数量为止。
6.如权利要求2~5任一项所述的一种单一应用多组件异构资源需求的资源调度方法,其特征在于:
还包括步骤S6、按照组件的执行顺序来运行各个组件。
7.一种多应用多组件异构资源需求的资源调度方法,其特征在于,包括以下步骤:
按照如权利要求1~5任一项所述的一种单一应用多组件异构资源需求的资源调度方法确定每个应用的组件执行顺序;
根据Zi制定用于应用执行排序的第三优先级Qk,其中k=1,2,…l,l为大于1的自然数,k越小表示第三优先级Qk越高:比较各个应用的第一优先级T1i对应的Zi的大小,Zi越小第三优先级Qk越高;当出现不同应用的第一优先级T1i对应的Zi的大小相等时,则它们的第三优先级Qk相同;
根据第三优先级Qk,排列应用的执行顺序。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910631482.3A CN110347512B (zh) | 2019-07-12 | 2019-07-12 | 一种多组件异构资源需求的资源调度方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910631482.3A CN110347512B (zh) | 2019-07-12 | 2019-07-12 | 一种多组件异构资源需求的资源调度方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110347512A true CN110347512A (zh) | 2019-10-18 |
CN110347512B CN110347512B (zh) | 2023-05-12 |
Family
ID=68176068
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910631482.3A Active CN110347512B (zh) | 2019-07-12 | 2019-07-12 | 一种多组件异构资源需求的资源调度方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110347512B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111369129A (zh) * | 2020-02-29 | 2020-07-03 | 广东博智林机器人有限公司 | 一种建筑机器人的生产调度方法和系统 |
CN111625363A (zh) * | 2020-05-29 | 2020-09-04 | 北京达佳互联信息技术有限公司 | 用于资源推荐操作的执行方法、装置、设备及存储介质 |
CN117768051A (zh) * | 2023-12-01 | 2024-03-26 | 山东诚泉信息科技有限责任公司 | 一种算法级无线电信号快速仿真生成方法 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0650121A2 (en) * | 1993-10-20 | 1995-04-26 | Matsushita Electric Industrial Co., Ltd. | Resource assignment apparatus |
US20080263555A1 (en) * | 2004-07-30 | 2008-10-23 | Commissariat A L'energie Atomique | Task Processing Scheduling Method and Device for Applying the Method |
CN101938838A (zh) * | 2009-07-02 | 2011-01-05 | 中兴通讯股份有限公司 | 基于服务质量的系统资源分配方法及装置 |
US20120124591A1 (en) * | 2010-11-17 | 2012-05-17 | Nec Laboratories America, Inc. | scheduler and resource manager for coprocessor-based heterogeneous clusters |
US20140047119A1 (en) * | 2007-03-30 | 2014-02-13 | International Business Machines Corporation | Method and system for modeling and analyzing computing resource requirements of software applications in a shared and distributed computing environment |
CN103942102A (zh) * | 2014-04-14 | 2014-07-23 | 桂林电子科技大学 | 基于双优先级的实时任务调度方法 |
CN109062683A (zh) * | 2018-06-29 | 2018-12-21 | 深圳信息职业技术学院 | 主机资源分配的方法、装置及计算机可读存储介质 |
CN109167835A (zh) * | 2018-09-13 | 2019-01-08 | 重庆邮电大学 | 一种基于kubernetes的物理资源调度方法及系统 |
CN109408215A (zh) * | 2018-11-07 | 2019-03-01 | 郑州云海信息技术有限公司 | 一种计算节点的任务调度方法和装置 |
-
2019
- 2019-07-12 CN CN201910631482.3A patent/CN110347512B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0650121A2 (en) * | 1993-10-20 | 1995-04-26 | Matsushita Electric Industrial Co., Ltd. | Resource assignment apparatus |
US20080263555A1 (en) * | 2004-07-30 | 2008-10-23 | Commissariat A L'energie Atomique | Task Processing Scheduling Method and Device for Applying the Method |
US20140047119A1 (en) * | 2007-03-30 | 2014-02-13 | International Business Machines Corporation | Method and system for modeling and analyzing computing resource requirements of software applications in a shared and distributed computing environment |
CN101938838A (zh) * | 2009-07-02 | 2011-01-05 | 中兴通讯股份有限公司 | 基于服务质量的系统资源分配方法及装置 |
US20120124591A1 (en) * | 2010-11-17 | 2012-05-17 | Nec Laboratories America, Inc. | scheduler and resource manager for coprocessor-based heterogeneous clusters |
CN103942102A (zh) * | 2014-04-14 | 2014-07-23 | 桂林电子科技大学 | 基于双优先级的实时任务调度方法 |
CN109062683A (zh) * | 2018-06-29 | 2018-12-21 | 深圳信息职业技术学院 | 主机资源分配的方法、装置及计算机可读存储介质 |
CN109167835A (zh) * | 2018-09-13 | 2019-01-08 | 重庆邮电大学 | 一种基于kubernetes的物理资源调度方法及系统 |
CN109408215A (zh) * | 2018-11-07 | 2019-03-01 | 郑州云海信息技术有限公司 | 一种计算节点的任务调度方法和装置 |
Non-Patent Citations (2)
Title |
---|
CHANDRASHEKHAR S. PAWAR等: "Priority Based Dynamic Resource Allocation in Cloud Computing", 《2012 INTERNATIONAL SYMPOSIUM ON CLOUD AND SERVICES COMPUTING》 * |
刘伍颖等: "面向异构多域环境的全局资源调度研究与实现", 《计算机工程与应用》 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111369129A (zh) * | 2020-02-29 | 2020-07-03 | 广东博智林机器人有限公司 | 一种建筑机器人的生产调度方法和系统 |
CN111625363A (zh) * | 2020-05-29 | 2020-09-04 | 北京达佳互联信息技术有限公司 | 用于资源推荐操作的执行方法、装置、设备及存储介质 |
CN111625363B (zh) * | 2020-05-29 | 2024-02-13 | 北京达佳互联信息技术有限公司 | 用于资源推荐操作的执行方法、装置、设备及存储介质 |
CN117768051A (zh) * | 2023-12-01 | 2024-03-26 | 山东诚泉信息科技有限责任公司 | 一种算法级无线电信号快速仿真生成方法 |
Also Published As
Publication number | Publication date |
---|---|
CN110347512B (zh) | 2023-05-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2022222567A1 (zh) | 一种任务调度方法、装置及计算机可读存储介质 | |
US9798830B2 (en) | Stream data multiprocessing method | |
CN105900064B (zh) | 调度数据流任务的方法和装置 | |
CN110347512A (zh) | 一种多组件异构资源需求的资源调度方法 | |
CN109254842B (zh) | 分布式流式系统的资源管理方法、装置及可读存储介质 | |
CN103078941B (zh) | 一种分布式计算系统的任务调度方法 | |
Pastor et al. | Tabu search algorithms for an industrial multi-product and multi-objective assembly line balancing problem, with reduction of the task dispersion | |
CN103279390B (zh) | 一种面向小作业优化的并行处理系统 | |
US9218210B2 (en) | Distributed processing system | |
CN103699446A (zh) | 基于量子粒子群优化算法的多目标工作流动态调度方法 | |
CN114610474B (zh) | 一种异构超算环境下多策略的作业调度方法及系统 | |
CN103425536A (zh) | 一种面向分布式系统性能测试的测试资源管理方法 | |
CN104407921A (zh) | 一种基于时间的yarn任务资源动态调度方法 | |
CN103327128A (zh) | 用于MapReduce的中间数据传输方法及系统 | |
Rauchecker et al. | Using high performance computing for unrelated parallel machine scheduling with sequence-dependent setup times: Development and computational evaluation of a parallel branch-and-price algorithm | |
US20050080690A1 (en) | Methods and computer systems for reducing runtimes in material requirements planning | |
CN107807854A (zh) | 一种自动调度节点机的方法及渲染任务处理方法 | |
CN103024791B (zh) | 一种通信测试系统中多业务处理模型及处理方法 | |
Tantalaki et al. | Linear scheduling of big data streams on multiprocessor sets in the cloud | |
US7614056B1 (en) | Processor specific dispatching in a heterogeneous configuration | |
CN106484492A (zh) | 配置接口的方法和系统 | |
CN106354552A (zh) | 并行计算任务分配方法和装置 | |
Cui et al. | A scheduling algorithm for multi-tenants instance-intensive workflows | |
WO2013133789A1 (en) | Automated job assignment to service providers | |
CN106909343B (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 |