Dynamic Load Balancing Method and System for Multi-Core Heterogeneous ASIC Computing Motherboard
By collecting performance data, analyzing and predicting the calculation core of multi-core heterogeneous motherboards, and combining load adaptation feature distribution, a load balancing solution is generated, which solves the problem of poor execution results caused by changes in task load allocation in traditional methods, and realizes dynamic load balancing and resource optimization.
Patent Information
- Application Number
- CN202510265346.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2025-03-07
- Publication Date
- 2025-06-17
- Estimated Expiration
- 2045-03-07
AI Technical Summary
Traditional real-time dynamic equalization methods are prone to continuous changes in task load allocation in multi-core heterogeneous platforms, resulting in poor task execution results.
By collecting performance data, load adaptability analysis, real-time load monitoring, historical load trend analysis and load prediction of the calculation core of multi-core heterogeneous motherboard, combining the load adaptation feature distribution, balancing optimization analysis is carried out to generate a load balancing solution to achieve dynamic balancing of the load of the calculation core.
It improves the utilization rate of computing resources, avoids overload or idle computing cores, improves system performance and response speed, meets different load needs, dynamically adapts to load changes, and optimizes task scheduling and energy efficiency management.
Smart Images

Figure CN119759592B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the technical field of computing task balancing, and particularly to a dynamic load balancing method and system for a multi-core heterogeneous ASIC computing motherboard. Background Art
[0002] In modern multi-core heterogeneous ASIC (Application Specific Integrated Circuit) computing platforms, they are usually composed of various types of computing units, such as CPUs, GPUs, FPGAs, and dedicated ASIC cores, etc. These computing units have different processing capabilities, power consumption characteristics, and processing methods, and can process different types of tasks in parallel.
[0003] In a multi-core heterogeneous platform, the load of computing tasks is not only affected by task characteristics (such as compute-intensive, I / O-intensive, etc.), but also changes over time. The main influencing factors are the change in time consumed by the computing task itself, and the change in the actual performance state of the computing core during continuous task execution. Due to the above reasons, traditional real-time dynamic balancing methods are prone to continuous changes in task load distribution, resulting in poor task execution effects. Summary of the Invention
[0004] The purpose of the present invention is to provide a dynamic load balancing method and system for a multi-core heterogeneous ASIC computing motherboard, aiming to solve the problem in the prior art that the continuous change of the real-time dynamic balancing task allocation scheme leads to poor execution effects of the motherboard.
[0005] The present invention is implemented as follows. In the first aspect, the present invention provides a dynamic load balancing method for a multi-core heterogeneous ASIC computing motherboard, including:
[0006] Collect performance data of computing cores on the multi-core heterogeneous motherboard to obtain a set of computing core information of the multi-core heterogeneous motherboard; wherein, the set of computing core information includes several computing core performance information;
[0007] Conduct a load adaptability analysis of the computing cores on the multi-core heterogeneous motherboard according to the set of computing core information to obtain a load adaptability feature distribution of the multi-core heterogeneous motherboard; wherein, the load adaptability feature distribution includes load adaptability features corresponding to each computing core;
[0008] When the multi-core heterogeneous motherboard is in a working state, monitor the computing core load of the multi-core heterogeneous motherboard to obtain the computing core load status of the multi-core heterogeneous motherboard;
[0009] Conduct an inductive analysis of the load trends of the computing core load status at each moment in the historical record to obtain the load change trend of the multi-core heterogeneous motherboard;
[0010] Predict and analyze the computing core load status at a future moment based on the load change trend to obtain the predicted load form at the future moment;
[0011] Perform balanced optimization analysis of the computing core load for the computing core load status at the current moment and the predicted load form at the future moment according to the load adaptation characteristic distribution to obtain the corresponding load balancing scheme; wherein, the load balancing scheme includes a prediction verification stage and an allocation execution stage;
[0012] Perform load allocation of the computing core for the multi-core heterogeneous mainboard according to the load balancing scheme to achieve dynamic load balancing of the multi-core heterogeneous mainboard.
[0013] In a second aspect, the present invention provides a dynamic load balancing system for a multi-core heterogeneous ASIC computing mainboard, which is used to implement the dynamic load balancing method for a multi-core heterogeneous ASIC computing mainboard according to any one of the first aspects, including:
[0014] A performance acquisition module, which is used to collect performance data of the computing core of the multi-core heterogeneous mainboard to obtain a computing core information set of the multi-core heterogeneous mainboard; wherein, the computing core information set includes several computing core performance information;
[0015] An adaptation analysis module, which is used to perform load adaptability analysis of the computing core of the multi-core heterogeneous mainboard according to the computing core information set to obtain the load adaptation characteristic distribution of the multi-core heterogeneous mainboard; wherein, the load adaptation characteristic distribution includes load adaptation characteristics corresponding to each computing core;
[0016] A load monitoring module, which is used to monitor the computing core load of the multi-core heterogeneous mainboard when the multi-core heterogeneous mainboard is in a working state to obtain the computing core load status of the multi-core heterogeneous mainboard;
[0017] A trend analysis module, which is used to perform inductive analysis of the load trend of the computing core load status at each moment in the historical record to obtain the load change trend of the multi-core heterogeneous mainboard;
[0018] A load prediction module, which is used to predict and analyze the computing core load status at a future moment based on the load change trend to obtain the predicted load form at the future moment;
[0019] A balanced optimization module, which is used to perform balanced optimization analysis of the computing core load for the computing core load status at the current moment and the predicted load form at the future moment according to the load adaptation characteristic distribution to obtain the corresponding load balancing scheme; wherein, the load balancing scheme includes a prediction verification stage and an allocation execution stage;
[0020] A load balancing execution module, configured to perform load distribution of computing cores on the multi-core heterogeneous mainboard according to the load balancing scheme, so as to achieve dynamic load balancing of the multi-core heterogeneous mainboard.
[0021] The present invention provides a dynamic load balancing method for a multi-core heterogeneous ASIC computing mainboard, which has the following beneficial effects:
[0022] The present invention collects performance data of each computing core on a multi-core heterogeneous mainboard, generates a computing core information set, analyzes the load adaptability of the computing cores based on the performance data, obtains a load adaptability feature distribution, monitors the load status of the computing cores in real time, and performs trend analysis on the historical load data, predicts the future load status according to the load change trend, combines the load adaptability feature distribution and the load prediction, performs equilibrium optimization, generates a load balancing scheme, adjusts the load distribution of the computing cores according to the load balancing scheme, realizes dynamic load balancing, improves the utilization rate of computing resources, avoids overload or idle of the computing cores, improves the system performance and response speed, meets different load requirements, dynamically adapts to load changes, optimizes task scheduling and energy efficiency management, and solves the problem that the execution effect of the mainboard is poor due to the continuously changing task allocation scheme of real-time dynamic balancing in the prior art. Description of the Drawings
[0023] Figure 1 is a schematic diagram of the steps of a dynamic load balancing method for a multi-core heterogeneous ASIC computing mainboard provided by an embodiment of the present invention;
[0024] Figure 2 is a schematic diagram of the structure of a dynamic load balancing system for a multi-core heterogeneous ASIC computing mainboard provided by an embodiment of the present invention. Detailed Embodiments
[0025] In order to make the objectives, technical solutions and advantages of the present invention clearer, the present invention will be further described in detail below with reference to the drawings and embodiments. It should be understood that the specific embodiments described herein are only used to explain the present invention, and are not used to limit the present invention.
[0026] The implementation of the present invention will be described in detail below with reference to specific embodiments.
[0027] Refer to Figure 1 、 Figure 2 shown, which is a preferred embodiment provided by the present invention.
[0028] In a first aspect, the present invention provides a dynamic load balancing method for a multi-core heterogeneous ASIC computing mainboard, including:
[0029] S1: Collect performance data of computing cores on the multi-core heterogeneous mainboard to obtain a computing core information set of the multi-core heterogeneous mainboard; wherein, the computing core information set includes several computing core performance information;
[0030] S2: Perform a load adaptability analysis of the computing cores on the multi-core heterogeneous mainboard according to the computing core information set to obtain the load adaptability feature distribution of the multi-core heterogeneous mainboard; wherein, the load adaptability feature distribution includes load adaptability features corresponding to each computing core.
[0031] S3: When the multi-core heterogeneous mainboard is in the working state, monitor the computing core load of the multi-core heterogeneous mainboard to obtain the computing core load status of the multi-core heterogeneous mainboard.
[0032] S4: Conduct an inductive analysis of the load trend for the computing core load status at each moment in the historical record to obtain the load change trend of the multi-core heterogeneous mainboard.
[0033] S5: Perform a predictive analysis of the computing core load status at future moments based on the load change trend to obtain the predicted load form at future moments.
[0034] S6: Perform a balanced optimization analysis of the computing core load for the computing core load status at the current moment and the predicted load form at future moments according to the load adaptability feature distribution to obtain the corresponding load balancing scheme; wherein, the load balancing scheme includes a prediction verification stage and an allocation execution stage.
[0035] S7: Perform a load distribution of the computing cores on the multi-core heterogeneous mainboard according to the load balancing scheme to achieve dynamic load balancing of the multi-core heterogeneous mainboard.
[0036] Specifically, in step S1 of the embodiment provided by the present invention, performance data of the computing cores on the multi-core heterogeneous mainboard is collected to obtain a computing core information set of the multi-core heterogeneous mainboard. The multi-core heterogeneous mainboard represents that there are multiple computing cores set on the mainboard, and the computing cores include multiple types. It can be understood that each computing core is adapted to different computing tasks, and the adaptability of the computing core to each type of computing task depends on the performance of the computing core.
[0037] More specifically, the computing core information set includes computing core performance information of each computing core, and the computing core performance information includes computing frequency, number of cores, processing capacity, resource utilization rate, functional data, etc.
[0038] It can be understood that by collecting the computing core performance data in real time, it can ensure that the system can timely understand the state of each computing unit, provide detailed basic data for subsequent analysis, and the detailed performance data of each computing unit can help the system accurately capture the load and health status of each core, which is helpful for further optimizing the system performance.
[0039] Specifically, in step S2 of the embodiment provided by the present invention, a load adaptability analysis of the computing cores is performed on the multi-core heterogeneous mainboard according to the computing core information set to obtain the load adaptability feature distribution of the multi-core heterogeneous mainboard; wherein the load adaptability feature distribution includes the load adaptability features corresponding to each computing core.
[0040] More specifically, using the collected performance data, a load adaptability analysis of each computing core is performed. The goal of this analysis is to evaluate the adaptability of different cores under different load conditions, that is, the response ability, efficiency, and stability of each core under different task loads. According to the load adaptability of each core, tasks can be more reasonably assigned to the most suitable computing core to improve the overall load adaptability of the system.
[0041] Specifically, in step S3 of the embodiment provided by the present invention, when the mainboard is in the working state, the load conditions of each computing core are monitored in real time, including: the real-time load of each computing core (such as the occupancy percentage), including the usage of computing resources, memory, bandwidth, etc., and the latency and response time of the computing core are monitored to ensure that high-real-time tasks are processed in a timely manner.
[0042] It can be understood that by monitoring the load conditions of each computing core, problems such as high load, overload, or imbalance can be discovered and solved in a timely manner, ensuring the efficient utilization of system resources, avoiding performance bottlenecks caused by the overload of certain computing cores, and also avoiding resource waste caused by idle cores.
[0043] It should be noted that the load condition of the computing core reflects the computing tasks borne by the computing core, and at the same time, it also feedbacks the actual adaptability of the computing core to the tasks it undertakes. The computing tasks borne by the computing core are determined by the system allocation, while the actual adaptability of the computing core to the tasks it undertakes is determined by the actual performance state of the computing core itself. The actual performance state of the computing core itself will change with the working time. At this time, the load change trend determined by the load condition of the computing core will change, so it is necessary to dynamically optimize the allocation of computing tasks according to the actual performance state of the computing core.
[0044] Specifically, in step S4 of the embodiment provided by the present invention, the load conditions at each moment in the historical record are inductively analyzed in advance to extract the trends and patterns of load changes. By analyzing the load changes of each core, its performance in different time periods is found, that is, when the multi-core heterogeneous mainboard is executing different types of tasks, its overall performance load requirements are different. Therefore, the load conditions of the computing cores caused by each computing core on the multi-core heterogeneous mainboard are also different. This difference is reflected to a certain extent in the load condition of the computing core at a single moment, and is more obvious in the load change trend at consecutive moments, that is, when the multi-core heterogeneous mainboard executes different specified mainboard tasks, the load conditions and load change trends of the computing cores shown are different.
[0045] More specifically, by identifying the load trend through the computing core load status at each moment, the type of task currently executed by the multi-core heterogeneous motherboard can be determined, so that the computing core load status of the multi-core heterogeneous motherboard in a future time period can be predicted.
[0046] It should be noted that for different specified motherboard tasks, the computing core load status in the future time period is different. That is to say, if the load distribution is simply optimized based on the real-time computing core load status, there is a possibility that the computing core load distribution scheme will continue to change. This frequent change leads to the instability of the computing core performance, making the real-time load distribution optimization a burden.
[0047] Therefore, the present invention provides a technical solution to pre-identify the tasks executed by the multi-core heterogeneous motherboard, obtain the computing core load status in a future time period, and analyze the best load mode based on this to obtain a load balancing scheme that can adapt to the computing core load status in the future time period without frequent changes, thereby ensuring the stability and efficiency of the computing core performance.
[0048] Specifically, in step S5 of the embodiment provided by the present invention, based on the inductive analysis of the load trend, methods such as machine learning and time series analysis are used to predict the load at a future moment, analyze the load situation of each core at a future moment, consider factors such as task changes and load fluctuations. Through load prediction, potential load peaks can be identified in advance, and measures can be taken to balance the load. Based on the prediction data, the system can schedule resources in advance to ensure load balancing.
[0049] Specifically, in steps S6 and S7 of the embodiment provided by the present invention, the predicted load form describes the possible computing core load status of the multi-core heterogeneous motherboard in a future time period, enabling the multi-core heterogeneous motherboard to analyze the load distribution in advance according to the possible computing core load status in the future time period, so as to obtain a load distribution scheme that can best adapt to the continuous computing core load status in the future time period without frequent changes.
[0050] More specifically, there are various specific forms of the predicted load form because there are also various corresponding load distribution schemes. Based on this situation, the load balancing scheme is designed into a prediction verification stage and an allocation execution stage. In the prediction verification stage, the most common allocation scheme among various load distribution schemes is executed, and the computing core load status in this stage is continuously collected and feature analyzed. According to the analysis results, it is determined which specific form in the predicted load form corresponds to the actual load form, and then the allocation execution stage is entered, and the load distribution scheme corresponding to the actual load form is retrieved to allocate load tasks to each computing core of the multi-core heterogeneous motherboard.
[0051] The present invention provides a dynamic load balancing method for a multi-core heterogeneous ASIC computing motherboard, which has the following beneficial effects:
[0052] The present invention collects the performance data of each computing core on the multi-core heterogeneous motherboard, generates a computing core information set, analyzes the load adaptability of the computing cores based on the performance data, obtains the load adaptability characteristic distribution, monitors the load status of the computing cores in real time, and performs trend analysis on the historical load data, predicts the future load status according to the load change trend, combines the load adaptability characteristic distribution and the load prediction, performs balance optimization, generates a load balancing scheme, adjusts the load distribution of the computing cores according to the load balancing scheme, realizes dynamic load balancing, improves the utilization rate of computing resources, avoids overloading or idling of the computing cores, improves the system performance and response speed, meets different load requirements, dynamically adapts to load changes, optimizes task scheduling and energy efficiency management, and solves the problem that the existing technology has poor motherboard execution effect due to the continuously changing task allocation scheme of real-time dynamic balancing.
[0053] Preferably, the step of analyzing the load adaptability of the computing cores on the multi-core heterogeneous motherboard according to the computing core information set to obtain the load adaptability characteristic distribution of the multi-core heterogeneous motherboard includes:
[0054] S21: Perform performance simulation processing on each computing core on the multi-core heterogeneous motherboard respectively according to the computing core performance information corresponding to each computing core in the computing core information set, so as to obtain performance simulation characteristics for digitally feedbacking the computing performance of each computing core;
[0055] S22: Obtain several preset target load task types of the multi-core heterogeneous motherboard, and perform reverse analysis on the load adaptability of various preset target load task types according to the performance simulation characteristics, so as to obtain the load adaptability index of the computing core corresponding to the performance simulation characteristics for various target load task types;
[0056] S23: Combine the load adaptability indexes of each computing core to obtain the load adaptability characteristics of the computing core, and combine the load adaptability characteristics of each computing core to obtain the load adaptability characteristic distribution of the multi-core heterogeneous motherboard.
[0057] Specifically, using the previously collected computing core performance data (such as frequency, number of cores, load, temperature, power consumption, etc.) as the computing core performance information, and using this information to perform performance simulation on each computing core, and calculating simulation characteristics (such as theoretical execution speed, memory bandwidth requirement, energy efficiency ratio, etc.). This step usually requires the use of simulation tools, models or computing frameworks (for example, simulation tools based on CPU and GPU architectures) to perform virtual simulation on the processing capabilities of each computing core.
[0058] More specifically, according to different application scenarios, several typical load task types are set (such as compute-intensive tasks, memory-intensive tasks, I / O-intensive tasks, etc.). Each task type has different resource requirements and computing modes. Model the computing requirements, memory requirements, parallelism degree, etc. of these task types for subsequent load adaptability analysis.
[0059] More specifically, perform reverse analysis based on the performance simulation characteristics of each computing core to evaluate the adaptability of the computing core under different task types. This process generally includes: analyzing its response ability to different load tasks (such as task completion time, response latency, throughput, etc.) according to the resource consumption model of each core. Based on the results of the reverse analysis, obtain the load adaptability index of each computing core corresponding to each target load task type. These indexes reflect the efficiency and effect of the computing core when processing specific tasks. Common adaptability indexes include task execution efficiency, latency response, energy consumption efficiency, etc.
[0060] More specifically, combine the load adaptability indexes of each computing core to generate the load adaptation characteristics of the core, that is, the comprehensive performance of the core under different load conditions. Further, combine the load adaptation characteristics of all computing cores to form the load adaptation characteristic distribution of the entire multi-core heterogeneous motherboard. This reflects the adaptability of the entire system under different load tasks.
[0061] More specifically, combine the load adaptation characteristics of each computing core to obtain the overall load adaptation characteristic distribution. These distributions usually show the performance differences of different cores under various load tasks, providing a basis for subsequent load balancing and scheduling strategies.
[0062] It can be understood that through the load adaptability index, the adaptability of different computing cores to different task types can be quantified, so as to achieve the optimal allocation of loads during operation, improve system efficiency. The load adaptability analysis provides a detailed view of the computing core adaptability for system administrators, helping them optimize the task allocation and resource scheduling of the computing core, improve the overall computing performance, and avoid unnecessary resource waste. The analysis based on the load adaptability characteristics can achieve dynamic scheduling during the task execution process, enabling the task to run on the most suitable computing core, thereby reducing the execution time and lowering the latency. The in-depth understanding of the load adaptability characteristic distribution of the multi-core heterogeneous system enables the system to intelligently adjust the task allocation according to the load situation, achieve the effect of load balancing, thereby realizing the maximization of resource utilization and the improvement of the overall performance. Through the comprehensive analysis of power consumption and computing power, it helps to reduce unnecessary energy consumption and achieve a better energy efficiency ratio.
[0063] Preferably, the step of obtaining the computing core load status of the multi-core heterogeneous motherboard by monitoring the computing core load of the multi-core heterogeneous motherboard includes:
[0064] S31: Collect data on the computing resource scheduling of each computing core of the multi-core heterogeneous mainboard to obtain the resource scheduling characteristics of each computing core;
[0065] S32: Collect data on the temperature and power consumption of each computing core of the multi-core heterogeneous mainboard through a preset sensor group to obtain the operating pressure characteristics of each computing core;
[0066] S33: Perform weighted comprehensive analysis on the resource scheduling characteristics and operating pressure characteristics of the computing core according to a preset weight evaluation criterion to obtain the real-time load index of the computing core; wherein, the real-time load index is used to describe the numerical ratio of the performance load of the computing core at the current moment to the maximum executable performance load of the computing core;
[0067] S34: Conduct a theoretical deviation analysis of the feature correlation between the resource scheduling characteristics and operating pressure characteristics of the computing core according to the load adaptation characteristics of the computing core, and perform a mapping conversion on the load performance superiority and inferiority of the computing core according to the obtained theoretical deviation result to obtain the performance superiority and inferiority index of the computing core; wherein, the performance superiority and inferiority index is used to describe the superiority and inferiority difference between the computing core performance demonstrated by the computing core corresponding to the current load task and the theoretical computing core performance;
[0068] S35: Combine and process the real-time load index and performance superiority and inferiority index of the computing core to obtain the unit load status of the computing core, and combine the unit load status of each computing core on the multi-core heterogeneous mainboard to obtain the computing core load status of the multi-core heterogeneous mainboard.
[0069] Specifically, through the resource scheduler of the system, collect the resource allocation information of each computing core, including task queuing, allocated computing task volume, processing duration, etc. These data help to understand the load distribution and resource usage of each computing core.
[0070] More specifically, through the temperature sensors and power consumption monitoring sensors installed on the computing core, collect the temperature and power consumption data of each computing core in real time. These data reflect the operating pressure situation of the computing core and are crucial for evaluating the load status.
[0071] More specifically, perform weighted comprehensive analysis on the collected resource scheduling characteristics and operating pressure characteristics (such as temperature, power consumption) according to the preset weight, and calculate the real-time load index of each computing core. This index represents the proportion of the current load of the computing core to its maximum executable performance load, and is usually used to reflect the load density and resource pressure of the computing core.
[0072] More specifically, by performing a theoretical deviation analysis on the correlation between the resource scheduling characteristics and the operating pressure characteristics of the computing cores, the difference between the performance of the computing cores under the current load conditions and the theoretical optimal performance is evaluated. This step uses mathematical modeling and data mining methods to identify the deviation between the load status of the computing cores and their theoretical performance. According to the results of the theoretical deviation analysis, a mapping transformation of the load performance superiority or inferiority of each computing core is performed, thereby obtaining a performance superiority or inferiority index. This index measures the gap between the actual performance and the theoretical performance of the computing cores under the current load, and reflects whether there are bottlenecks in the performance of the computing cores.
[0073] More specifically, the real-time load index and the performance superiority or inferiority index are comprehensively processed to obtain the unit load status of each computing core. This unit load status indicates the comprehensive performance of the resource load, operating pressure, and performance deviation of the computing core. By performing a combined analysis on the unit load status of all computing cores on the multi-core heterogeneous motherboard, the load status of the computing cores of the entire system is obtained, which provides comprehensive data support for the performance monitoring, load balancing, and dynamic scheduling of the multi-core system.
[0074] It can be understood that by collecting and analyzing data such as the resource scheduling, temperature, and power consumption of the computing cores, the load conditions of each core can be monitored in real time, resource bottlenecks and operating pressures can be discovered in a timely manner, rapid load adjustment can be supported. The calculation of the real-time load index and the performance superiority or inferiority index quantifies the load status and performance deviation of each computing core. The theoretical deviation analysis helps to identify performance bottlenecks and unbalanced loads, providing an optimization space for system scheduling. Through the performance superiority or inferiority index, the task allocation can be dynamically adjusted to avoid overloading or excessive idleness of the computing cores, thereby improving the overall computing efficiency. By analyzing the load status of the computing cores, the system can implement an intelligent load balancing strategy, reasonably allocate tasks, avoid overloading of some computing cores while other core resources are idle, thereby improving the overall system performance and resource utilization rate.
[0075] Preferably, the steps of performing an inductive analysis of the load trend on the computing core load status at each moment in the historical record to obtain the load change trend of the multi-core heterogeneous motherboard include:
[0076] S41: Arrange the computing core load status at each moment in the historical record according to the recorded time stamp corresponding to the computing core load status to obtain a historical load status sequence;
[0077] S42: Extract the load change trend of the historical load status sequence according to a pre-trained load trend recognition algorithm to obtain the load change trend of the historical load status sequence;
[0078] Among them, the load trend recognition algorithm is a pre-trained machine learning algorithm, and the pre-training steps of the load trend recognition algorithm include:
[0079] S421: Construct a machine learning algorithm model;
[0080] S422: Collect a number of training data sets for model training of the machine learning algorithm model; wherein, the training data sets include the computing core load status sequences corresponding to specific types of tasks, and the load change trends corresponding to the computing core load status sequences;
[0081] S423: Substitute each of the training data sets into the machine learning algorithm model, and let the machine learning algorithm model perform model training according to each of the training data sets, so that the machine learning algorithm model obtains the recognition relationship between the computing core load status sequences corresponding to specific types of tasks and the load change trends corresponding to the computing core load status sequences;
[0082] S424: Take the recognition relationship as the algorithm main body, and through algorithm transformation of the algorithm main body, obtain an identification unit, generate an execution unit and a result unit with associated operation logics based on the identification unit, so as to obtain a load trend recognition algorithm composed of the identification unit, the execution unit and the result unit; wherein, the execution unit is used to input the historical load status sequence to be recognized, the identification unit is used to recognize the historical load status sequence received by the execution unit according to the recognition relationship for the corresponding task type to obtain the corresponding load change trend, and the result unit is used to output the load change trend recognized by the identification unit.
[0083] Specifically, according to the timestamps recorded for each computing core load status, arrange the load statuses of each computing core in chronological order. This step ensures the chronology of the historical records, enabling subsequent analysis to reflect the load change trend over time. By sorting the load statuses of each computing core in time, a load status sequence of each computing core at different times is obtained.
[0084] More specifically, use a pre-trained load trend recognition algorithm to analyze the historical load status sequence, and extract the load change trend. This algorithm, through a machine learning model, identifies the change patterns (such as rising, falling, stable, etc.) of the load in different time periods, extracts the load change trend from the historical load sequence, and applies it to predict future load patterns to help judge the possible load peaks or valleys of the computing core in the future.
[0085] More specifically, construct a suitable machine learning algorithm model, such as regression analysis, time series analysis, neural network, etc. These models can extract the load change trend according to the load status sequence, and collect multiple training data sets for training the machine learning model. Each training data set contains:
[0086] Calculate the load status sequence of the computing core and the corresponding load change trend (e.g., load increase, load decrease, stable load, etc.).
[0087] More specifically, input these training data sets into the machine learning algorithm model for model training. By learning the relationship between the load status sequence and the load change trend under different types of tasks (e.g., high-load tasks, low-load tasks), the model gradually establishes the ability to recognize the load pattern. Through training, the model can capture the recognition relationship between the load status sequence and the load change trend, that is, the law of load change under specific tasks.
[0088] More specifically, based on the recognition relationship obtained from model training, use it as the basis for the recognition unit. The role of the recognition unit is to analyze the input historical load status sequence, recognize the load change trend corresponding to the task type, and combine with the recognition unit to generate an execution unit and a result unit with associated operation logic. The execution unit is responsible for receiving the historical load status sequence to be recognized and passing it to the recognition unit. The recognition unit recognizes the load change trend in the load status sequence according to the pre-trained recognition relationship. The result unit outputs the recognized load change trend according to the output of the recognition unit.
[0089] More specifically, the execution unit passes the input historical load status sequence to the recognition unit. The recognition unit analyzes the load change trend according to the recognition relationship and outputs the recognized load change trend through the result unit. The output load change trend can be an upward trend, a downward trend, a stable trend, or a more complex trend type (such as periodic fluctuations, etc.).
[0090] It can be understood that through the training of the historical load sequence by the machine learning algorithm, the load change pattern can be automatically recognized. Based on the load trend recognition, the system can predict the load change trend of the computing core. By recognizing the load change trend, the system can achieve more intelligent task scheduling. The recognition of the load change trend can help the system avoid problems such as overload and overheating, optimize the resource allocation of the multi-core heterogeneous motherboard, improve the stability and operation efficiency of the system. Through machine learning training, the recognition algorithm can adapt to the load changes under different types of tasks. Whether it is a high-load task or a low-load task, it can accurately recognize and predict the load trend.
[0091] Preferably, the steps of predicting and analyzing the load status of the computing core at a future time based on the load change trend to obtain the predicted load form at the future time include:
[0092] S51: Directly predict the load status of the computing core at a future time based on the load change trend to obtain a first prediction form at the future time; wherein, the first prediction form includes several predicted load statuses at future times arranged in chronological order.
[0093] S52: Perform a similarity analysis on the load change trend of the multi-core heterogeneous motherboard according to the load change trends corresponding to several specific types of tasks pre-stored in the database to obtain similarity parameters, and evaluate the similarity parameters according to a preset threshold to obtain the load change trends corresponding to several specific types of tasks that meet the preset threshold. Directly predict the load status of the computing cores at future times according to the load change trends corresponding to several specific types of tasks that meet the preset threshold to obtain several second prediction forms at future times; wherein, the second prediction forms include the predicted load statuses at future times arranged in chronological order.
[0094] S53: The first prediction form and several of the second prediction forms together constitute the predicted load form at future times.
[0095] Specifically, based on the existing load change trend data (historical load patterns extracted by a machine learning model), predict the load status of the computing cores at future times. This prediction is based on the identified load change patterns (such as trends like rising, falling, stable, etc.) and uses time series methods (such as regression analysis, deep learning, etc.) to directly predict the load status at future times.
[0096] More specifically, directly predict the load status at future times, and these load statuses are arranged in chronological order. The first prediction form includes predicted load data at multiple future times. For example, at the first future time, the second future time, the nth future time, what will the load predicted by the system be? This step is based on historical data and a load change trend model and can provide a preliminary prediction result for future load, helping the system to perform load scheduling and optimization in advance.
[0097] More specifically, load change trend data of different specific task types are stored in the database. Each task type will have a related load change trend. For example, the computing requirements of a task may be stable, increase sharply, or drop suddenly over time. Perform a similarity analysis on the load change trend of the current multi-core heterogeneous motherboard (the trend information obtained in the first step) and the load change trends of different task types stored in the database. This usually uses similarity measurement methods (such as cosine similarity, Euclidean distance, etc.) to evaluate the similarity between the current load trend and the stored task load trends. Through the similarity analysis, obtain the load change trends of several task types that are most similar to the current load trend. The similarity parameters are used to quantify the matching degree between the current load and different task loads. According to the set preset threshold, evaluate the similarity parameters and screen out those task type load trends that meet the threshold requirements. That is, only select those task load trends that are highly similar to the current load change trend.
[0098] More specifically, based on the load change trends of selected task types that are similar to the current load change trend, the generation of the second prediction form is carried out. These load trends will be arranged in chronological order to predict the load status of the computing cores at future moments. Through the similarity analysis of task type load trends, more targeted load predictions can be provided for the system under different task load patterns, reducing the errors that may occur in single-model predictions.
[0099] More specifically, the load prediction data obtained through direct prediction (the first prediction form) is fused with the load prediction data obtained through task type similarity analysis (the second prediction form) to finally form the predicted load form at future moments. The first prediction form is the basic prediction, which quickly provides the load change trend at future moments; the second prediction form makes the prediction results more accurate and multi-dimensional by combining the specific load trends of task types, making up for the limitations of single prediction methods. Through the combination of these two, the system can more accurately capture the future load changes, especially in the case of multi-tasks and complex loads.
[0100] Preferably, the steps of performing an equilibrium optimization analysis of the computing core load on the computing core load status at the current moment and the predicted load form at future moments according to the load adaptation characteristic distribution to obtain the corresponding load balancing scheme include:
[0101] S61: Perform a combination process on the computing core load status at the current moment according to the first prediction form in the predicted load form to obtain a first load prediction sequence;
[0102] S62: Perform a combination process on the computing core load status at the current moment according to each second prediction form in the predicted load form to obtain a number of second load prediction sequences;
[0103] S63: Perform a load distribution simulation on the first load prediction sequence according to the load adaptation characteristic distribution to obtain a first load distribution mode corresponding to the first load prediction sequence;
[0104] S64: Perform a load distribution simulation on each of the second load prediction sequences according to the load adaptation characteristic distribution to obtain a second load distribution mode corresponding to each of the second load prediction sequences;
[0105] S65: Perform a scheme analysis of sequence verification and identification on the first load prediction sequence and each of the second load prediction sequences to obtain a prediction verification scheme; wherein, the prediction verification scheme is used to continuously collect and identify the characteristics of the computing core load status within a future period of time to determine a load prediction sequence that conforms to the actual load status of the multi-core heterogeneous mainboard in the first load prediction sequence and each of the second load prediction sequences as the verified load sequence;
[0106] S66: Extract common features from the first load distribution mode and each of the second load distribution modes to obtain a verification-phase distribution mode, where the verification-phase distribution mode is used to allocate load tasks to each computing core of the multi-core heterogeneous mainboard when executing the prediction verification scheme;
[0107] S67: The prediction verification scheme and the verification-phase distribution mode together constitute the prediction verification phase of the load balancing scheme;
[0108] S68: Based on the verification load sequence obtained from the prediction verification scheme, and the first load distribution mode and each of the second load distribution modes, construct an allocation execution phase;
[0109] S69: Combine the prediction verification phase and the allocation execution phase to obtain a load balancing scheme.
[0110] Specifically, based on the first prediction form (i.e., the direct load prediction for future moments), perform a combined processing on the load status of the computing cores at the current moment. Using historical load data and prediction trends, combine the load at the current moment with the future load prediction data to generate a first load prediction sequence, which gives the load predictions for future moments in chronological order. This step provides a preliminary load prediction sequence for subsequent load balancing, helps the system understand the load trends at the current moment and future moments, and prepares for optimizing load distribution.
[0111] More specifically, according to the second prediction form (i.e., the load prediction obtained based on the similarity analysis of task types), perform a combined processing on the load status of the computing cores at the current moment. Use multiple load prediction models based on task type similarity to perform a combined analysis on the load trends of each task type respectively, and generate several second load prediction sequences. These sequences represent the load prediction trends under different task types. By synthesizing various task load change trends, generate multiple load prediction sequences, thereby providing a reference basis for multiple load distribution schemes for the multi-core heterogeneous mainboard.
[0112] More specifically, according to the first load prediction sequence, use the load adaptation feature distribution (such as information on the load capacity and task processing ability of each computing core, etc.) to perform load distribution simulation. Simulate the load distribution of the computing cores according to the load requirements of the first load prediction sequence, generate the first load prediction sequence, and the corresponding first load distribution mode. The simulated load distribution scheme can provide a basis for subsequent load balancing strategies, ensure the reasonable distribution of load in the multi-core computing system, and thus avoid excessive or too low load on some cores.
[0113] More specifically, based on multiple second load prediction sequences, through load adaptation feature distribution, load allocation simulation is performed on each prediction sequence. Each second load prediction sequence is simulated separately to obtain multiple second load prediction sequences and corresponding second load allocation patterns. This multi-angle simulation analysis provides multiple possible load allocation schemes, helping the system select the optimal scheme from multiple possibilities and improving the flexibility and accuracy of load balancing.
[0114] More specifically, the first load prediction sequence and multiple second load prediction sequences are input, sequence verification and identification are performed on these prediction sequences, the matching degree with the actual load situation is analyzed, and combined with the prediction verification scheme, the future load situation is continuously collected and feature-identified. Through continuous verification and identification, the load prediction can be gradually adjusted to make it closer to the actual load situation, improving the accuracy and reliability of the prediction. Through this dynamic verification, the problem of load imbalance caused by prediction deviation can be avoided.
[0115] More specifically, common features are extracted from all load allocation patterns to generate a verification stage allocation pattern, that is, how to reasonably allocate loads during the verification stage. This step integrates the common features between different load allocation patterns, ensuring that the load allocation during the verification stage can achieve the optimal effect under different load predictions.
[0116] More specifically, the verified load sequence obtained through the prediction verification scheme and the corresponding load allocation pattern are used to verify and adjust the load balancing strategy according to the verified load sequence and the first and second load allocation patterns during the prediction verification stage. Through continuous monitoring and adjustment during the prediction verification stage, the actual load can be more accurately matched, further improving the accuracy and stability of the load balancing scheme.
[0117] More specifically, based on the optimization of the verification stage, combined with the prediction verification scheme, the verified load sequence and the load allocation pattern, an allocation execution stage is constructed. During the allocation execution stage, the system executes the allocation and scheduling of load tasks according to the verification results, ensuring that the load allocation of the computing cores conforms to the predetermined optimization scheme. Through the optimization of the execution stage, the load balancing operation can be actually carried out, ensuring the efficient and balanced load of the multi-core computing platform and improving the utilization rate of system resources.
[0118] More specifically, the optimization results of the prediction verification stage and the implementation plan of the allocation execution stage combine the prediction verification stage and the allocation execution stage to finally form a complete load balancing scheme. This scheme ultimately realizes a dynamic and accurate load balancing mechanism, which can adjust the load allocation according to the prediction data and can also be optimized in real time according to the actual load situation, thus ensuring the optimal allocation of computing resources and improving the overall performance and stability of the system.
[0119] It can be understood that by combining the first load prediction form and the second load prediction form, the computing requirements under different load patterns can be comprehensively considered, providing diverse perspectives and bases for load balancing. The prediction verification scheme and the verification phase allocation mode enable the system to dynamically adjust the load distribution scheme when the actual load occurs, avoiding the static nature and lack of adaptability of traditional load balancing methods. Through different load distribution simulations (the first load distribution mode and the second load distribution mode), the system can simulate load distribution from multiple perspectives and finally select the optimal scheme. Through the verification and adjustment of load prediction in the prediction verification phase, the system can adapt to various load changes and update the load balancing scheme in real time. This scheme can more efficiently utilize computing resources, reduce resource waste, and ensure the stable operation of the system through precise load prediction and allocation optimization. By processing and optimizing different load predictions, it can flexibly handle different computing tasks and load patterns, enhancing the adaptability and response speed of the overall system.
[0120] Preferably, the steps of analyzing the sequence verification and identification of the first load prediction sequence and each of the second load prediction sequences to obtain the prediction verification scheme include:
[0121] S651: Plan a time interval within a certain range from the current moment to the future moment to obtain the initial range of the verification phase;
[0122] S652: Perform a difference analysis on the first load prediction sequence and each of the second load prediction sequences based on the initial range of the verification phase to obtain the sequence difference characteristics of the first load prediction sequence and each of the second load prediction sequences within the initial range of the verification phase;
[0123] S653: Take the difference amplitude corresponding to the sequence difference characteristics as a constraint condition, and perform an extension or shortening process on the initial range of the verification phase to obtain a duration range of the verification phase that meets the preset standard;
[0124] S654: According to the duration range of the verification phase, perform corresponding sequence content truncation and content feature extraction on the first load prediction sequence and each of the second load prediction sequences to obtain the first sequence identification feature corresponding to the first load prediction sequence and the second sequence identification features corresponding to each of the second load prediction sequences;
[0125] S655: Analyze the key identification features of the first sequence identification feature and each of the second sequence identification features to obtain the prediction verification method;
[0126] S656: The duration range of the verification phase and the prediction verification method together constitute the prediction verification scheme.
[0127] Specifically, based on the current moment, a certain range of time intervals is selected to plan the initial range of the verification phase, and a reasonable time window is determined. Within this window, the load prediction sequence is verified and analyzed. The selection of this time interval is the basis for subsequent analysis, providing a preliminary time framework for subsequent verification and analysis, and ensuring that the subsequent steps can perform load prediction and analysis within an appropriate time period.
[0128] More specifically, within the initial time interval, a differential analysis is performed on the first load prediction sequence and the second load prediction sequences, analyzing the difference characteristics between the first load prediction sequence and each second load prediction sequence. Especially within the preset time window, these differences may include the deviation between the predicted value and the actual value, trend changes, etc. Through the differential analysis, the accuracy of each load prediction sequence can be quantified, and their change trends and deviations during the verification phase can be found, helping to adjust the prediction model subsequently.
[0129] More specifically, according to the sequence difference characteristics obtained in the differential analysis, determine their difference amplitude, and adjust the initial range of the verification phase based on the difference amplitude. It may be to extend or shorten the time window to ensure that the verification phase contains sufficient load change information and meets the preset standards. By adjusting the duration of the verification phase, the verification effect can be optimized, avoiding insufficient prediction accuracy caused by too short a verification cycle or overfitting caused by too long a cycle.
[0130] More specifically, according to the adjusted duration range of the verification phase, intercept and extract features from the first load prediction sequence and the second load prediction sequences. Within the determined verification phase, intercept the corresponding content from the load prediction sequence and extract sequence recognition features, such as key indicators like trends, periodicity, fluctuations, etc. Through feature extraction, the key patterns of each load prediction sequence can be accurately described, providing representative data support for the subsequent verification plan.
[0131] More specifically, obtain the extracted first sequence recognition features and each second sequence recognition feature, conduct a key analysis on these features, find the most representative recognition features, and analyze how these features affect the accuracy of load prediction to form an effective prediction verification method. The analysis of key recognition features helps to identify the most critical change patterns in load prediction, enhancing the accuracy and adaptability of the prediction verification plan.
[0132] More specifically, combine the duration range of the verification phase and the prediction verification method obtained through the above steps to form a complete prediction verification plan for subsequent load prediction verification and adjustment. This plan provides a dynamic prediction verification method based on time interval adjustment and feature extraction, which can continuously adapt to the verification requirements under different load scenarios.
[0133] It can be understood that through differential analysis and sequence feature extraction, the duration of the verification phase can be flexibly adjusted to ensure that the verification process better conforms to the actual load changes. By extracting key recognition features, multi-dimensional analysis and optimization of the load prediction are carried out, enhancing the prediction ability of future load conditions. Through the interception and feature analysis of the sequence content, the key change trends in the load prediction can be accurately captured, making the prediction verification process more accurate and effective. With the dynamic adjustment of the time interval, the prediction verification scheme can be automatically optimized according to the changes in the actual load conditions, adapt to different load scenarios, and improve the overall load balancing ability of the system.
[0134] Preferably, the steps of performing load distribution on the computing cores of the multi-core heterogeneous motherboard according to the load balancing scheme to achieve dynamic load balancing of the multi-core heterogeneous motherboard include:
[0135] S71: Perform load task allocation in the corresponding verification phase allocation mode on the multi-core heterogeneous motherboard according to the prediction verification phase of the load balancing scheme, so that each computing core of the multi-core heterogeneous motherboard executes the load task corresponding to the verification phase allocation mode during the prediction verification phase;
[0136] S72: Perform load sequence verification corresponding to the prediction verification scheme on the multi-core heterogeneous motherboard according to the prediction verification phase of the load balancing scheme to obtain the verified load sequence;
[0137] S73: Perform corresponding mode selection on the verified load sequence according to the allocation execution phase of the load balancing scheme, take the first load distribution mode or the second load distribution mode corresponding to the verified load sequence as the allocation execution mode, and perform load task allocation on the multi-core heterogeneous motherboard according to the allocation execution mode.
[0138] Specifically, according to the prediction verification phase of the load balancing scheme, load tasks are allocated to the computing cores of the multi-core heterogeneous motherboard. This allocation mode is determined based on the initial load prediction result of the verification phase. During the prediction verification phase, according to the requirements of the load balancing scheme, corresponding load tasks are allocated to each computing core. The allocation of these load tasks should ensure that during this verification phase, the load of the computing cores is as balanced as possible, avoiding overloading of some computing cores while other computing cores are idle. Through the load task allocation in the prediction verification phase, the load of each computing core can be balanced in the initial stage, avoiding performance bottlenecks caused by over-concentration of the load on some cores, and enhancing the predictability of load balancing.
[0139] More specifically, according to the prediction verification phase of the load balancing scheme, load sequence verification is performed. The load tasks assigned to each computing core are serially verified, and the accuracy of load balancing is verified by calculating the execution effect of the load tasks. The load sequence verification process includes detecting whether the sequence of load tasks executed by each computing core within a given time period is consistent with the expected load pattern. The load sequence verification ensures that the load of each computing core is consistent with the requirements of the prediction verification phase, thereby verifying the effectiveness of the load distribution scheme. This process can promptly detect potential problems in load distribution and correct them.
[0140] More specifically, according to the allocation and execution phase of the load balancing scheme, an allocation mode corresponding to the verified load sequence is selected. Based on the verified load sequence, the corresponding load distribution mode is determined. The first load mode and the second load mode respectively correspond to different types of tasks, and according to the prediction verification phase, the type of task executed by the main board can be determined, thereby calling the first load mode or the second load mode, so as to more precisely adapt to load changes and improve the stability and computing efficiency of the system.
[0141] More specifically, for the selected allocation and execution mode (the first load distribution mode or the second load distribution mode), according to the selected load distribution mode, actual load tasks are allocated to each computing core of the multi-core heterogeneous main board. The task allocation takes into account the performance characteristics and current load conditions of the computing cores to ensure the continuity of load balancing. Through precise task allocation, the loads of different computing cores can be balanced under the allocation mode, avoiding over-concentration of load or resource waste, thereby improving the overall computing efficiency and system response speed.
[0142] It can be understood that using the information in the prediction verification phase for preliminary load task allocation avoids problems caused by unbalanced load distribution and load fluctuations, improves the prediction ability of the system and the effect of load balancing. Through load sequence verification, the load tasks are accurately verified to ensure that the load tasks of each computing core can be effectively executed, reducing the execution imbalance problem caused by load prediction errors. On the multi-core heterogeneous main board, the precise allocation of load tasks ensures the maximization of the performance of each computing core, avoids resource waste and performance bottlenecks, enhances the computing power and response speed of the entire computing platform. By continuously adjusting and verifying the load distribution scheme, the system can operate stably in different load environments, ensure the efficient execution of computing tasks, and improve the system's adaptability to changing loads through dynamic scheduling.
[0143] Refer to Figure 2 As shown in
[0144] A performance acquisition module, configured to acquire performance data of computing cores of a multi-core heterogeneous motherboard to obtain a set of computing core information of the multi-core heterogeneous motherboard; wherein, the set of computing core information includes a plurality of computing core performance information.
[0145] An adaptation analysis module, configured to perform a load adaptability analysis of the computing cores of the multi-core heterogeneous motherboard according to the set of computing core information to obtain a load adaptation feature distribution of the multi-core heterogeneous motherboard; wherein, the load adaptation feature distribution includes load adaptation features corresponding to each computing core.
[0146] A load monitoring module, configured to monitor the computing core load of the multi-core heterogeneous motherboard when the multi-core heterogeneous motherboard is in a working state to obtain the computing core load condition of the multi-core heterogeneous motherboard.
[0147] A trend analysis module, configured to perform an inductive analysis of the load trend of the computing core load condition at each moment in the historical record to obtain the load change trend of the multi-core heterogeneous motherboard.
[0148] A load prediction module, configured to perform a prediction analysis of the computing core load condition at a future moment based on the load change trend to obtain a predicted load form at the future moment.
[0149] A balance optimization module, configured to perform a balance optimization analysis of the computing core load of the computing core load condition at the current moment and the predicted load form at the future moment according to the load adaptation feature distribution to obtain a corresponding load balancing scheme; wherein, the load balancing scheme includes a prediction verification stage and an allocation execution stage.
[0150] A balance execution module, configured to perform a load allocation of the computing cores of the multi-core heterogeneous motherboard according to the load balancing scheme to achieve dynamic load balancing of the multi-core heterogeneous motherboard.
[0151] In this embodiment, for the specific implementation of each module in the above system embodiment, please refer to that described in the above method embodiment, and details are not described herein again.
[0152] The above are only preferred embodiments of the present invention and are not intended to limit the present invention. Any modifications, equivalent replacements, and improvements made within the spirit and principle of the present invention shall be included within the protection scope of the present invention.
Claims
1. A dynamic load balancing method for a multi-core heterogeneous ASIC computing motherboard, characterized in that: include: Collecting performance data of computing cores of a multi-core heterogeneous motherboard to obtain a computing core information set of the multi-core heterogeneous motherboard; wherein the computing core information set includes a plurality of computing core performance information; Performing a load adaptability analysis of the computing cores of the multi-core heterogeneous motherboard according to the computing core information set to obtain a load adaptation feature distribution of the multi-core heterogeneous motherboard; wherein the load adaptation feature distribution includes a load adaptation feature corresponding to each computing core; When the multi-core heterogeneous mainboard is in working state, monitoring the computing core load of the multi-core heterogeneous mainboard to obtain the computing core load status of the multi-core heterogeneous mainboard; Summarizing and analyzing the load trend of the computing core load conditions at each moment in the historical records to obtain the load change trend of the multi-core heterogeneous motherboard; Based on the load change trend, a prediction analysis is performed on the computing core load status at a future moment to obtain a predicted load form at a future moment; According to the load adaptation characteristic distribution, a balanced optimization analysis of the computing core load is performed on the computing core load status at the current moment and the predicted load form at the future moment, so as to obtain a corresponding load balancing solution; wherein the load balancing solution includes a prediction verification phase and an allocation execution phase; Distributing the load of computing cores of the multi-core heterogeneous mainboard according to the load balancing solution to achieve dynamic load balancing of the multi-core heterogeneous mainboard; The step of performing load adaptability analysis of the computing cores of the multi-core heterogeneous mainboard according to the computing core information set to obtain a load adaptation feature distribution of the multi-core heterogeneous mainboard includes: According to the computing core performance information corresponding to each computing core in the computing core information set, performance simulation processing is performed on each computing core on the multi-core heterogeneous motherboard to obtain performance simulation characteristics for digital feedback of the computing performance of each computing core; Acquire several preset target load task types of the multi-core heterogeneous motherboard, and perform reverse analysis of load adaptability of various preset target load task types according to the performance simulation characteristics, so as to obtain load adaptability indexes of various target load task types corresponding to the computing cores corresponding to the performance simulation characteristics; The load adaptability indexes of the computing cores are combined to obtain the load adaptation characteristics of the computing cores, and the load adaptation characteristics of the computing cores are combined to obtain the load adaptation characteristic distribution of the multi-core heterogeneous motherboard.
2. The dynamic load balancing method for a multi-core heterogeneous ASIC computing motherboard according to claim 1, characterized in that: The step of monitoring the computing core load of the multi-core heterogeneous mainboard to obtain the computing core load status of the multi-core heterogeneous mainboard includes: Performing data collection on computing resource scheduling for each computing core of the multi-core heterogeneous mainboard to obtain resource scheduling characteristics of each computing core; The temperature and power consumption data of each computing core of the multi-core heterogeneous mainboard are collected through a preset sensor group to obtain the operating pressure characteristics of each computing core; A weighted comprehensive analysis is performed on the resource scheduling characteristics and the operating pressure characteristics of the computing core according to a preset weight evaluation standard to obtain a real-time load index of the computing core; wherein the real-time load index is used to describe the numerical ratio of the performance load of the computing core at the current moment to the maximum executable performance load of the computing core; A theoretical deviation analysis of the feature correlation is performed on the resource scheduling features and the operation pressure features of the computing core according to the load adaptation features of the computing core, and a mapping conversion of the load performance quality of the computing core is performed according to the theoretical deviation results obtained by the analysis to obtain a performance quality index of the computing core; wherein the performance quality index is used to describe the difference between the computing core performance exhibited by the computing core corresponding to the current load task and the theoretical computing core performance; The real-time load index and the performance index of the computing core are combined to obtain the unit load status of the computing core, and the unit load status of each computing core on the multi-core heterogeneous motherboard are combined to obtain the computing core load status of the multi-core heterogeneous motherboard.
3. The dynamic load balancing method for a multi-core heterogeneous ASIC computing motherboard according to claim 1, characterized in that: The step of summarizing and analyzing the load trend of the computing core load conditions at each moment in the historical records to obtain the load change trend of the multi-core heterogeneous motherboard includes: Arrange the computing core load conditions at each moment of the historical records according to the record timestamps corresponding to the computing core load conditions to obtain a historical load condition sequence; Extracting the load change trend of the historical load condition sequence according to a pre-trained load trend recognition algorithm to obtain the load change trend of the historical load condition sequence; The load trend identification algorithm is a pre-trained machine learning algorithm, and the pre-training steps of the load trend identification algorithm include: Build machine learning algorithm models; Collecting a plurality of training data sets for model training of the machine learning algorithm model; wherein the training data sets include a computing core load state sequence corresponding to a specific type of task, and a load change trend corresponding to the computing core load state sequence; Substituting each of the training data groups into the machine learning algorithm model, allowing the machine learning algorithm model to perform model training according to each of the training data groups, so that the machine learning algorithm model obtains a computing core load status sequence corresponding to a specific type of task, and an identification relationship between load change trends corresponding to the computing core load status sequence; The identification relationship is used as the algorithm body, and the algorithm body is converted by algorithm to obtain an identification unit, and an execution unit and a result unit with associated operation logic are generated based on the identification unit to obtain a load trend identification algorithm composed of the identification unit, the execution unit and the result unit; wherein the execution unit is used to input a historical load condition sequence to be identified, the identification unit is used to identify the corresponding task type of the historical load condition sequence received by the execution unit according to the identification relationship to obtain the corresponding load change trend, and the result unit is used to output the load change trend identified by the identification unit.
4. The dynamic load balancing method for a multi-core heterogeneous ASIC computing motherboard according to claim 1, characterized in that: The steps of predicting and analyzing the computing core load status at a future moment based on the load change trend to obtain the predicted load form at a future moment include: Directly predicting the computing core load status at a future moment based on the load change trend to obtain a first prediction form at the future moment; wherein the first prediction form includes a plurality of predicted load statuses at the future moments arranged in chronological order; According to the load change trends corresponding to several specific types of tasks pre-stored in the database, similarity analysis is performed on the load change trends of the multi-core heterogeneous motherboard to obtain similarity parameters, and the similarity parameters are evaluated according to a preset threshold to obtain load change trends corresponding to several specific types of tasks that meet the preset threshold, and the computing core load conditions at future moments are directly predicted according to the load change trends corresponding to several specific types of tasks that meet the preset threshold to obtain several second prediction forms at future moments; wherein the second prediction form includes several predicted load conditions at future moments arranged in chronological order; The first prediction form and a plurality of the second prediction forms together constitute a predicted load form at a future moment.
5. The dynamic load balancing method for a multi-core heterogeneous ASIC computing motherboard according to claim 4, characterized in that: The steps of performing a balanced optimization analysis of the computing core load on the computing core load status at the current moment and the predicted load form at the future moment according to the load adaptation characteristic distribution to obtain a corresponding load balancing solution include: Combining and processing the computing core load conditions at the current moment according to the first prediction form in the prediction load form to obtain a first load prediction sequence; Combining and processing the computing core load status at the current moment according to each second prediction form in the prediction load form to obtain a plurality of second load prediction sequences; Performing a load distribution simulation on the first load prediction sequence according to the load adaptation characteristic distribution to obtain a first load distribution mode corresponding to the first load prediction sequence; Performing load distribution simulation on each of the second load prediction sequences according to the load adaptation characteristic distribution to obtain a second load distribution mode corresponding to each of the second load prediction sequences; Performing sequence verification and identification scheme analysis on the first load prediction sequence and each of the second load prediction sequences to obtain a prediction verification scheme; wherein the prediction verification scheme is used to continuously collect and identify features of the computing core load conditions within a period of time in the future, so as to determine a load prediction sequence that is consistent with the actual load condition of the multi-core heterogeneous motherboard in the first load prediction sequence and each of the second load prediction sequences as a verification load sequence; Extracting common features from the first load distribution mode and each of the second load distribution modes to obtain a verification phase distribution mode; wherein the verification phase distribution mode is used to distribute load tasks to each computing core of the multi-core heterogeneous motherboard when executing the prediction verification scheme; The prediction verification scheme and the verification phase allocation mode together constitute the prediction verification phase of the load balancing scheme; Constructing a distribution execution phase based on the verification load sequence obtained by the prediction verification scheme and the first load distribution mode and each of the second load distribution modes; The prediction verification phase is combined with the allocation execution phase to obtain a load balancing solution.
6. The dynamic load balancing method for a multi-core heterogeneous ASIC computing motherboard according to claim 5, characterized in that: The step of performing sequence verification and identification scheme analysis on the first load prediction sequence and each of the second load prediction sequences to obtain a prediction verification scheme includes: Plan a certain time interval into the future based on the current moment to obtain the initial range of the verification phase; Performing a difference analysis on the first load prediction sequence and each of the second load prediction sequences based on the initial range of the verification phase to obtain sequence difference characteristics of the first load prediction sequence and each of the second load prediction sequences in the initial range of the verification phase; Taking the difference amplitude corresponding to the sequence difference feature as a constraint condition, the initial range of the verification phase is extended or shortened to obtain a verification phase duration range that meets the preset standard; According to the verification phase duration range, corresponding sequence content interception and content feature extraction are performed on the first load prediction sequence and each of the second load prediction sequences to obtain a first sequence identification feature corresponding to the first load prediction sequence and a second sequence identification feature corresponding to each of the second load prediction sequences; Analyzing the key identification features of the first sequence identification features and each of the second sequence identification features to obtain a prediction verification method; The verification phase duration range and the prediction verification method together constitute a prediction verification plan.
7. The dynamic load balancing method for a multi-core heterogeneous ASIC computing motherboard according to claim 5, characterized in that: The steps of distributing the load of the computing cores of the multi-core heterogeneous mainboard according to the load balancing scheme to achieve dynamic load balancing of the multi-core heterogeneous mainboard include: According to the prediction verification phase of the load balancing scheme, load tasks corresponding to the verification phase allocation mode are allocated to the multi-core heterogeneous mainboard, so that each computing core of the multi-core heterogeneous mainboard performs the load tasks corresponding to the verification phase allocation mode in the prediction verification phase; According to the prediction verification phase of the load balancing solution, the multi-core heterogeneous mainboard is verified for a load sequence corresponding to the prediction verification solution to obtain the verification load sequence; According to the distribution execution phase of the load balancing scheme, a corresponding mode is selected for the verification load sequence, so that the first load distribution mode or the second load distribution mode corresponding to the verification load sequence is used as the distribution execution mode, and load tasks are distributed to the multi-core heterogeneous mainboard according to the distribution execution mode.
8. A dynamic load balancing system for a multi-core heterogeneous ASIC computing motherboard, characterized in that: A method for implementing a dynamic load balancing method of a multi-core heterogeneous ASIC computing motherboard according to any one of claims 1 to 7, comprising: A performance collection module, used for collecting performance data of computing cores of a multi-core heterogeneous motherboard to obtain a computing core information set of the multi-core heterogeneous motherboard; wherein the computing core information set includes a plurality of computing core performance information; An adaptation analysis module, used for performing load adaptability analysis of the computing cores of the multi-core heterogeneous motherboard according to the computing core information set, so as to obtain a load adaptation feature distribution of the multi-core heterogeneous motherboard; wherein the load adaptation feature distribution includes load adaptation features corresponding to each computing core; A load monitoring module, used for monitoring the computing core load of the multi-core heterogeneous mainboard when the multi-core heterogeneous mainboard is in working state, so as to obtain the computing core load status of the multi-core heterogeneous mainboard; A trend analysis module, used for summarizing and analyzing the load trend of the computing core load conditions at each moment in the historical records, so as to obtain the load change trend of the multi-core heterogeneous motherboard; A load prediction module, used to predict and analyze the computing core load status at a future moment based on the load change trend, so as to obtain a predicted load form at a future moment; A balancing optimization module, used to perform a balancing optimization analysis of the computing core load on the computing core load status at the current moment and the predicted load form at the future moment according to the load adaptation characteristic distribution, so as to obtain a corresponding load balancing solution; wherein the load balancing solution includes a prediction verification phase and an allocation execution phase; A balancing execution module is used to distribute the load of the computing cores of the multi-core heterogeneous mainboard according to the load balancing scheme to achieve dynamic load balancing of the multi-core heterogeneous mainboard.
Citation Information
Patent Citations
Load balancing method based on program behaviour online analysis under heterogeneous multi-core environment
CN102184125A
Method for controlling task migration, other-than-temporary computer readable medium, heterogeneous multi-core system
CN103870322A