Equipment performance optimization method and device, equipment, medium and program product

By dynamically adjusting the configuration parameters of PCIe devices, optimizing the equipment performance based on robustness indicators, solving the problem of inefficient static configuration in the existing technology, and achieving automatic balance of equipment performance and stable operation of server clusters.

CN120276956AActive Publication Date: 2025-07-08INSPUR SUZHOU INTELLIGENT TECH CO LTD
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
CN202510724669.3
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-05-30
Publication Date
2025-07-08
Estimated Expiration
2045-05-30

AI Technical Summary

Technical Problem

In the prior art, the performance management of PCIe devices relies on static configuration and manual intervention, resulting in inefficiency and may lead to service interruption in key business scenarios, making it difficult to dynamically adapt to complex and changeable load scenarios, and cannot guarantee the stability and performance optimization of the server cluster.

Method used

By determining the comprehensive performance evaluation value based on the robustness indicators of multiple target devices in the server cluster, dynamically adjusting the configuration parameters of performance deviating from the device, and optimizing the device performance using parameter mapping relationships to achieve performance redistribution and dynamic repair.

Benefits of technology

It realizes automatic optimization of PCIe equipment performance in complex and variable load scenarios, maintains balanced equipment performance, avoids service interruptions, and ensures the stability and efficient operation of the server cluster.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120276956A_ABST
    Figure CN120276956A_ABST
Patent Text Reader

Abstract

The invention provides an equipment performance optimization method and device, equipment, a medium and a program product, which can be applied to the technical field of computers. The method comprises the following steps: according to a plurality of robustness indexes for a plurality of target devices in a server cluster, determining respective comprehensive performance evaluation values of the plurality of target devices; for any target device in the plurality of target devices, determining a performance redistribution value of any target device according to the performance deviation value of any target device and the comprehensive performance evaluation value of any target device under the condition that the performance deviation value of any target device is out of a preset threshold range; and based on the parameter mapping relationship, determining a performance parameter adjustment value of any target device according to a performance adjustment proportion of any target device determined by using the performance redistribution value and the comprehensive performance evaluation value of any target device, and updating the configuration parameter of any target device by using the performance parameter adjustment value. Therefore, the performance of any target device can be optimized.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of computer technology, and more particularly, to a method, device, equipment, medium, and program product for optimizing device performance. Background Art

[0002] With the rapid development of high-performance computing, artificial intelligence, and big data applications, the Peripheral Component Interconnect express (PCIe), as the most important high-speed serial computer expansion bus in server clusters, ensuring the robustness and reliability of the performance of devices in the PCIe link (hereinafter referred to as PCIe devices) is crucial for ensuring the normal and stable operation of the entire PCIe link.

[0003] In the related art, the performance management of PCIe devices mainly relies on static configuration or manual intervention. That is, when the performance of PCIe devices is unbalanced, it is usually necessary to manually detect problems and adjust the configuration, which is not only inefficient but may also cause service interruptions in critical business scenarios. Summary of the Invention

[0004] In view of this, the present application provides a method, device, equipment, medium, and program product for optimizing device performance.

[0005] According to one aspect of the present application, a method for optimizing device performance is provided, including: determining the comprehensive performance evaluation value of each of the multiple target devices according to multiple robustness indicators for the multiple target devices in a server cluster, where the target devices are devices in the server cluster that communicate with a processor based on a high-speed serial computer expansion bus; for any one of the multiple target devices, when the performance deviation value of the any one of the target devices is outside a preset threshold range, determining the performance redistribution value of the any one of the target devices according to the performance deviation value of the any one of the target devices and the comprehensive performance evaluation value of the any one of the target devices, where the performance deviation value represents the degree of deviation between the comprehensive performance of the any one of the target devices and the average comprehensive performance of the multiple target devices; based on a parameter mapping relationship, determining the performance parameter adjustment value of the any one of the target devices according to the performance adjustment ratio of the any one of the target devices determined by using the performance redistribution value and the comprehensive performance evaluation value of the any one of the target devices, and updating the configuration parameters of the any one of the target devices by using the performance parameter adjustment value to optimize the performance of the any one of the target devices.

[0006] According to another aspect of the present application, there is provided an apparatus for optimizing device performance, including: a first determination module, configured to determine the respective comprehensive performance evaluation values of the plurality of target devices according to a plurality of robustness metrics for the plurality of target devices in a server cluster, where the target devices are devices in the server cluster that communicate with a processor based on a high-speed serial computer expansion bus; a second determination module, configured to, for any one of the plurality of target devices, when the performance deviation value of the any one of the target devices is outside a preset threshold range, determine a performance redistribution value of the any one of the target devices according to the performance deviation value of the any one of the target devices and the comprehensive performance evaluation value of the any one of the target devices, where the performance deviation value represents the deviation degree between the comprehensive performance of the any one of the target devices and the average comprehensive performance of the plurality of target devices; a parameter update module, configured to determine a performance parameter adjustment value of the any one of the target devices based on a parameter mapping relationship according to a performance adjustment ratio of the any one of the target devices determined by using the performance redistribution value and the comprehensive performance evaluation value of the any one of the target devices, and update the configuration parameters of the any one of the target devices by using the performance parameter adjustment value, so as to optimize the performance of the any one of the target devices.

[0007] According to another aspect of the present application, there is provided an electronic device, including: one or more processors; a memory, configured to store one or more computer programs, and the one or more processors execute the one or more computer programs to implement the steps of the above method.

[0008] According to another aspect of the present application, there is provided a computer-readable storage medium, on which a computer program or instruction is stored, and when the computer program or instruction is executed by a processor, the steps of the above method are implemented.

[0009] According to another aspect of the present application, there is provided a computer program product, including a computer program or instruction, and when the computer program or instruction is executed by a processor, the steps of the above method are implemented.

[0010] According to an embodiment of the present application, by determining the comprehensive performance evaluation value of each of multiple target devices according to multiple robustness indicators for the multiple target devices in a server cluster, an evaluation value reflecting the comprehensive performance of the multiple target devices can be automatically obtained. When the performance deviation value of any target device is outside the preset threshold range, by determining the performance redistribution value of any target device according to the performance deviation value of any target device and the comprehensive performance evaluation value of any target device, it is possible to automatically calculate the performance redistribution value of any target device when the performance deviation value of any target device is outside the preset threshold range, that is, when the performance of any target device is unbalanced, and achieve dynamic performance allocation. At the same time, based on the parameter mapping relationship, according to the performance adjustment ratio of any target device determined by using the performance redistribution value and the comprehensive performance evaluation value of any target device, the performance parameter adjustment value of any target device is determined, and the configuration parameters of any target device are updated by using the performance parameter adjustment value, so as to optimize the performance of any target device, and achieve automatic repair of the performance of any target device through a dynamic repair strategy, and keep the performance of any target device balanced. BRIEF DESCRIPTION OF THE DRAWINGS

[0011] The above and other objects, features, and advantages of the present application will become more apparent from the following description of the embodiments of the present application with reference to the accompanying drawings.

[0012] Figure 1 FIG. shows an exemplary system architecture to which the device performance optimization method according to an embodiment of the present application can be applied.

[0013] Figure 2 FIG. shows a flowchart of the device performance optimization method according to an embodiment of the present application.

[0014] Figure 3 FIG. shows a flowchart of the device performance optimization method according to another embodiment of the present application.

[0015] Figure 4 FIG. shows a block diagram of the device performance optimization device according to an embodiment of the present application.

[0016] Figure 5 FIG. shows a block diagram of an electronic device suitable for implementing the above-described device performance optimization method according to an embodiment of the present application. DETAILED DESCRIPTION OF THE EMBODIMENTS

[0017] Hereinafter, embodiments of the present application will be described with reference to the accompanying drawings. However, it should be understood that these descriptions are merely exemplary and are not intended to limit the scope of the present application. In the following detailed description, for the sake of explanation, numerous specific details are set forth to provide a comprehensive understanding of the embodiments of the present application. However, obviously, one or more embodiments can also be implemented without these specific details. In addition, in the following description, descriptions of well-known structures and technologies are omitted to avoid unnecessarily confusing the concepts of the present application.

[0018] The terms used herein are merely for describing specific embodiments and are not intended to limit the present application. The terms "including", "comprising", etc. used herein indicate the presence of the described features, steps, operations, and / or components, but do not exclude the presence or addition of one or more other features, steps, operations, or components.

[0019] All terms used herein (including technical and scientific terms) have the meanings commonly understood by those skilled in the art, unless otherwise defined. It should be noted that the terms used herein should be interpreted as having a meaning consistent with the context of this specification and should not be interpreted in an idealized or overly rigid manner.

[0020] In cases where expressions similar to "at least one of A, B, and C, etc." are used, generally, it should be interpreted according to the meaning commonly understood by those skilled in the art (for example, "a system having at least one of A, B, and C" should include, but is not limited to, a system having only A, only B, only C, having A and B, having A and C, having B and C, and / or having A, B, and C, etc.).

[0021] In practical applications, due to reasons such as hardware design defects, topological structure defects, uneven load, or environmental factors, PCIe devices may have problems of unbalanced performance allocation, which in turn leads to a decline in the overall performance of the service cluster. Even in some scenarios where the service cluster is a storage cluster and the storage cluster stores multiple nodes, unbalanced PCIe device performance may cause abnormal data synchronization, which in turn leads to storage system failures or crashes.

[0022] In the related art, the performance management of PCIe devices mainly relies on static configuration or manual intervention, lacks dynamic adjustment capabilities, has low adjustment efficiency, and may cause service interruptions in critical business scenarios. In addition, traditional dynamic performance adjustment methods often adopt simple speed reduction strategies, restarting devices, etc., lack intelligent decision-making mechanisms, cannot dynamically adapt to complex and changing load scenarios, and are difficult to optimize performance while ensuring the stability of the server cluster.

[0023] In view of this, the present application provides a method for optimizing device performance, which can be applied to the field of computer technology.

[0024] Embodiments of the present application provide a method for optimizing device performance, including determining comprehensive performance evaluation values for multiple target devices according to multiple robustness indicators for the multiple target devices in a server cluster, where a target device is a device in the server cluster that communicates with a processor based on a high-speed serial computer expansion bus; for any one of the multiple target devices, when the performance deviation value of any one of the target devices is outside a preset threshold range, determining a performance redistribution value for any one of the target devices according to the performance deviation value of any one of the target devices and the comprehensive performance evaluation value of any one of the target devices, where the performance deviation value represents the degree of deviation between the comprehensive performance of any one of the target devices and the average comprehensive performance of the multiple target devices; based on a parameter mapping relationship, determining a performance parameter adjustment value for any one of the target devices according to the performance adjustment ratio of any one of the target devices determined by using the performance redistribution value and the comprehensive performance evaluation value of any one of the target devices, and updating the configuration parameters of any one of the target devices by using the performance parameter adjustment value to optimize the performance of any one of the target devices.

[0025] Figure 1 FIG. shows an exemplary system architecture to which the device performance optimization method according to an embodiment of the present application can be applied. It should be noted that, Figure 1 What is shown is only an example of the system architecture to which the embodiments of the present application can be applied, to help those skilled in the art understand the technical content of the present application, but it does not mean that the embodiments of the present application cannot be used in other devices, systems, environments or scenarios.

[0026] As Figure 1 shown, the system architecture 100 according to this embodiment may include a server 101, a communication link 102, a first target device D1, a second target device D2,..., a th M target device D M , where M is an integer greater than 2. The first target device D1, the second target device D2,..., the th M target device D M are devices that communicate based on the PCIe bus.

[0027] The server 101, the first target device D1, the second target device D2,..., the th M target device D M can communicate with each other through the communication link 102. The communication link 102 can be a PCIe link.

[0028] The server 101 can automatically and real-time detect the performance index data of the first target device D1, the second target device D2,..., the th M target device D M . And according to the device performance optimization method provided by the present application, for the first target device D1, the second target device D2,..., the th M target device D MProcess the performance index data to automatically optimize the performance of any target device. Server 101 can be a server at the master node of a server cluster.

[0029] It should be noted that the device performance optimization method provided by the embodiments of the present application can generally be executed by server 101. Correspondingly, the device performance optimization device provided by the embodiments of the present application can generally be set in server 101. The device performance optimization method provided by the embodiments of the present application can also be executed by a server or a server cluster different from server 101 and capable of communicating with the first target device D1, the second target device D2,..., the Mth target device D M Correspondingly, the device performance optimization device provided by the embodiments of the present application can also be set in a server or a server cluster different from server 101 and capable of communicating with the first target device D1, the second target device D2,..., the Mth target device D M in a server or server cluster that communicates.

[0030] It should be understood that Figure 1 the numbers of target devices, communication links, and servers in

[0031] Figure 2 are merely illustrative. According to the implementation requirements, there can be any number of target devices, communication links, and servers.

[0032] As Figure 2 shown, the device performance optimization method includes operations S201 to S203.

[0033] In operation S201, according to multiple robustness indicators for multiple target devices in a server cluster, determine the comprehensive performance evaluation values of the multiple target devices respectively.

[0034] The target device is a device in the server cluster that communicates with a processor based on the high-speed serial computer expansion bus.

[0035] For example, the target device can be any device in the PCIe link of the server cluster. The target device communicates based on the high-speed serial computer expansion bus. The server cluster can be used for high-speed computing or big data storage. The server cluster can be a storage cluster or a computing cluster.

[0036] For example, the server 101 can deploy an encrypted container through a unified Serial Attached SCSI (SAS) chassis service (Organic SAS Enclosure Service, OSES). The specific deployment steps are as follows: prepare the container (Docker) environment; prepare the data acquisition form, and write a container file (Dockerfile) containing encryption instructions to build a container image and implement container encryption; run the encrypted container. Since the encrypted container has many advantages such as lightweight, easy to deploy, strong real-time performance, high resource utilization rate, and large amount of data that can be stored, it is very convenient to obtain a large amount of metric data corresponding to multiple robustness metrics for multiple target devices in the server cluster later, and encrypting the container can ensure the security and reliability of the data.

[0037] For example, the Proportion Integration Differentiation (PID) control algorithm can be used to process multiple robustness metrics for multiple target devices in the server cluster to determine the comprehensive performance evaluation values of the multiple target devices respectively.

[0038] In operation S202, for any one of the multiple target devices, when the performance deviation value of any one of the target devices is outside the preset threshold range, according to the performance deviation value of any one of the target devices and the comprehensive performance evaluation value of any one of the target devices, determine the performance redistribution value of any one of the target devices. Among them, the performance deviation value represents the degree of deviation between the comprehensive performance of any one of the target devices and the average comprehensive performance of the multiple target devices.

[0039] According to the embodiments of the present application, when the performance deviation value of any one of the target devices is outside the preset threshold range, the performance of the target device is unbalanced, but it has no impact on the overall performance of the server cluster. At this time, dynamically optimizing the performance of the target device can timely adjust the performance of the target device to be balanced, and avoid affecting the overall performance of the server cluster due to further imbalance of the performance of the target device.

[0040] According to the embodiments of the present application, the preset threshold range can be selected according to the actual situation and is not limited here. For example, the preset threshold range can be [-0.03, 0.03]. Or, the preset threshold range can be [-0.04, 0.04]. Or, the preset threshold range can be [-0.05, 0.05].

[0041] For example, the performance compensation value of any target device can be calculated based on the performance deviation value of any target device and the total performance value of multiple target devices. The performance redistribution value of any target device can be obtained by adding the performance compensation value of any target device and the comprehensive performance evaluation value of any target device.

[0042] In operation S203, based on the parameter mapping relationship, the performance parameter adjustment value of any target device is determined according to the performance adjustment ratio of the target device determined by using the performance redistribution value and the comprehensive performance evaluation value of any target device, and the configuration parameter of any target device is updated by using the performance parameter adjustment value.

[0043] According to the embodiments of the present application, the performance of any target device is optimized by updating the configuration parameter of any target device by using the performance parameter adjustment value.

[0044] According to the embodiments of the present application, by determining the comprehensive performance evaluation value of each of multiple target devices according to multiple robustness indicators for multiple target devices in a server cluster, an evaluation value reflecting the comprehensive performance of multiple target devices can be automatically obtained. When the performance deviation value of any target device is outside the preset threshold range, the performance redistribution value of any target device is determined according to the performance deviation value of any target device and the comprehensive performance evaluation value of any target device, so that when the performance deviation value of any target device is outside the preset threshold range, that is, when the performance of any target device is unbalanced, the performance redistribution value of any target device can be automatically calculated to achieve dynamic performance distribution. At the same time, based on the parameter mapping relationship, the performance parameter adjustment value of any target device is determined according to the performance adjustment ratio of any target device determined by using the performance redistribution value and the comprehensive performance evaluation value of any target device, and the configuration parameter of any target device is updated by using the performance parameter adjustment value, so as to optimize the performance of any target device, and the performance of any target device is automatically repaired through a dynamic repair strategy to keep the performance of any target device balanced.

[0045] According to the device performance optimization method provided by the present application, the performance of any target device can be automatically repaired through a dynamic repair strategy, and thus can dynamically adapt to complex and changeable load scenarios, while ensuring the stability of the server cluster, optimize the performance.

[0046] According to the embodiments of the present application, the multiple robustness indicators include at least two of bandwidth, input / output operations per second (IOPS), latency, and error rate.

[0047] According to an embodiment of the present application, the bandwidth reflects the total amount of data that the target device can transmit per second. The number of read / write operations per second reflects the number of input / output operations that the target device can process per second. The latency reflects the transmission time of the data corresponding to the target device from the sending end to the receiving end. The error rate reflects the error rate of the target device receiving or sending data.

[0048] For example, the read bandwidth, write bandwidth, and bi-directional bandwidth can be used as sub-performance indicators under the bandwidth indicator to calculate the indicator value of the bandwidth indicator. The read IOPS, write IOPS, bi-directional IOPS, etc. can be used as sub-performance indicators under the number of read / write operations per second indicator to calculate the indicator value of the number of read / write operations per second indicator. The one-way latency, round-trip latency, memory read / write latency, etc. can be used as sub-performance indicators under the latency indicator to calculate the indicator value of the latency indicator. The bit error rate, transmission error rate, link error rate can be used as sub-performance indicators under the error rate indicator to calculate the indicator value of the error rate indicator.

[0049] For example, multiple robustness indicators include bandwidth, number of read / write operations per second, latency, and error rate.

[0050] According to an embodiment of the present application, the bandwidth, number of read / write operations per second, latency, and error rate as a whole can reflect the efficiency, speed, and error rate of the target device in processing data. Subsequently, the comprehensive performance of the target device can be objectively and accurately evaluated based on the bandwidth, number of read / write operations per second, latency, and error rate.

[0051] For example, the coefficient of variation method can be used to process multiple robustness indicators for multiple target devices in a server cluster to determine the comprehensive performance evaluation value of each of the multiple target devices.

[0052] According to an embodiment of the present application, the core idea of the coefficient of variation method is to use the coefficient of variation obtained from the statistical information of each performance indicator to reflect its data volatility. The indicator with greater volatility has a more significant impact on the overall performance of the target device and is given a higher weight, which is applicable to scenarios where the indicator dimensions are different and objective evaluation is required in the performance scenario.

[0053] For example, for the operation S201 as shown in Figure 2 , to determine the comprehensive performance evaluation value of each of the multiple target devices according to the multiple robustness indicators for the multiple target devices in the server cluster, the following operations can be included: normalizing the multiple sub-performance indicators corresponding to the robustness indicators of the target device respectively to obtain multiple normalized sub-indicators; normalizing the statistical information of the multiple normalized sub-indicators corresponding to each of the multiple robustness indicators respectively to determine multiple first weights; weighting the multiple robustness indicators with the multiple first weights to determine the comprehensive performance evaluation value of the target device.

[0054] For example, the robustness index can be obtained by weighted summation of a plurality of normalized sub - indices corresponding to the robustness index.

[0055] For example, normalizing a plurality of sub - performance indices corresponding to the robustness index of the target device respectively to obtain a plurality of normalized sub - indices may include the following operations: determining a maximum sub - performance index and a minimum sub - performance index according to a plurality of sub - performance indices respectively corresponding to the same robustness index of a plurality of target devices; using the maximum sub - performance index and the minimum sub - performance index to normalize a plurality of sub - performance indices corresponding to the robustness index of the target device respectively to obtain a plurality of normalized sub - indices.

[0056] For example, the maximum sub - performance index and the minimum sub - performance index corresponding to the robustness index of the target device can be used to normalize a plurality of sub - performance indices corresponding to the robustness index of the target device respectively to obtain a plurality of normalized sub - indices.

[0057] For example, using the maximum sub - performance index and the minimum sub - performance index to normalize a plurality of sub - performance indices corresponding to the robustness index of the target device respectively to obtain a plurality of normalized sub - indices may include the following operations: in the case where the sub - performance index is a positive index, obtaining a normalized sub - index according to the ratio of the difference between the sub - performance index and the minimum sub - performance index to the difference between the maximum sub - performance index and the minimum sub - performance index, where the positive index is an index with stronger robustness as the index value is larger; in the case where the sub - performance index is a negative index, obtaining a normalized sub - index according to the ratio of the difference between the maximum sub - performance index and the sub - performance index to the difference between the maximum sub - performance index and the minimum sub - performance index, where the negative index is an index with weaker robustness as the index value is larger.

[0058] For example, the positive index can be throughput, the number of read - write operations per second, bandwidth, etc. The negative index can be latency, error rate, etc.

[0059] For example, the initial sub - performance index data matrix is , where M is the number of target devices and J is the total number of a plurality of robustness indices. x ij represents the i - th sub - performance index under the j - th robustness performance index, J is an integer greater than 1, 1 ≤ j ≤ J and j is an integer.

[0060] In the case where the sub - performance index is a positive index, the normalized sub - index can be obtained according to formula (1).

[0061] (1).

[0062] Where is the maximum sub - performance index corresponding to the j - th robustness performance index, is the minimum sub - performance index corresponding to the j - th robust performance index. Z ij is the normalized sub - index of the i - th sub - performance index under the j - th robust performance index.

[0063] In the case where the sub - performance index is a negative - direction index, the normalized sub - index Z can be obtained according to formula (2). ij .

[0064] (2)

[0065] According to the embodiments of the present application, by, in the case where the sub - performance index is a positive - direction index, obtaining the normalized sub - index according to the ratio of the difference between the sub - performance index and the minimum sub - performance index to the difference between the maximum sub - performance index and the minimum sub - performance index, and in the case where the sub - performance index is a negative - direction index, obtaining the normalized sub - index according to the ratio of the difference between the maximum sub - performance index and the sub - performance index to the difference between the maximum sub - performance index and the minimum sub - performance index, it is realized that the data of the initial sub - performance index is unified into a positive - direction index and the influence of the dimension is eliminated.

[0066] For example, normalizing the statistical information of multiple normalized sub - indices corresponding to multiple robustness indices respectively, determining multiple first weights may include: calculating the mean of multiple normalized sub - indices; calculating the standard deviation of multiple normalized sub - indices; obtaining the first coefficient of variation according to the standard deviation and the mean; normalizing multiple first coefficients of variation corresponding one - to - one to multiple robustness indices to obtain multiple first weights.

[0067] According to the embodiments of the present application, the larger the first coefficient of variation is, the greater the fluctuation of the index values of multiple normalized sub - indices corresponding to the robustness index is, the more significant the influence of this robustness index on the overall performance of the target device is, and a higher first weight should be given.

[0068] The mean of multiple normalized sub - indices can be calculated using formula (3), the standard deviation of multiple normalized sub - indices can be calculated using formula (4). The first coefficient of variation can be obtained according to the standard deviation and the mean using formula (5). Multiple first weights can be obtained by normalizing multiple first coefficients of variation corresponding one - to - one to multiple robustness indices using formula (6).

[0069] (3).

[0070] Among them, is the mean of multiple normalized sub - indices corresponding to the j - th robust performance index, I is the total number of multiple normalized sub - indices corresponding to the j - th robust performance index. I is an integer greater than 1, 1 ≤ i ≤ I and i is an integer.

[0071] (4).

[0072] Among them, is the standard deviation of multiple normalized sub-indices corresponding to the j-th robust performance index.

[0073] (5).

[0074] Among them, is the first coefficient of variation corresponding to the j-th robust performance index.

[0075] (6).

[0076] Among them, is the first weight corresponding to the j-th robust performance index.

[0077] The formula (7) can be used to weight multiple robust performance indices with multiple first weights to determine the comprehensive performance evaluation value of the target device.

[0078] (7).

[0079] Among them, is the comprehensive performance evaluation value of the m-th target device, is the j-th robust performance index. is obtained by weighted summation of multiple normalized sub-indices Z ij corresponding to the j-th robust performance index. 1 ≤ m ≤ M and m is an integer.

[0080] According to the embodiments of the present application, by normalizing multiple sub-performance indices corresponding to the robustness indices of the target device respectively to obtain multiple normalized sub-indices, and normalizing the statistical information of the multiple normalized sub-indices corresponding to each of the multiple robustness indices respectively to determine multiple first weights, multiple first weights reflecting the importance degrees of the multiple robustness indices can be automatically obtained. Furthermore, subsequently using the multiple first weights to weight the multiple robustness indices to determine the comprehensive performance evaluation value of the target device, the comprehensive performance evaluation value reflecting the true comprehensive performance of the target device can be automatically obtained in real time, preparing for subsequent automatic identification of target devices with unbalanced performance and automatic repair of the performance of target devices with unbalanced performance.

[0081] For example, the entropy weight method can be used to process multiple robustness indices of multiple target devices in a server cluster to determine the comprehensive performance evaluation values of the multiple target devices respectively.

[0082] According to an embodiment of the present application, the entropy weight method is an objective weighting method that can determine objective weights according to the magnitude of the variability of indicators. The basic idea of the entropy weight method is as follows: If the information entropy of a certain performance indicator is smaller, it indicates that the variability of this performance indicator is greater, the amount of information provided is more, and the role played in the comprehensive performance evaluation is greater, and its weight is also greater. On the contrary, if the information entropy of a certain performance indicator is larger, it indicates that the variability of this performance indicator is smaller, the amount of information provided is less, the role played in the performance comprehensive evaluation is smaller, and its weight is also smaller. Therefore, the entropy weight method can be used to calculate the weights of each performance indicator, providing a basis for the comprehensive evaluation of multi-index performance.

[0083] According to an embodiment of the present application, for the operation S201 as shown in Figure 2 to determine the comprehensive performance evaluation value of each of the multiple target devices according to multiple robustness indicators of the multiple target devices in the server cluster, the following operations may be included: normalizing each of the multiple sub-performance indicators corresponding to the robustness indicators of the target device to obtain multiple normalized sub-indicators; determining the information entropy corresponding to the robustness indicator of the target device according to the multiple characteristic ratios determined by each of the normalized sub-indicators and the sum of the multiple normalized sub-indicators; normalizing the information entropy corresponding to each of the multiple robustness indicators of the target device to determine multiple second weights; and weighting the multiple robustness indicators with the multiple second weights to determine the comprehensive performance evaluation value of the target device.

[0084] For example, formulas (1) and (2) can be used to normalize each of the multiple sub-performance indicators corresponding to the robustness indicators of the target device to obtain multiple normalized sub-indicators.

[0085] For example, formula (8) can be used to determine multiple characteristic ratios according to the normalized sub-indicators and the sum of the multiple normalized sub-indicators. Formula (9) can be used to determine the information entropy corresponding to the robustness indicator of the target device according to the multiple characteristic ratios determined by each of the normalized sub-indicators and the sum of the multiple normalized sub-indicators.

[0086] (8).

[0087] Where is the characteristic ratio of the i-th sub-performance indicator under the j-th robustness performance indicator.

[0088] (9).

[0089] Where is the information entropy corresponding to the j-th robustness indicator. a is a constant. .

[0090] For example, normalizing the information entropy corresponding to multiple robustness metrics of the target device respectively to determine multiple second weights may include: obtaining multiple second coefficient of variations according to the information entropy corresponding to multiple robustness metrics of the target device respectively and a preset value; normalizing the multiple second coefficient of variations to obtain multiple second weights. For example, the preset value may be 1.

[0091] The formula (10) can be used to obtain multiple second coefficient of variations according to the information entropy corresponding to multiple robustness metrics of the target device respectively and a preset value.

[0092] (10).

[0093] Among them, is the second coefficient of variation corresponding to the j-th robustness metric.

[0094] The formula (11) can be used to normalize the multiple second coefficient of variations to obtain multiple second weights.

[0095] (11)

[0096] Among them, is the second coefficient of variation corresponding to the j-th robustness performance metric.

[0097] The formula (12) can be used to weight the multiple robustness metrics by using the multiple second weights to determine the comprehensive performance evaluation value of the target device.

[0098] (12).

[0099] According to the embodiments of the present application, by normalizing multiple sub-performance metrics corresponding to the robustness metrics of the target device respectively to obtain multiple normalized sub-indicators, and determining the information entropy corresponding to the robustness metrics of the target device according to the multiple feature ratios determined by each normalized sub-indicator and the sum of the multiple normalized sub-indicators, normalizing the information entropy corresponding to each of the multiple robustness metrics of the target device respectively to determine multiple second weights, it is possible to automatically obtain multiple second weights reflecting the importance degrees of the multiple robustness metrics by using the entropy weight method. Furthermore, subsequently weighting the multiple robustness metrics by using the multiple second weights to determine the comprehensive performance evaluation value of the target device can obtain in real time and automatically the comprehensive performance evaluation value reflecting the true comprehensive performance of the target device, preparing for subsequent automatically identifying the target device with unbalanced performance and automatically repairing the performance of the target device with unbalanced performance.

[0100] According to the embodiments of the present application, for example Figure 2The device performance optimization method shown above may further include the following operations: determining the performance deviation value of any target device according to the comprehensive performance evaluation value of any target device and the average comprehensive performance evaluation value of multiple devices.

[0101] For example, formula (13) can be used to determine the performance deviation value of any target device according to the comprehensive performance evaluation value of any target device and the average comprehensive performance evaluation value of multiple devices.

[0102] (13).

[0103] Wherein, is the performance deviation value of the m-th target device.

[0104] When is greater than the maximum value in the preset threshold range, the performance of the m-th target device is higher than the average comprehensive performance, and the performance of the m-th target device needs to be adjusted. When is less than the minimum value in the preset threshold range, the performance of the m-th target device is lower than the average comprehensive performance, and the performance of the m-th target device needs to be adjusted.

[0105] According to the embodiments of the present application, by determining the performance deviation value of any target device according to the comprehensive performance evaluation value of any target device and the average comprehensive performance evaluation value of multiple devices, and confirming that the performance of the target device is unbalanced when the performance deviation value of any target device is outside the preset threshold range, it is possible to limit the performance imbalance level of the target device that needs to perform performance adjustment based on the average comprehensive performance of multiple devices and the preset threshold range, and timely and automatically identify the target device with performance imbalance. Furthermore, subsequently, when the performance of the target device deviates from the average comprehensive performance to a certain extent and has not yet affected the overall performance of the server cluster, the performance of the target device can be optimized in a timely manner, so that the performance of the target device continues to be balanced, and the impact on the overall performance of the server cluster caused by the high imbalance of the performance of the target device can be avoided.

[0106] According to the embodiments of the present application, for operation S202 shown as Figure 2 , determining the performance redistribution value of any target device according to the performance deviation value of any target device and the comprehensive performance evaluation value of any target device may include the following operations: obtaining the performance compensation value of any target device according to the performance adjustment weight of any target device, the performance deviation value of any target device, the convergence coefficient, and the comprehensive performance evaluation values of multiple target devices respectively, where the convergence coefficient represents the implementation speed of the performance optimization target of any target device; determining the performance redistribution value of any target device according to the performance compensation value of any target device and the comprehensive performance evaluation value of any target device.

[0107] For example, the performance adjustment weight can be determined in the following manner: based on the absolute value of the performance deviation value of any target device and the smoothing factor, determine the performance adjustment weight. The smoothing factor is used to determine the amount of performance optimization of any target device.

[0108] For example, formula (14) can be used to implement determining the performance adjustment weight based on the absolute value of the performance deviation value of any target device and the smoothing factor.

[0109] (14).

[0110] Where, is the performance adjustment weight of the m-th target device. . is the smoothing factor.

[0111] According to an embodiment of the present application, the smoothing factor can be selected according to the actual situation and is not limited herein. is a decimal between 0 and 1. For example, can be 0.1, 0.3, or 0.9, etc.

[0112] According to an embodiment of the present application, the larger the value of the smoothing factor, the larger the value of the performance adjustment weight, and the greater the adjustment amplitude of the comprehensive performance evaluation value according to the adjustment weight subsequently.

[0113] For example, formula (15) can be used to implement obtaining the performance compensation value of any target device based on the performance adjustment weight of any target device, the performance deviation value of any target device, the convergence coefficient, and the comprehensive performance evaluation values of multiple target devices respectively, and determining the performance redistribution value of any target device based on the performance compensation value of any target device and the comprehensive performance evaluation value of any target device.

[0114] (15).

[0115] Where, is the performance redistribution value of the m-th target device, k is the convergence coefficient, is the sum of the comprehensive performance evaluation values of multiple target devices. The performance compensation value of any target device is .

[0116] According to an embodiment of the present application, by adjusting weights according to the performance of any target device, the performance deviation value of any target device, the convergence coefficient, and the comprehensive performance evaluation values of multiple target devices, the performance compensation value of any target device is obtained. According to the performance compensation value of any target device and the comprehensive performance evaluation value of any target device, the performance redistribution value of any target device is determined, so as to control the performance optimization amount and the realization speed of the performance optimization target of any target device according to the performance-adjusted weights and the convergence coefficient. After the performance redistribution value is obtained through subsequent iterative calculations, the performance of any target device can be adjusted to be balanced based on the performance redistribution value obtained through iterative calculations.

[0117] According to an embodiment of the present application, the parameter mapping relationship represents the mapping relationship between the performance adjustment ratio and multiple configuration parameters, and multiple priorities are configured for the multiple configuration parameters.

[0118] For example, after obtaining the performance adjustment ratio, according to the parameter mapping relationship, it is determined in which data segment the performance adjustment ratio is located, and then according to this data segment, the performance parameter adjustment values corresponding to the multiple configuration parameters are determined.

[0119] According to an embodiment of the present application, for the operation S203 as Figure 2 shown, based on the parameter mapping relationship, according to the performance adjustment ratio of any target device determined by using the performance redistribution value and the comprehensive performance evaluation value of any target device, the performance parameter adjustment value of any target device is determined, and updating the configuration parameters of any target device by using the performance parameter adjustment value may include the following operations: determining the performance parameter adjustment value of any target device level by level in the order from high to low of the priorities, and updating the configuration parameters of any target device by using the performance parameter adjustment value.

[0120] For example, in the order of decreasing priority, the adjustment value of the performance parameter of any target device is determined level by level, and updating the configuration parameter of any target device using the performance parameter adjustment value may include: based on the parameter mapping relationship, according to the t-th performance adjustment ratio of any target device, determining the t-th performance parameter adjustment value of any target device, and updating the t-th level configuration parameter of any target device using the t-th performance parameter adjustment value, where t is a positive integer; after updating the t-th level configuration parameter of any target device using the t-th performance parameter adjustment value, recalculating the performance deviation value of any target device as the (t + 1)-th performance deviation value; in the case where the (t + 1)-th performance deviation value is outside the preset threshold range, recalculating the performance adjustment ratio of any target device according to the (t + 1)-th performance deviation value as the (t + 1)-th performance adjustment ratio; based on the parameter mapping relationship, according to the (t + 1)-th performance adjustment ratio of any target device, determining the (t + 1)-th performance parameter adjustment value of any target device, and updating the (t + 1)-th level configuration parameter of any target device using the (t + 1)-th performance parameter adjustment value, and so on until the performance deviation value is within the preset threshold range.

[0121] For example, the multiple configuration parameters may include at least two of the following: the number of channels used by the target device; the register parameters corresponding to the link where the target device is located; the physical layer dynamic equalizer parameters of the target device; the clock generator frequency for the target device; the transmission mode parameters of the target device.

[0122] For example, in the case where the multiple configuration parameters include the number of channels used by the target device, the register parameters corresponding to the link where the target device is located, the physical layer dynamic equalizer parameters of the target device, the clock generator frequency for the target device, and the transmission mode parameters of the target device, the priorities of the number of channels used by the target device, the register parameters corresponding to the link where the target device is located, the physical layer dynamic equalizer parameters of the target device, the clock generator frequency for the target device, and the transmission mode parameters of the target device decrease in turn.

[0123] For example, for the number of channels used by the target device, the channel allocation strategy for the target device can be adjusted according to the new performance parameter adjustment value. For example, downgrading the channels, increasing the number of channels, preferentially using other undamaged parts of the channels, that is, implementing channel inversion using the pin configuration, and mapping the damaged channels to unused areas. This method can take effect for bandwidth, IOPS, latency, and error rate.

[0124] For example, for the register parameters corresponding to the link where the target device is located, the parameters in the link control register and the link capability register can be configured, and their values can be modified to adjust the link parameters, such as the link width parameter, the auto-negotiation parameter, etc., thereby optimizing the performance of the target device. This method can take effect for bandwidth, IOPS, and latency.

[0125] For example, for the physical layer dynamic equalizer parameters of a target device, the signal quality can be optimized to reduce the error rate by adjusting the transmit - end pre - emphasis and de - emphasis of the physical layer of the target device, as well as the equalizer parameters of the receive end, so as to meet the new error rate performance requirements. This method can take effect on the error rate.

[0126] For example, for the clock generator frequency of a target device, in a storage scenario, through the IPMI (Intelligent Platform Management Interface) protocol, the operating system can be bypassed to directly adjust the performance parameters of the target device. This method mainly utilizes the preset target device performance adjustment function, such as modifying the clock generator frequency. This method can take effect on bandwidth, IOPS, and latency.

[0127] For example, for the transmission mode parameters of a target device, relevant commands in the interface protocol or custom vendor - specific instructions can be used to adjust the PCIe transmission mode, such as switching from the ASPM (Active State Power Management) L1 state to the L0 state, etc. The PCIe device firmware can also be updated by upgrading the firmware patch and directly writing a new performance configuration table. This method can take effect on bandwidth, IOPS, and latency.

[0128] According to the embodiments of the present application, by determining the performance parameter adjustment values of any target device level by level in the order from high to low in priority, and using the performance parameter adjustment values to update the configuration parameters of any target device, the configuration parameters with different priorities can be updated step by step, and the performance of the target device can be automatically repaired through a dynamic repair strategy. It can dynamically adapt to complex and changeable load scenarios, and optimize the performance while ensuring the stability of the server cluster.

[0129] Figure 3 The flowchart of a device performance optimization method according to another embodiment of the present application is shown.

[0130] As Figure 3 shown, the device performance optimization method may include operations S301 - S304.

[0131] In operation S301, according to multiple robustness indicators for multiple target devices in a server cluster, the respective comprehensive performance evaluation values of the multiple target devices are determined.

[0132] In operation S302, it is determined whether the performance deviation value of any target device is outside the preset threshold range. If so, operation S303 is executed. If not, return to operation S301.

[0133] In operation S303, for any one of the multiple target devices, when the performance deviation value of any one of the target devices is outside the preset threshold range, according to the performance deviation value of any one of the target devices and the comprehensive performance evaluation value of any one of the target devices, determine the performance redistribution value of any one of the target devices.

[0134] In operation S304, based on the parameter mapping relationship, according to the performance adjustment ratio of any one of the target devices determined by using the performance redistribution value and the comprehensive performance evaluation value of any one of the target devices, determine the performance parameter adjustment value of any one of the target devices, and use the performance parameter adjustment value to update the configuration parameters of any one of the target devices. Then return to operation S301.

[0135] According to the embodiments of the present application, updating the configuration parameters of any one of the target devices by using the performance parameter adjustment value realizes optimizing the performance of any one of the target devices.

[0136] Based on the above device performance optimization method, the present application further provides a device performance optimization device. The following will be combined with Figure 4 to describe the device in detail.

[0137] Figure 4 The block diagram of the device performance optimization device according to the embodiments of the present application is shown.

[0138] As Figure 4 shown, the device performance optimization device 400 includes a first determination module 410, a second determination module 420, and a parameter update module 430.

[0139] The first determination module 410 is configured to determine the comprehensive performance evaluation value of each of the multiple target devices according to multiple robustness indicators for the multiple target devices in the server cluster. Wherein, the target device is a device in the server cluster that communicates with the processor based on the high-speed serial computer extension bus. In one embodiment, the first determination module 410 may be used to execute the operation S201 described above, which will not be elaborated here.

[0140] The second determination module 420 is configured to, for any one of the multiple target devices, when the performance deviation value of any one of the target devices is outside the preset threshold range, according to the performance deviation value of any one of the target devices and the comprehensive performance evaluation value of any one of the target devices, determine the performance redistribution value of any one of the target devices, where the performance deviation value represents the degree of deviation between the comprehensive performance of any one of the target devices and the average comprehensive performance of the multiple target devices. In one embodiment, the second determination module 420 may be used to execute the operation S202 described above, which will not be elaborated here.

[0141] The parameter update module 430 is configured to determine a performance parameter adjustment value for any target device based on the performance adjustment ratio of any target device determined according to the performance redistribution value and the comprehensive performance evaluation value of any target device, according to the parameter mapping relationship, and update the configuration parameters of any target device by using the performance parameter adjustment value, so as to optimize the performance of any target device. In an embodiment, the parameter update module 430 may be configured to perform the operation S203 described above, which will not be elaborated herein.

[0142] According to an embodiment of the present application, any one or more of the first determination module 410, the second determination module 420, and the parameter update module 430 may be combined and implemented in one module, or any one of them may be split into multiple modules. Alternatively, at least part of the functions of one or more of these modules may be combined with at least part of the functions of other modules and implemented in one module. According to an embodiment of the present application, at least one of the first determination module 410, the second determination module 420, and the parameter update module 430 may be at least partially implemented as a hardware circuit, such as a field programmable gate array (FPGA), a programmable logic array (PLA), a system on chip, a system on substrate, a system on package, an application specific integrated circuit (ASIC), or any other reasonable way of integrating or packaging circuits, etc., implemented by hardware or firmware, or implemented in any one of the three implementation manners of software, hardware, and firmware, or in an appropriate combination of any several of them. Alternatively, at least one of the first determination module 410, the second determination module 420, and the parameter update module 430 may be at least partially implemented as a computer program module, which can perform corresponding functions when the computer program module is run.

[0143] It should be noted that the device performance optimization apparatus part in the embodiments of the present application corresponds to the device performance optimization method part in the embodiments of the present application. For the specific description corresponding to the device performance optimization apparatus part, reference may be made to the device performance optimization method part, which will not be elaborated herein.

[0144] Figure 5 A block diagram of an electronic device suitable for implementing the device performance optimization method described above according to an embodiment of the present application is shown. Figure 5 The electronic device shown is only an example and should not impose any limitation on the functions and usage scope of the embodiments of the present application.

[0145] As Figure 5As shown, the electronic device 500 according to an embodiment of the present application includes a processor 501, which can perform various appropriate actions and processes according to a program stored in a read-only memory (ROM) 502 or a program loaded from a storage section 508 into a random access memory (RAM) 503. The processor 501 can include, for example, a general-purpose microprocessor (e.g., CPU), an instruction set processor, and / or a related chipset, and / or a dedicated microprocessor (e.g., an application-specific integrated circuit (ASIC)), etc. The processor 501 can also include on-board memory for caching purposes. The processor 501 can include a single processing unit or multiple processing units for performing different actions of the method flow according to an embodiment of the present application.

[0146] In the RAM 503, various programs and data required for the operation of the electronic device 500 are stored. The processor 501, the ROM 502, and the RAM 503 are connected to each other via a bus 504. The processor 501 performs various operations of the method flow according to an embodiment of the present application by executing the programs in the ROM 502 and / or the RAM 503. It should be noted that the program can also be stored in one or more memories other than the ROM 502 and the RAM 503. The processor 501 can also perform various operations of the method flow according to an embodiment of the present application by executing the programs stored in the one or more memories.

[0147] According to an embodiment of the present application, the electronic device 500 can also include an input / output (I / O) interface 505, and the input / output (I / O) interface 505 is also connected to the bus 504. The electronic device 500 can also include one or more of the following components connected to the input / output (I / O) interface 505: an input section 506 including a keyboard, a mouse, etc.; an output section 507 including, for example, a cathode ray tube (CRT), a liquid crystal display (LCD), etc., and a speaker, etc.; a storage section 508 including a hard disk, etc.; and a communication section 509 including a network interface card such as a LAN card, a modem, etc. The communication section 509 performs communication processing via a network such as the Internet. A drive 510 is also connected to the input / output (I / O) interface 505 as needed. A removable medium 511, such as a magnetic disk, an optical disk, a magneto-optical disk, a semiconductor memory, etc., is installed on the drive 510 as needed so that a computer program read from it can be installed into the storage section 508 as needed.

[0148] According to an embodiment of the present application, the method flow according to the embodiment of the present application can be implemented as a computer software program. For example, an embodiment of the present application includes a computer program product, which includes a computer program carried on a computer-readable storage medium, and the computer program includes program codes for executing the method shown in the flowchart. In such an embodiment, the computer program can be downloaded and installed from the network through the communication part 509, and / or installed from the removable medium 511. When the computer program is executed by the processor 501, the above functions defined in the system of the embodiment of the present application are executed. According to an embodiment of the present application, the above-described systems, devices, apparatuses, modules, units, etc. can be implemented by computer program modules.

[0149] The present application also provides a computer-readable storage medium, which may be included in the device / device / system described in the above embodiment; or may exist separately without being assembled into the device / device / system. The above computer-readable storage medium carries one or more programs, and when the above one or more programs are executed, the method according to the embodiment of the present application is implemented.

[0150] According to an embodiment of the present application, the computer-readable storage medium may be a non-volatile computer-readable storage medium. For example, it may include but is not limited to: portable computer disks, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), portable compact disk read-only memory (CD-ROM), optical storage devices, magnetic storage devices, or any suitable combination of the above. In the present application, the computer-readable storage medium may be any tangible medium that contains or stores a program, and the program can be used by or in combination with an instruction execution system, device, or device.

[0151] For example, according to an embodiment of the present application, the computer-readable storage medium may include the above-described ROM 502 and / or RAM 503 and / or one or more memories other than ROM 502 and RAM 503.

[0152] An embodiment of the present application also includes a computer program product, which includes a computer program that includes program codes for executing the method provided by the embodiment of the present application. When the computer program product runs on an electronic device, the program codes are used to enable the electronic device to implement the device performance optimization method provided by the embodiment of the present application.

[0153] When the computer program is executed by the processor 501, the above functions defined in the system / device of the embodiment of the present application are executed. According to an embodiment of the present application, the above-described systems, devices, modules, units, etc. can be implemented by computer program modules.

[0154] In one embodiment, the computer program may rely on tangible storage media such as optical storage devices and magnetic storage devices. In another embodiment, the computer program may also be transmitted and distributed in the form of signals on a network medium, and downloaded and installed through the communication section 509, and / or installed from the removable medium 511. The program code included in the computer program may be transmitted using any suitable network medium, including but not limited to: wireless, wired, etc., or any suitable combination of the above.

[0155] According to an embodiment of the present application, the program code for executing the computer program provided by the embodiments of the present application can be written in any combination of one or more programming languages. Specifically, these computing programs can be implemented using high-level procedures and / or object-oriented programming languages, and / or assembly / machine languages. Programming languages include but are not limited to, for example, Java, C++, Python, the "C" language, or similar programming languages. The program code can be executed entirely on the user computing device, partially on the user device, partially on a remote computing device, or entirely on a remote computing device or server. In the case of a remote computing device, the remote computing device can be connected to the user computing device through any type of network, including a local area network (LAN) or a wide area network (WAN), or can be connected to an external computing device (for example, by using an Internet service provider to connect through the Internet).

[0156] The flowcharts and block diagrams in the accompanying drawings illustrate the possible architectures, functions, and operations of systems, methods, and computer program products according to various embodiments of the present application. In this regard, each block in the flowchart or block diagram may represent a module, a segment of a program, or a portion of code that contains one or more executable instructions for implementing a specified logical function. It should also be noted that in some alternative implementations, the functions noted in the blocks may occur in a different order than that noted in the accompanying drawings. For example, two consecutive blocks shown may actually be executed substantially in parallel, or they may sometimes be executed in the reverse order, depending on the functions involved. It should also be noted that each block in the block diagram or flowchart, as well as combinations of blocks in the block diagram or flowchart, can be implemented by a dedicated hardware-based system that performs the specified functions or operations, or by a combination of dedicated hardware and computer instructions. Those skilled in the art will understand that the features described in the various embodiments of the present application can be combined and / or combined in various ways, even if such combinations or combinations are not explicitly described in the present application. In particular, without departing from the spirit and teachings of the present application, the features described in the various embodiments of the present application can be combined and / or combined in various ways. All such combinations and / or combinations fall within the scope of the present application.

[0157] The embodiments of the present application have been described above. However, these embodiments are for illustrative purposes only and are not intended to limit the scope of the present application. Although the embodiments have been described separately above, this does not mean that the measures in the respective embodiments cannot be used advantageously in combination. The scope of the present application is defined by the appended embodiments and their equivalents. Without departing from the scope of the present application, those skilled in the art can make various substitutions and modifications, and all such substitutions and modifications should fall within the scope of the present application.

Claims

1. A method for optimizing device performance, characterized in that, Including: Determine the comprehensive performance evaluation value of each of the multiple target devices according to multiple robustness metrics for the multiple target devices in the server cluster, where the target device is a device in the server cluster that communicates with the processor based on the Peripheral Component Interconnect Express (PCIe); For any one of the multiple target devices, when the performance deviation value of the any one target device is outside the preset threshold range, determine the performance redistribution value of the any one target device according to the performance deviation value of the any one target device and the comprehensive performance evaluation value of the any one target device, where the performance deviation value represents the deviation degree between the comprehensive performance of the any one target device and the average comprehensive performance of the multiple target devices; Based on the parameter mapping relationship, determine the performance parameter adjustment value of the any one target device according to the performance adjustment ratio of the any one target device determined by using the performance redistribution value and the comprehensive performance evaluation value of the any one target device, and update the configuration parameters of the any one target device by using the performance parameter adjustment value so as to optimize the performance of the any one target device.

2. The method according to claim 1, wherein The determining the performance redistribution value of the any one target device according to the performance deviation value of the any one target device and the comprehensive performance evaluation value of the any one target device includes: Obtain the performance compensation value of the any one target device according to the performance adjustment weight of the any one target device, the performance deviation value of the any one target device, the convergence coefficient, and the comprehensive performance evaluation values of the multiple target devices respectively, where the convergence coefficient represents the implementation speed of the performance optimization target of the any one target device; Determine the performance redistribution value of the any one target device according to the performance compensation value of the any one target device and the comprehensive performance evaluation value of the any one target device.

3. The method according to claim 2, characterized in that, The performance adjustment weight is determined by the following method: Determine the performance adjustment weight according to the absolute value of the performance deviation value of the any one target device and the smoothing factor, where the smoothing factor is used to determine the performance optimization amount of the any one target device.

4. The method according to claim 1, wherein The method further includes: Determine the performance deviation value of the any one target device according to the comprehensive performance evaluation value of the any one target device and the average comprehensive performance evaluation value of the multiple devices.

5. The method according to claim 1, wherein The parameter mapping relationship represents the mapping relationship between the performance adjustment ratio and multiple configuration parameters, and the multiple configuration parameters are configured with multiple priorities; The based on the parameter mapping relationship, determining the performance parameter adjustment value of the any one target device according to the performance adjustment ratio of the any one target device determined by using the performance redistribution value and the comprehensive performance evaluation value of the any one target device, and updating the configuration parameters of the any one target device by using the performance parameter adjustment value includes: Determine the performance parameter adjustment value of the any one target device level by level in the order from high to low of the priorities, and update the configuration parameters of the any one target device by using the performance parameter adjustment value.

6. The method according to claim 5, wherein The multiple configuration parameters include at least two of the following: The number of channels used by the target device; The register parameters corresponding to the link where the target device is located; The physical layer dynamic equalizer parameters of the target device; The clock generator frequency for the target device; The transmission mode parameter of the target device.

7. The method according to claim 1, characterized in that, Determining the respective comprehensive performance evaluation values of the multiple target devices according to multiple robustness indicators for multiple target devices in a server cluster includes: Normalizing multiple sub-performance indicators corresponding to the robustness indicator of the target device respectively to obtain multiple normalized sub-indicators; Normalizing the statistical information of multiple normalized sub-indicators corresponding to the respective multiple robustness indicators respectively to determine multiple first weights; Using the multiple first weights to weight the multiple robustness indicators to determine the comprehensive performance evaluation value of the target device.

8. The method according to claim 7, characterized in that, The normalizing multiple sub-performance indicators corresponding to the robustness indicator of the target device respectively to obtain multiple normalized sub-indicators includes: Determining the maximum sub-performance indicator and the minimum sub-performance indicator according to multiple sub-performance indicators corresponding to the same robustness indicator of the multiple target devices; Using the maximum sub-performance indicator and the minimum sub-performance indicator to normalize multiple sub-performance indicators corresponding to the robustness indicator of the target device respectively to obtain the multiple normalized sub-indicators.

9. The method according to claim 8, wherein The using the maximum sub-performance indicator and the minimum sub-performance indicator to normalize multiple sub-performance indicators corresponding to the robustness indicator of the target device respectively to obtain the multiple normalized sub-indicators includes: In the case where the sub-performance indicator is a positive indicator, obtaining the normalized sub-indicator according to the ratio of the difference between the sub-performance indicator and the minimum sub-performance indicator to the difference between the maximum sub-performance indicator and the minimum sub-performance indicator, where the positive indicator is an indicator with stronger robustness as the indicator value is larger; In the case where the sub-performance indicator is a negative indicator, obtaining the normalized sub-indicator according to the ratio of the difference between the maximum sub-performance indicator and the sub-performance indicator to the difference between the maximum sub-performance indicator and the minimum sub-performance indicator, where the negative indicator is an indicator with weaker robustness as the indicator value is larger.

10. The method according to claim 1, characterized in that Determining the respective comprehensive performance evaluation values of the multiple target devices according to multiple robustness indicators for multiple target devices in a server cluster includes: Normalizing multiple sub-performance indicators corresponding to the robustness indicator of the target device respectively to obtain multiple normalized sub-indicators; Determining the information entropy corresponding to the robustness indicator of the target device according to multiple characteristic ratios determined by the respective normalized sub-indicators and the sum of the multiple normalized sub-indicators; Normalizing the information entropy corresponding to the respective multiple robustness indicators of the target device respectively to determine multiple second weights; Using the multiple second weights to weight the multiple robustness indicators to determine the comprehensive performance evaluation value of the target device.

11. The method according to claim 1, wherein The multiple robustness indicators include at least two of bandwidth, number of read and write operations per second, latency, and error rate.

12. An apparatus for optimizing device performance, characterized in that Includes: A first determination module, configured to determine respective comprehensive performance evaluation values of the multiple target devices according to multiple robustness metrics for the multiple target devices in a server cluster, where the target device is a device in the server cluster that communicates with a processor based on a high-speed serial computer expansion bus; A second determination module, configured to, for any one of the multiple target devices, when a performance deviation value of the any one of the target devices is outside a preset threshold range, determine a performance redistribution value of the any one of the target devices according to the performance deviation value of the any one of the target devices and the comprehensive performance evaluation value of the any one of the target devices, where the performance deviation value represents a deviation degree between the comprehensive performance of the any one of the target devices and the average comprehensive performance of the multiple target devices; A parameter update module, configured to, based on a parameter mapping relationship, determine a performance parameter adjustment value of the any one of the target devices according to a performance adjustment ratio of the any one of the target devices determined by using the performance redistribution value and the comprehensive performance evaluation value of the any one of the target devices, and update configuration parameters of the any one of the target devices by using the performance parameter adjustment value, so as to optimize the performance of the any one of the target devices.

13. An electronic device, comprising: One or more processors; A memory, configured to store one or more computer programs, wherein the one or more processors execute the one or more computer programs to implement the steps of the method according to any one of claims 1 to 11.

14. A computer-readable storage medium having a computer program or instructions stored thereon, characterized in that, When the computer program or instruction is executed by a processor, the steps of the method according to any one of claims 1 to 11 are implemented.

15. A computer program product, comprising a computer program or instructions, characterized in that, When the computer program or instruction is executed by a processor, the steps of the method according to any one of claims 1 to 11 are implemented.

Citation Information

Patent Citations

  • Multi-node dynamic management method and system based on PCIe switch

    CN116248619A

  • Cluster performance evaluation method and device, equipment and medium

    CN117667632A

  • Task allocation optimizing system, task allocation optimizing method and task allocation optimizing program

    US20140344825A1