CN109062702B - 一种计算资源分配方法、相关装置及可读存储介质 - Google Patents
一种计算资源分配方法、相关装置及可读存储介质 Download PDFInfo
- Publication number
- CN109062702B CN109062702B CN201811011969.3A CN201811011969A CN109062702B CN 109062702 B CN109062702 B CN 109062702B CN 201811011969 A CN201811011969 A CN 201811011969A CN 109062702 B CN109062702 B CN 109062702B
- Authority
- CN
- China
- Prior art keywords
- instance
- computing resource
- computing
- computing resources
- allocated
- 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
Links
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/50—Allocation of resources, e.g. of the central processing unit [CPU]
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
- Hardware Redundancy (AREA)
Abstract
本发明实施例涉及通信技术领域,公开了一种计算资源分配方法、相关装置及可读存储介质。本发明中,计算资源分配方法包括:获取当前计算资源的使用信息,其中,使用信息包括已被分配的第一计算资源和未被分配的第二计算资源;根据每一个实例的优先级、每一个实例运行时所需要的计算资源、每一个实例的状态以及当前计算资源的使用信息,对每一个实例进行计算资源的分配。当需要多个实例同时运行的情况下,获取当前计算资源的使用情况,并结合当前已被分配计算资源实例以及待分配计算资源实例的优先级,以及实例运行时所需要的计算资源,从当前的计算资源中对每一个实例进行资源的分配,使计算资源的分配更加合理,每个实例都能够正常运行。
Description
技术领域
本发明实施例涉及通信技术领域,特别涉及一种计算资源分配方法、相关装置及可读存储介质。
背景技术
随着信息的积累,需要分析的数据量达到TB甚至PB的数量级,并诞生了大数据实时分析的需求。因此,越来越多的场景需要进行多实例的同时进行。而对于大型的计算或数据处理程序,尤其是当每个实例都需要使用到多种计算资源时,实例的运行情况依赖于操作系统的分配机制。
发明人发现现有技术中至少存在如下问题:目前广泛的分配机制中,多数采用先到先得的的分配策略,在接收到实例后对实例进行最大限度的资源分配,致使后续的实例可能无法分配到足够资源而正常运行。同时,由于多个实例资源的相互争抢,也会影响每个实例的性能表现,从而影响多个并行实例的正常运行。
发明内容
本发明实施方式的目的在于提供一种计算资源分配方法、相关装置及可读存储介质,使得在需要多个实例同时运行的情况下,能够在保证多个实例的正常工作的前提下,实现对多个实例计算资源的合理分配。
为解决上述技术问题,本发明的实施方式提供了一种计算资源分配方法,包括以下步骤:获取当前计算资源的使用信息,其中,使用信息包括已被分配的第一计算资源和未被分配的第二计算资源;根据每一个实例的优先级、每一个实例运行时所需要的计算资源、每一个实例的状态以及当前计算资源的使用信息,对每一个实例进行计算资源的分配,其中,状态包括已分配计算资源的状态和待分配计算资源的状态。
本发明的实施方式还提供了一种计算资源分配装置,包括:获取模块,用于获取当前计算资源的使用信息,其中,使用信息包括已被分配的第一计算资源和未被分配的第二计算资源;分配模块,用于根据每一个实例的优先级、每一个实例运行时所需要的计算资源、每一个实例的状态以及当前计算资源的使用信息,对每一个实例进行计算资源的分配,其中,状态包括已分配计算资源的状态和待分配计算资源的状态。
本发明的实施方式还提供了一种服务器,包括:至少一个处理器;以及,与至少一个处理器通信连接的存储器;其中,存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行如上所述的计算资源分配方法。
本发明的实施方式还提供了一种计算机可读存储介质,存储有计算机程序,计算机程序被处理器执行时实现如上所述的计算资源分配方法。
本发明实施方式相对于现有技术而言,当需要多个实例同时运行的情况下,获取当前计算资源的使用情况,得到当前已被使用的计算资源以及未被使用的计算资源,并结合当前已被分配计算资源实例以及待分配计算资源实例的优先级,以及实例运行时所需要的计算资源,从当前的计算资源中对每一个实例进行资源的分配,使计算资源的分配更加合理,每个实例都能够正常运行,避免了先到先得分配方式对计算资源的不合理分配,导致实例无法正常运行的问题。
另外,获取当前计算资源的使用信息之前,还包括:确定每一个实例运行时所需要的最低限度计算资源和最高限度计算资源,将最低限度计算资源和最高限度计算资源作为每一个实例运行时所需要的计算资源。该实现中,通过确定每一个实施例运行时所需要的最低限度计算资源,在进行计算资源分配时能够确保每一个实例能够按照最低限度计算资源进行运行,并在保证每一个实例能够正常运行的基础上考虑最高限度计算资源,从而对每一个实例的运行效果进行优化。
另外,根据每一个实例的优先级、每一个实例运行时所需要的计算资源、每一个实例的状态以及当前计算资源的使用信息,对每一个实例进行计算资源的分配,具体包括:判断待分配计算资源的实例的优先级是否小于已分配计算资源的实例优先级;若是,则判断第二计算资源是否小于待分配计算资源的实例运行时所需要的最低限度计算资源,若判断结果为是,则确定实例实际分配的计算资源,并按照实例实际分配的计算资源进行分配,否则,将第二计算资源分配给待分配计算资源的实例;否则,确定实例实际分配的计算资源,并按照实例实际分配的计算资源进行分配。该实现中,如果待分配计算资源的实例优先级大于已分配计算资源的实例,或者第二计算资源小于待分配计算资源实例运行时所需要的最低限度计算资源的情况下,都需要重新确定实例实际分配的计算资源,并按照实际分配的计算资源进行分配,保证了在每个实例都能正常运行起来的基础上,考虑到了将更多的剩余计算资源按优先级由高到低的顺序进行分配,使优先级高的实例能够获得足够的计算资源实现所对应的功能。
另外,确定实例实际分配的计算资源,并按照实例实际分配的计算资源进行分配,具体包括:将实例各自所需要的最高限度计算资源分别相加获得第三计算资源,判断当前计算资源是否大于第三计算资源,若是,则将实例各自所需要的最高限度计算资源,作为实例实际分配的计算资源,并按照实例实际分配的计算资源进行分配,否则,将实例各自所需要的最低限度计算资源分别相加获得第四计算资源,并将当前计算资源减去第四计算资源获得第五计算资源,根据第五计算资源和实例的优先级确定实例实际分配的计算资源,并按照实例实际分配的计算资源进行分配。
另外,确定实例实际分配的计算资源,并按照实例实际分配的计算资源进行分配,具体包括:将实例各自所需要的最高限度计算资源分别相加获得第三计算资源,判断当前计算资源是否大于第三计算资源,若是,则将实例各自所需要的最高限度计算资源,作为实例实际分配的计算资源,否则,将实例各自所需要的最低限度计算资源分别相加获得第四计算资源,并将当前计算资源减去第四计算资源获得第五计算资源,根据第五计算资源和实例的优先级确定实例实际分配的计算资源,并按照实例实际分配的计算资源进行分配。该实现中,将实例各自所对应的最高限度计算资源分别相加获得第三计算资源,并根据当前计算资源与第三计算资源的大小关系,分不同的情况确定实例实际分配的计算资源,从而体现了计算资源分配方式的多样性。
另外,根据第五计算资源和实例的优先级确定实例实际分配的计算资源,具体包括:按照实例优先级由高到低的顺序,依次确定实例从第五计算资源中获取的计算资源,其中,实例从第五计算资源中获取的计算资源与实例最低限度计算资源之和等于实例最高限度计算资源;将实例最低限度计算资源与实例从第五计算资源中获取的计算资源之和,作为实例实际分配的计算资源。
另外,根据每一个实例的优先级、每一个实例运行时所需要的计算资源以及当前计算资源的使用信息对每一个实例进行计算资源的分配之后,还包括:判断是否有实例停止运行,若是,则重新执行计算资源分配方法。
另外,计算资源包括:处理器、内存空间和显卡。
附图说明
一个或多个实施例通过与之对应的附图中的图片进行示例性说明,这些示例性说明并不构成对实施例的限定,附图中具有相同参考数字标号的元件表示为类似的元件,除非有特别申明,附图中的图不构成比例限制。
图1是本申请第一实施例中计算资源分配方法的流程图;
图2是本申请第一实施例中一个具体实现中计算资源分配方法的流程图;
图3是本申请第二实施例中计算资源分配方法的流程图;
图4是本申请第三实施例中计算资源分配装置的方框示意图;
图5是本申请第四实施例中计算资源装置的方框示意图;
图6是本申请第五实施例中服务器的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明的各实施方式进行详细的阐述。然而,本领域的普通技术人员可以理解,在本发明各实施方式中,为了使读者更好地理解本申请而提出了许多技术细节。但是,即使没有这些技术细节和基于以下各实施方式的种种变化和修改,也可以实现本申请所要求保护的技术方案。
本发明的第一实施方式涉及一种计算资源分配方法。具体流程如图1所示,包括以下步骤:
步骤101,获取当前计算资源的使用情况。
具体的说,在本实施例中,使用信息包括已分配的第一计算资源和未被分配的第二计算资源,计算资源包括处理器、内存空间和显卡等相关计算信息。当然,在本实施方式中计算资源还可能包括其它信息,本实施方式中只是举例进行说明。
其中,获取当前计算资源的使用信息的具体方式可以采用从运行处理器、内存空间和显卡的终端的人机交互界面上直接读取,例如,如果处理器的计算资源被分配,则会将分配的计算资源的具体数值和剩余的计算资源的具体数值在终端上进行保存,并将保存的结果在终端的人机交互界面上进行显示。
值得一提的是,在获取当前计算资源的使用情况之前,需要确定每一个实例运行时所需要的最低限度计算资源和最高限度计算资源,并将最低限度计算资源和最高限度计算资源作为每一个实例运行时所需要的计算资源。并且最低限度计算资源是保证每一个实例所能够正常运行的基础,只有实例所分配的计算资源达到了最低限度计算资源,实例才能够运行起来,否则实例无法运行。实例所分配的计算资源越多则运行处理速度会相应的提高,但考虑到实例运行的实际环境,每一个实例都会相应的设定一个最高限度计算资源。并且在确定的运行环境下每一个实例运行时所需要的计算资源是唯一确定的。
步骤102,判断待分配计算资源实例的优先级是否小于已分配计算资源实例的优先级,若是,则执行步骤103,否则执行步骤104。
需要说明的是,每一个实例都相应的对应着一种状态,其中实例的状态包括:已分配计算资源的状态和待分配计算资源的状态。其中,如果实例的状态确定为已分配计算资源的状态,说明该实例已经被分配计算资源并且正在运行中,如果实例的状态确定为待分配计算资源的状态,说明该实例等待分配计算资源还未开始运行。
具体的说,在本实施方式中,每一个实例都会有一个相应的优先级,优先级越高说明该实例所对应的工作是需要进行优先处理的,并且是非常重要的,需要为优先级高的实例分配尽量多的计算资源,因为计算资源越多实例的运行效率会越快,实例完成的工作质量也会更优。每一个实例的优先级是已知并且确定的,并且实例的优先级相关信息可以保存在记录列表中,通过查询列表的方式可以获得实例的优先级,并对实例进行优先级的判断。
例如,在记录列表中保存了实施例1的优先级为A,实施例2的优先级为B,并且A的优先等级要高于B的优先等级,如果确定待分配计算资源的实例为实例1,已分配计算资源的实例为实例2,则可以通过查询记录列表确定实例1的优先级和实例2的优先级,并根据查询结果对实例1和实例2的优先级进行判断,经过判断确定实例1的优先级要高于实例2的优先级。当然,本实施方式仅是举例说明,本实施方式并不限定实例优先级的具体判断方法。
步骤103,判断第二计算资源是否小于待分配计算资源实例运行时所需要的最低限度计算资源,若是,判断结果为是,则执行步骤104,否则执行步骤105。
具体的说,因为当前计算资源是包括已被分配的第一计算资源和未被分配的第二计算资源,并且第二计算资源是可以直接分配给待分配计算资源实例的。但在将第二计算资源分配给待分配计算资源实例之前需要确定,第二计算资源是否能保证待分配实例能够正常运行起来,即将第二计算资源与实例运行时所需要的最低限度计算资源的大小进行对比。
需要说明的是,本实施方式中是以待分配计算资源实例的个数为1进行的说明,当然,存在待分配计算资源实例的个数为大于一个的情况,当待分配计算资源实例的个数为多个时,则需要将每一个待分配计算资源实例的最低限度计算资源相加,并判断第二计算资源是否小于多个待分配计算资源实例的最低限度计算资源的和。
步骤104,确定实例实际分配的计算资源,并按照实例实际分配的计算资源进行分配。
具体的说,当待分配计算资源实例的优先级大于已分配计算资源实例的优先级时,或者第二计算资源小于待分配计算资源实例运行时所需要的最低限度计算资源时,都需要对已分配计算资源实例重新进行资源分配,并对待分配计算资源实例初次进行资源分配。因此,需要确定实例实际分配的计算资源,并按照实例实际分配的计算资源进行分配。
在一个具体实现方式中,如图2所示,为该具体实现中计算资源分配方法的流程图,其中,步骤1041至步骤1045是对本实施方式步骤104确定实例实际分配计算资源方法的具体说明。
步骤1041,将实例各自所需要的最高限度计算资源分别相加获得第三计算资源。
其中,本实施方式中是将已分配计算资源实例和待分配计算资源实例各自所需要的最高限度计算资源分别相加获得的第三计算资源的。
步骤1042,判断当前计算资源是否大于第三计算资源,若是,则执行步骤1043,否则执行步骤1044。
具体的说,在本实施方式中,当前计算资源是运行环境所包含的全部计算资源,不仅包括已被分配的第一计算资源同时还包括未被分配的第二计算资源,将当前运行环境所包含的全部计算资源与第三计算资源进行对比,判断当前运行环境中所包含的全部计算资源是否足以支持每个实例以最高限度计算资源进行运行。
步骤1043,将实例各自所需要的最高限度计算资源,作为实例分配的计算资源。
需要说明的是,当确定当前计算资源大于第三计算资源时,说明当前运行环境中所包含的全部计算资源足以支持每个实例以最高限度计算资源进行运行,因此可以将实例各自所需要的最高限度计算资源,直接作为实例分配的计算资源。
步骤1044,将实例各自所需要的最低限度计算资源分别相加获得第四计算资源,并将当前计算资源减去第四计算资源获得第五计算资源,根据第五计算资源和实例的优先级确定实例实际分配的计算资源。
具体的说,本实施方式中的第四计算资源是保证每个实例正常运行时所需要的最少的计算资源,而第五计算资源是当前运行环境中所包含的全部计算资源中,除去保证每个实例正常运行所需要的的最少的计算资源后,所剩下的可以分配的计算资源。
其中,根据第五计算资源和实例的优先级确定实例实际分配的计算资源,具体包括:按照实例优先级由高到低的顺序,依次确定实例从第五计算资源中获取的计算资源,其中,实例从第五计算资源中获取的计算资源与实例最低限度计算资源之和等于实例最高限度计算资源;将实例最低限度计算资源与实例从第五计算资源中获取的计算资源之和,作为实例实际分配的计算资源。
例如,实例1的优先级为A,运行时所需要的计算资源的范围为(5,12);实例2的优先级为B,运行时所需要的计算资源范围为(4,8);实例3的优先级为C,运行时所需要的计算资源范围为(3,7)。假设当前计算资源为20,第四计算资源为5、4和3三者相加之和为12,第五计算资源为20与12的差值为8。因为实例1的优先级高于实例2的优先级,实例2的优先级高于实例3的优先级,所以首先确定实例1从第五计算资源获取到的计算资源,因为实例1的最高限度计算资源与最低限度计算资源的差值为7,而7小于第五计算资源,所以实例1实际分配的计算资源为12,即实例1的最高限度计算资源,并且,此时第五计算资源剩余的还可以进行分配的计算资源为8减去7等于1;接下来确定实例2所需要分配的计算资源,因为实例2的最高限度计算资源与最低限度计算资源的差值为2,而第五计算资源中可以用于进行分配的计算资源为1小于2,所以实例2只能从第五计算资源中获取的计算资源为1,所以实例2实际分配的计算资源为5,并且此时第五计算资源中没有剩余的还可以进行分配的计算资源;最后再确定实例3所需要分配的计算资源,由于第五计算资源中没有剩余的还可以进行分配的计算资源,所以实例3从第五计算资源中获取的计算资源为0,所以实例3实际分配的计算资源为3。
步骤1045,按照实例实际分配的计算资源进行分配。
具体的说,在本实施方式中,实际分配的计算资源是根据实例的优先级、实例运行时所需要的计算资源以及当前计算资源的使用信息,所确定出的每一个实例所应该得到的计算资源。但需要说明的是,由于实例的状态包括已分配计算资源的状态和待分配计算资源的状态,因此,针对待分配计算资源实例由于之前未对其进行过分配,所以只需要将确定的实际分配的计算资源进行分配;而针对已分配计算资源实例,由于之前对其已对其进行过分配,为了保证实例的正常运行,在按照实例实际分配的计算资源进行分配的时候,以每个实例实际分配的计算资源作为标准,如果实例当前具有的计算资源多于所确定的实际分配的计算资源,则将当前所具有的计算资源进行减少,直到达到所确定的实际分配的计算资源;如果实例当前具有的计算资源少于所确定的实际分配的计算资源,则将当前所具有的计算资源进行增加,直到达到所确定的实际分配的计算资源。
步骤105,将第二计算资源分配给待分配计算资源的实例。
具体的说,当待分配计算资源实例的优先级小于已分配计算资源实例的优先级,并且第二计算资源小于待分配计算资源实例运行时所需要的最低限度计算资源,说明第二计算资源就足以保证待分配计算资源的实例正常运行,无需从已被分配的第一计算资源中获取计算资源来分配给待分配计算资源的实例。
与现有技术相比,本实施方式提供的计算资源分配方法,获取当前计算资源的使用情况,得到当前已被使用的计算资源以及未被使用的计算资源,并结合当前已被分配计算资源实例以及待分配计算资源实例的优先级,以及实例运行时所需要的计算资源,从当前的计算资源中对每一个实例进行资源的分配,使计算资源的分配更加合理,每个实例都能够正常运行,避免了先到先得分配方式对计算资源的不合理分配,导致实例无法正常运行的问题。
本发明的第二实施方式涉及一种计算资源分配方法。本实施例在第一实施例的基础上做了进一步改进,具体改进之处为:本实施例中的计算资源分配方法的流程如图3所示。具体的说,在本实施例中,包括步骤201至步骤206,与第一实施方式中的步骤101至105大致相同,此处不再赘述,下面主要介绍不同之处,未在本实施方式中详尽描述的技术细节,可参见第一实施例所提供的计算资源分配方法,此处不再赘述。
在步骤201至步骤204之后,或者在步骤201至步骤205之后,执行步骤206。
步骤206,判断是否有实例停止运行,若是,则重新执行步骤201,否则,结束。
具体的说,当实例停止运行时,会向终端发出提示指令,终端接收到指令后,会根据指令中所包含的信息,判断是否有实例停止运行,以及停止运行的具体实例。
上面各种方法的步骤划分,只是为了描述清楚,实现时可以合并为一个步骤或者对某些步骤进行拆分,分解为多个步骤,只要包括相同的逻辑关系,都在本专利的保护范围内;对算法中或者流程中添加无关紧要的修改或者引入无关紧要的设计,但不改变其算法和流程的核心设计都在该专利的保护范围内。
本发明第三实施方式涉及一种计算资源分配装置,具体结构如如图4所示。
如图4所示,计算资源分配装置包括:获取模块401、第一判断模块402、第二判断模块403、第一分配模块404和第二分配模块405。
其中,获取模块401,用于获取当前计算资源的使用情况。
第一判断模块402,用于判断待分配计算资源实例的优先级是否小于已分配计算资源实例的优先级,若是,则执行第二判断403,否则,执行第一分配模块404。
第二判断模块403,用于判断第二计算资源是否小于待分配计算资源实例运行时所需要的最低限度计算资源,若是,则执行第一分配模块404,否则,执行第二分配模块405。
第一分配模块404,用于确定实例实际分配的计算资源,并按照实例实际分配的计算资源进行分配。
第二分配模块405,将第二计算资源分配给待分配计算资源的实例。
不难发现,本实施方式为与第一实施方式相对应的装置实施例,本实施方式可与第一实施方式互相配合实施。第一实施方式中提到的相关技术细节在本实施方式中依然有效,为了减少重复,这里不再赘述。相应地,本实施方式中提到的相关技术细节也可应用在第一实施方式中。
本发明第四实施方式涉及一种计算资源分配装置。该实施方式与第三实施方式大致相同,具体结构如图5所示。其中,主要改进之处在于:第四实施方式在第三实施方式中的基础上增加了第三判断模块406。
其中,获取模块401,用于获取当前计算资源的使用情况。
第一判断模块402,用于判断待分配计算资源实例的优先级是否小于已分配计算资源实例的优先级,若是,则执行第二判断403,否则,执行第一分配模块404。
第二判断模块403,用于判断第二计算资源是否小于待分配计算资源实例运行时所需要的最低限度计算资源,若是,则执行第一分配模块404,否则,执行第二分配模块405。
第一分配模块404,用于确定实例实际分配的计算资源,并按照实例实际分配的计算资源进行分配。
第二分配模块405,将第二计算资源分配给待分配计算资源的实例。
第三判断模块406,用于判断是否有实例停止运行,若是,执行获取模块401,否则,结束。
不难发现,本实施方式为与第二实施方式相对应的装置实施例,本实施方式可与第二实施方式互相配合实施。第二实施方式中提到的相关技术细节在本实施方式中依然有效,为了减少重复,这里不再赘述。相应地,本实施方式中提到的相关技术细节也可应用在第二实施方式中。
值得一提的是,本实施方式中所涉及到的各模块均为逻辑模块,在实际应用中,一个逻辑单元可以是一个物理单元,也可以是一个物理单元的一部分,还可以以多个物理单元的组合实现。此外,为了突出本发明的创新部分,本实施方式中并没有将与解决本发明所提出的技术问题关系不太密切的单元引入,但这并不表明本实施方式中不存在其它的单元。
本发明第五实施方式涉及一种服务器,如图6所示,包括至少一个处理器501;以及,与至少一个处理器501通信连接的存储器502;其中,存储器502存储有可被至少一个处理器501执行的指令,指令被至少一个处理器501执行,以使至少一个处理器501能够执行上述实施例中的计算资源分配方法。
本实施例中,处理器501以中央处理器(Central Processing Unit,CPU)为例,存储器502以可读写存储器(Random Access Memory,RAM)为例。处理器501、存储器502可以通过总线或者其他方式连接,图6中以通过总线连接为例。存储器502作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块,如本申请实施例中实现计算资源分配方法的程序就存储于存储器502中。处理器501通过运行存储在存储器502中的非易失性软件程序、指令以及模块,从而执行设备的各种功能应用以及数据处理,即实现上述计算资源分配方法。
存储器502可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储选项列表等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实施例中,存储器502可选包括相对于处理器501远程设置的存储器,这些远程存储器可以通过网络连接至外接设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
一个或者多个程序模块存储在存储器502中,当被一个或者多个处理器501执行时,执行上述任意方法实施例中的计算资源分配方法。
上述产品可执行本申请实施例所提供的方法,具备执行方法相应的功能模块和有益效果,未在本实施例中详尽描述的技术细节,可参见本申请实施例所提供的方法。
本申请的第六实施方式涉及一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,该计算机程序被处理器执行时能够实现本发明任意方法实施例中涉及的计算资源分配方法。
本领域技术人员可以理解,实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
本领域的普通技术人员可以理解,上述各实施方式是实现本发明的具体实施例,而在实际应用中,可以在形式上和细节上对其作各种改变,而不偏离本发明的精神和范围。
Claims (8)
1.一种计算资源分配方法,其特征在于,包括:
获取当前计算资源的使用信息,其中,所述使用信息包括已被分配的第一计算资源和未被分配的第二计算资源;
根据每一个实例的优先级、每一个所述实例运行时所需要的计算资源、每一个所述实例的状态以及所述当前计算资源的使用信息,对每一个所述实例进行计算资源的分配,其中,所述状态包括已分配计算资源的状态和待分配计算资源的状态;
所述获取当前计算资源的使用信息之前,还包括:
确定每一个所述实例运行时所需要的最低限度计算资源和最高限度计算资源,将所述最低限度计算资源和所述最高限度计算资源作为每一个所述实例运行时所需要的计算资源;
所述根据每一个所述实例的优先级、每一个所述实例运行时所需要的计算资源、每一个所述实例的状态以及所述当前计算资源的使用信息,对每一个所述实例进行计算资源的分配,具体包括:
判断待分配计算资源的所述实例的优先级是否小于已分配计算资源的所述实例的优先级;
若是,则判断所述第二计算资源是否小于待分配计算资源的所述实例运行时所需要的最低限度计算资源,若判断结果为是,则确定每一所述实例实际需要分配的计算资源,并按照每一所述实例实际需要分配的计算资源进行分配,否则,将所述第二计算资源分配给待分配计算资源的所述实例;
否则,确定每一所述实例实际需要分配的计算资源,并按照每一所述实例实际需要分配的计算资源进行分配。
2.根据权利要求1所述的计算资源分配方法,其特征在于,所述确定所述实例实际分配的计算资源,并按照所述实例实际需要分配的计算资源进行分配,具体包括:
将所述实例各自所需要的最高限度计算资源分别相加获得第三计算资源,判断所述当前计算资源是否大于所述第三计算资源;
若是,则将所述实例各自所需要的最高限度计算资源,作为所述实例实际需要分配的计算资源,并按照所述实例实际需要分配的计算资源进行分配;
否则,将所述实例各自所需要的最低限度计算资源分别相加获得第四计算资源,并将所述当前计算资源减去所述第四计算资源获得第五计算资源,根据所述第五计算资源和所述实例的优先级确定所述实例实际需要分配的计算资源,并按照所述实例实际需要分配的计算资源进行分配。
3.根据权利要求2所述的计算资源分配方法,其特征在于,所述根据所述第五计算资源和所述实例的优先级确定所述实例实际需要分配的计算资源,具体包括:
按照所述实例优先级由高到低的顺序,依次确定所述实例从所述第五计算资源中获取的计算资源,其中,所述实例从所述第五计算资源中获取的计算资源与所述实例最低限度计算资源之和等于所述实例最高限度计算资源;
将所述实例最低限度计算资源与所述实例从所述第五计算资源中获取的计算资源之和,作为所述实例实际需要分配的计算资源。
4.根据权利要求3所述的计算资源分配方法,其特征在于,所述根据每一个所述实例的优先级、每一个所述实例运行时所需要的计算资源以及所述当前计算资源的使用信息对每一个所述实例进行计算资源的分配之后,还包括:
判断是否有所述实例停止运行,若是,则重新执行所述计算资源分配方法。
5.根据权利要求1至4任一项所述的计算资源分配方法,其特征在于,所述计算资源包括:处理器、内存空间和显卡。
6.一种计算资源分配装置,其特征在于,用于实现权利要求1至5任一一项所述的计算资源分配方法,包括:
获取模块,用于获取当前计算资源的使用信息,其中,所述使用信息包括已被分配的第一计算资源和未被分配的第二计算资源;
分配模块,用于根据每一个实例的优先级、每一个所述实例运行时所需要的计算资源、每一个所述实例的状态以及所述当前计算资源的使用信息,对每一个所述实例进行计算资源的分配,其中,所述状态包括已分配计算资源的状态和待分配计算资源的状态。
7.一种服务器,其特征在于,包括
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如权利要求1至5任一项所述的计算资源分配方法。
8.一种计算机可读存储介质,存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至5任一项所述的计算资源分配方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811011969.3A CN109062702B (zh) | 2018-08-31 | 2018-08-31 | 一种计算资源分配方法、相关装置及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811011969.3A CN109062702B (zh) | 2018-08-31 | 2018-08-31 | 一种计算资源分配方法、相关装置及可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109062702A CN109062702A (zh) | 2018-12-21 |
CN109062702B true CN109062702B (zh) | 2021-07-30 |
Family
ID=64758147
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811011969.3A Active CN109062702B (zh) | 2018-08-31 | 2018-08-31 | 一种计算资源分配方法、相关装置及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109062702B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10929200B1 (en) * | 2019-09-16 | 2021-02-23 | International Business Machines Corporation | Live runtime infrastructure orchestration |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2003009144A1 (en) * | 2001-07-19 | 2003-01-30 | Wind River Systems, Inc. | Memory management system |
CN101743534A (zh) * | 2007-07-16 | 2010-06-16 | 微软公司 | 通过增长和收缩资源分配来进行调度 |
US9069610B2 (en) * | 2010-10-13 | 2015-06-30 | Microsoft Technology Licensing, Llc | Compute cluster with balanced resources |
CN105718316A (zh) * | 2014-12-01 | 2016-06-29 | 中国移动通信集团公司 | 一种作业调度的方法及装置 |
CN107368367A (zh) * | 2017-05-23 | 2017-11-21 | 阿里巴巴集团控股有限公司 | 资源分配的处理方法、装置及电子设备 |
CN107423134A (zh) * | 2017-07-13 | 2017-12-01 | 中国科学院高能物理研究所 | 一种大规模计算集群的动态资源调度方法 |
CN107908462A (zh) * | 2014-12-31 | 2018-04-13 | 广东欧珀移动通信有限公司 | 控制应用运行的方法和移动终端设备和相关介质产品 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8762998B2 (en) * | 2011-06-14 | 2014-06-24 | International Business Machines Corporation | Computing job management based on priority and quota |
-
2018
- 2018-08-31 CN CN201811011969.3A patent/CN109062702B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2003009144A1 (en) * | 2001-07-19 | 2003-01-30 | Wind River Systems, Inc. | Memory management system |
CN101743534A (zh) * | 2007-07-16 | 2010-06-16 | 微软公司 | 通过增长和收缩资源分配来进行调度 |
US9069610B2 (en) * | 2010-10-13 | 2015-06-30 | Microsoft Technology Licensing, Llc | Compute cluster with balanced resources |
CN105718316A (zh) * | 2014-12-01 | 2016-06-29 | 中国移动通信集团公司 | 一种作业调度的方法及装置 |
CN107908462A (zh) * | 2014-12-31 | 2018-04-13 | 广东欧珀移动通信有限公司 | 控制应用运行的方法和移动终端设备和相关介质产品 |
CN107368367A (zh) * | 2017-05-23 | 2017-11-21 | 阿里巴巴集团控股有限公司 | 资源分配的处理方法、装置及电子设备 |
CN107423134A (zh) * | 2017-07-13 | 2017-12-01 | 中国科学院高能物理研究所 | 一种大规模计算集群的动态资源调度方法 |
Also Published As
Publication number | Publication date |
---|---|
CN109062702A (zh) | 2018-12-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11003507B2 (en) | Mapreduce job resource sizing using assessment models | |
US9582334B2 (en) | Resource management in MapReduce architecture and architectural system | |
CN106354687B (zh) | 一种数据传输方法及系统 | |
CN106897299B (zh) | 一种数据库访问方法及装置 | |
CN111338779B (zh) | 资源分配方法、装置、计算机设备和存储介质 | |
CN113434284B (zh) | 一种隐私计算服务端设备、系统及任务调度方法 | |
CN112905342B (zh) | 资源调度方法、装置、设备及计算机可读存储介质 | |
CN110750336B (zh) | 一种OpenStack虚拟机内存热扩容方法 | |
US9471387B2 (en) | Scheduling in job execution | |
CN109189572B (zh) | 一种资源预估方法及系统、电子设备和存储介质 | |
CN110659131A (zh) | 任务处理方法、电子装置、计算机设备及存储介质 | |
CN106775975B (zh) | 进程调度方法及装置 | |
CN109062702B (zh) | 一种计算资源分配方法、相关装置及可读存储介质 | |
CN113419839A (zh) | 多类型作业的资源调度方法、装置、电子设备及存储介质 | |
CN113094172A (zh) | 应用于分布式存储系统的服务器管理方法和装置 | |
CN110489356B (zh) | 信息处理方法、装置、电子设备及存储介质 | |
CN108833532B (zh) | 基于物联网的服务处理方法、装置和系统 | |
CN104184685A (zh) | 数据中心资源分配方法、装置及系统 | |
JP2006195985A (ja) | リソース利用率を制御する方法およびコンピュータシステム | |
CN115878333A (zh) | 进程组间的一致性判断方法、装置及设备 | |
CN112685174A (zh) | 一种容器创建方法、装置、设备及介质 | |
CN112395063A (zh) | 一种动态多线程调度方法及系统 | |
CN113535332B (zh) | 集群资源调度方法、装置、计算机设备及存储介质 | |
US20230333894A1 (en) | Dynamic allocation of stack memory space upon thread start in a distributed processing environment | |
CN109491948B (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 |