Process scheduling method and device, equipment, medium and computer program product

Through the Bayesian network model, process performance and migration losses are analyzed, process scheduling is optimized, and the problems of resource contention and migration overhead under the NUMA architecture are solved, and system performance and stability are improved.

CN119225933APending Publication Date: 2024-12-31SHANDONG YUNHAI GUOCHUANG CLOUD COMPUTING EQUIP IND INNOVATION CENT CO LTD
View PDF 0 Cites 3 Cited by

Patent Information

Application Number
CN202411342358.2
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-09-25
Publication Date
2024-12-31

AI Technical Summary

Technical Problem

In a multi-core CPU architecture, under the NUMA memory architecture, the process scheduling mechanism is difficult to effectively evaluate memory resources and processor load, resulting in resource contention and migration overhead, affecting system performance and stability.

Method used

By collecting parameter information of the target process, using preset Bayesian network models to analyze process performance, migration loss and memory resource comparison results, predict process scheduling probability, and decide whether to perform process migration to optimize system performance and resource utilization.

Benefits of technology

It reduces the system efficiency reduction caused by incorrect scheduling, improves system stability and performance, and realizes efficient utilization and scheduling of resources.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119225933A_ABST
    Figure CN119225933A_ABST
Patent Text Reader

Abstract

The invention discloses a process scheduling method and device, equipment, a medium and a computer program product, and relates to the technical field of server process scheduling, and the process scheduling method comprises the following steps: collecting parameter information of a target process running on a current node, and determining a first memory demand of the target process for the current node based on the parameter information; determining a second memory demand of the target process for the target node, and evaluating process performance and process migration loss based on the first memory demand, the second memory demand and a processor load of the current node; comparing the memory resources of the current node and the target node to obtain a comparison result; and analyzing the process performance, the process migration loss and the comparison result by using a preset Bayesian network model to predict a process scheduling probability, and determining whether to schedule the target process from the current node to the target node based on the process scheduling probability. Whether the process needs to be scheduled or not can be accurately evaluated, so that the system performance is optimized, and the system stability is improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the technical field of server process scheduling, and in particular to a process scheduling method, device, equipment, medium and computer program product. Background Art

[0002] In a multi-core CPU architecture, all cores access the same memory resource, which results in resource contention when multiple cores request memory access at the same time. To alleviate bus contention in the memory access process of high-performance computers, the NUMA memory architecture has been widely adopted. Through distributed memory management, NUMA reduces dependence on the global bus, reduces memory access conflicts, optimizes memory access latency, and improves overall system performance. The NUMA architecture manages CPUs and main memory by introducing the concept of Node. A NUMA system consists of multiple NUMA Nodes, each of which is independently equipped with multiple CPUs and corresponding local memory and I / O resources. These local memories directly serve the CPUs in the Node, and the CPUs on the same Node can efficiently access these local memory resources. Multiple Nodes communicate through interconnection buses, allowing the CPU to access remote memory on other Nodes.

[0003] In the Linux kernel, the memory manager allocates memory from the NUMA node where the process is currently located by default, and requests from neighboring nodes when it is insufficient. Although the load balancing mechanism has significant advantages in optimizing system performance and reducing remote memory access latency, it still has certain defects. First, both memory migration and process migration consume system resources and bring certain overheads. Under high load or frequent migration conditions, these overheads may become a bottleneck for system performance; secondly, the load balancing mechanism is not always suitable for all types of applications and workloads. For example, some applications may need to frequently access the memory of all nodes, rather than just the local node. In this case, the load balancing mechanism may not provide a significant performance improvement; in addition, if a node has no memory, but the scheduler mistakenly migrates the process to that node, then the process will have to access remote memory, which will result in performance degradation, such as Figure 1 As shown, Figure 1 In the example, process a and process b need to access the memory in the local node node0, while process c needs to access the memory in the remote node node1. Finally, too many processes on the same node will lead to memory bandwidth competition, which may increase memory access latency and thus reduce process performance.

[0004] In summary, how to accurately evaluate whether a process needs to be scheduled based on the memory resources and process parameters in each node in order to optimize system performance, improve system stability, and achieve efficient resource utilization and scheduling is a problem that needs to be solved. Summary of the invention

[0005] In view of this, the purpose of the present invention is to provide a process scheduling method, device, equipment, medium and computer program product, which can accurately evaluate whether the process needs to be scheduled based on the memory resources and process parameters in each node, so as to optimize system performance, improve system stability, and achieve efficient utilization and scheduling of resources. The specific scheme is as follows:

[0006] In a first aspect, the present application discloses a process scheduling method, comprising:

[0007] Collect parameter information of a target process running on a current node, and determine a first memory requirement of the target process for the current node based on the parameter information;

[0008] Determine a second memory requirement of the target process for the target node, and evaluate process performance and process migration loss based on the first memory requirement, the second memory requirement, and a processor load of the current node;

[0009] Comparing the memory resources of the current node and the target node to obtain a comparison result;

[0010] The process performance, the process migration loss and the comparison result are analyzed using a preset Bayesian network model to predict the process scheduling probability, and whether to schedule the target process from the current node to the target node is determined based on the process scheduling probability.

[0011] Optionally, the parameter information includes a page fault rate, a page swap-in amount, and a page swap-out amount;

[0012] Accordingly, the parameter information of the target process running on the current node is collected, including:

[0013] When the target process is executed on the current node, counting the target number of page fault exceptions of file pages and anonymous pages, and performing a ratio operation on the target number of times and the total number of times the target process executes instructions, so as to use the ratio operation result as the page fault rate;

[0014] When the target process is executed on the current node, the page swap-in amount and the page swap-out amount of the anonymous page are counted.

[0015] Optionally, determining the first memory requirement of the target process for the current node based on the parameter information includes:

[0016] Identify pre-built memory requirements assessment models;

[0017] The page fault rate, the page swap-in amount, and the page swap-out amount are input into the memory demand assessment model to obtain a first memory demand of the target process for the current node.

[0018] Optionally, the process of constructing the memory requirement evaluation model includes:

[0019] Using the page swap-in amount and the page swap-out amount as parameter variables to construct a target ratio expression;

[0020] Corresponding weight coefficients are assigned to the parameter variables representing the page fault rate and the target ratio expression to construct the memory demand assessment model.

[0021] Optionally, determining the second memory requirement of the target process for the target node includes:

[0022] Get the current page fault rate, current page swap-in amount, and current page swap-out amount obtained by statistics when the target node runs the corresponding process;

[0023] A second memory demand of the target process on the target node is predicted based on the current page fault rate, the current page swap-in amount, and the current page swap-out amount.

[0024] Optionally, the processor of the current node is a central processing unit;

[0025] Accordingly, determining the processor load of the current node includes:

[0026] Determining the running time of the central processing unit in the current node within a preset observation period;

[0027] Get the weight value of each process in the ready queue from the preset scheduler, and sum the weight values ​​of all processes to get the total weight value;

[0028] The load of the central processing unit is calculated based on the running time, the total time of the preset observation period and the total weight value.

[0029] Optionally, the calculating the load of the central processing unit based on the running time, the total time of the preset observation period and the total weight value includes:

[0030] Determine the ratio of the running time to the total time of the preset observation period;

[0031] The product of the ratio result and the total weight value is used as the load of the central processing unit.

[0032] Optionally, the evaluating process performance and process migration loss based on the first memory requirement, the second memory requirement, and the processor load of the current node includes:

[0033] Determine a first set of weight coefficients, and use the first set of weight coefficients to perform weighted calculation on the first memory requirement and the processor load of the current node to evaluate the process performance of the target process;

[0034] A second set of weight coefficients is determined, and the first memory requirement, the second memory requirement, and the processor load of the current node are weightedly calculated using the second set of weight coefficients to evaluate the process migration loss of the target process from the current node to the target node.

[0035] Optionally, the process migration loss is positively correlated with the first memory requirement, and negatively correlated with the second memory requirement and the processor load of the current node.

[0036] Optionally, the comparing the memory resources of the current node and the target node to obtain a comparison result includes:

[0037] Determine a first occupancy rate of memory in the current node, and determine a second occupancy rate of memory in the target node;

[0038] A ratio operation is performed on the first occupancy rate and the second occupancy rate to obtain a comparison result of memory resources between the current node and the target node.

[0039] Optionally, the process scheduling method further includes:

[0040] The parameter information, the first memory requirement, the second memory requirement, the processor load of the current node, the process performance, the process migration loss, the comparison result and the process scheduling probability are used as graph nodes, and the action relationship between the graph nodes is used as an edge to construct a directed acyclic graph;

[0041] The conditional probability distribution of each of the graph nodes is determined to construct the preset Bayesian network model based on the directed acyclic graph and the conditional probability distribution.

[0042] Optionally, in the directed acyclic graph, the graph node where the parameter information is located is the parent node of the graph node where the first memory requirement is located, the graph nodes where the first memory requirement and the processor load of the current node are respectively located are the parent nodes of the graph node where the process performance is located, the graph nodes where the first memory requirement, the processor load of the current node and the second memory requirement are respectively located are the parent nodes of the graph node where the process migration loss is located, and the graph nodes where the process performance, the process migration loss and the comparison result are respectively located are the parent nodes of the graph node where the process scheduling probability is located.

[0043] Optionally, determining the conditional probability distribution of each of the graphic nodes includes:

[0044] For any graphic node in the directed acyclic graph, determine a state value of a target parent node corresponding to the any graphic node;

[0045] Based on the state value of the target parent node, the conditional probability distribution of any of the graph nodes is determined using a maximum likelihood estimation method.

[0046] Optionally, after determining the conditional probability distribution of each of the graphic nodes, the method further includes:

[0047] A corresponding conditional probability table is constructed for each graph node; wherein each row of the conditional probability table is a combination of state values ​​of all parent nodes of the graph node and corresponding probability values.

[0048] Optionally, the using a preset Bayesian network model to analyze the process performance, the process migration loss and the comparison result to predict the process scheduling probability includes:

[0049] Obtaining a target condition probability table corresponding to the process scheduling probability, and searching the target row in the target condition probability table for a combination matching the process performance, the process migration loss, and the current state value of the comparison result;

[0050] The probability value corresponding to the target row is used as the predicted process scheduling probability.

[0051] Optionally, the using a preset Bayesian network model to analyze the process performance, the process migration loss and the comparison result to predict the process scheduling probability includes:

[0052] Obtaining a target condition probability table corresponding to the process scheduling probability, and searching the target row in the target condition probability table for a combination matching the process performance, the process migration loss, and the current state value of the comparison result;

[0053] The probability value corresponding to the target row is used as the predicted process scheduling probability.

[0054] In a second aspect, the present application discloses a process scheduling device, comprising:

[0055] A memory requirement determination module, configured to collect parameter information of a target process running on a current node, and determine a first memory requirement of the target process for the current node based on the parameter information;

[0056] An evaluation module, configured to determine a second memory requirement of the target process for the target node, and evaluate process performance and process migration loss based on the first memory requirement, the second memory requirement, and a processor load of the current node;

[0057] A node resource comparison module, used to compare the memory resources of the current node and the target node to obtain a comparison result;

[0058] The scheduling module is used to analyze the process performance, the process migration loss and the comparison result by using a preset Bayesian network model to predict the process scheduling probability, and determine whether to schedule the target process from the current node to the target node based on the process scheduling probability.

[0059] In a third aspect, the present application discloses an electronic device, comprising:

[0060] Memory, used to store computer programs;

[0061] The processor is used to execute the computer program to implement the steps of the process scheduling method disclosed above.

[0062] In a fourth aspect, the present application discloses a computer-readable storage medium for storing a computer program; wherein, when the computer program is executed by a processor, the steps of the process scheduling method disclosed above are implemented.

[0063] In a fifth aspect, the present application discloses a computer program product, including a computer program / instruction, which implements the steps of the aforementioned process scheduling method when executed by a processor.

[0064] It can be seen that the present application collects parameter information of the target process running on the current node, and determines the first memory requirement of the target process for the current node based on the parameter information; determines the second memory requirement of the target process for the target node, and evaluates the process performance and process migration loss based on the first memory requirement, the second memory requirement and the processor load of the current node; compares the memory resources of the current node and the target node to obtain a comparison result; uses a preset Bayesian network model to analyze the process performance, the process migration loss and the comparison result to predict the process scheduling probability, and determines whether to schedule the target process from the current node to the target node based on the process scheduling probability.

[0065] Beneficial effects: This application can determine the first memory requirement of the target process for the current node by collecting parameter information of the target process running on the current node, and further evaluate the process performance and process migration loss based on the first memory requirement, the second memory requirement of the target process for the target node and the processor load of the current node. Among them, by quantifying the processor load of the current node, it is possible to evaluate the dependence and utilization efficiency of the process on processor resources when processing computing tasks, thereby fully reflecting the performance of the process in the operating system, and because the migration of processes between different nodes will consume system resources, by considering the memory requirements of the target process at the current node and the target node respectively and the processor load of the current node, the loss caused by the migration can be jointly evaluated. In addition, the memory resources of the current node and the target node are compared to further evaluate the loss and feasibility of the migration to ensure the reliability of the overall system. Finally, the present application takes into account that the Bayesian network is a probabilistic graphical model that can intuitively represent the dependencies between various variables in a graphical manner and can predict the values ​​of unknown variables based on the observed values ​​of known variables. Therefore, the present application uses a preset Bayesian network model to analyze process performance, process migration loss and comparison results to predict the process scheduling probability, thereby determining whether to schedule the target process from the current node to the target node based on the process scheduling probability. The above scheme, by using the Bayesian network, can accurately assess whether the process needs to be scheduled based on the memory resources, process parameters, etc. in each node, thereby reducing the problem of reduced efficiency of the entire system due to incorrect scheduling, improving the stability of the system, optimizing system performance, and achieving efficient utilization and scheduling of resources. BRIEF DESCRIPTION OF THE DRAWINGS

[0066] In order to more clearly illustrate the embodiments of the present application or the technical solutions in the prior art, the drawings required for use in the embodiments or the description of the prior art will be briefly introduced below. Obviously, the drawings described below are only embodiments of the present invention. For ordinary technicians in this field, other drawings can be obtained based on the provided drawings without paying creative work.

[0067] Figure 1 A memory access schematic diagram disclosed in this application;

[0068] Figure 2 A flow chart of a process scheduling method disclosed in this application;

[0069] Figure 3 A specific process scheduling method flow chart disclosed in this application;

[0070] Figure 4 A Bayesian network diagram of process scheduling disclosed in this application;

[0071] Figure 5 This is a schematic diagram of the structure of a process scheduling device disclosed in this application;

[0072] Figure 6 This is a structural diagram of an electronic device disclosed in this application. DETAILED DESCRIPTION

[0073] The following will be combined with the drawings in the embodiments of the present application to clearly and completely describe the technical solutions in the embodiments of the present application. Obviously, the described embodiments are only part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without making creative work are within the scope of protection of the present invention.

[0074] Currently, in the Linux kernel, the memory manager defaults to allocating memory from the NUMA node where the process is currently located, and requests from neighboring nodes when insufficient. Although the load balancing mechanism has significant advantages in optimizing system performance and reducing remote memory access latency, it still has certain defects. First, both memory migration and process migration consume system resources and bring certain overheads. Under high load or frequent migration conditions, these overheads may become a bottleneck for system performance; second, the load balancing mechanism is not always suitable for all types of applications and workloads. For example, some applications may need to frequently access the memory of all nodes instead of only the local node. In this case, the load balancing mechanism may not provide a significant performance improvement; in addition, if a node has no memory, but the scheduler mistakenly migrates the process to the node, the process will have to access remote memory, which will result in performance degradation; finally, too many processes on the same node will lead to memory bandwidth competition, which may increase memory access latency and thus reduce process performance.

[0075] To this end, the embodiments of the present application disclose a process scheduling method, apparatus, device and medium, which can accurately evaluate whether the process needs to be scheduled based on the memory resources, process parameters, etc. in each node, so as to optimize system performance, improve system stability, and achieve efficient utilization and scheduling of resources.

[0076] See also Figure 2 As shown, the embodiment of the present application discloses a process scheduling method, which includes:

[0077] Step S11: collecting parameter information of a target process running on a current node, and determining a first memory requirement of the target process for the current node based on the parameter information.

[0078] In this embodiment, by collecting parameter information of the target process running on the current node, the first memory requirement of the target process on the current node can be determined. That is, this application needs to determine the local memory occupied by the target process, or local memory consumption.

[0079] Step S12: Determine a second memory requirement of the target process for the target node, and evaluate process performance and process migration loss based on the first memory requirement, the second memory requirement, and the processor load of the current node.

[0080] In this embodiment, it is also necessary to determine the second memory requirement of the target process for the target node, that is, this application also needs to determine the remote memory that the target process may occupy, or called remote memory consumption.

[0081] Further, the process performance and process migration loss are evaluated according to the first memory requirement, the second memory requirement of the target process for the target node, and the processor load of the current node. Among them, by quantifying the processor load of the current node, the dependence and utilization efficiency of the process on the processor resources when processing the computing task can be evaluated, so as to fully reflect the performance of the process in the operating system, and because the migration of the process between different nodes will consume system resources, the loss caused by the migration can be jointly evaluated by considering the memory requirements of the target process at the current node and the target node respectively and the processor load of the current node.

[0082] In a specific implementation, the process performance and process migration loss are evaluated based on the first memory requirement, the second memory requirement, and the processor load of the current node, including: determining a first weight coefficient set, and using the first weight coefficient set to perform weighted calculation on the first memory requirement and the processor load of the current node to evaluate the process performance of the target process; determining a second weight coefficient set, and using the second weight coefficient set to perform weighted calculation on the first memory requirement, the second memory requirement, and the processor load of the current node to evaluate the process migration loss of the target process from the current node to the target node. That is, when evaluating the process performance of the target process, the first memory requirement and the processor load of the current node are specifically considered, and the process performance is evaluated by performing weighted calculation on the two parameters; and when evaluating the process migration loss of migrating the target process from the current node to the target node, the first memory requirement, the second memory requirement, and the processor load of the current node are specifically considered, and the process migration loss is evaluated by performing weighted calculation on the three parameters.

[0083] Specifically, the process migration loss is positively correlated with the first memory requirement, and negatively correlated with the second memory requirement and the processor load of the current node.

[0084] It is understandable that the migration of a process between two nodes will occupy processor and memory resources, resulting in process migration loss. Process migration loss is related to the local memory, remote memory and processor load occupied by the process. The cross-node process migration loss is negatively correlated with the remote memory consumption and processor load of the process, and positively correlated with the local memory consumption. The function expression is:

[0085] ;

[0086] Among them, ML is the migration loss across nodes, M local is the local memory consumption, M remote is the remote memory consumption, L avgis the processor load, and W0-W2 are the weights.

[0087] Step S13: Compare the memory resources of the current node and the target node to obtain a comparison result.

[0088] In this embodiment, the memory resources of the current node and the target node are compared to further evaluate the loss and feasibility of the migration, so as to ensure the reliability of the overall system.

[0089] In a specific implementation, the comparison of the memory resources of the current node and the target node to obtain a comparison result includes: determining a first occupancy rate of the memory in the current node, and determining a second occupancy rate of the memory in the target node; performing a ratio operation on the first occupancy rate and the second occupancy rate to obtain a comparison result for memory resources between the current node and the target node. That is, the present application mainly calculates the ratio of the memory occupancy rates in the current node and the target node to obtain a comparison result for memory resources between the current node and the target node. If the ratio of the memory occupancy rates of the target node and the current node is greater than a specified threshold, it indicates that the target node has more memory-intensive processes, and it is not recommended to migrate the current process to the target node. The threshold can be set to 1.5, for example.

[0090] Step S14: Analyze the process performance, the process migration loss and the comparison result using a preset Bayesian network model to predict the process scheduling probability, and determine whether to schedule the target process from the current node to the target node based on the process scheduling probability.

[0091] In this embodiment, considering that the Bayesian network is a probabilistic graphical model that can intuitively represent the dependency relationship between various variables in a graphical manner and can predict the value of unknown variables based on the observed values ​​of known variables, this application uses a preset Bayesian network model to analyze process performance, process migration loss and comparison results to predict the process scheduling probability, thereby determining whether to schedule the target process from the current node to the target node based on the process scheduling probability. The above scheme, by using the Bayesian network, can accurately evaluate whether the process needs to be scheduled based on the memory resources, process parameters, etc. in each node, thereby reducing the problem of reduced efficiency of the entire system due to incorrect scheduling, improving the stability of the system, optimizing system performance, and achieving efficient utilization and scheduling of resources.

[0092] In a specific implementation, the determining whether to schedule the target process from the current node to the target node based on the process scheduling probability includes: if the process scheduling probability exceeds a preset probability threshold, determining to schedule the target process from the current node to the target node; if the process scheduling probability does not exceed the preset probability threshold, continuing to run the target process at the current node. That is, after the process scheduling probability is predicted by the Bayesian network, if the process scheduling probability exceeds the preset probability threshold, the target process is scheduled from the current node to the target node, otherwise the target process continues to run at the current node.

[0093] It can be seen that the present application collects parameter information of the target process running on the current node, and determines the first memory requirement of the target process for the current node based on the parameter information; determines the second memory requirement of the target process for the target node, and evaluates the process performance and process migration loss based on the first memory requirement, the second memory requirement and the processor load of the current node; compares the memory resources of the current node and the target node to obtain a comparison result; uses a preset Bayesian network model to analyze the process performance, the process migration loss and the comparison result to predict the process scheduling probability, and determines whether to schedule the target process from the current node to the target node based on the process scheduling probability.

[0094] Beneficial effects: This application can determine the first memory requirement of the target process for the current node by collecting parameter information of the target process running on the current node, and further evaluate the process performance and process migration loss based on the first memory requirement, the second memory requirement of the target process for the target node and the processor load of the current node. Among them, by quantifying the processor load of the current node, it is possible to evaluate the dependence and utilization efficiency of the process on processor resources when processing computing tasks, thereby fully reflecting the performance of the process in the operating system, and because the migration of processes between different nodes will consume system resources, by considering the memory requirements of the target process at the current node and the target node respectively and the processor load of the current node, the loss caused by the migration can be jointly evaluated. In addition, the memory resources of the current node and the target node are compared to further evaluate the loss and feasibility of the migration to ensure the reliability of the overall system. Finally, the present application takes into account that the Bayesian network is a probabilistic graphical model that can intuitively represent the dependencies between various variables in a graphical manner and can predict the values ​​of unknown variables based on the observed values ​​of known variables. Therefore, the present application uses a preset Bayesian network model to analyze process performance, process migration loss and comparison results to predict the process scheduling probability, thereby determining whether to schedule the target process from the current node to the target node based on the process scheduling probability. The above scheme, by using the Bayesian network, can accurately assess whether the process needs to be scheduled based on the memory resources, process parameters, etc. in each node, thereby reducing the problem of reduced efficiency of the entire system due to incorrect scheduling, improving the stability of the system, optimizing system performance, and achieving efficient utilization and scheduling of resources.

[0095] See also Figure 3 As shown, the embodiment of the present application discloses a specific process scheduling method. Compared with the previous embodiment, this embodiment further explains and optimizes the technical solution. Specifically, it includes:

[0096] Step S21: Collect parameter information of the target process running on the current node; the parameter information includes page fault rate, page swap-in amount and page swap-out amount.

[0097] In this embodiment, when the target process runs on the current node, the parameter information mainly needs to be collected, including page fault rate, page swap-in amount, page swap-out amount, etc. In a specific implementation, these process resource information can be collected periodically.

[0098] It should be pointed out that during the operation of an application, memory management involves two main types of pages: file pages and anonymous pages. Both types of pages may encounter page faults during process execution. Page faults are an exception triggered by hardware when a process attempts to access a page that is not currently in physical memory. File pages are usually associated with file data on disk, while anonymous pages are used to store dynamically allocated data in the heap and stack. The frequency of page faults can be used as an indicator to evaluate the real-time performance of an application. When the system memory is under pressure, the application will experience page swapping in and out operations, which will cause the application performance to degrade. Therefore, the two parameters of page swapping in and out can effectively reflect the memory requirements of anonymous pages in the application.

[0099] Specifically, the parameter information of the target process running on the current node is collected, including: when the target process is executed on the current node, counting the target number of page fault exceptions of file pages and anonymous pages, and performing a ratio operation on the target number and the total number of times the target process executes instructions, so as to use the ratio operation result as the page fault rate; when the target process is executed on the current node, counting the page swap-in amount and the page swap-out amount of the anonymous page. Therefore, by performing a ratio operation on the target number of page fault exceptions of file pages and anonymous pages and the total number of times the target process executes instructions, the page fault rate can be calculated. In addition, during the execution of the target process, the page swap-in amount and the page swap-out amount of the anonymous page need to be counted.

[0100] Step S22: determine a pre-built memory demand assessment model, and input the page fault rate, the page swap-in amount, and the page swap-out amount into the memory demand assessment model to obtain a first memory demand of the target process for the current node.

[0101] This embodiment pre-builds a memory demand assessment model. By inputting the page fault rate, the page swap-in amount, and the page swap-out amount into the memory demand assessment model, the first memory demand of the target process for the current node can be obtained.

[0102] The construction process of the memory demand assessment model includes: using the page swap-in amount and the page swap-out amount as parameter variables to construct a target ratio expression; assigning corresponding weight coefficients to the parameter variables characterized by the page fault rate and the target ratio expression to construct the memory demand assessment model. The expression of the memory demand assessment model is as follows:

[0103] ;

[0104] Among them, P represents the first memory requirement, w1 represents the weight size, and RPF Indicates the page fault rate, S i Indicates the amount of page swapping in, S o Indicates the amount of page swapped out.

[0105] It is understandable that the lower the page fault rate, the more stable the memory demand is, and the smaller the memory demand is. Therefore, migration can be considered. In addition, when the page swap-in of a process is much larger than the page swap-out, it may be because the process needs more memory resources and the physical memory is insufficient. When the page swap-in and page swap-out are relatively close, it indicates that there is frequent page replacement in the system. Although the memory demand changes little, the frequent swapping out and in of pages may lead to performance uncertainty. If the page swap-out is much larger than the page swap-in and no page swap-in is triggered, it may mean that the system is actively reclaiming pages and is suitable for migration. Therefore, according to the above analysis, the smaller the value of P, the smaller the memory access demand of the process and the more stable the process.

[0106] Step S23: Determine a second memory requirement of the target process for the target node, and evaluate process performance and process migration loss based on the first memory requirement, the second memory requirement, and the processor load of the current node.

[0107] In this embodiment, the determining of the second memory demand of the target process for the target node includes: obtaining the current page fault rate, the current page swap-in amount, and the current page swap-out amount obtained by statistics when the target node runs the corresponding process; and predicting the second memory demand of the target process for the target node based on the current page fault rate, the current page swap-in amount, and the current page swap-out amount. That is, when determining the remote memory consumption, it is also predicted based on the current page fault rate, the current page swap-in amount, and the current page swap-out amount in the target node.

[0108] In a specific implementation, the processor of the current node is a central processing unit; accordingly, determining the processor load of the current node includes: determining the running time of the central processing unit in the current node within a preset observation period; obtaining the weight value of each process in the ready queue from the preset scheduler, and summing the weight values ​​of all processes to obtain a total weight value; and calculating the load of the central processing unit based on the running time, the total time of the preset observation period, and the total weight value. That is, when calculating the load of an important processor, the present application needs to take into account the running time of the central processing unit in the current node within the preset observation period, that is, the time actually used by the central processing unit to execute tasks, and also needs to take into account the total weight value of all processes in the ready queue and the total time of the preset observation period. The total time includes the time when the central processing unit executes tasks (that is, the running time) and the time when the central processing unit is idle. The total time is fixed, usually a sampling period, such as 1 minute or 5 minutes. Among them, the weight value of each process in the ready queue can be obtained from the preset scheduler. The total weight of all processes in the ready queue refers to the total weight of all processes in the ready queue. Generally, in the Linux CFS (Completely Fair Scheduler) scheduler, each process has a weight. The higher the weight, the greater the share of CPU time obtained by the process. The weights of all processes in the ready queue are added together to get the total weight.

[0109] The calculation of the CPU load based on the running time, the total time of the preset observation period and the total weight value includes: determining the ratio between the running time and the total time of the preset observation period; and taking the product of the ratio and the total weight value as the CPU load. In this embodiment, the CPU load is calculated as follows:

[0110] CPU load = (running time / total time) × total weight of all processes in the ready queue.

[0111] Step S24: Compare the memory resources of the current node and the target node to obtain a comparison result.

[0112] Step S25: Analyze the process performance, the process migration loss and the comparison result using a preset Bayesian network model to predict the process scheduling probability, and determine whether to schedule the target process from the current node to the target node based on the process scheduling probability.

[0113] First of all, it should be pointed out that the Bayesian network captures the dependencies between variables by combining graphical representation and probability information. The network consists of two parts: one is the graphical model, that is, a directed graph without cycles; the other is the probability distribution associated with each node in the graph. Specifically, the Bayesian network can be represented as B=(G,P), where G is a DAG (Directed Acyclic Graph) consisting of nodes V and edges E connecting these nodes, which is used to depict the structural relationship between variables; P is a set of conditional probabilities that describes the probabilistic dependencies between nodes.

[0114] In the graph of a Bayesian network, the direction of the edge indicates the potential influence between variables, that is, how one variable (parent node) affects another variable (child node). This directed connection reflects the causal or association relationship between variables and ensures that there are no loops in the network. Each node is accompanied by a conditional probability distribution, which defines the probabilistic behavior of the node given the state of its parent node. In this way, the Bayesian network can express and reason about complex relationships between variables in the form of probability. Based on the occupancy of processes and node resources in the node, the impact of different factors on process scheduling between nodes is constructed, thereby establishing a Bayesian network model.

[0115] In this embodiment, the process of establishing the preset Bayesian network model specifically includes: using the parameter information, the first memory requirement, the second memory requirement, the processor load of the current node, the process performance, the process migration loss, the comparison result and the process scheduling probability as graph nodes, and using the interaction relationship between each of the graph nodes as an edge to construct a directed acyclic graph; determining the conditional probability distribution of each of the graph nodes, so as to construct the preset Bayesian network model based on the directed acyclic graph and the conditional probability distribution. Figure 4 As shown, the graph nodes are, from top to bottom and from left to right, the page fault rate, page swap in and out amount, comparison result, first memory requirement, processor load, second memory requirement, node resources, process performance, process migration loss, and process scheduling probability in the parameter information. Furthermore, a directed acyclic graph is constructed with the interaction relationship between each graph node as an edge, and then the conditional probability distribution of each graph node is determined, thereby constructing a preset Bayesian network model based on the directed acyclic graph and the conditional probability distribution.

[0116] In this embodiment, all parent nodes of the process scheduling probability are set to be x1-x9 from top to bottom and from left to right, and the process scheduling node is set to x 10 ,Depend on Figure 4 The final process scheduling probability formula is:

[0117] .

[0118] Specifically, in the directed acyclic graph, the graph node where the parameter information is located is the parent node of the graph node where the first memory requirement is located, the graph nodes where the first memory requirement and the processor load of the current node are respectively located are the parent nodes of the graph node where the process performance is located, the graph nodes where the first memory requirement, the processor load of the current node and the second memory requirement are respectively located are the parent nodes of the graph node where the process migration loss is located, and the graph nodes where the process performance, the process migration loss and the comparison result are respectively located are the parent nodes of the graph node where the process scheduling probability is located. That is, Figure 4 As shown, the page fault rate and page swapping represented by the parameter information can determine the first memory demand, so the graph node where the parameter information is located is the parent node of the graph node where the first memory demand is located; similarly, the graph nodes where the first memory demand and the processor load are respectively located are the parent nodes of the graph node where the process performance is located, the graph nodes where the first memory demand, the processor load and the second memory demand are respectively located are the parent nodes of the graph node where the process migration loss is located, the graph node where the comparison result is located is the parent node of the graph node where the node resources are located, and the graph nodes where the process performance, the process migration loss and the node resources are respectively located are the parent nodes of the graph node where the process scheduling probability is located.

[0119] In a specific implementation, the above-mentioned determination of the conditional probability distribution of each of the graphic nodes includes: for any graphic node in the directed acyclic graph, determining the state value of the target parent node corresponding to any of the graphic nodes; based on the state value of the target parent node, determining the conditional probability distribution of any of the graphic nodes using the maximum likelihood estimation method. It can be understood that the present application needs to determine the conditional probability distribution of each graphic node in the Bayesian network, specifically, according to the state value of its target parent node, using the maximum likelihood estimation method to determine the conditional probability distribution of each graphic node. That is, the present application estimates the size of the conditional probability through the collected observation data of various parameter indicators, trains the Bayesian network through the existing collected data, and finally obtains the conditional probability distribution of each node.

[0120] Furthermore, after determining the conditional probability distribution of each of the graphic nodes, the method further includes: constructing a corresponding conditional probability table for each graphic node; wherein each row of the conditional probability table is a combination of state values ​​of all parent nodes of the graphic node and the corresponding probability value. In a Bayesian network, a conditional probability table (CPT) is used to represent the conditional probability distribution of a node given a parent node. The CPT is a table in which each row represents a combination of state values ​​of a parent node, and each column represents a possible state of the current node. Each entry in the CPT contains the probability that the current node is in a certain state under a specific combination of parent node states. For example, if a node has three parent nodes, each of which has two possible states, then the CPT will have 8 rows, corresponding to all possible combinations of state values ​​of the parent nodes.

[0121] The ultimate purpose of this embodiment is to determine the process scheduling probability. Therefore, the preset Bayesian network model is used to analyze the process performance, the process migration loss and the comparison result to predict the process scheduling probability, including: obtaining a target condition probability table corresponding to the process scheduling probability, and searching the target row from the target condition probability table for a combination that matches the current state value of the process performance, the process migration loss and the comparison result; and using the probability value corresponding to the target row as the predicted process scheduling probability.

[0122] like Figure 4 As shown in the figure, "Process Scheduling Probability" is a graph node, and its parent nodes include "Node Resources", "Process Performance" and "Process Migration Loss". To calculate the probability of "Process Scheduling" under a given parent node state. The following are the steps of the calculation process:

[0123] 1. Determine the parent node status: First, you need to know the specific status of "node resources", "process performance" and "process migration loss". It should be pointed out that since the node resource has only one parent node "comparison result", the status value of the node resource is determined only by the comparison result.

[0124] Assume that "node resources" has two states: high and low, "process performance" has two states: good and bad, and "process migration loss" also has two states: high and low.

[0125] 2. Construct CPT: Construct a CPT for the "Process Scheduling" node, which contains the probability distribution of all parent node state combinations. As shown in Table 1:

[0126] Table 1

[0127]

[0128] 3. Calculate the probability: Assuming that the current "node resources" are high, the "process performance" is good, and the "process migration loss" is high, you can directly find the corresponding rows and columns from the CPT and get the probability of "process scheduling probability" is P1.

[0129] For a more specific processing procedure of the above step S24, reference may be made to the corresponding contents disclosed in the above embodiments, which will not be described in detail here.

[0130] It can be seen that this application introduces Bayesian networks into the prediction process of process scheduling in response to the limitations of existing process scheduling algorithms, and utilizes the learning and processing capabilities of Bayesian networks to perform reasoning and prediction under incomplete information, effectively improving the accuracy and effectiveness of process scheduling. In order to achieve a comprehensive evaluation of process performance, this application adopts an analysis method based on key resource utilization indicators, mainly based on two dimensions: page fault rate and page swap-in and swap-out volume, to evaluate memory performance. At the same time, the CPU load is taken into consideration to ensure the comprehensiveness of the evaluation. The constructed performance model aims to quantify the resource consumption of the process and predict its scheduling feasibility. The model provides decision support for process scheduling by analyzing the memory and CPU usage of the process, ensuring the optimal allocation of system resources. In addition, by comparing the resources of the current node with the target node, the loss and feasibility of migration are evaluated, and the reliability of the overall system is guaranteed.

[0131] See also Figure 5 As shown, the embodiment of the present application discloses a process scheduling device, which includes:

[0132] A memory requirement determination module 11 is used to collect parameter information of a target process running on a current node, and determine a first memory requirement of the target process for the current node based on the parameter information;

[0133] An evaluation module 12 is used to determine a second memory requirement of the target process for the target node, and evaluate process performance and process migration loss based on the first memory requirement, the second memory requirement and the processor load of the current node;

[0134] A node resource comparison module 13 is used to compare the memory resources of the current node and the target node to obtain a comparison result;

[0135] The scheduling module 14 is used to analyze the process performance, the process migration loss and the comparison result using a preset Bayesian network model to predict the process scheduling probability, and determine whether to schedule the target process from the current node to the target node based on the process scheduling probability.

[0136] It can be seen that the present application collects parameter information of the target process running on the current node, and determines the first memory requirement of the target process for the current node based on the parameter information; determines the second memory requirement of the target process for the target node, and evaluates the process performance and process migration loss based on the first memory requirement, the second memory requirement and the processor load of the current node; compares the memory resources of the current node and the target node to obtain a comparison result; uses a preset Bayesian network model to analyze the process performance, the process migration loss and the comparison result to predict the process scheduling probability, and determines whether to schedule the target process from the current node to the target node based on the process scheduling probability.

[0137] Beneficial effects: This application can determine the first memory requirement of the target process for the current node by collecting parameter information of the target process running on the current node, and further evaluate the process performance and process migration loss based on the first memory requirement, the second memory requirement of the target process for the target node and the processor load of the current node. Among them, by quantifying the processor load of the current node, it is possible to evaluate the dependence and utilization efficiency of the process on processor resources when processing computing tasks, thereby fully reflecting the performance of the process in the operating system, and because the migration of processes between different nodes will consume system resources, by considering the memory requirements of the target process at the current node and the target node respectively and the processor load of the current node, the loss caused by the migration can be jointly evaluated. In addition, the memory resources of the current node and the target node are compared to further evaluate the loss and feasibility of the migration to ensure the reliability of the overall system. Finally, the present application takes into account that the Bayesian network is a probabilistic graphical model that can intuitively represent the dependencies between various variables in a graphical manner and can predict the values ​​of unknown variables based on the observed values ​​of known variables. Therefore, the present application uses a preset Bayesian network model to analyze process performance, process migration loss and comparison results to predict the process scheduling probability, thereby determining whether to schedule the target process from the current node to the target node based on the process scheduling probability. The above scheme, by using the Bayesian network, can accurately assess whether the process needs to be scheduled based on the memory resources, process parameters, etc. in each node, thereby reducing the problem of reduced efficiency of the entire system due to incorrect scheduling, improving the stability of the system, optimizing system performance, and achieving efficient utilization and scheduling of resources.

[0138] Since the embodiments of the device part correspond to the embodiments of the method part, the embodiments of the device part refer to the description of the embodiments of the method part, which will not be described here. In addition, the method has the same beneficial effects as the process scheduling method mentioned above.

[0139] Figure 6A schematic diagram of the structure of an electronic device provided in an embodiment of the present application. Specifically, it may include: at least one processor 21, at least one memory 22, a power supply 23, a communication interface 24, an input / output interface 25, and a communication bus 26. The memory 22 is used to store a computer program, which is loaded and executed by the processor 21 to implement the relevant steps in the process scheduling method performed by the electronic device disclosed in any of the aforementioned embodiments.

[0140] In this embodiment, the power supply 23 is used to provide working voltage for each hardware device on the electronic device 20; the communication interface 24 can create a data transmission channel between the electronic device 20 and the external device, and the communication protocol it follows is any communication protocol that can be applied to the technical solution of the present application, and is not specifically limited here; the input and output interface 25 is used to obtain external input data or output data to the outside world, and its specific interface type can be selected according to specific application needs and is not specifically limited here.

[0141] Among them, the processor 21 may include one or more processing cores, such as a 4-core processor, an 8-core processor, etc. The processor 21 can be implemented in at least one hardware form of DSP (Digital Signal Processing), FPGA (Field-Programmable Gate Array), and PLA (Programmable Logic Array). The processor 21 may also include a main processor and a coprocessor. The main processor is a processor for processing data in the awake state, also known as a CPU (Central Processing Unit); the coprocessor is a low-power processor for processing data in the standby state. In some embodiments, the processor 21 may be integrated with a GPU (Graphics Processing Unit), which is responsible for rendering and drawing the content to be displayed on the display screen. In some embodiments, the processor 21 may also include an AI (Artificial Intelligence) processor, which is used to process computing operations related to machine learning.

[0142] In addition, the memory 22, as a carrier for storing resources, can be a read-only memory, a random access memory, a disk or an optical disk, etc. The resources stored thereon include an operating system 221, a computer program 222 and data 223, etc. The storage method can be temporary storage or permanent storage.

[0143] Among them, the operating system 221 is used to manage and control the hardware devices and computer programs 222 on the electronic device 20, so as to realize the operation and processing of the massive data 223 in the memory 22 by the processor 21, which can be Windows, Unix, Linux, etc. In addition to including a computer program that can be used to complete the process scheduling method performed by the electronic device 20 disclosed in any of the aforementioned embodiments, the computer program 222 can further include a computer program that can be used to complete other specific tasks. In addition to data transmitted from an external device received by the electronic device, the data 223 can also include data collected by its own input and output interface 25, etc.

[0144] Furthermore, an embodiment of the present application also discloses a computer-readable storage medium, in which a computer program is stored. When the computer program is loaded and executed by a processor, the process scheduling method steps disclosed in any of the aforementioned embodiments are implemented.

[0145] Furthermore, an embodiment of the present application also discloses a computer program product, including a computer program / instruction, which, when executed by a processor, implements the steps of the process scheduling method disclosed in any of the aforementioned embodiments.

[0146] In this specification, each embodiment is described in a progressive manner, and each embodiment focuses on the differences from other embodiments. The same or similar parts between the embodiments can be referred to each other. For the device disclosed in the embodiment, since it corresponds to the method disclosed in the embodiment, the description is relatively simple, and the relevant parts can be referred to the method part.

[0147] Those skilled in the art may further appreciate that the units and algorithm steps of each example described in conjunction with the embodiments disclosed herein can be implemented with electronic hardware, computer software, or a combination of the two. In order to clearly illustrate the interchangeability of hardware and software, the composition and steps of each example have been generally described in terms of function in the above description. Whether these functions are performed in hardware or software depends on the specific application and design constraints of the technical solution. Those skilled in the art may use different methods to implement the described functions for each specific application, but such implementation should not be considered to be beyond the scope of this application.

[0148] The steps of the method or algorithm described in conjunction with the embodiments disclosed herein may be implemented directly using hardware, a software module executed by a processor, or a combination of the two. The software module may be placed in a random access memory (RAM), a memory, a read-only memory (ROM), an electrically programmable ROM, an electrically erasable programmable ROM, a register, a hard disk, a removable disk, a compact disc read-only memory (CD-ROM), or any other form of storage medium known in the art.

[0149] Finally, it should be noted that, in this article, relational terms such as first and second, etc. are only used to distinguish one entity or operation from another entity or operation, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Moreover, the terms "include", "comprise" or any other variants thereof are intended to cover non-exclusive inclusion, so that a process, method, article or device including a series of elements includes not only those elements, but also other elements not explicitly listed, or also includes elements inherent to such process, method, article or device. In the absence of further restrictions, the elements defined by the sentence "comprise a ..." do not exclude the presence of other identical elements in the process, method, article or device including the elements.

[0150] The process scheduling method, device, equipment, medium and computer program product provided by the present invention are introduced in detail above. Specific examples are used in this article to illustrate the principles and implementation methods of the present invention. The description of the above embodiments is only used to help understand the method of the present invention and its core idea. At the same time, for those skilled in the art, according to the idea of ​​the present invention, there will be changes in the specific implementation method and application scope. In summary, the content of this specification should not be understood as a limitation on the present invention.

Claims

1. A process scheduling method, characterized in that: include: Collect parameter information of a target process running on a current node, and determine a first memory requirement of the target process for the current node based on the parameter information; Determine a second memory requirement of the target process for the target node, and evaluate process performance and process migration loss based on the first memory requirement, the second memory requirement, and a processor load of the current node; Comparing the memory resources of the current node and the target node to obtain a comparison result; The process performance, the process migration loss and the comparison result are analyzed using a preset Bayesian network model to predict the process scheduling probability, and whether to schedule the target process from the current node to the target node is determined based on the process scheduling probability.

2. The process scheduling method according to claim 1, characterized in that: The parameter information includes page fault rate, page swap-in amount and page swap-out amount; Accordingly, the parameter information of the target process running on the current node is collected, including: When the target process is executed on the current node, counting the target number of page fault exceptions of file pages and anonymous pages, and performing a ratio operation on the target number of times and the total number of times the target process executes instructions, so as to use the ratio operation result as the page fault rate; When the target process is executed on the current node, the page swap-in amount and the page swap-out amount of the anonymous page are counted.

3. The process scheduling method according to claim 2, characterized in that: The determining, based on the parameter information, a first memory requirement of the target process for the current node includes: Identify pre-built memory requirements assessment models; The page fault rate, the page swap-in amount, and the page swap-out amount are input into the memory demand assessment model to obtain a first memory demand of the target process for the current node.

4. The process scheduling method according to claim 3, characterized in that: The construction process of the memory requirement evaluation model includes: Using the page swap-in amount and the page swap-out amount as parameter variables to construct a target ratio expression; Corresponding weight coefficients are assigned to the parameter variables representing the page fault rate and the target ratio expression to construct the memory demand assessment model.

5. The process scheduling method according to claim 2, characterized in that: The determining the second memory requirement of the target process on the target node includes: Get the current page fault rate, current page swap-in amount, and current page swap-out amount obtained by statistics when the target node runs the corresponding process; A second memory demand of the target process on the target node is predicted based on the current page fault rate, the current page swap-in amount, and the current page swap-out amount.

6. The process scheduling method according to claim 1, characterized in that: The processor of the current node is a central processing unit; Accordingly, determining the processor load of the current node includes: Determining the running time of the central processing unit in the current node within a preset observation period; Get the weight value of each process in the ready queue from the preset scheduler, and sum the weight values ​​of all processes to get the total weight value; The load of the central processing unit is calculated based on the running time, the total time of the preset observation period and the total weight value.

7. The process scheduling method according to claim 6, characterized in that: The calculating the load of the central processing unit based on the running time, the total time of the preset observation period and the total weight value includes: Determine the ratio of the running time to the total time of the preset observation period; The product of the ratio result and the total weight value is used as the load of the central processing unit.

8. The process scheduling method according to claim 1, characterized in that: The evaluating process performance and process migration loss based on the first memory requirement, the second memory requirement, and the processor load of the current node includes: Determine a first set of weight coefficients, and use the first set of weight coefficients to perform weighted calculation on the first memory requirement and the processor load of the current node to evaluate the process performance of the target process; A second set of weight coefficients is determined, and the first memory requirement, the second memory requirement, and the processor load of the current node are weightedly calculated using the second set of weight coefficients to evaluate the process migration loss of the target process from the current node to the target node.

9. The process scheduling method according to claim 8, characterized in that: The process migration loss is positively correlated with the first memory requirement and negatively correlated with the second memory requirement and the processor load of the current node.

10. The process scheduling method according to claim 1, characterized in that: The comparing the memory resources of the current node and the target node to obtain a comparison result includes: Determine a first occupancy rate of memory in the current node, and determine a second occupancy rate of memory in the target node; A ratio operation is performed on the first occupancy rate and the second occupancy rate to obtain a comparison result of memory resources between the current node and the target node.

11. The process scheduling method according to claim 1, characterized in that: Also includes: The parameter information, the first memory requirement, the second memory requirement, the processor load of the current node, the process performance, the process migration loss, the comparison result and the process scheduling probability are used as graph nodes, and the action relationship between the graph nodes is used as an edge to construct a directed acyclic graph; The conditional probability distribution of each of the graph nodes is determined to construct the preset Bayesian network model based on the directed acyclic graph and the conditional probability distribution.

12. The process scheduling method according to claim 11, characterized in that: In the directed acyclic graph, the graph node where the parameter information is located is the parent node of the graph node where the first memory requirement is located, the graph nodes where the first memory requirement and the processor load of the current node are respectively located are the parent nodes of the graph node where the process performance is located, the graph nodes where the first memory requirement, the processor load of the current node and the second memory requirement are respectively located are the parent nodes of the graph node where the process migration loss is located, and the graph nodes where the process performance, the process migration loss and the comparison result are respectively located are the parent nodes of the graph node where the process scheduling probability is located.

13. The process scheduling method according to claim 12, characterized in that: The determining of the conditional probability distribution of each of the graph nodes comprises: For any graphic node in the directed acyclic graph, determine a state value of a target parent node corresponding to the any graphic node; Based on the state value of the target parent node, the conditional probability distribution of any of the graph nodes is determined using a maximum likelihood estimation method.

14. The process scheduling method according to claim 12, characterized in that: After determining the conditional probability distribution of each of the graph nodes, the method further includes: A corresponding conditional probability table is constructed for each graph node; wherein each row of the conditional probability table is a combination of state values ​​of all parent nodes of the graph node and corresponding probability values.

15. The process scheduling method according to claim 14, characterized in that: The using of a preset Bayesian network model to analyze the process performance, the process migration loss and the comparison result to predict the process scheduling probability includes: Obtaining a target condition probability table corresponding to the process scheduling probability, and searching the target row in the target condition probability table for a combination matching the process performance, the process migration loss, and the current state value of the comparison result; The probability value corresponding to the target row is used as the predicted process scheduling probability.

16. The process scheduling method according to any one of claims 1 to 15, characterized in that: The determining whether to schedule the target process from the current node to the target node based on the process scheduling probability includes: If the process scheduling probability exceeds a preset probability threshold, determining to schedule the target process from the current node to the target node; If the process scheduling probability does not exceed the preset probability threshold, the target process continues to run at the current node.

17. A process scheduling device, characterized in that: include: A memory requirement determination module, configured to collect parameter information of a target process running on a current node, and determine a first memory requirement of the target process for the current node based on the parameter information; An evaluation module, configured to determine a second memory requirement of the target process for the target node, and evaluate process performance and process migration loss based on the first memory requirement, the second memory requirement, and a processor load of the current node; A node resource comparison module, used to compare the memory resources of the current node and the target node to obtain a comparison result; The scheduling module is used to analyze the process performance, the process migration loss and the comparison result by using a preset Bayesian network model to predict the process scheduling probability, and determine whether to schedule the target process from the current node to the target node based on the process scheduling probability.

18. An electronic device, characterized in that: include: Memory, used to store computer programs; A processor, configured to execute the computer program to implement the steps of the process scheduling method as described in any one of claims 1 to 16.

19. A computer-readable storage medium, characterized in that: Used to store computer programs; wherein, when the computer program is executed by a processor, the steps of the process scheduling method as described in any one of claims 1 to 16 are implemented.

20. A computer program product comprising a computer program / instructions, characterized in that When the computer program / instruction is executed by a processor, the steps of the process scheduling method described in any one of claims 1 to 16 are implemented.

Citation Information

Cited By

  • Resource management method and system of server operating system

    CN119621359A

  • Resource management method and system for server operating system

    CN119621359B

  • Memory access method and device, medium and product

    CN120104359A