Memory resource scheduling method and electronic equipment
By adopting non-cooperative game theory to construct a memory resource scheduling model in a multi-tasking environment and adjusting memory resource allocation in real time, the problems of poor dynamic adaptability and low resource utilization efficiency in existing technologies are solved, and efficient and low-energy memory resource management is achieved.
Patent Information
- Application Number
- CN202511178318.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-08-21
- Publication Date
- 2025-09-19
- Estimated Expiration
- 2045-08-21
AI Technical Summary
In complex scenarios with multiple tasks running concurrently and heterogeneous computing resources coexisting, existing memory resource scheduling suffers from poor dynamic adaptability, low resource utilization efficiency, and insufficient energy efficiency optimization.
A memory resource scheduling model is constructed using non-cooperative game theory to perceive task requirements and system status in real time, dynamically adjust memory resource allocation strategies, and accurately match task requirements and resource supply by determining the amount of memory resources that can be applied for and the utilization efficiency corresponding to the tasks to be processed.
It improves the system's adaptability to dynamic environments, enhances the overall system performance and resource utilization efficiency, reduces system energy consumption, and realizes dynamic and efficient scheduling of memory resources.
Smart Images

Figure CN120670176A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of memory management technology, and in particular to a memory resource scheduling method and electronic device. Background Art
[0002] With the rapid development of technologies such as cloud computing, big data, and artificial intelligence, the complexity and diversity of computing tasks have increased dramatically, and the demand for memory resources in modern computing systems has exploded. In diverse computing environments, including server clusters, data centers, and mobile terminals, the proper scheduling of memory resources has become a key factor in ensuring system performance and improving user experience. In traditional computing architectures, memory resource scheduling primarily relies on static allocation or simple priority allocation strategies. However, in today's complex scenarios with multiple concurrent tasks and the coexistence of heterogeneous computing resources, different types of tasks (such as online transaction processing, big data analysis, and deep learning training) run simultaneously, with vastly different requirements for memory bandwidth, cache space, and access latency. This places higher demands on dynamic and efficient scheduling of memory resources. Summary of the Invention
[0003] The present application provides a memory resource scheduling method and electronic device to solve the problems of poor dynamic adaptability, low resource utilization efficiency and insufficient energy efficiency optimization in current resource scheduling, thereby improving the overall system performance and resource utilization efficiency while reducing system energy consumption.
[0004] This application provides a memory resource scheduling method, including:
[0005] Obtaining task information of pending tasks in the target business system; the task information includes task attribute information and characteristic information of memory access operations corresponding to the pending tasks;
[0006] Obtain system status information of the target business system; system status information includes memory resource status information and hardware parameter information;
[0007] Based on the task information and system status information, determine the amount of memory resources that can be applied for the task to be processed, and use the task information to determine the memory resource utilization efficiency of the task to be processed;
[0008] A memory resource scheduling model is constructed based on task information, available memory resources, and memory resource utilization efficiency; the memory resource scheduling model is a non-cooperative game model;
[0009] According to the Nash equilibrium point of the memory resource scheduling model, a memory resource allocation strategy for the pending tasks is generated, and memory resources corresponding to the pending tasks are allocated based on the memory resource allocation strategy.
[0010] The present application also provides an electronic device, comprising: a memory for storing a computer program; and a processor for implementing the steps of any of the above-mentioned memory resource scheduling methods when executing the computer program.
[0011] This application can obtain the task information of the pending tasks in the target business system and the system status information of the target business system, and based on the task information and system status information, determine the amount of memory resources that can be applied for corresponding to the pending tasks, use the task information to determine the memory resource utilization efficiency corresponding to the pending tasks, and then construct a non-cooperative game model based on the task information, the amount of memory resources that can be applied for and the memory resource utilization efficiency. After that, according to the Nash equilibrium point of the non-cooperative game model, the memory resource allocation strategy for the pending tasks can be generated to allocate the memory resources corresponding to the pending tasks.
[0012] Through this application, since changes in task requirements and system status can be perceived in real time, the memory resource allocation strategy can be dynamically adjusted using non-cooperative game theory, thereby adjusting resources in a timely manner. It can quickly respond to dynamic fluctuations in task memory requirements, ensure that task performance is not affected, and achieve dynamic and efficient scheduling of memory resources, significantly improving the system's adaptability to dynamic environments; and by determining the amount of applicable memory resources and memory resource utilization efficiency corresponding to the tasks to be processed, it can accurately match task requirements and resource supply, solving the current problems of poor dynamic adaptability, low resource utilization efficiency, and insufficient energy efficiency optimization in resource scheduling, improving the overall system performance and resource utilization efficiency while reducing system energy consumption. BRIEF DESCRIPTION OF THE DRAWINGS
[0013] In order to more clearly illustrate the embodiments of the present application, the following is a brief introduction to the drawings required for use in the embodiments. Obviously, the drawings described below are only some embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without any creative work.
[0014] Figure 1 A flow chart of a memory resource scheduling method provided in an embodiment of the present application;
[0015] Figure 2 A memory resource scheduling flow chart provided in an embodiment of the present application;
[0016] Figure 3 A schematic diagram of the structure of a memory resource scheduling device provided in an embodiment of the present application. DETAILED DESCRIPTION
[0017] The following will be combined with the accompanying drawings in the embodiments of this application to clearly and completely describe the technical solutions in the embodiments of this application. Obviously, the embodiments described are only part of the embodiments of this application, not all of them. Based on the embodiments in this application, all other embodiments obtained by ordinary technicians in this field without making creative efforts are within the scope of protection of this application.
[0018] It should be noted that, in the description of this application, the terms "comprises," "includes," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or device comprising a series of elements includes not only those elements, but also other elements not explicitly listed, or elements inherent to such process, method, article, or device. The terms "first," "second," etc., in this application are used to distinguish similar objects, and are not used to describe a particular order or sequence.
[0019] In complex scenarios with multiple tasks running concurrently and heterogeneous computing resources coexisting, different types of tasks run simultaneously, and their requirements for memory bandwidth, cache space, and access latency vary greatly. This leads to problems with poor dynamic adaptability, low resource utilization efficiency, and insufficient energy efficiency optimization in current resource scheduling. This application can perceive changes in task requirements and system status in real time, and dynamically adjust memory resource allocation strategies using non-cooperative game theory to adjust resources in a timely manner. Moreover, by determining the amount of memory resources that can be applied for and the memory resource utilization efficiency corresponding to the tasks to be processed, it can accurately match task requirements and resource supply, thereby improving the overall system performance and resource utilization efficiency while reducing system energy consumption.
[0020] In order to enable those skilled in the art to better understand the present application, the present application is further described in detail below with reference to the accompanying drawings and specific implementation methods.
[0021] like Figure 1 As shown, an embodiment of the present application provides a memory resource scheduling method, which is described in detail below in conjunction with the execution process of the memory resource scheduling method, including:
[0022] Step S11: Acquire task information of a task to be processed in the target business system; the task information includes task attribute information and feature information of a memory access operation corresponding to the task to be processed.
[0023] In this embodiment, task information for pending tasks in the target business system can first be obtained. This task information includes task attribute information and characteristic information about the memory access operations corresponding to the pending tasks. It is understood that the target business system is a system used to execute the pending tasks, such as a cloud computing data center used for task processing. Specifically, this embodiment utilizes a perception module within the target business system to collect various types of information related to memory resource scheduling in the system in real time. For example, when collecting task information, basic task attribute information can be obtained, such as task type (compute-intensive, data-intensive, etc.), priority, Quality of Service Agreement (SLA) requirements, memory access mode (sequential access, random access, etc.), and task lifecycle phase (startup, running, termination, etc.). Furthermore, by monitoring the task's API (Application Programming Interface) calls and memory access instructions, the task's memory access traces and frequency can be recorded to obtain characteristic information about the memory access operations corresponding to the pending tasks.
[0024] Step S12: Obtain system status information of the target business system; the system status information includes memory resource status information and hardware parameter information.
[0025] In this embodiment, the perception module in the target business system can also be used to obtain system status information of the target business system. This system status information includes memory resource status information and hardware parameter information. For example, the system's current memory resource status information can be collected, including available memory capacity, memory bandwidth utilization, cache hit rate, and the load of computing resources such as the CPU (Central Processing Unit) and GPU (Graphics Processing Unit). Furthermore, relevant hardware device parameters, such as memory operating frequency and voltage, can be obtained for subsequent energy efficiency analysis.
[0026] Step S13: Based on the task information and the system status information, determine the amount of memory resources that can be applied for the task to be processed, and use the task information to determine the memory resource utilization efficiency of the task to be processed.
[0027] In this embodiment, based on the above task information and system status information, the amount of memory resources that can be applied for corresponding to the task to be processed can be determined, and the task information can be used to determine the memory resource utilization efficiency corresponding to the task to be processed.
[0028] Specifically, when determining the amount of memory resources that can be applied for the task to be processed based on the task information and the system status information, a task resource relationship model can be constructed based on the task information and the system status information, and the historical memory usage data of the task to be processed can be obtained. The task resource relationship model can be used to predict the memory requirements of the task to be processed based on the historical memory usage data and characteristic information, and then the amount of memory resources that can be applied for the task to be processed can be determined based on the memory requirements of the task to be processed. Among them, the task resource relationship model is a relationship model between the memory resource requirements of the task to be processed and the memory resource supply of the target business system. That is to say, this embodiment can analyze the relationship between the memory requirement characteristics of the task and the system resource supply, using the task-resource relationship model. In this way, by analyzing the historical memory usage data and the current operating status of the task, a task memory requirement prediction model can be established, which can predict the memory requirement change trend of the task in the future. At the same time, the impact of resource competition on task performance under different task combinations can be studied to provide a basis for game decision-making and further improve the effect of resource allocation.
[0029] Accordingly, to determine the memory resource utilization efficiency corresponding to the pending task, the performance indicators and resource consumption corresponding to the pending task can be determined based on the task information. Then, based on the ratio of the performance indicators to the resource consumption, the memory resource utilization efficiency corresponding to the pending task can be determined. In other words, this embodiment can consider the performance indicators of the task, such as task completion time, throughput, response delay, etc.; resource consumption, such as the memory space and bandwidth occupied by the task, etc.; and then determine the energy efficiency factor of the pending task, that is, the performance per unit resource consumption.
[0030] Through the above technical solution, this embodiment can introduce energy efficiency factors into the profit function when constructing a non-cooperative game model. While ensuring task performance, it prioritizes resource allocation to tasks with high energy efficiency ratios by dynamically adjusting resource allocation. In this way, this embodiment can combine the monitoring and management of hardware device parameters to take appropriate frequency reduction and energy-saving measures to reduce the power consumption of the memory subsystem. In large-scale computing environments such as data centers, it can effectively reduce overall energy consumption, achieve green computing, and reduce memory-related energy consumption by 20%-25%.
[0031] Step S14: construct a memory resource scheduling model based on the task information, the amount of memory resources that can be applied, and the memory resource utilization efficiency; the memory resource scheduling model is a non-cooperative game model.
[0032] like Figure 2As shown, in this embodiment, after determining the amount of memory resources that can be applied and the memory resource utilization efficiency, a memory resource scheduling model can be constructed based on the task information, the amount of memory resources that can be applied and the memory resource utilization efficiency; wherein, the memory resource scheduling model is a non-cooperative game model. When constructing the non-cooperative game model, the resource competition relationship between each task to be processed can be determined based on the task resource relationship model, and a resource allocation function can be constructed based on the resource competition relationship, performance indicators and resource consumption between each task to be processed. Then, a memory resource scheduling model can be constructed based on the task information, the amount of memory resources that can be applied, the memory resource utilization efficiency and the resource allocation function. In other words, this embodiment can regard each running task in the system as a game participant of the non-cooperative game model; the strategy space of the non-cooperative game model is the resource request scheme such as the amount of memory resources that can be applied for each task, the bandwidth allocation ratio, etc.; the benefit function, that is, the resource allocation function, can comprehensively consider the performance indicators, resource consumption and energy efficiency factors of the task. By using the benefit function to convert task requirements into calculable benefit values, the complex resource competition problem becomes a quantifiable and optimizable game problem. In this way, by solving the Nash equilibrium of all task benefit functions, an allocation plan that takes into account both task requirements and resource utilization can be obtained.
[0033] In this way, this embodiment regards tasks as game participants, and combines the task-resource relationship model to fully consider the resource competition and mutual influence between tasks. By constructing a reasonable benefit function and solving the Nash equilibrium, it balances the interests of each task in the resource allocation process, avoids interference between tasks, and ensures that each task can obtain a relatively optimal resource allocation in a multi-task environment. By considering the interaction between tasks, the overall stability and performance of the system are effectively improved.
[0034] It's also important to note that before determining the Nash equilibrium point of the memory resource scheduling model, it's necessary to obtain the service level agreement (SLA) corresponding to the pending task and solve the memory resource scheduling model based on the SLA to obtain the Nash equilibrium point of the memory resource scheduling model. For example, for a latency-sensitive task, the profit function will focus more on the relationship between the task's response latency and the resources it consumes. While still meeting the SLA, it's important to minimize resource consumption to maximize profit.
[0035] Through the above technical solution, this embodiment can perceive the changes in task requirements and system status in real time, and use non-cooperative game theory to dynamically adjust the memory resource allocation strategy. In this way, the system can quickly respond to the dynamic fluctuations of task memory requirements. Regardless of the sudden increase or decrease in tasks, resources can be adjusted in time to ensure that task performance is not affected, significantly improving the system's adaptability to dynamic environments.
[0036] Step S15: Generate a memory resource allocation strategy for the task to be processed according to the Nash equilibrium point of the memory resource scheduling model, and allocate memory resources corresponding to the task to be processed based on the memory resource allocation strategy.
[0037] In this embodiment, a memory resource allocation strategy for pending tasks can be generated based on the Nash equilibrium point of the memory resource scheduling model. The memory bandwidth allocation ratio and cache reservation ratio of the pending tasks can be adjusted based on the memory resource allocation strategy. In addition, the memory area corresponding to the pending tasks can be adjusted through the memory management interface of the target business system. Through the collaborative work between these steps, dynamic optimization scheduling of memory resources can be achieved.
[0038] Specifically, this embodiment utilizes non-cooperative game theory based on a constructed non-cooperative game model to dynamically schedule memory resources. Specifically, a suitable algorithm (such as an iterative algorithm or gradient descent algorithm) can be employed to solve for the Nash equilibrium point. In this way, at the Nash equilibrium state, each task's resource allocation strategy is the optimal response to the strategies of other tasks. This allows the system to achieve a relatively stable resource allocation state, optimizing overall performance.
[0039] After allocating the memory resources corresponding to the pending tasks, in a specific embodiment, the task requirement change information and system status change information of the pending tasks can be monitored, and the memory resource scheduling model can be updated based on the task requirement change information and the system status change information to generate a new memory resource allocation strategy based on the new Nash equilibrium point of the updated memory resource scheduling model. In another specific embodiment, the historical resource allocation strategy of the target business system can be obtained, and the historical task execution results corresponding to the historical resource allocation strategy can be determined. Based on the historical resource allocation strategy and the historical task execution results, the memory resource scheduling model can be updated using a preset reinforcement learning algorithm to generate a new memory resource allocation strategy based on the new Nash equilibrium point of the updated memory resource scheduling model. In another specific embodiment, task execution parameters obtained after executing the pending tasks based on the memory resource allocation strategy can be collected according to a preset time period, and the corresponding task execution result can be determined based on the task execution parameters. If the task execution result does not meet the preset conditions, the memory resource scheduling model can be updated based on the task execution result to generate a new memory resource allocation strategy based on the new Nash equilibrium point of the updated memory resource scheduling model.
[0040] As can be appreciated, as system status and task requirements change, this embodiment, through the game decision module, can update the parameters of the game model in real time and recalculate the Nash equilibrium. For example, when new tasks are added to the system, tasks are completed, or system load changes, resource allocation strategies can be adjusted promptly to ensure that the system remains in an efficient state. Furthermore, this embodiment can also incorporate reinforcement learning algorithms to optimize the game decision strategy based on historical scheduling results, improving decision accuracy and adaptability.
[0041] Specifically, when allocating memory resources corresponding to pending tasks based on a memory resource allocation strategy, the resource allocation strategy generated by the game decision module can be converted into actual operational instructions to achieve dynamic scheduling of memory resources. Specific operations include, but are not limited to: memory space allocation, allocating or adjusting memory space for tasks through the operating system's memory management interface, and increasing or decreasing the size of the memory area occupied by the task based on the decision result to ensure that the task has sufficient memory resources to support its operation; memory bandwidth scheduling, utilizing hardware-provided bandwidth control technology (such as the bandwidth management function in Intel's RDT (Resource Director Technology) technology) to adjust the memory bandwidth allocation ratio of tasks, while appropriately increasing the bandwidth quota of tasks with high bandwidth requirements to ensure task performance; cache resource optimization, combining cache allocation technology (such as CAT, Cache Allocation Technology) to adjust the cache reservation ratio of tasks, for example, prioritizing cache resources to cache-sensitive tasks to improve cache hit rates and reduce memory access latency.
[0042] In this embodiment, through the above-mentioned memory resource scheduling method based on game decision-making, task requirements and resource supply can be accurately matched, and memory space, bandwidth and cache resources can be dynamically allocated according to the actual needs of the task, thereby avoiding waste and shortage of resources and improving the utilization efficiency of memory resources. Compared with the current scheduling method, it solves the problems existing in the current memory resource scheduling technology, such as poor dynamic adaptability, ignoring the interaction between tasks, low resource utilization efficiency and insufficient energy efficiency optimization. By introducing non-cooperative game theory, dynamic and efficient scheduling of memory resources is achieved, while reducing system energy consumption, which can increase memory resource utilization by more than 30%.
[0043] Based on the previous embodiment, it can be seen that the present application can match task requirements and resource supply based on the game decision-making memory resource scheduling method to achieve task memory space allocation. Next, this embodiment will take a cloud computing data center memory resource scheduling scenario as an example to explain the memory resource allocation process in detail, including:
[0044] It is understood that the aforementioned data centers can run a variety of tasks, including but not limited to online transaction processing, big data analysis, and deep learning training. These tasks have widely varying and dynamically changing memory resource requirements. Specifically, for online transaction processing tasks, the perception module can monitor the frequency of API calls in real time. For example, it can detect that online transaction processing tasks frequently perform database read and write operations, with memory access patterns primarily random access and an SLA requirement of less than 100ms. It also collects information about the current memory space and bandwidth usage of the task. For big data analysis tasks, the perception module detects that they are processing large datasets, with memory requirements increasing as data processing progresses. Memory access exhibits a combination of sequential reads and random queries, resulting in a medium-priority task. For deep learning training tasks, the perception module records that they load a large number of model parameters at startup, occupying a large amount of memory space, have high memory bandwidth requirements during training, and have certain requirements for task completion time. Furthermore, the perception module can collect information such as the system's overall available memory capacity, current memory bandwidth usage, cache hit rates for each node, and CPU and GPU load.
[0045] Afterwards, a non-cooperative game model can be constructed using the three aforementioned tasks as game participants. For online transaction processing tasks, the revenue function is defined as follows: when the task response time is less than the SLA requirement of 100ms, the revenue is directly proportional to the number of transactions completed by the task and inversely proportional to the memory and bandwidth resources occupied; when the response time exceeds 100ms, the revenue drops significantly. For big data analysis tasks, the revenue function comprehensively considers data processing throughput, task completion time, and resource consumption. The revenue function for deep learning training tasks focuses on the relationship between the iteration speed and final accuracy of model training and resource consumption. A task-resource relationship model is also established. Through analysis of historical data, it is predicted that the memory demand of online transaction processing tasks may increase by 20% during peak business hours; the memory demand of big data analysis tasks will continue to rise as the data set expands; and the memory bandwidth demand of deep learning training tasks will fluctuate significantly at different stages of model training.
[0046] Once the non-cooperative game model is constructed, game theory algorithms can be used to solve the Nash equilibrium point and obtain the initial resource allocation plan: online transaction processing tasks are allocated a higher memory bandwidth and an appropriate amount of memory space to ensure their response time; big data analysis tasks are allocated corresponding memory resources based on their current data processing progress and given a certain bandwidth guarantee; deep learning training tasks are allocated a larger memory space and a higher bandwidth quota to meet their model training requirements. It is also understandable that when the big data analysis task enters the data-intensive processing phase and the memory demand exceeds expectations, the game decision module updates the game model parameters in real time, recalculates the Nash equilibrium, and appropriately increases the memory and bandwidth resources of the big data analysis task by reducing the bandwidth quota of the deep learning training task during the non-critical training phase. At the same time, the resource allocation of the online transaction processing task is adjusted to ensure that it still meets the SLA requirements.
[0047] Next, based on the results of the non-cooperative game model and the initial resource allocation plan, the data center's management system interface was used to increase the memory space for big data analysis tasks by 20% and increase the memory bandwidth allocation ratio by 15%. The memory bandwidth of deep learning training tasks was dynamically adjusted, reducing the bandwidth quota by 10%. At the same time, the training progress was monitored to ensure that there would be no serious impact on the training effect. The cache reservation ratio of online transaction processing tasks was adjusted to improve their cache hit rate and further optimize response time.
[0048] It is also understandable that the system can evaluate the execution performance of each task at regular intervals (such as 1 minute) and feed the evaluation results back to the game decision module. If the response time of an online transaction processing task approaches the SLA upper limit, resource allocation will be adjusted again to prioritize its performance. If the processing speed of a big data analysis task does not meet expectations, its resource allocation will continue to be optimized. If the training efficiency of a deep learning training task decreases significantly after bandwidth reduction, some bandwidth resources will be appropriately restored. In this way, through continuous iterative optimization of the non-cooperative game model, it helps to achieve refined and dynamic scheduling of memory resources, improving the overall performance and resource utilization efficiency of the data center.
[0049] Through the above technical solution, the participants, strategy space and profit function in the non-cooperative game model can be defined, and the resource competition of multiple tasks is transformed into a non-cooperative game model: each task (participant) will choose the resource request plan (strategy) that can maximize its own benefits based on its own needs and the strategies of other tasks. By solving the Nash equilibrium point of this game (that is, each task's strategy is the optimal response to the strategies of other tasks), the system can obtain the optimal resource allocation plan that takes into account all task requirements, resource utilization efficiency and energy efficiency, thereby realizing dynamic and efficient memory resource scheduling.
[0050] Through the description of the above implementation methods, those skilled in the art can clearly understand that the method according to the above embodiment can be implemented by means of software plus the necessary general hardware platform, and of course it can also be implemented by hardware, but in many cases the former is a better implementation method.
[0051] like Figure 3 As shown, an embodiment of the present application further provides a memory resource scheduling device, comprising:
[0052] The task information acquisition module is used to obtain the task information of the pending tasks in the target business system; the task information includes task attribute information and characteristic information of the memory access operation corresponding to the pending tasks;
[0053] System information acquisition module, used to obtain the system status information of the target business system; the system status information includes memory resource status information and hardware parameter information;
[0054] An efficiency determination module is used to determine the amount of memory resources that can be applied for the task to be processed based on the task information and system status information, and to determine the memory resource utilization efficiency of the task to be processed using the task information;
[0055] A model building module is used to build a memory resource scheduling model based on task information, available memory resources, and memory resource utilization efficiency; the memory resource scheduling model is a non-cooperative game model;
[0056] The resource allocation module is used to generate a memory resource allocation strategy for the pending tasks according to the Nash equilibrium point of the memory resource scheduling model, and allocate memory resources corresponding to the pending tasks based on the memory resource allocation strategy.
[0057] For the description of the features in the embodiment corresponding to the memory resource scheduling device, reference can be made to the relevant description of the embodiment corresponding to the memory resource scheduling method, which will not be repeated here.
[0058] In some specific embodiments, the efficiency determination module specifically includes:
[0059] The first model building unit is used to build a task resource relationship model based on the task information and the system status information; the task resource relationship model is a relationship model between the memory resource demand of the task to be processed and the memory resource supply of the target business system;
[0060] A demand prediction unit is used to obtain historical memory usage data of pending tasks and use the task resource relationship model to predict the memory demand of pending tasks based on the historical memory usage data and feature information;
[0061] The unit for determining the amount of memory resources that can be applied is used to determine the amount of memory resources that can be applied corresponding to the task to be processed according to the memory demand.
[0062] In some specific embodiments, the efficiency determination module specifically includes:
[0063] A parameter determination unit, configured to determine the performance indicators and resource consumption corresponding to the task to be processed based on the task information;
[0064] The efficiency determination unit is used to determine the memory resource utilization efficiency corresponding to the task to be processed based on the ratio of the performance index and the resource consumption.
[0065] In some specific embodiments, the model building module specifically includes:
[0066] A relationship determination unit, configured to determine the resource competition relationship between the tasks to be processed based on the task resource relationship model;
[0067] A function construction unit, used to construct a resource allocation function based on the resource competition relationship, performance indicators and resource consumption among the tasks to be processed;
[0068] The second model building unit is used to build a memory resource scheduling model based on task information, the amount of memory resources that can be applied, the memory resource utilization efficiency and the resource allocation function.
[0069] In some specific embodiments, the memory resource scheduling apparatus further includes:
[0070] The agreement acquisition module is used to obtain the service level agreement corresponding to the task to be processed;
[0071] The model solving module is used to solve the memory resource scheduling model based on the service level agreement to obtain the Nash equilibrium point of the memory resource scheduling model.
[0072] In some specific embodiments, the memory resource scheduling apparatus further includes:
[0073] Information detection module, used to monitor task requirement change information and system status change information of pending tasks;
[0074] The first model updating module is used to update the memory resource scheduling model according to task demand change information and system state change information, so as to generate a new memory resource allocation strategy based on a new Nash equilibrium point of the updated memory resource scheduling model.
[0075] In some specific embodiments, the memory resource scheduling apparatus further includes:
[0076] The result acquisition module is used to obtain the historical resource allocation strategy of the target business system and determine the historical task execution results corresponding to the historical resource allocation strategy;
[0077] The second model updating module is used to update the memory resource scheduling model according to the historical resource allocation strategy and the historical task execution results using a preset reinforcement learning algorithm, so as to generate a new memory resource allocation strategy based on the new Nash equilibrium point of the updated memory resource scheduling model.
[0078] In some specific embodiments, the memory resource scheduling apparatus further includes:
[0079] A result determination module is used to collect task execution parameters obtained after executing the pending task based on the memory resource allocation strategy according to a preset time period, and determine the corresponding task execution result according to the task execution parameters;
[0080] The third model updating module is used to update the memory resource scheduling model according to the task execution result if the task execution result does not meet the preset conditions, so as to generate a new memory resource allocation strategy based on the new Nash equilibrium point of the updated memory resource scheduling model.
[0081] In some specific embodiments, the memory resource scheduling device specifically includes:
[0082] The memory allocation unit is used to adjust the memory bandwidth allocation ratio and cache reservation ratio of the pending tasks according to the memory resource allocation policy, and adjust the memory area corresponding to the pending tasks through the memory management interface of the target business system.
[0083] An embodiment of the present application further provides an electronic device, comprising a memory and a processor, wherein the memory stores a computer program, and the processor is configured to run the computer program to execute the steps in any of the above-mentioned memory resource scheduling method embodiments.
[0084] An embodiment of the present application further provides a computer-readable storage medium, in which a computer program is stored, wherein the computer program is configured to execute the steps of any of the above-mentioned memory resource scheduling method embodiments when running.
[0085] In an exemplary embodiment, the computer-readable storage medium may include, but is not limited to, various media that can store computer programs, such as a USB flash drive, a read-only memory (ROM), a random access memory (RAM), a mobile hard disk, a magnetic disk, or an optical disk.
[0086] An embodiment of the present application further provides a computer program product, which includes a computer program. When the computer program is executed by a processor, the steps of any of the above-mentioned memory resource scheduling method embodiments are implemented.
[0087] An embodiment of the present application further provides another computer program product, including a non-volatile computer-readable storage medium, wherein the non-volatile computer-readable storage medium stores a computer program, and when the computer program is executed by a processor, the steps of any of the above-mentioned memory resource scheduling method embodiments are implemented.
[0088] Professionals may further appreciate that the units and algorithm steps of each example described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, computer software, or a combination of the two. In order to clearly illustrate the interchangeability of hardware and software, the above description has generally described the components and steps of each example according to their functions. Whether these functions are performed in hardware or software depends on the specific application and design constraints of the technical solution. Professionals and technicians may use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of this application.
[0089] The above is a detailed introduction to a memory resource scheduling method and electronic device provided by the present application. This article uses specific examples to illustrate the principles and implementation methods of the present application. The description of the above embodiments is only applicable to help understand the method and core ideas of the present application. It should be pointed out that for ordinary technicians in this technical field, without departing from the principles of the present application, several improvements and modifications can be made to the present application, and these improvements and modifications also fall within the scope of protection of the claims of the present application.
Claims
1. A memory resource scheduling method, characterized in that: include: Obtain task information of pending tasks in the target business system; The task information includes task attribute information and feature information of the memory access operation corresponding to the task to be processed; Obtaining system status information of the target business system; the system status information includes memory resource status information and hardware parameter information; Determining the amount of memory resources available for the pending task based on the task information and the system status information, and determining the memory resource utilization efficiency of the pending task using the task information; Building a memory resource scheduling model based on the task information, the amount of memory resources that can be applied, and the memory resource utilization efficiency; The memory resource scheduling model is a non-cooperative game model; According to the Nash equilibrium point of the memory resource scheduling model, a memory resource allocation strategy for the task to be processed is generated, and memory resources corresponding to the task to be processed are allocated based on the memory resource allocation strategy.
2. The memory resource scheduling method according to claim 1, wherein: The determining, based on the task information and the system status information, the amount of memory resources that can be applied for the task to be processed includes: Based on the task information and the system status information, a task resource relationship model is constructed; the task resource relationship model is a relationship model between the memory resource demand of the task to be processed and the memory resource supply of the target business system; Acquire historical memory usage data of the task to be processed, and use the task resource relationship model to predict the memory requirement of the task to be processed based on the historical memory usage data and the feature information; The amount of memory resources that can be applied for the task to be processed is determined according to the memory requirement.
3. The memory resource scheduling method according to claim 2, wherein: The determining the memory resource utilization efficiency corresponding to the task to be processed by using the task information includes: Determine the performance indicators and resource consumption corresponding to the task to be processed according to the task information; The memory resource utilization efficiency corresponding to the task to be processed is determined based on the ratio of the performance indicator to the resource consumption.
4. The memory resource scheduling method according to claim 3, wherein: The constructing of a memory resource scheduling model based on the task information, the amount of memory resources that can be applied, and the memory resource utilization efficiency includes: Determining the resource competition relationship between the tasks to be processed based on the task resource relationship model; Constructing a resource allocation function according to the resource competition relationship between the tasks to be processed, the performance index and the resource consumption; A memory resource scheduling model is constructed based on the task information, the amount of memory resources that can be applied, the memory resource utilization efficiency and the resource allocation function.
5. The memory resource scheduling method according to claim 4, wherein: Before generating the memory resource allocation strategy for the task to be processed according to the Nash equilibrium point of the memory resource scheduling model, the method further includes: Obtaining a service level agreement corresponding to the pending task; The memory resource scheduling model is solved based on the service level agreement to obtain a Nash equilibrium point of the memory resource scheduling model.
6. The memory resource scheduling method according to claim 2, wherein: After allocating the memory resources corresponding to the pending tasks based on the memory resource allocation strategy, the method further includes: Monitoring task requirement change information and system status change information of the pending tasks; The memory resource scheduling model is updated according to the task requirement change information and the system state change information, so as to generate a new memory resource allocation strategy based on a new Nash equilibrium point of the updated memory resource scheduling model.
7. The memory resource scheduling method according to claim 2, wherein: After allocating the memory resources corresponding to the pending tasks based on the memory resource allocation strategy, the method further includes: Obtaining a historical resource allocation strategy of the target business system and determining historical task execution results corresponding to the historical resource allocation strategy; According to the historical resource allocation strategy and the historical task execution results, the memory resource scheduling model is updated using a preset reinforcement learning algorithm to generate a new memory resource allocation strategy based on a new Nash equilibrium point of the updated memory resource scheduling model.
8. The memory resource scheduling method according to claim 2, wherein: After allocating the memory resources corresponding to the pending tasks based on the memory resource allocation strategy, the method further includes: According to a preset time period, collecting task execution parameters obtained after executing the task to be processed based on the memory resource allocation strategy, and determining a corresponding task execution result according to the task execution parameters; If the task execution result does not meet the preset condition, the memory resource scheduling model is updated according to the task execution result, so as to generate a new memory resource allocation strategy based on a new Nash equilibrium point of the updated memory resource scheduling model.
9. The memory resource scheduling method according to any one of claims 1 to 8, characterized in that: Allocating the memory resources corresponding to the pending tasks based on the memory resource allocation strategy includes: According to the memory resource allocation strategy, the memory bandwidth allocation ratio and the cache reservation ratio of the task to be processed are adjusted, and the memory area corresponding to the task to be processed is adjusted through the memory management interface of the target business system.
10. An electronic device, characterized in that: include: memory for storing computer programs; A processor, configured to implement the steps of the memory resource scheduling method according to any one of claims 1 to 9 when executing the computer program.
Citation Information
Patent Citations
A cost-based cloud computing task scheduling method
CN109739628A
Game theory-based improved model cloud computing node storage, calculation and training resource competition scheduling method
CN119473600A
Industrial Internet of Things-oriented AloT cloud side intelligent control method and system
CN119937436A
Computing power resource scheduling method and system in cloud environment
CN120336000A