WO2021259246A1 - 资源调度方法和装置、电子设备、计算机可读存储介质 - Google Patents
资源调度方法和装置、电子设备、计算机可读存储介质 Download PDFInfo
- Publication number
- WO2021259246A1 WO2021259246A1 PCT/CN2021/101501 CN2021101501W WO2021259246A1 WO 2021259246 A1 WO2021259246 A1 WO 2021259246A1 CN 2021101501 W CN2021101501 W CN 2021101501W WO 2021259246 A1 WO2021259246 A1 WO 2021259246A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- resource
- node
- weight
- virtual
- path
- 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.)
- Ceased
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5011—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
- G06F9/5016—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5083—Techniques for rebalancing the load in a distributed system
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5083—Techniques for rebalancing the load in a distributed system
- G06F9/5088—Techniques for rebalancing the load in a distributed system involving task migration
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5094—Allocation of resources, e.g. of the central processing unit [CPU] where the allocation takes into account power or heat criteria
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/501—Performance criteria
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/5021—Priority
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/5022—Workload threshold
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/503—Resource availability
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Definitions
- the embodiments of this application relate to the field of computer technology, and in particular to a resource scheduling method and device, electronic equipment, and computer-readable storage media.
- Resource scheduling is the process of allocating and temporarily transferring resources from resource invitation to users. Optimizing resource scheduling management and dynamically reallocating resources can make more efficient use of available resources in the data center and achieve the goal of reducing energy consumption.
- the traditional resource scheduling method cannot meet the needs of tenants and task differentiation in the multi-tenant scenario, and it is easy to produce jitter after the scheduling is completed, leading to secondary scheduling.
- An embodiment of the present application provides a resource scheduling method, including: selecting an optimal path from the resource tag forest according to the weight of the path in the resource tag tree in the resource tag forest constructed in advance, wherein the resource tag forest includes: at least one Resource tag tree.
- Each path of the resource tag tree includes the first node, the second node and the third node in turn from the root node to the leaf node.
- the first node is the node corresponding to the physical resource corresponding to the tenant, and the second node belongs to The node corresponding to the user of the tenant, the third node is a node corresponding to the virtual resource deployed on the physical resource and managed by the user; and the task is scheduled to the third node through the optimal path.
- An embodiment of the application provides an electronic device, including: at least one processor; and a memory, at least one program is stored in the memory, and when the at least one program is executed by the at least one processor, the at least one processor realizes the resource according to the application Scheduling method.
- the embodiment of the present application provides a computer-readable storage medium on which a computer program is stored.
- the computer program is executed by a processor, the resource scheduling method according to the present application is implemented.
- Figure 1 is a flowchart of a resource scheduling method provided by this application.
- Figure 2 is a schematic diagram of the resource label book in the resource label forest provided by this application.
- FIG. 3 is a schematic diagram of assigning corresponding weights to the first node and the third node in this application;
- Figure 4 is a schematic diagram of selecting the optimal path for this application.
- FIG. 5 is a block diagram of a resource scheduling device provided by this application.
- FIG. 6 is a schematic diagram of the application of a resource scheduling device provided by this application.
- Fig. 1 is a flowchart of a resource scheduling method provided by this application.
- the resource scheduling method provided by the present application includes steps 100 to 101.
- the optimal path is selected from the resource tag forest according to the weight of the path in the resource tag tree in the pre-constructed resource tag forest.
- the resource tag forest includes: at least one resource tag tree, and each path of the resource tag tree From the root node to the leaf nodes, it includes: a first node, a second node, and a third node.
- the first node is the node corresponding to the physical resource of the tenant
- the second node is the node corresponding to the user belonging to the tenant
- the third node is Nodes corresponding to virtual resources deployed on physical resources and managed by users.
- step 101 the task is scheduled to the third node traversed by the optimal path.
- the unscheduled task with the highest priority can be scheduled to the third node through the optimal path.
- the priority of the task can be determined according to the importance of the task.
- the method may further include: according to tenants, physical resources, The relationship between the user and the virtual resource constructs a resource tag forest; and each first node and the third node in each resource tag tree in the resource tag forest are assigned corresponding weights.
- resource scheduling is realized based on a pre-constructed resource tag forest.
- Different tenants correspond to different physical resources, users, and virtual resources.
- the resource tag forest reflects the relationship between tenants, physical resources, users, and virtual resources.
- the relationship between tenants namely, which physical resources the tenant corresponds to, which users under the tenant, and which virtual resources deployed on the physical resources are managed by users under the tenant, thus realizing the differentiated needs of tenants in the multi-tenant scenario, thereby improving resource scheduling Reasonableness.
- each path in the resource tag tree reflects the relationship between tenants, physical resources, users, and virtual resources.
- the relationship mentioned here refers to: which physical resources and which virtual resources the tenant corresponds to, namely , Which physical resources and which virtual resources belong to the tenant; which users are under the tenant, that is, which users belong to the tenant; which virtual resources are deployed on the physical resources; and which virtual resources are managed by which users.
- the first node can be represented by a node with a hierarchical structure according to the hierarchical distribution of physical resources.
- physical resources have two hierarchical structures, namely, a rack and a physical machine.
- the physical machine belongs to the rack. Therefore, two levels of the first node can be set, and the first level is The first node is the node corresponding to the rack, and the first node of the second level is the node corresponding to the physical machine.
- Physical resources may refer to racks, physical machines, etc.
- virtual resources may refer to virtual machines, etc.
- the resource tag forest includes two resource tag trees, namely resource tag tree 1 and resource tag tree 2.
- Resource tag tree 1 corresponds to tenant 1
- resource tag tree 2 corresponds to tenant 2.
- the physical resources of tenant 1 include rack 1, physical machine 1, and physical machine 2.
- a virtual machine 1 and a virtual machine 2 are deployed on the physical machine 1, and a virtual machine 3 is deployed on the physical machine 2.
- User 1 manages virtual machine 1 and virtual machine 2, and user 2 manages virtual machine 3.
- the physical resources of tenant 2 include rack 2, physical machine 3, and physical machine 4.
- a virtual machine 4 is deployed on the physical machine 3, and a virtual machine 5 and a virtual machine 6 are deployed on the physical machine 4.
- User 3 manages virtual machine 4, and user 4 manages virtual machine 5 and virtual machine 6.
- the root node of the resource tag tree 1 is the node corresponding to the rack 1, and the leaf nodes include the node corresponding to the virtual machine 1, the node corresponding to the virtual machine 2, and the node corresponding to the virtual machine 3.
- the first node includes a node corresponding to rack 1, a node corresponding to physical machine 1, and a node corresponding to physical machine 2.
- the second node includes a node corresponding to user 1 and a node corresponding to user 2.
- the third node includes a node corresponding to virtual machine 1, a node corresponding to virtual machine 2, and a node corresponding to virtual machine 3.
- the root node of the resource tag tree 2 is the node corresponding to the rack 2, and the leaf nodes include the node corresponding to the virtual machine 4, the node corresponding to the virtual machine 5, and the node corresponding to the virtual machine 6.
- the first node includes a node corresponding to rack 2, a node corresponding to physical machine 3, and a node corresponding to physical machine 4.
- the second node includes a node corresponding to user 3 and a node corresponding to user 4.
- the third node includes a node corresponding to virtual machine 4, a node corresponding to virtual machine 5, and a node corresponding to virtual machine 6.
- the weight of the path can be determined according to the weights of the first node and the third node that the path passes.
- the weight of the path may be the sum of the weights of the first node and the third node that the path traverses, or the weight of the path may be the weighted average of the weights of the first node and the third node that the path traverses.
- other methods may also be used to calculate the weight of the path, and the specific calculation method is not used to limit the protection scope of the embodiments of the present application.
- the weight of the first node refers to the weight of the node at the lowest level.
- the node corresponding to physical machine 1 and the node corresponding to physical machine 2 belong to the next level of nodes of the node corresponding to rack 1.
- the weight of the first node refers to physical machine 1.
- the weight of the path including the node corresponding to rack 1, the node corresponding to physical machine 1, the node corresponding to user 1, and the node corresponding to virtual machine 1 is the weight of the node corresponding to physical machine 1.
- the weight of the first node can be determined according to the CPU occupancy rate, memory occupancy rate and storage occupancy rate of the first node in the specified time period, and the CPU occupancy rate, memory occupancy rate and storage occupancy rate of the third node in the specified time period can be determined Determine the weight of the third node.
- the weight of the first node can be the sum of the CPU usage, memory usage, and storage usage of the first node in a specified time period
- the weight of the third node can be the CPU usage of the third node in the specified time period The sum of data rate, memory usage, and storage usage.
- the weight of the first node may be the weighted average of the CPU occupancy rate, memory occupancy rate, and storage occupancy rate of the first node in a specified time period
- the weight of the third node may be the third node in the specified time period. The weighted average of CPU usage, memory usage and storage usage.
- the weight of the first node may be the sum of the first score corresponding to the CPU occupancy rate of the first node, the second score corresponding to the memory occupancy rate, and the third score corresponding to the storage occupancy rate in the specified time period.
- the weight of the third node may be the sum of the first score corresponding to the CPU usage of the third node, the second score corresponding to the memory usage, and the third score corresponding to the storage usage in the specified time period.
- the weight of the first node may be a weight of the first score corresponding to the CPU usage of the first node, the second score corresponding to the memory usage, and the third score corresponding to the storage usage in the specified time period.
- Average value the weight of the third node can be the weight of the first score corresponding to the CPU usage of the third node, the second score corresponding to the memory usage, and the third score corresponding to the storage usage in the specified time period average value.
- the CPU occupancy rate is between 0% and 20%, the first score is 1; the CPU occupancy rate is between 20%-40%, and the first score is 2; the CPU occupancy rate is between 40% and 60% During the period, the first score is 3; the CPU occupancy rate is between 60% and 80%, and the first score is 4; the CPU occupancy rate is between 80% and 100%, and the first score is 5.
- the CPU occupancy rate and the first score may also have other correspondences, and the specific correspondence is not used to limit the protection scope of the embodiments of the present application.
- the memory occupancy rate is between 0% and 20%, the second score is 1; the memory occupancy rate is between 20%-40%, and the second score is 2; the memory occupancy rate is between 40%-60%
- the second score is 3; the memory usage is between 60% and 80%, and the second score is 4; the memory usage is between 80% and 100%, and the second score is 5.
- the memory occupancy rate and the second score may also have other correspondences, and the specific correspondences are not used to limit the protection scope of the embodiments of the present application.
- the third score is 1; the storage occupancy rate is between 20%-40%, and the third score is 2; the storage occupancy rate is between 40%-60%
- the third score is 3; the storage occupancy rate is between 60% and 80%, and the third score is 4; the storage occupancy rate is between 80% and 100%, and the third score is 5.
- the storage occupancy rate and the third score may also be other corresponding relationships, and the specific corresponding relationships are not used to limit the protection scope of the embodiments of the present application.
- the first score corresponding to the CPU occupancy rate of the node corresponding to physical machine 1 in the specified time period is 1, the second score corresponding to the memory occupancy rate is 3, and the third score corresponding to the storage occupancy rate is 3. If the score is 4, then the weight of the node corresponding to physical machine 1 is 8; the other nodes can be deduced by analogy, so I won’t repeat them here.
- the step of selecting the optimal path from the resource tag forest according to the weight of the path in the resource tag tree in the resource tag forest constructed in advance may include: traversing each resource tag tree in the resource tag forest For each path in, the path with the smallest weight is selected as the optimal path, and the weight of the path is determined according to the resource occupancy rate of the nodes that the path passes.
- the specific optimal path selection method is not used to limit the protection scope of the embodiments of this application.
- This application emphasizes that the resource scheduling method is based on the resource tag forest.
- Tag forest reflects the relationship between tenants, physical resources, users and virtual resources, and realizes resource scheduling based on the differentiation of tenants.
- the weight of the path is determined based on the resource occupancy rate of the nodes through which the path passes, and the path with the smallest weight is selected as the optimal path.
- the smallest weight of the path means that the resource occupancy rate of the nodes that the path passes through is the smallest.
- the path with the smallest weight is selected as the optimal path, and then the task is scheduled to the third node through which the optimal path passes, thereby improving resource utilization.
- the resource scheduling method of the present application may further include: setting at least one of the CPU occupancy rate, memory occupancy rate, and storage occupancy rate to be greater than the first node of a preset threshold
- the target user on the corresponding physical resource and the virtual resource managed by the target user are migrated to the physical resource corresponding to the first node with the smallest weight, and the relationship between the tenant, physical resource, user and virtual resource after migration is renewed. Construct a resource tag forest, and the target user is the user with the largest weight or the user with the second largest weight.
- the preset threshold may be selected according to the actual situation. For example, the preset threshold may be selected as 80%, that is, at least one of the CPU usage rate, the memory usage rate, and the storage usage rate exceeds 80%.
- the user with the largest weight can be selected as the target user first. If the physical resources corresponding to the first node with the smallest weight are not enough to support the virtual resources managed by the user with the largest weight, the user with the second largest weight can be selected as the target user .
- the user's weight can be determined according to the weight of the node corresponding to the virtual resource managed by the user.
- the weight of the user may be the sum of the weights of the nodes corresponding to the virtual resources managed by the user, or the weight of the users may be the weighted average of the weights of the nodes corresponding to the virtual resources managed by the user.
- other methods may also be used to calculate the user's weight, and the specific calculation method is not used to limit the protection scope of the embodiments of the present application.
- the resource scheduling method of the present application when the weight of the first node is greater than the preset threshold, the target user on the physical resource corresponding to the first node and the virtual resource managed by the target user are migrated to the first node with the smallest weight.
- the resource occupancy rate of the first node whose weight is greater than the preset threshold is reduced, and the resource occupancy rate between different first nodes is more balanced, so that the resource scheduling will not be due to physical resources.
- the resources cannot meet the business requirements and trigger the secondary scheduling, which reduces or avoids the secondary scheduling of resources.
- the resource occupancy rate of physical resources is not high, and the resource occupancy rate of virtual resources on physical resources is not high, but the load of virtual resources has tidal characteristics, and tides occur at a certain point in time Phenomenon, that is, the resource occupancy rate of virtual resources may be very high.
- the resource occupancy rate of virtual resources may be very high.
- the resource scheduling of this application may further include: before the tidal phenomenon occurs in the virtual resource with tidal characteristics, clone the virtual resource that is the same as the virtual resource with tidal characteristics on the physical resource where the virtual resource with tidal characteristics is located, and the cloned virtual resource is the same as the existing virtual resource.
- the communication addresses of the virtual resources with tidal characteristics are different, and the cloned virtual resources and the virtual resources with tidal characteristics share the task; and after the tidal phenomenon of the virtual resources with tidal characteristics ends, the cloned virtual resources are recovered.
- the communication address may include at least one of the following: an Internet Protocol (IP, Internet Protocol) address, and a Media Access Control (MAC, Media Access Control) address.
- IP Internet Protocol
- MAC Media Access Control
- the time period during which the tidal phenomenon of the virtual resource occurs can be obtained through historical operation and maintenance data analysis, and the peak value of the physical resource required by the virtual resource in the tidal scene can be calculated.
- the same virtual resource is cloned before the tidal phenomenon occurs, and the cloned virtual resource and the original virtual resource are jointly responsible for scheduling to the virtual resource with tidal characteristics.
- the task avoids the secondary scheduling triggered when the virtual resources cannot meet the business requirements when the tide phenomenon occurs, that is, the secondary scheduling of the resources is avoided.
- the cloned virtual resources are recovered to avoid the waste of resource occupation.
- the present application provides an electronic device, including: at least one processor; and a memory, at least one program is stored in the memory, and when the at least one program is executed by the at least one processor, the at least one processor implements any one according to the application Resource scheduling method.
- a processor is a device with data processing capabilities, including but not limited to a central processing unit (CPU), etc.; a memory is a device with data storage capabilities, including but not limited to random access memory (RAM, more specifically such as SDRAM, DDR) Etc.), read-only memory (ROM), charged erasable programmable read-only memory (EEPROM), flash memory (FLASH).
- RAM random access memory
- ROM read-only memory
- EEPROM charged erasable programmable read-only memory
- FLASH flash memory
- the processor and the memory can be connected to each other through a bus, and then connected to other components of the electronic device.
- the present application provides a computer-readable storage medium on which a computer program is stored, and when the computer program is executed by a processor, any resource scheduling method according to the present application is implemented.
- Figure 5 is a block diagram of a resource scheduling device provided by this application.
- the resource scheduling device provided by this application includes an optimal path selection module 501 and a resource scheduling module 502.
- the optimal path selection module 501 is configured to select the optimal path from the resource tag forest according to the weight of the path in the resource tag tree in the pre-constructed resource tag forest.
- the resource tag forest includes: at least one resource tag tree, a resource tag tree
- Each path of from the root node to the leaf node includes: a first node, a second node, and a third node.
- the first node is the node corresponding to the physical resource corresponding to the tenant
- the second node is the node corresponding to the user belonging to the tenant
- the third node is a node corresponding to a virtual resource deployed on a physical resource and managed by a user.
- the resource scheduling module 502 is used to schedule the task to the third node through which the optimal path passes.
- the optimal path selection module 501 can be used to: traverse each path in each resource tag tree in the resource tag forest, select the path with the smallest weight as the optimal path, and determine the path according to the resource occupancy rate of the nodes passed by the path The weight of.
- the weight of the path can be determined according to the weights of the first node and the third node that the path passes.
- the weight of the first node can be determined according to the CPU occupancy rate, memory occupancy rate and storage occupancy rate of the first node in the specified time period, and the CPU occupancy rate, memory occupancy rate and storage occupancy rate of the third node in the specified time period can be determined Determine the weight of the third node.
- the resource scheduling device may further include a resource tag forest construction module 503, which is used to set at least one of CPU occupancy rate, memory occupancy rate, and storage occupancy rate to be greater than a preset threshold for the target user and target on the physical resource corresponding to the first node
- the virtual resource managed by the user is migrated to the physical resource corresponding to the first node with the smallest weight, and the resource tag forest is reconstructed according to the relationship between the tenant, physical resource, user and virtual resource after the migration, and the target user is the weight.
- the weight of the user can be determined according to the weight of the node corresponding to the virtual resource managed by the user.
- the resource tag forest construction module 503 can also be used to clone the same virtual resource as the virtual resource with tidal characteristics on the physical resource where the virtual resource with tidal characteristics is located before the tidal phenomenon occurs in the virtual resource with tidal characteristics.
- the communication address of the virtual resource and the virtual resource with tidal characteristics are different, and the cloned virtual resource and the virtual resource with tidal characteristics share the task; and after the tidal phenomenon of the virtual resource with tidal characteristics ends, the cloned virtual resource is recovered resource.
- the resource tag forest construction module 503 can also be used to construct a resource tag forest according to the relationship between tenants, physical resources, users, and virtual resources; The third node assigns the corresponding weight.
- FIG. 6 is a schematic diagram of the application of a resource scheduling device provided by this application.
- the system is divided into three layers: cloud computing basic platform layer, global resource scheduling layer, and application environment layer.
- the bottom layer is the cloud computing basic platform layer, including: physical machines and virtual machines on physical machines.
- the global resource scheduling layer includes the resource scheduling device according to the present invention.
- the application environment layer includes: performance modules, system applications, utility functions and application extensions.
- the performance module is used to monitor system performance indicators, such as the number of input and output operations per second (IOPS, Input Output Operations Per Second), the number of concurrent connections, and so on.
- IOPS input and output operations per second
- IOPS Input Output Operations Per Second
- System applications refer to applications at the global level of the system, such as network management applications.
- the utility function refers to the overall evaluation and scoring function of the application usage.
- Application extension refers to the provision of cache, load balancing and other components for application use.
- the resource tag forest construction module first tags the resource nodes and user nodes under all tenants, and calculates weights for all resource nodes, and then the optimal path selection module traverses all resource tag forests to find For the path with the smallest weight, the resource scheduling module schedules the task to the corresponding physical machine and virtual machine on the path with the smallest weight. Finally, the resource tag forest construction module evaluates the resource tag forest as a whole, if it finds CPU occupancy and memory occupancy Physical machine resource nodes or virtual machines with tidal characteristics whose at least one of the storage rate and the storage occupancy rate are greater than 80% are scheduled according to a preset rule.
- Such software may be distributed on a computer-readable medium, and the computer-readable medium may include a computer storage medium (or a non-transitory medium) and a communication medium (or a transitory medium).
- the term computer storage medium includes volatile and non-volatile implementations in any method or technology for storing information (such as computer-readable instructions, data structures, program modules, or other data). Sexual, removable and non-removable media.
- Computer storage media include but are not limited to RAM, ROM, EEPROM, flash memory or other memory technologies, CD-ROM, digital versatile disk (DVD) or other optical disk storage, magnetic cassettes, tapes, magnetic disk storage or other magnetic storage, or can be used Any other medium that can store desired information and can be accessed by a computer.
- a communication medium usually contains computer-readable instructions, data structures, program modules, or other data in a modulated data signal such as a carrier wave or other transmission mechanism, and may include any information delivery medium. .
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Debugging And Monitoring (AREA)
Abstract
Description
Claims (10)
- 一种资源调度方法,包括:根据预先构造的资源标签森林中的资源标签树中的路径的权值从所述资源标签森林中选择最优路径,其中,所述资源标签森林包括:至少一个资源标签树,所述资源标签树的每一条路径从根节点到叶节点依次包括:第一节点、第二节点和第三节点,所述第一节点为租户对应的物理资源对应的节点,所述第二节点为属于所述租户的用户对应的节点,所述第三节点为部署在所述物理资源上且被所述用户管理的虚拟资源对应的节点;以及将任务调度到所述最优路径所经过的第三节点上。
- 根据权利要求1所述的方法,其中,根据预先构造的资源标签森林中的资源标签树中的路径的权值从所述资源标签森林中选择最优路径的步骤包括:遍历所述资源标签森林中的每一个资源标签树中的每一条路径,选择权值最小的路径作为所述最优路径,其中,根据路径所经过的节点的资源占用率确定所述路径的权值。
- 根据权利要求1所述的方法,其中,根据路径所经过的第一节点和第三节点的权值确定所述路径的权值。
- 根据权利要求3所述的方法,其中,根据指定时间段内所述第一节点的CPU占用率、内存占用率和存储占用率确定所述第一节点的权值,并且根据指定时间段内所述第三节点的CPU占用率、内存占用率和存储占用率确定所述第三节点的权值。
- 根据权利要求1-4任一项所述的方法,还包括:将CPU占用率、内存占用率和存储占用率中的至少一项大于预设阈值的第一节点对应的物理资源上的目标用户和所述目标用户管理的虚拟资源,迁移到权值最小的第一节点对应的物理资源上,并且根据迁移后的租户、物理资源、用户和虚拟资源之间的关系重新构造所述资源标签森林,其中,所述目标用户为权值最大的用户,或者权值第二大的用户。
- 根据权利要求5所述的方法,其中,根据用户管理的虚拟资源对应的节点的权值确定所述用户的权值。
- 根据权利要求1-4任一项所述的方法,还包括:在存在潮汐特性的虚拟资源发生潮汐现象之前,在所述存在潮汐特性的虚拟资源所在的物理资源上,克隆出与所述存在潮汐特性的虚拟资源相同的虚拟资源,其中,克隆的虚拟资源与所述存在潮汐特性的虚拟资源的通信地址不同,并且所述克隆的虚拟资源与所述存在潮汐特性的虚拟资源共同承担所述任务;以及在所述存在潮汐特性的虚拟资源发生的潮汐现象结束之后,回收所述克隆的虚拟资源。
- 根据权利要求1-4任一项所述的方法,在根据预先构造的资源标签森林中的资源标签树中的路径的权值从所述资源标签森林中选择最优路径的步骤之前,该方法还包括:根据租户、物理资源、用户和虚拟资源之间的关系构造所述资源标签森林;以及分别为所述资源标签森林中的每一个资源标签树中的每一个第一节点和第三节点赋予对应的权值。
- 一种电子设备,包括:至少一个处理器;存储器,所述存储器上存储有至少一个程序,当所述至少一个程序被所述至少一个处理器执行,使得所述至少一个处理器实现根据权利要求1-8任意一项所述的资源调度方法。
- 一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现根据权利要求1-8任意一项所述的资源调度方法。
Priority Applications (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| EP21829551.7A EP4170491A4 (en) | 2020-06-23 | 2021-06-22 | RESOURCE PLANNING METHOD AND APPARATUS, ELECTRONIC DEVICE AND COMPUTER READABLE STORAGE MEDIUM |
| US18/012,701 US12386680B2 (en) | 2020-06-23 | 2021-06-22 | Resource scheduling based on optimal path of a resource label forest |
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202010584041.5 | 2020-06-23 | ||
| CN202010584041.5A CN113835823B (zh) | 2020-06-23 | 2020-06-23 | 资源调度方法和装置、电子设备、计算机可读存储介质 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2021259246A1 true WO2021259246A1 (zh) | 2021-12-30 |
Family
ID=78964210
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/CN2021/101501 Ceased WO2021259246A1 (zh) | 2020-06-23 | 2021-06-22 | 资源调度方法和装置、电子设备、计算机可读存储介质 |
Country Status (4)
| Country | Link |
|---|---|
| US (1) | US12386680B2 (zh) |
| EP (1) | EP4170491A4 (zh) |
| CN (1) | CN113835823B (zh) |
| WO (1) | WO2021259246A1 (zh) |
Families Citing this family (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN114253698A (zh) * | 2020-09-22 | 2022-03-29 | 中兴通讯股份有限公司 | 资源调度方法、系统、电子设备及存储介质 |
| CN115174582B (zh) * | 2022-09-06 | 2022-11-18 | 中国中金财富证券有限公司 | 数据调度方法及相关装置 |
| CN115936451A (zh) * | 2022-10-24 | 2023-04-07 | 蚂蚁区块链科技(上海)有限公司 | 业务决策的方法和装置 |
| US12386795B2 (en) * | 2024-01-03 | 2025-08-12 | Microsoft Technology Licensing, Llc | Extracting user interactions to generate batches for migration between tenants |
| CN117539594A (zh) * | 2024-01-10 | 2024-02-09 | 中国电子科技集团公司信息科学研究院 | 一种面向像素流程序并发渲染的负载均衡方法 |
| CN117726149B (zh) * | 2024-02-08 | 2024-05-03 | 天津大学 | 一种基于人工智能的智能制造资源配置方法和系统 |
Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US8381220B2 (en) * | 2007-10-31 | 2013-02-19 | International Business Machines Corporation | Job scheduling and distribution on a partitioned compute tree based on job priority and network utilization |
| CN103797463A (zh) * | 2011-07-27 | 2014-05-14 | 阿尔卡特朗讯公司 | 用于在云环境中指派虚拟资源的方法和设备 |
| US20180167487A1 (en) * | 2016-12-13 | 2018-06-14 | Red Hat, Inc. | Container deployment scheduling with constant time rejection request filtering |
| CN110612705A (zh) * | 2017-11-08 | 2019-12-24 | 华为技术有限公司 | 一种无服务器架构下业务部署的方法和函数管理平台 |
| CN111274035A (zh) * | 2020-01-20 | 2020-06-12 | 长沙市源本信息科技有限公司 | 边缘计算环境下的资源调度方法、装置和计算机设备 |
Family Cites Families (10)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US10083051B1 (en) * | 2014-04-11 | 2018-09-25 | VCE IP Holding Company LLC | System, method, and code for classifying resources of a virtual computing environment |
| CN104270421B (zh) * | 2014-09-12 | 2017-12-19 | 北京理工大学 | 一种支持带宽保证的多租户云平台任务调度方法 |
| US10412012B2 (en) * | 2015-09-22 | 2019-09-10 | Arris Enterprises Llc | Intelligent, load adaptive, and self optimizing master node selection in an extended bridge |
| CN105553725B (zh) * | 2015-12-18 | 2018-08-28 | 南京大学 | 一种多租户数据中心软件中间件的部署方法 |
| US10491501B2 (en) * | 2016-02-08 | 2019-11-26 | Ciena Corporation | Traffic-adaptive network control systems and methods |
| CN106598733A (zh) * | 2016-12-08 | 2017-04-26 | 南京航空航天大学 | 一种云计算能耗关键的三维度虚拟资源调度方法 |
| US20180246916A1 (en) * | 2017-02-26 | 2018-08-30 | Microsoft Technology Licensing, Llc | Scalable object service data and metadata overflow |
| CN108196958B (zh) * | 2017-12-29 | 2020-09-29 | 北京泽塔云科技股份有限公司 | 资源调度分配方法、计算机系统及超融合架构系统 |
| CN109039954B (zh) * | 2018-07-25 | 2021-03-23 | 广东石油化工学院 | 多租户容器云平台虚拟计算资源自适应调度方法及系统 |
| US10949261B2 (en) * | 2019-03-27 | 2021-03-16 | Intel Corporation | Automated resource provisioning using double-blinded hardware recommendations |
-
2020
- 2020-06-23 CN CN202010584041.5A patent/CN113835823B/zh active Active
-
2021
- 2021-06-22 US US18/012,701 patent/US12386680B2/en active Active
- 2021-06-22 EP EP21829551.7A patent/EP4170491A4/en not_active Withdrawn
- 2021-06-22 WO PCT/CN2021/101501 patent/WO2021259246A1/zh not_active Ceased
Patent Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US8381220B2 (en) * | 2007-10-31 | 2013-02-19 | International Business Machines Corporation | Job scheduling and distribution on a partitioned compute tree based on job priority and network utilization |
| CN103797463A (zh) * | 2011-07-27 | 2014-05-14 | 阿尔卡特朗讯公司 | 用于在云环境中指派虚拟资源的方法和设备 |
| US20180167487A1 (en) * | 2016-12-13 | 2018-06-14 | Red Hat, Inc. | Container deployment scheduling with constant time rejection request filtering |
| CN110612705A (zh) * | 2017-11-08 | 2019-12-24 | 华为技术有限公司 | 一种无服务器架构下业务部署的方法和函数管理平台 |
| CN111274035A (zh) * | 2020-01-20 | 2020-06-12 | 长沙市源本信息科技有限公司 | 边缘计算环境下的资源调度方法、装置和计算机设备 |
Non-Patent Citations (1)
| Title |
|---|
| See also references of EP4170491A4 * |
Also Published As
| Publication number | Publication date |
|---|---|
| US20230267015A1 (en) | 2023-08-24 |
| CN113835823B (zh) | 2025-10-17 |
| EP4170491A4 (en) | 2024-03-27 |
| EP4170491A1 (en) | 2023-04-26 |
| US12386680B2 (en) | 2025-08-12 |
| CN113835823A (zh) | 2021-12-24 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN113835823B (zh) | 资源调度方法和装置、电子设备、计算机可读存储介质 | |
| US10657106B2 (en) | Method, computing device, and distributed file system for placement of file blocks within a distributed file system | |
| CN106233276B (zh) | 网络可访问块存储装置的协调准入控制 | |
| US10412021B2 (en) | Optimizing placement of virtual machines | |
| US20200287961A1 (en) | Balancing resources in distributed computing environments | |
| CN103929454B (zh) | 一种云计算平台中负载均衡存储的方法和系统 | |
| CN104092756B (zh) | 一种基于dht机制的云存储系统的资源动态分配方法 | |
| US10341208B2 (en) | File block placement in a distributed network | |
| CN111931949A (zh) | 联邦学习环境中的通信 | |
| CN109788046B (zh) | 一种基于改进蜂群算法的多策略边缘计算资源调度方法 | |
| Gao et al. | An energy-aware ant colony algorithm for network-aware virtual machine placement in cloud computing | |
| CN107659433A (zh) | 一种云资源调度方法及设备 | |
| Liu et al. | An economical and SLO-guaranteed cloud storage service across multiple cloud service providers | |
| CN103345508A (zh) | 一种适用于社会网络图的数据存储方法及系统 | |
| WO2020134133A1 (zh) | 一种资源配置方法、变电站及计算机可读存储介质 | |
| CN103731372A (zh) | 一种混合云环境下服务提供者的资源供应方法 | |
| CN114090220B (zh) | 一种分级cpu和内存资源调度方法 | |
| CN108376103A (zh) | 一种云平台的资源平衡控制方法及服务器 | |
| CN102111438B (zh) | 参数调整方法、装置和分布式计算平台系统 | |
| CN106126340A (zh) | 一种跨数据中心云计算系统的规约器选择方法 | |
| CN111506394B (zh) | 一种Docker Swarm容器调度方法及调度系统 | |
| CN110769023A (zh) | 一种基于智能家庭网关的点对点内容分发网络系统 | |
| CN104702654B (zh) | 基于视频云存储系统的存储与提取性能平衡的方法与装置 | |
| CN106487854A (zh) | 存储资源分配方法、装置和系统 | |
| CN106708624B (zh) | 一种多工作域计算资源的自适应调整方法 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| 121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 21829551 Country of ref document: EP Kind code of ref document: A1 |
|
| WWE | Wipo information: entry into national phase |
Ref document number: 202317003677 Country of ref document: IN |
|
| ENP | Entry into the national phase |
Ref document number: 2021829551 Country of ref document: EP Effective date: 20230118 |
|
| NENP | Non-entry into the national phase |
Ref country code: DE |
|
| WWG | Wipo information: grant in national office |
Ref document number: 18012701 Country of ref document: US |
|
| WWW | Wipo information: withdrawn in national office |
Ref document number: 2021829551 Country of ref document: EP |