A memory resource scheduling method and electronic device

By constructing a memory resource scheduling model using non-cooperative game theory in a multi-task environment, and adjusting memory resource allocation in real time, the problems of poor dynamic adaptability and low resource utilization efficiency are solved, achieving efficient and low-energy memory resource scheduling.

CN120670176BActive Publication Date: 2025-11-14INSPUR SUZHOU INTELLIGENT TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202511178318.3
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2025-08-21
Publication Date
2025-11-14
Estimated Expiration
2045-08-21

AI Technical Summary

Technical Problem

In complex scenarios involving multiple concurrent tasks and the coexistence of heterogeneous computing resources, existing memory resource scheduling suffers from poor dynamic adaptability, low resource utilization efficiency, and insufficient energy efficiency optimization.

Method used

A memory resource scheduling model is constructed using non-cooperative game theory to perceive task requirements and system status in real time and dynamically adjust memory resource allocation strategies. By determining the amount of available memory resources and utilization efficiency for tasks to be processed, task requirements and resource supply are accurately matched.

Benefits of technology

It improves the system's adaptability to dynamic environments, enhances overall system performance and resource utilization efficiency, and reduces system energy consumption.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120670176B_ABST
    Figure CN120670176B_ABST
Patent Text Reader

Abstract

This application discloses a memory resource scheduling method and electronic device, relating to the field of memory management technology. The method includes: acquiring task information of tasks to be processed in a target business system and system status information of the target business system; determining the amount of available memory resources corresponding to the tasks to be processed based on the task information and system status information; determining the memory resource utilization efficiency corresponding to the tasks to be processed using the task information; constructing a non-cooperative game model based on the task information, the amount of available memory resources, and the memory resource utilization efficiency; generating a memory resource allocation strategy for the tasks to be processed based on the Nash equilibrium point of the non-cooperative game model; and allocating the memory resources corresponding to the tasks to be processed. This application can perceive changes in task demand and system status in real time, dynamically adjust the memory resource allocation strategy using non-cooperative game theory, and quickly respond to dynamic fluctuations in task memory demand, improving overall system performance and resource utilization efficiency while reducing system energy consumption.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of memory management technology, and in particular to a memory resource scheduling method and electronic device. Background Technology

[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, leading to an explosive growth in the demand for memory resources in modern computing systems. In various computing environments, including server clusters, data centers, and mobile terminals, the rational scheduling of memory resources has become a key factor in ensuring system performance and improving user experience. In traditional computing architectures, memory resource scheduling mainly employs static allocation or simple priority allocation strategies. However, in today's complex scenarios with multi-task concurrency 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, exhibiting vastly different requirements for memory bandwidth, cache space, and access latency. This places higher demands on the dynamic and efficient scheduling of memory resources. Summary of the Invention

[0003] This 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] Obtain task information of pending tasks in the target business system; task information includes task attribute information and memory access operation characteristic information corresponding to the pending task;

[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 task information and system status information, determine the amount of available memory resources corresponding to the task to be processed, and use the task information to determine the memory resource utilization efficiency corresponding to 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] Based on the Nash equilibrium point of the memory resource scheduling model, a memory resource allocation strategy for the tasks to be processed is generated, and memory resources corresponding to the tasks to be processed are allocated based on the memory resource allocation strategy.

[0010] This application also provides an electronic device, including: a memory for storing a computer program; and a processor for implementing any of the above-described memory resource scheduling methods when executing the computer program.

[0011] This application can obtain task information of tasks to be processed in the target business system and system status information of the target business system. Based on the task information and system status information, it can determine the amount of available memory resources corresponding to the tasks to be processed, use the task information to determine the memory resource utilization efficiency corresponding to the tasks to be processed, and then construct a non-cooperative game model based on the task information, the amount of available memory resources, and the memory resource utilization efficiency. After that, the memory resource allocation strategy for the tasks to be processed can be generated according to the Nash equilibrium point of the non-cooperative game model, and the memory resources corresponding to the tasks to be processed can be allocated.

[0012] This application enables real-time perception of changes in task requirements and system status, and utilizes non-cooperative game theory to dynamically adjust memory resource allocation strategies. This timely resource adjustment allows for rapid response to dynamic fluctuations in task memory requirements, ensuring unaffected task performance and achieving dynamic and efficient memory resource scheduling. This significantly improves the system's adaptability to dynamic environments. Furthermore, by determining the available memory resources and memory resource utilization efficiency for each task, it can accurately match task requirements with resource supply. This addresses the current issues of poor dynamic adaptability, low resource utilization efficiency, and insufficient energy efficiency optimization in resource scheduling, improving overall system performance and resource utilization efficiency while reducing system energy consumption. Attached Figure Description

[0013] To more clearly illustrate the embodiments of this application, the accompanying drawings used in the embodiments will be briefly introduced below. Obviously, the drawings described below are only some embodiments of this application. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.

[0014] Figure 1 A flowchart of a memory resource scheduling method provided in an embodiment of this application;

[0015] Figure 2 A flowchart of memory resource scheduling provided in an embodiment of this application;

[0016] Figure 3 This is a schematic diagram of a memory resource scheduling device provided in an embodiment of this application. Detailed Implementation

[0017] The technical solutions of the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of this application, and not all embodiments. Based on the embodiments of this application, all other embodiments obtained by those of ordinary skill in the art without creative effort are within the protection scope of this application.

[0018] It should be noted that, in the description of this application, the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or apparatus. The terms "first," "second," etc., in this application are used to distinguish similar objects and are not used to describe a specific order or sequence.

[0019] In complex scenarios involving multi-task concurrency and the coexistence of heterogeneous computing resources, different types of tasks run simultaneously with vastly different requirements for memory bandwidth, cache space, and access latency. This leads to problems such as 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, dynamically adjust memory resource allocation strategies using non-cooperative game theory, and thus adjust resources in a timely manner. Furthermore, by determining the amount of available memory resources and memory resource utilization efficiency corresponding to the tasks to be processed, it can accurately match task requirements and resource supply, thereby improving overall system performance and resource utilization efficiency while reducing system energy consumption.

[0020] To enable those skilled in the art to better understand the present application, the present application will be further described in detail below with reference to the accompanying drawings and specific embodiments.

[0021] like Figure 1 As shown, an embodiment of this application provides a memory resource scheduling method. The execution flow of the memory resource scheduling method will be described in detail below, including:

[0022] Step S11: Obtain task information of the task to be processed in the target business system; the task information includes task attribute information and the characteristic information of the memory access operation corresponding to the task to be processed.

[0023] In this embodiment, the task information of the tasks to be processed in the target business system can be obtained first. This task information includes task attribute information and characteristic information of the memory access operations corresponding to the tasks to be processed. It is understood that the target business system is a system used to execute the tasks to be processed, such as a cloud computing data center used for task processing. Specifically, this embodiment can utilize the perception module in 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 attribute information of the task can be obtained, such as task type (compute-intensive, data-intensive, etc.), priority, Service Level Agreement (SLA) requirements, memory access mode (sequential access, random access, etc.), and task lifecycle stage (startup, running, termination, etc.). Furthermore, by monitoring the task's API (Application Programming Interface) calls and memory access instructions, the memory access trajectory and frequency of the task can be recorded to obtain characteristic information of the memory access operations corresponding to the tasks to be processed.

[0024] Step S12: Obtain the 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, 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 CPU (Central Processing Unit) and GPU (Graphics Processing Unit). Simultaneously, relevant parameters of hardware devices, such as memory operating frequency and voltage, can be obtained for subsequent energy efficiency analysis.

[0026] Step S13: Based on task information and system status information, determine the amount of available memory resources corresponding to the task to be processed, and use the task information to determine the memory resource utilization efficiency corresponding to the task to be processed.

[0027] In this embodiment, based on the above task information and system status information, the amount of available memory resources corresponding to the task to be processed can be determined, and the memory resource utilization efficiency corresponding to the task to be processed can be determined using the task information.

[0028] Specifically, when determining the amount of available memory resources for a task to be processed based on task information and system status information, a task-resource relationship model can be constructed based on the task information and system status information. Historical memory usage data of the task to be processed can be obtained. Using the task-resource relationship model, the memory requirements of the task to be processed can be predicted based on historical memory usage data and characteristic information. Then, the amount of available memory resources for the task to be processed can be determined based on its memory requirements. The task-resource relationship model is a model showing the relationship between the memory resource requirements of the task to be processed and the memory resource supply of the target business system. In other words, this embodiment can analyze the relationship between the memory requirement characteristics of a task and the system resource supply using a task-resource relationship model. Thus, by analyzing historical memory usage data and the current running status of a task, a task memory requirement prediction model can be established, which can predict the trend of memory requirement changes for the task in the future. Simultaneously, the impact of resource competition on task performance under different task combinations can be studied, providing a basis for game theory decision-making and further improving the effectiveness of resource allocation.

[0029] Accordingly, determining the memory resource utilization efficiency of the task to be processed can be achieved by determining the performance indicators and resource consumption of the task based on the task information, and then determining the memory resource utilization efficiency of the task based on the ratio of performance indicators to resource consumption. In other words, this embodiment can consider the task's performance indicators, such as task completion time, throughput, and response latency; and resource consumption, such as the memory space and bandwidth occupied by the task; thereby determining the energy efficiency factor of the task to be processed, that is, the performance per unit of resource consumption.

[0030] Through the above technical solution, this embodiment can introduce an energy efficiency factor into the payoff function when constructing a non-cooperative game model. While ensuring task performance, it prioritizes allocating resources to tasks with high energy efficiency by dynamically adjusting resource allocation. In this way, this embodiment can combine monitoring and management of hardware device parameters to take reasonable measures such as frequency reduction and energy saving, thereby reducing 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 task information, available memory resources, and 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 available memory resources and the memory resource utilization efficiency, a memory resource scheduling model can be constructed based on task information, the amount of available memory resources, and the memory resource utilization efficiency. This memory resource scheduling model is a non-cooperative game model. Specifically, 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. A resource allocation function is then constructed based on the resource competition relationship, performance indicators, and resource consumption of each task. Finally, the memory resource scheduling model is constructed based on task information, the amount of available memory resources, the memory resource utilization efficiency, and the resource allocation function. In other words, this embodiment can consider each running task in the system as a participant in the non-cooperative game model. The strategy space of the non-cooperative game model consists of resource request schemes such as the amount of available memory resources and bandwidth allocation ratio for each task. The payoff function, i.e., the resource allocation function, can comprehensively consider the task's performance indicators, resource consumption, and energy efficiency factors. By using payoff functions to transform task requirements into calculable payoff values, the complex resource competition problem becomes a quantifiable and optimizable game problem. In this way, by solving the Nash equilibrium of all task payoff functions, an allocation scheme that takes into account both task requirements and resource utilization can be obtained.

[0033] In this way, this embodiment treats tasks as game participants, fully considers resource competition and mutual influence between tasks by combining the task-resource relationship model, and balances the interests of each task in the resource allocation process by constructing a reasonable payoff function and solving the Nash equilibrium, avoiding interference between tasks and ensuring 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] Furthermore, it should be noted that before determining the Nash equilibrium point of the memory resource scheduling model, it is also necessary to obtain the Service Level Agreement (SLA) corresponding to the task to be processed, 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 reward function will focus more on the relationship between the task's response latency and the resources used, minimizing resource consumption to increase the reward while meeting the SLA requirements.

[0035] Through the above technical solution, this embodiment can dynamically adjust the memory resource allocation strategy by sensing changes in task requirements and system status in real time and using non-cooperative game theory. In this way, the system can quickly respond to dynamic fluctuations in task memory requirements. Whether there is a sudden increase or decrease in tasks, resources can be adjusted in a timely manner to ensure that task performance is not affected, and the system's adaptability to dynamic environments is significantly improved.

[0036] Step S15: Generate a memory resource allocation strategy for the task to be processed based on the Nash equilibrium point of the memory resource scheduling model, and allocate the 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 the task to be processed can be generated based on the Nash equilibrium point of the memory resource scheduling model. Based on the memory resource allocation strategy, the memory bandwidth allocation ratio and cache reservation ratio of the task to be processed can be adjusted. The memory region corresponding to the task to be processed can also 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 can use non-cooperative game theory to make dynamic scheduling decisions for memory resources based on the constructed non-cooperative game model. A suitable algorithm (such as iterative algorithms or gradient descent algorithms) can be used to solve for the Nash equilibrium point. In this Nash equilibrium state, each task's resource allocation strategy is the optimal response to the strategies of other tasks. At this point, the system reaches a relatively stable resource allocation state, achieving overall performance optimization.

[0039] Furthermore, after allocating memory resources corresponding to the tasks to be processed, in one specific embodiment, the task requirement change information and system state change information of the tasks to be processed can be monitored, and the memory resource scheduling model can be updated according to the task requirement change information and system state 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 yet another specific embodiment, task execution parameters obtained after executing the tasks to be processed based on the memory resource allocation strategy can be collected according to a preset time period, and the corresponding task execution results can be determined according to the task execution parameters. If the task execution results do not meet the preset conditions, the memory resource scheduling model can be updated according to the task execution results to generate a new memory resource allocation strategy based on the new Nash equilibrium point of the updated memory resource scheduling model.

[0040] Understandably, as system status and task requirements change, this embodiment can update the parameters of the game model in real time and recalculate the Nash equilibrium through the game decision-making module. For example, when a new task is added to the system, a task is completed, or the system load changes, the resource allocation strategy is adjusted in a timely manner to ensure that the system is always in a state of efficient operation. At the same time, this embodiment can also combine reinforcement learning algorithms to optimize the game decision-making strategy based on historical scheduling effects, thereby improving the accuracy and adaptability of the decision-making.

[0041] Specifically, when allocating memory resources for tasks based on memory resource allocation strategies, the resource allocation strategy generated by the game theory decision-making module can be transformed into actual operation 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 region occupied by the task based on the decision results to ensure that the task has sufficient memory resources to support its operation; memory bandwidth scheduling, utilizing hardware-provided bandwidth control technologies (such as the bandwidth management function in Intel's RDT (Resource Director Technology)) to adjust the memory bandwidth allocation ratio of tasks, while appropriately increasing the bandwidth quota for tasks with high bandwidth requirements to ensure task performance; and cache resource optimization, combining cache allocation technologies (such as CAT, Cache Allocation Technology) to adjust the cache reservation ratio of tasks, for example, prioritizing the allocation of cache resources to cache-sensitive tasks to improve cache hit rate and reduce memory access latency.

[0042] In this embodiment, the memory resource scheduling method based on game theory decision-making can accurately match task requirements and resource supply. At the same time, it can dynamically allocate memory space, bandwidth and cache resources according to the actual needs of the task, avoiding resource waste and shortage, and improving the utilization efficiency of memory resources. Compared with the current scheduling methods, it solves the problems of poor dynamic adaptability, ignoring the interaction between tasks, low resource utilization efficiency and insufficient energy efficiency optimization in the current memory resource scheduling technology. By introducing non-cooperative game theory, dynamic and efficient scheduling of memory resources can be achieved, while reducing system energy consumption, which can improve memory resource utilization by more than 30%.

[0043] As can be seen from the previous embodiment, this application can match task requirements and resource supply based on a game-theoretic memory resource scheduling method to achieve memory space allocation for tasks. Next, this embodiment will take a memory resource scheduling scenario in a cloud computing data center as an example to illustrate the memory resource allocation process in detail, including:

[0044] Understandably, the aforementioned data center can run various types of tasks, including but not limited to online transaction processing, big data analytics, and deep learning training. These tasks have significantly different 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 frequent database read / write operations, with memory access primarily being random, and an SLA requiring a response time of less than 100ms. Simultaneously, it can collect the current memory space and bandwidth usage of the task. For big data analytics tasks, the perception module detects that the task is processing a large-scale dataset, with memory requirements increasing as data processing progresses. Memory access exhibits a combination of sequential reads and random queries, and the task priority is medium. For deep learning training tasks, the perception module records that the task loads a large number of model parameters at startup, consuming significant memory space. During training, it has high memory bandwidth requirements and certain time constraints for task completion. Furthermore, the perception module can also collect information such as the overall available memory capacity of the system, current memory bandwidth utilization, cache hit rate of each node, and CPU and GPU load.

[0045] Then, the above three tasks can be used as game participants to construct a non-cooperative game model. For online transaction processing tasks, the payoff function is defined as follows: when the task response time is less than the SLA requirement of 100ms, the payoff is directly proportional to the number of transactions completed and inversely proportional to the memory and bandwidth resources consumed; when the response time exceeds 100ms, the payoff decreases significantly. For big data analysis tasks, the payoff function comprehensively considers data processing throughput, task completion time, and resource consumption. The payoff function for deep learning training tasks focuses on the relationship between the iteration speed of model training, the final accuracy, and resource consumption. Simultaneously, a task-resource relationship model is established. Through analysis of historical data, it is predicted that the memory demand for online transaction processing tasks may increase by 20% during peak business hours; the memory demand for big data analysis tasks will continue to rise as the dataset expands; and the memory and bandwidth requirements for 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 for the Nash equilibrium point, yielding an initial resource allocation scheme: The online transaction processing task is allocated higher memory bandwidth and a suitable amount of memory space to ensure its response time; the big data analysis task is allocated corresponding memory resources based on its current data processing progress, with a certain bandwidth guarantee; the deep learning training task is allocated a larger memory space and a higher bandwidth quota to meet its model training needs. Furthermore, it can be understood that when the big data analysis task enters the data-intensive processing phase and memory requirements exceed 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 non-critical training phases, while simultaneously adjusting the resource allocation of the online transaction processing task to ensure that it still meets the SLA requirements.

[0047] Next, based on the results of the non-cooperative game model, and based on the initial resource allocation scheme, the memory space for the big data analysis task is increased by 20% and its memory bandwidth allocation ratio is increased by 15% through the data center management system interface; the memory bandwidth for the deep learning training task is dynamically adjusted, reducing the bandwidth quota by 10%, while monitoring its training progress to ensure that it will not have a serious impact on the training effect; the cache reservation ratio for the online transaction processing task is adjusted to improve its cache hit rate and further optimize the response time.

[0048] Furthermore, it's understandable that the system can evaluate the performance of each task at regular intervals (e.g., every minute) and feed the evaluation results back to the game decision-making module. If the response time of an online transaction processing task approaches its SLA limit, resource allocation is adjusted again to prioritize its performance; if the processing speed of a big data analytics task does not meet expectations, its resource configuration is further optimized; if the training efficiency of a deep learning training task significantly decreases after reducing bandwidth, some bandwidth resources are appropriately restored. In this way, by continuously iterating and optimizing 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 payoff function in the non-cooperative game model can be defined. The resource competition of multiple tasks is transformed into a non-cooperative game model: each task (participant) will choose the resource request scheme (strategy) that maximizes its own payoff 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 scheme that takes into account the needs of all tasks, resource utilization efficiency, and energy efficiency, thus realizing dynamic and efficient memory resource scheduling.

[0050] Through the above description of the embodiments, those skilled in the art can clearly understand that the methods according to the above embodiments can be implemented by means of software plus necessary general-purpose hardware platforms. Of course, they can also be implemented by hardware, but in many cases the former is a better implementation method.

[0051] like Figure 3 As shown, embodiments of this application also provide a memory resource scheduling device, including:

[0052] The task information acquisition module 11 is used to acquire task information of tasks to be processed in the target business system; the task information includes task attribute information and characteristic information of memory access operations corresponding to the tasks to be processed.

[0053] System information acquisition module 12 is used to acquire system status information of the target business system; the system status information includes memory resource status information and hardware parameter information;

[0054] The efficiency determination module 13 is used to determine the amount of available memory resources corresponding to the task to be processed based on task information and system status information, and to determine the memory resource utilization efficiency corresponding to the task to be processed using task information.

[0055] Model building module 14 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 15 is used to generate a memory resource allocation strategy for the task to be processed based on the Nash equilibrium point of the memory resource scheduling model, and allocate the memory resources corresponding to the task to be processed based on the memory resource allocation strategy.

[0057] For a description of the features in the embodiment corresponding to the memory resource scheduling device, please refer to the relevant description in the embodiment corresponding to the memory resource scheduling method, which will not be repeated here.

[0058] In some specific embodiments, the efficiency determination module 13 specifically includes:

[0059] The first model building unit is used to build a task resource relationship model based on task information and system status information. The task resource relationship model is a model of the relationship between the memory resource requirements of the task to be processed and the memory resource supply of the target business system.

[0060] The demand forecasting unit is used to obtain historical memory usage data of the tasks to be processed, and use the task resource relationship model to predict the memory requirements of the tasks to be processed based on historical memory usage data and feature information.

[0061] The unit for determining the amount of available memory resources is used to determine the amount of available memory resources corresponding to the task to be processed based on memory requirements.

[0062] In some specific embodiments, the efficiency determination module 13 specifically includes:

[0063] The parameter determination unit is used to determine the performance indicators and resource consumption of the task to be processed based on the task information.

[0064] The efficiency determination unit is used to determine the memory resource utilization efficiency of the task to be processed based on the ratio of performance indicators and resource consumption.

[0065] In some specific embodiments, the model building module 14 specifically includes:

[0066] The relationship determination unit is used to determine the resource competition relationship between each task to be processed based on the task resource relationship model.

[0067] The function construction unit is 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, available memory resources, memory resource utilization efficiency, and resource allocation functions.

[0069] In some specific embodiments, the memory resource scheduling device further includes:

[0070] The protocol acquisition module is used to acquire 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 device further includes:

[0073] The information detection module is used to monitor changes in task requirements and system status of tasks to be processed.

[0074] The first model update module is used to update the memory resource scheduling model based on changes in task requirements and system state, so as to generate a new memory resource allocation strategy based on the new Nash equilibrium point of the updated memory resource scheduling model.

[0075] In some specific embodiments, the memory resource scheduling device further includes:

[0076] The result acquisition module is used to acquire the historical resource allocation strategies of the target business system and determine the historical task execution results corresponding to the historical resource allocation strategies.

[0077] The second model update module is used to update the memory resource scheduling model using a preset reinforcement learning algorithm based on the historical resource allocation strategy and the historical task execution results, 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 device further includes:

[0079] The result determination module is used to collect task execution parameters obtained after executing the task to be processed based on the memory resource allocation strategy according to a preset time period, and determine the corresponding task execution result based on the task execution parameters.

[0080] The third model update 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 tasks to be processed according to the memory resource allocation strategy, and to adjust the memory area corresponding to the tasks to be processed through the memory management interface of the target business system.

[0083] Embodiments of this application also provide an electronic device, including a memory and a processor, wherein the memory stores a computer program, and the processor is configured to run the computer program to perform the steps in any of the above-described memory resource scheduling method embodiments.

[0084] Embodiments of this application also provide a computer-readable storage medium storing a computer program, wherein the computer program is configured to execute the steps in any of the above-described memory resource scheduling method embodiments at runtime.

[0085] In one exemplary embodiment, the aforementioned computer-readable storage medium may include, but is not limited to, various media capable of storing computer programs, such as a USB flash drive, read-only memory (ROM), random access memory (RAM), portable hard disk, magnetic disk, or optical disk.

[0086] Embodiments of this application also provide a computer program product, which includes a computer program that, when executed by a processor, implements the steps in any of the above-described memory resource scheduling method embodiments.

[0087] Embodiments of this application also provide another computer program product, including a non-volatile computer-readable storage medium storing a computer program, which, when executed by a processor, implements the steps in any of the above-described memory resource scheduling method embodiments.

[0088] Those skilled in the art will further recognize that the units and algorithm steps of the various examples described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, computer software, or a combination of both. To clearly illustrate the interchangeability of hardware and software, the components and steps of the various examples have been generally described in terms of functionality in the foregoing description. Whether these functions are implemented in hardware or software depends on the specific application and design constraints of the technical solution. Those skilled in the art can 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 foregoing has provided a detailed description of a memory resource scheduling method and electronic device provided in this application. Specific examples have been used to illustrate the principles and implementation methods of this application. The descriptions of the embodiments above are only intended to help understand the method and core ideas of this application. It should be noted that those skilled in the art can make various improvements and modifications to this application without departing from its principles, and these improvements and modifications also fall within the protection scope of the claims of this application.

Claims

1. A memory resource scheduling method, characterized in that, include: Obtain task information for 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; Obtain the system status information of the target business system; the system status information includes memory resource status information and hardware parameter information; Based on the task information and the system status information, the amount of available memory resources corresponding to the task to be processed is determined, and the memory resource utilization efficiency corresponding to the task to be processed is determined using the task information; the amount of available memory resources is the amount of resources predicted by the task resource relationship model based on the historical memory usage data of the task to be processed and the feature information. A memory resource scheduling model is constructed based on the task information, the amount of available memory resources, and the memory resource utilization efficiency. The memory resource scheduling model is a non-cooperative game model. Based on 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. The step of determining the memory resource utilization efficiency corresponding to the task to be processed using the task information includes: Determine the performance indicators and resource consumption corresponding to the task to be processed based on the task information; Based on the ratio of the performance metric to the resource consumption, the memory resource utilization efficiency of the task to be processed is determined. Furthermore, the construction of the memory resource scheduling model based on the task information, the available memory resources, and the memory resource utilization efficiency includes: The resource competition relationships between the tasks to be processed are determined based on a task resource relationship model; the task resource relationship model is a model constructed based on the task information and the system state information. A resource allocation function is constructed based on the resource competition relationship, performance indicators, and resource consumption among the tasks to be processed. A memory resource scheduling model is constructed based on the task information, the amount of available memory resources, the memory resource utilization efficiency, and the resource allocation function.

2. The memory resource scheduling method according to claim 1, characterized in that, The step of determining the amount of available memory resources corresponding to the task to be processed based on the task information and the system status information 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 requirements of the task to be processed and the memory resource supply of the target business system. Obtain historical memory usage data of the task to be processed, and use the task resource relationship model to predict the memory requirements of the task to be processed based on the historical memory usage data and the feature information; The amount of available memory resources corresponding to the task to be processed is determined based on the memory requirements.

3. The memory resource scheduling method according to claim 2, characterized in that, Before generating the memory resource allocation strategy for the task to be processed based on the Nash equilibrium point of the memory resource scheduling model, the method further includes: Obtain the service level agreement corresponding to the task to be processed; The memory resource scheduling model is solved based on the service level agreement to obtain the Nash equilibrium point of the memory resource scheduling model.

4. The memory resource scheduling method according to claim 2, characterized in that, After allocating the memory resources corresponding to the task to be processed based on the memory resource allocation strategy, the process further includes: Monitor the changes in task requirements and system status of the tasks to be processed; The memory resource scheduling model is updated based on the task requirement change information and the system state change information, so as to generate a new memory resource allocation strategy based on the new Nash equilibrium point of the updated memory resource scheduling model.

5. The memory resource scheduling method according to claim 2, characterized in that, After allocating the memory resources corresponding to the task to be processed based on the memory resource allocation strategy, the process further includes: 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; Based on 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 the new Nash equilibrium point of the updated memory resource scheduling model.

6. The memory resource scheduling method according to claim 2, characterized in that, After allocating the memory resources corresponding to the task to be processed based on the memory resource allocation strategy, the process further includes: According to a preset time period, the task execution parameters obtained after executing the task to be processed based on the memory resource allocation strategy are collected, and the corresponding task execution result is determined according to the task execution parameters. If the task execution result does not meet the preset conditions, the memory resource scheduling model is updated according to the task execution result, and a new memory resource allocation strategy is generated based on the new Nash equilibrium point of the updated memory resource scheduling model.

7. The memory resource scheduling method according to any one of claims 1 to 6, characterized in that, The allocation of memory resources corresponding to the task to be processed based on the memory resource allocation strategy includes: According to the memory resource allocation strategy, the memory bandwidth allocation ratio and cache reservation ratio of the task to be processed are adjusted, and the memory region corresponding to the task to be processed is adjusted through the memory management interface of the target business system.

8. An electronic device, characterized in that, include: Memory, used to store computer programs; A processor, configured to implement the steps of the memory resource scheduling method as described in any one of claims 1 to 6 when executing the computer program.

Citation Information

Patent Citations

  • 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