WO2021093783A1 - Procédé et appareil de planification de ressource en temps réel, dispositif d'ordinateur et support de stockage - Google Patents

Procédé et appareil de planification de ressource en temps réel, dispositif d'ordinateur et support de stockage Download PDF

Info

Publication number
WO2021093783A1
WO2021093783A1 PCT/CN2020/128182 CN2020128182W WO2021093783A1 WO 2021093783 A1 WO2021093783 A1 WO 2021093783A1 CN 2020128182 W CN2020128182 W CN 2020128182W WO 2021093783 A1 WO2021093783 A1 WO 2021093783A1
Authority
WO
WIPO (PCT)
Prior art keywords
pod
real
node
information
result
Prior art date
Application number
PCT/CN2020/128182
Other languages
English (en)
Chinese (zh)
Inventor
陈松
Original Assignee
星环信息科技(上海)股份有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 星环信息科技(上海)股份有限公司 filed Critical 星环信息科技(上海)股份有限公司
Publication of WO2021093783A1 publication Critical patent/WO2021093783A1/fr

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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation 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/5016Allocation 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45583Memory management, e.g. access or allocation

Definitions

  • the embodiments of the present application relate to Internet technology, for example, to a real-time resource scheduling method, device, computer equipment, and storage medium.
  • Kubernetes (also known as K8S) is an open source software framework based on container technology and released under the Apache 2.0 license agreement.
  • Kube-Scheduler is a scheduling module in Kubernetes. It plays the role of a housekeeper and provides scheduling services for the collection of containers Pod (also known as pods).
  • the decision-making factors of Kubernetes system scheduling are: the current resource usage of the cluster, whether the task has been pre-allocated and the size of the requested resource. Based on the above two points of information, the scheduler's decision for Pod scheduling each time is based on a local optimal solution obtained from the current cluster state. However, this scheduling method often has the problem of inconsistency between expectations and actual conditions, resulting in Pod binding to inappropriate working nodes, and Pod scheduling efficiency is low.
  • This application provides a real-time resource scheduling method, device, computer equipment, and storage medium to improve Pod scheduling efficiency.
  • the embodiment of the present application provides a real-time resource scheduling method, including:
  • the Pod When the container set Pod enters the Pod queue, the Pod is screened according to the pre-selection strategy, and the first screening result is obtained;
  • the Pods in the second screening result are sorted according to the preference strategy and/or the real-time preference strategy, and the Pod binding is performed according to the sorting result.
  • the real-time preference strategy includes a strategy of sorting according to the real-time resource usage information of the Pod.
  • An embodiment of the present application also provides a computer device, including a processor and a memory, the memory is used to store instructions, and when the instructions are executed, the processor is caused to perform the following operations:
  • the Pod When the container set Pod enters the Pod queue, the Pod is screened according to the pre-selection strategy, and the first screening result is obtained;
  • the Pods in the second screening result are sorted according to a preference strategy and/or a real-time preference strategy, and Pod binding is performed according to the sorting result.
  • the real-time preference strategy includes a strategy of sorting according to real-time resource usage information of the Pod.
  • the embodiments of the present application also provide a storage medium containing computer-executable instructions, and the computer-executable instructions are used to perform the following operations when executed by a computer processor:
  • the Pod When the container set Pod enters the Pod queue, the Pod is screened according to the pre-selection strategy, and the first screening result is obtained;
  • the Pods in the second screening result are sorted according to a preference strategy and/or a real-time preference strategy, and Pod binding is performed according to the sorting result.
  • the real-time preference strategy includes a strategy of sorting according to real-time resource usage information of the Pod.
  • FIG. 1 is a schematic flowchart of a real-time resource scheduling method in Embodiment 1 of the present application
  • FIG. 2 is a schematic flowchart of a real-time resource scheduling method in Embodiment 2 of the present application
  • FIG. 3 is a schematic flowchart of a real-time resource scheduling method in Embodiment 3 of the present application.
  • FIG. 4 is a schematic flowchart of a real-time resource scheduling method in Embodiment 4 of the present application.
  • FIG. 5 is a schematic flowchart of a real-time resource scheduling method in Embodiment 5 of the present application.
  • FIG. 6 is a schematic flowchart of a real-time resource scheduling method in Embodiment 6 of the present application.
  • FIG. 7 is a schematic structural diagram of a real-time resource scheduling device in Embodiment 7 of the present application.
  • FIG. 8 is a schematic flowchart of a real-time resource scheduling method in Embodiment 7 of the present application.
  • FIG. 9 is a schematic structural diagram of a computer device in Embodiment 8 of the present application.
  • Figure 1 is a flow chart of the real-time resource scheduling method provided in the first embodiment of this application. This embodiment can be applied to the situation of scheduling and binding Pods in a node.
  • the method can be executed by the scheduling module in Kubernetes Kube-Scheduler is executed by hardware equipment, which can be computer equipment such as servers, personal computers, etc.
  • the method includes the following steps:
  • Step 110 When the Pod enters the Pod queue, the Pod is screened according to the preselection strategy to obtain the first screening result.
  • the pre-selection strategy takes all node information as input and outputs the nodes that meet the pre-selection conditions.
  • the screening process can include: kube-scheduler filters out nodes that do not meet the conditions according to the pre-selection strategy. For example, if a node has insufficient resources or does not meet the conditions of the pre-selection strategy, such as "the label of the node cannot match the selector of the Pod", the pre-selection cannot be passed.
  • the preliminary screening of Pods can be achieved through the pre-selection strategy, so as to avoid nodes or Pods that do not meet the conditions from entering the Pod queue.
  • the first screening result is a Pod queue that meets the preselection strategy.
  • Step 120 Acquire real-time resource usage information of the Pod in the first screening result.
  • Real-time resource usage information When each Pod in the first screening result is running, real-time resource usage information that it actually uses can be obtained.
  • Real-time resource usage information may include physical memory usage, central processing unit (CPU), network traffic or load pressure, etc.
  • Step 130 Filter Pods in the first screening result according to the real-time resource usage information to obtain a second screening result.
  • the real-time resource usage information of the Pod exceeds the corresponding threshold, it is determined that the Pod should be removed. For example, filter out Pods that are too high or too low in physical memory usage, too high or too low in CPU utilization, too high or too low in network traffic, or too high or too low in load. Keep pods with actual resource usage information within a reasonable range.
  • Step 140 Sort the Pods in the second screening result according to the preference strategy and/or the real-time preference strategy, and perform Pod binding according to the sort result.
  • the Pods in the second screening result can be sorted according to the preferred strategy, the Pods in the second screening result can be sorted according to the real-time preferred strategy, and the preferred strategy and the real-time preferred strategy can be used together to sort the Pods in the second screening result. put in order.
  • the priority strategy takes the second screening result obtained in step 130 as input, and the scheduler ranks the preselected nodes according to the preferred strategy, and selects the node with the highest score. For example, the more resources and the smaller the load, the higher the score of node.
  • the parameters referenced by the preferred strategy when sorting are the configuration parameters recorded by the Pod in the node, rather than the parameters actually used.
  • Using the priority strategy (Priorities) for scoring and sorting can quickly get the sorting results.
  • the real-time optimization strategy is used for scoring based on the real-time resource usage information of the container set in the second screening result, and sorting based on the scoring result.
  • the Pod can be bound based on the ranking result with a higher score, so that the Pod can be bound to a suitable working node.
  • the Pod when the Pod enters the Pod queue, the Pod is screened according to the preselection strategy to obtain the first screening result; the real-time resource usage information of the Pod in the first screening result is obtained; according to the real-time resource usage The information screens the Pods in the first screening result to obtain the second screening result; sorts the Pods in the second screening result according to the preference strategy and/or real-time preference strategy, and binds the Pods according to the sorting result to achieve the After the Pod queue is screened by the pre-selection strategy, the Pod is screened according to the real-time resource usage information, so that the bound Pod is bound to the appropriate working node according to the real-time resource used, and the Pod scheduling efficiency is improved.
  • Fig. 2 is a flowchart of a real-time resource scheduling method provided in the second embodiment of this application. As an illustration of the foregoing embodiment, the method includes:
  • Step 210 When the Pod enters the Pod queue, the Pod is screened according to the preselection strategy to obtain the first screening result.
  • Step 220 Acquire real-time resource usage information of the Pod in the first screening result.
  • Step 230 Filter Pods in the first screening result according to the real-time resource usage information to obtain a second screening result.
  • Step 240 Calculate the mapping parameters of multiple Pods in the second screening result respectively.
  • the scheduling diagnosis module is divided into a map phase and a reduce phase.
  • the scores of multiple algorithms on the current cluster are obtained by calculating a predefined scheduling scoring algorithm, that is, the map stage.
  • the second stage is the Reduce stage, which integrates multiple scores obtained in the map stage, calculates the variance or standard deviation according to the characteristics of the algorithm, and finally performs the normalization process to obtain the cluster scheduling score.
  • the steps of the map phase are executed.
  • Step 250 executes the Reduce phase.
  • the mapping parameters include at least one or a combination of at least two of the following parameters: BalancedResourceAllocation of resource allocation, InterPodAffinityPriority between container sets, LeastRequestedPriority of resource allocation size, MostRequestedPriority of resource allocation concentration, MostRequestedPriority of resource allocation, and node affinity balance
  • BalancedResourceAllocation of resource allocation InterPodAffinityPriority between container sets
  • LeastRequestedPriority of resource allocation size MostRequestedPriority of resource allocation concentration
  • MostRequestedPriority of resource allocation and node affinity balance
  • the degree of CalculateNodeAffinityPriority, the dispersion degree of container set distribution CalculateSpreadPriority, and the node's taint tolerance degree ComputeTaintTolerationPriority.
  • BalancedResourceAllocation used to indicate the balance of CPU and memory allocation ratio. The calculation process is:
  • Schedule_Map_Score (Prioritize_Score1-Avg) ⁇ 2+...+(Prioritize_ScoreN-Avg) ⁇ 2)/n
  • InterPodAffinityPriority used to describe the degree of affinity distribution among Pods. The calculation process is:
  • Prioritize_Score 10*(sumCount-minCount)/(maxCount-minCount)
  • Schedule_Map_Score sum(affinityCountOnSameNode*weight)/sum(affinityCount)
  • LeastRequestedPriority of resource allocation size used to describe the CPU and Memory allocation size balance. The calculation process is:
  • Prioritize_Score cpu((capacity-sum(requested))*10/capacity)+memory((capacity-sum(requested))*10/capacity)/2
  • Schedule_Map_Score (Prioritize_Score1-Avg) ⁇ 2+...+(Prioritize_ScoreN-Avg) ⁇ 2)/n
  • Prioritize_Score (cpu(10*sum(requested)/capacity)+memory(10* sum(requested)/capacity))/2
  • Schedule_Map_Score (Prioritize_Score1-Avg) ⁇ 2+...+(Prioritize_ScoreN-Avg) ⁇ 2)/n
  • Schedule_Map_Score sum(affinityCountOnNode*weight)/sum(affinityCount)
  • Prioritize_Score 10*(maxCount–nodeCount)/maxCount*node_weight+10*(maxCountByZone–zoneCount)/maxCountByZone*zone_weight
  • Schedule_Map_Score for each RC/Deployment/Statefulset:sum(pod_with_same_host/total_pods*node_weight*10+pod_with_same_zone/total_pods*node_weight*10)/sum(RC+Deployment+Statefulset)
  • Schedule_Map_Score sum(unsatisfiedTolerations)/totalTolerations
  • Step 250 Determine the induction parameter according to the mapping parameter.
  • mapping parameters of multiple Pods can be calculated separately.
  • the calculation formulas of the induction parameters corresponding to different mapping parameters change accordingly. as follows:
  • Schedule_Reduce_Score 100/n*sqrt(Schedule_Map_Score)/10
  • the induction parameters can be obtained according to the mapping parameters.
  • Step 260 Sort the multiple Pods according to the induction parameter, and perform Pod binding according to the sorting result.
  • the sorting can be performed separately according to one or more induction parameters, and then the container set with the highest sorting result or the highest in the average sorting order is used as the sorting result for Pod binding.
  • the real-time resource scheduling method provided by the embodiment of the present application can calculate multiple parameters in the map stage, and respectively converge according to each parameter to obtain the corresponding summary parameter, so as to quantify the operation of the Pod.
  • Pod scheduling according to the inductive parameters can more accurately and effectively schedule Pods and improve scheduling efficiency.
  • the Kubernetes-based scheduling system will experience unbalanced load as tasks change and nodes go offline and online.
  • the following embodiments implement more optimized Pod scheduling by adjusting the Pod in the node.
  • Fig. 3 is a flow chart of the real-time resource scheduling method provided in the third embodiment of the application. As a further description of the foregoing embodiment, the method includes:
  • Step 310 When the Pod enters the Pod queue, the Pod is screened according to the preselection strategy to obtain the first screening result.
  • Step 320 Acquire real-time resource usage information of the Pod in the first screening result.
  • Step 330 Filter Pods in the first screening result according to the real-time resource usage information to obtain a second screening result.
  • Step 340 Obtain load information of the node, where the node includes at least one Pod.
  • Step 350 Migrate part of the tasks of the Pod in the node with a higher load to the node with a lower load.
  • Step 360 Sort the Pods in the second screening result according to the preference strategy and/or the real-time preference strategy, and perform Pod binding according to the sorting result.
  • the real-time resource scheduling method provided by the embodiments of the present application can redistribute load among multiple nodes according to load information, thereby achieving better load balancing.
  • FIG. 4 is a flowchart of a real-time resource scheduling method provided by Embodiment 4 of this application. As an illustration of the foregoing embodiment, the method includes:
  • Step 410 When the Pod enters the Pod queue, the Pod is screened according to the preselection strategy to obtain the first screening result.
  • Step 420 Acquire real-time resource usage information of the Pod in the first screening result.
  • Step 430 Filter the Pods in the first screening result according to the real-time resource usage information to obtain a second screening result.
  • Step 440 Obtain the Taint and Label of the Pod.
  • Step 450 Determine whether the Pod matches the current node according to Taint and Label.
  • Step 460 If the Pod does not match the current node, the Pod is expelled from the current node.
  • Step 470 Schedule the Pod to a new node matching the Taint and Label of the Pod.
  • Step 480 Sort the Pods in the second screening result according to the preference strategy and/or the real-time preference strategy, and perform Pod binding according to the sort result.
  • the embodiment of the application can modify the Pod in the node in time to improve the real-time performance of data.
  • Fig. 5 is a flow chart of a real-time resource scheduling method provided in Embodiment 5 of this application. As an illustration of the foregoing embodiment, the method includes:
  • Step 510 When the Pod enters the Pod queue, the Pod is screened according to the preselection strategy to obtain the first screening result.
  • Step 520 Acquire real-time resource usage information of the Pod in the first screening result.
  • Step 530 Filter Pods in the first screening result according to the real-time resource usage information to obtain a second screening result.
  • Step 540 Obtain the migration information and online information of the Pod in the node.
  • Step 550 When the online information of the Pod is converted from offline to online, migrate the Pod to the original node according to the migration information.
  • Step 560 Sort the Pods in the second screening result according to the preference strategy and/or the real-time preference strategy, and perform Pod binding according to the sort result.
  • the real-time resource scheduling method provided by the embodiment of the present application can maintain the original node configuration mode when the Pod goes online again after going offline, thereby improving resource utilization.
  • FIG. 6 is a flowchart of a real-time resource scheduling method provided by Embodiment 6 of this application. As an illustration of the foregoing embodiment, the method includes:
  • Step 610 When the Pod enters the Pod queue, the Pod is screened according to the preselection strategy to obtain the first screening result.
  • Step 620 Acquire real-time resource usage information of the Pod in the first screening result.
  • Step 630 Filter the Pods in the first screening result according to the real-time resource usage information to obtain a second screening result.
  • Step 640 Obtain the resource application information of the Pod in the node.
  • Step 650 Determine whether the actual resource information of the Pod matches the resource application information of the Pod.
  • Step 660 If the actual resource information of the Pod does not match the resource application information of the Pod, remove the Pod from the node.
  • Step 670 reschedule a new Pod matching the actual resource information to the node.
  • Step 680 Sort the Pods in the second screening result according to the preference strategy and/or the real-time preference strategy, and perform Pod binding according to the sorting result.
  • the real-time resource scheduling method provided by the embodiments of the present application can modify the node configuration according to actual usage conditions, and improve reception reliability.
  • FIG. 7 is a schematic structural diagram of a real-time resource scheduling device provided in the seventh embodiment of the application.
  • the device is located in a hardware device that executes the scheduling module 76Kube-Scheduler in Kubernetes, and includes: a first screening module 71 and a real-time information acquisition module 72 2.
  • the first screening module 71 is set to screen the Pod according to the preselection strategy when the Pod enters the Pod queue to obtain the first screening result; the real-time information acquisition module 72 , Set to obtain real-time resource usage information of Pods in the first screening result; a second screening module 73, set to screen Pods in the first screening result according to real-time resource usage information to obtain a second screening result; sorting module 74 , Set to sort the Pods in the second screening result according to a preference strategy and/or a real-time preference strategy; the binding module 75 is set to bind Pods according to the sorting result, and the real-time preference strategy includes real-time resource usage information of the Pod. Sorting strategy.
  • the sorting module 74 is configured to: respectively calculate the mapping parameters of multiple Pods in the second screening result; determine the induction parameters according to the mapping parameters; and sort the multiple Pods according to the induction parameters.
  • the binding module 75 is set to perform Pod binding according to the sorting result.
  • the mapping parameters include at least one or a combination of at least two of the following parameters: BalancedResourceAllocation of resource allocation, InterPodAffinityPriority between container sets, LeastRequestedPriority of resource allocation size, MostRequestedPriority of resource allocation concentration, MostRequestedPriority of resource allocation, and node affinity balance
  • BalancedResourceAllocation of resource allocation InterPodAffinityPriority between container sets
  • LeastRequestedPriority of resource allocation size MostRequestedPriority of resource allocation concentration
  • MostRequestedPriority of resource allocation and node affinity balance
  • the degree of CalculateNodeAffinityPriority, the dispersion degree of container set distribution CalculateSpreadPriority, and the node's taint tolerance degree ComputeTaintTolerationPriority.
  • a scheduling module 76 is further included.
  • the scheduling module 76 is configured to: obtain load information of a node, where the node includes at least one Pod; Part of the tasks are migrated to the node with lower load.
  • the scheduling module 76 is further configured to obtain the Taint and Label of the Pod before binding the Pod according to the sorting result; determine whether the Pod matches the current node according to the Taint and Label; if the Pod If it does not match the current node, the Pod will be expelled from the current node; the Pod will be scheduled to a new node that matches Taint and Label.
  • the scheduling module 76 is further configured to: obtain the migration information and online information of the Pod in the node; when the online information of the Pod is converted from offline to online, migrate the Pod to the original according to the migration information. node.
  • the scheduling module 76 is further configured to: obtain the resource application information of the Pod in the node; determine whether the actual use resource information of the Pod matches the resource application information of the Pod; if the actual use of the Pod If the resource information does not match the resource application information of the Pod, remove the Pod from the node; reschedule a new Pod matching the actual resource information to the node.
  • the first screening module 71 screens the Pod according to the preselection strategy to obtain the first screening result; the real-time information obtaining module 72 obtains the Pod in the first screening result The second screening module 73 screens the Pods in the first screening result according to the real-time resource usage information to obtain the second screening result; the sorting module 74 selects the second screening result according to the optimization strategy and/or the real-time optimization strategy
  • the Pod in the Pod is sorted, and the binding module 75 performs Pod binding according to the sorting result, and then realizes that after the Pod queue is pre-selected by policy screening, the Pod is filtered according to the real-time resource usage information, so that the bound Pod is based on the real-time usage. Resources are bound to appropriate working nodes to improve Pod scheduling efficiency.
  • the real-time resource scheduling device provided by the embodiment of the present application can execute the real-time resource scheduling method provided by any embodiment of the present application, and has functional modules corresponding to the execution method.
  • FIG. 9 is a schematic structural diagram of a computer device provided in Embodiment 6 of this application.
  • Figure 9 shows a block diagram of an exemplary computer device 912 suitable for implementing embodiments of the present application.
  • the computer device 912 shown in FIG. 9 is only an example, and should not bring any limitation to the function and scope of use of the embodiments of the present application.
  • the computer device 912 is represented in the form of a general-purpose computing device.
  • the components of the computer device 912 may include, but are not limited to: one or more processors 919, a memory 928, and a bus 918 connecting different system components (including the memory 928 and the processor 919).
  • the bus 918 represents one or more of several types of bus structures, including a memory bus or a memory controller, a peripheral bus, a graphics acceleration port, a processor, or a local bus using any bus structure among multiple bus structures.
  • these architectures include, but are not limited to, Industry Standard Architecture (ISA) bus, MicroChannel Architecture (MAC) bus, enhanced ISA bus, Video Electronics Standards Association (Video Electronics Standards Association) , VESA) local bus and Peripheral Component Interconnect (PCI) bus.
  • the computer device 912 includes a variety of computer system readable media. These media can be any available media that can be accessed by the computer device 912, including volatile and nonvolatile media, removable and non-removable media.
  • the memory 928 is configured to store instructions.
  • the memory 928 may include a computer system readable medium in the form of a volatile memory, such as a random access memory (RAM) 930 and/or a cache memory 932.
  • the computer device 912 may further include other removable/non-removable, volatile/nonvolatile computer system storage media.
  • the storage system 934 may be used to read and write non-removable, non-volatile magnetic media (not shown in FIG. 9 and commonly referred to as a "hard drive").
  • a disk drive for reading and writing to a removable non-volatile disk (such as a "floppy disk") and a removable non-volatile optical disk (such as a compact optical disk read-only storage (Compact Disc Read-Only Memory, CD-ROM), high-density CD-ROM (Digital Video Disc Read-Only Memory, DVD-ROM) or other optical media) read and write optical disc drives.
  • each drive may be connected to the bus 918 through one or more data medium interfaces.
  • the memory 928 may include at least one program product, the program product having a set (for example, at least one) of program modules, and these program modules are configured to perform functions of multiple embodiments of the present application.
  • a program/utility tool 940 having a set of (at least one) program module 942 may be stored in, for example, the memory 928.
  • Such program module 942 includes but is not limited to an operating system, one or more application programs, other program modules, and program data Each of these examples or a combination may include the implementation of a network environment.
  • the program module 942 generally executes the functions and/or methods in the embodiments described in this application.
  • the computer device 912 can also communicate with one or more external devices 914 (such as a keyboard, pointing device, display 924, etc.), and can also communicate with one or more devices that enable a user to interact with the computer device 912, and/or communicate with Any device (such as a network card, modem, etc.) that enables the computer device 912 to communicate with one or more other computing devices. Such communication may be performed through an input/output (Input/Output, I/O) interface 922.
  • the computer device 912 may also communicate with one or more networks (for example, a local area network (LAN), a wide area network (WAN), and/or a public network, such as the Internet) through the network adapter 920.
  • networks for example, a local area network (LAN), a wide area network (WAN), and/or a public network, such as the Internet
  • the network adapter 920 communicates with other modules of the computer device 912 through the bus 918.
  • other hardware and/or software modules can be used in conjunction with the computer device 912, including but not limited to: microcode, device drivers, redundant processing units, external disk drive arrays, and disk arrays (Redundant Arrays of Independent). Disks, RAID) systems, tape drives, and data backup storage systems.
  • the processor 919 executes various functional applications and data processing by running instructions stored in the memory 928, for example, performs the following operations:
  • the Pod When the Pod enters the Pod queue, the Pod is screened according to the preselection strategy to obtain the first screening result; the real-time resource usage information of the Pod in the first screening result is obtained; the Pod in the first screening result is determined according to the real-time resource usage information Perform screening to obtain a second screening result; sort the Pods in the second screening result according to a preference strategy and/or a real-time preference strategy, and bind the Pods according to the sorting result.
  • the real-time preference strategy includes Strategies for sorting real-time resource usage information.
  • the processor 919 is configured to sort the Pods in the second screening result according to a preference strategy and/or a real-time preference strategy in the following manner, and to bind the Pods according to the sorting result: respectively calculate the second screening
  • the mapping parameters include at least one or a combination of at least two of the following parameters: BalancedResourceAllocation of resource allocation, InterPodAffinityPriority between container sets, LeastRequestedPriority of resource allocation size, and concentration of resource allocation Degree MostRequestedPriority, node affinity balance degree CalculateNodeAffinityPriority, container set distribution dispersion degree CalculateSpreadPriority, node taint tolerance degree ComputeTaintTolerationPriority.
  • the processor 919 is further configured to: before performing Pod binding according to the sorting result, obtain load information of a node, where the node includes at least one Pod; Part of the tasks of the Pod are migrated to the node with a lower load.
  • the processor 919 is further configured to: before performing Pod binding according to the sorting result, obtain the Taint and Label of the Pod; and determine whether the Pod matches the current node according to the Taint and Label. ; If the Pod does not match the current node, the Pod is expelled from the current node; the Pod is scheduled to a new node that matches the Taint and Label.
  • the processor 919 is also configured to: before performing Pod binding according to the sorting result, obtain the migration information and online information of the Pod in the node; when the online information of the Pod is converted from offline to offline When going online, migrate the Pod to the original node according to the migration information.
  • the processor 919 is further configured to: before performing Pod binding according to the sorting result, obtain the resource application information of the Pod in the node; determine whether the actual resource information of the Pod is the same as that of the Pod. Whether the resource application information matches; if the actual used resource information of the Pod does not match the resource application information of the Pod, remove the Pod from the node; reschedule a new Pod matching the actual used resource information to the node .
  • the ninth embodiment of the present application also provides a storage medium containing computer-executable instructions.
  • the computer-executable instructions are used to perform a real-time resource scheduling method when executed by a computer processor.
  • the method includes: when a Pod enters a Pod queue, Screen Pods according to the preselection strategy to obtain the first screening result; obtain the real-time resource usage information of the Pods in the first screening result; screen the Pods in the first screening result according to the real-time resource usage information to obtain the second screening result;
  • the Pods in the second screening result are sorted according to the preference strategy and/or the real-time preference strategy, and the Pod binding is performed according to the sorting result.
  • the real-time preference strategy includes a strategy of sorting according to the real-time resource usage information of the Pod.
  • Sorting the Pods in the second screening result according to the preference strategy and/or real-time preference strategy, and binding the Pods according to the sorting result including: separately calculating the mapping parameters of multiple Pods in the second screening result; determining according to the mapping parameters Induction parameters: Sort multiple Pods according to the induction parameters, and bind Pods according to the sort results.
  • the mapping parameters include at least one or a combination of at least two of the following parameters: BalancedResourceAllocation of resource allocation, InterPodAffinityPriority between container sets, LeastRequestedPriority of resource allocation size, MostRequestedPriority of resource allocation concentration, MostRequestedPriority of resource allocation, and node affinity balance
  • BalancedResourceAllocation of resource allocation InterPodAffinityPriority between container sets
  • LeastRequestedPriority of resource allocation size MostRequestedPriority of resource allocation concentration
  • MostRequestedPriority of resource allocation and node affinity balance
  • the degree of CalculateNodeAffinityPriority, the dispersion degree of container set distribution CalculateSpreadPriority, and the node's taint tolerance degree ComputeTaintTolerationPriority.
  • the Pod Before binding the Pod according to the sorting result, it also includes: obtaining the load information of the node, where the node contains at least one Pod; and migrating part of the tasks of the Pod in the node with higher load to the node with lower load.
  • the sorting result Before binding the Pod according to the sorting result, it also includes: obtaining the Taint and Label of the Pod; judging whether the Pod matches the current node according to the Taint and Label; if the Pod does not match the current node, the Pod is removed from the current location Evict from the node; dispatch the Pod to a new node matching Taint and Label.
  • the Pod binding according to the sorting result also includes: obtaining the migration information and online information of the Pod in the node; when the online information of the Pod is converted from offline to online, migrate the Pod to the original node according to the migration information.
  • the sorting results Before performing Pod binding according to the sorting results, it also includes: obtaining the resource application information of the Pod in the node; judging whether the actual resource information of the Pod matches the resource application information of the Pod; if the actual resource information of the Pod matches the resource of the Pod If the application information does not match, remove the Pod from the node; reschedule a new Pod matching the actual resource information to the node.
  • a storage medium containing computer-executable instructions provided by an embodiment of the present application and the computer-executable instructions are not limited to the above-mentioned method operations, and can also execute related methods in the real-time resource scheduling method provided by any embodiment of the present application. operating.
  • the computer-readable medium may be a computer-readable signal medium or a computer-readable storage medium.
  • the computer-readable storage medium may be, for example, but not limited to, an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, device, or device, or a combination of any of the above.
  • Examples of computer-readable storage media include: electrical connections with one or more wires, portable computer disks, hard disks, RAM, ROM, erasable programmable read-only memory ((Erasable Programmable Read- Only Memory (EPROM) or flash memory), optical fiber, CD-ROM, optical storage device, magnetic storage device or any suitable combination of the above.
  • the computer-readable storage medium can be any tangible medium that contains or stores a program, and the program can be used by or in combination with an instruction execution system, apparatus, or device.
  • the computer-readable signal medium may include a data signal propagated in a baseband or as a part of a carrier wave, and the computer-readable signal medium carries computer-readable program code. This propagated data signal can take many forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination of the foregoing.
  • the computer-readable signal medium may also be any computer-readable medium other than the computer-readable storage medium.
  • the computer-readable medium may send, propagate, or transmit the program for use by or in combination with the instruction execution system, apparatus, or device .
  • the program code contained on the computer-readable medium can be transmitted by any suitable medium, including but not limited to wireless, wire, optical cable, radio frequency (RF), etc., or any suitable combination of the foregoing.
  • suitable medium including but not limited to wireless, wire, optical cable, radio frequency (RF), etc., or any suitable combination of the foregoing.
  • the computer program code used to perform the operations of this application can be written in one or more programming languages or a combination thereof.
  • the programming languages include object-oriented programming languages—such as Java, Smalltalk, C++, and also conventional Procedural programming language-such as "C" language or similar programming language.
  • the program code can be executed entirely on the user's computer, partly on the user's computer, executed as an independent software package, partly on the user's computer and partly executed on a remote computer, or entirely executed on the remote computer or server.
  • the remote computer may be connected to the user computer through any kind of network including LAN or WAN, or may be connected to an external computer (for example, using an Internet service provider to connect through the Internet).
  • the multiple units and modules included are only divided according to the functional logic, but are not limited to the above division, as long as the corresponding functions can be realized; in addition, the names of the multiple functional units It is only for the convenience of distinguishing each other, and is not used to limit the scope of protection of this application.

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

Procédé et appareil de planification de ressource en temps réel, dispositif d'ordinateur et support de stockage. Le procédé comprend les étapes suivantes consistant : lorsque des pods entrent dans une file d'attente de pods, à balayer des pods selon une stratégie de présélection pour obtenir un premier résultat de balayage (110) ; à acquérir des informations d'utilisation de ressources en temps réel de pods dans le premier résultat de balayage (120) ; selon des informations d'utilisation de ressources en temps réel, à balayer les pods dans le premier résultat de balayage pour obtenir un second résultat de balayage (130) ; et selon une stratégie de sélection optimale et/ou une stratégie de sélection optimale en temps réel, à séquencer les pods dans le second résultat de balayage, et à réaliser une liaison de pod selon un résultat de séquençage, la stratégie de sélection optimale en temps réel comprenant une stratégie de séquençage selon les informations d'utilisation de ressources en temps réel des pods (140).
PCT/CN2020/128182 2019-11-11 2020-11-11 Procédé et appareil de planification de ressource en temps réel, dispositif d'ordinateur et support de stockage WO2021093783A1 (fr)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201911097033.1A CN110851236A (zh) 2019-11-11 2019-11-11 一种实时资源调度方法、装置、计算机设备及存储介质
CN201911097033.1 2019-11-11

Publications (1)

Publication Number Publication Date
WO2021093783A1 true WO2021093783A1 (fr) 2021-05-20

Family

ID=69601205

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2020/128182 WO2021093783A1 (fr) 2019-11-11 2020-11-11 Procédé et appareil de planification de ressource en temps réel, dispositif d'ordinateur et support de stockage

Country Status (2)

Country Link
CN (1) CN110851236A (fr)
WO (1) WO2021093783A1 (fr)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110851236A (zh) * 2019-11-11 2020-02-28 星环信息科技(上海)有限公司 一种实时资源调度方法、装置、计算机设备及存储介质
CN111737003B (zh) * 2020-06-24 2023-04-28 重庆紫光华山智安科技有限公司 Pod均衡调度方法、装置、主节点及存储介质
CN112035062B (zh) * 2020-08-19 2021-09-28 星环信息科技(上海)股份有限公司 云计算的本地存储的迁移方法、计算机设备及存储介质
CN113032102B (zh) * 2021-04-07 2024-04-19 广州虎牙科技有限公司 资源重调度方法、装置、设备和介质
CN115774615A (zh) * 2021-09-08 2023-03-10 中兴通讯股份有限公司 资源调度方法、装置、计算机设备和可读介质
CN114706596B (zh) * 2022-04-11 2023-12-01 中国电信股份有限公司 容器部署方法、资源调度方法、装置、介质和电子设备

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109343947A (zh) * 2018-09-26 2019-02-15 郑州云海信息技术有限公司 一种资源调度方法及装置
US20190095253A1 (en) * 2017-09-22 2019-03-28 Vmware, Inc. Cluster updating using temporary update-monitor pod
CN109783218A (zh) * 2019-01-24 2019-05-21 中国—东盟信息港股份有限公司 一种基于Kubernetes容器集群的与时间相关联的容器调度方法
CN109960585A (zh) * 2019-02-02 2019-07-02 浙江工业大学 一种基于kubernetes的资源调度方法
CN110851236A (zh) * 2019-11-11 2020-02-28 星环信息科技(上海)有限公司 一种实时资源调度方法、装置、计算机设备及存储介质

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108769254B (zh) * 2018-06-25 2019-09-20 星环信息科技(上海)有限公司 基于抢占式调度的资源共享使用方法、系统及设备
CN109167835B (zh) * 2018-09-13 2021-11-26 重庆邮电大学 一种基于kubernetes的物理资源调度方法及系统

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190095253A1 (en) * 2017-09-22 2019-03-28 Vmware, Inc. Cluster updating using temporary update-monitor pod
CN109343947A (zh) * 2018-09-26 2019-02-15 郑州云海信息技术有限公司 一种资源调度方法及装置
CN109783218A (zh) * 2019-01-24 2019-05-21 中国—东盟信息港股份有限公司 一种基于Kubernetes容器集群的与时间相关联的容器调度方法
CN109960585A (zh) * 2019-02-02 2019-07-02 浙江工业大学 一种基于kubernetes的资源调度方法
CN110851236A (zh) * 2019-11-11 2020-02-28 星环信息科技(上海)有限公司 一种实时资源调度方法、装置、计算机设备及存储介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
TANG, RUI: "Research on Resources Scheduling Strategy of Container Cloud Platform Based on Kubernetes", CHINESE MASTER’S THESES FULL-TEXT DATABASE, INFORMATION SCIENCE AND TECHNOLOGY, no. 2, 15 February 2018 (2018-02-15), pages 1 - 95, XP055812654, ISSN: 1674-0246 *

Also Published As

Publication number Publication date
CN110851236A (zh) 2020-02-28

Similar Documents

Publication Publication Date Title
WO2021093783A1 (fr) Procédé et appareil de planification de ressource en temps réel, dispositif d'ordinateur et support de stockage
CN110727512B (zh) 集群资源调度方法、装置、设备及储存介质
CN106790726B (zh) 一种基于Docker云平台的优先级队列动态反馈负载均衡资源调度方法
WO2020000944A1 (fr) Procédé, système et dispositif d'utilisation de partage de ressources à base d'ordonnancement préemptif
JP3823098B2 (ja) グリッド計算ワークロードをネットワーク・ワークステーションに割り当てるためのシステムおよび方法
JP5162579B2 (ja) 作業負荷特性に基づいたホストへの仮想マシンのデプロイ
US9197703B2 (en) System and method to maximize server resource utilization and performance of metadata operations
CA2780231C (fr) Gestion de performance orientee objectif de charge de travail utilisant des accelerateurs
US8881165B2 (en) Methods, computer systems, and physical computer storage media for managing resources of a storage server
CN107222531B (zh) 一种容器云资源调度方法
US6519660B1 (en) Method, system and program products for determining I/O configuration entropy
US7460558B2 (en) System and method for connection capacity reassignment in a multi-tier data processing system network
WO2021136137A1 (fr) Procédé et appareil de planification de ressources, et dispositif associé
US11924117B2 (en) Automated local scaling of compute instances
CN110262897B (zh) 一种基于负载预测的Hadoop计算任务初始分配方法
US7512706B2 (en) Method, computer program product, and data processing system for data queuing prioritization in a multi-tiered network
CN112162835A (zh) 一种异构云环境下实时任务的调度优化方法
US20160062929A1 (en) Master device, slave device and computing methods thereof for a cluster computing system
US8458719B2 (en) Storage management in a data processing system
CN113626173B (zh) 调度方法、装置及存储介质
Sharma et al. A credits based scheduling algorithm with K-means clustering
CN109347982A (zh) 一种数据中心的调度方法及装置
CN116450290A (zh) 计算机资源的管理方法、装置、云服务器及存储介质
WO2024021467A1 (fr) Procédé, dispositif, appareil et support de planification de ressources de grappe
JPH1027167A (ja) 並列計算機の負荷分散方法

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: 20887852

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 20887852

Country of ref document: EP

Kind code of ref document: A1