CN115480908A - 一种内存池化方法以及相关装置 - Google Patents
一种内存池化方法以及相关装置 Download PDFInfo
- Publication number
- CN115480908A CN115480908A CN202111007559.3A CN202111007559A CN115480908A CN 115480908 A CN115480908 A CN 115480908A CN 202111007559 A CN202111007559 A CN 202111007559A CN 115480908 A CN115480908 A CN 115480908A
- Authority
- CN
- China
- Prior art keywords
- memory
- distributed application
- application program
- server cluster
- server
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 42
- 238000011176 pooling Methods 0.000 title claims abstract description 14
- 238000004590 computer program Methods 0.000 claims 1
- 238000010586 diagram Methods 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 3
- 238000010276 construction Methods 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000013507 mapping Methods 0.000 description 3
- 238000007726 management method Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
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]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5011—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
- G06F9/5016—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
-
- 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/465—Distributed object oriented systems
-
- 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
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
-
- 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/5061—Partitioning or combining of resources
- G06F9/5072—Grid computing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/5011—Pool
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Multi Processors (AREA)
- Hardware Redundancy (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请实施例公开了一种内存池化以及相关装置,用于提高分布式应用程序的性能。本申请实施例方法包括:服务器集群确定第一分布式应用程序的第一内存需求,第一内存需求用于指示内存的大小,服务器集群根据第一内存需求以及服务器集群中每个服务器节点可用的内存资源,确定服务器集群中的N个第一服务器节点,基于N个第一服务器节点构建第一内存池,服务器集群使用第一内存池向第一分布式应用程序提供服务。
Description
本申请要求于2021年6月15日提交中国专利局、申请号为202110661538.7、发明名称为“内存池的管理方法、装置和***”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本申请实施例涉及计算机领域,尤其涉及一种内存池化方法以及相关装置。
背景技术
服务器集群是指由多个服务器连接起来,用于共同完成任务的一种形态。服务器集群中的多个服务器可以用于同时部署同一个分布式应用程序,从而支持分布式应用程序的运行。
然而,分布式应用程序的性能还并没有达到令人满意的程度,需要进一步提高。
发明内容
本申请实施例提供了一种内存池化方法以及相关装置。
本申请实施例第一方面提供了一种内存池化方法:
当需要在服务器集群中运行第一分布式应用程序时,确定第一分布式应用程序的第一内存需求,该第一内存需求用于指示内存的大小。在服务器集群中的每个服务器节点都有各自可用的内存资源,确定出第一内存需求之后,根据第一内存需求以及服务器集群中每个服务器节点可用的内存资源,确定出服务器集群中的N个第一服务器节点,其中N为大于或等于2的整数。确定N个第一服务器节点之后,基于N个第一服务器节点构建第一内存池,之后服务器集群使用第一内存池向第一分布式应用程序提供服务。
本申请实施例中,通过在服务器集群中构建内存池的方式为程序提供服务,由于在内存池中可以采用远程直接内存访问的方式进行数据传输,降低了服务器节点的中央处理器的工作量,因此可以提高分布式应用程序的性能,并且随着运行的分布式应用程序数量的增多,在服务器集群中的内存池规模也不断扩大。
在一种可能的实现中,还可以确定第一分布式应用程序的类型,之后根据第一分布式应用程序的类型、第一内存需求以及每个服务器节点可用的内存资源确定出服务器集群中的N个第一服务器节点。
在一种可能的实现方式中,根据第一分布式应用程序的类型确定出第一分布式应用程序的类型对应的内存膨胀系数,之后根据该内存膨胀系数、第一内存需求以及每个服务器节点可用的内存资源确定出服务器集群中的N个第一服务器节点。
本申请实施例中,还可以结合分布式应用程序的类型确定N个第一服务器节点,提高选取服务器节点数量的准确性。
在一种可能的实现方式中,当还需在在服务器集群中运行第二分布式应用程序时,可以确定第二分布式应用程序的第二内存需求以及第二分布式应用程序的类型,如果第二内存需求与第一内存需求的差距小于预设值,并且第一分布式应用程序与第二分布式应用程序的类型相同,则根据第一内存池在不同的时间段分别向第一分布式应用程序以及第二分布式应用程序提供服务。
本申请实施例中,当两个分布式应用程序的内存需求小于预设值,且类型相同时,可以直接复用同一个内存池,无需再构建新内存池。
本申请实施例第二方面提供了一种服务器集群,该服务器集群包括用于实现上述第一方面中的方法所对应的功能单元。
本申请实施例第三方面提供了一种服务器集群,该服务器集群包括处理器,处理器与存储器耦合,存储器用于存储指令,当指令被处理器执行时,使得服务器集群执行上述第一方面中的方法。
本申请实施例第四方面提供了一种计算机可读存储介质,计算机可读存储介质用于存储指令,指令用于执行第一方面中的方法。
附图说明
图1为本申请实施例中内存池化方法的应用场景示意图;
图2a为本申请实施例中内存池化方法的一个流程示意图;
图2b为本申请实施例中构建第一内存池的一个示意图;
图3为本申请实施例中构建第二内存池的一个示意图;
图4为本申请实施例中内存池化方法的另一流程示意图;
图5为本申请实施例中内存池化方法的另一流程示意图;
图6为本申请实施例中服务器集群的一个结构示意图;
图7为本申请实施例中服务器集群的另一结构示意图。
具体实施方式
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、***、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
本申请实施例提供了一种内存池化方法,用于提高分布式应用程序的性能。
本申请实施例可以应用于如图1所示的服务器集群中,如图1所示,服务器集群包括多个通过网络互连的服务器节点,这些服务器节点通过高度紧密的配合完成任务,对于用户而言,服务器集群作为一个整体可以被认为是一个服务器。分布式应用程序是指基于服务器集群中不同的服务器节点运行的应用程序,例如某个分布式程序部署在服务器节点5以及服务器节点6上,通过服务器节点5以及服务器节点6共同支持该分布式应用程序的运行。然而,在已有的技术当中,服务器节点之间如果需要进行数据的传输,需要消耗中央处理器大量的处理能力,因此在一定程度上限制了分布式应用程序的性能,导致分布式应用程序的性能不能达到要求。
请参阅图2a,下面开始对本申请实施例中的内存池化方法进行介绍:
201、确定第一分布式应用程序的第一内存需求;
当用户需要在服务器集群中运行第一分布式应用程序时,服务器集群首先需要确定第一分布式应用程序运行所需的第一内存需求。不同程序的内存需求往往是不同的,例如程序1需要的内存资源为1T,程序2需要的内存资源为4T,程序3需要的内存资源为5T,本实施例以第一分布式应用程序需要的内存资源为1T为例进行说明。
202、根据第一内存需求以及服务器集群中每个服务器节点可用的内存资源,确定服务器集群中的N个第一服务器节点;
在服务器集群中的每个服务器节点都有各自可用的内存资源,服务器集群在确定出第一分布式应用程序的第一内存需求之后,根据服务器集群中每个服务器节点可用的内存资源以及第一内存需求,确定出服务器集群中的N个第一服务器节点,该N个第一服务器节点可用的内存资源的总和可以满足第一内存需求。
在一种优选的方式中,服务器集群中每个服务器节点可用的内存资源是大致相同的,例如,每个服务器节点可用的内存资源为0.2T,则可以根据第一内存需求D以及每个服务器节点可用的内存资源M,可以确定所需的服务器节点的数量N,N满足如下公式:(1):
以上述数据为例,当D为1T,M为0.2T时,N为5。也即需要在服务器集群中选取5个服务器节点为第一分布式应用程序提供服务,这些服务器节点即为第一服务器节点。
需要说明的是,在实际的实现中,如果根据公式(1)计算得到的N不是整数,可以取进一法,例如当得到N的结果为5.3时,则取N为6。
203、基于N个第一服务器节点构建第一内存池;
示例性的,请参阅图2b,在确定出5个第一服务器节点之后,基于5个第一服务器节点构建第一内存池。
204、使用第一内存池向第一分布式应用程序提供服务。
在第一内存池构建完成之后,使用第一内存池向第一分布式应用程序提供服务。
当然,除了第一分布式应用程序之外,其他分布式应用程序也需要在服务器集群中运行,可以按照上述方法为其他分布式应用程序构建内存池。例如分布式应用程序A的内存需求为2T,请参阅图3,按照上述方法可以确定需要在服务器集群中另外选择10个第二服务器节点构建第二内存池,根据该第二内存池为分布式应用程序A提供服务。
可以理解的是,在实际的实现当中,根据程序的内存需求以及每个服务器节点可用的内存资源确定N个服务器节点的过程也可以是预先执行的,也即可以预先确定程序的内存需求与构建内存池所需的服务器节点的数量的映射关系。例如当程序的内存需求为4T时,确定需要20个服务器节点构建的内存池为该程序提供服务,当程序的内存需求为5T时,确定需要25个服务器节点构建的内存池为该程序提供服务,确定这样的映射关系之后,当需要运行内存需求为5T或者内存需求为4T的程序时,可以直接根据映射关系确定构建为程序提供服务的内存池所需的服务器节点的数量。
本申请实施例中,通过在服务器集群中构建内存池的方式为程序提供服务,由于在内存池中可以采用远程直接内存访问的方式进行数据传输,降低了服务器节点的中央处理器的工作量,因此可以提高分布式应用程序的性能,并且随着运行的分布式应用程序数量的增多,在服务器集群中的内存池规模也不断扩大。
在基于图2a所示实施例的基础上,还可以结合程序的类型确定构建为程序提供服务的内存池所需的服务器节点的数量,请参阅图4,下面进行详细介绍:
401、确定第一分布式应用程序的第一内存需求以及第一分布式应用程序的类型;
基于分布式程序的特性可以将分布式应用程序划分成不同的类型,例如数据库程序以及大数据程序等,由于分布式程序的特性带来的影响,在确定创建为第一分布式应用程序提供服务的第一内存池所需的服务器节点的数量时,服务器集群也需要考虑第一分布式应用程序的类型。示例性的,在本实施例中,第一分布式应用程序的类型为数据库程序,第一分布式应用程序的内存需求为1T。
402、根据第一内存需求、第一分布式应用程序的类型以及服务器集群中每个服务器节点可用的内存资源,确定服务器集群中的N个第一服务器节点;
在本实施例中,不同的程序类型对应不同的内存膨胀系数,例如,数据库程序对应内存膨胀系数1,大数据程序对应内存膨胀系数2。先根据第一分布式应用程序的类型确定出对应的膨胀系数,之后根据膨胀系数、第一分布式应用程序的第一内存需求以及服务器集群中每个服务器节点可用的内存资源,确定服务器集群中的N个第一服务器节点。
示例性的,当第一分布式应用程序为数据库程序时,对应的内存膨胀系数P为1.2,则所需的服务器节点的数量N,N满足如下公式(2):
示例性的,M为0.2,D为IT,P为1.2,则N为6。
本实施例中步骤403至步骤404与上述图3所示实施例中步骤303至步骤304类似,此处不再赘述。也即需要在服务器集群中选取6个服务器节点为第一分布式应用程序提供服务,这些服务器节点即为第一服务器节点。
当然,除了根据分布式应用程序的类型确定内存膨胀系数之外,还可以根据分布式应用程序的类型对计算构建内存池所需的服务器节点的数量的算法作出相应的改进,具体的改进方式具体此处不做限定。
本申请实施例中,还可以结合分布式应用程序的类型确定N个第一服务器节点,提高选取服务器节点数量的准确性。
或者,在实际的实现当中,当在后需要运行的分布式应用程序与当前正在运行的分布式应用程序的内存资源需求类似,并且属于相同类型的分布式应用程序时,这两个分布式应用程序可以复用同一个内存池,请参阅图5,下面进行详细介绍:
本实施例中步骤501至步骤504与上述图4所示实施例中步骤401至步骤404类似,此处不再赘述。
505、确定第二分布式应用程序的第二内存需求以及第二分布式应用程序的类型;
如果还需要在服务器集群中运行第二分布式应用程序,则确定第二分布式应用程序的第二内存需求以及第二分布式应用程序的类型,示例性的,第二内存需求为1.02T,第二分布式应用程序的类型为数据库程序。
506、在不同的时间段分别使用第一内存池向第一分布式应用程序以及第二分布式应用程序提供服务。
第一分布式应用程序的第一内存需求为1T,第二分布式应用程序的第二内存需求为1.02T,在实际的实现中,可以设定预设值,当两个分布式应用程序的内存需求的差距小于预设值时,则说明这两个分布式应用程序的内存需求较为接近,例如,当预设值为0.01T时,则说明第一分布式应用程序与第二分布式应用程序的内存需求较为接近。
在两个分布式应用程序的内存需求较为接近的基础上,如果两个分布式应用程序的类型也是一致的,例如第一分布式应用程序与第二分布式应用程序都为数据库程序,则这两个分布式应用程序可以复用同一个内存池。具体的,可以在不同的时间段分别使用第一内存池向第一分布式应用程序以及第二分布式应用程序提供服务,例如在时间段1使用第一内存池向第一分布式应用程序提供服务,在时间段2使用第一内存池向第二分布式应用程序提供服务。从而无需重新为第二分布式应用程序构建内存池。
当然,如果第二分布式应用程序的第二内存需求与第一内存需求的差距大于预设值,或者第二分布式应用程序与第一分布式应用程序的类型不同,则还是为第二分布式应用程序重新构建内存池,具体构建过程与为第一分布式应用程序构建内存池的过程类似,此次不再赘述。
本申请实施例中,当两个分布式应用程序的内存需求小于预设值,且类型相同时,可以直接复用同一个内存池,无需再构建新内存池。
上面对本申请实施例中的内存池化方法进行了介绍,请参阅图6,下面对本申请实施例中的服务器集群进行介绍:
如图6所示,本申请实施例中的服务器集群600包括确定单元601以及处理单元602。
确定单元601,用于确定第一分布式应用程序的第一内存需求,第一内存需求用于指示内存的大小。
确定单元601,还用于根据第一内存需求以及服务器集群中每个服务器节点可用的内存资源,确定服务器集群中的N个服务器节点,N为大于或等于2的整数。
处理单元602,用于基于N个第一服务器节点构建第一内存池。
处理单元602,还用于使用第一内存池向第一分布式应用程序提供服务。
在一种可能的实现中,
确定单元601,还用于确定第一分布式应用程序的类型。
确定单元601,具体用于根据第一内存需求、第一分布式应用程序的类型以及服务器集群中每个节点可用的内存资源,确定服务器集群中的N个第一服务器节点。
在一种可能的实现中,
确定单元601,具体用于根据第一分布式应用程序的类型,确定第一分布式应用程序对应的内存膨胀系数。
确定单元601,具体用于根据第一内存需求、第一分布式应用程序对应的内存膨胀系数以及服务器集群中每个服务器节点可用的内存资源,确定服务器集群中的所述N个第一服务器节点。
在一种可能的实现中,
确定单元601,还用于确定第二分布式应用程序的第二内存需求以及第二分布式应用程度的类型。
处理单元602,还用于基于第二内存需求与第一内存需求的差距小于预设值,第一分布式应用程序与第二分布式应用程序的类型相同,在不同的时间段根据第一内存池分别向第二分布式应用程序程序以及第一分布式应用程序提供服务。
图7是本申请实施例提供的一种服务器集群的结构示意图,该服务器集群700可以包括一个或一个以***处理器(central processing units,CPU)701和存储器705,该存储器705中存储有一个或一个以上的应用程序或数据。
其中,存储器705可以是易失性存储或持久存储。存储在存储器705的程序可以包括一个或一个以上模块,每个模块可以包括对服务器中的一系列指令操作。更进一步地,中央处理器701可以设置为与存储器705通信,在服务器节点700上执行存储器705中的一系列指令操作。
服务器集群700还可以包括一个或一个以上电源702,一个或一个以上有线或无线网络接口703,一个或一个以上输入输出接口704,和/或,一个或一个以上操作***,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等。
该中央处理器701可以执行前述图2a、图4、以及图5所示实施例中的方法,具体此处不再赘述。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的***,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的***,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,read-onlymemory)、随机存取存储器(RAM,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
Claims (10)
1.一种内存池化方法,其特征在于,包括:
确定第一分布式应用程序的第一内存需求,所述第一内存需求用于指示内存的大小;
根据所述第一内存需求以及服务器集群中每个服务器节点可用的内存资源,确定所述服务器集群中的N个第一服务器节点,所述N为大于或等于2的整数;
基于所述N个第一服务器节点构建第一内存池;
使用所述第一内存池向所述第一分布式应用程序提供服务。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
确定所述第一分布式应用程序的类型;
所述根据所述第一内存需求以及服务器集群中每个节点可用的内存资源,确定所述服务器集群中的N个第一服务器节点包括:
根据所述第一内存需求、所述第一分布式应用程序的类型以及所述服务器集群中每个节点可用的内存资源,确定所述服务器集群中的所述N个第一服务器节点。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
根据所述第一分布式应用程序的类型,确定所述第一分布式应用程序对应的内存膨胀系数;
根据所述第一内存需求、所述第一分布式应用程序的类型以及所述服务器集群中每个节点可用的内存资源,确定所述服务器集群中的所述N个服务器节点包括:
根据所述第一内存需求、所述第一分布式应用程序对应的内存膨胀系数以及所述服务器集群中每个节点可用的内存资源,确定所述服务器集群中的所述N个第一服务器节点。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
确定第二分布式应用程序的第二内存需求以及所述第二分布式应用程度的类型;
基于所述第二内存需求与所述第一内存需求的差距小于预设值,所述第一分布式应用程序与所述第二分布式应用程序的类型相同,在不同的时间段根据所述第一内存池分别向所述第二分布式应用程序程序以及所述第一分布式应用程序提供服务。
5.一种服务器集群,其特征在于,包括:
确定单元,用于确定第一分布式应用程序的第一内存需求,所述第一内存需求用于指示内存的大小;
所述确定单元,还用于根据所述第一内存需求以及服务器集群中每个节点可用的内存资源,确定所述服务器集群中的N个服务器节点,所述N为大于或等于2的整数;
处理单元,用于基于所述N个第一服务器节点构建第一内存池;
所述处理单元,还用于使用所述第一内存池向所述第一分布式应用程序提供服务。
6.根据权利要求5所述的服务器集群,其特征在于,
所述确定单元,还用于确定所述第一分布式应用程序的类型;
所述确定单元,具体用于根据所述第一内存需求、所述第一分布式应用程序的类型以及所述服务器集群中每个节点可用的内存资源,确定所述服务器集群中的所述N个第一服务器节点。
7.根据权利要求6所述的服务器集群,其特征在于,
所述确定单元,具体用于根据所述第一分布式应用程序的类型,确定所述第一分布式应用程序对应的内存膨胀系数;
所述确定单元,具体用于根据所述第一内存需求、所述第一分布式应用程序对应的内存膨胀系数以及所述服务器集群中每个节点可用的内存资源,确定所述服务器集群中的所述N个第一服务器节点。
8.根据权利要求7所述的服务器集群,其特征在于,
所述确定单元,还用于确定第二分布式应用程序的第二内存需求以及所述第二分布式应用程度的类型;
所述处理单元,还用于基于所述第二内存需求与所述第一内存需求的差距小于预设值,所述第一分布式应用程序与所述第二分布式应用程序的类型相同,在不同的时间段根据所述第一内存池分别向所述第二分布式应用程序程序以及所述第一分布式应用程序提供服务。
9.一种服务器集群,其特征在于,包括处理器,所述处理器与存储器耦合,所述存储器用于存储指令,当所述指令被所述处理器执行时,使得所述服务器集群执行如权利要求1至4中任一项所述的方法。
10.一种计算机可读储存介质,其上存储有计算机程序或指令,其特征在于,所述计算机程序或指令被执行时,使得计算机执行如权利要求1至4中任一项所述的方法。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP22823985.1A EP4354291A4 (en) | 2021-06-15 | 2022-05-17 | STORAGE POOLING METHOD AND RELATED APPARATUS |
PCT/CN2022/093194 WO2022262503A1 (zh) | 2021-06-15 | 2022-05-17 | 一种内存池化方法以及相关装置 |
US18/536,885 US20240118927A1 (en) | 2021-06-15 | 2023-12-12 | Memory Pooling Method and Related Apparatus |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110661538 | 2021-06-15 | ||
CN2021106615387 | 2021-06-15 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115480908A true CN115480908A (zh) | 2022-12-16 |
Family
ID=84420704
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111007559.3A Pending CN115480908A (zh) | 2021-06-15 | 2021-08-30 | 一种内存池化方法以及相关装置 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20240118927A1 (zh) |
EP (1) | EP4354291A4 (zh) |
CN (1) | CN115480908A (zh) |
WO (1) | WO2022262503A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2024140203A1 (zh) * | 2022-12-27 | 2024-07-04 | 华为技术有限公司 | 一种内存管理方法及相关装置 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100489815C (zh) * | 2007-10-25 | 2009-05-20 | 中国科学院计算技术研究所 | 一种内存共享的***和装置及方法 |
WO2015123225A1 (en) * | 2014-02-11 | 2015-08-20 | Atlantis Computing, Inc. | Aggregating memory to create a network addressible storage volume for storing virtual machine files |
CN107305506A (zh) * | 2016-04-20 | 2017-10-31 | 阿里巴巴集团控股有限公司 | 动态分配内存的方法、装置及*** |
CN106850849A (zh) * | 2017-03-15 | 2017-06-13 | 联想(北京)有限公司 | 一种数据处理方法、装置和服务器 |
-
2021
- 2021-08-30 CN CN202111007559.3A patent/CN115480908A/zh active Pending
-
2022
- 2022-05-17 WO PCT/CN2022/093194 patent/WO2022262503A1/zh active Application Filing
- 2022-05-17 EP EP22823985.1A patent/EP4354291A4/en active Pending
-
2023
- 2023-12-12 US US18/536,885 patent/US20240118927A1/en active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2024140203A1 (zh) * | 2022-12-27 | 2024-07-04 | 华为技术有限公司 | 一种内存管理方法及相关装置 |
Also Published As
Publication number | Publication date |
---|---|
US20240118927A1 (en) | 2024-04-11 |
WO2022262503A1 (zh) | 2022-12-22 |
EP4354291A1 (en) | 2024-04-17 |
EP4354291A4 (en) | 2024-05-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11226846B2 (en) | Systems and methods of host-aware resource management involving cluster-based resource pools | |
EP3335119B1 (en) | Multi-priority service instance allocation within cloud computing platforms | |
US9645756B2 (en) | Optimization of in-memory data grid placement | |
US10754704B2 (en) | Cluster load balancing based on assessment of future loading | |
US20100077449A1 (en) | Calculating multi-tenancy resource requirements and automated tenant dynamic placement in a multi-tenant shared environment | |
CN110753112A (zh) | 云服务的弹性伸缩方法和装置 | |
US20200159622A1 (en) | Rule based failure addressing | |
CN103164253A (zh) | 虚拟机部署***及方法 | |
JP6116102B2 (ja) | クラスタシステム、および、負荷分散方法 | |
CN103988179A (zh) | 用于在地理分布数据中心中降低延迟和改善弹性的优化机制 | |
CN108875035B (zh) | 分布式文件***的数据存储方法及相关设备 | |
CN111352726B (zh) | 一种基于容器化微服务的流数据处理方法及装置 | |
CN115480908A (zh) | 一种内存池化方法以及相关装置 | |
CN115167992A (zh) | 任务处理方法、***、装置、服务器、介质及程序产品 | |
US9501321B1 (en) | Weighted service requests throttling | |
CN115729645A (zh) | 微服务配置方法、装置、电子设备及可读存储介质 | |
CN115629853A (zh) | 一种任务调度的方法和装置 | |
US9582336B2 (en) | Shared resource segmentation | |
CN112148551B (zh) | 用于确定存储***的使用变化率的方法、设备和计算机程序产品 | |
CN113127289B (zh) | 一种基于yarn集群的资源管理方法、计算机设备和存储介质 | |
CN113760469A (zh) | 分布式计算的方法和装置 | |
JP6070717B2 (ja) | 分散データ処理システム、及び、分散データ処理方法 | |
CN116909816B (zh) | 数据库恢复方法和装置、存储介质及电子设备 | |
KR20180052927A (ko) | 가상 머신 기반의 서비스 펑션 체이닝에 있어서 가상 머신의 배치 방법 | |
CN112181651A (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 |