Starting time determination method of substrate management controller and electronic equipment

By optimizing the startup time of the baseboard management controller using ant colony and particle swarm optimization algorithms, the problems of resource competition and power system pressure in existing technologies are solved, achieving more efficient server cluster startup and power safety management.

CN121579080APending Publication Date: 2026-02-27INSPUR SUZHOU INTELLIGENT TECH CO LTD
View PDF 0 Cites 1 Cited by

Patent Information

Application Number
CN202511547643.2
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-10-28
Publication Date
2026-02-27

AI Technical Summary

Technical Problem

The existing baseboard management controller's startup method fails to optimize the service startup sequence, leading to resource contention conflicts and excessive pressure on the data center power supply and distribution system, and making it impossible to effectively manage the startup time of batch servers.

Method used

A method combining ant colony optimization and particle swarm optimization is adopted. By representing the baseboard management controllers of multiple servers as ant colonies, the ant colony optimization is used to determine the target startup time interval, and the startup time sequence is optimized by periodically updating the ant colony parameters. The particle swarm optimization is combined to optimize parameters to avoid resource conflicts and peak power misalignment.

Benefits of technology

The startup time of the baseboard management controller was optimized, reducing resource contention and power system conflicts, and improving the startup efficiency and power security of the server cluster.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN121579080A_ABST
    Figure CN121579080A_ABST
Patent Text Reader

Abstract

The invention provides a starting time determination method of a substrate management controller and electronic equipment, which can be applied to the technical field of servers. The method comprises the following steps: determining respective target starting time intervals of a plurality of substrate management controllers by using an ant colony algorithm according to current ant colony parameters, and obtaining a plurality of target starting time intervals; periodically updating the ant colony parameters of each ant colony, and using the updated ant colony parameters for determining the target starting time interval next time; the step of periodically updating the ant colony parameters of each ant colony comprises the sub-steps of: according to respective interval duration of a plurality of target starting time intervals and the moment when a corresponding server reaches a maximum power value in the target starting time intervals, updating the ant colony parameters of each ant colony; the baseboard management controller determines fitness information corresponding to the maximum instantaneous power of the server in the starting process of the target starting time interval; and taking the fitness information as an evaluation standard of parameter optimization, and optimizing the current ant colony parameters of any ant colony based on a particle swarm algorithm to obtain updated ant colony parameters.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present disclosure relates to the field of servers, and more particularly to a method for determining startup time of a baseboard management controller and an electronic device. BACKGROUND

[0002] The related method for starting the baseboard management controller usually starts multiple services in a predetermined fixed order or an order configured according to a script. The starting order of the multiple services determined by this method may not be optimal, resulting in resource competition conflicts when different services start, and causing the baseboard management controller to take too long to start. In addition, for batch servers, the related method does not consider the conflicts between the startup times of batch baseboard management controllers corresponding to the batch servers, and the batch servers may reach high power at the same time, causing the power supply and distribution system of the data center to bear a large pressure. SUMMARY

[0003] In view of the above problems, the present disclosure provides a method for determining startup time of a baseboard management controller and an electronic device.

[0004] According to a first aspect of the present disclosure, a method for determining startup time of a baseboard management controller is provided, comprising: representing the baseboard management controllers of multiple servers respectively as ant colonies; determining target startup time intervals of the baseboard management controllers respectively according to current ant colony parameters corresponding to the multiple ant colonies by using an ant colony algorithm, to obtain multiple target startup time intervals; periodically updating the ant colony parameters of each ant colony, and using the updated ant colony parameters to determine the target startup time intervals of the baseboard management controllers in the next time; wherein periodically updating the ant colony parameters of each ant colony comprises: determining fitness information according to interval lengths of the multiple target startup time intervals, times when the corresponding servers reach maximum power in the target startup time intervals, and maximum instantaneous powers of the corresponding servers during startup of the baseboard management controllers in the target startup time intervals, wherein the fitness information is used to represent the degree of conflict between the multiple target startup time intervals; for any ant colony, using the fitness information as an evaluation standard for parameter optimization, and optimizing the current ant colony parameters of the ant colony based on a particle swarm algorithm to obtain the updated ant colony parameters.

[0005] A second aspect of the present disclosure provides an electronic device, comprising: one or more processors; a memory for storing one or more computer programs, wherein the one or more processors execute the one or more computer programs to implement the steps of the above method.

[0006] A third aspect of the present disclosure also provides a computer-readable storage medium having a computer program or instructions stored thereon, wherein the computer program or instructions are executed by a processor to implement the steps of the above method.

[0007] The fourth aspect of the present disclosure also provides a computer program product comprising computer programs or instructions, which, when executed by a processor, implement the steps of the above method. BRIEF DESCRIPTION OF DRAWINGS

[0008] The above and other objects, features and advantages of the present disclosure will become more apparent from the following description when taken in conjunction with the accompanying drawings, in which:

[0009] Figure 1 An application scenario of a method for determining a startup time of a baseboard management controller and an electronic device according to an embodiment of the present disclosure is shown;

[0010] Figure 2 A flowchart of a method for determining a startup time of a baseboard management controller according to an embodiment of the present disclosure is shown;

[0011] Figure 3 A schematic diagram of a dependency relationship graph according to an embodiment of the present disclosure is shown;

[0012] Figure 4 A schematic diagram of multiple ant colonies cooperatively determining a startup time of a baseboard management controller according to an embodiment of the present disclosure is shown;

[0013] Figure 5 A flowchart of a method for determining a startup time of a baseboard management controller according to another embodiment of the present disclosure is shown;

[0014] Figure 6 A flowchart of a multiple ant colony cooperative search according to an embodiment of the present disclosure is shown;

[0015] Figure 7 A structural block diagram of a device for determining a startup time of a baseboard management controller according to an embodiment of the present disclosure is shown;

[0016] Figure 8 A block diagram of an electronic device suitable for implementing a method for determining a startup time of a baseboard management controller according to an embodiment of the present disclosure is shown. DETAILED DESCRIPTION

[0017] Hereinafter, embodiments of the present disclosure will be described with reference to the accompanying drawings. However, it is to be understood that these descriptions are only exemplary and are not intended to limit the scope of the present disclosure. In the following detailed description, numerous specific details are set forth in order to provide a thorough understanding of the embodiments of the present disclosure. However, it will be apparent to one skilled in the art that one or more embodiments can be practiced without these specific details. In addition, in the following description, descriptions of well-known structures and techniques have been omitted to avoid unnecessarily obscuring the concept of the present disclosure.

[0018] The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the disclosure. As used herein, the terms "comprises," "comprising," "includes," "including" and the like are specifically intended to be open-ended and to mean that other features, steps, operations, and / or components can be added.

[0019] All terms used herein including technical and scientific terms have the meanings commonly understood by one of ordinary skill in the art unless otherwise specified. It should be noted that the use of terms such as "first", "second" and the like can be used in this disclosure and do not imply a chronological or sequential order, but are merely used to distinguish one element from another.

[0020] In the case of using expressions similar to "at least one of A, B, and C, etc.", it should generally be interpreted to include any of one, all, or a combination thereof of the listed items (e.g., "a system having at least one of A, B, and C" should include a system having A alone, a system having B alone, a system having C alone, a system having A and B together, a system having A and C together, a system having B and C together, and / or a system having A, B, and C together, etc.).

[0021] As the number of orders of customers to the server gradually increases, the number of servers gradually increases, and the integrated management of the server by the data center becomes increasingly important. The baseboard management controller of the server can provide multiple services, such as providing a hardware state monitoring service, a remote control service, etc. The startup time of the baseboard management controller will be affected by the startup order of the multiple services.

[0022] The related baseboard management controller startup method generally starts multiple services in turn according to a predetermined fixed order or a script configured order. The startup order of the multiple services determined by this method can not be optimal, resulting in resource competition conflicts when different services start, causing the baseboard management controller to start for too long. In addition, the related method does not perform peak-shaving optimization on the startup time of batch baseboard management controllers corresponding to batch servers, which can cause a large number of servers to reach high power at the same time, causing the power supply and distribution system of the data center to bear a large pressure, and also affecting the use experience of customers.

[0023] Therefore, embodiments of the present disclosure provide a method for determining startup time of a baseboard management controller, comprising: representing each baseboard management controller of a plurality of servers as an ant colony respectively, determining a target startup time interval of each baseboard management controller by using an ant colony algorithm according to current ant colony parameters corresponding to the plurality of ant colonies, and obtaining a plurality of target startup time intervals; periodically updating the ant colony parameters of each ant colony, and using the updated ant colony parameters to determine the target startup time interval of each baseboard management controller next time; wherein periodically updating the ant colony parameters of each ant colony comprises: determining fitness information according to an interval length of each target startup time interval, a time when the corresponding server reaches a maximum power in the target startup time interval, and a maximum instantaneous power of the corresponding server of the baseboard management controller in the startup process of the target startup time interval, wherein the fitness information is used to represent a conflict degree between the plurality of target startup time intervals; for any ant colony, using the fitness information as an evaluation standard for parameter optimization, and optimizing the current ant colony parameters of the ant colony based on a particle swarm algorithm to obtain the updated ant colony parameters.

[0024] Figure 1 An application scenario diagram of the method for determining startup time of a baseboard management controller and an electronic device according to embodiments of the present disclosure is shown.

[0025] As shown in Figure 1 , an application scenario 100 according to the embodiments can include a first terminal device 101, a second terminal device 102, a third terminal device 103, a network 104, and a server 105. The network 104 is a medium for providing a communication link between the first terminal device 101, the second terminal device 102, the third terminal device 103, and the server 105. The network 104 can include various connection types, such as wired, wireless communication links, or optical fiber cables, and the like.

[0026] A user can use the first terminal device 101, the second terminal device 102, and the third terminal device 103 to interact with the server 105 through the network 104 to receive or send messages, and the like. Various communication client applications can be installed on the first terminal device 101, the second terminal device 102, and the third terminal device 103, such as shopping applications, web browser applications, search applications, instant messaging tools, email clients, social platform software, and the like (only as examples).

[0027] The first terminal device 101, the second terminal device 102, and the third terminal device 103 can be various electronic devices with display screens and supporting web browsing, including but not limited to smartphones, tablet computers, laptop computers, desktop computers, and the like.

[0028] The server 105 can be a server providing various services, for example, a background management server providing support for a website browsed by a user using the first terminal device 101, the second terminal device 102, and the third terminal device 103 (only as an example). The background management server can perform analysis and the like on received user requests and the like, and feed back a processing result (for example, a webpage, information, or data, or the like, obtained or generated according to a user request) to the terminal device.

[0029] For example, a user can initiate a start time determination instruction for a plurality of servers respectively via the first terminal device 101, the second terminal device 102, and the third terminal device 103, and in response to the start time determination instruction, a start time determination method of a baseboard management controller can be executed by the server 105.

[0030] It should be noted that the start time determination method of the baseboard management controller provided by the embodiments of the present disclosure can generally be executed by the server 105. Accordingly, the start time determination apparatus of the baseboard management controller provided by the embodiments of the present disclosure can generally be arranged in the server 105. The start time determination method of the baseboard management controller provided by the embodiments of the present disclosure can also be executed by a server or a server cluster different from the server 105 and capable of communicating with the first terminal device 101, the second terminal device 102, the third terminal device 103, and / or the server 105. Accordingly, the start time determination apparatus of the baseboard management controller provided by the embodiments of the present disclosure can also be arranged in a server or a server cluster different from the server 105 and capable of communicating with the first terminal device 101, the second terminal device 102, the third terminal device 103, and / or the server 105.

[0031] It should be understood that Figure 1 the number of terminal devices, networks, and servers inis only illustrative. According to the needs of implementation, there can be any number of terminal devices, networks, and servers.

[0032] The following will be based on Figure 1 the scenario described below to describe in detail the start time determination method of the baseboard management controller of the embodiments of the present disclosure. Figures 2-6

[0033] Figure 2 A flowchart of a start time determination method of a baseboard management controller according to an embodiment of the present disclosure is shown.

[0034] As shown in Figure 2 , the start time determination method of the baseboard management controller of this embodiment includes operation S210 to operation S230.

[0035] In operation S210, the plurality of servers are respectively represented as ant colonies by the baseboard management controllers.

[0036] Exemplarily, the plurality of servers can be regarded as one server cluster, and all the servers in one server cluster can be supplied with input power by the same data center power supply system. Each ant colony can be used to determine the start time interval of the baseboard management controller of the corresponding server, and the plurality of ant colonies can be used to determine the start time interval of the corresponding baseboard management controller in parallel.

[0037] For example, there are N servers, one server corresponds to one baseboard management controller, and N baseboard management controllers are obtained. One baseboard management controller can be represented as one ant colony, and N ant colonies are obtained. Each ant colony can be used to determine the start time of the baseboard management controller of the corresponding server, and the N ant colonies can be used as N parallel optimization units to determine the start time of the corresponding baseboard management controller in parallel.

[0038] In operation S220, the target start time interval of each baseboard management controller is determined by using the ant colony algorithm according to the current ant colony parameters corresponding to the plurality of ant colonies, and a plurality of target start time intervals are obtained.

[0039] Exemplarily, the ant colony algorithm can include a heuristic optimization algorithm for simulating the foraging behavior of ants. The ants in the ant colony algorithm mark the path by secreting pheromones, and other ants tend to choose the path with high pheromone concentration; the pheromone of the short path accumulates faster because the ants return faster, and the group finally converges to the optimal path. For example, the current ant colony parameters can include pheromone parameters, etc., a path can correspond to a possible start time interval, the optimal path can include the target start time interval, and the ant can be used to determine the possible start time interval so as to determine the target start time interval from the possible start time interval.

[0040] For example, ant colony 1 in the plurality of ant colonies can determine the target start time interval of the baseboard management controller corresponding to the ant colony 1 by using the ant colony algorithm according to the current ant colony parameters, and the corresponding ant colony 2 can determine the target start time interval of the baseboard management controller corresponding to the ant colony 2 by using the ant colony algorithm according to the current ant colony parameters in parallel… and so on, and a plurality of target start time intervals can be obtained.

[0041] In operation S230, the ant colony parameters of each ant colony are periodically updated, and the updated ant colony parameters are used for the next determination of the target start time interval of each baseboard management controller.

[0042] Exemplarily, periodically updating the ant colony parameters of each ant colony comprises: determining fitness information according to interval durations of the plurality of target startup time intervals, time instants at which the corresponding servers reach maximum power values in the target startup time intervals, and maximum instantaneous powers of the corresponding servers by the baseboard management controller during startup processes of the target startup time intervals, wherein the fitness information is used to represent a conflict degree between the plurality of target startup time intervals; for any ant colony, taking the fitness information as an evaluation criterion for parameter optimization, and optimizing the current ant colony parameters of the any ant colony based on a particle swarm algorithm to obtain updated ant colony parameters.

[0043] Exemplarily, the particle swarm algorithm can simulate the foraging behavior of a bird swarm, each particle adjusts the flight direction and speed by tracking the individual optimal solution and the group optimal solution, and gradually converges to the global optimal solution. A particle can be a potential solution to a problem, which can be understood as a point in the search space. Each particle has two core attributes, position and speed, the position can correspond to a set of specific parameters of the problem; the speed can determine the direction and distance of the next movement of the particle, and the particle swarm algorithm can constantly approach the optimal solution through the dynamic movement (i.e., updating the position and speed) of the particle swarm. For example, an ant colony can be regarded as a particle in the particle swarm.

[0044] Exemplarily, the ant colony parameters of each ant colony can be periodically updated through the iterative operation of the particle swarm algorithm.

[0045] For example, after the particle swarm algorithm performs the Kth (K is a positive integer) iteration operation, the ant colony parameters of each ant colony can be updated to obtain the Kth updated ant colony parameters, and the Kth updated ant colony parameters can be used to determine the target startup time intervals. After determining the target startup time intervals based on the Kth updated ant colony parameters, the target startup time intervals can be evaluated. According to the evaluation result, the particle swarm algorithm can perform the (K+1)th iteration operation, update the ant colony parameters of each ant colony again to obtain the (K+1)th updated ant colony parameters, and the (K+1)th updated ant colony parameters can be used to determine the target startup time intervals again. For example, the target startup time intervals can be evaluated according to the fitness information, such as the conflict degree between the target startup time intervals.

[0046] Exemplarily, the iteration operation of the particle swarm algorithm can be stopped after reaching a preset maximum number of iterations of the particle swarm algorithm, and the ant colony parameters of each ant colony are periodically updated accordingly, and the final plurality of target startup time intervals are output.

[0047] For example, there may be conflicts between multiple target startup time intervals corresponding to multiple servers. For instance, after multiple baseboard management controllers are started according to multiple target startup time intervals, multiple servers may reach high power at the same time, causing the data center power supply and distribution system to bear a large pressure. There may also be situations where the maximum instantaneous power of a single server exceeds the hardware carrying capacity of the power supply system, or the startup time of a single server is too long.

[0048] For example, by using fitness information as an evaluation criterion for parameter optimization, the particle swarm optimization algorithm can be guided to evolve towards a global optimum with shorter interval durations, maximum instantaneous power not exceeding the hardware capacity of the power supply system, and avoiding multiple servers simultaneously reaching high power.

[0049] By representing a baseboard management controller as an ant colony, with each colony determining its startup time in parallel, a multi-ant colony collaborative optimization system can be achieved through a distributed ant colony architecture, improving the efficiency of startup time determination. Global collaborative optimization can be achieved by using each ant colony to determine the startup time interval of a single baseboard management controller and introducing a particle swarm optimization algorithm to dynamically update the ant colony parameters. By using fitness information as the evaluation criterion for parameter optimization, peak-shifting mechanisms for server power and power constraints of the power supply and distribution system can be considered. Therefore, a hybrid multi-ant colony and particle swarm optimization method can be used to model the startup process of baseboard management controllers for multiple servers as a combinatorial optimization problem with power constraints. Utilizing the collaborative search capabilities of multi-ant colonies and the parameter tuning capabilities of particle swarm optimization, the scheduling scheme with the shortest global startup time can be found while satisfying peak power shifting across servers, thereby optimizing the startup sequence of baseboard management controllers in the server cluster.

[0050] According to embodiments of this disclosure, fitness information is determined based on the interval duration of each of the multiple target startup time intervals, the time when the corresponding server reaches its maximum power in the target startup time interval, and the maximum instantaneous power of the corresponding server during the startup process of the baseboard management controller in the target startup time interval. This includes: using the minimum interval duration as a first constraint, using the minimum overlap duration of the times when the corresponding server reaches its maximum power as a second constraint, and using the minimum maximum instantaneous power of the multiple servers as a third constraint. Fitness information is generated based on the degree to which the target startup time interval simultaneously satisfies the first constraint, the second constraint, and the third constraint.

[0051] For example, fitness information may include a fitness function, which can be calculated using equation (1).

[0052] (1)

[0053] Where Fitness represents the fitness function, Ttotal This represents the total time elapsed across multiple target startup time intervals, which can be determined by the duration of each of the target startup time intervals; P peak This represents the maximum instantaneous power of multiple servers. It allows us to determine the maximum instantaneous power of each server individually, and then identify the maximum instantaneous power with the largest value to obtain the maximum instantaneous power of all servers. This represents the overlap duration of the times when the corresponding servers reach their maximum power, where w1, w2, and w3 represent T, respectively. total P peak , The weight.

[0054] For example, it can be determined when the baseboard management controller is started within the target startup time interval, and when each of the multiple servers reaches its maximum power. If multiple servers reach their maximum power at the same time, the longer the overlap between the times when the corresponding servers (such as multiple servers) reach their maximum power, the worse the peak-shaving effect of the server power. If the times when the multiple servers reach their peak power are staggered, such as server A reaching its peak at t1 and server B reaching its peak at t2, and t2 is not equal to t1, the overlap time can be shortened, and the peak-shaving effect is better.

[0055] For example, using the fitness function described above, the minimum total startup time of the baseboard management controller of the server cluster can be taken as the direct objective, the maximum instantaneous power during the startup process can be taken as the power safety constraint, and the overlap duration of the times when the corresponding servers reach their maximum power can be taken as the peak-shaving effect constraint.

[0056] According to embodiments of this disclosure, the shorter the duration of the target startup time interval, the shorter the startup time of the baseboard management controller, and the higher the operation and maintenance efficiency; the shorter the overlap duration of the times when the corresponding servers reach their maximum power, the better the peak-shaving effect, and the better the resource conflicts between multiple servers can be avoided; the smaller the maximum instantaneous power of multiple servers, the better the situation where the maximum instantaneous power of a single server exceeds the hardware carrying capacity of the power supply system can be avoided. Parameter optimization based on fitness information can effectively avoid power risks, accurately control the time distribution of power peaks of multiple baseboard management controllers, and reduce the power system conflict rate.

[0057] According to embodiments of this disclosure, based on the current ant colony parameters corresponding to multiple ant colonies, the ant colony algorithm is used to determine the target startup time intervals for each of the multiple baseboard management controllers, and the multiple target startup time intervals include performing the following operations for any one of the baseboard management controllers.

[0058] Multiple services can be identified that are associated with multiple functions of the baseboard management controller.

[0059] For example, the baseboard management controller has power control functions independent of the host operating system, and can provide remote power on / off and restart services; the baseboard management controller also has sensor data acquisition and threshold management functions, and can provide hardware status monitoring and alarm services.

[0060] For example, for a baseboard management controller, multiple services of the baseboard management controller need to be started sequentially, and the startup order of these services affects the startup time of the baseboard management controller. To reduce the startup time of the baseboard management controller, the ant colony algorithm can use minimizing the total time for all services to complete startup as the objective function.

[0061] Based on the dependencies between multiple services, it is possible to determine the batches of candidate services to be launched at the same time.

[0062] For example, multiple services may have dependencies on each other. The remote control service might depend on the network service, so the network service needs to be started first, followed by the remote control service. Services within the same batch, however, may not have dependencies on each other and can run simultaneously, thus allowing them to be started at the same time.

[0063] According to embodiments of this disclosure, compared to starting multiple services sequentially, by starting services with no dependencies at the same time, multiple services that can run simultaneously can be started in parallel, shortening the overall startup time.

[0064] For example, for any baseboard management controller, the number of services in each batch can be determined based on the number of CPU cores in the server. Since the hardware resources of the baseboard management controller are limited, such as the number of CPU cores, starting too many services simultaneously may lead to CPU overload due to resource contention, slowing down the startup speed. By determining the number of services in each batch based on the number of CPU cores in the server, the upper limit of the number of services that can be started in parallel can be limited, avoiding resource contention. For example, for a baseboard management controller with L CPU cores, a maximum of L services can be started simultaneously in each batch. The startup time interval of this baseboard management controller is the sum of the startup times of each batch, where the startup time of each batch is the maximum startup time of the services within that batch.

[0065] For any batch, based on the current ant colony parameters, the probability of selecting each candidate service can be determined, and the service for that batch can be determined based on the probability, thus obtaining the services for that batch.

[0066] For example, the probability of selecting candidate services can be calculated based on the current ant colony parameters, and the candidate services whose probabilities meet preset conditions can be selected as the services in this batch. For instance, the probabilities can be sorted from highest to lowest, and the services corresponding to the top L probabilities can be selected as the services in this batch.

[0067] For example, the construction of each ant path can be initialized. Initialization may involve the ants starting from the set of all independent services, determining the probability of selecting each candidate service based on the current ant colony parameters, and then determining the first batch of services based on the probabilities. When determining the services in each batch, at most L services are selected at each step, ensuring that the dependencies between the L services are satisfied.

[0068] For example, after determining the services in the current batch, the startup time of each service in this batch can be recorded, and the maximum startup time of the services in this batch can be determined from the startup times of each service. Services in this batch can be marked as started, releasing their dependencies on subsequent services; for example, other services that depend on services in this batch can be considered as candidate services for the next batch. The process of determining services in each batch can be repeated until all service batches are determined.

[0069] The candidate startup time range for any baseboard management controller can be determined based on the startup time of each batch of services.

[0070] For example, for any baseboard management controller, if the start times of each batch of services are from time t1 to time t2 and from time t2 to time t3, then the candidate start time interval of the baseboard management controller is from time t1 to time t3.

[0071] The operation of determining candidate startup time intervals can be performed periodically to obtain multiple candidate startup time intervals.

[0072] For example, the ant colony algorithm can periodically determine candidate start time intervals through iterative operations. For instance, the first iteration of the ant colony algorithm determines one candidate start time interval, the second iteration determines another candidate start time interval, and so on, until the preset maximum number of iterations for the ant colony algorithm is reached.

[0073] The target startup time interval can be determined from multiple candidate startup time intervals based on the interval length of each candidate startup time interval. For example, the candidate startup time interval with the shortest interval length can be used as the target startup time interval.

[0074] According to embodiments of this disclosure, by determining the start time of each batch of services and determining the candidate start time interval for any baseboard management controller based on the start time of each batch of services, the start order of multiple services of the baseboard management controller can be dynamically optimized. Compared with related methods that start services in a fixed order or in a script-configured order, a better service start order can be generated, resource contention can be avoided, the start time of the baseboard management controller can be reduced, and the cluster start efficiency can be improved.

[0075] According to embodiments of this disclosure, dependencies between multiple services can be determined based on a dependency graph.

[0076] Figure 3 A schematic diagram of a dependency graph according to an embodiment of the present disclosure is shown.

[0077] like Figure 3 As shown, a dependency graph can include multiple nodes and the dependencies between nodes. Multiple nodes represent multiple services, and the dependency between two nodes indicates whether the startup of a service represented by one node depends on the startup of a service represented by another node.

[0078] For example, a dependency graph can include nodes A, B, C, D, and E. Dependencies can be represented by directed edges between nodes. For instance, if the startup of the service represented by node B depends on the startup of the service represented by node A (i.e., the service represented by node A must start before the service represented by node B), then a directed edge between node A and node B can point to node B. Each node can be assigned a startup time to represent the startup time of each service. The directed edges between nodes have no weight and are only used to indicate the dependency order between two nodes. Alternatively, each process of the baseboard management controller can be represented as a node, such as using all processes used to complete a service as a single node.

[0079] According to embodiments of this disclosure, by constructing a dependency graph, the dependencies between multiple services can be accurately determined, so as to accurately determine the startup order of multiple services based on the dependencies between multiple services.

[0080] According to embodiments of this disclosure, determining the probability of selecting each candidate service based on the current ant colony parameters includes: calculating the probability of selecting each candidate service based on the conflict penalty parameter value, the pheromone concentration value, and the heuristic information update parameter value.

[0081] For example, the conflict penalty parameter value represents the degree of conflict between the moments when multiple servers reach their maximum power during the startup of a candidate service. The conflict penalty parameter value can be used as a penalty metric to quantify the degree of overlap between the power peaks of a service and other services when the service starts at a specific time; the conflict penalty parameter value is positively correlated with the degree of overlap of power peaks.

[0082] For example, the pheromone concentration value represents the probability of selecting a candidate service for each operation when performing an operation that determines a candidate start time interval periodically. For instance, the higher the pheromone concentration value, the greater the probability of selecting that candidate service for each operation.

[0083] For example, the heuristic information update parameter value is used to represent the startup time of the candidate service; for instance, the longer the startup time, the smaller the heuristic information update parameter value.

[0084] For example, the probability of selecting each candidate service can be calculated using formula (2).

[0085] (2)

[0086] Among them, P j (t) represents the probability of selecting service j to start at time t. k belongs to the set of candidate services (i.e., k∈candidates), τ j (t) represents the pheromone concentration of service j at time t. This pheromone concentration can be updated in each iteration of the ant colony algorithm. For example, in the ant colony algorithm, pheromone concentration can naturally decay with each iteration to avoid excessive accumulation that could trap the algorithm in a local optimum, thus maintaining the exploratory nature of the solution space. Alternatively, the pheromone concentration can be increased for candidate start times with high fitness, making subsequent ants (or particles) more inclined to choose these options and accelerating the algorithm's convergence to the global optimum. η j For heuristic information update parameters, η is typically taken. j = 1 / t j (where t) j (This is the startup time of service j). ConflictPenalty(j, t) is the conflict penalty parameter, α(t) and β(t) are the weights of pheromone concentration and heuristic information update parameter, respectively, and γ(t) is the weight of the conflict penalty parameter.

[0087] For example, the larger α(t) is, the more ants tend to choose paths with high pheromone concentrations, meaning they are more inclined to draw on historical experience and utilize known optimal solutions. Conversely, the larger β(t) is, the more ants tend to choose paths with high heuristic values, meaning they are more inclined to rely on local knowledge of the problem itself and explore new solutions. α(t) and β(t) can be dynamically optimized by particle swarm optimization. For instance, in the initial iterations of the ant colony algorithm, β(t) can be increased to allow heuristic information to dominate parameter updates, while in later iterations, α(t) can be increased to allow pheromone concentration to dominate.

[0088] For example, it can collect global information on power peak conflicts between servers in all ant-generated schemes. For instance, it can collect global conflict information such as the number of schemes with serious conflicts in the current iteration of the ant colony algorithm and whether multiple servers reach their peak simultaneously. It can also dynamically calculate and adjust the weight of the conflict penalty parameters based on the global conflict information.

[0089] According to embodiments of this disclosure, by introducing a conflict penalty parameter value when calculating the probability of selecting a candidate service, the risk of power conflict between servers can be actively avoided, making the algorithm tend to select a power-safe startup time, thus achieving a balance between ensuring power safety and shortening startup time.

[0090] According to embodiments of this disclosure, a conflict penalty parameter value is determined based on a power impact parameter, the startup time of any candidate service, and the time when multiple servers reach their respective maximum power values ​​after the startup of any candidate service. The power impact parameter represents the degree of mutual influence between the maximum power values ​​of any two servers.

[0091] For example, the conflict penalty parameter can be calculated using formula (3).

[0092] (3)

[0093] The meanings of ConflictPenalty(j, t) and t are explained above and will not be repeated here. δ ij Let δ be the power impact parameter of server i on server j. This power impact parameter can be used to quantify the degree of mutual influence between the maximum power values ​​of server i and server j. ij It can be a normalized value, δ ij The value can range from 0 to 1; a larger value indicates a greater degree of mutual influence. PDU stands for Power Distribution Unit, used to distribute power to the server. i p is the planned launch time for candidate service i. i p represents the time elapsed from the start of service i until the server reaches its maximum power, and is used to characterize the latency from server startup to reaching maximum power. i The value can be determined by the inherent properties of the server's hardware.

[0094] Among them, s i +p i This indicates the precise point in time when the server reaches its maximum power. e (short for epsilon) is a very small positive value used to prevent the denominator from being zero, for example, to avoid the situation where the denominator is 0 when t = si + pi. The value of e can be 10. -6 ~10 -3 .

[0095] For example, the maximum power values ​​of two servers may affect each other. For instance, the power peak of one server may directly or indirectly interfere with the power stability of another server. The degree of mutual influence between the maximum power values ​​of the two servers can be quantified by the power influence parameter.

[0096] According to embodiments of this disclosure, by determining conflict penalty parameters based on power impact parameters, the startup time of any candidate service, and the time when multiple servers reach their respective maximum power values ​​after the startup of any candidate service, the conflict penalty parameters can more accurately describe the degree of power maximum value conflict between servers.

[0097] According to embodiments of this disclosure, for two servers located on different bearer devices, a first value can be determined for the power impact parameter; for two servers located on the same bearer device, a second value can be determined for the power impact parameter, wherein the second value is higher than the first value.

[0098] For example, the supporting equipment may include a server rack. For two servers set in different server racks, since they are in different computer rooms and each has its own independent power supply link, the maximum power of the two servers is almost unrelated, that is, the maximum power will hardly affect each other. Therefore, the power influence parameter can be set to a low value, such as the first value can be 0.

[0099] For example, for two servers located in the same rack, since the two servers share power resources, there is a strong coupling between the power peaks. For example, the power fluctuation of one server will directly affect the power stability of the other server through power supply, heat dissipation, electromagnetic paths, etc. Therefore, a higher value can be set for the power impact parameter, such as the second value can be 1.

[0100] According to embodiments of this disclosure, for two servers located on the same bearer device and sharing the same transmission link, the power impact parameter is determined to be a third value; for two servers located on the same bearer device and each having its own transmission link, the power impact parameter is determined to be a fourth value, where the fourth value is less than the third value.

[0101] For example, sharing the same transmission link may include sharing the same circuit of a power distribution unit. When two servers are located in the same rack and share the same circuit of a power distribution unit, the mutual influence between the maximum power values ​​of the two servers is significant; therefore, a higher value for the power influence parameter can be set. When the two servers correspond to different circuits, the mutual influence between the maximum power values ​​of the two servers is relatively small; therefore, a lower value for the power influence parameter can be set.

[0102] According to embodiments of this disclosure, by determining the value of the power impact parameter based on the bearer device where the server is located and the transmission link corresponding to the server, the power coupling strength between different servers can be accurately determined, thereby strengthening the security constraints on the server and ensuring power safety.

[0103] According to embodiments of this disclosure, the pheromone concentration value can be periodically updated based on the weight values ​​of the power influence parameter, the conflict penalty parameter value, and a pre-determined set of services with conflicting maximum power values. The updated pheromone concentration value is used for the next operation to determine the candidate start time interval.

[0104] For example, periodically updating the pheromone concentration value may include: for the ant colony algorithm, updating the pheromone concentration value in the m-th iteration to obtain the pheromone concentration value in the (m+1)-th iteration.

[0105] For example, the pheromone update formula is shown in formula (4).

[0106] (4)

[0107] in, This represents the pheromone concentration value in the (m+1)th iteration. Let be the pheromone concentration value after m iterations, and p be the pheromone evaporation rate, which is usually taken as 0.05~0.2. The pheromone evaporation rate can be dynamically optimized by particle swarm optimization. For global volatiles, For local increment terms, This is a global coordination item.

[0108] For example, the global volatility term is used to characterize how the pheromone of all paths (i.e., the candidate start time intervals) decays proportionally in each iteration of the ant colony algorithm.

[0109] For example, the local increment term is used to make T k Shorter paths can yield more information. It can be calculated using formula (5).

[0110] (5)

[0111] Where Q is the pheromone intensity constant, for example, it can take a value of 100, and T k T is the total startup time of the path chosen by the k-th ant. k The smaller the value, the better the path. H( ) is an indicator function used to indicate if service j is in Path k The value is 1 if the path chosen by the k-th ant is selected, and 0 otherwise. The total number of ants is M.

[0112] For example, global coordination items Used to suppress pheromones that may cause power conflicts. It can be calculated using formula (6).

[0113] (6)

[0114] in, The meaning in formulas (6) and (2) is the same; both refer to the weight of the conflict penalty parameter. δ ijThe meanings in formulas (6) and (3) are the same; both refer to power impact parameters. Conflicts(j) is the set of services that have power conflicts with service j. The meaning of is as described above and will not be repeated here.

[0115] According to embodiments of this disclosure, a two-layer conflict handling mechanism is constructed by using conflict penalty parameters during the path selection phase to prevent conflicts between the times when multiple servers reach their maximum power, and implementing conflict penalty through the set of services that have power conflicts with the service during the pheromone update phase. When determining the startup time of the baseboard management controller, both the startup efficiency of the baseboard management controller and power safety can be taken into account, and resource competition during the startup of multiple servers can be avoided.

[0116] According to embodiments of this disclosure, a node monitor can dynamically monitor each server, collecting data such as the number of CPU cores and power consumption of each server. A conflict analyzer can analyze the power conflict risk between servers based on the data collected by the node monitor and use a conflict detection matrix. A distributed scheduler can enable multiple ant colonies to execute operations in parallel to determine the target startup time interval of the baseboard management controller. By constructing a node monitor, conflict analyzer, and distributed scheduler, parallel optimization of the startup time of the baseboard management controller in ultra-large-scale clusters can be supported, improving optimization efficiency.

[0117] In one embodiment, an inner and outer layer algorithm is constructed for determining the startup time of the substrate management controller, wherein the outer layer is a particle swarm optimization (PSO) algorithm and the inner layer is an ant colony optimization (ACO) algorithm. For one iteration of the PSO algorithm, the overall process of the inner and outer layer algorithms may include: starting the PSO algorithm and initializing the ant colony parameters, then entering the inner layer's ACO algorithm. For the inner layer's ACO algorithm, all ant colonies corresponding to all substrate management controllers run the ACO algorithm in parallel once. After all ACO algorithm iterations are completed, the process returns to the PSO algorithm. Then, PSO algorithm parameter optimization is performed, such as optimizing particle velocity and position, completing one iteration of the PSO algorithm. This process is repeated until a preset number of PSO algorithm iterations is completed. In each PSO algorithm iteration, the entire ant colony iteration is executed.

[0118] For the ant colony algorithm, a distributed ant colony architecture is adopted, treating each baseboard management controller node in the cluster as an independent ant colony unit, thus forming a multi-ant colony collaborative optimization system. For multiple ant colonies, each ant colony focuses on optimizing the startup time of the baseboard management controller for its corresponding server. A pheromone matrix is ​​used to record the expected startup value at different time points, where the pheromone matrix records the quality of service startup at different time points; higher pheromone concentrations indicate more efficient startup and fewer resource conflicts. A global coordination ant colony is also established to monitor power maximum value conflicts across servers. A conflict detection matrix based on rack and PDU grouping can be maintained, and the weights of conflict penalty parameters can be dynamically generated and fed back to each ant colony. The conflict detection matrix characterizes the severity of conflicts between power maximum values ​​of different servers; higher matrix values ​​indicate a longer overlap time of power maximum values ​​for the corresponding server and a greater risk of overlap.

[0119] Figure 4 A schematic diagram is shown illustrating how multiple ant colonies collaboratively determine the startup time of a baseboard management controller according to an embodiment of the present disclosure.

[0120] like Figure 4 As shown, for example, it is necessary to determine the startup time of the baseboard management controllers of three servers. Representing the baseboard management controllers of the three servers as ant colonies, we obtain ant colony 1, ant colony 2, and ant colony 3. A cross-ant colony coordinator can be established to exchange power status data of each server in real time. For example, a conflict detection matrix, as a global coordination module, can characterize the power peak conflict between the servers corresponding to ant colony 1, ant colony 2, and ant colony 3. The conflict detection matrix can record information such as which servers' power peaks overlap in time and the severity of the conflict. Weights of conflict penalty parameters can be generated based on the conflict detection matrix, and these weights can be fed back to ant colony 1, ant colony 2, and ant colony 3.

[0121] For the particle swarm optimization algorithm, the position vector x is... i It can be represented as x i = (ρ i α i ,β i γ i K i ), where, for the i-th particle, ρ i For pheromone evaporation rate, α i and β i γ represents the weights of pheromone concentration and heuristic information update parameters, respectively. i K represents the weight of the conflict penalty parameter. i The number of services provided by the board management controller that are started in parallel.

[0122] For example, the velocity vector v in particle swarm optimization. i It can be represented as v i = ( Δρ i ,Δα i Δβ i ,Δγ i ΔK i For the i-th particle, Δρ i Δα represents the change in pheromone evaporation rate. i and Δβ i Δγ represents the change in the weights of pheromone concentration and heuristic information update parameters, respectively. i ΔK represents the change in the weights of the conflict penalty parameters. i This represents the change in the number of services provided by the baseboard management controller that can be started in parallel. For example, for the particle swarm optimization algorithm, velocity and position can be updated during each iteration. The velocity update formula is shown in Equation (7).

[0123] (7)

[0124] Among them, v id (K) represents the current velocity of particle i in dimension d in the Kth iteration of the particle swarm optimization algorithm, v id (K+1) represents the current velocity of particle i in dimension d in the (K+1)th iteration of the particle swarm optimization algorithm. w is the inertia weight used to balance global and local searches, typically ranging from 0.4 to 0.9. c1 and c2 are the cognitive and social coefficients, respectively. The cognitive coefficient controls the influence of individual experience, and the social coefficient controls the influence of group experience; the values ​​of c1 and c2 can each range from 1.5 to 2.0. r1 and r2 are random numbers used to increase the randomness of the exploration; the values ​​of r1 and r2 can each range from 0 to 1. pbest id Let gbest be the historical best position of particle i in dimension d. d x represents the globally optimal position of the group in dimension d. id (K) represents the position of particle i in the Kth iteration of the particle swarm optimization algorithm.

[0125] The position update formula is shown in formula (8).

[0126] x id (K+1) = x id (K) + v id (K+1) (8)

[0127] Where, x id (K) represents the position of particle i in the (K+1)th iteration of the particle swarm optimization algorithm. id (K) and vid The meaning of (K+1) is explained above and will not be repeated here.

[0128] Figure 5 A flowchart illustrating a startup time determination method for a substrate management controller according to another embodiment of this disclosure is shown. Figure 5 As shown, the method for determining the startup time of the substrate management controller in this embodiment includes operations S510 to S570.

[0129] In operation S510, the particle swarm parameters are initialized. For example, initial parameters such as the population size, inertia weight, and learning factor of the particle swarm algorithm can be set, and an initial position is randomly generated for each particle, corresponding to the set of current ant colony parameters of the ant colony algorithm.

[0130] When operating the S520, N parallel ant colonies are created. For example, the number of independent ant colonies can be created according to the number of servers (e.g., L). Each ant colony can determine the startup time interval of the baseboard management controller for its corresponding server in parallel. Each ant colony initializes its own pheromone matrix and heuristic information matrix. The pheromone matrix represents the group's past successful experiences and is used to guide the ant colony algorithm to utilize known optimal solutions and accelerate convergence; the heuristic information matrix represents the local optimization patterns of the problem itself and is used to guide the ant colony algorithm to explore potential optimal solutions and avoid limitations.

[0131] In operation S530, it is determined whether the number of iterations is less than or equal to the maximum number of iterations. For example, after each iteration operation, it can be determined whether the current number of iterations is less than or equal to the preset maximum number of iterations for the particle swarm algorithm, in order to determine whether to stop the iteration operation.

[0132] When operating S540, the optimal solution is output when the number of iterations exceeds the maximum number of iterations.

[0133] For example, the iteration operation can be stopped when the number of iterations exceeds the maximum number of iterations. The startup timing scheme corresponding to the historical optimal parameter combination can be selected to generate the final startup schedule for each server. The startup timing scheme can include the target startup time interval, the startup batch and time of each service, etc., and the final startup schedule can include the startup batch and startup time of each service on each server.

[0134] When operating the S550, parameter optimization can be performed when the number of iterations is less than or equal to the maximum number of iterations. For example, when the number of iterations is less than or equal to the maximum number of iterations, the parameters of the particle swarm optimization algorithm can be further optimized. This can be done by calculating the fitness value of each particle, updating the particle velocity and position by comparing the individual optimal and the global optimal, generating a new generation of parameter combinations for the particle swarm optimization algorithm, and further, obtaining the updated ant colony parameters based on the new generation of parameter combinations.

[0135] When operating the S560, multi-colony collaborative search can be performed. For example, updated ant colony parameters can be distributed to each ant colony, and each ant colony can independently perform path search based on the updated ant colony parameters, and return the startup timing scheme of each server node, such as the target startup time interval of each of the multiple baseboard management controllers, the startup batch of each service, etc.

[0136] In step S570, the global fitness is calculated. For example, the fitness function can be used to comprehensively evaluate the solution quality of all ant colonies, update the optimal solution record of the particle swarm based on the evaluation results, and return to step S530 to determine whether the number of iterations is less than or equal to the maximum number of iterations.

[0137] By combining a multi-ant colony distributed optimization architecture with particle swarm intelligent parameter adjustment, optimal startup timing planning can be achieved while ensuring power safety constraints. In one embodiment, the batch startup time of a large-scale server cluster can be reduced by 40%-55%.

[0138] Figure 6 A flowchart of a multi-ant colony collaborative search according to an embodiment of the present disclosure is shown.

[0139] like Figure 6 As shown, multi-ant colony collaborative search specifically includes operations S561 to S566.

[0140] In operation S561, the updated ant colony parameters are received. For example, the updated ant colony parameters can be obtained from the particle swarm optimization algorithm by the parameter distributor.

[0141] In operation S562, updated parameters are distributed. For example, a parameter distributor can distribute the updated ant colony parameters to each ant colony. For instance, the parameter distributor can distribute the updated ant colony parameters to ant colony 1, ant colony 2, ..., ant colony N.

[0142] In operation S5631, ant colony 1 independently searches and constructs a path; in operation S5632, ant colony 2 independently searches and constructs a path; in operation S5633, ant colony N independently searches and constructs a path.

[0143] For example, each ant colony can determine the startup time of the corresponding server's baseboard management controller in parallel based on the received updated ant colony parameters. For example, each ant colony can independently search for possible startup time intervals and determine the target startup time interval, thereby constructing a path.

[0144] For example, it can be determined whether each ant colony has completed its independent search. If it is determined that each ant colony has completed its independent search, it can construct a path. If it has not completed its independent search, the ant colony can continue to conduct its independent search.

[0145] In operation S5641, the local pheromone is updated by ant colony 1; in operation S5642, the local pheromone is updated by ant colony 2; in operation S5643, the local pheromone is updated by ant colony N.

[0146] For example, updating local pheromones can include each ant colony updating its own pheromone concentration value, for example, by using a pheromone update formula in each iteration of the ant colony algorithm.

[0147] When operating S565, global pheromones are fused.

[0148] For example, fusing global pheromones can include collecting updated pheromone concentrations from each ant colony by a global pheromone fusion center (such as a global coordinating ant colony). This allows each ant colony to adjust its own pheromone concentration based on the updated global pheromone information provided by the global coordinating ant colony. This, in turn, enables collaborative searching among multiple ant colonies.

[0149] According to embodiments of this disclosure, by treating each baseboard management controller as an independent ant colony, the startup timing of a single node is optimized through a local pheromone mechanism. Simultaneously, a particle swarm optimization algorithm is introduced to dynamically control the ant colony parameters (such as pheromone evaporation rate) of each ant colony, and global conflict detection coordinates the behavior of multiple ant colonies. Specifically, the power coupling relationship between servers is quantified through a power influence factor, and the elastic control of safety constraints is achieved through the weighting of conflict penalty parameters, ultimately forming a hybrid optimization framework that combines local fine-grained search and global power security. In another embodiment, the baseboard management controller startup time determination method of this disclosure can shorten cluster startup time by 35%-50%, reduce maximum power conflict to below 3%, and possess good hardware heterogeneity adaptability, providing a highly efficient and secure batch startup solution for data centers.

[0150] The method for determining the startup time of the baseboard management controller in this disclosure is not limited to servers, but can also be applied to computers, switches, industrial control computers, etc., that are equipped with baseboard management controllers. For the aforementioned computers, switches, industrial control computers, etc., the method for determining the startup time of the baseboard management controller in this disclosure can enhance intelligent operation and maintenance capabilities. By monitoring hardware status and load fluctuations in real time and adaptively adjusting ant colony parameters, the success rate and stability of batch startup in heterogeneous environments can be significantly improved, providing secure and efficient operation and maintenance guarantees for ultra-large-scale data centers. Through the dependencies between services, intelligent coordination prioritizes the startup of critical services, optimizing the overall startup process while ensuring the availability of core businesses, and significantly improving the operation and maintenance experience.

[0151] Based on the above-described method for determining the startup time of a baseboard management controller, this disclosure also provides a device for determining the startup time of a baseboard management controller. The following will be combined with... Figure 7The device is described in detail.

[0152] Figure 7 A structural block diagram of a startup time determination apparatus for a substrate management controller according to an embodiment of the present disclosure is shown. Figure 7 As shown, the startup time determination device 700 of the baseboard management controller includes a display module 710, a determination module 720 and an update module 730.

[0153] The representation module 710 is used to represent the respective baseboard management controllers of multiple servers as ant colonies. In one embodiment, the representation module 710 can be used to perform the operation S210 described above, which will not be repeated here.

[0154] The determining module 720 is used to determine the target startup time intervals for each of the multiple baseboard management controllers based on the current ant colony parameters corresponding to the multiple ant colonies using an ant colony algorithm, thereby obtaining multiple target startup time intervals. In one embodiment, the determining module 720 can be used to perform the operation S220 described above, which will not be repeated here.

[0155] The update module 730 is used to periodically update the ant colony parameters of each ant colony, and to use the updated ant colony parameters to determine the target start-up time interval for each of the multiple baseboard management controllers in the next step. In one embodiment, the update module 730 can be used to perform the operation S230 described above, which will not be repeated here.

[0156] For example, the determination module 720 includes a first determination submodule for determining multiple services associated with multiple functions of the baseboard management controller, a second determination submodule for determining candidate services to be started at the same time in batches based on the dependencies between the multiple services, a third determination submodule for determining the probability of selecting each candidate service for any batch based on the current ant colony parameters and determining the services of the batch based on the probability, a fourth determination submodule for determining candidate start time intervals for any baseboard management controller based on the start time of each batch of services, a fifth determination submodule for periodically performing the operation of determining candidate start time intervals to obtain multiple candidate start time intervals, and a sixth determination submodule for determining a target start time interval from the multiple candidate start time intervals based on the interval duration of the candidate start time intervals.

[0157] For example, the update module 730 includes a generation submodule, which uses the minimum duration of the interval as the first constraint, the minimum overlap duration of the moments when the corresponding server reaches its maximum power as the second constraint, and the minimum maximum instantaneous power of multiple servers as the third constraint. Based on the degree to which the target startup time interval simultaneously satisfies the first, second, and third constraints, fitness information is generated.

[0158] For example, the third determination submodule includes a calculation unit for calculating the probability of selecting each candidate service based on the conflict penalty parameter value, the pheromone concentration value, and the heuristic information update parameter value. The conflict penalty parameter value represents the degree of conflict between the times when multiple servers reach their maximum power when the candidate service starts; the pheromone concentration value represents the probability of selecting a candidate service for each operation when the operation of determining the candidate start time interval is performed periodically; and the heuristic information update parameter value is used to represent the start time of the candidate service.

[0159] For example, the third determining submodule also includes a determining unit, used to determine the conflict penalty parameter based on the power impact parameter, the start time of any candidate service, and the time when multiple servers reach their respective maximum power values ​​after the start of any candidate service; wherein, the power impact parameter represents the degree of mutual influence between the maximum power values ​​of any two servers.

[0160] For example, the third determination submodule also includes an update unit, which is used to periodically update the pheromone concentration value based on the weight values ​​of the power influence parameter, the conflict penalty parameter value, and the pre-determined service set with conflicting maximum power values. The updated pheromone concentration value is used for the next operation to determine the candidate start time interval.

[0161] For example, the determining unit is also used to determine the value of the power impact parameter as a first value for two servers set on different bearer devices; and to determine the value of the power impact parameter as a second value for two servers set on the same bearer device, wherein the second value is higher than the first value.

[0162] For example, the determining unit further includes a first determining subunit and a second determining subunit. The first determining subunit is used to determine the value of the power impact parameter as a third value for two servers that are set on the same bearer equipment and share the same transmission link; the second determining subunit is used to determine the value of the power impact parameter as a fourth value for two servers that are set on the same bearer equipment and each has its own transmission link, where the fourth value is less than the third value.

[0163] For example, the determination module 720 also includes a dependency determination subunit, used to determine the dependencies between multiple services based on the dependency graph; the dependency graph includes multiple nodes and the dependencies between nodes, wherein multiple nodes represent multiple services, and the dependency between two nodes indicates whether the startup of a service represented by one node depends on the startup of a service represented by another node.

[0164] According to embodiments of this disclosure, any plurality of modules among the representation module 710, determination module 720, and update module 730 may be combined into one module, or any one of these modules may be split into multiple modules. Alternatively, at least a portion of the functionality of one or more of these modules may be combined with at least a portion of the functionality of other modules and implemented in one module. According to embodiments of this disclosure, at least one of the representation module 710, determination module 720, and update module 730 may be at least partially implemented as hardware circuitry, such as a field-programmable gate array (FPGA), a programmable logic array (PLA), a system-on-a-chip, a system-on-a-substrate, a system-on-package, an application-specific integrated circuit (ASIC), or any other reasonable means of integrating or packaging circuitry, or implemented in software, hardware, or firmware, or in any suitable combination of any of these three implementation methods. Alternatively, at least one of the representation module 710, determination module 720, and update module 730 may be at least partially implemented as a computer program module, which, when run, can perform corresponding functions.

[0165] Figure 8 A block diagram of an electronic device suitable for implementing a startup time determination method for a board management controller, according to an embodiment of the present disclosure, is shown. Figure 8 As shown, an electronic device 800 according to an embodiment of this disclosure includes a processor 801, which can perform various appropriate actions and processes according to a program stored in a read-only memory (ROM) 802 or a program loaded from a storage portion 808 into a random access memory (RAM) 803. The processor 801 may include, for example, a general-purpose microprocessor (e.g., a CPU), an instruction set processor and / or an associated chipset and / or a special-purpose microprocessor (e.g., an application-specific integrated circuit (ASIC)), etc. The processor 801 may also include onboard memory for caching purposes. The processor 801 may include a single processing unit or multiple processing units for performing different actions of the method flow according to an embodiment of this disclosure.

[0166] RAM 803 stores various programs and data required for the operation of electronic device 800. Processor 801, ROM 802, and RAM 803 are interconnected via bus 804. Processor 801 performs various operations of the method flow according to embodiments of the present disclosure by executing programs in ROM 802 and / or RAM 803. Programs may also be stored in one or more memories other than ROM 802 and RAM 803. Processor 801 may also perform various operations of the method flow according to embodiments of the present disclosure by executing programs stored in one or more memories.

[0167] According to embodiments of this disclosure, the electronic device 800 may further include an input / output (I / O) interface 805, which is also connected to a bus 804. The electronic device 800 may also include one or more of the following components connected to the input / output (I / O) interface 805: an input section 806 including a keyboard, mouse, etc.; an output section 807 including a cathode ray tube (CRT), liquid crystal display (LCD), etc., and a speaker, etc.; a storage section 808 including a hard disk, etc.; and a communication section 809 including a network interface card such as a LAN card, modem, etc. The communication section 809 performs communication processing via a network such as the Internet. A drive 810 is also connected to the input / output (I / O) interface 805 as needed. A removable medium 811, such as a disk, optical disk, magneto-optical disk, semiconductor memory, etc., is installed on the drive 810 as needed so that computer programs read from it can be installed into the storage section 808 as needed.

[0168] This disclosure also provides a computer-readable storage medium, which may be included in the device / apparatus / system described in the above embodiments; or it may exist independently and not assembled into the device / apparatus / system. The computer-readable storage medium carries one or more programs that, when executed, implement the methods of the embodiments of this disclosure.

[0169] According to embodiments of this disclosure, the computer-readable storage medium can be a non-volatile computer-readable storage medium, such as including, but 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 thereof. In this disclosure, the computer-readable storage medium can be any tangible medium that contains or stores a program that can be used by or in conjunction with an instruction execution system, apparatus, or device. For example, according to embodiments of this disclosure, the computer-readable storage medium may include ROM 802 and / or RAM 803 and / or one or more memories other than ROM 802 and RAM 803 described above.

[0170] Embodiments of this disclosure also include a computer program product comprising a computer program containing program code for performing the methods shown in the flowchart. When the computer program product is run on a computer system, the program code is used to cause the computer system to implement the methods provided in the embodiments of this disclosure. When the computer program is executed by processor 801, it performs the functions defined in the system / apparatus of the embodiments of this disclosure. According to embodiments of this disclosure, the systems, apparatuses, modules, units, etc., described above can be implemented by computer program modules.

[0171] For example, the computer program can rely on tangible storage media such as optical storage devices or magnetic storage devices. In another embodiment, the computer program can also be transmitted and distributed in the form of signals over a network medium, and can be downloaded and installed via communication section 809, and / or installed from removable medium 811. The program code contained in the computer program can be transmitted using any suitable network medium, including but not limited to wireless, wired, or any suitable combination thereof.

[0172] In such an embodiment, the computer program can be downloaded and installed from a network via communication section 809, and / or installed from removable medium 811. When the computer program is executed by processor 801, it performs the functions defined in the system of this disclosure embodiment. According to embodiments of this disclosure, the systems, devices, apparatuses, modules, units, etc., described above can be implemented by computer program modules. Program code for executing the computer programs provided in embodiments of this disclosure can be written in any combination of one or more programming languages, for example, these computational programs can be implemented using high-level procedural and / or object-oriented programming languages, and / or assembly / machine languages. Programming languages ​​include, but are not limited to, languages ​​such as Java, C++, Python, "C", or similar programming languages. The program code can be executed entirely on the user's computing device, partially on the user's device, partially on a remote computing device, or entirely on a remote computing device or server. In cases involving remote computing devices, the remote computing device can be connected to the user's computing device via 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 (e.g., via the Internet using an Internet service provider).

[0173] The flowcharts and block diagrams in the accompanying drawings illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various embodiments of the present disclosure. In this regard, each block in a flowchart or block diagram may represent a module, segment, or portion of code containing one or more executable instructions for implementing a specified logical function. It should also be noted that in some alternative implementations, the functions indicated in the blocks may occur in a different order than those indicated in the drawings. For example, two consecutively indicated blocks may actually be executed substantially in parallel, and they may sometimes be executed in reverse order, depending on the functions involved. It should also be noted that each block in a block diagram or flowchart, and combinations of blocks in a block diagram or flowchart, may be implemented using a dedicated hardware-based system that performs the specified function or operation, or using 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 disclosure can be combined and / or combined in various ways, even if such combinations are not explicitly described in the present disclosure. In particular, the features described in the various embodiments of this disclosure may be combined and / or combined in various ways without departing from the spirit and teachings of this disclosure. All such combinations and / or combinations fall within the scope of this disclosure.

[0174] The embodiments of this disclosure have been described above. However, these embodiments are for illustrative purposes only and are not intended to limit the scope of this disclosure. Although various embodiments have been described above, this does not mean that the measures in the various embodiments cannot be used advantageously in combination. Various substitutions and modifications can be made by those skilled in the art without departing from the scope of this disclosure, and all such substitutions and modifications should fall within the scope of this disclosure.

Claims

1. A method for determining a boot-up time of a baseboard management controller, the method comprising: The method comprises: The method comprises: Periodically update the ant colony parameters of each ant colony, and use the updated ant colony parameters to determine the target startup time interval of each substrate management controller next time; Wherein, the periodically updating the ant colony parameters of each ant colony comprises: According to the interval length of the target startup time interval, the time when the corresponding server reaches the maximum power in the target startup time interval, and the maximum instantaneous power of the corresponding server of the substrate management controller during the startup process of the target startup time interval, determine the fitness information, wherein the fitness information is used to represent the conflict degree between the target startup time intervals; For any ant colony, the fitness information is used as the evaluation standard of parameter optimization, and the current ant colony parameters of the any ant colony are optimized based on the particle swarm algorithm to obtain the updated ant colony parameters.

2. The method of claim 1, wherein, The method comprises: For any substrate management controller, Determine a plurality of services associated with the plurality of functions of the substrate management controller; According to the dependency relationship between the plurality of services, determine the candidate services of each batch to be started at the same time; For any batch, according to the current ant colony parameters, determine the probability of selecting each candidate service, and determine the services of the batch according to the probability to obtain the services of the same batch; According to the startup time of each batch service, determine the candidate startup time interval for any substrate management controller; Periodically perform the operation of determining the candidate startup time interval to obtain a plurality of candidate startup time intervals; 3. The method of claim 1, wherein, According to the interval length of the target startup time interval, the time when the corresponding server reaches the maximum power in the target startup time interval, and the maximum instantaneous power of the corresponding server of the substrate management controller during the startup process of the target startup time interval, determine the fitness information, wherein the fitness information is used to represent the conflict degree between the target startup time intervals; The method comprises:

4. The method of claim 2, wherein, The method comprises: According to the interval length of the target startup time interval, the time when the corresponding server reaches the maximum power in the target startup time interval, and the maximum instantaneous power of the corresponding server of the substrate management controller during the startup process of the target startup time interval, determine the fitness information, wherein the fitness information is used to represent the conflict degree between the target startup time intervals; The method comprises: The method comprises: According to the conflict penalty parameter value, the pheromone concentration value, and the heuristic information update parameter value, a probability of selecting each candidate service is calculated, wherein the conflict penalty parameter value represents a degree of conflict between times at which the plurality of servers reach a maximum power value when the candidate service is started; the pheromone concentration value represents a probability of selecting the candidate service each time an operation of determining the candidate start time interval is performed; and the heuristic information update parameter value is used to represent a start duration of the candidate service.

5. The method of claim 4, wherein, The method further comprises: According to a power influence parameter, a start time of any candidate service, and times at which the plurality of servers each reach a maximum power value after the any candidate service is started, the conflict penalty parameter value is determined. The power influence parameter represents a degree of mutual influence between maximum power values of any two servers.

6. The method of claim 5, wherein, The method further comprises: According to the power influence parameter, a weight value of the conflict penalty parameter value, and a pre-determined service set in which there is a conflict of maximum power values, the pheromone concentration value is periodically updated, and the updated pheromone concentration value is used for a next operation of determining the candidate start time interval.

7. The method of claim 5, wherein: For two servers disposed on different carrier devices, the power influence parameter is determined to have a first value; For two servers disposed on the same carrier device, the power influence parameter is determined to have a second value, the second value being higher than the first value.

8. The method of claim 7, wherein, The method further comprises: For two servers disposed on the same carrier device and sharing a same transmission link, the power influence parameter is determined to have a third value; For two servers disposed on the same carrier device and each having a transmission link, the power influence parameter is determined to have a fourth value, the fourth value being lower than the third value.

9. The method of claim 2, wherein, The method further comprises: According to a dependency graph, a dependency relationship between the plurality of services is determined. The dependency graph comprises a plurality of nodes and dependency relationships between the nodes, wherein the plurality of nodes represent the plurality of services, and a dependency relationship between two nodes represents whether a start of a service represented by one node depends on a start of a service represented by another node.

10. An electronic device, comprising: one or more processors; a memory for storing one or more computer programs, characterized in that the one or more processors execute the one or more computer programs to implement steps of the method according to any one of claims 1-9.

Citation Information

Cited By

  • Method and apparatus for performance evaluation of a server

    CN122240442A