Power loop switching control methods, electronic devices, computer storage media, and software products

By identifying the complexity of tasks to predict power loop patterns, the problem of power loop switching lag in AI servers is solved, power performance and power supply stability are improved, and the stable operation of AI servers is ensured.

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

Patent Information

Application Number
CN202511240006.0
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2025-09-01
Publication Date
2025-11-14
Estimated Expiration
2045-09-01

AI Technical Summary

Technical Problem

In existing technologies, the power loop switching of AI servers exhibits lag, affecting power performance and power supply stability.

Method used

By identifying the complexity of the task to be executed, the target response mode of the power loop is predicted, and the power loop is switched before the task is executed, either dynamically or in a steady state to match the task requirements.

Benefits of technology

Improved power response speed and power supply adaptability ensure stable and reliable operation of the AI ​​server.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120723050B_ABST
    Figure CN120723050B_ABST
Patent Text Reader

Abstract

This application discloses a power loop switching control method, electronic device, computer storage medium, and program product, relating to the field of server power supply technology. Before task execution, the power loop switching control method determines the target response mode of the power loop based on the identified task complexity. Therefore, before task execution, the power loop is switched based on the target response mode. By pre-calculating the complexity of the task and predicting the magnitude of current changes, the server power supply can be brought into dynamic or steady-state mode in advance. Thus, it solves the technical problem of adverse effects on power performance and stability caused by power loop switching lag in related technologies, achieving the technical effect of improving power response and power supply adaptability.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of server power supply technology, and in particular to power loop switching control methods, electronic devices, computer storage media, and program products. Background Technology

[0002] With the rapid development of artificial intelligence, the requirements for the development of AI (Artificial Intelligence) servers and related technologies are becoming increasingly stringent. In the field of AI server power supply, power supply has evolved from traditional multi-stable modules to multi-dynamic application modes, and even to scenarios that combine dynamic and steady-state conditions and change rapidly, based on different AI application scenarios.

[0003] In related technologies, the power supply loop is switched and controlled according to the fluctuation of the power supply output voltage or current during the operation of the server. However, this method has a certain lag, which affects the power supply performance and power supply stability. Summary of the Invention

[0004] This application provides a power loop switching control method, electronic device, computer storage medium, and program product to at least solve the problem of adverse effects on power performance and power supply stability caused by power loop switching lag in related technologies.

[0005] This application provides a power loop switching control method applied to a server, comprising: identifying the task complexity of the task to be executed; determining the target response mode of the power loop based on the task complexity; when the target response mode is a dynamic loop response mode, switching the server's power loop to dynamic loop control, and executing the task to be executed based on the dynamic loop control, wherein the dynamic loop control is used to characterize that the transient response speed of the power supply is greater than a preset speed threshold.

[0006] This application also provides an electronic device, including: a memory for storing a computer program; and a processor for implementing the switching control method of any of the above-described power loops when executing the computer program.

[0007] This application also provides a computer-readable storage medium storing a computer program, wherein when the computer program is executed by a processor, it implements the steps of any of the above-described power loop switching control methods.

[0008] This application also provides a computer program product, including a computer program that, when executed by a processor, implements the steps of any of the above-described power loop switching control methods.

[0009] This application solves the technical problem of adverse effects on power performance and power supply stability caused by power loop switching lag in related technologies by calculating the complexity of the task to be executed before the task is executed. This is achieved by determining the target response mode of the power supply loop based on the identified task complexity before the task is executed and switching the power supply loop of the server before the task is executed. Attached Figure Description

[0010] 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.

[0011] Figure 1 A flowchart illustrating a power loop switching control method provided in some embodiments of this application;

[0012] Figure 2 A flowchart illustrating a power loop switching control method provided in some specific embodiments of this application;

[0013] Figure 3 This is a connection diagram of a power loop switching control system provided in some embodiments of this application. Detailed Implementation

[0014] 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.

[0015] 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.

[0016] In the field of AI server power supply, power supply has evolved from traditional multi-stable modules to multi-dynamic application modes, and even to scenarios that combine dynamic and steady states and change rapidly based on different AI application scenarios.

[0017] In related technologies, server power supplies dynamically determine their operation based on the rate of change of output voltage and current. For example, when the rate of change of output voltage exceeds a certain set threshold, or the output voltage fluctuation exceeds a certain percentage (e.g., a certain percentage of the rated output voltage), and the rate of change of output current exceeds the corresponding set threshold, the system is considered to be in dynamic operating mode and switches to dynamic loop control. For instance, if the rate of change of output voltage is greater than 5V / ms, or the output voltage fluctuation exceeds 5% of the rated output voltage, and the rate of change of output current is greater than 10A / ms, the system enters dynamic operating mode. Conversely, if the rate of change of output voltage is less than a lower set threshold, and the output voltage fluctuation is less than a smaller percentage (e.g., approximately 1% of the rated output voltage), and the rate of change of output current is also less than the corresponding lower set threshold for a certain period (e.g., 100ms), the system is considered to be in steady-state operating mode and switches to steady-state loop control.

[0018] However, this method switches the loop when the power supply output voltage and current change. In other words, the loop adjustment is only performed after the GPU (Graphics Processing Unit) has started its operation, which results in a certain lag and makes it impossible for the power supply to respond and cope quickly and effectively in the initial stage.

[0019] To address at least one of the aforementioned technical problems, this application proposes a power loop switching control method. Based on the identified task complexity, the target response mode of the power loop is determined. Therefore, before the task to be executed, the server's power loop is switched according to the target response mode. By calculating the complexity of the task and predicting the magnitude of current changes, the server power supply can be brought into dynamic or steady-state mode in advance. This solves the technical problem of adverse effects on power performance and stability caused by power loop switching lag in related technologies, achieving improved power response and power supply adaptability. This facilitates better AI power supply and ensures the stable and reliable operation of AI servers.

[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, embodiments of this application provide a power loop switching control method applied to a server. The method includes:

[0022] S1 identifies the task complexity of the task to be executed;

[0023] Specifically, task complexity refers to the amount of cognitive resources, time, steps, or skills required to complete a task, and is typically used to assess task difficulty or workload. For example, task complexity can be identified based on parameters such as the type of task to be performed, the functions to be implemented, cognitive load, and the number of steps required.

[0024] S2, determine the target response mode of the power loop based on the task complexity;

[0025] Specifically, a mapping relationship between task complexity and target response mode can be pre-set, and the corresponding target response mode can be determined based on a lookup table after obtaining the task complexity. For example, if the task to be executed is determined to be a lightweight, slow-changing simple task based on the task complexity, then the target response mode is determined to be a steady-state response; if the task to be executed is determined to be a complex task based on the task complexity, then the target response mode is determined to be a dynamic response.

[0026] S3, when the target response mode is dynamic loop response mode, the server's power loop is switched to dynamic loop control, and the task to be executed is performed based on dynamic loop control. The dynamic loop control is used to characterize that the transient response speed of the power supply is greater than a preset speed threshold. The preset speed threshold can be set according to actual conditions.

[0027] Specifically, the power supply loop is switched based on the target response mode. For example, if the task to be executed is determined to be a lightweight, slow-changing simple task based on task complexity, then the target response mode is determined to be a steady-state response, and the power supply loop is switched to steady-state loop control. This mode features low frequency and high gain, which can improve the static accuracy of the power supply loop. In other words, the power supply loop is maintained in steady-state control mode, continuing to maintain low bandwidth and high gain parameters, accurately suppressing long-term errors (such as the integral term in PID control), and ensuring that the output voltage remains stable at the target value with high precision over a long period. Conversely, if the task to be executed is determined to be a computationally intensive, bursty complex task (such as an AI training task), requiring significant GPU computing power, consuming high power, or experiencing large power fluctuations, then the target response mode is determined to be a dynamic response, and the power supply loop is switched to dynamic loop control in advance. This mode features high bandwidth and low output impedance, which can improve the transient performance of the power supply loop and prepare for load changes in advance. Then, the task to be executed is performed based on the switched power supply loop to improve the matching effect between the power supply loop and the task.

[0028] Furthermore, in addition to classifying tasks into simple and complex tasks, task complexity can be further refined using numerical ranges characterizing task complexity. Each task complexity range is pre-matched with different response modes, and each response mode can correspond to different loop control parameters for the power supply loop. In application, the task complexity is characterized by numerical values, and the appropriate complexity range is determined by looking up a table, thus obtaining the corresponding target response mode for switching control of the power supply loop.

[0029] This embodiment pre-emptively switches the power loop based on task complexity assessment before task execution, ensuring the power loop adapts to the task before execution and improving power supply efficiency during task execution, thus guaranteeing task quality. By calculating the task complexity in advance and predicting current changes, the server power supply can be brought into dynamic or steady-state mode ahead of time. Therefore, this solves the technical problem of power loop switching lag causing adverse effects on power performance and stability in related technologies, achieving improved power response and adaptability.

[0030] In some embodiments of this application, identifying the task complexity of a task to be executed includes: receiving a task to be executed and performing natural language processing on the task description information of the task to be executed to extract task keywords; determining at least one target feature type and a first feature weight coefficient corresponding to each target feature type based on the task keywords; extracting at least one target feature of the task to be executed based on the at least one target feature type; selecting one or more of the at least one target feature according to the at least one target feature and the corresponding first feature weight coefficient, and determining the task complexity of the task to be executed according to the at least one or more of the at least one target feature.

[0031] Specifically, the task description information for the task to be executed may include the user-submitted task description, task name, and comments in the configuration file. Then, based on a self-recognized language processing method, keyword extraction is performed on the task description information to identify keywords that imply complexity, such as "deep learning," "distributed training," "large-scale," "real-time," and "aggregation," or words like "try," "possibly," and "optimize" contained in the description, to obtain task keywords. Then, a preset mapping table is consulted based on the task keywords to obtain at least one target feature type and a first feature weight coefficient corresponding to each target feature type. At least one target feature for the task to be executed is extracted based on the target feature type. Then, features used to evaluate task complexity are selected based on the at least one extracted target feature and the first feature weight coefficient corresponding to each target feature. For example, a target feature with a higher feature value and a higher first feature weight coefficient is selected as the feature for evaluating task complexity. Therefore, the task complexity of the task to be executed can be evaluated based on one or more of the selected at least one target feature, improving the accuracy of task evaluation.

[0032] Besides the methods described above that determine target features based on task management detection, features that characterize task complexity can also be directly used as target features, and at least one target feature of the task to be executed can be extracted, such as CPU (Central Processing Unit) utilization, memory bandwidth requirements, I / O request burstiness, etc. Specifically, target features can be queried based on the task type of the task to be executed, or features can be extracted based on the identification information of the task to be executed; there are no specific restrictions.

[0033] Then, the task complexity of the task to be executed is calculated based on one or more of the extracted target features. Taking the target features including the CPU utilization, memory bandwidth requirements and I / O request burstiness of the task to be executed as an example, the task complexity value can be obtained by weighting the above three features, or the value of only one extracted feature can be used as the task complexity value.

[0034] This embodiment identifies task complexity based on at least one target feature of the task to be executed, thereby improving the accuracy of task complexity identification.

[0035] In some embodiments of this application, after extracting the task keywords, the method further includes: determining the server's historical task database, wherein the historical task database includes multiple historical execution tasks and a task complexity parameter for each historical execution task; matching the task to be executed against the historical task database to obtain the task matching degree between the task to be executed and the historical execution tasks; if there is a task matching degree between the task to be executed and the historical execution tasks that exceeds a preset matching degree, determining the task complexity of the task to be executed based on the task complexity parameter of the historical execution tasks; if there is no task matching degree between the task to be executed and the historical execution tasks that exceeds a preset matching degree, extracting at least one target feature of the task to be executed.

[0036] Specifically, the historical task database is used to store the historical tasks executed by the server, as well as the task complexity parameters determined before the execution of each historical task. The task complexity parameter can be a numerical value of the task complexity of the historical task, a task type determined based on the task complexity (such as a complex task or a simple task identifier), or at least one target feature used to evaluate the task complexity.

[0037] Upon receiving a task to be executed, the task is first matched against historical tasks in the historical task database. This matching can be performed based on parameters such as task identifier and task type. The task matching degree between the task to be executed and the historical tasks in the historical task database is then obtained.

[0038] Then, the task matching degree is compared with the preset matching degree. If the task matching degree is greater than the preset matching degree, the task to be executed is considered to have a high matching degree with the historical executed task, and the task complexity can be directly evaluated based on the task complexity parameter of the historical executed task, thereby improving the efficiency of task complexity evaluation. If there are multiple historical executed tasks in the historical database with matching degrees higher than the preset matching degree, the task complexity of the task to be executed is evaluated based on the task complexity parameter of the historical executed task with the highest matching degree. In addition, the task to be executed can be matched with historical executed tasks in the historical task database in a preset order. After a historical executed task with a matching degree exceeding the preset matching degree is matched, the matching operation is stopped, and the task complexity of the task to be executed is directly evaluated based on the task complexity parameter of that historical executed task, thereby shortening the matching time.

[0039] If the matching degree between the historical executed tasks in the historical task database and the task to be executed is less than or equal to the preset matching degree, it is considered that there is no historical executed task in the historical database that matches the task to be executed. In this case, in order to ensure the accuracy of the task complexity assessment, the target feature extraction step is performed, and the task complexity is assessed based on the target features of the task to be executed.

[0040] Before extracting target features, this embodiment first matches them with a historical task database. When there are historical execution tasks with a matching degree exceeding a preset matching degree, the task complexity of the task to be executed is directly evaluated based on the task complexity parameters corresponding to the historical execution tasks. This improves the efficiency of task complexity evaluation while ensuring the accuracy of task complexity evaluation.

[0041] In some embodiments of this application, the task complexity parameter of a historical execution task is at least one target feature of the historical execution task. Determining the task complexity of the task to be executed based on the task complexity parameter of the historical execution task includes: performing natural language processing on the task description information of the historical execution task to extract historical task keywords; determining a second feature weight coefficient corresponding to each target feature according to the degree of matching between the task keywords and the historical task keywords; selecting one or more of the at least one target feature of the historical execution task according to the at least one target feature of the historical execution task and the corresponding second feature weight coefficient, and determining the task complexity of the task to be executed based on the at least one or more of the at least one target feature of the historical execution task.

[0042] In other words, keywords are extracted from the task description information of historical tasks related to the task to be executed using natural language processing to obtain the corresponding historical task keywords. Then, the second feature weight coefficient of the target feature is determined based on the matching degree between the task keywords of the task to be executed and the historical task keywords. For example, when the matching degree between task keyword A and historical task keyword A1 is high, the second feature weight coefficient corresponding to the target feature related to historical task keyword A1 is increased; when no corresponding keyword with a matching degree exceeding a preset threshold is found for historical task keyword B1, the second feature weight coefficient corresponding to the target feature related to historical task keyword B1 is decreased. Finally, at least one target feature from the historical tasks with a high second feature weight coefficient or a small adjustment is selected to evaluate the complexity of the task to be executed.

[0043] In addition to the above methods, at least one target feature of a historically executed task whose task matching degree exceeds the preset matching degree can also be used as at least one target feature of the task to be executed for calculating the task complexity. In this case, targeted calculation can be performed based on the calculation method or calculation coefficient set for the task to be executed, which helps to ensure the accuracy of the task complexity calculation.

[0044] In some embodiments of this application, matching the task to be executed with a historical task database includes: determining a preset hash table corresponding to the historical task database, wherein the preset hash table includes a composite hash value and a list of historical tasks, wherein the composite hash value is generated based on the static feature vector of the historical executed tasks and a preset hash function; extracting and vectorizing static features of the task to be executed to obtain a current static feature vector, wherein the current static feature vector and the static feature vector of the historical executed tasks are in the same dimension; performing hash processing on the current static feature vector based on the preset hash function to obtain a current composite hash value; and matching the current composite hash value with the preset hash table to match the task to be executed with historical executed tasks in the historical task database.

[0045] Specifically, a hash table is a data structure based on key (composite hash value) - value (list of historical tasks) pairs. During the matching process, a hash function maps the key to a position in the table, thereby enabling fast lookup, insertion, and deletion operations.

[0046] A preset hash table for the historical database can be pre-configured. For example, static feature extraction can be performed on the key features (such as tags, keywords, skill requirements, etc.) of each historical task, and all features can be concatenated into a high-dimensional feature vector. Then, the feature vector of each historical task can be hashed based on a preset hash function (such as LSH (Locality Sensitive Hashing) function). The hash values ​​generated by each LSH function can be combined to form a composite hash key. The task's metadata can be put into the bucket corresponding to this hash key, and the value is a list of all historical tasks that fall into the bucket, thus obtaining an LSH hash table and completing the construction of the preset hash table.

[0047] Then, static features are extracted and vectorized for the task to be executed to obtain the current static feature vector that is in the same dimension as the static feature vector of the historical task. The current static feature vector is then hashed based on a preset hash function to obtain the current composite hash value. The task is then looked up in a preset table based on the current composite hash value to obtain the matching historical task.

[0048] The system allows users to directly query related historical execution tasks from a pre-defined hash table for tasks awaiting execution. For example, task characteristics (values) can be quickly obtained using the task ID (key) of the task to be executed, thus retrieving related historical execution tasks and avoiding full table scans. Additionally, a reverse index can be used to query historical execution tasks related to the task to be executed. Specifically, tags are constructed into a pre-defined hash table to quickly find tasks with the same tags.

[0049] The matching degree between a task to be executed and related historical tasks can be calculated using the following methods: The task to be executed can be added to a preset hash table. Based on the characteristics of the task in the hash table, the matching degree between the two tasks can be calculated. For example, the ratio of the intersection to the union of the label sets of the two tasks can be used as the matching degree. Alternatively, the numerical features of the task (such as difficulty and duration) can be converted into vectors, and the cosine similarity can be calculated as the matching degree. Another method is to assign weights to different features through weighted comprehensive matching (such as a label weight of 0.6 and a numerical weight of 0.4), and calculate the overall matching degree as the matching degree between the two tasks.

[0050] This embodiment performs task matching based on a preset hash table, thereby improving task matching speed and accuracy.

[0051] In some embodiments of this application, the power loop switching control method further includes: during the execution of the task to be executed, statistically analyzing the actual feature value of at least one target feature; determining the target storage feature and feature weight adjustment parameters based on the actual feature value of at least one target feature; and storing the task to be executed and the corresponding target storage feature after the task to be executed is completed, in order to construct a historical task database, and adjusting the first feature weight coefficient based on the feature weight adjustment parameters.

[0052] In other words, for tasks that fail to match, after the task is completed, the task and at least one corresponding target feature are stored in the historical task database to supplement and improve the historical task database and increase the matching success rate in subsequent task execution.

[0053] Furthermore, the actual feature values ​​of the target features of the task to be executed can be statistically analyzed during the task execution process. The target storage features can be determined based on the actual feature values ​​to construct a historical task database, thereby improving the accuracy of the historical task database. At the same time, the influence of the corresponding features on the task complexity assessment can be evaluated based on the actual feature values. Then, the corresponding first feature weight coefficient can be adjusted based on the feature weight adjustment parameters to improve the accuracy of task assessment.

[0054] In some embodiments of this application, at least one target feature type includes computational density features, data interaction features, data dimension features, and sparsity features. Extracting at least one target feature of the task to be executed based on at least one target feature type includes: performing a pre-execution operation on the task to be executed to extract the computational density features and data interaction features of the task to be executed; performing semantic parsing on the task to be executed to extract the data dimension features and sparsity features of the task to be executed; and using the computational density features, data interaction features, data dimension features, and sparsity features as at least one target feature of the task to be executed.

[0055] Specifically, when the target feature types include computational density features, data interaction features, data dimensionality features, and sparsity features, the extraction of target features can include the following two parts:

[0056] Hardware interface task features are extracted to obtain computational density and data interaction features. Computational density features can be characterized based on GPU instructions during the execution of the task, such as the percentage of floating-point instructions per cycle and the corresponding operation type. Data interaction features can include memory bandwidth utilization and cross-SM (Streaming Multiprocessor) data exchange frequency. The task can be run in a "sandbox" for a very short time (milliseconds) to complete pre-execution operations. During the pre-operation process, relevant information is collected through Dynamic Binary Instrumentation (DBI) or eBPF (Extended Berkeley Packet Filter). The collected information is divided into two categories: CPU events (such as instruction retirement count, SIMD / FP (Single Instruction Multiple Data / Floating-Point) instruction percentage, and cache misses) to obtain computational density features; and memory / IO events to determine data interaction features.

[0057] Task semantic parsing based on the software layer is used to extract data dimensionality and sparsity features of the task to be executed, such as through static code scanning and lightweight dynamic sampling. Data dimensionality features characterize the shape, size, and proportion of each dimension of the data corresponding to the task to be executed. Sparsity features characterize the proportion of zero values, non-zero distribution, and storage format of the task to be executed.

[0058] Then, one or more of the following characteristics—density, data interaction, data dimensionality, and sparsity—are selected as at least one target feature for the task to be performed. The specific features can be set according to the actual situation.

[0059] This embodiment constructs the target features of the task to be executed based on computational density features, data interaction features, data dimensionality features, and sparsity features, thereby improving the accuracy of task complexity assessment.

[0060] In some embodiments of this application, determining the task complexity of a task to be executed based on one or more of at least one target feature includes: determining the task to be executed as a complex task when the proportion of floating-point operation instructions in the task to be executed within a preset period exceeds a preset threshold and the number of target type instructions within the preset period is greater than or equal to a preset instruction number threshold, based on computational density features; determining the task to be executed as a complex task when the memory bandwidth utilization rate corresponding to the task to be executed exceeds a preset utilization rate threshold and the cross-processor data exchange density exceeds a preset exchange density, based on data interaction features; determining the task to be executed as a complex task when the input data dimension of the task to be executed exceeds a preset dimension, based on data dimension features; and determining the task to be executed as a complex task when the amount of sparse matrix stored in the task to be executed exceeds a preset matrix threshold, based on sparsity features.

[0061] Specifically, this embodiment characterizes task complexity by task type, dividing tasks into two categories: complex tasks and simple tasks.

[0062] For computation density features, if it is determined that floating-point operation instructions (such as FP32 / FP64) account for more than 70% in a single cycle (i.e., the preset threshold), and are accompanied by a large number of matrix multiplication (GEMM) and convolution operation (such as CNN (Convolutional Neural Network) convolution kernels) instructions, for example, matrix multiplication and convolution operation are used as target types, and the number of target type instructions in the preset cycle is greater than or equal to the preset instruction number threshold, then the task to be executed is considered a high-complexity task (such as deep learning training); otherwise, it is considered a simple task.

[0063] For data interaction characteristics, if the video memory read / write bandwidth continuously exceeds the preset utilization threshold of the theoretical peak, such as 50% (e.g., PCIe 4.0 x16 interface bandwidth > 8GB / s), and there is frequent cross-SM (streaming multiprocessor) data exchange (e.g., atomic operation intensive), and if the data exchange density exceeds the preset exchange density, then the task complexity is high (e.g., parallel sorting, complex physical simulation), and the task is determined to be a complex task; otherwise, it is considered a simple task.

[0064] Regarding data dimensionality, if the input data dimension of the task to be performed exceeds 3D (i.e., the preset dimension is three-dimensional), it is determined to be a complex task, such as video frame sequence processing; otherwise, it is considered a simple task, such as input data being a one-dimensional array.

[0065] For sparsity characteristics, if the amount of sparse matrices in the task to be executed exceeds a preset matrix threshold, the task is considered to have high complexity and is classified as a complex task, such as embedding calculation in a recommendation system; otherwise, it is considered to have low complexity and is classified as a simple task, such as vector addition. The sparseness of a matrix can be confirmed by the proportion of non-zero elements in the matrix; for example, if the proportion of non-zero elements in the matrix is ​​less than 10%, it is considered a sparse matrix.

[0066] This embodiment can calculate one or more of the following features: density features, data interaction features, data dimension features, and sparsity features to determine task complexity. That is, it uses one or more of the above judgment conditions to determine task complexity, which improves application flexibility.

[0067] In some embodiments of this application, determining the task complexity of a task to be executed based on one or more of at least one target feature includes: determining a complexity value corresponding to each target feature among at least one target feature; and determining a final complexity value based on the complexity value corresponding to each target feature, as the task complexity of the task to be executed.

[0068] In other words, besides directly determining whether a task is complex or simple based on the numerical value corresponding to each feature, and using this as the task complexity, the extracted numerical values ​​of each target feature can be converted into corresponding complexity values ​​to characterize the complexity of that target feature. Then, the final complexity value is calculated based on the complexity value corresponding to each target feature, for example, using a weighted calculation, and used as the task complexity of the task to be executed, thereby improving the accuracy of task complexity determination. When determining a task, the range in which the final complexity value falls can be used to determine whether it is a complex task or the degree of task complexity, thus determining the appropriate mode.

[0069] In some embodiments of this application, determining the target response mode of the power loop based on task complexity includes: if the task to be executed is determined to be a complex task based on task complexity, using a dynamic loop response mode as the target response mode, and switching the server's power loop to dynamic loop control based on the dynamic loop response mode; if the task to be executed is determined to be a simple task based on task complexity, using a steady-state loop response mode as the target response mode, and switching the server's power loop to steady-state loop control based on the steady-state loop response mode.

[0070] Specifically, when the task to be executed is a complex task, it is assumed that during the execution of the task, the system will experience frequent load fluctuations, large input voltage fluctuations, and multiple outputs. This places higher demands on the stability margin of the power supply loop, such as higher phase margin and gain margin, to cope with load transients, interference, and other parameter changes. Therefore, the power supply loop is switched to dynamic loop control. Dynamic loop control has a high transient response speed and can efficiently respond to parameter changes to meet the power supply requirements of complex tasks during execution and improve task execution performance.

[0071] When the task to be performed is a simple task, there may be small parameter fluctuations during the execution of the task. In this case, power supply can be provided through steady-state loop control. For example, under constant load, the loop of a linear regulator only needs to ensure that the output voltage is stable at 3.300 V±1% for a long time.

[0072] This embodiment switches the power loop to dynamic loop control in advance when the task to be performed is complex, and switches the power loop to steady-state loop control in advance when the task to be performed is simple, so as to meet the different task execution requirements. This solves the technical problem of adverse effects on power performance and power supply stability caused by the switching lag of the power loop in related technologies, and achieves the technical effect of improving power supply response and power supply adaptability.

[0073] In some embodiments of this application, during the execution of the task to be performed based on dynamic loop control, the method further includes: acquiring the output current and output voltage of the server's power supply; determining the target response speed based on the changes in the output current and output voltage, and adjusting the control parameters of the dynamic loop based on the target response speed.

[0074] In other words, during task execution based on dynamic loop control, the system determines whether to execute a fast or relatively slow response under dynamic loop control based on changes in the server's power supply's output current and voltage. It then adjusts the dynamic loop control parameters, such as PI (Proportional-Integral) parameters, in a timely manner to ensure the power supply can promptly adjust to the optimal loop state, improving the reliability of the AI ​​system's power supply. For example, the response speed is adjusted based on the changes in output current and voltage within a preset time period. If the change in output current exceeds a preset current range and the change in output voltage exceeds a preset voltage range within the preset time period, the response speed is increased; otherwise, the initial response speed is maintained.

[0075] In some embodiments of this application, determining the target response speed based on changes in output current and output voltage includes: if the increase in output current exceeds a preset current threshold and the decrease in output voltage exceeds a preset voltage threshold within a preset time, a first response speed is used as the target response speed; if the increase in output current does not exceed the preset current threshold or the decrease in output voltage does not exceed the preset voltage threshold within a preset time, a second response speed is used as the target response speed, wherein the first response speed is faster than the second response speed.

[0076] Specifically, after the power supply enters dynamic loop control, the output voltage and output current values ​​are simultaneously detected. When the output voltage drops by more than 20V (a preset voltage threshold) within a unit time (e.g., 10ms) and the output current increases by more than 46A (a preset current value) within a unit time (e.g., 10ms), the power supply loop is dynamically adjusted to fast control, enabling it to respond to microsecond-level current changes. When the output voltage drops by less than 20V or the output current increases by less than 46A within a unit time, the power supply loop is dynamically adjusted to slow control, enabling it to respond to millisecond-level current changes. After entering dynamic loop control or slow loop control, the power supply can calculate the actual response information based on the PI algorithm and perform output voltage regulation.

[0077] The preset current threshold and preset voltage threshold can be adjusted according to the rated power of the power supply or flexibly adjusted according to the actual load, without any specific restrictions.

[0078] This embodiment adjusts the response speed based on the increase in output current and the decrease in output voltage within a preset time period, thereby meeting the response requirements of different task execution scenarios.

[0079] As a specific embodiment of this application, taking a preset time of 10ms, a preset current threshold of 46A, and a preset voltage threshold of 20V as an example, Figure 2 As shown, the switching control method for this power loop includes the following steps:

[0080] S101, Receive the task to be executed.

[0081] S102, Identify the task complexity of the task to be executed.

[0082] Specifically, the computational density and data interaction features of the task to be executed can be extracted by performing pre-execution operations on the task to be executed, and the data dimension and sparsity features of the task to be executed can be extracted by performing semantic parsing on the task to be executed. The task complexity of the task to be executed can be determined based on the computational density, data interaction, data dimension and sparsity features.

[0083] When the task to be executed is determined to be a complex task based on the task complexity, the target response mode is determined to be a dynamic response mode, and step S103 is executed; when the task to be executed is determined to be a simple task based on the task complexity, the target response mode is determined to be a steady-state response mode, and step S109 is executed.

[0084] S103 switches the power loop to dynamic loop control.

[0085] S104 obtains the output voltage and output current of the power supply.

[0086] S105, determine whether the voltage drop difference is greater than 20V and the current rise is greater than 46A within 10ms. If yes, proceed to step S106; otherwise, proceed to step S107.

[0087] S106, execute loop dynamic fast control to enable it to respond to current changes in the microsecond range. Execute step S108.

[0088] S107 performs loop dynamic slow control, enabling it to respond to current changes in the millisecond range.

[0089] S108 adjusts the control parameters of the power supply loop.

[0090] S109, switch the power supply loop to steady-state loop control. Execute step S108.

[0091] This embodiment manages power loop switching based on a three-dimensional combination of task computation complexity and output current and voltage. Taking GPU-based task execution as an example, it predicts the magnitude of GPU current changes by pre-calculating the complexity of the GPU task, allowing the power supply to enter dynamic or steady-state mode in advance. Based on changes in output current and voltage, it determines whether a fast or relatively slow response is needed in the dynamic loop and adjusts the PI parameters accordingly to ensure the power supply can adjust to the optimal loop state in a timely manner, improving the reliability of the AI ​​system's power supply. Therefore, compared to pure voltage or pure current detection in related technologies, this application predicts dynamic and steady-state information in advance based on GPU task complexity, increasing the predictive amount in power supply regulation and making the power supply loop control more intelligent. Simultaneously, monitoring both output voltage and output current and incorporating them into the loop switching criteria makes loop switching more precise, faster, and allows for more detailed adjustments, providing a better solution for output voltage stability and power supply reliability.

[0092] Based on the power loop switching control method of this application, a system can be constructed as follows: Figure 3 The power loop switching control system shown here mainly includes the following system modules:

[0093] 1. Task Complexity Determination Module: The GPU needs to comprehensively analyze multiple dimensions to determine the workload of a task, including the following units:

[0094] 1) Hardware interface task feature extraction unit, specifically used to extract computational density indicators and data interaction patterns.

[0095] Computational density metrics: Access patterns of GPU instruction cache: If floating-point operation instructions (such as FP32 / FP64) account for more than 70% in a single cycle, and are accompanied by a large number of matrix multiplication (GEMM), convolution operation (such as CNN convolution kernel) instructions, it usually belongs to high-complexity tasks (such as deep learning training).

[0096] Data interaction mode: Analyze memory bandwidth utilization: If the memory read and write bandwidth continuously exceeds 50% of the theoretical peak (such as PCIe 4.0 x16 interface bandwidth > 8GB / s), and there is frequent cross-SM (streaming multiprocessor) data exchange (such as atomic operation intensive), then the task complexity is high (such as parallel sorting, complex physical simulation).

[0097] 2) The task semantic parsing unit in the software layer is used to extract the dimensionality and sparsity of the input data. When the input data dimension exceeds 3D (such as video frame sequence processing) or contains a large number of sparse matrices (non-zero elements account for <10%), the task complexity is high (such as embedding calculation in recommendation systems); if it is a one-dimensional array or dense matrix, the complexity is low (such as vector addition).

[0098] 3) Historical Execution Task Feature Library Matching Unit: This unit stores historical tasks and their feature vectors (including instruction density, data dimension, API (Application Programming Interface) call chain hash value, etc.). It quickly matches historical execution tasks using a hash table: if a historical high-complexity task (such as ResNet-50 training) is matched, it is pre-judged as a complex task; if a low-complexity task (such as matrix transpose) is matched, it is marked as a simple task.

[0099] When the GPU task complexity determination module determines that the task is complex and that the subsequent GPU operation will result in large current fluctuations, it transmits a high-level signal to the PSU (Power Supply Unit) through the hardware interface; if it is a simple task with small subsequent GPU current fluctuations, it transmits a low-level signal to the PSU.

[0100] 2. Simple / Complex Task Determination Module: This module mainly determines whether the PSU needs to enter the dynamic loop or maintain the steady-state loop based on the high and low level signals transmitted by the system. If a high level signal is received, it enters the dynamic loop mode; if a low level signal is received, it enters the steady-state loop mode.

[0101] 3. Output Current Detection Module: This module is used to detect changes in the output current of the power supply (PSU), determine the magnitude of the current change per unit time, and provide a reference for the fast and slow adjustment of the power supply dynamic loop.

[0102] 4. Output Voltage Detection Module: This module is used to detect changes in the output voltage under the power supply PFC (Power Factor Correction Module) module, determine the specific value of the output voltage, and provide a reference for the rapid adjustment of the power supply dynamic loop.

[0103] 5. Fast and slow loop determination module: Based on the changes in power supply output current and output voltage, it comprehensively determines the speed of power supply dynamic loop adjustment.

[0104] 6. Fast and slow loop switching execution module: Based on the judgment result, adjust the power supply PI value, gain and other information to enable the power supply to enter the dynamic fast loop mode or the dynamic slow loop mode.

[0105] This control system manages power loop switching based on a three-dimensional combination of task computation complexity, output current, and output voltage. By pre-calculating the complexity of the GPU's task execution and predicting the magnitude of GPU current changes, it allows the power supply to enter dynamic or steady-state modes in advance. Based on changes in output current and voltage, it determines whether to implement a fast or relatively slow response in the dynamic loop and adjusts PI parameters accordingly to ensure the power supply can promptly adjust to the optimal loop state, improving the reliability of the AI ​​system's power supply. This makes the power supply's loop control more intelligent. Furthermore, incorporating output voltage and current monitoring into the loop switching criteria results in more precise loop switching, faster loop operation, and more refined adjustments. This provides a better solution for output voltage stability and power supply reliability, resolving the technical problem of power loop switching lag causing adverse effects on power supply performance and stability in related technologies, thus improving power supply response and adaptability.

[0106] 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.

[0107] 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 embodiments of the power loop switching control method.

[0108] 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 power loop switching control method embodiments when running.

[0109] 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.

[0110] The 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 power loop switching control method embodiments.

[0111] 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 power loop switching control method embodiments.

[0112] 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.

[0113] The foregoing has provided a detailed description of a power loop switching control method, electronic device, computer storage medium, and program product 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 aid in understanding 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 switching control method for a power supply loop, characterized in that, Applied to servers, including: Identify the task complexity of the task to be executed; Determine the target response mode of the power loop based on the task complexity; When the target response mode is dynamic loop response mode, the power loop of the server is switched to dynamic loop control, and the task to be executed is executed based on the dynamic loop control, wherein the dynamic loop control is used to characterize that the transient response speed of the power supply is greater than a preset speed threshold. Identify the task complexity of the task to be executed, including: Receive the task to be executed and perform natural language processing on the task description information of the task to be executed to extract task keywords; Based on the task keywords, at least one target feature type and a first feature weight coefficient corresponding to each target feature type are determined; Extract at least one target feature of the task to be executed based on the at least one target feature type; Select one or more of the at least one target feature based on the at least one target feature and the corresponding first feature weight coefficient, and determine the task complexity of the task to be executed based on one or more of the at least one target feature; The at least one target feature type includes computational density features, data interaction features, data dimensionality features, and sparsity features. Based on the at least one target feature type, at least one target feature of the task to be executed is extracted, including: Perform pre-execution operations on the task to be executed to extract the computational density features and data interaction features of the task to be executed; Semantic parsing is performed on the task to be executed to extract its data dimension features and sparsity features; The computational density feature, the data interaction feature, the data dimensionality feature, and the sparsity feature are used as at least one target feature of the task to be executed.

2. The power loop switching control method according to claim 1, characterized in that, After extracting the task keywords, the process also includes: Determine the historical task database of the server, wherein the historical task database includes multiple historical execution tasks and the task complexity parameter of each historical execution task; The task to be executed is matched with the historical task database to obtain the task matching degree between the task to be executed and the historical executed tasks. If the task matching degree between the task to be executed and the historical task exceeds the preset matching degree, the task complexity of the task to be executed is determined based on the task complexity parameter of the historical task. If there is no task matching degree between the task to be executed and the historical executed task that exceeds the preset matching degree, at least one target feature of the task to be executed is extracted.

3. The power loop switching control method according to claim 2, characterized in that, The task complexity parameter of the historical executed task is at least one target feature of the historical executed task. Determining the task complexity of the task to be executed based on the task complexity parameter of the historical executed task includes: Natural language processing is performed on the task description information of the historical tasks to extract keywords of the historical tasks; The second feature weight coefficient corresponding to each target feature is determined based on the degree of matching between the task keywords and the historical task keywords; Based on at least one target feature of the historical execution task and the corresponding second feature weight coefficient, select one or more of the at least one target feature of the historical execution task, and determine the task complexity of the task to be executed based on one or more of the at least one target feature of the historical execution task.

4. The power loop switching control method according to claim 2, characterized in that, Matching the task to be executed with the historical task database includes: A preset hash table corresponding to the historical task database is determined, wherein the preset hash table includes a composite hash value and a list of historical tasks, wherein the composite hash value is generated based on the static feature vector of historical executed tasks and a preset hash function; Static feature extraction and vectorization are performed on the task to be executed to obtain the current static feature vector, wherein the current static feature vector and the static feature vector of the historical executed task are in the same dimension; The current static feature vector is hashed based on the preset hash function to obtain the current composite hash value; The task to be executed is matched against the historical execution tasks in the historical task database based on the current composite hash value and the preset hash table.

5. The power loop switching control method according to claim 4, characterized in that, Also includes: During the execution of the task to be executed, the actual feature value of at least one target feature is statistically analyzed; Target storage features and feature weight adjustment parameters are determined based on the actual feature values ​​of the at least one target feature. After the task to be executed is completed, the task to be executed and the corresponding target storage features are stored to construct the historical task database. The first feature weight coefficient is adjusted based on the feature weight adjustment parameters.

6. The power loop switching control method according to claim 1, characterized in that, Determining the task complexity of the task to be executed based on one or more of the at least one target feature includes: If, based on the computational density characteristics, the proportion of floating-point operation instructions in the task to be executed within a preset period exceeds a preset threshold, and the number of target type instructions within the preset period is greater than or equal to a preset instruction number threshold, the task to be executed is determined to be a complex task. If, based on the data interaction characteristics, it is determined that the video memory bandwidth utilization rate of the task to be executed exceeds a preset utilization rate threshold and the cross-processor data exchange density exceeds a preset exchange density, the task to be executed is determined to be a complex task. If, based on the data dimension characteristics, the input data dimension of the task to be executed exceeds the preset dimension, the task to be executed is determined to be a complex task. If, based on the sparsity characteristics, the amount of sparse matrix in the task to be executed exceeds a preset matrix threshold, the task to be executed is determined to be a complex task.

7. The power loop switching control method according to claim 4, characterized in that, Determining the task complexity of the task to be executed based on one or more of the at least one target feature includes: Determine the complexity value corresponding to each of the at least one target features; The final complexity value is determined based on the complexity value corresponding to each target feature, and is used as the task complexity of the task to be executed.

8. The power loop switching control method according to claim 1, characterized in that, The target response mode of the power loop is determined based on the task complexity, including: If the task to be executed is determined to be a complex task based on the task complexity, the dynamic loop response mode is used as the target response mode, and the power loop of the server is switched to the dynamic loop control based on the dynamic loop response mode. If the task to be executed is determined to be a simple task based on the task complexity, the steady-state loop response mode is used as the target response mode, and the power loop of the server is switched to steady-state loop control based on the steady-state loop response mode.

9. The power loop switching control method according to claim 8, characterized in that, The process of executing the task to be executed based on the dynamic loop control also includes: Obtain the output current and output voltage of the server's power supply; The target response speed is determined based on the changes in the output current and the output voltage, and the control parameters of the dynamic loop control are adjusted based on the target response speed.

10. The power loop switching control method according to claim 9, characterized in that, Determining the target response speed based on the changes in the output current and the output voltage includes: If the increase in output current exceeds a preset current threshold and the decrease in output voltage exceeds a preset voltage threshold within a preset time, the first response speed shall be used as the target response speed. If the increase in output current does not exceed the preset current threshold or the drop in output voltage does not exceed the preset voltage threshold within the preset time, the second response speed is used as the target response speed, wherein the first response speed is faster than the second response speed.

11. An electronic device, characterized in that, include: Memory, used to store computer programs; A processor, configured to implement the steps of the power loop switching control method as described in any one of claims 1 to 10 when executing the computer program.

12. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores a computer program, wherein when the computer program is executed by a processor, it implements the steps of the power loop switching control method as described in any one of claims 1 to 10.

13. A computer program product, comprising a computer program, characterized in that, When the computer program is executed by the processor, it implements the steps of the power loop switching control method as described in any one of claims 1 to 10.

Citation Information

Patent Citations

  • Power supply switching control method and device

    CN113271020A

  • Data processing device and method, and method for manufacturing data processing device

    CN117669670A