Methods and systems for powering on server cluster

Simultaneous computing unit power-on and batched storage unit power-on with optimized sequencing and data storage address power surges and data loss in server clusters, ensuring stable and efficient server operation.

WO2026026240A1PCT designated stage Publication Date: 2026-02-05ZHEJIANG DAHUA TECH CO LTD
View PDF 7 Cites 0 Cited by

Patent Information

Application Number
PCT/CN2025/100192
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2024-08-02
Filing Date
2025-06-10
Publication Date
2026-02-05

AI Technical Summary

Technical Problem

Server clusters experience significant power surges during simultaneous power-on due to high initial power consumption by storage devices, threatening power supply stability and data integrity.

Method used

Power on computing units simultaneously and storage units in batches based on a power threshold and device information, storing operational data in faster storages before higher-consuming units are powered on.

Benefits of technology

Reduces power surges and data loss by optimizing power consumption and data storage sequence, enabling faster server cluster operation without exceeding power supply limits.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN2025100192_05022026_PF_FP_ABST
    Figure CN2025100192_05022026_PF_FP_ABST
Patent Text Reader

Abstract

A method for powering on a server cluster is provided. The server cluster includes servers, each server includes a computing unit and a storage unit, the computing unit includes a first storage, the storage unit includes one or more second storages, and a first power-on power consumption of the first storage is lower than a second power-on power consumption of the one or more second storages. The computing units of the servers in the server cluster is powered on. Operational data of the computing units is stored into their respective first storages. A power-on sequence of the second storages is determined based on a power threshold and device information of the second storages of the servers. The operational data is stored from the first storages into the second storages.
Need to check novelty before this filing date? Find Prior Art

Description

METHODS AND SYSTEMS FOR POWERING ON SERVER CLUSTERCROSS-REFERENCE TO RELATED APPLICATIONS

[0001] This application claims priority of Chinese Patent Application No. 202411052997.5, filed on August 02, 2024, the contents of which are incorporated herein by reference.TECHNICAL FIELD

[0002] The present disclosure relates to the field of computer technology, and in particular, to methods and systems for powering on a server cluster.BACKGROUND

[0003] A server cluster (e.g., a data center) usually includes a large number of servers, and its power consumption is very high, especially during the power-on stage of the servers.

[0004] For a storage server, the primary source of power consumption stems from the storages (e.g., hard disks) of the storage server. When a hard disk is powered on, the initial activation of its internal motor generates a substantial power surge, significantly exceeding its steady-state operational consumption. For instance, a 3.5-inch mechanical hard drive can exhibit power-on consumption approximately three times higher than its normal operating power consumption. Consequently, simultaneous power-up of all servers within the server cluster creates a cumulative power demand that imposes severe stress on the cluster's power supply infrastructure. This collective inrush current can lead to critical power surge phenomena in the server cluster's power delivery system, potentially compromising its stability and reliability.SUMMARY

[0005] According to an aspect of the present disclosure, a method for powering on a server cluster may be provided. The server cluster may include servers, each server may include a computing unit and a storage unit, the computing unit may include a first storage, the storage unit may include one or more second storages, and a first power-on power consumption of the first storage is lower than a second power-on power consumption of the one or more second storages. The method may include powering on the computing units of the servers in the server cluster. The method may also include storing operational data of the computing units into their respective first storages. The method may further include determining a power-on sequence of the second storages based on a power threshold and device information of the second storages of the servers, wherein the power threshold is determined based on a maximum power of a power supply device that supplies power for the server cluster. The method may also include powering on the second storages according to the power-on sequence. The method may include storing the operational data from the first storages into the second storages.

[0006] In some embodiments, for each of at least one of the computing units, a capacity of the first storage of the computing unit is determined by the following process. A server workload to be processed by the computing unit may be estimated. A time delay may be estimated based on historical power-on data of the computing unit. The time delay is a time difference between a first time and a second time, the first time is a time when the last compute unit in the server cluster is powered on, and the second time is a time when at least a portion of the one or more second storages corresponding to the computing unit is powered on. Further, the capacity of the first storage of the computing unit may be determined based on the server workload and the time delay.

[0007] In some embodiments, the time delay is determined by processing the historical power-on data using a trained machine leaning model.

[0008] In some embodiments, the power-on sequence is determined such that other second storages are powered on after a first target storage of the one or more second storages in each storage unit is powered on, the first target storage of each storage unit is a second storage that is powered on first among the one or more second storages in the storage unit.

[0009] In some embodiments, to determine, based on a power threshold and device information of the second storages of the servers, a power-on sequence of the second storages, the method may include determining whether a power-on condition is satisfied based on the power threshold and the device information of the second storages. In response to determining that the power-on condition is not satisfied, the method may include determining the first target storage of each storage unit and a power-on sequence of the first target storages of the storage units based on the power threshold and the device information of the second storages.

[0010] In some embodiments, the device information of the second storages includes a loading speed of each second storage, and the first target storage of each storage unit and the power-on sequence of the first target storages are determined further based on at least one of a capacity of the first storage of each computing unit, a generation speed of the operational data of each computing unit, or the loading speed of each second storage.

[0011] In some embodiments, the generation speed of the operational data of each computing unit is determined according to one or more operational features of the computing unit.

[0012] In some embodiments, the second storages are powered on in multiple batches. To determine, based on a power threshold and device information of the second storages, a power-on sequence of second storages, the method may include, for each batch, determining target storages to be powered on in the batch among second storages that have not been powered on based on the power threshold, the device information of the second storages, status data of the computing units and / or second storages that have been powered on.

[0013] In some embodiments, to determine target storages to be powered on in the batch among second storages that have not been powered on based on the power threshold, the device information of the second storages, status data of the computing units and / or second storages that have been powered on, the method may include determining a second power threshold based on the power threshold and the status data of the computing units and / or second storages that have been powered on. The method may further include determining the target storages based on the second power threshold and the device information of the second storages.

[0014] In some embodiments, the second storages are powered on in multiple batches. To determine, based on a power threshold and device information of the second storages, a power-on sequence of second storages, the method may include, for each batch, determining one or more target groups among second storages that have not been powered on based on the power threshold, the device information of the second storages, and status data of the computing units and / or second storages that have been powered on, each target group including one or more target storages to be powered on in the batch among second storages that have not been powered on.

[0015] In some embodiments, to determine a plurality of target groups based on the power threshold, the device information of the second storages, and status data of second storages that have been powered on, the method may include determining a second power threshold based on the power threshold and status data of the computing units and / or second storages that have been powered on. The method may further include determining the target group (s) based on the second power threshold and the device information of the second storages.

[0016] In some embodiments, a main control unit is determined from the computing units, the second storages are powered on in multiple batches, and the power-on sequence indicates a sequence of multiple batches. To power on the second storages according to the power-on sequence, the method may include, for each batch, after target storages to be powered on in the batch are determined, sending, via the main control unit, a power-on instruction to the computing units corresponding to the target storages to be powered on. The method may further include controlling, via the computing units corresponding to the target storages to be powered on, the target storages to power on.

[0017] In some embodiments, to storing operational data of the computing units into their respective first storages, the method may include, in response to determining that the remaining storage space of at least one first storage among the first storages is zero, storing the operational data of the computing unit including the at least one first storage into a reference storage, the reference storage including at least one other first storage whose remaining storage space is greater 0, or one or more second storages that have been powered on.

[0018] In some embodiments, for each of at least one server in the server cluster, the first storage includes a solid-state disk (SSD) and the one or more second storages include a second storage drive (HDD) .

[0019] In some embodiments, a capacity of the SSD is smaller than a capacity of the HDD.

[0020] In some embodiments, for each of at least one server in the server cluster, the first storage includes a first HDD, the one or more second storages include a second HDD, and a capacity of the first HDD is smaller than a capacity of the second HDD.

[0021] According to an aspect of the present disclosure, a system for powering on a server cluster may be provided. The server cluster may include servers, each server may include a computing unit and a storage unit, the computing unit may include a first storage, the storage unit may include one or more second storages, and a first power-on power consumption of the first storage is lower than a second power-on power consumption of the one or more second storages. The system may be configured to perform the following operations. The system may power on the computing units of the servers in the server cluster. The system may also store operational data of the computing units into their respective first storages. Further, the system may determine a power-on sequence of the second storages based on a power threshold and device information of the second storages of the servers, wherein the power threshold is determined based on a maximum power of a power supply device that supplies power for the server cluster. The system may power on the second storages according to the power-on sequence. The system may store the operational data from the first storages into the second storages.

[0022] According to an aspect of the present disclosure, a non-transitory computer readable medium may be provided. The non-transitory computer readable medium comprises a set of instructions, and the set of instructions may be executed by at least one processor of a server cluster. The server cluster may include servers, each server may include a computing unit and a storage unit, the computing unit may include a first storage, the storage unit may include one or more second storages, and a first power-on power consumption of the first storage is lower than a second power-on power consumption of the one or more second storages. When the set of instructions are executed by at least one processor of the server cluster, the set of instructions causes the server cluster to perform a method. The method may include powering on the computing units of the servers in the server cluster. The method may also include storing operational data of the computing units into their respective first storages. The method may further include determining a power-on sequence of the second storages based on a power threshold and device information of the second storages of the servers, wherein the power threshold is determined based on a maximum power of a power supply device that supplies power for the server cluster. The method may also include powering on the second storages according to the power-on sequence. The method may include storing the operational data from the first storages into the second storages.

[0023] Additional features will be set forth in part in the description which follows, and in part will become apparent to those skilled in the art upon examination of the following and the accompanying drawings or may be learned by production or operation of the examples. The features of the present disclosure may be realized and attained by practice or use of various aspects of the methodologies, instrumentalities, and combinations set forth in the detailed examples discussed below.BRIEF DESCRIPTION OF THE DRAWINGS

[0024] The present disclosure is further described in terms of exemplary embodiments. These exemplary embodiments are described in detail with reference to the drawings. These embodiments are non-limiting exemplary embodiments, in which like reference numerals represent similar structures throughout the several views of the drawings, and wherein:

[0025] FIG. 1 is a schematic diagram illustrating an exemplary server cluster according to some embodiments of the present disclosure;

[0026] FIG. 2 is a schematic diagram illustrating an exemplary server according to some embodiments of the present disclosure;

[0027] FIG. 3 is a flowchart illustrating an exemplary process for powering on the server cluster 100 according to some embodiments of the present disclosure;

[0028] FIG. 4 is a flowchart illustrating an exemplary process for determining first target storages according to some embodiments of the present disclosure;

[0029] FIG. 5 is a schematic diagram illustrating an exemplary process for determining first target storages in a batch according to some embodiments of the present disclosure;

[0030] FIG. 6 is a schematic diagram illustrating an exemplary server according to some embodiments of the present disclosure;

[0031] FIG. 7 is a flowchart illustrating an exemplary process for powering on the server cluster 100 according to some embodiments of the present disclosure;

[0032] FIG. 8 is a flowchart illustrating an exemplary process for determining power-on information of the next batch to be powered on according to some embodiments of the present disclosure; and

[0033] FIG. 9 is a flowchart illustrating an exemplary process for powering on the server cluster 100 according to some embodiments of the present disclosure.DETAILED DESCRIPTION

[0034] In the following detailed description, numerous specific details are set forth by way of examples in order to provide a thorough understanding of the relevant disclosure. However, it should be apparent to those skilled in the art that the present disclosure may be practiced without such details. In other instances, well-known methods, procedures, systems, components, and / or circuitry have been described at a relatively high level, without detail, in order to avoid unnecessarily obscuring aspects of the present disclosure. Various modifications to the disclosed embodiments will be readily apparent to those skilled in the art, and the general principles defined herein may be applied to other embodiments and applications without departing from the spirit and scope of the present disclosure. Thus, the present disclosure is not limited to the embodiments shown, but to be accorded the widest scope consistent with the claims.

[0035] In the following detailed description, numerous specific details are set forth by way of examples in order to provide a thorough understanding of the relevant disclosure. However, it should be apparent to those skilled in the art that the present disclosure may be practiced without such details. In other instances, well-known methods, procedures, systems, components, and / or circuitry have been described at a relatively high level, without detail, in order to avoid unnecessarily obscuring aspects of the present disclosure. Various modifications to the disclosed embodiments will be readily apparent to those skilled in the art, and the general principles defined herein may be applied to other embodiments and applications without departing from the spirit and scope of the present disclosure. Thus, the present disclosure is not limited to the embodiments shown, but to be accorded the widest scope consistent with the claims.

[0036] The terminology used herein is for the purpose of describing particular example embodiments only and is not intended to be limiting. As used herein, the singular forms “a, ” “an, ” and “the” may be intended to include the plural forms as well, unless the context clearly indicates otherwise. It will be further understood that the terms “comprise, ” “comprises, ” and / or “comprising, ” “include, ” “includes, ” and / or “including, ” when used in this specification, specify the presence of stated features, integers, steps, operations, elements, and / or components, but do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and / or groups thereof.

[0037] It will be understood that the term “system, ” “engine, ” “unit, ” “module, ” and / or “block” used herein are one method to distinguish different components, elements, parts, sections or assembly of different levels in ascending order. However, the terms may be displaced by another expression if they achieve the same purpose.

[0038] Generally, the word “module, ” “unit, ” or “block, ” as used herein, refers to logic embodied in hardware or firmware, or to a collection of software instructions. A module, a unit, or a block described herein may be implemented as software and / or hardware and may be stored in any type of non-transitory computer-readable medium or another storage device. In some embodiments, a software module / unit / block may be compiled and linked into an executable program. It will be appreciated that software modules can be callable from other modules / units / blocks or from themselves, and / or may be invoked in response to detected events or interrupts. Software modules / units / blocks configured for execution on computing devices may be provided on a computer-readable medium, such as a compact disc, a digital video disc, a flash drive, a magnetic disc, or any other tangible medium, or as a digital download (and can be originally stored in a compressed or installable format that needs installation, decompression, or decryption prior to execution) . Such software code may be stored, partially or fully, on a storage device of the executing computing device, for execution by the computing device. Software instructions may be embedded in firmware, such as an EPROM. It will be further appreciated that hardware modules / units / blocks may be included in connected logic components, such as gates and flip-flops, and / or can be included of programmable units, such as programmable gate arrays or processors. The modules / units / blocks or computing device functionality described herein may be implemented as software modules / units / blocks, but may be represented in hardware or firmware. In general, the modules / units / blocks described herein refer to logical modules / units / blocks that may be combined with other modules / units / blocks or divided into sub-modules / sub-units / sub-blocks despite their physical organization or storage. The description may be applicable to a system, an engine, or a portion thereof.

[0039] It will be understood that when a unit, engine, module, or block is referred to as being “on, ” “connected to, ” or “coupled to, ” another unit, engine, module, or block, it may be directly on, connected or coupled to, or communicate with the other unit, engine, module, or block, or an intervening unit, engine, module, or block may be present, unless the context clearly indicates otherwise. As used herein, the term “and / or” includes any and all combinations of one or more of the associated listed items. The term “pixel” and “voxel” in the present disclosure are used interchangeably to refer to an element of an image.

[0040] These and other features, and characteristics of the present disclosure, as well as the methods of operation and functions of the related elements of structure and the combination of parts and economies of manufacture, may become more apparent upon consideration of the following description with reference to the accompanying drawings, all of which form a part of this disclosure. It is to be expressly understood, however, that the drawings are for the purpose of illustration and description only and are not intended to limit the scope of the present disclosure. It is understood that the drawings are not to scale.

[0041] Conventionally, servers of a server cluster are powered on in sequence to prevent excessive power-on power consumption in the server cluster, thereby avoiding the power surge phenomena in a power supply device of the server cluster. However, when the server cluster includes a large number of servers, the conventional approaches result in prohibitively long total power-on duration, severely impacting data storage services, particularly in video surveillance systems where extended boot time directly correlates with irreversible video footage loss.

[0042] An aspect of the present disclosure relates to methods for powering on a server cluster. The server cluster may include servers (also referred to as storage servers) . Each server may include a computing unit and a storage unit. The computing unit may include a first storage and the storage unit including one or more second storages. A first power-on power consumption of the first storage is lower than a second power-on power consumption of the one or more second storages. The method comprises the following operations. The computing units of the servers in the server cluster may be powered on, and operational data of the computing units may be stored into their respective first storages. Further, a power-on sequence of the second storages may be determined based on a power threshold and device information of the second storages of the servers, wherein the power threshold is a maximum power of a power supply device that supplies power for the server cluster. Then, the second storages may be powered on in multiple batches according to the power-on sequence, and the operational data from the first storages may be stored into the second storages.

[0043] Compared with the conventional power-on approaches, according to the methods of the present disclosure, the computing units of the server cluster can be powered on simultaneously to perform tasks of the server cluster as soon as possible, and the second storages can be powered on in multiple batches according to the power-on sequence. This can prevent excessive power-on power consumption in the server cluster to avoid the power surge phenomena in power supply device of the cluster, and also avoid or reduce the loss of the operational data of the servers.

[0044] FIG. 1 is a schematic diagram illustrating an exemplary server cluster 100 according to some embodiments of the present disclosure. As shown in FIG. 1, the server cluster 100 may include a power supply device 110, a network 120, and servers 130. In some embodiments, the servers 130 may be connected to and / or communicate with each other via a wired connection or a wireless connection (e.g., the network 120) . In some embodiments, each server 130 and the power supply device 110 are connected via a wired connection. The connection between the components of the server cluster 100 may be variable.

[0045] The power supply device 110 may be configured to supply power for the servers 130.

[0046] The network 120 may include any suitable network that can facilitate the exchange of information and / or data for the server cluster 100. In some embodiments, the servers 130 may communicate information and / or data via the network 120. . For example, the servers 130 are connected a network switch through the network 130 to form a local area network, enabling mutual communication among the servers 130. In some embodiments, the servers 130 are connected to external devices (e.g., image capture devices) via the network 120.

[0047] The servers 130 may be configured to process information and / or data to perform one or more tasks of the server cluster 100. For example, the servers 130 are used to perform computational tasks to analyze data. As another example, the servers 130 are used to process an instruction or data received from a user terminal. In some embodiments, the server 130 may be a storage server configured to perform storage tasks.

[0048] In some embodiments, a server 130 may include a computing unit and a storage unit. The computing unit may be configured to process data and / or information obtained from an external device (e.g., a user terminal, an image capture device, etc. ) . The computing unit includes a processor (e.g., a central processing unit (CPU) ) , a first storage, an input / output (I / O) , a communication port, or the like, or any combination thereof. In some embodiments, the processor includes one or more modules for performing the methods of the present disclosure. The storage unit may be configured to store operational data of the server 130. The storage unit may include one or more second storages. In some embodiments, the first storage may be a fast storage provided for the computing unit, and configured to store the operational data of the server 130 before the one or more second storages are powered on. In some embodiments, the first storage is an auxiliary storage device that is connected to the processor through external interfaces such as SATA, NVMe, PCIe, etc. In some embodiments, the first storage is a fast storage. As used herein, a fast storage refers to a storage device optimized for low latency, high throughput, and high IOPS (input / output operations per second) . The one or more second storages are high-capacity storages. A high-capacity storage refers to a storage device designed to maximize data density and cost-per-terabyte efficiency, prioritizing scalable volume over low-latency performance. In some embodiments, the high-capacity storage refers to a storage device with a capacity higher than a threshold (e.g., 4TB, 6TB, 18TB, 30TB, etc. ) .

[0049] In some embodiments, for each of at least one server 130 in the server cluster 100, the first storage includes a solid-state disk (SSD) and the one or more second storages include a hard disk drive (HDD) . In some embodiments, a capacity of the SSD is smaller than a capacity of the HDD. Alternatively, the capacity of the SSD is not smaller than the capacity of the HDD. In some embodiments, for each of at least one server 130 in the server cluster 100, the first storage includes a first HDD, the one or more second storages include a second HDD, and a capacity of the first HDD is smaller than a capacity of the second HDD.

[0050] In some embodiments, the server 130 also includes a power supply module. Due to the limit of the maximum power of the power supply module, the second storages of the storage unit are divided into a plurality of groups. Each group includes one or more second storages. The plurality of groups are powered on in batches. That is, only one group can be powered on at one batch for each storage unit. In some embodiments, the power-on power consumption of each group is smaller than or equal to the maximum power of the power supply module.

[0051] Merly by way of example, FIG. 2 is a schematic diagram illustrating an exemplary server 130 according to some embodiments of the present disclosure. As shown in FIG. 2, the server 130 includes a computing unit 131 and a storage unit 132. The computing unit 131 includes a first storage 1311 and a processor 1312. The storage unit 132 includes second storages 1321. The processor 1312 is connected to the first storage 1311 and the second storages 1321. The first storage 1311 is connected to the second storages 1321.

[0052] In some embodiments, a first power-on power consumption of the first storage is lower than a second power-on power consumption of the one or more second storages. As used herein, a power-on power consumption of a component (e.g., the first storage, the second storage, etc. ) of the server cluster 100 refers to an electrical power consumed by the component when the component is powered on. In some embodiments, the second power-on power consumption is the power-on power consumption of an individual second storage, that is, the first power-on power consumption of the first storage is lower than the power-on power consumption of each second storage. In some embodiments, the second power-on power consumption is either the total power-on power consumption of the one or more second storages or the average power-on power consumption of the one or more second storages.

[0053] It should be noted that the above description of the server cluster 100 is intended to be illustrative, and not to limit the scope of the present disclosure. Many alternatives, modifications, and variations will be apparent to those skilled in the art. The features, structures, methods, and other characteristics of the exemplary embodiments described herein may be combined in various ways to obtain additional and / or alternative exemplary embodiments. For example, the server cluster 100 may include one or more additional components. Additionally or alternatively, one or more components of the server cluster 100 described above may be omitted. As another example, two or more components of the server cluster 100 may be integrated into a single component.

[0054] FIG. 3 is a flowchart illustrating an exemplary process 300 for powering on the server cluster 100 according to some embodiments of the present disclosure. As described in FIG. 1, the server cluster 100 may include servers 130. Each server 130 may include a computing unit and a storage unit. The computing unit may include a first storage, and the storage unit may include one or more second storages. A first power-on power consumption of the first storage is lower than a second power-on power consumption of the one or more second storages.

[0055] In 310, the power supply device 110 may power on the computing units of the servers 130 in the server cluster 100.

[0056] In some embodiments, the power supply device 110 may power on the computing units of the servers 130 simultaneously. Alternatively, the power supply device 110 powers on the computing units of the servers 130 in a plurality of batches. For example, the power supply device 110 turns on power switches of the computing units to power on the computing units.

[0057] In 320, the computing units of the servers 130 may store operational data of the computing units into their respective first storages.

[0058] As used herein, the operational data of a computing unit refers to data (e.g., video streaming) that the computing unit needs to process and / or data (e.g., metadata, index data, system logs, etc. ) generated during the processing. For example, when a computing unit receives raw video streams from a device such as a surveillance camera, the computing unit may perform operations (e.g., frame decoding, metadata extraction, compress, etc. ) on the raw video streams to generate processed video streams. During performing the operations, some data (e.g., metadata, index data, system logs, etc. ) are generated. The processed video streams and the data generated during the processing are the operational data of the computing unit.

[0059] Specifically, for each server 130, after the computing unit of the server 130 is powered on, the computing unit may start running and store the operational data of the computing unit into the first storage of the computing unit.

[0060] In some embodiments, during a process of storing the operational data into the first storages, in response to determining that the remaining storage space of at least one first storage among the first storages is zero, the operational data of the computing unit including the at least one first storage may be stored into a reference storage. In some embodiments, the reference storage may include at least one other first storage whose remaining storage space is greater 0. In some embodiments, operations 320 and 330-340 are performed simultaneously. Therefore, during storing the operational data into the first storages, some second storages may have been powered on. The reference storage may include one or more second storages that have been powered on. The risk of operational data loss can be reduced through real-time monitoring of storage spaces of the first storages and real-time transfer of the operational data.

[0061] In some embodiments, for each of at least one of the computing units, a capacity of the first storage of the computing unit may be determined by the following process. A server workload to be processed by the computing unit is estimated. The server workload may be an amount of data per second to be processed by the computing unit. In some embodiments, the server workload is estimated based on historical server workload of the computing unit. For example, the server workload is the average of the historical server workloads over a period of time.

[0062] Further, a time delay is determined based on historical power-on data of the computing unit, and the capacity of the first storage of the computing unit is determined based on the server workload and the time delay. The time delay is a time difference between a first time and a second time. The first time is a time when the last compute unit in the server cluster 100 is powered on, and the second time is a time when at least a portion of the one or more second storages corresponding to the computing unit is powered on. In some embodiments, the second time is a time when one of the one or more second storages corresponding to the computing unit is powered on.

[0063] In some embodiments, the historical power-on data includes data relates to one historical power-on process of the server cluster 100, and the time delay is a time difference between the first time and the second time corresponding to the one historical power-on process. Alternatively, the historical power-on data includes data relates to multiple historical power-on processes of the server cluster 100. The first time and the second time corresponding to each historical power-on process are determined, and the time delay is a time difference between the average or the maximum of the first times corresponding to the historical power-on processes and the average or the maximum of the second times corresponding to the historical power-on processes.

[0064] In some embodiments, the time delay is determined by processing the historical power-on data using a trained machine leaning model (also referred to as first trained machine leaning model) . The trained machine leaning model may be a prediction model for predicting a time delay of a power-on process of the server cluster 100. Specifically, the historical power-on data may be input into the trained machine leaning model, and the trained machine leaning model may output the time delay. In some embodiments, the trained machine leaning model may include a deep learning model. Exemplary deep learning models may include a deep neural network (DNN) model, a convolutional Neural Network (CNN) model, a recurrent neural network (RNN) model, a feature pyramid network (FPN) model, a generative adversarial network (GAN) model, or the like, or any combination thereof.

[0065] In some embodiments, the trained machine leaning model may be obtained from the server cluster 100 or an external source via a network (e.g., the network 120) . In some embodiments, the trained machine leaning model may be generated by training a preliminary model (also referred to as first preliminary model) based on a plurality of training samples (also referred as first training samples) . The preliminary model refers to a model to be trained. Each training sample may include historical time delays corresponding to multiple historical power-on processes of a sample computing unit. The historical time delay corresponding to the latest historical power-on process of the sample computing unit can be used as a ground truth (also referred to as a label) for model training, and the remaining historical time delays of the sample computing unit can be used as a model input for model training. The preliminary model may be trained iteratively based on a loss function to obtain the trained machine leaning model.

[0066] In some embodiments, the greater the server workload is, the greater the capacity of the first storage may be. The greater the time delay is, the greater the capacity of the first storage may be. In some embodiments, the capacity of the first storage of the computing unit is determined based on the server workload and the time delay by retrieving a preset table or vector database. The preset table or vector database may reflect a relationship among a time delay, a server workload, and a capacity of the first storage.

[0067] In some embodiments, one computing unit may be determined from the computing units as a main control unit (or referred to as a main computing unit) , and the main control unit may perform subsequent operations 330 and 340. The other computing units are determined as secondary computing units. The server corresponding to the main control unit is referred to as a main server, and the other servers corresponding to the secondary computing units are referred to as secondary servers. The storage unit corresponding to the main control unit is referred to as a main storage unit, and the other storage units corresponding to the secondary computing units are referred to as secondary storage units.

[0068] In some embodiments, the main control unit may be determined according to performances, configurations, etc., of the computing units. In some embodiments, a computing unit is randomly selected from the computing units as the main control unit. For example, for each computing unit, a random number corresponding to the computing unit is generated and is further compared with the random numbers corresponding to other computing units to determine the main control unit. For example, the computing unit with the largest or smallest random number is elected as the main control unit. As another example, the computing units communicate with each other and conduct voting. Each computing unit casts its own vote to another computing unit, and the computing unit with the most votes is determined as the main control unit. In some embodiments, the main server is selected in a similar manner as how the main control unit is selected described above, and the computing unit corresponding to the main server is determined as the main control unit.

[0069] In some embodiments, the computing units that have been powered on within a preset time are determined as target computing units, and operations 330 and 340 may be performed for the target computing units. Servers corresponding to the target computing units are referred to as target servers, and storage units corresponding to the target computing units are referred to as target storage units. For example, if X computing units among Z computing units have been powered on within the preset time (wherein X is smaller than or equal to Z) , the X computing units are determined as the target computing units. The main control unit is determined from the X target computing units, and the main control unit may perform the operations 330 and 340.

[0070] In 330, the main control unit may determine a power-on sequence of the second storages based on a power threshold (also referred to as a first power threshold) and device information of the second storages of the servers.

[0071] The second storages may be powered on in multiple batches. Each batch includes one or more target storages to be powered on among the second storages. The power-on sequence indicates the target storage (s) corresponding to each batch and a power-on sequence of the multiple batches. For example, if the second storages include storages S1-S9, the power-on sequence may indicate that S1-S3 are included in the first batch, S4-S6 are included in the second batch, S7-S9 are included in the third batch, and the first, second, and third batches are powered on in sequence.

[0072] In some embodiments, determining the power-on sequence (i.e., operation 330) and powering on the second storages according the power-on sequence (i.e., operation 340) are performed alternately or concurrently. For example, once the target storages in a specific batch are determined, the main control unit may perform operation 340 to power on the target storages in the batch. After or during the power-on process of the target storages in the batch, the main control unit may repeat operation 330 to determine the target storages in the next batch. In some embodiments, after the target storage (s) corresponding to each batch and the power-on sequence of the multiple batches are determined, the main control units perform operation 340 on the multiple batches in sequence.

[0073] In some embodiments, the first power threshold is determined based on a maximum power of the power supply device 110 that supplies power for the server cluster 100. For example, the first power threshold is equal to or smaller than the maximum power of the power supply device 110 that supplies power for the server cluster 100. The device information of the second storages may include a loading speed, a power-on power consumption, a device number, a power-on status, etc., of each second storage, and power-on strategy information of the second storages of each storage unit, or the like, or any combination thereof. The power-on status of the second storage includes a powered-on state and a powered-off state. As described in FIG. 1, in some embodiments, the second storages of a storage unit may be divided into a plurality of groups, each group includes one or more second storages. The power-on strategy information of each storage unit includes the total number of second storages in the storage unit, the number of groups, and the number of second storages in each group, etc. When each server leaves the factory, the power-on strategy information of the storage unit of the server is preset according to the maximum power of a power module that supplies power for the server. The purpose is to avoid exceeding the maximum power of the power module when powering on, causing the power module to be unable to start due to overcurrent.

[0074] In some embodiments, the device information of the second storages may be stored into a storage unit information table, which will be described in detail in connection with FIG. 7.

[0075] In some embodiments, for each batch, the main control unit may determine target storages to be powered on in the batch among second storages that have not been powered on based on one or more of the first power threshold, the device information of the second storages, status data of the computing units and / or second storages that have been powered on. The status data of the computing units may include a first power consumption of each computing unit when it is running stably. The status data of second storages that have been powered on may include a second power consumption of each second storage that has been powered on when it is running stably. In some embodiments, for a computing unit, the main control unit may obtain a current value and the rated voltage of a power supply module of the computing unit, and further determine the first power consumption according to the current value and the rated voltage. Similarly, in some embodiments, for a second storage that has been powered on, the main control unit may obtain a current value and the rated voltage of a power supply module of the second storage, and further determine the second power consumption according to the current value and the rated voltage.

[0076] Specifically, for the first batch, the main control unit may determine target storages to be powered on in the first batch among second storages based on the first power threshold, the device information of the second storages, and status data of the computing units. For each batch other than the first batch, the main control unit may determine target storages to be powered on in the batch among second storages that have not been powered on based on the first power threshold, the device information of the second storages, status data of the computing units and second storages that have been powered on.

[0077] In some embodiments, for each batch, the main control unit may determine a second power threshold corresponding to the batch based on the first power threshold and the status data of the computing units and / or second storages that have been powered on, and further determine the target storages corresponding to the batch based on the second power threshold and the device information of the second storages. The second power threshold refers to a maximum value of a sum of the second power-on power consumptions of the second storages that can be powered on in the batch.

[0078] For example, for the first batch, the main control unit may determine the second power threshold corresponding to the first batch according to the first power threshold and the first power consumptions of the computing units using the following Equation (1) : P1=k* (P0-b1) ,   (1) where, P1 denotes the second power threshold, the k denotes a coefficient which is greater than 0 and  smaller than or equal to 1, P0 denotes the first power threshold, and b1 denotes a sum of the first power consumptions of the computing units.

[0079] As another example, for each batch other than the first batch, the main control unit may determine the second power threshold corresponding to the batch according to the first power threshold and the first power consumptions of the computing units and the second power consumptions of the second storages that have been powered on using the following Equation (2) : P1=k* (P0-b1-b2) ,   (2) where, b2 denotes a sum of the second power consumptions of the second storages that have been powered  on. In some embodiments, k may be preset according to needs. In some embodiments, values of k corresponding to different batches may the same. In some embodiments, values of k corresponding to different batches are different. For example, values of k corresponding to the earlier batches are relatively large, while values of k corresponding to the later batches are relatively small.

[0080] Further, the main control unit may determine the target storages corresponding to the batch among second storages that have not been powered on such that a sum of the second power-on power consumptions of the target storages is smaller than or equal to the second power threshold corresponding to the batch. In some embodiments, the main control unit may determine a number M based on the second power threshold and the second power-on power consumptions of the second storages that have not been powered on according to the following Equation (3) : where, M is an integer greater than or equal to 1, b3 denotes the average of the second power-on power  consumptions of second storages that have not been powered on.

[0081] Then, the main control unit may randomly select M second storages among second storages that have not been powered on, and determine whether a sum of the second power-on power consumptions of the M second storages is smaller than or equal to the second power threshold. In response to determining that the sum of second power-on power consumptions of the M second storages is smaller than or equal to the second power threshold, the main control unit may determine the M second storages as the target storages. In response to determining that the sum of the second power-on power consumptions of the M second storages is greater than the second power threshold, the main control unit may select other M second storages, and determine whether a sum of the second power-on power consumptions of the other M second storages is smaller than or equal to the second power threshold. In some embodiments, at least a portion of the M second storages belong to different storage units. In some embodiments, the M second storages may be determined in a similar manner as the determination of the M first target storages as described in connection with operation 420.

[0082] In some embodiments, as described in FIG. 1, the second storages of the storage unit are divided into a plurality of groups. For each batch, the main control unit may determine one or more target groups corresponding to the batch, and designate at least a portion of the second storages in the one or more target groups as the target storages to be powered on in the batch. In some embodiments, for each batch, the main control unit may determine the target group (s) among the groups that have not been powered on based on the first power threshold, the device information of the second storages, and status data of the computing units and / or second storages in groups that have been powered on. In some embodiments, the main control unit may determine a second power threshold based on the first power threshold and status data of the computing units and / or second storages in the groups that have been powered on. Further, the main control unit may determine the target group (s) based on the second power threshold and the device information of the second storages. For example, for the first batch, the main control unit may determine the second power threshold using the Equation (1) . For each batch other than the first batch, the main control unit may determine the second power threshold using the Equation (2) .

[0083] Further, the main control unit may determine the target group (s) such that a sum of the power-on power consumptions of the target storages in the target group (s) is smaller than or equal to the second power threshold. For example, the main control unit may determine a number M according to the Equation (3) . Then, the main control unit may determine H groups among the groups that have not been powered on according to the power-on strategy information of each storage unit. H is smaller than M, and the H groups correspond to different storage units. Further, the main control unit may select M second storages among H groups, and determine whether a sum of the second power-on power consumptions of the M second storages is smaller than or equal to the second power threshold. In response to determining that the sum of the second power-on power consumptions of the M second storages is smaller than or equal to the second power threshold, the main control unit may determine the H groups as the target group (s) , and the M second storages as the target storages of the target group (s) . In response to determining that the sum of the second power-on power consumptions of the M second storages is greater than the second power threshold, the main control unit may select other groups that have not been powered on or other M second storages in the H groups, and further repeat the above operations until determine the target group (s) .

[0084] In some embodiments, the power-on sequence may be determined such that other second storages are powered on after a first target storage of the one or more second storages in each storage unit is powered on. The first target storage of each storage unit is a second storage that is powered on first among the one or more second storages in the storage unit. In other words, according to the power-on sequence, one second storage (i.e., the first target storage) is powered on first in each storage unit, and only after the first target storage is powered on, other second storages of the storage unit are powered on.

[0085] In some embodiments, for each storage unit, the main control unit randomly selects a second storage among the one or more second storages of the storage unit as the first target storage. In some embodiments, the main control unit selects a second storage among the one or more second storages as the first target storage based on operational requirements or the device information of the one or more second storages of the storage unit. For example, the main control unit selects a second storage with the minimum power-on power consumption as the first target storage. This ensures that the first target storage of each computing unit can be powered on with priority, mitigating (or eliminating) the risk of data loss caused by the first storage of the computing unit reaching capacity before its first target storage has been powered on.

[0086] In some embodiments, the main control unit may determine whether a first power-on condition is satisfied based on the first power threshold and the device information of the second storages. The first power-on condition includes that a sum of the minimum second power-on power consumption of each storage unit is smaller than or equal to a difference between the first power threshold and a sum of the first power consumptions of the computing units.

[0087] In response to determining that the first power-on condition is satisfied, the main control unit may determine the first target storages as target storages to be powered on in the first batch and perform operation 340. In response to determining that the first power-on condition is not satisfied, the main control unit may determine the first target storage of each storage unit and a power-on sequence of the first target storages of the storage units based on the first power threshold and the device information of the second storages. More descriptions regarding the determination of the first target storages and the power-on sequence of the first target storages may be found elsewhere in the present disclosure (e.g., FIG. 4 and the descriptions thereof) .

[0088] In 340, the main control unit may power on the second storages according to the power-on sequence.

[0089] In some embodiments, for each batch, after target storages to be powered on in the batch are determined, the main control unit may send a power-on instruction to the computing units corresponding to the target storages to be powered on. The computing units may control the target storages to power on. In some embodiments, the main control unit may directly control the target storages to power on.

[0090] In 350, the servers 130 may store the operational data from the first storages into the second storages.

[0091] In some embodiments, for each storage unit, the corresponding computing unit may store the operational data from the first storage into the one or more second storages that have been powered on. After the operational data in the first storage are stored into the one or more second storages that have been powered on, new operational data of the computing unit may be stored into the one or more second storages that have been powered on directly.

[0092] As described elsewhere in the present disclosure, according to the conventional approaches for powering on a server cluster, servers of the server cluster are powered on in sequence, resulting in prohibitively long total power-on duration, severely impacting data storage services, particularly in video surveillance systems where extended boot time directly correlates with irreversible video footage loss. Compared with the conventional power-on approaches, according to the methods of the present disclosure, the computing units of the server cluster can be powered on simultaneously to perform tasks of the server cluster as soon as possible, and the second storages can be powered on in multiple batches according to the power-on sequence. This can prevent excessive power-on power consumption in the server cluster to avoid the power surge phenomena in power supply device of the cluster, and also avoid or reduce the loss of the operational data of the servers.

[0093] FIG. 4 is a flowchart illustrating an exemplary process 400 for determining first target storages according to some embodiments of the present disclosure. In some embodiments, one or more operations of the process 400 may be performed to achieve at least part of operation 330 as described in connection with FIG. 3.

[0094] In 410, the main control unit may determine, based on the power threshold and the device information of the second storages, whether a first power-on condition is satisfied.

[0095] As described in FIG. 3, the first power-on condition includes that a sum of the minimum second power-on power consumption of each storage unit is smaller than or equal to a difference between the first power threshold and a sum of the first power consumptions of the computing units. If the first power-on condition is satisfied, the second storage with the minimum second power-on power consumption of each storage unit may be designated as the first target storage of the storage unit, and the first target storages of the storage units may be powered on simultaneously. If the first power-on condition is not satisfied, operation 420 may be performed to determine the first target storages of the storage units, and the first target storages of the storage units may be powered on in batches.

[0096] In 420, in response to determining that the first power-on condition is not satisfied, the main control unit may determine the first target storage of each storage unit and a power-on sequence of the first target storages of the storage units based on the power threshold and the device information of the second storages. That is, the first target storages need to be powered on in a plurality of batches. These batches correspond to the initial batches (e.g., the first three batches) in in operation 330 in FIG. 3. For example, if the first target storages are divided into 3 batches, these batches are the first three batches among the batches of the second storages determined in operation 330 in FIG. 3.

[0097] As described in connection with operation 330, the device information of the second storages may include a loading speed, a power-on power consumption, a device number, a power-on status, etc., of each second storage. In some embodiments, the first target storage of each storage unit and the power-on sequence of the first target storages are determined further based on at least one of a capacity of the first storage of each computing unit, a generation speed of the operational data of each computing unit, or the loading speed of each second storage. As used herein, the loading speed of a second storage refers to a speed at which the second storage is powered on and starts up.

[0098] In some embodiments, the generation speed of the operational data of each computing unit may be determined according to one or more operational features of the computing unit. As used herein, the generation speed of the operational data of each computing unit refers to a speed at which the computing unit acquires or generates data. Exemplary operational features of the computing unit include a type of data processing operations performed by the computing unit, parameters of devices (e.g., an image capture device) that each computing unit receives data from, or the like. The parameters of devices may include an amount of devices, performance parameters of each device (e.g., imaging parameters of the image capture device) , or the like.

[0099] In some embodiments, the generation speed of the operational data of each computing unit is determined by processing the one or more operational features of the computing unit using a second trained machine leaning model. Specifically, the one or more operational features of the computing unit may be input into the second trained machine leaning model, and the second trained machine leaning model may output the generation speed of the operational data of the computing unit. In some embodiments, the operational features of a plurality of computing units may be input into the second trained machine leaning model simultaneously, and the second trained machine leaning model may output the generation speed of the operational data of each computing unit of the plurality of computing units. In some embodiments, the second trained machine leaning model may include a deep learning model (e.g., the exemplary deep learning models as described in connection with operation 320.

[0100] In some embodiments, the second trained machine leaning model may be obtained from the server cluster 100 or an external source via a network (e.g., the network 120) . In some embodiments, the second trained machine leaning model may be generated by training a second preliminary model based on a plurality of second training samples. The second preliminary model refers to a model to be trained. Each second training sample may include one or more sample operational features of a sample computing unit and a reference generation speed of operational data of the sample computing unit, wherein the reference generation speed of operational data can be used as a ground truth (also referred to as a label) for model training. In some embodiments, the one or more sample operational features of the sample computing unit and the reference generation speed of operational data of the sample computing unit may be determined based on historical operation data of the sample computing unit. The historical operation data may include historical operational features of the sample computing unit at a historical time and a historical generation speed of operational data at the historical time. The historical operational features of the sample computing unit at the historical time may be used as the one or more sample operational features, and the historical generation speed of operational data at the historical time may be used as the reference generation speed of operational data. The second preliminary model may be trained iteratively based on a loss function to obtain the second trained machine leaning model.

[0101] Since the second trained machine leaning model can learn the optimal mechanism for determining generation speed of operational data based on a large amount of data, the generation speed of the operational data determined using the second trained machine leaning model may be relatively accurate.

[0102] In some embodiments, the main control unit may determine the first target storage of each storage unit and the power-on sequence of the first target storages of the storage units based on the power threshold, the capacity of the first storage of each computing unit, the generation speed of the operational data of each computing unit, and the loading speed of each second storage.

[0103] For example, FIG. 5 is a schematic diagram illustrating an exemplary process 500 for determining first target storages in a batch according to some embodiments of the present disclosure. As shown in FIG. 5, the cluster server 100 includes N servers, that is, the cluster server 100 includes N storage units (i.e., storage units 1, 2, …, N) . As described in connection with operation 330, the main control unit may determine the number M of the second storages to be powered on (e.g., the first target storages) in the batch.

[0104] In some embodiments, the main control unit may randomly select M storage units (i.e., storage units 1, 2, …, M) among storage units whose first target storages have not been powered on. For brevity, the storage units whose first target storages have not been powered on may be referred to as candidate storage units, and computing units corresponding to the candidate storage units may be referred to as candidate computing units. In some embodiments, the main control unit may determine the M storage units based on the capacity of the first storage of each candidate computing unit and the generation speed of the operational data of each candidate computing unit. Specifically, for each candidate computing unit, the main control unit may determine a score of the candidate computing unit according to the capacity of the first storage of the candidate computing unit and the generation speed of the operational data of the candidate computing unit. If the capacity of the first storage of a computing unit is smaller and the generation speed of the operational data of the computing unit is greater, the first storage of the computing unit will be filled up faster. Therefore, the second storages corresponding to the computing unit need to be started as soon as possible to store the operational data for avoiding the loss of the operational data. In some embodiments, the smaller the capacity of the first storage of the candidate computing unit is, the greater the score of the candidate computing unit may be. The greater the generation speed of the operational data of the candidate computing unit, the greater the score of the candidate computing unit may be. The main control unit may determine the top M candidate computing units in descending order of scores, and designate the M candidate storage units corresponding to the M candidate computing units as the M storage units.

[0105] Further, for each storage unit of the M storage units, the main control unit may determine the first target storage among the second storage (s) of the storage unit. That is, the M storage units 1, 2, …, M include first target storages 1, 2, …, M, respectively. In some embodiments, the main control unit may randomly select a second storage from the one or more second storages of the storage unit as the first target storage. In some embodiments, the main control unit may determine the first target storage based on the loading speed of each second storage in the storage unit. For example, the main control unit may determine the second storage with the maximum loading speed as the first target storage.

[0106] Then, the main control unit may determine whether a second power-on condition is satisfied. For the first batch, the second power-on condition includes that a sum of the second power-on power consumptions of the M first target storages is smaller than or equal to a difference between the first power threshold and a sum of the first power consumptions of the computing units. For each batch other than the first batch, the second power-on condition includes that a sum of the second power-on power consumptions of the M first target storages is smaller than or equal to a difference between the first power threshold and a sum of the first power consumptions of the computing units and the second power consumptions of the second storages that have been powered on.

[0107] In response to determining that the second power-on condition is satisfied, the main control unit may power on the M first target storages. After the M first target storages are powered on, the main control unit may repeat the above operations to determine first target storages in the next batch.

[0108] In some embodiments, in response to determining that the second power-on condition is not satisfied, the main control unit may reselect M new storage units from the candidate storage units and determine M first target storages of the M new storage units, until the second power-on condition is satisfied. In some embodiments, in response to determining that the second power-on condition is not satisfied, for each of at least a portion of the M storage units, the main control unit may determine a new first target storage of the storage unit until the second power-on condition is satisfied.

[0109] According to some embodiments of the present disclosure, the first target storage of each storage unit and the power-on sequence of the first target storages can be determined based on the capacity of the first storage of each computing unit, the generation speed of the operational data of each computing unit, and the loading speed of each second storage. In this way, the power-on efficiency can be improved and the loss of the operational data of the servers can be reduced or avoided.

[0110] FIG. 6 is a schematic diagram illustrating an exemplary server 130 according to some embodiments of the present disclosure.

[0111] As shown in FIG. 6, the server 130 includes a computing unit 131 and a storage unit 132. The computing unit 131 includes a first storage 1311 and a processor (e.g., a CPU) 1312. The processor 1312 is connected to the first storage 1311. When the storage unit 132 is not started, operational data generated by the processor 1312 is stored in the first storage 1311. The storage unit 132 includes second storages. In some embodiments, the server 130 also includes a power supply module. Due to the limit of the maximum power of the power supply module, second storages of the storage unit 132 are divided into a plurality of groups. Each group includes one or more second storages. The plurality of groups are powered on in batches. That is, only one group can be powered on at one batch for each storage unit. In some embodiments, the power-on power consumption of each group is smaller than or equal to the maximum power of the power supply module. For example, as shown in FIG. 6, the storage unit 132 includes groups 1, 2, and 3. Each group of the groups 1, 2, and 3 includes one or more hard disks (i.e., second storages) . The processor 1312 controls the power-on process or startup of the groups 1, 2, and 3 through power switches 1, 2, and 3. In some embodiment, the processor 1312 of the computing unit 131 controls the power switch 1-3 through the IO signal (i.e., IO1, IO2, and IO3) , and then controls the power-on process of each batch of hard disks. It can be understood that the storage unit 132 can be divided into multiple groups according to the power limit of the power supply module of the server 130, such as 4 groups, 5 groups, 6 groups, etc., which are not specifically limited here.

[0112] FIG. 7 is a flowchart illustrating an exemplary process 700 for powering on the server cluster 100 according to some embodiments of the present disclosure.

[0113] As described in FIG. 3, the computing units that have been powered on within a preset time are determined as target computing units. Servers corresponding to the target computing units are referred to as target servers, and storage units corresponding to the target computing units are referred to as target storage units.

[0114] In 710, a storage unit information table may be obtained. The storage unit information table may include a device number of each target server, power-on strategy information of the target storage unit of each target server, power-on status of a groups of second storages in the target storage unit of each target server, etc.

[0115] The power supply device 110 powers on the computing units of the servers. The target servers respectively execute the preset election algorithm to determine the main target server and the secondary target servers from the target servers. After determining the main target server and the secondary target servers, the main target server respectively assigns device numbers to the main target server and the secondary target servers. The target computing units of the secondary target servers respectively obtain their own power-on strategy information, and the secondary target servers send their own power-on strategy information and device numbers to the main target server. The target computing unit of the main target server generates the storage unit information table according to the device number of each target server, the power-on strategy information of the target storage unit of each target server, the power-on status of a groups of second storages in the target storage units of each target server. That is, the storage unit information table includes the device numbers, the power-on strategy information, and the power-on statuses of the groups of the second storages of all target servers, and the power-on strategy information and the power-on statuses of the groups of the second storages of each target server correspond to a unique device number of the target server. The power-on strategy information and the power-on statuses of the groups of the second storages can be stored in the storage unit information table in the order of the device numbers. For example, if the device numbers of Q target servers are B1, B2, . . . BQ, the power-on strategy information and the power-on statuses of the groups of the second storages are stored in the storage unit information table in the order of B1, B2, . . . BQ. The power-on statuses of the groups of the second storages here include a powered status and an unpowered status. The power-on strategy information of a target storage unit may include time-sharing power-on strategy information of the target storage unit. When the corresponding target computing unit is powered on, the target computing unit can obtain the time-sharing power-on strategy information of its corresponding target server. The time-sharing power-on strategy information includes the total number of second storages (e.g., hard disks) of its corresponding target server, a number of groups, and a number of second storages in each group.

[0116] In 720, in response to determining that there are one or more target servers whose target storage units have not been powered on, current power consumptions of the target servers are obtained.

[0117] The target computing unit of the main target server may determine whether the target storage units of all the target servers have been powered on according to the power-on statuses of the groups of the second storages in each target storage unit in the storage unit information table. For example, when there are one or more target servers whose the target storage units have not been powered on among the Q target servers, the target computing unit of the main target server may obtains the current power consumptions of the Q target servers. The current power consumptions of the target servers obtained here include the current power consumptions of the Q target servers. The processor of each target server may read a current value of a power module or a power supply module of each target server at the current moment. The current power consumption can be determined according to the current value and the rated voltage of the power module or the power supply module. The current power consumption of each target server is added to obtain the current total power consumption of the Q target servers. In some embodiments, the current total power consumption of the Q target servers is equal to the sum of the first power consumption (i.e., the power consumption of the computing unit) and the second power consumptions (i.e., the power consumptions of the second storages that have been powered on) of each target server.

[0118] In 730, power-on information of a next batch to be powered on is determined according to a total power of the server cluster 100 (also referred to as the first power threshold) , the current total power consumption of the target servers, and the storage unit information table.

[0119] The target computing unit of the main target server may determine the power-on information of the next batch according to the total power of the server cluster 100, the current total power consumption of the target servers, and the storage unit information table. The total power of the server cluster 100 may be determined according to the maximum power of the power supply device 110 that supplies power for the server cluster. The maximum power of the power supply device may be determined based on the performance parameters of the power supply device 110 of the server cluster 100. More descriptions regarding the determination of the power-on information of the next batch to be powered on may be found elsewhere in the present disclosure (e.g., FIG. 8 and the descriptions thereof) .

[0120] According to the method of the process 700, the computing units of the servers can be powered on first. The target servers respectively execute a preset election algorithm to determine the main target server and secondary target servers from the target servers, and the storage unit information table can be obtained through the target computing unit of the main target server. The storage unit information table includes the device numbers of the target servers, the power-on strategy information of the target storage units of the target servers, and the power-on statuses of the groups of the second storages in each target storage unit of the target servers. When there are one or more target servers whose target storage units have not been powered on, the target computing unit of the main target server may obtain the current power consumptions of the target servers, and the target computing unit of the main target server determines the power-on information of the next batch according to the total power of the server cluster 100, the current total power consumptions of the target servers, and the storage unit information table. According to the conventional power-on approaches, when all server are powered on together, the power consumption peaks of all servers are superimposed, which puts a very large pressure on the power supply of the computer room or the server cluster 100, thereby causing a surge in the power supply device 110 of the server cluster 100. Some embodiments of present disclosure enable the servers in the server cluster to be powered on in batches, thereby reducing the power peak of the server cluster 100 during the power-on process, and solving the problems of conventional power-on approaches.

[0121] FIG. 8 is a flowchart illustrating an exemplary process 800 for determining power-on information of the next batch to be powered on according to some embodiments of the present disclosure.

[0122] In 810, a power peak value of the next batch is determined according to the total power of the server cluster 100 and the current total power consumption of the target servers.

[0123] In 820, the power-on information of the next batch to be powered on is determined according to the power peak value of the next batch and the storage unit information table.

[0124] In some embodiments, the target computing unit of the main target server may determine a difference between the total power of the server cluster 100 and the current total power consumption of target servers as the power peak value of the next batch. In some embodiments, the power peak value is the second power threshold as described in connection with FIG. 3. The target computing unit of the main target server may further determine the power-on information of the next batch based on the power peak value of the next batch and the storage unit information table.

[0125] In some embodiments, the target storage unit of each target server includes one or more groups, and each group includes one or more second storages. The power-on information of the next batch is determined according to the power peak value of the next batch and the storage unit information table according to the following operations. A number of second storages that can be powered on in the next batch may be determined according to the power peak value of the next batch and the average of the second power-on consumptions of the second storages that have not been powered on according to Equation (3) , wherein the power peak value is the P1. The target servers to be powered on in the next batch and the groups to be powered on in the target servers to be powered on (or the second storages to be powered on) may be determined according to the number of second storages that can be powered on in the next batch and the storage unit information table.

[0126] In some embodiments, for each batch, at most one group in each target server is powered on. For example, the target computing unit of the main target server determines that the number of second storages that can be powered on in the next batch is L based on the power peak value of the next batch and the average of the second power-on consumptions of the second storages that have not been powered on. It is assumed that the device number of the first target server to be powered on in the next batch is B2 and the group of the target storage unit to be powered on is the second group via retrieving the storage unit information table. If a sum of the second storages of the second groups of the target servers with device number B2-B6 is greater than L, and a sum of the second storages of the second groups of the target servers with device numbers B2-B5 is less than L, then it is determined that the target servers with device numbers B2-B5 are the target servers to be powered on in the next batch, and the second groups of the target servers with device numbers B2-B5 are determined as the groups to be powered on in the target servers to be powered on in the next batch. As another example, the target computing unit of the main target server determines that the number of second storages that can be powered on in the next batch is L based on the power peak value of the next batch and the average of the second power-on consumptions of the second storages that have not been powered on. It is assumed that the device number of the first target server to be powered on in the next batch is B2 and the group of the target storage unit to be powered on is the second group via retrieving the storage unit information table. If the sum of the number of second storages in the second groups of the target servers with device numbers B2-B5 is L1, where L1 is less than L, then the target servers with device numbers B2-B6 are determined to as the target servers to be powered on in the next batch, and all the second storages in the second groups of the target servers with device numbers B2-B5 and (L-L1) second storages in the second group of the target server with device number B6 are determined as be the second storages to be powered on in the next batch. According to this embodiment, the number of second storages that can be powered on in the next batch is determined through the power peak value of the next batch and the average of the second power-on consumptions of the second storages that have not been powered on, and then the next batch is determined based on the number of second storages that can be powered on in the next batch and the storage unit information table, thereby improving the power-on efficiency of the server cluster while avoiding power surges.

[0127] In some embodiments, the next batch includes one or more groups to be powered on. If the one or more groups to be powered on include multiple groups, and the multiple groups are from different target servers.

[0128] In some embodiments, the target servers include a main target server and secondary target servers. After determining the power-on information of the next batch, the method also includes: sending the power-on information of the next batch to the corresponding secondary target servers; and / or, starting the target storage unit of the main target server according to the power-on information of the next batch.

[0129] In some embodiments, after the target computing unit of the main target server determines the power-on information of the next batch, it sends the power-on information of the next batch to the corresponding secondary target servers. The main target server powers on the target storage unit of the main target server according to the power-on information, and the secondary target servers power on the target storage units of the secondary target servers according to the power-on information of the next batch. Alternatively, after the target computing unit of the main target server determines the power-on information of the next batch, it sends the power-on information of the next batch to the corresponding secondary target servers, and the secondary target servers power on the target storage units of the secondary target servers according to the power-on information of the next batch. Alternatively, after the target computing unit of the main target server determines the power-on information of the next batch, it powers on the target storage unit of the main target server according to the power-on information.

[0130] In some embodiments, the method includes updating the storage unit information table according to the power-on result of the current batch.

[0131] In some embodiments, the target computing unit of the main target server updates the storage unit information table according to the power-on result of the current batch. After the current batch is powered on, for the secondary target servers involved in the current batch, the target computing unit of the secondary target servers obtains the power-on status of the groups of its own target storage unit, and sends the power-on status to the main target server. The power-on status of the groups of the target storage unit of the main target server may be obtained. The storage unit information table may be updated according to the power-on statuses of the groups of the target storage units of the secondary target servers of the current batch and / or the power-on status of the groups of the target storage unit of the main target server of the current batch. The updated storage unit information table is used to determine the power-on information of the next batch.

[0132] In some embodiments, the target servers include a main target server and secondary target servers, the target computing unit of each target server also includes a first storage, and the method also includes: after the target storage unit of the main target server is powered on, the data stored in the first storage may be stored into the target storage unit of the main target server.

[0133] In some embodiments, after the target storage unit of the main target server is powered on, the target computing unit of the main target server writes the data stored in the first storage into the target storage unit of the main target server for storage, thereby ensuring data integrity.

[0134] FIG. 9 is a flowchart illustrating an exemplary process 900 for powering on the server cluster 100 according to some embodiments of the present disclosure.

[0135] In 910, the power supply device 110 powers on computing units of the servers.

[0136] The power supply device 110 may control the power-on process of the computing units of the servers in the server cluster 100. The power supply device 110 can control the computing units of the servers to start or power on simultaneously, or can control the computing units of the servers to start or power on in batches. After the computing units of the servers are powered on, power-on control signals are not sent to the corresponding storage units, and the storage units are powered on after the main server sends the corresponding power-on instructions, that is, only the computing units are powered on or powered on in the current stage.

[0137] In 920, the target servers among the servers respectively execute a preset election algorithm to determine a main target server and secondary target servers from the target servers.

[0138] In 930, the main target server determines the power-on information of the next batch.

[0139] In some embodiments, the main target server may execute the methods for powering on the server cluster 100 in any of the above-mentioned embodiments to generate the power-on information for the next batch.

[0140] In 940, the plurality of secondary target servers receive the power-on information of the next batch sent by the main target server, and the target servers are powered on according to the power-on information.

[0141] According to some embodiments of the present disclosure, the computing units of the servers can be powered on first. The target servers respectively execute a preset election algorithm to determine the main target server and secondary target servers from the target servers, and the storage unit information table can be obtained through the target computing unit of the main target server. The storage unit information table includes the device numbers of the target servers, the power-on strategy information of the target storage units of the target servers, and the power-on statuses of the groups of the second storages in each target storage unit of the target servers. When there are one or more target servers whose target storage units have not been powered on, the target computing unit of the main target server may obtain the current power consumptions of the target servers, and the target computing unit of the main target server determines the power-on information of the next batch according to the total power of the server cluster 100, the current total power consumptions of the target servers, and the storage unit information table. According to the conventional power-on approaches, when all server are powered on together, the power consumption peaks of all servers are superimposed, which puts a very large pressure on the power supply of the computer room or the server cluster 100, thereby causing a surge in the power supply device 110 of the server cluster 100. Some embodiments of present disclosure enable the servers in the server cluster to be powered on in batches, thereby reducing the power peak of the server cluster 100 during the power-on process, and solving the problems of conventional power-on approaches.

[0142] An exemplary embodiment of the present disclosure is described and illustrated below.

[0143] When each server leaves the factory, the time-sharing power-on strategy of the second storages of the server will be preset according to the power of its power module. The purpose is to avoid exceeding the total power of the power module when the server is powered on, causing the power module to be unable to start due to overcurrent. For example, as shown in FIG. 6, it is assumed that the second storages of the server are divided into 3 groups for powering-on, and the processor 1312 controls the power-on process through IO signals. The city power is connected to the server cluster 100, and the computing units of all servers are powered at the same time. Each computing unit includes a processor, a first storage, network interfaces, etc. The computing units of the servers start working, and the storage units of servers are not powered on by default, waiting for the computing units to send IO control signals. Since the storage units are not running at this time, the servers first pre-store data (e.g., video data) in the first storages (e.g., SSD solid state) of the computing units to ensure that the servers are powered on at the same time to start normal operations. Each server starts working and forms a local area network through a network switch. The main target server and secondary target servers are selected and numbered in the local area network through a preset election algorithm. For example, the number of the selected main target server is B1, and the other servers are numbered B2, B3, . . ., BM in sequence. The main target server obtains the number information of other target servers, the time-sharing power-on strategy (e.g., a number of groups, the number of second storages in each group, etc. ) of the second storages of each server and other information through the network. After the main target server obtains these time-sharing power-on strategy information, the main target server may build the second storages of the servers into a total second storage pool based on the total power of the server cluster 100 and stable power consumptions when the servers are running stably, and generate a storage unit information table corresponding to the total second storage pool, and then determine the staggered power-on strategy (i.e., the power-on sequence of the second storages) for the entire second storage pool. The target computing unit of the main target server determines the power-on sequence of the second storages based on the total power of the server cluster 100, the power consumptions of the target servers during current operation, and the estimated peak value of each batch of second storages, to ensure that the power-on power consumptions of each batch of second storages will not exceed the first power threshold. The device numbers of all target servers are B1, B2, . . . BM, and it is assumed that for each server, the second storages are divided into 3 groups. For the target server with the device number B1, its second storages are divided into groups a1, b1, c1, which will be powered on in a preset power-on sequence a1, b1, c1. For the target server with the device number B2, its second storages are divided into groups a2, b2, c2, which will be powered on in a preset power-on sequence a2, b2, c2. For the target server with the device number BM, its second storages are divided into groups am, bm, cm, which will be powered on in a preset power-on sequence am, bm, cm, and so on. The staggered power-on strategy may satisfy that the total power consumption of all servers cannot exceed the total power of the server cluster 100, and that the total power consumption of a single target server cannot exceed the maximum power of the power module.

[0144] For example, assuming that the total power of the server cluster 100 is QT, before the first batch of second storages are powered on, the total power consumption (i.e., the sum of the first power consumptions described in FIG. 3) of the computing units of the servers is Q0 (the computing units of the servers are powered on first, and the storage units of the servers are not powered on) . The total second storage pool of the servers is divided into batches for powering on, that is, the total second storage pool of the servers is powered on in batches. At the same time, each server is restricted to powering on only one group of second storages at a time, concurrent activation of multiple groups within the same server is prohibited. Then, the sum Q of the second power-on consumptions of the second storages to be powered on in the first batch must be satisfy the condition Q<QT -Q0. Before the second batch of second storages are powered on, the main target server obtains the current total power consumption Q1 of the servers through the network. The current total power consumption Q1 of the servers includes Q0 and the total power consumption (i.e., the sum of the second power consumptions described in FIG. 3) of the second storages powered on in the first batch. Then, the sum Q of the second power-on consumptions of the second storages to be powered on in the second batch must meet the condition Q< QT -Q1. The same logic is applied until all storage units of the server are powered on, that is, all second storages in the second storage pool are powered on. In order to ensure the margin, a power threshold (i.e., the first power threshold) may be determined based on the total power of the server cluster 100, for example, the first power threshold is equal to 80%QT. For example, the number of the second storages to be powered on in each batch may be determined according to the following Equation (4) : Y=(80%*QT–Q1)  / X,   (4) where, Y denotes the number of the second storages to be powered on in each batch, X denotes the average  of the second power-on power consumptions of second storages that have been not powered on (e.g., 30W maximum power) . Then the corresponding staggered power-on strategy may be determined according to the number Y and the  storage unit information table, that is, the target servers to be powered on in the next batch and the groups to be powered on in the target servers to be powered on may be determined according to the number Y and the storage unit information table; or, the target servers to be powered on in the next batch and the second storages to be powered on in the target servers to be powered on may be determined according to the number Y and the storage unit information table. After the main target server has determined the staggered power-on strategy, the staggered power-on strategy is transmitted to other target servers through the network 120. The target servers control the first batch of second storages (e.g., a1, a2, and a3) to start and power on through IO signals. After the power-on process is completed, the target server B1, the target server B2, and the target server B3 report the real-time power consumption information. After the main target server confirms that the power consumptions of the target servers are stable, it calculates the number Y of second storages to be powered on in the second batch, and then controls the second batch of second storages (e.g., a4, a5. . . an) to power on through the network 120. After the main target server confirms that the power consumptions of the target servers are stable, it calculates the number Y of second storages to be powered on in the third batch, and then controls the third batch of second storages (e.g., b1, a2. . . bn) to power on through the network 120. The same logic is applied until all second storages in the second storage pool are powered on. For each server, when the second storages are loaded, the processor may write the data pre-stored in the first storage (e.g., SSD) to the second storages to ensure the integrity of the data storage data.

[0145] It should be noted that the processes 300, 400, and 700-900 and the descriptions thereof are provided for the purposes of illustration, and not intended to limit the scope of the present disclosure. For persons having ordinary skills in the art, various modifications and changes in the forms and details of the application of the above method and system may occur without departing from the principles of the present disclosure. However, those variations and modifications also fall within the scope of the present disclosure. For example, the operations of the illustrated processes 300, 400, and 700-900 are intended to be illustrative. In some embodiments, the processes 300, 400, and 700-900 may be accomplished with one or more additional operations not described, and / or without one or more of the operations discussed. Additionally, the order in which the operations of the processes 300, 400, and 700-900 and regarding descriptions are not intended to be limiting.

[0146] Having thus described the basic concepts, it may be rather apparent to those skilled in the art after reading this detailed disclosure that the foregoing detailed disclosure is intended to be presented by way of example only and is not limiting. Various alterations, improvements, and modifications may occur and are intended to those skilled in the art, though not expressly stated herein. These alterations, improvements, and modifications are intended to be suggested by this disclosure, and are within the spirit and scope of the exemplary embodiments of this disclosure.

[0147] Moreover, certain terminology has been used to describe embodiments of the present disclosure. For example, the terms “one embodiment, ” “an embodiment, ” and “some embodiments” mean that a particular feature, structure or characteristic described in connection with the embodiment is included in at least one embodiment of the present disclosure. Therefore, it is emphasized and should be appreciated that two or more references to “an embodiment” or “one embodiment” or “an alternative embodiment” in various portions of this specification are not necessarily all referring to the same embodiment. Furthermore, the particular features, structures or characteristics may be combined as suitable in one or more embodiments of the present disclosure.

[0148] Further, it will be appreciated by one skilled in the art, aspects of the present disclosure may be illustrated and described herein in any of a number of patentable classes or context including any new and useful process, machine, manufacture, or composition of matter, or any new and useful improvement thereof. Accordingly, aspects of the present disclosure may be implemented entirely hardware, entirely software (including firmware, resident software, micro-code, etc. ) or combining software and hardware implementation that may all generally be referred to herein as a “module, ” “unit, ” “component, ” “device, ” or “system. ” Furthermore, aspects of the present disclosure may take the form of a computer program product embodied in one or more computer readable media having computer readable program code embodied thereon.

[0149] A computer readable signal medium may include a propagated data signal with computer readable program code embodied therein, for example, in baseband or as part of a carrier wave. Such a propagated signal may take any of a variety of forms, including electro-magnetic, optical, or the like, or any suitable combination thereof. A computer readable signal medium may be any computer readable medium that is not a computer readable storage medium and that may communicate, propagate, or transport a program for use by or in connection with an instruction execution system, apparatus, or device. Program code embodied on a computer readable signal medium may be transmitted using any appropriate medium, including wireless, wireline, optical fiber cable, RF, or the like, or any suitable combination of the foregoing.

[0150] Computer program code for carrying out operations for aspects of the present disclosure may be written in any combination of one or more programming languages, including an subject oriented programming language such as Java, Scala, Smalltalk, Eiffel, JADE, Emerald, C++, C#, VB. NET, Python or the like, conventional procedural programming languages, such as the "C" programming language, Visual Basic, Fortran 2003, Perl, COBOL 2002, PHP, ABAP, dynamic programming languages such as Python, Ruby and Groovy, or other programming languages. The program code may execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server. In the latter scenario, the remote computer may be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN) , or the connection may be made to an external computer (for example, through the Internet using an Internet Service Provider) or in a cloud computing environment or offered as a service such as a Software as a Service (SaaS) .

[0151] Furthermore, the recited order of processing elements or sequences, or the use of numbers, letters, or other designations therefore, is not intended to limit the claimed processes and methods to any order except as may be specified in the claims. Although the above disclosure discusses through various examples what is currently considered to be a variety of useful embodiments of the disclosure, it is to be understood that such detail is solely for that purpose, and that the appended claims are not limited to the disclosed embodiments, but, on the contrary, are intended to cover modifications and equivalent arrangements that are within the spirit and scope of the disclosed embodiments. For example, although the implementation of various components described above may be embodied in a hardware device, it may also be implemented as a software only solution, e.g., an installation on an existing server or mobile device.

[0152] Similarly, it should be appreciated that in the foregoing description of embodiments of the present disclosure, various features are sometimes grouped together in a single embodiment, figure, or description thereof for the purpose of streamlining the disclosure aiding in the understanding of one or more of the various embodiments. This method of disclosure, however, is not to be interpreted as reflecting an intention that the claimed subject matter requires more features than are expressly recited in each claim. Rather, claim subject matter lie in less than all features of a single foregoing disclosed embodiment.

[0153] In some embodiments, the numbers expressing quantities or properties used to describe and claim certain embodiments of the application are to be understood as being modified in some instances by the term “about, ” “approximate, ” or “substantially. ” For example, “about, ” “approximate, ” or “substantially” may indicate a certain variation (e.g., ±1%, ±5%, ±10%, or ±20%) of the value it describes, unless otherwise stated. Accordingly, in some embodiments, the numerical parameters set forth in the written description and attached claims are approximations that may vary depending upon the desired properties sought to be obtained by a particular embodiment. In some embodiments, the numerical parameters should be construed in light of the number of reported significant digits and by applying ordinary rounding techniques. Notwithstanding that the numerical ranges and parameters setting forth the broad scope of some embodiments of the application are approximations, the numerical values set forth in the specific examples are reported as precisely as practicable. In some embodiments, a classification condition used in classification or determination is provided for illustration purposes and modified according to different situations. For example, a classification condition that “a value is greater than the threshold value” may further include or exclude a condition that “the probability value is equal to the threshold value. ”

Claims

1.A method for powering on a server cluster, the server cluster including servers, each server including a computing unit and a storage unit, the computing unit including a first storage, the storage unit including one or more second storages, a first power-on power consumption of the first storage being lower than a second power-on power consumption of the one or more second storages, and the method comprising:powering on the computing units of the servers in the server cluster;storing operational data of the computing units into their respective first storages;determining, based on a power threshold and device information of the second storages of the servers, a power-on sequence of the second storages, wherein the power threshold is determined based on a maximum power of a power supply device that supplies power for the server cluster;powering on the second storages according to the power-on sequence; andstoring the operational data from the first storages into the second storages.2.The method of the claim 1, wherein for each of at least one of the computing units, a capacity of the first storage of the computing unit is determined by a process comprising:estimating a server workload to be processed by the computing unit;estimating, based on historical power-on data of the computing unit, a time delay, the time delay being a time difference between a first time and a second time, the first time being a time when the last compute unit in the server cluster is powered on, and the second time being a time when at least a portion of the one or more second storages corresponding to the computing unit is powered on;determining, based on the server workload and the time delay, the capacity of the first storage of the computing unit.3.The method of the claim 2, wherein the time delay is determined by processing the historical power-on data using a trained machine leaning model.4.The method of the claim 1, wherein the power-on sequence is determined such that other second storages are powered on after a first target storage of the one or more second storages in each storage unit is powered on, the first target storage of each storage unit is a second storage that is powered on first among the one or more second storages in the storage unit.5.The method of the claim 4, wherein the determining, based on a power threshold and device information of the second storages of the servers, a power-on sequence of the second storages comprises:determining, based on the power threshold and the device information of the second storages, whether a power-on condition is satisfied;in response to determining that the power-on condition is not satisfied, determining the first target storage of each storage unit and a power-on sequence of the first target storages of the storage units based on the power threshold and the device information of the second storages.6.The method of the claim 5, wherein the device information of the second storages include a loading speed of each second storage, andthe first target storage of each storage unit and the power-on sequence of the first target storages are determined further based on at least one of a capacity of the first storage of each computing unit, a generation speed of the operational data of each computing unit, or the loading speed of each second storage.7.The method of the claim 6, wherein the generation speed of the operational data of each computing unit is determined according to one or more operational features of the computing unit.8.The method of the claim 1, wherein the second storages are powered on in multiple batches, andthe determining, based on a power threshold and device information of the second storages, a power-on sequence of second storages comprises:for each batch, determining target storages to be powered on in the batch among second storages that have not been powered on based on the power threshold, the device information of the second storages, status data of the computing units and / or second storages that have been powered on.9.The method of the claim 8, wherein the determining target storages to be powered on in the batch among second storages that have not been powered on based on the power threshold, the device information of the second storages, status data of the computing units and / or second storages that have been powered on comprises:determining a second power threshold based on the power threshold and the status data of the computing units and / or second storages that have been powered on; anddetermining the target storages based on the second power threshold and the device information of the second storages.10.The method of the claim 1, wherein the second storages are powered on in multiple batches, andthe determining, based on a power threshold and device information of the second storages, a power-on sequence of second storages comprises:for each batch, determining one or more target groups among second storages that have not been powered on based on the power threshold, the device information of the second storages, and status data of the computing units and / or second storages that have been powered on, each target group including one or more target storages to be powered on in the batch among second storages that have not been powered on.11.The method of the claim 10, wherein the determining a plurality of target groups based on the power threshold, the device information of the second storages, and status data of second storages that have been powered on comprises:determining a second power threshold based on the power threshold and status data of the computing units and / or second storages that have been powered on; anddetermining the target group (s) based on the second power threshold and the device information of the second storages.12.The method of the claim 1, wherein a main control unit is determined from the computing units, the second storages are powered on in multiple batches, the power-on sequence indicates a sequence of multiple batches, andthe powering on the second storages according to the power-on sequence comprises:for each batch,after target storages to be powered on in the batch are determined, sending, via the main control unit, a power-on instruction to the computing units corresponding to the target storages to be powered on; andcontrolling, via the computing units corresponding to the target storages to be powered on, the target storages to power on.13.The method of the claim 1, wherein the storing operational data of the computing units into their respective first storages comprises:in response to determining that the remaining storage space of at least one first storage among the first storages is zero, storing the operational data of the computing unit including the at least one first storage into a reference storage, the reference storage including at least one other first storage whose remaining storage space is greater 0, or one or more second storages that have been powered on.14.The method of the claim 1, wherein for each of at least one server in the server cluster, the first storage includes a solid-state disk (SSD) and the one or more second storages include a second storage drive (HDD) .15.The method of the claim 14, wherein a capacity of the SSD is smaller than a capacity of the HDD.16.The method of the claim 1, wherein for each of at least one server in the server cluster, the first storage includes a first HDD, the one or more second storages include a second HDD, and a capacity of the first HDD is smaller than a capacity of the second HDD.17.A system for powering on a server cluster, the server cluster including servers, each server including a computing unit and a storage unit, the computing unit including a first storage, the storage unit including one or more second storages, a first power-on power consumption of the first storage being lower than a second power-on power consumption of the one or more second storages, wherein the system is configured to:power on the computing units of the servers in the server cluster;store operational data of the computing units into their respective first storages;determine, based on a power threshold and device information of the second storages of the servers, a power-on sequence of the second storages, wherein the power threshold is determined based on a maximum power of a power supply device that supplies power for the server cluster;power on the second storages according to the power-on sequence; andstore the operational data from the first storages into the second storages.18.The system of the claim 17, wherein the power-on sequence is determined such that other second storages are powered on after a first target storage of the one or more second storages in each storage unit is powered on, the first target storage of each storage unit is a second storage that is powered on first among the one or more second storages in the storage unit.19.The system of the claim 1, wherein the second storages are powered on in multiple batches, andto determine, based on a power threshold and device information of the second storages, a power-on sequence of second storages, the system is configured to:for each batch, determine target storages to be powered on in the batch among second storages that have not been powered on based on the power threshold, the device information of the second storages, status data of the computing units and / or second storages that have been powered on.20.A non-transitory computer readable medium, comprising a set of instructions, the set of instructions being executed by at least one processor of a server cluster, the server cluster including servers, each server including a computing unit and a storage unit, the computing unit including a first storage, the storage unit including one or more second storages, a first power-on power consumption of the first storage being lower than a second power-on power consumption of the one or more second storages, wherein when the set of instructions are executed by at least one processor of the server cluster, the set of instructions causes the server cluster to perform a method, and the method comprising:powering on the computing units of the servers in the server cluster;storing operational data of the computing units into their respective first storages;determining, based on a power threshold and device information of the second storages of the servers, a power-on sequence of the second storages, wherein the power threshold is determined based on a maximum power of a power supply device that supplies power for the server cluster;powering on the second storages according to the power-on sequence; andstoring the operational data from the first storages into the second storages.

Citation Information

Patent Citations

  • Time-sharing power on method for server in massive cluster

    CN101599840A

  • Operation control method and device of server and storage medium

    CN110032264A

  • Systems and methods for managing a cluster of cache servers

    CN110140119A

  • Hard disk power-on control method and system, storage medium and equipment

    CN114756418A

  • Storage server cluster starting method and storage server cluster

    CN118567582A