CN118012603A - Resource scheduling method and related equipment - Google Patents

Resource scheduling method and related equipment Download PDF

Info

Publication number
CN118012603A
CN118012603A CN202311840997.7A CN202311840997A CN118012603A CN 118012603 A CN118012603 A CN 118012603A CN 202311840997 A CN202311840997 A CN 202311840997A CN 118012603 A CN118012603 A CN 118012603A
Authority
CN
China
Prior art keywords
resource
host
model
application
hosts
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
Application number
CN202311840997.7A
Other languages
Chinese (zh)
Inventor
侯宝臣
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
XFusion Digital Technologies Co Ltd
Original Assignee
XFusion Digital Technologies Co Ltd
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 XFusion Digital Technologies Co Ltd filed Critical XFusion Digital Technologies Co Ltd
Priority to CN202311840997.7A priority Critical patent/CN118012603A/en
Publication of CN118012603A publication Critical patent/CN118012603A/en
Pending legal-status Critical Current

Links

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

The embodiment of the application discloses a resource scheduling method and related equipment, which are used for improving the resource utilization rate. In the embodiment of the application, resource information of a plurality of hosts is acquired; modeling the resource information of the plurality of hosts according to a host resource template to obtain a host resource model; acquiring information of resource requirements of at least one application under the condition that a resource request of the at least one application is received; modeling the information of the resource requirements of the at least one application according to the resource requirement template to obtain at least one resource requirement model; obtaining a host allocation scheme based on the host resource model and the at least one resource demand model, wherein the host allocation scheme is used for representing the minimum number of hosts required for meeting the resource demand of the at least one application; and carrying out resource scheduling according to the host allocation scheme.

Description

Resource scheduling method and related equipment
Technical Field
The present application relates to the field of computer devices, and in particular, to a resource scheduling method and related devices.
Background
In either an internet data center (INTERNET DATA CENTER, IDC) or a private data center, resources (e.g., computing resources or storage resources) are provided through an infrastructure (e.g., a server).
In the current industry, in a server cluster (e.g., as shown in fig. 1-1, the server cluster includes hosts (host) 1, hosts 2, …, and host 8, e.g., each host is a server), when a job task triggers the scheduler to work, the scheduler first filters the hosts (host) in the server cluster according to a condition or requirement to obtain hosts that meet the condition or requirement. Typically, there may be multiple hosts meeting the condition or requirement, and the scheduler further selects the optimal one from the server cluster (e.g., the host that selects the highest score by the scoring mechanism).
But the hosts selected in this way are typically most abundant in the remaining resource information, then other hosts with less remaining resource information are typically underutilized, which results in a lower resource utilization of the server cluster as a whole. Because of the high cost of the host, the life cycle is short (for example, 3-5 years), if the host in the server cluster has low resource utilization rate in most scenes, unnecessary resource waste is caused, and the use cost of the infrastructure is high.
Disclosure of Invention
The embodiment of the application provides a resource scheduling method and related equipment, which are used for improving the resource utilization rate.
The first aspect of the embodiment of the application provides a resource scheduling method, which comprises the following steps: acquiring resource information of a plurality of hosts; modeling the resource information of the plurality of hosts according to a host resource template to obtain a host resource model; acquiring information of resource requirements of at least one application under the condition that a resource request of the at least one application is received; modeling the information of the resource requirements of the at least one application according to the resource requirement template to obtain at least one resource requirement model; obtaining a host allocation scheme based on the host resource model and the at least one resource demand model, wherein the host allocation scheme is used for representing the minimum number of hosts required for meeting the resource demand of the at least one application; and carrying out resource scheduling according to the host allocation scheme.
The host computer of the running application is preferentially distributed for the at least one application in the host computer distribution scheme, so that the minimum number of host computers used for running the at least one application is realized, the resource utilization rate is improved, the operation cost is reduced, and the cost reduction and the efficiency enhancement are realized.
In some possible implementations, the resource information includes performance resources and capacity resources, wherein the performance resources include one or more of a central processor CPU master, a graphics processor GPU master, a memory master, a network protocol, a hard disk type, and a host form, and/or the capacity resources include one or more of a CPU core number, a CPU power resource, a GPU core number, a GPU power resource, a memory capacity, a storage capacity, and a network bandwidth. In the embodiment of the application, the matching relationship between the application and the host is considered through multiple dimensions, so that the host meeting the application can be determined.
In some possible implementations, the resource information includes performance resources and capacity resources, and the host resource model includes a one-layer resource model and a two-layer resource model, where the one-layer resource model is used to record information of the performance resources of the plurality of hosts, and the two-layer resource model is used to record information of the capacity resources of the plurality of hosts;
And/or the resource demand model comprises a one-layer demand model and a two-layer demand model, wherein the one-layer demand model is used for recording information of the performance demand of the at least one application, and the two-layer demand model is used for recording information of the capacity demand of the at least one application.
By considering the matching relationship of the application and the hosts through multiple layers, it is achieved that the number of hosts used to run at least one application is minimized.
In some possible implementations, the method further includes:
Simplifying the one-layer resource model in the host resource model to obtain a simplified one-layer resource model; the information of each performance resource in the simplified one-layer resource model is obtained by mapping the information of each performance resource in the one-layer resource model based on a preset mapping table, and the information of each performance resource in the simplified one-layer resource model is high, medium or low; and/or simplifying the one-layer demand model to obtain a simplified one-layer demand model; and the information of each performance requirement in the simplified one-layer requirement model is obtained by mapping the information of each performance requirement in the one-layer resource model based on the preset mapping table, and the information of each performance requirement in the simplified one-layer requirement model is high, medium or low. Thereby reducing the storage capacity and simplifying the matching process of the performance resources.
In some possible implementations, the host allocation scheme includes a first allocation scheme, the at least one application includes a first application, the at least one resource demand model includes a first resource demand model, and the first resource demand model is modeled by information of the resource demand of the first application; then, the obtaining a host allocation scheme based on the host resource model and the at least one resource demand model includes: if the hosts running the application exist in the hosts, determining a first host from the hosts running the application in the hosts based on the host resource model and the first resource demand model, wherein the first host is a host of which the resource information meets the resource demand of the first application; if the host computer of which the resource information meets the resource requirement of the first application does not exist in the host computers of which the application is operated in the plurality of host computers, determining the first host computer from the host computers of which the application is not operated in the plurality of host computers based on the host computer resource model and the first resource requirement model; determining the first allocation scheme, wherein the first allocation scheme is that the first application is executed by the first host. Thus, in the case that a host running the application exists among the plurality of hosts, a first host satisfying the first application is determined, thereby determining a first allocation scheme.
In some possible implementations, before the determining the first allocation scheme, the method further includes: and if the host which runs the application does not exist in the plurality of hosts, determining the first host from the hosts which do not run the application in the plurality of hosts based on the host resource model and the first resource demand model. Thus, in the case that no host running the application exists among the plurality of hosts, a first host satisfying the first application is determined, and thus a first allocation scheme is determined.
In some possible implementations, if a host running an application exists in the plurality of hosts, determining, based on the host resource model and the first resource requirement model, a first host from the hosts running the application in the plurality of hosts includes: determining the first host set meeting one layer of demand models in the first resource demand models from the hosts of the plurality of hosts running applications, and determining the first host meeting two layers of demand models in the first resource demand models from the first host set; if there is no host running an application in the plurality of hosts, or if there is no host running an application in the plurality of hosts in which the resource information satisfies the resource requirement of the first application, determining the first host from hosts not running an application in the plurality of hosts based on the host resource model and the first resource requirement model includes: determining the second set of hosts from hosts in the plurality of hosts that do not run applications that satisfy one layer of demand models in the first resource demand model, and determining the first host from the second set of hosts that satisfy two layers of demand models in the first resource demand model. Thereby a first host is determined which satisfies the first application, i.e. a first allocation scheme is determined.
In some possible implementations, the method further includes: and updating the resource information of the first host in the host resource model based on the first allocation scheme to obtain an updated host resource model. So that the host and application can be subsequently matched based on the updated host resource model.
In some possible implementations, the host allocation scheme further includes a second allocation scheme, the at least one application includes a second application, and the at least one resource demand model includes a second resource demand model, the second resource demand model being modeled from information of the resource demand of the second application; the obtaining a host allocation scheme based on the host resource model and the at least one resource demand model includes: determining a second host from hosts running applications in the hosts based on the updated host resource model and the second resource demand model, wherein the second host is a host for which the resource information meets the resource demands of the second application; if the host computer of the application running in the plurality of host computers does not have the host computer of which the resource information meets the resource requirement of the second application, determining the second host computer from the host computers of the application not running in the plurality of host computers based on the updated host computer resource model and the second resource requirement model; determining the second allocation scheme, wherein the second allocation scheme is that the second application is executed by the second host. Thereby a second host is determined which satisfies the second application, i.e. a second allocation scheme is determined.
A second aspect of the present application provides a server for performing the method of any one of the preceding first aspects.
A third aspect of the present application provides a computer readable storage medium having instructions stored therein which, when run on a computer, cause the computer to perform the method of any of the first or second or third aspects above.
A fourth aspect of the application provides a computer program product comprising computer-executable instructions stored on a computer-readable storage medium; the at least one processor of the apparatus may read the computer-executable instructions from a computer-readable storage medium, the at least one processor executing the computer-executable instructions causing the apparatus to implement the method provided by the first aspect or any one of the possible implementations of the first aspect.
A fifth aspect of the present application provides a communication device that may include at least one processor, a memory, and a communication interface. At least one processor is coupled with the memory and the communication interface. The memory is for storing instructions, the at least one processor is for executing the instructions, and the communication interface is for communicating with other communication devices under control of the at least one processor. The instructions, when executed by at least one processor, cause the at least one processor to perform the method of the first aspect or any possible implementation of the first aspect.
A sixth aspect of the application provides a chip system comprising a processor for supporting the functions involved in carrying out the above-described first aspect or any one of the possible implementations of the first aspect.
In one possible design, the chip system may further include memory to hold the necessary program instructions and data. The chip system can be composed of chips, and can also comprise chips and other discrete devices.
The technical effects of the second to sixth aspects or any one of the possible implementation manners may be referred to the technical effects of the first aspect or the technical effects of the different possible implementation manners of the first aspect, which are not described herein.
Drawings
Fig. 1-1 is a schematic diagram of a composition structure of a server cluster according to an embodiment of the present application;
Fig. 1-2 are schematic diagrams of a system architecture according to an embodiment of the present application;
fig. 2 is a schematic flow chart of a resource scheduling method according to an embodiment of the present application;
Fig. 3 is a schematic structural diagram of a server according to an embodiment of the present application;
Fig. 4 is a schematic structural diagram of a communication device according to an embodiment of the present application.
Detailed Description
The embodiment of the application provides a resource scheduling method and related equipment, which are used for distributing resources of a corresponding host for an application.
Embodiments of the present application are described below with reference to the accompanying drawings. The terms first, second and the like in the description and in the claims and in the above-described figures, are used for distinguishing between similar elements and not necessarily for describing a particular sequential or chronological order. It is to be understood that the terms so used are interchangeable under appropriate circumstances and are merely illustrative of the manner in which embodiments of the application have been described in connection with the description of the objects having the same attributes. Furthermore, the terms "comprises," "comprising," and "having," and any variations thereof, are intended to cover a non-exclusive inclusion, such that a process, method, system, article, or apparatus that comprises a list of elements is not necessarily limited to those elements, but may include other elements not expressly listed or inherent to such process, method, article, or apparatus.
Referring to fig. 1-2, embodiments of the present application are applicable to a server cluster 100, where the server cluster 100 includes a plurality of nodes, which may include management nodes and computing nodes/storage nodes. In the embodiment of the application, the management node is used as a management plane, and the computing node/storage node is used as a host. The method in the embodiment of the application is executed by the management node. Illustratively, the plurality of nodes may include a host 1, a host 2, a host 3, a host 4. For example, hosts 1-4 act as compute/storage nodes, and host 1 may act as a management node. And are not limited herein.
In some possible implementations, the host may be a server, which may vary widely in configuration or performance, and may include at least one central processing unit (central processing units, CPU) (e.g., at least one processor), memory, and storage. The memory may be transient storage, and the storage may be persistent storage. The program stored in the memory may include at least one module, each of which may include a series of instruction operations on the server. Still further, the central processor may be configured to communicate with a storage medium and execute a series of instruction operations on the storage medium on a server. The Server may also include at least one power source, at least one wired or wireless network interface, at least one input output interface, and/or at least one operating system, such as Windows Server, mac OS X, unix, linux, freeBSD, netWare, and the like.
A server is a device that provides computing services. Since a server needs to respond to a service request and process the service, and provide a reliable service, in general, the server should have a capability of bearing the service and guaranteeing the service, and the server needs to have a strong processing capability, high stability, high reliability, high security, expandability, and manageability. In an embodiment of the present application, the server may be an x86 server, which is also called a complex instruction set (complex instruction set computer, CISC) architecture server.
In some possible implementations, an Operating System (OS) is built in the host, different hosts may have different OS types built in, and the different OS types support the host to run in different host forms. By way of example, host forms may include a physical host, a plurality of virtual machines, a plurality of containers, one or more Virtual Machines (VMs), and one or more containers, without limitation. For example, the host 1 is in the form of one physical host, the host 2 is in the form of 4 containers, the host 3 is in the form of 2 virtual machines and 2 containers, and the host 4 is in the form of one physical host.
The physical host refers to an application running directly on the CPU, memory and storage of the host, and is not virtualized by a translator, a simulator or the like. The physical host responds faster, has more available resources and is more reliable and generally used as the back end of the application. For example, for transactional databases, the backend may be placed into a physical host to provide more reliable services.
Virtual machines refer to software simulations of a host computer to obtain a complete computer system with complete hardware system functionality that operates in a completely isolated environment. Multiple virtual machines may be created on one host. When creating a virtual machine on a host, part of the CPU, hard disk and memory capacity of the host need to be used as the CPU, hard disk and memory capacity of the virtual machine. Each virtual machine has independent computing resources, storage systems, and operating systems, and can operate as if it were a host computer using one entity.
A container is a software instance that results from the virtualization technique performed on one host, on which multiple containers can be created.
The virtual machine and container differ in that: the virtual machine is a complete computer system and is provided with an operating system, application programs and virtual hardware of the virtual machine, and the container shares the operating system and the kernel of the host machine; virtual machines typically require more resources (e.g., memory and processors) to operate, while containers require less resources to operate on the same hardware; in a virtual machine, an operating system and application programs run on virtualized hardware, while in a container, the operating system and application programs run on top of the operating system of the host machine, and are isolated and protected by virtualization technology; virtual machines provide greater security and isolation, but may have some overhead in terms of performance and resource utilization, while containers are lighter weight, have higher performance and higher resource utilization efficiency, but may not be as isolated as virtual machines.
The server cluster 100 may run a management plane, e.g., the management plane is a scheduler. It should be noted that the management plane is a software functional entity, and runs on one host or the entire server cluster, and the exemplary management plane runs on the host 1. In an embodiment of the present application, the management plane is configured to schedule the resource information in the server cluster 100 to meet the resource requirement of at least one application.
The client communicates with the server through the server cluster 100 through the user equipment, so that the server cluster 100 can provide the service of the application for the user. The client may send a resource requirement to the management node to request the management node to provide the resources required for operation to meet the resource requirement of the application.
Based on the foregoing system architecture, the present application provides a resource scheduling method and related devices, which are used for allocating resources of a corresponding host for an application.
In the embodiment of the application, the resource information of a plurality of hosts is acquired. And modeling the resource information of the plurality of hosts according to the host resource template to obtain a host resource model. And acquiring information of the resource requirement of at least one application under the condition that the resource request of the at least one application is received. And modeling the information of the resource requirements of the at least one application according to the resource requirement template to obtain at least one resource requirement model. Then, based on the host resource model and the at least one resource demand model, a host allocation scheme is obtained, where the host allocation scheme is used to represent the minimum number of hosts required to meet the resource demand of the at least one application, and resource scheduling is performed according to the host allocation scheme.
Referring to fig. 2, the embodiment of the application provides a resource scheduling method, which mainly includes the following steps:
201. The management node obtains resource information of a plurality of hosts.
In some possible implementations, the management node may periodically query the resource information of each host in the server cluster. In some possible implementations, the management node may also query the resource information of each host in the server cluster when needed, which is not limited herein.
In some possible implementations, the resource information includes performance resources including one or more of CPU dominant frequency, GPU dominant frequency, memory dominant frequency, network protocol, hard disk type, and host form, and/or capacity resources including one or more of CPU core number, CPU power resource, GPU core number, GPU power resource, memory capacity, storage capacity, and network bandwidth. And are not limited herein.
It should be noted that, the host may include components such as a CPU, a GPU, a memory, a hard disk, a network card, etc., where the performance resources that the CPU may provide include a main frequency of the CPU, and the capacity resources that the CPU may provide include a CPU core number and a CPU computing power resource; the performance resources which can be provided by the GPU comprise GPU main frequency, and the capacity resources which can be provided comprise GPU kernels and GPU power resources; the performance resources which can be provided by the memory comprise a main frequency of the memory, and the capacity resources which can be provided comprise memory capacity; performance resources that a hard disk may provide include hard disk types (e.g., NVME/SSD/HDD), and capacity resources that may be provided include storage capacity; the performance resources that the network card may provide include network protocols (i.e., network protocols that the network card may support, such as Fibre Channel (FC)/Infiniband (IB)/Ethernet (ETH)), and the capacity resources that may be provided include network bandwidth. In addition, the performance resource may also include a host form, where the host form is a form of operation supported by an OS built in the host, such as a physical host, a virtual machine, a container, a virtual machine/container, and the like, which is not limited herein.
Illustratively, the performance resources of host 1 include: the host is in the form of a physical host, the CPU main frequency is 1.86Ghz, the GPU main frequency is 3.5Ghz, the memory main frequency is 100Mhz, the hard disk type is NVME, and the network protocol comprises FC and IB. The capacity resources of the host 1 include: the CPU core number is 2, the CPU power resource is 1000 (unit is not limited), the GPU core number is 16, the GPU power resource is 1000 (unit is not limited), the memory capacity is 1000 (unit is not limited), the hard disk capacity is 1000 (unit is not limited), and the network bandwidth is 1000 (unit is not limited).
It should be noted that, the performance resources are not reduced by running the application, and the capacity resources are divided into a part of resources by running the application, so that the part of capacity resources is reduced. Illustratively, after host 1 has run application 1, the performance resources of host 1 still include: the OS type is a physical host, the CPU main frequency is 1.86Ghz, the GPU main frequency is 3.5Ghz, the memory main frequency is 100Mhz, the hard disk type is NVME, and the network protocol comprises FC and IB. But the capacity resources of the host 1 include: the CPU core number is 2, the CPU power resource is 500 (unit is not limited), the GPU core number is 16, the GPU power resource is 500 (unit is not limited), the memory capacity is 500 (unit is not limited), the hard disk capacity is 500 (unit is not limited), and the network bandwidth is 500 (unit is not limited).
202. And the management node models the resource information of the plurality of hosts according to the host resource template to obtain a host resource model.
It should be noted that modeling is used to abstract the acquired information as needed, so as to obtain usable information.
In some possible implementations, the host resource model includes a one-layer resource model for recording information of the performance resources of the plurality of hosts and a two-layer resource model for recording information of the capacity resources of the plurality of hosts.
Illustratively, as shown in table 1, after the management node obtains the resource information of each host in the server cluster, an example of modeling the performance resource in the management node is a layer of resource model.
TABLE 1
Illustratively, as shown in table 2, after the management node obtains the resource information of each host in the server cluster, an example of modeling the capacity resource in the server cluster is a two-layer resource model.
TABLE 2
It should be noted that the host resource template is a preset general framework, for example, the first layer resource model shown in table 1 and the second layer resource model shown in table 2 both conform to the host resource template.
In some possible implementations, the one-layer resource model in the host resource model may be simplified to obtain a simplified one-layer resource model. The information of each performance resource in the simplified one-layer resource model is obtained by mapping the information of each performance resource in the one-layer resource model based on a preset mapping table, and the information of each performance resource in the simplified one-layer resource model is high, medium or low.
The preset mapping table may be as shown in table 3, for example.
TABLE 3 Table 3
Based on the preset mapping table shown in table 3, the performance resources except the network protocol in the table 1 can be mapped to obtain a simplified one-layer resource model shown in table 4.
TABLE 4 Table 4
In some possible implementations, after the host resource model is obtained by the management node, the host resource model may be represented in a vector form.
Illustratively, the vector form of the host resource model is sp_i (i=1, 2, …, n), n being the number of hosts. Where sp_1 denotes resource information of host 1, sp_2 denotes resource information of host 2, sp_3 denotes resource information of host 3, and sp_4 denotes resource information of host 4.
203. The management node obtains information of resource requirements of at least one application under the condition of receiving the resource request of the at least one application.
In some possible implementations, the application may be a high performance computing (High performance computing, HPC), a transactional database, a website, chat software, video software, a development test environment, and so forth, without limitation.
It should be noted that, when an application runs, there is a requirement on the running environment, that is, there is a requirement on the performance resource of the host, which is called a performance requirement. Applications also have a requirement for available capacity resources of the host, called capacity requirements. The performance requirements and capacity requirements are collectively referred to as resource requirements.
To this end, in some possible implementations, when an application is online (online at a user device or online at a server), the application may send information of resource requirements to the management node. In some possible implementations, the application may send the information of the resource requirement to the management node periodically, and the application may also send the information of the resource requirement to the management node when the resource requirement changes, which is not limited herein. Then, after the at least one application sends the information of the resource requirement to the management node, the management node may model the received information of the at least one resource requirement to obtain a resource requirement model.
Illustratively, the at least one application includes application 1, application 2, and application 3, where application 1 sends information of resource requirement 1 to the management node, application 2 sends information of resource requirement 2 to the management node, and application 3 sends information of resource requirement 3 to the management node, and then the resource requirement model received by the management node includes resource requirement 1, resource requirement 2, and resource requirement 3.
Illustratively, HPC, transactional databases require higher performance hosts, thus requiring the allocation host to be in the form of a physical host; and websites, chat software, video software, etc. may require the host form to be a virtual machine; while development of a testing environment requires more flexibility and agility, it may be required to distribute the host form as a container. And are not limited herein.
It can be seen that the performance requirements correspond to performance resources and the capacity requirements correspond to capacity resources. Then, by way of example, the performance requirements may include CPU dominant frequency requirements (corresponding to CPU dominant frequency), GPU dominant frequency requirements (corresponding to GPU dominant frequency), memory dominant frequency requirements (corresponding to memory dominant frequency), network protocol requirements (corresponding to network protocol), hard disk type requirements (corresponding to hard disk type), host form requirements (corresponding to host form), and so on, without limitation. By way of example, the capacity requirements may include a CPU core requirement (corresponding to a CPU core), a CPU power requirement (corresponding to a CPU power resource), a GPU core requirement (corresponding to a GPU core), a GPU power requirement (corresponding to a GPU power resource), a memory capacity requirement (corresponding to a memory capacity), a storage capacity requirement (corresponding to a storage capacity), a network bandwidth requirement (corresponding to a network bandwidth), and so forth, without limitation.
Illustratively, performance requirements 1 in resource requirements 1 of application 1 include: the host type requirement is a physical host, the CPU main frequency requirement is 1.86Ghz, the GPU core number requirement is 16, the GPU main frequency requirement is 3.5Ghz, the memory main frequency requirement is 333Mhz, the hard disk type requirement is NVME, and the network protocol requirement comprises FC. The capacity requirement 1 among the resource requirements 1 of the application 1 includes: the CPU core number requirement is 1, the CPU power requirement is 100 (unit is not limited), the GPU core number requirement is 2, the GPU power requirement is 100 (unit is not limited), the memory capacity requirement is 100 (unit is not limited), the hard disk capacity requirement is 100 (unit is not limited), and the network bandwidth requirement is 100 (unit is not limited).
204. And the management node models the information of the resource requirement of the at least one application according to the resource requirement template to obtain at least one resource requirement model.
In the embodiment of the application, after the management node obtains the information of the resource requirement sent by at least one application, the management node can perform modeling based on the information of the resource requirement sent by at least one application to obtain a resource requirement model.
In some possible implementations, the resource demand model includes a one-layer demand model for recording information of the performance demand of the at least one application and a two-layer demand model for recording information of the capacity demand of the at least one application.
Illustratively, as shown in table 5, after the management node obtains the information about the resource requirements of each application in at least one application, an example of modeling the performance requirements of the management node is a layer of requirement model.
TABLE 5
Illustratively, as shown in table 6, after the management node obtains the information about the resource requirements of each application in at least one application, the capacity requirements in the management node are modeled, i.e. a two-layer requirement model.
TABLE 6
In some possible implementations, the one-layer demand model is simplified, resulting in a simplified one-layer demand model. In some possible implementations, the information of each performance requirement in the simplified one-layer requirement model is obtained by mapping the information of each performance requirement in the one-layer resource model based on the preset mapping table, and the information of each performance requirement in the simplified one-layer requirement model is high, medium or low.
By way of example, the mapping table for a portion of the entries in the performance requirements may be as shown in Table 3. Based on the preset mapping table shown in table 3, the resource requirements except the network protocols in table 5 can be mapped, and the network protocols of each application can be summarized, so as to obtain a simplified one-layer requirement model shown in table 7.
TABLE 7
In some possible implementations, after the management node obtains the resource demand model, the resource demand model may be represented in a vector form.
Illustratively, the vector form of the resource demand model is dm_i (i=1, 2, …, m), m being the number of applications. Where dm_1 represents the resource requirement of application 1, dm_2 represents the resource requirement of application 2, dm_3 represents the resource requirement of application 3, and dm_4 represents the resource requirement of application 4.
205. The management node obtains a host allocation scheme for representing a minimum number of hosts required to meet the resource requirements of the at least one application based on the host resource model and the at least one resource requirement model.
In some possible implementations, the host allocation scheme includes a first allocation scheme, the at least one application includes a first application, and the at least one resource demand model includes a first resource demand model modeled from information of the resource demand of the first application.
Illustratively, deriving the host allocation scheme based on the host resource model and the at least one resource demand model may be accomplished by:
S11, if the plurality of hosts run the application, determining a first host from the hosts running the application in the plurality of hosts based on the host resource model and the first resource demand model, wherein the first host is a host whose resource information meets the resource demand of the first application.
For example, if the plurality of hosts are hosts 1 to 10, respectively, where hosts 1 to 3 are hosts running an application, a first host whose resource information satisfies the resource requirement of the first application is determined from hosts 1 to 3. For example, the first application is application 1, and the resource information of the host 1 satisfies the resource requirement of the application 1, then the host 1 is the first host. Then the first allocation scheme is for running the application 1 by the host 1.
In some possible implementations, the management node may determine the first set of hosts from among the hosts running the application that satisfy one of the first resource demand models, and determine the first host from among the first set of hosts that satisfy two of the first resource demand models.
For example, among the hosts 1 to 3 (hosts running the application among the plurality of hosts), the first host set of one-layer demand models satisfying the first resource demand model (resource demand of the application 1) is the hosts 1 to 2, wherein the host 1 satisfies the two-layer demand model of the first resource demand model (resource demand of the application 1), and then the host 1 is the first host.
S12, if the host running the application does not exist in the plurality of hosts, determining the first host from the hosts not running the application in the plurality of hosts based on the host resource model and the first resource demand model.
In some possible implementations, if there is no host running an application in the plurality of hosts, the management node may determine the second set of hosts from hosts not running applications in the plurality of hosts that satisfy one of the first resource demand models, and determine the first host from the second set of hosts that satisfy two of the first resource demand models.
For example, none of hosts 1-10 may run an application, the management node may determine the second set of hosts (e.g., hosts 1-8) from hosts 1-10 that satisfy one of the first resource demand models, and determine the first host (e.g., host 4) from the second set of hosts that satisfy two of the first resource demand models.
S13, if the host with the resource information meeting the resource requirement of the first application does not exist in the hosts with the application running in the hosts, determining the first host from the hosts without the application running in the hosts based on the host resource model and the first resource requirement model.
In some possible implementations, if there is no host in the hosts running applications in the plurality of hosts that satisfies the resource requirements of the first application, the management node may determine the second set of hosts from the hosts in which no applications are running in the plurality of hosts that satisfy one layer of the first resource requirements model, and determine the first host from the second set of hosts that satisfies two layer of the first resource requirements model.
For example, if there is no host in hosts 1-3 for which the resource information satisfies the resource requirement of the first application, the management node may determine the second set of hosts (e.g., hosts 4-8) from hosts 4-10 that satisfy one of the first resource requirement models, and determine the first host (e.g., host 4) from the second set of hosts that satisfy two of the first resource requirement models.
S14, determining the first allocation scheme, wherein the first allocation scheme is that the first application is run by the first host.
Continuing with the above example, the first allocation scheme is running application 1 by host 1, or the first allocation scheme is running application 1 by host 4.
S15, in some possible implementation manners, based on the first allocation scheme, updating the resource information of the first host in the host resource model to obtain an updated host resource model.
Illustratively, based on the one-layer resource model shown in table 1 and the one-layer demand model of table 5, or based on the simplified one-layer resource model shown in table 2 and the simplified one-layer demand model of table 7, it may be determined that the hosts satisfying the performance requirement 1 of the application 1 include the host 1 and the host 3, the hosts satisfying the performance requirement 2 of the application 2 include the host 2 and the host 4, and the hosts satisfying the performance requirement 3 of the application 3 include the host 3.
Further, based on the two-tier resource model shown in table 2 and the two-tier demand model of table 6, it can be determined that hosts that satisfy the performance demand 1 and the capacity demand 1 of the application 1 include the host 1 and the host 3. Then, the hosts meeting the resource requirement 1 of the application 1 include the host 1 and the host 3.
For example, if the host 1 is selected as the target host, the performance resource 1 of the host 1 is unchanged, but the available capacity resource 1 is updated as follows:
then the updated host resource model includes the performance resources as shown in table 1 or table 3, and the capacity resources as shown in table 8:
TABLE 8
In some possible implementations, after updating the resource information of the first host in the host resource model to obtain an updated host resource model, the host allocation scheme further includes a second allocation scheme, the at least one application includes a second application, and the at least one resource demand model includes a second resource demand model, and the second resource demand model is obtained by modeling information of the resource demand of the second application.
Then, the obtaining a host allocation scheme based on the host resource model and the at least one resource demand model may be implemented by:
S21, determining a second host from the hosts running the applications in the hosts based on the updated host resource model and the second resource demand model, wherein the second host is the host of which the resource information meets the resource demand of the second application.
S22, if the host with the resource information meeting the resource requirement of the second application does not exist in the hosts with the application running in the hosts, determining the second host from the hosts without the application running in the hosts based on the updated host resource model and the second resource requirement model.
S23, determining the second allocation scheme, wherein the second allocation scheme is that the second application is run by the second host.
Please refer to the foregoing S11, S13 and S14, and no description is given here.
Illustratively, the resource demand model is denoted by DM, the host resource model is denoted by SP, where dm= (dm_1, dm_2, …, dm_n), sp= (sp_1, sp_2, …, sp_m), dm_i denotes the resource demand i (i=1, 2, …, m), sp_i denotes the resource information i (i=1, 2, …, n), m is the number of applications, and n is the number of hosts. Then, the management node can calculate through a preset scheduling algorithm to obtain a host allocation scheme of each host in the server cluster. By way of example, the scheduling algorithm min_node (SP, DM) may be implemented by writing a specific script, which is not limited herein. Illustratively, min_node (SP, DM) is implemented based on writing a script to cause the management node to perform the following steps.
For example, a matrix algorithm f (), then Min (node) =f (DM, SP) may be designed to determine the hosts allocated by each application based on the host resource model and the resource demand model, so as to obtain a host allocation scheme, and thus, the resource information of each host in the server cluster may be maximally used, that is, the resource information of the hosts that have already run the application may be scheduled as much as possible, so that the number of used hosts in the server cluster is minimized, that is, the number of unused hosts is maximized, thereby improving the resource utilization of the server cluster. And will not be described in detail herein.
206. And the management node performs resource scheduling according to the host allocation scheme.
Through the steps, the fact that all the dm_1 to dm_n determine the corresponding running hosts is achieved, namely, the hosts allocated by all the applications are determined, and the number of the hosts running the applications is minimum in the obtained host allocation scheme. For example, continuing the above example, application 1 may be run on host 3, application 2 may be run on host 2, and application 3 may be run on host 3, so that host 1 and host 4 need not run these applications, i.e., 3 applications run on 2 hosts, thereby saving 1 host and improving resource utilization.
207. The management node updates the host resource model based on the host allocation scheme.
Optionally, after executing the host allocation scheme, updating the host resource model to obtain a new host resource model. In some possible implementations, the management node may retrieve the resource information of each host, and retrieve the new host resource model. In some possible implementations, the management node may also subtract the portion of the old host resource model that has been used in the host allocation scheme from the resource information of the corresponding host based on the host allocation scheme, and the remaining amount of resources is used as the new host resource model.
Illustratively, following the above example, application 1 may be run on host 3, application 2 may be run on host 2, and after application 3 is run on host 3, the performance resources in the host resource model remain as shown in either table 1 or table 3, while the capacity resources are updated from table 2 to as shown in table 9.
TABLE 9
In the embodiment of the application, the host computer of the running application is preferentially allocated to the at least one application in the host computer allocation scheme, so that the least number of host computers used for running the at least one application is realized, the resource utilization rate is improved, the operation cost is reduced, and the cost and efficiency are reduced.
It should be noted that, for simplicity of description, the foregoing method embodiments are all described as a series of acts, but it should be understood by those skilled in the art that the present application is not limited by the order of acts described, as some steps may be performed in other orders or concurrently in accordance with the present application. Further, those skilled in the art will also appreciate that the embodiments described in the specification are all preferred embodiments, and that the acts and modules referred to are not necessarily required for the present application.
In order to facilitate better implementation of the above-described aspects of embodiments of the present application, the following provides related devices for implementing the above-described aspects.
Referring to fig. 3, a server 300 according to an embodiment of the present application may include:
An acquiring module 301, configured to acquire resource information of a plurality of hosts;
The processing module 302 is further configured to model the resource information of the multiple hosts according to a host resource template, so as to obtain a host resource model;
the processing module 302 is further configured to obtain, when a resource request of at least one application is received, information about a resource requirement of the at least one application;
the processing module 302 is further configured to model information of resource requirements of the at least one application according to a resource requirement template, so as to obtain at least one resource requirement model;
A processing module 302, further configured to obtain a host allocation scheme based on the host resource model and the at least one resource demand model, where the host allocation scheme is used to represent a minimum number of hosts required to meet the resource demand of the at least one application;
The processing module 302 is further configured to perform resource scheduling according to the host allocation scheme.
In some possible implementations, the resource information includes performance resources and capacity resources, wherein the performance resources include one or more of a central processor CPU master, a graphics processor GPU master, a memory master, a network protocol, a hard disk type, and a host form, and/or the capacity resources include one or more of a CPU core number, a CPU power resource, a GPU core number, a GPU power resource, a memory capacity, a storage capacity, and a network bandwidth.
In some possible implementations, the resource information includes performance resources and capacity resources, and the host resource model includes a one-layer resource model and a two-layer resource model, where the one-layer resource model is used to record information of the performance resources of the plurality of hosts, and the two-layer resource model is used to record information of the capacity resources of the plurality of hosts;
And/or the resource demand model comprises a one-layer demand model and a two-layer demand model, wherein the one-layer demand model is used for recording information of the performance demand of the at least one application, and the two-layer demand model is used for recording information of the capacity demand of the at least one application.
In some possible implementations, the processing module 302 is further configured to:
Simplifying the one-layer resource model in the host resource model to obtain a simplified one-layer resource model; the information of each performance resource in the simplified one-layer resource model is obtained by mapping the information of each performance resource in the one-layer resource model based on a preset mapping table, and the information of each performance resource in the simplified one-layer resource model is high, medium or low; and/or the number of the groups of groups,
Simplifying the one-layer demand model to obtain a simplified one-layer demand model; and the information of each performance requirement in the simplified one-layer requirement model is obtained by mapping the information of each performance requirement in the one-layer resource model based on the preset mapping table, and the information of each performance requirement in the simplified one-layer requirement model is high, medium or low.
In some possible implementations, the host allocation scheme includes a first allocation scheme, the at least one application includes a first application, the at least one resource demand model includes a first resource demand model, and the first resource demand model is modeled by information of the resource demand of the first application;
the processing module 302 is specifically configured to:
If the hosts running the application exist in the hosts, determining a first host from the hosts running the application in the hosts based on the host resource model and the first resource demand model, wherein the first host is a host of which the resource information meets the resource demand of the first application;
If the host computer of which the resource information meets the resource requirement of the first application does not exist in the host computers of which the application is operated in the plurality of host computers, determining the first host computer from the host computers of which the application is not operated in the plurality of host computers based on the host computer resource model and the first resource requirement model;
determining the first allocation scheme, wherein the first allocation scheme is that the first application is executed by the first host.
In some possible implementations, the processing module 302 is further configured to:
And if the host which runs the application does not exist in the plurality of hosts, determining the first host from the hosts which do not run the application in the plurality of hosts based on the host resource model and the first resource demand model.
In some possible implementations, the processing module 302 is specifically configured to:
If the host running the application exists in the plurality of hosts, determining a first host from the hosts running the application in the plurality of hosts based on the host resource model and the first resource demand model includes:
determining the first host set meeting one layer of demand models in the first resource demand models from the hosts of the plurality of hosts running applications, and determining the first host meeting two layers of demand models in the first resource demand models from the first host set;
If there is no host running an application in the plurality of hosts, or if there is no host running an application in the plurality of hosts in which the resource information satisfies the resource requirement of the first application, determining the first host from hosts not running an application in the plurality of hosts based on the host resource model and the first resource requirement model includes:
Determining the second set of hosts from hosts in the plurality of hosts that do not run applications that satisfy one layer of demand models in the first resource demand model, and determining the first host from the second set of hosts that satisfy two layers of demand models in the first resource demand model.
In some possible implementations, the processing module 302 is further configured to:
And updating the resource information of the first host in the host resource model based on the first allocation scheme to obtain an updated host resource model.
In some possible implementations, the host allocation scheme further includes a second allocation scheme, the at least one application includes a second application, and the at least one resource demand model includes a second resource demand model, the second resource demand model being modeled from information of the resource demand of the second application;
the processing module 302 is further configured to:
Determining a second host from hosts running applications in the hosts based on the updated host resource model and the second resource demand model, wherein the second host is a host for which the resource information meets the resource demands of the second application;
if the host computer of the application running in the plurality of host computers does not have the host computer of which the resource information meets the resource requirement of the second application, determining the second host computer from the host computers of the application not running in the plurality of host computers based on the updated host computer resource model and the second resource requirement model;
determining the second allocation scheme, wherein the second allocation scheme is that the second application is executed by the second host.
It should be noted that, because the content of information interaction and execution process between the modules/units of the above-mentioned device is based on the same concept as the method embodiment of the present application, the technical effects brought by the content are the same as the method embodiment of the present application, and the specific content can be referred to the description in the foregoing illustrated method embodiment of the present application, which is not repeated herein.
The embodiment of the application also provides a computer storage medium, wherein the computer storage medium stores a program, and the program executes part or all of the steps described in the embodiment of the method.
Referring to fig. 4, referring to another communication device provided in the embodiment of the present application, a communication device 400 includes:
A receiver 401, a transmitter 402, a processor 403 and a memory 404. In some embodiments of the application, the receiver 401, transmitter 402, processor 403, and memory 404 may be connected by a bus or otherwise, where a bus connection is illustrated in FIG. 4.
Memory 404 may include read only memory and random access memory and provides instructions and data to processor 403. A portion of memory 404 may also include non-volatile random access memory (non-volatile random access memory, NVRAM). The memory 404 stores an operating system and operating instructions, executable modules or data structures, or a subset thereof, or an extended set thereof, where the operating instructions may include various operating instructions for performing various operations. The operating system may include various system programs for implementing various underlying services and handling hardware-based tasks.
Processor 403 controls the operation of communication device 400, processor 403 may also be referred to as a central processing unit (central processing unit, CPU). In a specific application, the various components of the communications device 400 are coupled together by a bus system, which may include a power bus, a control bus, a status signal bus, and the like, in addition to a data bus. For clarity of illustration, however, the various buses are referred to in the figures as bus systems.
The method disclosed in the above embodiment of the present application may be applied to the processor 403 or implemented by the processor 403. Processor 403 may be an integrated circuit chip with signal processing capabilities. In implementation, the steps of the above method may be performed by integrated logic circuits of hardware in the processor 403 or by instructions in the form of software. The processor 403 may be a general purpose processor, a Digital Signal Processor (DSP), an Application SPECIFIC INTEGRATED Circuit (ASIC), a field-programmable gate array (FPGA) or other programmable logic device, discrete gate or transistor logic device, discrete hardware components. The disclosed methods, steps, and logic blocks in the embodiments of the present application may be implemented or performed. A general purpose processor may be a microprocessor or the processor may be any conventional processor or the like. The steps of the method disclosed in connection with the embodiments of the present application may be embodied directly in the execution of a hardware decoding processor, or in the execution of a combination of hardware and software modules in a decoding processor. The software modules may be located in a random access memory, flash memory, read only memory, programmable read only memory, or electrically erasable programmable memory, registers, etc. as well known in the art. The storage medium is located in a memory 404, and the processor 403 reads the information in the memory 404 and, in combination with its hardware, performs the steps of the method described above.
The receiver 401 may be used to receive input digital or character information and generate signal inputs related to related settings and function control, the transmitter 402 may include a display device such as a display screen, and the transmitter 402 may be used to output digital or character information through an external interface.
In the embodiment of the present application, the processor 403 is configured to execute the foregoing resource scheduling method.
In another possible design, when the server 300 or the communication device 400 is a chip, it includes: a processing unit, which may be, for example, a processor, and a communication unit, which may be, for example, an input/output interface, pins or circuitry, etc. The processing unit may execute the computer-executable instructions stored in the storage unit to cause the chip in the terminal to perform the method for transmitting wireless report information according to any one of the above first aspects. Alternatively, the storage unit is a storage unit in the chip, such as a register, a cache, or the like, and the storage unit may also be a storage unit in the terminal located outside the chip, such as a read-only memory (ROM) or other type of static storage device that may store static information and instructions, a random access memory (random access memory, RAM), or the like.
The processor mentioned in any of the above may be a general-purpose central processing unit, a microprocessor, an ASIC, or one or more integrated circuits for controlling the execution of the programs of the above method.
It should be further noted that the above-described apparatus embodiments are merely illustrative, and that the units described as separate units may or may not be physically separate, and that units shown as units may or may not be physical units, may be located in one place, or may be distributed over a plurality of network units. Some or all of the modules may be selected according to actual needs to achieve the purpose of the solution of this embodiment. In addition, in the drawings of the embodiment of the device provided by the application, the connection relation between the modules represents that the modules have communication connection, and can be specifically implemented as one or more communication buses or signal lines.
From the above description of the embodiments, it will be apparent to those skilled in the art that the present application may be implemented by means of software plus necessary general purpose hardware, or of course by means of special purpose hardware including application specific integrated circuits, special purpose CPUs, special purpose memories, special purpose components, etc. Generally, functions performed by computer programs can be easily implemented by corresponding hardware, and specific hardware structures for implementing the same functions can be varied, such as analog circuits, digital circuits, or dedicated circuits. But a software program implementation is a preferred embodiment for many more of the cases of the present application. Based on such understanding, the technical solution of the present application may be embodied essentially or in a part contributing to the prior art in the form of a software product stored in a readable storage medium, such as a floppy disk, a usb disk, a removable hard disk, a ROM, a RAM, a magnetic disk or an optical disk of a computer, etc., including several instructions for causing a computer device (which may be a personal computer, a server, or a network device, etc.) to execute the method according to the embodiments of the present application.
In the above embodiments, it may be implemented in whole or in part by software, hardware, firmware, or any combination thereof. When implemented in software, may be implemented in whole or in part in the form of a computer program product.
The computer program product includes one or more computer instructions. When loaded and executed on a computer, produces a flow or function in accordance with embodiments of the present application, in whole or in part. The computer may be a general purpose computer, a special purpose computer, a computer network, or other programmable apparatus. The computer instructions may be stored in a computer-readable storage medium or transmitted from one computer-readable storage medium to another computer-readable storage medium, for example, the computer instructions may be transmitted from one website, computer, server, or data center to another website, computer, server, or data center by a wired (e.g., coaxial cable, fiber optic, digital Subscriber Line (DSL)) or wireless (e.g., infrared, wireless, microwave, etc.). The computer readable storage medium may be any available medium that can be stored by a computer or a data storage device such as a server, data center, etc. that contains an integration of one or more available media. The usable medium may be a magnetic medium (e.g., floppy disk, hard disk, tape), an optical medium (e.g., DVD), or a semiconductor medium (e.g., solid state disk (Solid STATE DISK, SSD)), etc.

Claims (10)

1. A method for scheduling resources, comprising:
Acquiring resource information of a plurality of hosts;
modeling the resource information of the plurality of hosts according to a host resource template to obtain a host resource model;
acquiring information of resource requirements of at least one application under the condition that a resource request of the at least one application is received;
Modeling the information of the resource requirements of the at least one application according to the resource requirement template to obtain at least one resource requirement model;
obtaining a host allocation scheme based on the host resource model and the at least one resource demand model, wherein the host allocation scheme is used for representing the minimum number of hosts required for meeting the resource demand of the at least one application;
and carrying out resource scheduling according to the host allocation scheme.
2. The method of claim 1, wherein the resource information comprises performance resources and capacity resources, wherein the performance resources comprise one or more of a central processor CPU master frequency, a graphics processor GPU master frequency, a memory master frequency, a network protocol, a hard disk type, and a host form, and/or the capacity resources comprise one or more of a CPU core number, a CPU power resource, a GPU core number, a GPU power resource, a memory capacity, a storage capacity, and a network bandwidth.
3. The method of claim 1, wherein the resource information comprises performance resources and capacity resources, and the host resource model comprises a one-tier resource model for recording information of the performance resources of the plurality of hosts and a two-tier resource model for recording information of the capacity resources of the plurality of hosts;
And/or the resource demand model comprises a one-layer demand model and a two-layer demand model, wherein the one-layer demand model is used for recording information of the performance demand of the at least one application, and the two-layer demand model is used for recording information of the capacity demand of the at least one application.
4. A method according to claim 3, wherein the method further comprises:
Simplifying the one-layer resource model in the host resource model to obtain a simplified one-layer resource model; the information of each performance resource in the simplified one-layer resource model is obtained by mapping the information of each performance resource in the one-layer resource model based on a preset mapping table, and the information of each performance resource in the simplified one-layer resource model is high, medium or low; and/or the number of the groups of groups,
Simplifying the one-layer demand model to obtain a simplified one-layer demand model; and the information of each performance requirement in the simplified one-layer requirement model is obtained by mapping the information of each performance requirement in the one-layer resource model based on the preset mapping table, and the information of each performance requirement in the simplified one-layer requirement model is high, medium or low.
5. The method of claim 3 or 4, wherein the host allocation scheme comprises a first allocation scheme, the at least one application comprises a first application, the at least one resource demand model comprises a first resource demand model modeled from information of the resource demand of the first application;
the obtaining a host allocation scheme based on the host resource model and the at least one resource demand model includes:
If the hosts running the application exist in the hosts, determining a first host from the hosts running the application in the hosts based on the host resource model and the first resource demand model, wherein the first host is a host of which the resource information meets the resource demand of the first application;
If the host computer of which the resource information meets the resource requirement of the first application does not exist in the host computers of which the application is operated in the plurality of host computers, determining the first host computer from the host computers of which the application is not operated in the plurality of host computers based on the host computer resource model and the first resource requirement model;
determining the first allocation scheme, wherein the first allocation scheme is that the first application is executed by the first host.
6. The method of claim 5, wherein prior to said determining said first allocation scheme, said method further comprises:
And if the host which runs the application does not exist in the plurality of hosts, determining the first host from the hosts which do not run the application in the plurality of hosts based on the host resource model and the first resource demand model.
7. The method of claim 6, wherein the step of providing the first layer comprises,
If the host running the application exists in the plurality of hosts, determining a first host from the hosts running the application in the plurality of hosts based on the host resource model and the first resource demand model includes:
determining the first host set meeting one layer of demand models in the first resource demand models from the hosts of the plurality of hosts running applications, and determining the first host meeting two layers of demand models in the first resource demand models from the first host set;
If there is no host running an application in the plurality of hosts, or if there is no host running an application in the plurality of hosts in which the resource information satisfies the resource requirement of the first application, determining the first host from hosts not running an application in the plurality of hosts based on the host resource model and the first resource requirement model includes:
Determining the second set of hosts from hosts in the plurality of hosts that do not run applications that satisfy one layer of demand models in the first resource demand model, and determining the first host from the second set of hosts that satisfy two layers of demand models in the first resource demand model.
8. The method according to any one of claims 5-7, further comprising:
And updating the resource information of the first host in the host resource model based on the first allocation scheme to obtain an updated host resource model.
9. The method of claim 8, wherein the host allocation scheme further comprises a second allocation scheme, the at least one application comprises a second application, the at least one resource demand model comprises a second resource demand model modeled from information of the resource demand of the second application;
the obtaining a host allocation scheme based on the host resource model and the at least one resource demand model includes:
Determining a second host from hosts running applications in the hosts based on the updated host resource model and the second resource demand model, wherein the second host is a host for which the resource information meets the resource demands of the second application;
if the host computer of the application running in the plurality of host computers does not have the host computer of which the resource information meets the resource requirement of the second application, determining the second host computer from the host computers of the application not running in the plurality of host computers based on the updated host computer resource model and the second resource requirement model;
determining the second allocation scheme, wherein the second allocation scheme is that the second application is executed by the second host.
10. A server comprising at least one processor and memory;
the at least one processor is coupled with the memory;
the memory is for storing instructions, the processor is for executing the instructions,
The instructions, when executed by the at least one processor, cause the at least one processor to perform the method of any of claims 1-9.
CN202311840997.7A 2023-12-28 2023-12-28 Resource scheduling method and related equipment Pending CN118012603A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311840997.7A CN118012603A (en) 2023-12-28 2023-12-28 Resource scheduling method and related equipment

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311840997.7A CN118012603A (en) 2023-12-28 2023-12-28 Resource scheduling method and related equipment

Publications (1)

Publication Number Publication Date
CN118012603A true CN118012603A (en) 2024-05-10

Family

ID=90945345

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311840997.7A Pending CN118012603A (en) 2023-12-28 2023-12-28 Resource scheduling method and related equipment

Country Status (1)

Country Link
CN (1) CN118012603A (en)

Similar Documents

Publication Publication Date Title
US10409628B2 (en) Managing virtual machine instances utilizing an offload device
US10768972B2 (en) Managing virtual machine instances utilizing a virtual offload device
US11461149B1 (en) Capacity management in provider networks using dynamic host device instance model reconfigurations
US20190250946A1 (en) Migrating a software container taking into account resource constraints
WO2019148854A1 (en) Method and device for deploying virtualized network element device
US10860353B1 (en) Migrating virtual machines between oversubscribed and undersubscribed compute devices
CN113939803B (en) Managing computing resource placement as a service for a dedicated host
WO2023050819A1 (en) System on chip, virtual machine task processing method and device, and storage medium
WO2022143714A1 (en) Server system, and virtual machine creation method and apparatus
US11886898B2 (en) GPU-remoting latency aware virtual machine migration
US11347541B2 (en) Methods and apparatus for virtual machine rebalancing
KR101640231B1 (en) Cloud Driving Method for supporting auto-scaled Hadoop Distributed Parallel Processing System
US20230244601A1 (en) Computer memory management in computing devices
WO2022078060A1 (en) Tag-driven scheduling of computing resources for function execution
US11868805B2 (en) Scheduling workloads on partitioned resources of a host system in a container-orchestration system
CN118012603A (en) Resource scheduling method and related equipment
US11663026B2 (en) Allocation of accelerator resources based on job type
US11128701B1 (en) Cooperative preemption in a distributed multi-tenant resource pool
US9176910B2 (en) Sending a next request to a resource before a completion interrupt for a previous request
US11036537B1 (en) On demand capacity management in provider networks using type-agnostic resources
US11924336B1 (en) Cryptographic artifact generation using virtualized security modules
US20200174814A1 (en) Systems and methods for upgrading hypervisor locally
CN110704163A (en) Server and virtual storage method and device thereof
CN113950670A (en) Method, device and system for resource sharing of high-performance peripheral component interconnection equipment in cloud environment

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination