CN114911618A - Heterogeneous resource allocation method and device, electronic equipment and storage medium - Google Patents

Heterogeneous resource allocation method and device, electronic equipment and storage medium Download PDF

Info

Publication number
CN114911618A
CN114911618A CN202210516665.2A CN202210516665A CN114911618A CN 114911618 A CN114911618 A CN 114911618A CN 202210516665 A CN202210516665 A CN 202210516665A CN 114911618 A CN114911618 A CN 114911618A
Authority
CN
China
Prior art keywords
resource
heterogeneous
target user
resources
target
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202210516665.2A
Other languages
Chinese (zh)
Other versions
CN114911618B (en
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.)
China Telecom Corp Ltd
Original Assignee
China Telecom Corp 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 China Telecom Corp Ltd filed Critical China Telecom Corp Ltd
Priority to CN202210516665.2A priority Critical patent/CN114911618B/en
Publication of CN114911618A publication Critical patent/CN114911618A/en
Application granted granted Critical
Publication of CN114911618B publication Critical patent/CN114911618B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/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
    • 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/5061Partitioning or combining of resources
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

The disclosure provides a heterogeneous resource allocation method, a heterogeneous resource allocation device, electronic equipment and a storage medium, and relates to the technical field of computers. The method comprises the following steps: receiving a resource allocation request sent by a target user to a heterogeneous cluster, wherein the target user is a user with the lowest current resource occupancy rate in the heterogeneous cluster, and the current resource occupancy rate is obtained based on preset performance weight calculation; responding to the resource allocation request, and acquiring a target resource demand of a target user, wherein the target resource demand is the resource demand of a task to be executed by the target user; and if the target resource demand is less than or equal to the total amount of the idle resources of the corresponding type in the heterogeneous cluster, randomly selecting the idle resources and distributing the idle resources to the target user so that the target user can acquire the resources meeting the target resource demand. The method and the device can allocate the resources in the cluster according to the actual performance of equipment operation, and the fairness of resource allocation is ensured.

Description

Heterogeneous resource allocation method and device, electronic equipment and storage medium
Technical Field
The present disclosure relates to the field of computer technologies, and in particular, to a method and an apparatus for allocating heterogeneous resources, an electronic device, and a storage medium.
Background
The fairness of the distribution of various resources in the big data cluster environment is one of the most important indexes for considering the resource scheduling subsystem, and the basic rights and interests of users cannot be damaged only by ensuring the fairness of the resource scheduling method, so that a foundation is laid for the realization of the resource scheduling by adding user weights and sub-user weights.
At present, a common method is to fairly distribute multiple resources in a cluster according to a Dominant Resource Fairness (DRF) distribution algorithm, but the DRF distribution algorithm only concerns the quantity of distributed resources, such as the number of cores of a CPU, the size of a memory, and the like, and does not consider performance gaps between resources, so that distribution may lose Fairness when heterogeneous resources exist in the cluster. Specifically, in an actual big data cluster environment, devices may not be purchased at the same time, and there are differences between device brands and models, for example, the main frequency of the CPU, the read rate of the memory, and the rotation speed of the disk may be different. In the actual resource allocation process, even if the same amount of resources are allocated, due to performance difference between the devices, the allocation scheme has a counter-fairness principle and has a gap from the expected effect.
It is to be noted that the information disclosed in the above background section is only for enhancement of understanding of the background of the present disclosure, and thus may include information that does not constitute prior art known to those of ordinary skill in the art.
Disclosure of Invention
The present disclosure provides a method, an apparatus, an electronic device and a storage medium for allocating heterogeneous resources, which overcome, at least to a certain extent, the problem of unfair allocation caused by only considering the number of resources during the allocation of heterogeneous resources in the related art.
Additional features and advantages of the disclosure will be set forth in the detailed description which follows, or in part will be obvious from the description, or may be learned by practice of the disclosure.
According to an aspect of the present disclosure, there is provided a heterogeneous resource allocation method, including:
receiving a resource allocation request sent by a target user to a heterogeneous cluster, wherein the target user is a user with the lowest current resource occupancy rate in the heterogeneous cluster, and the current resource occupancy rate is obtained based on preset performance weight calculation;
responding to the resource allocation request, and acquiring a target resource demand of the target user, wherein the target resource demand is a resource demand of a task to be executed by the target user;
and if the target resource demand is less than or equal to the total amount of idle resources of the corresponding type in the heterogeneous cluster, randomly selecting the idle resources and distributing the idle resources to the target user so that the target user can acquire the resources meeting the target resource demand.
In one embodiment of the present disclosure, after randomly selecting an idle resource and allocating the idle resource to a target user, so that the target user acquires a resource that meets the target resource demand, the method includes:
and updating the current resource occupancy rate of the target user according to the preset performance weight.
In one embodiment of the present disclosure, the heterogeneous cluster includes multiple types of resources;
the updating the current resource occupancy rate of the target user according to the preset performance weight specifically includes:
calculating the heterogeneous resource occupancy rate corresponding to each type of resource occupied by the target user according to the preset performance weight;
and taking the maximum value of the heterogeneous resource occupancy rates of the target user for each type of resource as the current resource occupancy rate of the target user.
In an embodiment of the present disclosure, calculating, according to a preset performance weight, heterogeneous resource occupancy rates corresponding to each type of resource occupied by the target user respectively includes:
according to the preset performance weight, carrying out weighted summation on heterogeneous resources of the same type occupied by the target user to obtain a first weighted sum; according to the preset performance weight, carrying out weighted summation on the heterogeneous resources of the corresponding types in the heterogeneous cluster to obtain a second weighted sum;
and taking the ratio of the first weighted sum and the second weighted sum of each type of resource as the heterogeneous resource occupancy rate corresponding to each type of resource.
In an embodiment of the present disclosure, the preset performance weight is generated based on resource performance, and a size of the preset performance weight is directly proportional to the resource performance.
In one embodiment of the disclosure, when a plurality of users with the lowest resource occupancy rates exist in the heterogeneous cluster, a user with the lowest resource occupancy rate is randomly selected as a target user.
In an embodiment of the present disclosure, after updating the current resource occupancy of the target user according to a preset performance weight, the method further includes:
and repeatedly receiving a resource allocation request sent by the target user to the heterogeneous cluster, updating the current resource occupancy rate of the target user after resource allocation is carried out, and ending the resource allocation until the target resource demand of the target user is greater than the total amount of idle resources in the heterogeneous cluster.
According to another aspect of the present disclosure, there is provided a heterogeneous resource allocation apparatus, including:
the request receiving module is used for receiving a resource allocation request sent by a target user to the heterogeneous cluster, wherein the target user is the user with the lowest current resource occupancy rate in the heterogeneous cluster, and the current resource occupancy rate is obtained based on preset performance weight calculation;
a demand obtaining module, configured to obtain a target resource demand of the target user in response to the resource allocation request, where the target resource demand is a resource demand of a task to be executed by the target user;
and the resource allocation module is used for randomly selecting idle resources and allocating the idle resources to the target user when the target resource demand is less than or equal to the total amount of the idle resources of the corresponding type in the heterogeneous cluster, so that the target user can acquire the resources meeting the target resource demand.
According to still another aspect of the present disclosure, there is provided an electronic device including:
a processor; and
a memory for storing executable instructions of the processor; wherein the processor is configured to perform the above-described heterogeneous resource allocation method via execution of the executable instructions.
According to yet another aspect of the present disclosure, there is provided a computer readable storage medium having stored thereon a computer program which, when executed by a processor, implements the heterogeneous resource allocation method described above.
The heterogeneous resource allocation method, the heterogeneous resource allocation device, the electronic device and the storage medium provided by the embodiment of the disclosure refine performance management of heterogeneous resources in a cluster by introducing the preset performance weight on the basis of a maximum-minimum Fairness (Max-min fair) allocation principle, and correspondingly calculate resource occupancy rate of a user on the basis of the preset performance weight, so that resources in the cluster are allocated according to actual performance of device operation, and Fairness of resource allocation is ensured.
It is to be understood that both the foregoing general description and the following detailed description are exemplary and explanatory only and are not restrictive of the disclosure.
Drawings
The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate embodiments consistent with the present disclosure and together with the description, serve to explain the principles of the disclosure. It is to be understood that the drawings in the following description are merely exemplary of the disclosure, and that other drawings may be derived from those drawings by one of ordinary skill in the art without the exercise of inventive faculty.
Fig. 1 is a schematic diagram illustrating a heterogeneous cluster system architecture in an embodiment of the present disclosure;
fig. 2 is a flowchart illustrating a method for allocating heterogeneous resources according to an embodiment of the present disclosure;
fig. 3 is a flowchart illustrating a current resource occupancy acquisition method in an embodiment of the present disclosure;
FIG. 4 is a flowchart illustrating a method for calculating occupancy of heterogeneous resources according to an embodiment of the present disclosure;
fig. 5 is a schematic diagram illustrating an application scenario of heterogeneous resource allocation in an embodiment of the present disclosure;
fig. 6 is a schematic diagram illustrating a heterogeneous resource allocation apparatus in an embodiment of the present disclosure; and
fig. 7 shows a block diagram of an electronic device in an embodiment of the present disclosure.
Detailed Description
Example embodiments will now be described more fully with reference to the accompanying drawings. Example embodiments may, however, be embodied in many different forms and should not be construed as limited to the examples set forth herein; rather, these embodiments are provided so that this disclosure will be thorough and complete, and will fully convey the concept of example embodiments to those skilled in the art. The described features, structures, or characteristics may be combined in any suitable manner in one or more embodiments.
Furthermore, the drawings are merely schematic illustrations of the present disclosure and are not necessarily drawn to scale. The same reference numerals in the drawings denote the same or similar parts, and thus their repetitive description will be omitted. Some of the block diagrams shown in the figures are functional entities and do not necessarily correspond to physically or logically separate entities. These functional entities may be implemented in the form of software, or in one or more hardware modules or integrated circuits, or in different networks and/or processor devices and/or microcontroller devices.
For the sake of understanding, the following first presents a summary of the disclosure in relation to the background art and thereby introduces the inventive concepts of the disclosure.
Heterogeneous clusters, which refer to high performance computing systems comprised of multiple computing nodes of different types, each computing node may be any device with computing capabilities to provide computing power for user tasks. The computing nodes in the cluster are open, users can freely add or delete nodes, tasks with different requirements can be freely submitted to any computing node, and the computing nodes of the whole cluster are shared by all the users. Heterogeneous clusters can be classified into type heterogeneous clusters and resource heterogeneous clusters. Type heterogeneity refers to different Instruction Set Architectures (ISAs) and different Operating System (OS) types that each compute node has; resource heterogeneity refers to the difference in the amount of resources (mainly CPU, memory, and read/write resources) owned by or performance of each compute node, and a heterogeneous cluster in the present disclosure mainly refers to a cluster of resource heterogeneity. It should be understood that, based on the same inventive concept, the method provided by the present disclosure can also be applied to the type heterogeneous cluster on the premise that the preset performance weight can be determined.
The DRF allocation algorithm is a general maximum and minimum fair allocation strategy of multiple resources, and the core idea is that the resource allocation of one user is determined by the dominant share of resources of the user in multiple environments. The dominant share of a resource is one that occupies the largest share among all of the various resources that have been allocated to a user. In short, the DRF allocation algorithm attempts to maximize the smallest dominant share among all users. It is worth noting that, when the DRF allocation algorithm allocates resources, since only the share of the users for the resources, that is, the occupation ratio of the users on the number of the resources, is considered, in a cluster with resource heterogeneity, the fairness of allocation measured by the number of the resources still causes a large difference in computational power obtained between different users, so that the final allocation result cannot reach the expectation.
In order to solve the technical problem, according to the scheme provided by the disclosure, a heterogeneous cluster receives a resource allocation request sent by a target user to the heterogeneous cluster; then responding to the resource allocation request by the heterogeneous cluster, and acquiring the target resource demand of the target user; and if the target resource demand is less than or equal to the total amount of the idle resources of the corresponding type in the heterogeneous cluster, randomly selecting the idle resources and distributing the idle resources to the target user so that the target user can acquire the resources meeting the target resource demand. The target user in the present disclosure is a user with the lowest current resource occupancy rate in the heterogeneous cluster, the current resource occupancy rate is obtained by calculation based on the preset performance weight of the resource in the heterogeneous cluster, and the resource performance is distinguished by introducing the preset performance weight, so that the present disclosure can implement computational fairness allocation.
Fig. 1 is a schematic diagram illustrating an exemplary system architecture of a heterogeneous resource allocation method or a heterogeneous resource allocation apparatus, which may be applied to the embodiments of the present disclosure.
As shown in fig. 1, heterogeneous cluster architecture 100 includes multiple types of computing nodes 102 (collectively three differently configured computing nodes are shown) interconnected in a network 101, with which computing nodes 102 local computing devices used by users (e.g., Personal Digital Assistants (PDAs) or cellular telephones 103, desktop computers 104, laptop computers 105, and/or automobile computer systems 106) can communicate. The computing nodes 102 may also communicate with each other. They may be grouped (not shown) physically or virtually in one or more networks to form different types of clusters according to traffic demand, such as highly available clusters, load balancing clusters, high performance computing clusters, or a combination thereof.
It should be appreciated that the types of local computing devices 103, 104, 105, 106 used by users shown in FIG. 1 are intended to be illustrative only, and that computing node 102 and heterogeneous cluster architecture 100 may communicate with any type of computerized device over any type of network and/or network addressable connection (e.g., using a web browser).
Those skilled in the art will appreciate that the number of computing nodes, networks, and local computing devices in FIG. 1 is merely illustrative and that there may be any number of computing nodes, networks, and local computing devices, as desired. The embodiments of the present disclosure are not limited thereto.
The present exemplary embodiment will be described in detail below with reference to the drawings and examples.
First, the embodiments of the present disclosure provide a heterogeneous resource allocation method, which may be executed by any electronic device with computing processing capability.
Fig. 2 shows a flowchart of a heterogeneous resource allocation method in an embodiment of the present disclosure, and as shown in fig. 2, the heterogeneous resource allocation method provided in the embodiment of the present disclosure includes the following steps:
s202, receiving a resource allocation request sent by a target user to the heterogeneous cluster, wherein the target user is a user with the lowest current resource occupancy rate in the heterogeneous cluster, and the current resource occupancy rate is obtained based on preset performance weight calculation.
It should be noted that the resource allocation request includes at least one task to be executed by the target user; the task to be executed may be a task that the target user is not currently starting to execute but is about to execute, or may be a task that the target user is executing but currently has insufficient resources to complete.
It should be noted that the resource demand information carries a demand amount of the target user for at least one type of resource, and may specifically include type information and amount information of the demand resource.
In some embodiments, the target users are obtained by cluster screening, and the users with the lowest current resource occupancy rates are selected as the target users by comparing the current resource occupancy rates of the users in the current cluster.
Specifically, the current resource occupancy of each user in the heterogeneous cluster may be calculated and updated each time the cluster allocates resources for the target user, where the resource occupancy of users that are not allocated resources may be initially 0.
In some embodiments, when a plurality of users with the lowest resource occupancy rate exist in the heterogeneous cluster, a user with the lowest resource occupancy rate is randomly selected as the target user.
It should be noted that, since the resources occupied by the users in the cluster are usually of multiple types, in order to balance the influence of different types of resources on the fairness of allocation, for each user in the cluster, the maximum value of the heterogeneous resource occupancy rates of the user for the different types of resources may be selected as the current resource occupancy rate of the user.
Specifically, the calculation method of the heterogeneous resource occupancy rate is as follows: according to the preset performance weight, carrying out weighted summation on heterogeneous resources of the same type occupied by a target user to obtain a first weighted sum; according to the preset performance weight, carrying out weighted summation on the heterogeneous resources of the corresponding types in the heterogeneous cluster to obtain a second weighted sum; and taking the ratio of the first weighted sum and the second weighted sum of each type of resource as the heterogeneous resource occupancy rate corresponding to each type of resource.
It should be understood that when a user occupies a single type of resource, the same calculation method can be used to calculate the heterogeneous resource occupancy rate of the type of resource, and the heterogeneous resource occupancy rate of the type of resource is directly used as the current resource occupancy rate of the user.
It should be noted that the preset performance weight of the heterogeneous resource is positively correlated to the performance of the unit heterogeneous resource, and is independent of the size or the number of the heterogeneous resources.
In some embodiments, the preset performance weights of the heterogeneous resources may be set according to the performance ratio of the heterogeneous resources of the same type, for example, when there are CPUs with dominant frequencies of 1.6GHz, 2.0GHz, and 2.4GHz in the cluster, the preset performance weights of the three may be set to 1.6, 2.0, and 2.4, respectively, and for convenience of calculation and statistics, the preset performance weights of the three may also be set to 4, 5, and 6, respectively.
It should be noted that, the measurement method for the performance of the heterogeneous resources is not limited to the operation frequency, and different instruction sets, processes, architectures, and the like between the heterogeneous resources may be considered as the consideration factors of the preset performance weight, which is not limited in the embodiments of the present disclosure.
S204, responding to the resource allocation request, and acquiring the target resource demand of the target user, wherein the target resource demand is the resource demand of the task to be executed by the target user.
It should be noted that, after receiving the resource allocation request of the target user, the heterogeneous cluster may obtain the target resource demand of the target user by analyzing the resource allocation request of the target user.
In some embodiments, the target resource demand may be the amount of resources necessary for the target user to perform the next task.
In some embodiments, the resource required in the target resource demand may be one type of resource (e.g., CPU) or multiple types of resources (e.g., CPU, memory, and hard disk), which is not limited in this disclosure.
S206, if the target resource demand is less than or equal to the total amount of the idle resources of the corresponding types in the heterogeneous cluster, randomly selecting the idle resources and distributing the idle resources to the target user, so that the target user can acquire the resources meeting the target resource demand.
It should be noted that, when multiple types of resources are included in the target resource demand, the multiple types of resources should be compared respectively. And if the resource demand of each type is less than or equal to the total amount of the idle resources of the corresponding type in the heterogeneous cluster, randomly selecting the idle resources on any equipment in the heterogeneous cluster and distributing the idle resources to the target user.
It should be noted that, after each resource allocation is finished, the current resource occupancy rate of the target user needs to be updated because the resource occupied by the target user changes.
In some embodiments, by repeatedly performing the above steps S202 to S206, resource allocation may be performed multiple times until the target resource demand of the target user is greater than the total amount of free resources in the heterogeneous cluster, and the resource allocation is ended.
It should be noted that, in the process of repeated execution, since the current resource occupancy rate of the users in the cluster changes after each resource allocation, and since the target user is the user with the lowest current resource occupancy rate, the target user at each time of starting a new allocation round may also change accordingly.
Fig. 3 is a flowchart illustrating a method for acquiring current resource occupancy in an embodiment of the present disclosure, where the method provided in this embodiment is applied to a heterogeneous cluster in which multiple types of resources exist, and as shown in fig. 3, the method for acquiring current resource occupancy in the embodiment of the present disclosure includes the following steps:
and S302, calculating the heterogeneous resource occupancy rates corresponding to each type of resource occupied by the target user according to the preset performance weight.
S304, taking the maximum value in the heterogeneous resource occupancy rates of the target user for each type of resource as the current resource occupancy rate of the target user.
Since the implementation manner and technical effect of the embodiment of the present disclosure are similar to those of the heterogeneous resource allocation method shown in fig. 2, repeated descriptions are omitted.
Fig. 4 further shows a flowchart of a method for calculating occupancy rate of heterogeneous resources in the embodiment of the present disclosure, and as shown in fig. 4, the method for calculating occupancy rate of heterogeneous resources in the embodiment of the present disclosure includes the following steps:
s402, carrying out weighted summation on heterogeneous resources of the same type occupied by a target user according to a preset performance weight to obtain a first weighted sum; and according to the preset performance weight, carrying out weighted summation on the corresponding type of heterogeneous resources in the heterogeneous cluster to obtain a second weighted sum.
S404, taking the ratio of the first weighted sum and the second weighted sum of each type of resource as the heterogeneous resource occupancy rate corresponding to each type of resource.
Since the implementation manner and technical effect of the embodiment of the present disclosure are similar to those of the heterogeneous resource allocation method shown in fig. 2, repeated descriptions are omitted.
For convenience of understanding, an embodiment will be provided below, which describes the heterogeneous resource allocation method and the calculation process of the current resource occupancy rate of the target user, in conjunction with specific parameters in the heterogeneous resource allocation process.
In the embodiment of the present disclosure, it is assumed that there are P devices, m resources, and n users in a heterogeneous cluster, where i is used to represent a device, i is greater than or equal to 1 and less than or equal to P, j is used to represent a resource type, j is greater than or equal to 1 and less than or equal to m, k is used to represent a user, k is greater than or equal to 1 and less than or equal to n, and user h (i.e., k is h) is set as a target user.
Based on the above assumptions, the following matrices and vectors are defined:
R Pm (r ij ) Is a P x m dimensional matrix used for representing the total amount of resources in the heterogeneous cluster, and an element r in the matrix ij Representing the total amount of j-type resources on device i.
A Pm (a ij ) Is a P x m dimensional matrix for representing preset performance weight of the resource, and an element a in the matrix ij For representing preset performance weights for j-type resources on device i.
C Pm (c ij ) Is a P x m dimensional matrix used for representing the resource occupation amount of each device in the heterogeneous cluster, and an element c in the matrix ij Which is used to represent the occupation of j-type resources on device i, and is initially 0.
U nm (u kj ) Is an n x m dimensional matrix used for representing the resource occupation quantity of each user in the heterogeneous cluster, and the matrix is provided with a plurality of nodesElement u of kj Which is used to represent the occupation of j-type resources by user k, and is initially 0.
S n (s k ) Is an n-dimensional vector used for representing the current resource occupancy rate of each user in the heterogeneous cluster, and different elements s in the vector k Respectively used for representing the current resource occupancy rate of the users k in the heterogeneous cluster, and is initially 0, wherein s h Current resource occupancy for target users, i.e. S n (s k ) The smallest element in the vector.
On this premise, after the heterogeneous cluster acquires the target resource demand D of the target user h, it is first determined whether the idle resource amount in the heterogeneous cluster can satisfy the target resource demand, and based on the above description, equation (1) can be obtained.
Figure BDA0003639939370000101
If the free resource quantity in the heterogeneous cluster can meet the target resource demand quantity, namely the inequality is satisfied, then randomly extracting the resource quantity W from the heterogeneous cluster Pm (w ij ) Wherein W is Pm (w ij ) Is a P x m dimensional matrix used for representing the resource amount distributed to the target users by the heterogeneous cluster, and an element w in the matrix ij The resource amount used to extract j type from device i is shown in the following formula (2).
Figure BDA0003639939370000102
It should be noted that, in the above equations (1) and (2), when the target resource demand D includes multiple types of resources, that is, when j has multiple values, corresponding types of resources should be extracted from the heterogeneous cluster and allocated to the target user h according to the resource type required by the target user and the target resource demand of each type of resource, and the specific calculation method is the same, and therefore details of the embodiment of the present disclosure are not repeated here.
After the target user is distributed to meet the extraction of the target resource demandUpdating the resource occupation matrix C on each device in the heterogeneous cluster Pm (c ij ) The formula (3) is shown below, wherein, C 1Pm (c 1ij ) Resource occupancy matrices on individual devices before resource allocation, C 2Pm (c 2ij ) And (4) allocating the resources to the resource occupation matrix (namely the current device occupation matrix) on each device.
C 2Pm (c 2ij )=C 1Pm (c 1ij )+W Pm (w ij ) (3)
Updating the resource occupation of the target user as shown in the following formula (4), wherein u 1hj Occupying quantity u of target user h to j type resource before resource allocation 2hj And (4) the occupation amount of the target user h to the j-type resource after the resource allocation (namely the occupation amount of the current user).
Figure BDA0003639939370000111
Further calculating the current resource occupancy rate S of the target user h according to the current occupancy rate of the user h to the j-type resources h The following formula (5).
Figure BDA0003639939370000112
It should be noted that, as described in the previous embodiment, when a user occupies multiple types of resources simultaneously, the maximum value of the heterogeneous resource occupancy rates of the user for the different types of resources may be selected as the current resource occupancy rate of the user.
Specifically, in the calculation process of the above equation (4) and equation (5), when the target user h occupies multiple types of resources, it needs to traverse all types of resources for calculation, even if j sequentially takes 1 to m, respectively calculate the resource occupancy rates of the target user h for the various types of resources, and take the maximum value in the calculation results as the current resource occupancy rate, that is, as shown in the above equation (5),
Figure BDA0003639939370000113
which represents the maximum value of the calculation results when j is taken to be 1 to m, respectively.
For convenience of understanding, a specific application scenario will be provided in conjunction with fig. 5, and the technical effect of the heterogeneous resource allocation method provided by the present disclosure is shown by comparing the present disclosure with the related art, and the application scenario is only used for explaining the present invention and is not used to limit the present invention.
As shown in fig. 5, it is assumed that a cluster in the embodiment of the present disclosure is composed of two devices, i.e., a device a and a device B, where the device a is configured to have a 4-core CPU with a dominant frequency of 3.2GHz and an 8GB memory with a frequency of 3200 MHz; the configuration of the device B is an 8-core CPU with a main frequency of 1.6GHz and a 16GB memory with a frequency of 1600 MHz.
At this time, the user a and the user B simultaneously request resource allocation from the cluster to start respective tasks to be executed. In the embodiment of the disclosure, in order to visually distribute and show the influence of the distribution method on the distribution fairness, the resource demand amounts of the tasks to be executed by the user a and the user B are the same, for example, the tasks to be executed by the user a and the user B both need 2-core CPUs and 2GB memories; and the user A and the user B respectively have a plurality of identical tasks to be executed to wait for operation, namely, the user A and the user B need to carry out multiple allocation to simultaneously execute a plurality of tasks to be executed, and resources allocated each time are a 2-core CPU and a 2GB memory.
It should be noted that, because any one of the users is selected to preferentially allocate resources under the condition that the current resource occupancy rates of the users are the same and are all the lowest, the allocation result is not affected, in the embodiment of the present disclosure, to avoid the influence of random factors, resources are preferentially allocated to the user a under the condition that the resource occupancy rates are the same.
In the above application scenario, the allocation is performed according to the allocation manner in the related art, that is, the allocation is performed only according to the quantity and size of the resources during the allocation, so that the quantity of the allocated resources is balanced, and after multiple resource allocations are performed, the final scheduling process and result are as shown in table 1 below.
Table 1 resource allocation results of the related art
Figure BDA0003639939370000121
After the resource allocation is performed for 6 times as in the above table 1, since neither the device a nor the device B has an idle CPU, the resource demand of the task to be executed by the user a or the user B cannot be satisfied, and thus the resource allocation is finished.
Specifically, as shown in table 1, after the allocation is finished, the user a obtains resources (6-core CPU and 6GB memory) for simultaneously executing 3 tasks to be executed, and the user B also obtains resources (6-core CPU and 6GB memory) for simultaneously executing 3 tasks to be executed.
It should be noted that, since the resources allocated to user a are concentrated on device a, the resources allocated to user B tend to be device B, and since the resources in the cluster are heterogeneous resources, the performance of the CPU and the memory in device a is much higher than that of device B. Therefore, in this resource allocation manner, although both the user a and the user B obtain resources capable of executing 3 tasks to be executed, the computational power obtained by the user a is much larger than that obtained by the user B from the viewpoint of the obtained computational power, that is, the speed of executing the task by the user a is much higher than that of executing the task by the user B, and thus, the user a and the user B have unfairness in actually executing the task.
Under the same application scenario, based on the heterogeneous resource allocation method provided by the present disclosure, the performance weight may be preset for each type of resource on the device a and the device B. For example, the performance weight may be set according to a performance proportional relationship between heterogeneous resources of the same type.
Specifically, in the embodiment of the present disclosure, since the CPU performance ratio of the device a and the device B is 2:1(3.2GHz:1.6GHz) and the memory performance ratio is 2:1(3200MHz:1600MHz), the CPU preset performance weights of the device a and the device B may be set to 2 and 1, and the memory preset performance weights of the device a and the device B may be set to 2 and 1, respectively.
Table 2 resource allocation results of the present disclosure
Figure BDA0003639939370000131
After the resource allocation is performed for 6 times as in the above table 2, since neither the device a nor the device B has an idle CPU, the resource demand of the task to be executed by the user a or the user B cannot be satisfied, and thus the resource allocation is finished.
Specifically, as shown in table 2, after the allocation is finished, the user a obtains resources (4-core CPU and 4GB memory) for simultaneously executing 2 tasks to be executed, the user B also obtains resources (8-core CPU and 8GB memory) for simultaneously executing 4 tasks to be executed, and on the premise that cluster resources are fully utilized, the user a and the user B obtain resources of different quantities.
It is noted that, similar to the allocation process in table 1, the resources allocated to user a are concentrated on device a, the resources allocated to user B are biased towards device B, and the performance of the CPU and memory in device a is much higher than that of device B. In this resource allocation method of the present disclosure, even though the resource acquired by the user B is twice as many in number as the user a, since the performance per resource acquired by the user a is twice as much as the user B, the user a and the user B can substantially acquire the same calculation power and can perform the same task per unit time.
Further, by comparing the heterogeneous resource allocation method provided by the embodiment of the present disclosure with the related art in the same application scenario, it can be found that the method provided by the embodiment of the present disclosure makes a clear distinction between heterogeneous resource performances when executing by introducing the preset performance weight, thereby solving the problem of unfairness when the related art is applied to heterogeneous resource allocation.
Based on the same inventive concept, the embodiment of the present disclosure further provides a heterogeneous resource allocation apparatus, as described in the following embodiments. Because the principle of the embodiment of the apparatus for solving the problem is similar to that of the embodiment of the method, the embodiment of the apparatus can be implemented by referring to the implementation of the embodiment of the method, and repeated details are not described again.
Fig. 6 is a schematic diagram of an apparatus for allocating heterogeneous resources according to an embodiment of the present disclosure, and as shown in fig. 6, the apparatus 600 includes:
the user selection module 601 is configured to receive a resource allocation request sent by a target user to a heterogeneous cluster, where the target user is a user with a lowest current resource occupancy rate in the heterogeneous cluster, and the current resource occupancy rate is obtained based on preset performance weight calculation.
The task obtaining module 602 is configured to, in response to the resource allocation request, obtain a target resource demand of the target user, where the target resource demand is a resource demand of a task to be executed by the target user.
The resource allocation module 603 is configured to randomly select an idle resource and allocate the idle resource to the target user when the target resource demand is less than or equal to the total amount of idle resources of the corresponding type in the heterogeneous cluster, so that the target user obtains a resource meeting the target resource demand.
In some embodiments, the apparatus 600 further includes a resource calculation module, configured to update the current resource occupancy of the target user according to a preset performance weight.
Specifically, when the heterogeneous cluster includes multiple types of resources, the resource calculation module is specifically configured to: calculating the heterogeneous resource occupancy rate corresponding to each type of resource occupied by the target user according to the preset performance weight; and taking the maximum value of the heterogeneous resource occupancy rates of the target user for each type of resource as the current resource occupancy rate of the target user.
Further, the resource calculation module specifically calculates the heterogeneous resource occupancy rate in a manner that: according to the preset performance weight, carrying out weighted summation on heterogeneous resources of the same type occupied by a target user to obtain a first weighted sum; according to the preset performance weight, carrying out weighted summation on the corresponding type of heterogeneous resources in the heterogeneous cluster to obtain a second weighted sum; and taking the ratio of the first weighted sum and the second weighted sum of each type of resource as the heterogeneous resource occupancy rate corresponding to each type of resource.
In some embodiments, the predetermined performance weight is generated based on the resource performance, and the magnitude of the predetermined performance weight is proportional to the resource performance.
In some embodiments, the user selection module 601 is further configured to: when a plurality of users with the lowest resource occupancy rates exist in the heterogeneous cluster, one user with the lowest resource occupancy rate is randomly selected to become a target user.
In some embodiments, the user selection module 601, the task obtaining module 602, and the resource allocation module 603 may all be called repeatedly until the resource allocation module 603 fails to allocate a resource meeting the resource requirement of the target user to the target user, and the resource allocation is finished.
It should be noted that, when the heterogeneous resource allocation apparatus provided in the foregoing embodiment is used for heterogeneous resource allocation, only the division of the functional modules is illustrated, and in practical applications, the function allocation may be completed by different functional modules according to needs, that is, the internal structure of the apparatus is divided into different functional modules, so as to complete all or part of the functions described above. In addition, the heterogeneous resource allocation apparatus and the heterogeneous resource allocation method provided in the foregoing embodiments belong to the same concept, and specific implementation processes thereof are described in the method embodiments and are not described herein again.
As will be appreciated by one skilled in the art, aspects of the present disclosure may be embodied as a system, method or program product. Accordingly, various aspects of the disclosure may be embodied in the form of: an entirely hardware embodiment, an entirely software embodiment (including firmware, microcode, etc.) or an embodiment combining hardware and software aspects that may all generally be referred to herein as a "circuit," module "or" system.
An electronic device 700 according to this embodiment of the disclosure is described below with reference to fig. 7. The electronic device 700 shown in fig. 7 is only an example and should not bring any limitation to the functions and the scope of use of the embodiments of the present disclosure.
As shown in fig. 7, electronic device 700 is embodied in the form of a general purpose computing device. The components of the electronic device 700 may include, but are not limited to: the at least one processing unit 710, the at least one memory unit 720, and a bus 730 that couples various system components including the memory unit 720 and the processing unit 710.
Wherein the storage unit stores program code that is executable by the processing unit 710 to cause the processing unit 710 to perform steps according to various exemplary embodiments of the present disclosure as described in the above section "exemplary methods" of this specification. For example, the processing unit 710 may perform the following steps of the above method embodiment: receiving a resource allocation request sent by a target user to a heterogeneous cluster, wherein the target user is a user with the lowest current resource occupancy rate in the heterogeneous cluster, and the current resource occupancy rate is obtained based on preset performance weight calculation; responding to the resource allocation request, and acquiring a target resource demand of a target user, wherein the target resource demand is the resource demand of a task to be executed by the target user; and if the target resource demand is less than or equal to the total amount of the idle resources of the corresponding type in the heterogeneous cluster, randomly selecting the idle resources and distributing the idle resources to the target user so that the target user can obtain the resources meeting the target resource demand.
The storage unit 720 may include readable media in the form of volatile memory units, such as a random access memory unit (RAM)7201 and/or a cache memory unit 7202, and may further include a read only memory unit (ROM) 7203.
The storage unit 720 may also include a program/utility 7204 having a set (at least one) of program modules 7205, such program modules 7205 including, but not limited to: an operating system, one or more application programs, other program modules, and program data, each of which, or some combination thereof, may comprise an implementation of a network environment.
Bus 730 may be any representation of one or more of several types of bus structures, including a memory unit bus or memory unit controller, a peripheral bus, an accelerated graphics port, a processing unit, or a local bus using any of a variety of bus architectures.
The electronic device 700 may also communicate with one or more external devices 740 (e.g., keyboard, pointing device, bluetooth device, etc.), with one or more devices that enable a user to interact with the electronic device 700, and/or with any devices (e.g., router, modem, etc.) that enable the electronic device 700 to communicate with one or more other computing devices. Such communication may occur via an input/output (I/O) interface 750. Also, the electronic device 700 may communicate with one or more networks (e.g., a Local Area Network (LAN), a Wide Area Network (WAN), and/or a public network such as the internet) via the network adapter 760. As shown, the network adapter 760 communicates with the other modules of the electronic device 700 via the bus 730. It should be appreciated that although not shown in the figures, other hardware and/or software modules may be used in conjunction with the electronic device 700, including but not limited to: microcode, device drivers, redundant processing units, external disk drive arrays, RAID systems, tape drives, and data backup storage systems, among others.
Through the above description of the embodiments, those skilled in the art will readily understand that the exemplary embodiments described herein may be implemented by software, or by software in combination with necessary hardware. Therefore, the technical solution according to the embodiments of the present disclosure may be embodied in the form of a software product, which may be stored in a non-volatile storage medium (which may be a CD-ROM, a usb disk, a removable hard disk, etc.) or on a network, and includes several instructions to enable a computing device (which may be a personal computer, a server, a terminal device, or a network device, etc.) to execute the method according to the embodiments of the present disclosure.
In an exemplary embodiment of the present disclosure, there is also provided a computer-readable storage medium, which may be a readable signal medium or a readable storage medium. On which a program product capable of implementing the above-described method of the present disclosure is stored. In some possible embodiments, various aspects of the disclosure may also be implemented in the form of a program product comprising program code for causing a terminal device to perform the steps according to various exemplary embodiments of the disclosure described in the "exemplary methods" section above of this specification, when the program product is run on the terminal device.
More specific examples of the computer-readable storage medium in the present disclosure may include, but are not limited to: an electrical connection having one or more wires, a portable computer diskette, a hard disk, a Random Access Memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.
In the present disclosure, a computer readable storage medium may include a propagated data signal with readable program code embodied therein, either in baseband or as part of a carrier wave. Such a propagated data signal may take any of a variety of forms, including, but not limited to, electro-magnetic, optical, or any suitable combination thereof. A readable signal medium may also be any readable medium that is not a readable storage medium and that can communicate, propagate, or transport a program for use by or in connection with an instruction execution system, apparatus, or device.
Alternatively, program code embodied on a computer readable storage medium may be transmitted using any appropriate medium, including but not limited to wireless, wireline, optical fiber cable, RF, etc., or any suitable combination of the foregoing.
In particular implementations, program code for carrying out operations of the present disclosure may be written in any combination of one or more programming languages, including an object oriented programming language such as Java, C + +, or the like, as well as conventional procedural programming languages, such as the "C" programming language or similar programming languages. The program code may execute entirely on the user's computing device, partly on the user's device, as a stand-alone software package, partly on the user's computing device and partly on a remote computing device, or entirely on the remote computing device or server. In the case of a remote computing device, the remote computing device may be connected to the user computing device through any kind of network, including a Local Area Network (LAN) or a Wide Area Network (WAN), or may be connected to an external computing device (e.g., through the internet using an internet service provider).
It should be noted that although in the above detailed description several modules or units of the device for action execution are mentioned, such a division is not mandatory. Indeed, the features and functionality of two or more modules or units described above may be embodied in one module or unit, according to embodiments of the present disclosure. Conversely, the features and functions of one module or unit described above may be further divided into embodiments by a plurality of modules or units.
Moreover, although the steps of the methods of the present disclosure are depicted in the drawings in a particular order, this does not require or imply that these steps must be performed in this particular order, or that all of the depicted steps must be performed, to achieve desirable results. Additionally or alternatively, certain steps may be omitted, multiple steps combined into one step execution, and/or one step broken down into multiple step executions, etc.
Through the above description of the embodiments, those skilled in the art will readily understand that the exemplary embodiments described herein may be implemented by software, or by software in combination with necessary hardware. Therefore, the technical solution according to the embodiments of the present disclosure may be embodied in the form of a software product, which may be stored in a non-volatile storage medium (which may be a CD-ROM, a usb disk, a removable hard disk, etc.) or on a network, and includes several instructions to enable a computing device (which may be a personal computer, a server, a mobile terminal, or a network device, etc.) to execute the method according to the embodiments of the present disclosure.
Other embodiments of the disclosure will be apparent to those skilled in the art from consideration of the specification and practice of the invention disclosed herein. This disclosure is intended to cover any variations, uses, or adaptations of the disclosure following, in general, the principles of the disclosure and including such departures from the present disclosure as come within known or customary practice within the art to which the disclosure pertains. It is intended that the specification and examples be considered as exemplary only, with a true scope and spirit of the disclosure being indicated by the following claims.

Claims (10)

1. A heterogeneous resource allocation method, comprising:
receiving a resource allocation request sent by a target user to a heterogeneous cluster, wherein the target user is a user with the lowest current resource occupancy rate in the heterogeneous cluster, and the current resource occupancy rate is obtained based on preset performance weight calculation;
responding to the resource allocation request, and acquiring a target resource demand of the target user, wherein the target resource demand is a resource demand of a task to be executed by the target user;
and if the target resource demand is less than or equal to the total amount of idle resources of the corresponding type in the heterogeneous cluster, randomly selecting the idle resources and distributing the idle resources to the target user so that the target user can acquire the resources meeting the target resource demand.
2. The method according to claim 1, wherein after randomly selecting idle resources and allocating the idle resources to a target user, so that the target user acquires resources meeting the target resource demand, the method comprises:
and updating the current resource occupancy rate of the target user according to the preset performance weight.
3. The method according to claim 2, wherein the heterogeneous cluster includes multiple types of resources;
the updating the current resource occupancy rate of the target user according to the preset performance weight specifically includes:
calculating the heterogeneous resource occupancy rate corresponding to each type of resource occupied by the target user according to the preset performance weight;
and taking the maximum value in the heterogeneous resource occupancy rates of the target user for each type of resource as the current resource occupancy rate of the target user.
4. The method for allocating heterogeneous resources according to claim 3, wherein the calculating, according to a preset performance weight, the heterogeneous resource occupancy rates corresponding to each type of resource occupied by the target user respectively includes:
according to the preset performance weight, carrying out weighted summation on heterogeneous resources of the same type occupied by the target user to obtain a first weighted sum; according to the preset performance weight, carrying out weighted summation on the heterogeneous resources of the corresponding types in the heterogeneous cluster to obtain a second weighted sum;
and taking the ratio of the first weighted sum and the second weighted sum of each type of resource as the heterogeneous resource occupancy rate corresponding to each type of resource.
5. The method according to any one of claims 1 to 4, wherein the predetermined performance weight is generated based on resource performance, and a magnitude of the predetermined performance weight is proportional to the resource performance.
6. The method of claim 1, wherein the method comprises:
when a plurality of users with the lowest resource occupancy rates exist in the heterogeneous cluster, one user with the lowest resource occupancy rate is randomly selected to become a target user.
7. The method of claim 2, wherein after updating the current resource occupancy of the target user according to a preset performance weight, the method further comprises:
and repeatedly receiving a resource allocation request sent by the target user to the heterogeneous cluster, updating the current resource occupancy rate of the target user after resource allocation is carried out, and ending the resource allocation until the target resource demand of the target user is greater than the total amount of idle resources in the heterogeneous cluster.
8. A heterogeneous resource allocation apparatus, comprising:
the request receiving module is used for receiving a resource allocation request sent by a target user to the heterogeneous cluster, wherein the target user is the user with the lowest current resource occupancy rate in the heterogeneous cluster, and the current resource occupancy rate is obtained based on preset performance weight calculation;
a demand obtaining module, configured to obtain a target resource demand of the target user in response to the resource allocation request, where the target resource demand is a resource demand of a task to be executed by the target user;
and the resource allocation module is used for randomly selecting idle resources and allocating the idle resources to the target user when the target resource demand is less than or equal to the total amount of the idle resources of the corresponding type in the heterogeneous cluster, so that the target user can acquire the resources meeting the target resource demand.
9. An electronic device, comprising:
a processor; and
a memory for storing executable instructions of the processor;
wherein the processor is configured to execute the heterogeneous resource allocation method of any one of claims 1-7 via execution of the executable instructions.
10. A computer-readable storage medium having a computer program stored thereon, wherein the computer program, when executed by a processor, implements the heterogeneous resource allocation method of any one of claims 1 to 7.
CN202210516665.2A 2022-05-12 2022-05-12 Heterogeneous resource allocation method and device, electronic equipment and storage medium Active CN114911618B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210516665.2A CN114911618B (en) 2022-05-12 2022-05-12 Heterogeneous resource allocation method and device, electronic equipment and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210516665.2A CN114911618B (en) 2022-05-12 2022-05-12 Heterogeneous resource allocation method and device, electronic equipment and storage medium

Publications (2)

Publication Number Publication Date
CN114911618A true CN114911618A (en) 2022-08-16
CN114911618B CN114911618B (en) 2024-04-26

Family

ID=82766209

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210516665.2A Active CN114911618B (en) 2022-05-12 2022-05-12 Heterogeneous resource allocation method and device, electronic equipment and storage medium

Country Status (1)

Country Link
CN (1) CN114911618B (en)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106548262A (en) * 2015-09-21 2017-03-29 阿里巴巴集团控股有限公司 For the dispatching method of the resource of process task, device and system
CN108268317A (en) * 2016-12-30 2018-07-10 华为技术有限公司 A kind of resource allocation methods and device
CN111045795A (en) * 2018-10-11 2020-04-21 浙江宇视科技有限公司 Resource scheduling method and device
CN111796933A (en) * 2020-06-28 2020-10-20 北京小米松果电子有限公司 Resource scheduling method, device, storage medium and electronic equipment
CN113157379A (en) * 2020-01-22 2021-07-23 株式会社日立制作所 Cluster node resource scheduling method and device
KR20220011063A (en) * 2020-07-20 2022-01-27 베이징 바이두 넷컴 사이언스 앤 테크놀로지 코., 엘티디. Server resource allocation method, device, electronic equipment and storage medium

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106548262A (en) * 2015-09-21 2017-03-29 阿里巴巴集团控股有限公司 For the dispatching method of the resource of process task, device and system
CN108268317A (en) * 2016-12-30 2018-07-10 华为技术有限公司 A kind of resource allocation methods and device
CN111045795A (en) * 2018-10-11 2020-04-21 浙江宇视科技有限公司 Resource scheduling method and device
CN113157379A (en) * 2020-01-22 2021-07-23 株式会社日立制作所 Cluster node resource scheduling method and device
CN111796933A (en) * 2020-06-28 2020-10-20 北京小米松果电子有限公司 Resource scheduling method, device, storage medium and electronic equipment
KR20220011063A (en) * 2020-07-20 2022-01-27 베이징 바이두 넷컴 사이언스 앤 테크놀로지 코., 엘티디. Server resource allocation method, device, electronic equipment and storage medium

Also Published As

Publication number Publication date
CN114911618B (en) 2024-04-26

Similar Documents

Publication Publication Date Title
US8205205B2 (en) Multi-objective allocation of computational jobs in client-server or hosting environments
US8112524B2 (en) Recommending moving resources in a partitioned computer
CN111344688B (en) Method and system for providing resources in cloud computing
CN104714847A (en) Dynamically Change Cloud Environment Configurations Based on Moving Workloads
CN114020470B (en) Resource allocation method and device, readable medium and electronic equipment
US20100229175A1 (en) Moving Resources In a Computing Environment Having Multiple Logically-Partitioned Computer Systems
CN107070709B (en) NFV (network function virtualization) implementation method based on bottom NUMA (non uniform memory Access) perception
US10616134B1 (en) Prioritizing resource hosts for resource placement
CN111338779B (en) Resource allocation method, device, computer equipment and storage medium
CN108604193A (en) Heterogeneous system, calculation task allocating method and device
CN115033340A (en) Host selection method and related device
Li et al. PageRankVM: A pagerank based algorithm with anti-collocation constraints for virtual machine placement in cloud datacenters
CN112506650A (en) Resource allocation method, system, computer device and storage medium
CN110493317B (en) Method for processing cloud platform resource fragments and related equipment
US10990519B2 (en) Multi-tenant cloud elastic garbage collector
JP2023543744A (en) Resource scheduling method, system, electronic device and computer readable storage medium
CN114116173A (en) Method, device and system for dynamically adjusting task allocation
US10594620B1 (en) Bit vector analysis for resource placement in a distributed system
CN112527509A (en) Resource allocation method and device, electronic equipment and storage medium
CN114911618B (en) Heterogeneous resource allocation method and device, electronic equipment and storage medium
CN115378879A (en) Data control method and related device
CN115061813A (en) Cluster resource management method, device, equipment and medium
CN104424101A (en) Method and equipment for determining performance interference models of programs
JP2018181123A (en) Resource allocation control system, resource allocation control method, and program
CN114090234A (en) Request scheduling method and device, electronic equipment and storage medium

Legal Events

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