WO2024051012A1 - 部分解耦数据中心的业务部署和资源分配方法 - Google Patents

部分解耦数据中心的业务部署和资源分配方法 Download PDF

Info

Publication number
WO2024051012A1
WO2024051012A1 PCT/CN2022/137172 CN2022137172W WO2024051012A1 WO 2024051012 A1 WO2024051012 A1 WO 2024051012A1 CN 2022137172 W CN2022137172 W CN 2022137172W WO 2024051012 A1 WO2024051012 A1 WO 2024051012A1
Authority
WO
WIPO (PCT)
Prior art keywords
business
service
resource
server
deployment
Prior art date
Application number
PCT/CN2022/137172
Other languages
English (en)
French (fr)
Inventor
沈纲祥
刘志豪
Original Assignee
苏州大学
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 苏州大学 filed Critical 苏州大学
Publication of WO2024051012A1 publication Critical patent/WO2024051012A1/zh

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
    • 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/505Allocation 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 load
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy efficient computing, e.g. low power processors, power management or thermal management

Definitions

  • the present invention relates to the technical field of business deployment, and in particular to a method of business deployment and resource allocation in a partially decoupled data center.
  • a traditional data center consists of servers and a dedicated network that interconnects them, as shown in Figure 1(a), where each server integrates its own various resources, such as CPU, memory, and disk space.
  • each server integrates its own various resources, such as CPU, memory, and disk space.
  • resources such as CPU, memory, and disk space.
  • a data center can complete complex tasks and serve thousands of users simultaneously, its resource utilization is often inefficient because resources are tightly coupled within each server.
  • one type of resource eg, CPU
  • other types of resources eg, disk space
  • traditional data centers have the disadvantages of high cost and high energy consumption, and may not be easy to upgrade when needed.
  • the technical problem to be solved by the present invention is to provide a highly feasible and efficient partially decoupled data center service deployment and resource allocation method.
  • the present invention provides a partially decoupled data center service deployment and resource allocation method, which includes the following steps:
  • S1 Receive a set of services, sort the services according to their requirements for different resources, and obtain multiple service lists;
  • step S32 Find whether there is a single decoupling module in the corresponding resource pool that meets the business resource requirements; if so, use the decoupling module to deploy the business; otherwise, perform step S33;
  • step S33 Determine whether the remaining decoupling modules in the corresponding resource pool can meet the business resource requirements. If so, allocate the current business to multiple decoupling modules for deployment; otherwise, the resource pool deployment fails, and step S4 is performed;
  • step S43 Determine whether there is a server that meets the business resource requirements in the server list corresponding to the service. If so, use the server to deploy the service; otherwise, the server deployment fails, and step S3 is performed.
  • step S1 the services are sorted according to their requirements for different resources to obtain three service lists.
  • the services are sorted according to their requirements for the CPU from small to large.
  • the businesses are sorted according to their memory requirements from small to large, and in the third business list, the businesses are sorted according to their external memory requirements from small to large.
  • step S2 includes: in the order of the first business list, the second business list, and the third business list, and in accordance with the demand for resources of the business from small to large, each time from the current business list Take out a service and determine whether the service is a resource-intensive service; if so, perform step S3; otherwise, perform step S4.
  • the first task list corresponds to the CPU resource pool including the CPU module
  • the second task list corresponds to the memory resource pool including the memory module
  • the third task list corresponds to the external memory module. external storage resource pool.
  • step S42 the servers are sorted according to different remaining resources in the servers to obtain three server lists.
  • the first server list sorts the servers according to the remaining CPU resources from small to large.
  • the second server list The servers are sorted in the list in ascending order of remaining memory resources, and the servers in the third server list are sorted in ascending order of remaining external memory resources.
  • step S1 the following steps are also included:
  • the business is divided into CPU-intensive business, memory-intensive business, IO-intensive business and low-load demand business.
  • the CPU-intensive business, memory-intensive business and IO-intensive business It is a resource-intensive business.
  • the present invention also provides an electronic device, including a memory, a processor and a computer program stored in the memory and executable on the processor.
  • the processor executes the program, the steps of any one of the above methods are implemented. .
  • the present invention also provides a computer-readable storage medium on which a computer program is stored.
  • a computer program is stored on which a computer program is stored.
  • the partially decoupled data center business deployment and resource allocation method of the present invention can improve the data center's business carrying capacity, while maximizing utilization of servers in the data center and improving data center resource utilization.
  • Figure 2 is a flow chart of the service deployment and resource allocation method of the decoupled data center in the preferred embodiment of the present invention
  • Figure 3 is an architectural diagram of the business deployment and resource allocation method of the decoupled data center in the preferred embodiment of the present invention.
  • Figure 4 shows the results of the integer linear programming model and the business deployment and resource allocation method of the decoupled data center in the preferred embodiment of the present invention in terms of the total number of deployed services
  • Figure 5 shows the performance of the service deployment and resource allocation method of the decoupled data center and the first hit solution when the degree of decoupling increases in the preferred embodiment of the present invention.
  • the service deployment and resource allocation method of the decoupled data center in the preferred embodiment of the present invention includes the following steps:
  • S1 Receive a set of services, sort the services according to their requirements for different resources, and obtain multiple service lists;
  • step S1 three business lists are obtained by sorting the businesses according to their demands for different resources.
  • the businesses are sorted according to their demands on the CPU from small to large.
  • the businesses are sorted according to their demands on the CPU.
  • the businesses are sorted according to their memory requirements from small to large.
  • the businesses are sorted from small to large according to their external memory requirements.
  • resources include CPU, memory and external storage.
  • generate a corresponding list by giving high weights to the CPU, memory, and external storage respectively.
  • step S3 According to the order of the first business list, the second business list, and the third business list, and according to the demand for resources of the business from small to large, one business is taken out from the current business list each time, and it is judged whether the business is Resource-intensive business; if yes, perform step S3; otherwise, perform step S4.
  • step S1 the following steps are also included:
  • the business is divided into CPU-intensive business, memory-intensive business, IO-intensive business and low-load demand business.
  • the CPU-intensive business, memory-intensive business and IO-intensive business It is a resource-intensive business.
  • the first task list corresponds to the CPU resource pool containing the CPU module
  • the second task list corresponds to the memory resource pool containing the memory module
  • the third The task list corresponds to the external storage resource pool containing the external storage module.
  • step S3 includes:
  • step S32 Find whether there is a single decoupling module in the corresponding resource pool that meets the business resource requirements; if so, use the decoupling module to deploy the business; otherwise, perform step S33;
  • step S33 Determine whether the remaining decoupling modules in the corresponding resource pool can meet the business resource requirements. If so, allocate the current business to multiple decoupling modules for deployment; otherwise, the resource pool deployment fails, and step S4 is performed;
  • three server lists are obtained by sorting the servers according to different remaining resources in the server.
  • the servers are sorted according to the remaining CPU resources from small to large.
  • the remaining memory resources are sorted from small to large. Sort the servers, and sort the servers in the third server list according to the remaining external memory resources from small to large.
  • step S43 Determine whether there is a server that meets the business resource requirements in the server list corresponding to the service. If so, use the server to deploy the service; otherwise, the server deployment fails, and step S3 is performed.
  • the business belongs to the resource-intensive type of business
  • priority is given to whether the resource pool can be used for business deployment and resource allocation.
  • the resources in the resource pool cannot meet the business needs, we then look for whether there are available resources.
  • Server if it is not a resource-intensive business: first find out whether there is a server that can be deployed. When the server cannot meet the requirements, try to use the resource pool to deploy the business.
  • the services are sorted according to the required number of CPUs. For businesses with lower resource requirements, try provisioning servers for them first. We check the sorted server list to select a server with sufficient resources. For memory-intensive services and CPU-intensive services. We try to deploy them using resource pools. If there is a single module in the resource pool that can satisfy the resource demand, we use it to provide the service first. If not, we use the remaining resources in the resource pool to deploy the business.
  • the present invention can effectively improve the efficiency of business deployment and resource allocation by setting multiple business lists and server lists and sorting the businesses and servers in the lists.
  • the partially decoupled data center business deployment and resource allocation method of the present invention can improve the data center's business carrying capacity, while maximizing utilization of servers in the data center and improving data center resource utilization.
  • resource modules a 32-core CPU module, a 128GB memory module, and a 1024GB disk module. Assuming that each server has a CPU module, a memory module and a disk module, all decomposed resource pools are a collection of different resource modules. We consider different levels of decoupling from 0%, 10%, ... to 100%. Consider two situations for simulation. In case 1, we have 10 servers, corresponding to 30 resource modules, 10 modules for each resource type. Case 2 contains 1000 servers, corresponding to 3000 modules, 1000 of each resource type. Then depending on the level of decoupling, a certain proportion of servers are decomposed and their resource modules are aggregated into different types of resource pools.
  • Figure 4 compares the results of the integer linear programming model and the method of the present invention in terms of the total number of deployed services, where the total number of services that need to be deployed is 50.
  • the goal of the integer linear programming model is to maximize the number of services provided, subject to the following constraints.
  • Virtual data center business constraints Each virtual data center business is considered successfully deployed only when sufficient resources are provided for it.
  • Resource module allocation constraints One resource module can provide resources for multiple businesses. If a business needs more resources, it can use the resources of multiple modules. However, the total resources allocated to the business should not exceed the total capacity of the resource module.
  • the decoupling ratio increases, the total number of deployed services gradually increases. This is because the increased degree of decoupling releases more resource modules from the server to form a large resource pool, which allows more businesses to share these resources so that they are better utilized.
  • the performance of the inventive method is very close to the integer linear programming model, which confirms the efficiency of the method.
  • FF first hit
  • the first-hit solution refers to the FF solution that first attempts to use the server to deploy the service without pre-sorting the business, server, and resource modules. If it is unsuccessful, the solution uses the resource pool to deploy the service.
  • the proposed method clearly outperforms the first-hit scheme, and the deployment traffic exceeds the first-hit scheme by up to 31.6%.
  • Figure 5 shows the performance of the proposed method and the first-hit scheme when the degree of decoupling increases, where “IR” corresponds to the increase in the number of deployed services by our proposed method compared with the first-hit scheme.
  • IR corresponds to the increase in the number of deployed services by our proposed method compared with the first-hit scheme.
  • the proposed method outperforms the first-hit scheme by more than 10%, and this improvement becomes more significant as the decoupling ratio increases. This is because the method proposed by the present invention performs a sorting process before attempting to use the server to deploy services, while the first hit scheme does not do so.
  • a preferred embodiment of the present invention also discloses an electronic device, which includes a memory, a processor, and a computer program stored in the memory and executable on the processor.
  • the processor executes the program, it implements what is described in the above embodiment. Method steps.
  • a preferred embodiment of the present invention also discloses a computer-readable storage medium on which a computer program is stored. When the program is executed by a processor, the steps of the method described in the above embodiment are implemented.

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Between Computers (AREA)
  • Debugging And Monitoring (AREA)
  • Computer And Data Communications (AREA)

Abstract

本发明公开了一种部分解耦数据中心的业务部署和资源分配方法,先判断当前业务是否属于资源需求密集类型业务,若是,优先寻找是否可以使用资源池进行业务部署和资源分配,当资源池中的资源无法满足业务需求的时候我们再去寻找是否有可用的服务器;否则,先去寻找是否存在可以部署的服务器,当服务器不能够满足的时候,再去尝试使用资源池部署业务。本发明部分解耦数据中心的业务部署和资源分配方法可以提高数据中心业务承载能力,同时最大限度利用数据中心中的服务器,提高了数据中心资源利用率。

Description

部分解耦数据中心的业务部署和资源分配方法 技术领域
本发明涉及业务部署技术领域,特别涉及一种部分解耦数据中心的业务部署和资源分配方法。
背景技术
传统的数据中心由服务器和将它们互连的专用网络组成,如图1(a)所示,其中每台服务器都集成了自己的各种资源,例如CPU、内存和磁盘空间。虽然一个数据中心可以完成复杂的任务并同时为成千上万的用户提供服务,但它的资源利用率通常是低效的,因为资源在每个服务器内部是紧密耦合的。例如,虽然一种类型的资源(例如,CPU)可能在服务器中被充分利用,但其他类型的资源(例如,磁盘空间)可能很少使用。这会导致服务器资源的浪费。此外,随着数据中心规模的增加,传统的数据中心存在成本高、能耗高的缺点,并且在需要时可能不易升级。
鉴于这些问题,最近提出了一种替代数据中心架构,称为完全解耦数据中心,如图1(b)所示,它通过对资源的解耦来更好地利用资源。具体而言,将每个服务器中的资源进行分解,将相同类型的资源排列/分组为资源池。使用具有高容量和低延迟的专用网络将这些资源池互连。这种解耦使不同类型的资源能够独立升级和扩展,大大提高了整体资源利用率。
对于数据中心从传统数据中心向完全解耦数据中心演变的这个过程中,可能存在中间阶段,其中一些资源仍然像以前一样由旧服务器提供,而另一些资源则作为解耦后形成的资源池提供。我们将这种类型的数据中心称为部分解耦数据中心,如图1(c)所示。
目前,已有大量文献对完全解耦的数据中心进行了研究,已经验证了资源解耦对于数据中心的各方面性能提升。近年来,我国使用的仍然是传统的基于传统服务器所建立的数据中心。在这个过程中,还没有人考虑过部分解耦数据中心,其中旧服务器和新的解耦资源共存的情况。目前,如何实现部分解耦数 据中心中高效的业务部署和资源分配是一个亟待解决的问题。
发明内容
本发明要解决的技术问题是提供一种可行性高、效率高的部分解耦数据中心的业务部署和资源分配方法。
为了解决上述问题,本发明提供了一种部分解耦数据中心的业务部署和资源分配方法,其包括以下步骤:
S1、接收一组业务,按照业务对不同资源的需求对业务进行排序得到多个业务列表;
S2、每次从业务列表中取出一个业务,判断业务是否是资源密集型业务;若是,执行步骤S3;否则,执行步骤S4;
S3、尝试使用业务对应资源池中的解耦模块进行业务部署;步骤包括:
S31、先排除对应资源池中所有满负载的解耦模块;
S32、寻找对应资源池中是否有满足业务资源需求的单个解耦模块;若是,则利用该解耦模块部署业务;否则,执行步骤S33;
S33、判断对应资源池中的剩余的解耦模块能否满足业务资源需求,若是,则将当前业务分配至多个解耦模块进行部署;否则,资源池部署失败,执行步骤S4;
S4、尝试使用服务器进行业务部署;步骤包括:
S41、先排除剩余资源不能满足业务资源需求的服务器;
S42、按照服务器中不同剩余资源对服务器进行排序得到多个服务器列表;
S43、判断业务对应的服务器列表中是否有满足业务资源需求的服务器,若是,则利用该服务器部署业务;否则,服务器部署失败,执行步骤S3。
作为本发明的进一步改进,在步骤S1中,按照业务对不同资源的需求对业务进行排序得到三个业务列表,第一个业务列表中按照业务对CPU的需求从小到大对业务进行排序,第二个业务列表中按照业务对内存的需求从小到大对业务进行排序,第三个业务列表中按照业务对外存的需求从小到大对业务进行排序。
作为本发明的进一步改进,步骤S2包括:按照第一个业务列表、第二个业务列表、第三个业务列表的顺序,并按照业务对资源的需求从小到大,每次从当前业务列表中取出一个业务,判断业务是否是资源密集型业务;若是,执行步骤S3;否则,执行步骤S4。
作为本发明的进一步改进,在步骤S3中,第一个任务列表对应包含CPU模块的CPU资源池,第二个任务列表对应包含内存模块的内存资源池,第三个任务列表对应包含外存模块的外存资源池。
作为本发明的进一步改进,在步骤S42中,按照服务器中不同剩余资源对服务器进行排序得到三个服务器列表,第一个服务器列表中按照剩余CPU资源从小到大对服务器进行排序,第二个服务器列表中按照剩余内存资源从小到大对服务器进行排序,第三个服务器列表中按照剩余外存资源从小到大对服务器进行排序。
作为本发明的进一步改进,还包括以下步骤:
若当前业务在资源池和服务器均部署失败,则结束当前业务部署,并继续部署下一个业务。
作为本发明的进一步改进,还包括以下步骤:
若当前业务在资源池和服务器均部署失败,则将当前业务从三个业务列表中删除。
作为本发明的进一步改进,步骤S1之前,还包括以下步骤:
根据业务对不同资源类型的需求,将业务分为CPU密集型业务、内存密集型业务、IO密集型业务和低负载需求型业务,所述CPU密集型业务、内存密集型业务、IO密集型业务为资源密集型业务。
本发明还提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述任意一项所述方法的步骤。
本发明还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述任意一项所述方法的步骤。
本发明的有益效果:
本发明部分解耦数据中心的业务部署和资源分配方法可以提高数据中心业务承载能力,同时最大限度利用数据中心中的服务器,提高了数据中心资源利用率。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其他目的、特征和优点能够更明显易懂,以下特举较佳实施例,并配合附图,详细说明如下。
附图说明
图1(a)传统数据中心架构;
图1(b)完全解耦数据中心架构;
图1(c)部分数据中心架构;
图2为本发明中优选实施例中部分解耦数据中心的业务部署和资源分配方法的流程图;
图3为本发明中优选实施例中部分解耦数据中心的业务部署和资源分配方法的架构图;
图4为整数线性规划模型与本发明中优选实施例中部分解耦数据中心的业务部署和资源分配方法在部署的业务总数方面的结果;
图5为本发明中优选实施例中部分解耦数据中心的业务部署和资源分配方法和首次命中方案在解耦程度增加时的性能。
具体实施方式
下面结合附图和具体实施例对本发明作进一步说明,以使本领域的技术人员可以更好地理解本发明并能予以实施,但所举实施例不作为对本发明的限定。
如图2所示,为本发明优选实施例中部分解耦数据中心的业务部署和资源分配方法,包括以下步骤:
S1、接收一组业务,按照业务对不同资源的需求对业务进行排序得到多个业务列表;
具体地,在步骤S1中,按照业务对不同资源的需求对业务进行排序得到三个业务列表,第一个业务列表中按照业务对CPU的需求从小到大对业务进行排序,第二个业务列表中按照业务对内存的需求从小到大对业务进行排序,第三个业务列表中按照业务对外存的需求从小到大对业务进行排序。其中,资源包括CPU、内存和外存。可选地,通过分别给与CPU、内存、外存一个高权重来生成对应的列表。
S2、每次从业务列表中取出一个业务,判断业务是否是资源密集型业务;若是,执行步骤S3;否则,执行步骤S4;
具体地,按照第一个业务列表、第二个业务列表、第三个业务列表的顺序,并按照业务对资源的需求从小到大,每次从当前业务列表中取出一个业务,判断业务是否是资源密集型业务;若是,执行步骤S3;否则,执行步骤S4。
其中,业务是否是资源密集型业务是根据业务对不同资源类型的需求划分。每个业务对各种资源都有不同的要求。比如一个CPU密集型的业务,对CPU的需求很大,而对其他资源的需求是一般的。在数据中心资源有限的情况下,我们的目标是最大化业务部署数量。资源密集型业务的划分标准可以人为定义,亦可根据实际场景进行调整。
可选地,步骤S1之前,还包括以下步骤:
根据业务对不同资源类型的需求,将业务分为CPU密集型业务、内存密集型业务、IO密集型业务和低负载需求型业务,所述CPU密集型业务、内存密集型业务、IO密集型业务为资源密集型业务。
S3、尝试使用业务对应资源池中的解耦模块进行业务部署;其中,第一个任务列表对应包含CPU模块的CPU资源池,第二个任务列表对应包含内存模块的内存资源池,第三个任务列表对应包含外存模块的外存资源池。
具体地,步骤S3包括:
S31、先排除对应资源池中所有满负载的解耦模块;
S32、寻找对应资源池中是否有满足业务资源需求的单个解耦模块;若是,则利用该解耦模块部署业务;否则,执行步骤S33;
S33、判断对应资源池中的剩余的解耦模块能否满足业务资源需求,若是, 则将当前业务分配至多个解耦模块进行部署;否则,资源池部署失败,执行步骤S4;
S4、尝试使用服务器进行业务部署;步骤包括:
S41、先排除剩余资源不能满足业务资源需求的服务器;
S42、按照服务器中不同剩余资源对服务器进行排序得到多个服务器列表;
具体地,按照服务器中不同剩余资源对服务器进行排序得到三个服务器列表,第一个服务器列表中按照剩余CPU资源从小到大对服务器进行排序,第二个服务器列表中按照剩余内存资源从小到大对服务器进行排序,第三个服务器列表中按照剩余外存资源从小到大对服务器进行排序。
S43、判断业务对应的服务器列表中是否有满足业务资源需求的服务器,若是,则利用该服务器部署业务;否则,服务器部署失败,执行步骤S3。
在一些实施例中,还包括以下步骤:
若当前业务在资源池和服务器均部署失败,则结束当前业务部署,并继续部署下一个业务。
进一步地,还包括以下步骤:
若当前业务在资源池和服务器均部署失败,则将当前业务从三个业务列表中删除。
本发明中,当业务是否属于资源需求密集类型的业务时,优先寻找是否可以使用资源池进行业务部署和资源分配,当资源池中的资源无法满足业务需求的时候我们再去寻找是否有可用的服务器;如果不是资源需求密集型业务的话:先去寻找是否存在可以部署的服务器,当服务器不能够满足的时候,再去尝试使用资源池部署业务。
具体地,参照图3,首先,根据所需的CPU数量对业务进行了排序。对于对资源的需求较低的业务,尝试先为其提供服务器。我们检查已排序的服务器列表以选择具有足够资源的服务器。对于内存密集型业务和CPU密集型业务。我们尝试使用资源池来部署它们。如果资源池中有单个模块可以满足资源需求,我们首先用它来提供服务。如果没有,我们使用资源池中的剩余资源来部署业务。
本发明通过设置多个业务列表和服务器列表,在列表中对业务和服务器进行排序,可以有效提升业务部署和资源分配效率。
本发明部分解耦数据中心的业务部署和资源分配方法可以提高数据中心业务承载能力,同时最大限度利用数据中心中的服务器,提高了数据中心资源利用率。
在其中一实施例中,我们考虑三种类型的资源模块:32核的CPU模块、128GB的内存模块和1024GB的磁盘模块。假设每台服务器都有一个CPU模块、一个内存模块和一个磁盘模块,所有分解的资源池都是不同资源模块的集合。我们考虑从0%、10%、……到100%的不同解耦级别。考虑两种情况进行模拟。在案例1中,我们有10个服务器,对应30个资源模块,每种资源类型有10个模块。案例2包含1000个服务器,对应3000个模块,每种资源类型有1000个。然后根据解耦级别,有一定比例的服务器被分解,然后将它们的资源模块聚集为不同类型的资源池。例如,对于案例1,如果解耦级别为30%,则分解3个服务器,资源模块为9个,每种资源类型为3个。此外,我们将四种业务类型分为两大类:常规服务和资源密集型业务。常规业务的资源需求分布在[1,16]核CPU、[1,64]GB内存和[1,512]GB磁盘空间范围内。相比之下,资源密集型服务对某种类型的资源有很高的需求,而其他资源需求保持正常。例如,一个CPU密集型业务需要的CPU资源在[16,32]核范围内,对内存和磁盘空间的需求是正常的。内存密集型服务和IO密集型服务分别需要[64,128]GB范围内的内存资源和[512,1024]GB范围内的磁盘空间资源。对于这四种不同类型的业务我们保证他们的生成数量相同。
基于案例1,图4比较了整数线性规划模型和本发明的方法在部署的业务总数方面的结果,其中需要部署的业务总数为50。
整数线性规划模型的目标是最大化提供的服务数量,但须遵守以下约束。
(1)虚拟数据中心业务约束:每个虚拟数据中心业务只有在为它提供足够的资源时才被认为是成功部署的。
(2)服务器分配限制:虽然一台服务器可以容纳多个业务,但分配给这些业务的总资源不能超过服务器的容量。
(3)资源模块分配约束:一个资源模块可以为多个业务提供资源,如果一个 业务需要更多的资源,它可以使用多个模块的资源。但是,分配给业务的总资源不应超过资源模块的总容量。
(4)服务器和资源池分离约束:如果一个业务已经分配了资源模块的资源,它就不能再分配一个服务器的资源,反之亦然。
我们注意到,随着解耦比例的提高,部署的业务总数逐渐增加。这是因为解耦程度的提高会从服务器释放更多的资源模块以形成大型资源池,这允许更多的业务共享这些资源以使得他们更好地被利用。此外,我们注意到本发明的方法的性能非常接近整数线性规划模型,这证实了方法的效率。我们还将本发明的方法与首次命中(FF)方案进行了比较。这里,首次命中方案指的是,在没有预先对业务、服务器和资源模块排序的情况下,FF方案首先尝试使用服务器来部署业务,如果不成功,则该方案使用资源池来部署业务。我们注意到,所提出的方法显然优于首次命中方案,并且部署业务量超出首次命中方案高达31.6%。
我们还基于案例2的大规模数据中心场景(其中有5000个业务)评估了所提出方法的效率。在这种情况下,由于整数线性规划模型难以求解,因此我们不提供其结果,而是与首次命中方案进行比较。图5显示了所提出的方法和首次命中方案在解耦程度增加时的性能,其中“IR”对应于我们提出的方法与首次命中方案相比部署业务数量的提升比例。与案例1一样,业务成功部署的数量随着解耦比例的增加而增加。此外,我们注意到所提出的方法优于首次命中方案10%以上,并且随着解耦比例的增加,这种改进变得更加显着。这是因为,本发明提出的方法在尝试使用服务器部署业务之前执行了排序过程,而对比首次命中方案没有这样做。
本发明优选实施例还公开了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述实施例中所述方法的步骤。
本发明优选实施例还公开了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述实施例中所述方法的步骤。
以上实施例仅是为充分说明本发明而所举的较佳的实施例,本发明的保护范围不限于此。本技术领域的技术人员在本发明基础上所作的等同替代或变换, 均在本发明的保护范围之内。本发明的保护范围以权利要求书为准。

Claims (10)

  1. 部分解耦数据中心的业务部署和资源分配方法,其特征在于,包括以下步骤:
    S1、接收一组业务,按照业务对不同资源的需求对业务进行排序得到多个业务列表;
    S2、每次从业务列表中取出一个业务,判断业务是否是资源密集型业务;若是,执行步骤S3;否则,执行步骤S4;
    S3、尝试使用业务对应资源池中的解耦模块进行业务部署;步骤包括:
    S31、先排除对应资源池中所有满负载的解耦模块;
    S32、寻找对应资源池中是否有满足业务资源需求的单个解耦模块;若是,则利用该解耦模块部署业务;否则,执行步骤S33;
    S33、判断对应资源池中的剩余的解耦模块能否满足业务资源需求,若是,则将当前业务分配至多个解耦模块进行部署;否则,资源池部署失败,执行步骤S4;
    S4、尝试使用服务器进行业务部署;步骤包括:
    S41、先排除剩余资源不能满足业务资源需求的服务器;
    S42、按照服务器中不同剩余资源对服务器进行排序得到多个服务器列表;
    S43、判断业务对应的服务器列表中是否有满足业务资源需求的服务器,若是,则利用该服务器部署业务;否则,服务器部署失败,执行步骤S3。
  2. 如权利要求1所述的部分解耦数据中心的业务部署和资源分配方法,其特征在于,在步骤S1中,按照业务对不同资源的需求对业务进行排序得到三个业务列表,第一个业务列表中按照业务对CPU的需求从小到大对业务进行排序,第二个业务列表中按照业务对内存的需求从小到大对业务进行排序,第三个业务列表中按照业务对外存的需求从小到大对业务进行排序。
  3. 如权利要求2所述的部分解耦数据中心的业务部署和资源分配方法,其特征在于,步骤S2包括:按照第一个业务列表、第二个业务列表、第三个业务列表的顺序,并按照业务对资源的需求从小到大,每次从当前业务列表中取出 一个业务,判断业务是否是资源密集型业务;若是,执行步骤S3;否则,执行步骤S4。
  4. 如权利要求2所述的部分解耦数据中心的业务部署和资源分配方法,其特征在于,在步骤S3中,第一个任务列表对应包含CPU模块的CPU资源池,第二个任务列表对应包含内存模块的内存资源池,第三个任务列表对应包含外存模块的外存资源池。
  5. 如权利要求2所述的部分解耦数据中心的业务部署和资源分配方法,其特征在于,在步骤S42中,按照服务器中不同剩余资源对服务器进行排序得到三个服务器列表,第一个服务器列表中按照剩余CPU资源从小到大对服务器进行排序,第二个服务器列表中按照剩余内存资源从小到大对服务器进行排序,第三个服务器列表中按照剩余外存资源从小到大对服务器进行排序。
  6. 如权利要求1所述的部分解耦数据中心的业务部署和资源分配方法,其特征在于,还包括以下步骤:
    若当前业务在资源池和服务器均部署失败,则结束当前业务部署,并继续部署下一个业务。
  7. 如权利要求6所述的部分解耦数据中心的业务部署和资源分配方法,其特征在于,还包括以下步骤:
    若当前业务在资源池和服务器均部署失败,则将当前业务从三个业务列表中删除。
  8. 如权利要求1所述的部分解耦数据中心的业务部署和资源分配方法,其特征在于,步骤S1之前,还包括以下步骤:
    根据业务对不同资源类型的需求,将业务分为CPU密集型业务、内存密集型业务、IO密集型业务和低负载需求型业务,所述CPU密集型业务、内存密集型业务、IO密集型业务为资源密集型业务。
  9. 一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现权利要求1-8中任意一项所述方法的步骤。
  10. 一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该 程序被处理器执行时实现权利要求1-8任意一项所述方法的步骤。
PCT/CN2022/137172 2022-09-09 2022-12-07 部分解耦数据中心的业务部署和资源分配方法 WO2024051012A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202211102743.0 2022-09-09
CN202211102743.0A CN115454598B (zh) 2022-09-09 2022-09-09 部分解耦数据中心的业务部署和资源分配方法

Publications (1)

Publication Number Publication Date
WO2024051012A1 true WO2024051012A1 (zh) 2024-03-14

Family

ID=84303685

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2022/137172 WO2024051012A1 (zh) 2022-09-09 2022-12-07 部分解耦数据中心的业务部署和资源分配方法

Country Status (2)

Country Link
CN (1) CN115454598B (zh)
WO (1) WO2024051012A1 (zh)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060242647A1 (en) * 2005-04-21 2006-10-26 Kimbrel Tracy J Dynamic application placement under service and memory constraints
US20070106798A1 (en) * 2005-11-10 2007-05-10 Ken Masumitsu Method for provisioning resources
CN108616553A (zh) * 2016-12-13 2018-10-02 中国移动通信有限公司研究院 云计算资源池进行资源调度的方法及装置
CN110858161A (zh) * 2018-08-24 2020-03-03 阿里巴巴集团控股有限公司 资源分配方法、装置、系统、设备和介质
CN112698952A (zh) * 2021-01-05 2021-04-23 广州品唯软件有限公司 计算资源统一管理方法、装置、计算机设备及存储介质
CN113626162A (zh) * 2021-07-09 2021-11-09 西安电子科技大学 基于动态资源共享的数据中心任务混合部署方法及系统

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106033373B (zh) * 2015-03-11 2019-09-27 苏宁易购集团股份有限公司 一种云计算平台中虚拟机资源调度方法和调度系统
US10129169B2 (en) * 2016-04-07 2018-11-13 International Business Machines Corporation Specifying a highly-resilient system in a disaggregated compute environment
CN107135123A (zh) * 2017-05-10 2017-09-05 郑州云海信息技术有限公司 一种rack服务器资源动态池化的调配方法
CN110647394B (zh) * 2018-06-27 2022-03-11 阿里巴巴集团控股有限公司 一种资源分配方法、装置及设备

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060242647A1 (en) * 2005-04-21 2006-10-26 Kimbrel Tracy J Dynamic application placement under service and memory constraints
US20070106798A1 (en) * 2005-11-10 2007-05-10 Ken Masumitsu Method for provisioning resources
CN108616553A (zh) * 2016-12-13 2018-10-02 中国移动通信有限公司研究院 云计算资源池进行资源调度的方法及装置
CN110858161A (zh) * 2018-08-24 2020-03-03 阿里巴巴集团控股有限公司 资源分配方法、装置、系统、设备和介质
CN112698952A (zh) * 2021-01-05 2021-04-23 广州品唯软件有限公司 计算资源统一管理方法、装置、计算机设备及存储介质
CN113626162A (zh) * 2021-07-09 2021-11-09 西安电子科技大学 基于动态资源共享的数据中心任务混合部署方法及系统

Also Published As

Publication number Publication date
CN115454598B (zh) 2023-06-06
CN115454598A (zh) 2022-12-09

Similar Documents

Publication Publication Date Title
CN108984269B (zh) 基于随机回归森林模型的容器资源供给方法及系统
CN110489217A (zh) 一种任务调度方法及系统
CN110071965B (zh) 一种基于云平台的数据中心管理系统
CN111381928B (zh) 一种虚拟机迁移方法、云计算管理平台和存储介质
CN111381957B (zh) 面向分布式平台的服务实例精细化调度方法及系统
CN104506669A (zh) 一种面向分布式网络仿真平台的ip地址分配系统及方法
CN103258389B (zh) 自助终端上传文件的方法、系统和自助终端
WO2024051012A1 (zh) 部分解耦数据中心的业务部署和资源分配方法
CN112698947B (zh) 一种基于异构应用平台的gpu资源弹性调度方法
CN110297959A (zh) 数据存储方法、装置、存储介质及边缘服务器
CN112995341A (zh) 一种面向复杂信息系统的云资源动态分配方法
CN112130927B (zh) 一种可靠性增强的移动边缘计算任务卸载方法
CN115665157B (zh) 一种基于应用资源类型的均衡调度方法和系统
CN111459648B (zh) 面向应用程序的异构多核平台资源优化方法和装置
CN110865798B (zh) 一种线程池优化方法及系统
US20220383219A1 (en) Access processing method, device, storage medium and program product
CN115866059A (zh) 一种区块链节点调度方法和装置
CN108874798B (zh) 一种大数据排序方法和系统
CN115051998A (zh) 自适应边缘计算卸载方法、装置及计算机可读存储介质
CN114610758A (zh) 基于数据仓库的数据处理方法、装置、可读介质及设备
CN114741190A (zh) 一种云计算资源的调度方法及装置
CN114595083A (zh) 消息处理方法、装置、计算机设备和存储介质
CN108595367B (zh) 一种基于局域网内计算机集群的服务器系统
CN112073501A (zh) 一种租户分离的纳管方法
CN112925852B (zh) 一种分布式数据库指定节点缩容方法

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 22957971

Country of ref document: EP

Kind code of ref document: A1