CN121478572A - A server startup control system and method - Google Patents
A server startup control system and methodInfo
- Publication number
- CN121478572A CN121478572A CN202610024244.6A CN202610024244A CN121478572A CN 121478572 A CN121478572 A CN 121478572A CN 202610024244 A CN202610024244 A CN 202610024244A CN 121478572 A CN121478572 A CN 121478572A
- Authority
- CN
- China
- Prior art keywords
- data processing
- processing unit
- server
- status information
- self
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/2268—Logging of test results
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/2284—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing by power-on test, e.g. power-on self test [POST]
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4411—Configuring for operating with peripheral devices; Loading of device drivers
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Computer Security & Cryptography (AREA)
- Stored Programmes (AREA)
Abstract
The application discloses a server starting control system and a method, which relate to the technical field of servers, wherein the system comprises a data processing unit, a readable memory and a host; the data processing unit is used for acquiring target state information of the data processing unit when the server is powered on for self-checking, writing the target state information into a shared storage space of the readable memory, the host is used for reading the target state information of the data processing unit from the shared storage space when the server is triggered to start, executing equipment enumeration operation on the data processing unit when the server is successfully started, continuing to execute a subsequent power-on self-checking flow of the server after the equipment enumeration operation is completed, and skipping enumeration operation on the data processing unit when the data processing unit is failed to start or the target state information of the data processing unit is not read, and continuing to execute the subsequent power-on self-checking flow of the server. The method and the device can efficiently acquire the state information of the data processing unit when the BMC is abnormal and has no response.
Description
Technical Field
The present application relates to the field of server technologies, and in particular, to a system and a method for controlling server startup.
Background
With development of cloud computing and artificial intelligence technology, a DPU (Data Processing Unit, a data processing unit) is used as a special co-processing chip, and tasks such as network virtualization, storage unloading and the like are accelerated through hardware, so that the load of a CPU of a host is reduced, and the DPU becomes a core component of a server architecture.
However, in the starting stage of the server, the cooperation of the starting time sequence of the DPU and the host has the key problems that the DPU can be normally identified by the host after finishing the processes of loading an operating system, creating a virtual device, initializing a core service and the like, and if the basic input output system of the host is forcibly enumerated when the DPU is not ready, the equipment identification is abnormal and the starting is wrong.
Currently, in order to solve the above problem, a baseboard management controller (Baseboard Management Controller, BMC) is used as an intermediate node to transfer DPU status information to a host, that is, after the BMC reads the DPU status, a basic input/output system of the host queries the DPU status information from the BMC through an intelligent platform management interface command. However, when the BMC is abnormal and has no response, the host cannot acquire the DPU state, so that the starting flow is blocked or enumeration is omitted, and even if the BMC can normally forward the state information, the problem of delay caused by forwarding is solved, and the real-time requirement of the basic input and output system on the state information is difficult to meet.
Therefore, how to efficiently obtain DPU status information when the BMC is abnormal and unresponsive is a urgent problem to be solved.
Disclosure of Invention
The application provides a server start control system and a method, which at least solve the problem of low efficiency of a host in acquiring DPU state information in the related art.
In a first aspect, the present application provides a server start control system, the system comprising a data processing unit, a readable memory and a host;
the data processing unit is used for acquiring target state information of the data processing unit and writing the target state information into a shared storage space of the readable memory when the server is powered on for self-checking;
The host is used for reading the target state information of the data processing unit from the shared storage space when the server is triggered to be started;
When the target state information indicates that the data processing unit is successfully started, performing equipment enumeration operation on the data processing unit, and continuously performing a subsequent power-on self-checking flow of the server after the equipment enumeration operation of the data processing unit is completed;
And when the target state information indicates that the data processing unit fails to start or the target state information of the data processing unit is not read, skipping enumeration operation on the data processing unit, and continuing to execute the subsequent power-on self-checking flow of the server.
In a second aspect, the present application further provides a server start control method, including:
when the server is powered on for self-checking, acquiring target state information of the data processing unit, and writing the target state information into a shared storage space of the readable memory;
When triggering to start the server, reading the target state information of the data processing unit from the shared storage space;
When the target state information indicates that the data processing unit is successfully started, performing equipment enumeration operation on the data processing unit, and continuously performing a subsequent power-on self-checking flow of the server after the equipment enumeration operation of the data processing unit is completed;
and when the target state information indicates that the data processing unit fails to start or the target state information of the data processing unit is not read, skipping enumeration operation on the data processing unit, recording an error log, and continuously executing the subsequent power-on self-checking flow of the server.
In a third aspect, the application also provides an electronic device comprising a memory for storing a computer program, and a processor for implementing any one of the steps of the server start control system described above when executing the computer program.
In a fourth aspect, the present application also provides a computer readable storage medium having a computer program stored therein, wherein the computer program when executed by a processor implements the steps of any one of the server start control systems described above.
In a fifth aspect, the application also provides a computer program product comprising a computer program which when executed by a processor implements the steps of any of the server start control systems described above.
The application constructs a direct state interaction channel between the data processing unit and the host through the shared storage space in the readable memory, further when the baseboard management controller itself or the service thereof fails, the data processing unit can directly read the state information of the data processing unit from the shared storage unit in the readable memory after writing the target state information into the shared storage space, and further can efficiently acquire the state information of the data processing unit even if the baseboard management controller is abnormal and has no response, meanwhile, the host can timely enumerate the data processing unit equipment when confirming that the startup is successful based on the starting state of the data processing unit expressed by the definite target state information, and directly skip the enumeration of the data processing unit equipment when finding that the startup fails or the target state information is not read, thereby ensuring the availability of the core function of the system, further eliminating the starting time waste caused by waiting for the uncertain state, obviously improving the starting efficiency of the system, and on the other hand, avoiding the local failure of the data processing unit, influencing the whole starting operation of the server and improving the operation reliability of the server.
Drawings
The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate embodiments consistent with the disclosure and together with the description, serve to explain the principles of the disclosure.
In order to more clearly illustrate the embodiments of the present disclosure or the solutions in the prior art, the drawings that are required for the description of the embodiments or the prior art will be briefly described below, and it will be obvious to those skilled in the art that other drawings can be obtained from these drawings without inventive effort.
Fig. 1 is a schematic diagram of a framework of a server start control system according to an embodiment of the present application;
Fig. 2 is a flow chart of a method for controlling server startup according to an embodiment of the present application.
Detailed Description
The following description of the embodiments of the present application will be made clearly and completely with reference to the accompanying drawings, in which it is apparent that the embodiments described are only some embodiments of the present application, but not all embodiments. Based on the embodiments of the present application, all other embodiments obtained by a person of ordinary skill in the art without making any inventive effort are within the scope of the present application.
It should be noted that in the description of the present application, the terms "comprises," "comprising," or any other variation thereof, are intended to cover a non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements does not include only those elements but may include other elements not expressly listed or inherent to such process, method, article, or apparatus. The terms "first," "second," and the like in this specification are used for distinguishing between similar objects and not necessarily for describing a particular sequential or chronological order.
The present application will be further described in detail below with reference to the drawings and detailed description for the purpose of enabling those skilled in the art to better understand the aspects of the present application.
In some embodiments, as shown in fig. 1, a server start control system is provided, comprising a data processing unit 11, a readable memory 12 and a host 13.
The data processing unit 11 is configured to acquire target state information of the data processing unit and write the target state information into the shared memory space of the readable memory 12 when the server is powered on for self-checking.
In some embodiments, the central processing unit (Central Processing Unit, CPU) of the server needs to process tasks such as service computation, network forwarding, storage I/O, security encryption, and the like, which results in a high computational effort. In order to relieve the operation pressure of the CPU, a data processing unit is configured for the server, namely hardware-level unloading is realized through the data processing unit, tasks such as a network protocol stack, storage virtualization, security encryption and the like are carried out, and then the tasks are stripped from the CPU, so that the calculation pressure of the CPU is relieved, and the CPU can concentrate on core service calculation.
Specifically, the data processing unit (Data Processing Unit, DPU) is a special heterogeneous processor designed for scenes such as a data center and cloud computing, and can offload non-core data processing tasks of the central processing unit, so that efficient distribution of computing power resources and exponential improvement of data processing efficiency are realized.
In the embodiment of the present application, the data processing unit 11 (i.e. DPU) is used as a component for sharing the computing force pressure to the server, and performs state monitoring and information recording in the power-on self-checking stage of the server, so as to provide a basis for making a starting policy for the subsequent host 13.
It should be noted that, power-On Self-Test (POST) is a full-link verification process automatically executed by a hardware layer after Power is turned On, and includes detection of core hardware of a host side and a peripheral module, so as to ensure availability of the hardware to support starting of a subsequent System, where the core hardware of the host side may be understood as Self-Test of a Basic Input/Output System (BIOS), and the peripheral module is a Self-Test of a data processing unit.
Furthermore, the host in the embodiment of the application is also used for executing the power-on self-checking process of the basic input/output system and the power-on self-checking process of the data processing unit in parallel when the server is in power-on self-checking.
When the basic input and output system executes to a preset power-on self-checking stage, the target state information of the data processing unit is triggered to be read from the shared storage space.
Specifically, after the self-checking of the BIOS and the DPU is performed in parallel, the DPU will collect its own state (normal/abnormal/timeout) through the state detection process and write the acquired state into the shared memory space, and the BIOS is set to read the target state information of the DPU from the shared memory space after the self-checking is performed to the preset stage.
For example, the preset phase may be set after the BIOS completes initialization of core hardware (CPU, memory, bus, etc.) and before the OS (e.g., the "post device enumeration configuration phase" or "pre-boot policy decision preparation phase" of the BIOS) is booted. At this point, the BIOS already has hardware conditions for accessing an external Memory (such as an electrically erasable programmable read-Only Memory (EEPROM) in a field replaceable unit (Field Replaceable Unit, FRU), and has a certain buffer time from the final determination of the start-up policy, and can adjust the flow in time based on the DPU status information.
According to the method and the device, the BIOS is prevented from being read too early (the DPU possibly does not finish state detection at the moment, information is incomplete), too late reading is prevented (key nodes for starting strategy adjustment can be missed, and flow reworking is caused), meanwhile, the BIOS flow is not required to be pushed after the DPU is detected, the DPU and the BIOS flow are overlapped in time dimension, the time consumption of the whole preparation stage of starting a server is shortened, and the starting efficiency is remarkably improved.
It should be understood that, when the DPU performs tasks such as network protocol unloading, storage virtualization acceleration, secure encryption and the like subsequently, whether the hardware state (such as whether the acceleration engine is normal or not and whether the interface link is connected) and the software state (such as whether the unloading firmware is complete or not and whether the protocol stack configuration is effective or not) of the DPU are normal or not are particularly important, so that whether the load can be successfully shared for the CPU is directly determined. For example, if the network acceleration engine of the DPU fails, the network forwarding task originally planned to be unloaded is forced to flow back to the CPU, which causes the risk of excessive computational power at the initial start-up stage of the CPU, and if the firmware versions of the storage virtualization modules of the DPU are incompatible, the access efficiency to the storage device in the process of starting up the server may be affected.
Therefore, the data processing unit 11 actively acquires the target state information (including the dimensions of hardware health, software compatibility, functional availability, etc.) of itself when the server is powered on for self-checking, and writes the target state information into the shared storage space of the readable memory 12, which essentially provides the DPU load capacity reference data for the subsequent starting decision of the host 13, thereby ensuring that the host 13 can fully consider the actual state of the DPU when determining the starting policy.
It should also be noted that the readable memory is a read/write eeprom that supports integrated circuit bus communication and is integrated in the field replaceable unit.
Specifically, the readable memory is an EEPROM supporting integrated circuit bus (I2C) communication, and the EEPROM has a nonvolatile (data is not lost after power failure) and electrical signal rewritable capability, and can dynamically store and update target state information (such as self-checking state, hardware health degree, etc.) of the DPU, thereby meeting the requirements of information persistence and real-time update.
And the readable memory supports I2C bus communication, connection can be established with the data processing unit and the host through an I2C protocol, and both parties can access the memory through respective I2C controllers or compatible interfaces (such as SMBus), so that efficient information interaction across modules is realized, and the problems of delay or compatibility caused by complex communication links are avoided.
Meanwhile, the EEPROM in the embodiment of the application is not independently existed but integrated in the field replaceable unit, because the FRU is a hardware module (such as a DPU module, a power supply module and the like) which can be independently replaced in the field in the server, the replaceability can simplify the hardware maintenance flow (for example, when the DPU fails, the FRU module containing the EEPROM can be directly replaced without disassembling the whole server).
Furthermore, the EEPROM is integrated in the FRU, so that the identity information (such as model number and serial number) and state data of the FRU, namely the self-checking result of the DPU, can be uniformly stored and managed through the EEPROM. When the FRU is replaced, the EEPROM of the new module can carry the state information of the EEPROM, and the host can quickly identify the attribute of the new FRU by reading the EEPROM, so that the plug and play maintenance efficiency is realized, and meanwhile, the continuity and the reliability of the state information are ensured.
Furthermore, the embodiment of the application not only realizes the high-efficiency information sharing of the data processing unit and the host, but also improves the convenience of the hardware maintenance of the server by means of the interchangeability of the FRU, so that the system has reliability and maintainability in the scenes of starting control, fault detection and the like.
The host 13 is configured to read target state information of the data processing unit from the shared memory space when the server is started by triggering.
And when the target state information indicates that the data processing unit is successfully started, executing the device enumeration operation on the data processing unit, and after the device enumeration operation on the data processing unit is completed, continuing to execute the subsequent power-on self-checking flow of the server.
And when the target state information indicates that the data processing unit fails to start or the target state information of the data processing unit is not read, skipping the enumeration operation of the data processing unit, and continuing to execute the subsequent power-on self-checking flow of the server.
Specifically, the host 13 is used as a main control core of the server, and uses a CPU as a core, and is matched with hardware such as a chipset, a bus controller, and the like.
When the server receives the starting trigger signal, the starting trigger signal includes but is not limited to a trigger signal generated under the scenes of physical starting operation of a user, a starting instruction issued by a remote management platform, timing starting protocol triggering, automatic restarting after fault recovery and the like.
In the embodiment of the present application, after the server receives the start trigger signal, the host 13 does not directly execute the fixed start procedure, but adds a step of acquiring the state information of the data processing unit, that is, can access the preset shared memory space through a communication interface (such as an SMBus interface) matched with the readable memory 12, so as to accurately read the target state information written by the data processing unit 11 in the POST stage.
Further, it is ensured that the host 13 obtains the actual working capacity of the DPU according to the target state information of the DPU before the subsequent start-up, and start-up failure caused by blind dependency on the DPU is avoided. The target state information may include a hardware health state of the DPU (such as a fault condition of an acceleration engine, a network interface, and a storage controller), a software adaptation state (such as compatibility of a firmware version and a current server system, an enabling state of an unloading module), a function availability state (such as a readiness condition of a core function such as network protocol unloading, storage virtualization acceleration, and secure encryption), and the like.
Finally, the host 13 further determines the subsequent startup policy of the server by parsing the target state information.
This is because the target state information is the output obtained after the DPU is powered on and self-checked, and includes the multi-dimensional checking results of the DPU on its own hardware layer, software layer and service layer. Further, the host can determine whether the DPU has the capability of being recognized by the system and providing services at the initial stage of starting up the server by the target state information.
Specifically, when the target state information indicates that the data processing unit is successfully started, the device enumeration operation is executed on the data processing unit, and after the device enumeration operation of the data processing unit is completed, the subsequent power-on self-checking flow of the server is continuously executed. The method can be understood as that when the DPU confirms that the device enumeration and the subsequent power-on self-checking flow of the server are executed, system resources (such as memory and PCIe bandwidth) are prevented from being allocated to the abnormal DPU, and the resource utilization rate is improved.
The above-mentioned "when the target state information indicates that the data processing unit fails to start or does not read the target state information of the data processing unit, skip the enumeration operation of the data processing unit and continue to execute the subsequent power-on self-checking procedure of the server" can be understood as if the DPU power-on self-checking process is abnormal, that is, when the target state information indicates that the data processing unit fails to start or does not read the target state information of the data processing unit, the host directly skips the enumeration of the device of the DPU and continues to execute the subsequent power-on self-checking procedure of the server, thereby preventing the server from starting overtime due to waiting for the DPU to be ready, guaranteeing the timeliness of the whole machine starting, and when the DPU is abnormal due to hardware and software problems, the host can still independently complete the self-starting, thereby improving the reliability of the server.
Further, whether or not the DPU is enumerated, the host will eventually continue to execute the subsequent power-on self-test procedure of the server (e.g., detecting other hardware, loading the operating system, etc.), so as to ensure that the server startup procedure is not aborted by the single component.
According to the embodiment of the application, the direct state interaction channel between the data processing unit and the host is constructed through the shared storage space in the readable storage, so that when the baseboard management controller or the service thereof fails, the data processing unit can still directly read the state information of the data processing unit from the shared storage unit in the readable storage after writing the target state information into the shared storage space, and further, the state information of the data processing unit can be obtained efficiently even if the baseboard management controller has no response due to abnormality, meanwhile, the host can timely perform enumeration of the data processing unit equipment when the starting is confirmed to be successful based on the starting state of the data processing unit shown by the definite target state information, and directly skip the enumeration of the data processing unit equipment when the starting failure is found or the target state information is not read, so that the availability of the core function of the system is ensured, the starting time waste caused by waiting for the uncertain state is eliminated, the starting efficiency of the system is remarkably improved, the local failure of the data processing unit is avoided, the whole starting operation of the server is influenced, and the operation reliability of the server is improved.
As an extension and refinement of the above embodiment, the operating system in the data processing unit is configured with a state detection process for acquiring the target state information of the data processing unit after the server is powered on.
Specifically, the state detection process configured in the operating system of the data processing unit is a daemon, and the state detection process is a daemon running in the DPU operating system and is automatically triggered at a later stage when the OS of the DPU completes the kernel start. The method is independent of the operation process of the DPU, has the capability of continuous monitoring and periodic detection, and ensures the real-time tracking of the DPU state.
The state detection process may execute a multi-dimensional DPU internal health check to generate target state information of the data processing unit, where the internal health check is divided into three dimensions, namely a hardware layer, a software layer and a service layer, and specifically includes:
the checking items of the hardware layer may include the working voltage of the core chip (such as the network acceleration engine and the storage encryption unit) inside the DPU, whether the temperature is within the threshold, whether the links of the physical interfaces (such as the I2C, PCIe) are normally connected, and the like.
The checking items of the software layer may include kernel loading verification, checking whether operating system core services (such as process management, memory management, and network management services) are normally started, checking network acceleration, storage acceleration, whether a driving module corresponding to the computing acceleration engine is successfully loaded, a communication interface driving, and availability of memory resources, etc.
The check items of the service layer may include whether the number of virtual network card devices created is in accordance with the configuration, checking the capacity of the virtual hard disk device, whether the partition format is in accordance with the configuration, whether the storage protocol communication with the host is normal, confirming whether the DPU successfully takes over the transmission control protocol processing of the host, and the like.
Further, the data processing unit performs the following functions:
(1) After the server is powered on, an operating system is started and loaded to trigger a state detection process.
Specifically, after the server is powered on (powered on), the DPU first performs hardware initialization (such as chip reset, bus self-checking, firmware loading), and then starts its built-in operating system, and after the operating system completes kernel boot, driver loading (such as I2C controller driver, hardware acceleration engine driver), and basic service (such as process management, memory management) initialization, the preset state detection process is automatically triggered (running in daemon mode, ensuring continuous execution and no interference from other business processes).
(2) Based on the state detection process, the running state information corresponding to the plurality of inspection items of the data processing unit is inspected to generate target state information of the data processing unit, and the target state information is written into the shared memory space.
After the state detection process is started, performing systematic detection on a plurality of inspection items of the DPU according to a preset inspection list, and generating target state information reflecting the overall state of the DPU. The inspection items may be divided into hardware-level and software-level inspection items.
For the state of the core component of the hardware layer, whether the core hardware of a network unloading engine, a storage encryption unit, a PCIe interface controller and the like is normally powered on or not can be checked by accessing a hardware register (such as an acceleration engine state register and a temperature sensor register).
For link connectivity at the hardware level, it can be verified whether the physical connection between the DPU and the readable memory (EEPROM in FRU) and the HOST (HOST CPU) is clear by sending test signals (such as I2C bus reply test, PCIe link training signal).
Aiming at the suitability of the firmware and the drive of the software layer, the firmware version number and the drive verification value can be read and compared with a preset compatibility list, and whether the problems of version mismatch, drive damage and the like exist or not is judged.
For the service and module readiness oF the software layer, it can check if the key software modules such as network protocol stack (such as TCP/IP, NVMe-oF), virtualized service (such as virtual switch module) are loaded successfully and enter the readiness state (by process status code, service port monitoring status judgment).
And after the detection is completed, the process integrates the running state information of each item to generate target state information, and writes the target state information into the shared storage space.
The embodiment of the application completes the state detection through the data processing unit, writes the state information into the shared storage unit, ensures that the target state information can truly and timely reflect the actual capability of hardware and software of the target state information, provides data for the host to read and formulate an adaptive starting strategy in the starting stage, thoroughly abandons the scheme of transferring the state information by the traditional baseboard management controller, and realizes the direct information intercommunication between the data processing unit and the host.
Further, the specific implementation process of the data processing unit "when the server is powered on for self-checking, acquiring the target state information of the data processing unit, and writing the target state information into the shared storage space of the readable memory" in the above embodiment is as follows:
based on the state detection process, the running states of the data processing unit corresponding to the plurality of inspection items are synchronously inspected.
Specifically, after the state detection process is started, parallel synchronous detection is immediately initiated on a plurality of preset detection items, namely, state detection of each detection item can be triggered simultaneously through a multithreading or asynchronous I/O mode, so that state information of each item is ensured to be collected within an approximate time window, and state deviation caused by a detection sequence is avoided (for example, state change of a hardware module which is detected first is avoided, and then the module which is detected still uses an old state). In the synchronous inspection process, the state detection process records the state of each inspection item in real time, and returns the result (normal/abnormal) and response time.
If the operation state corresponding to each inspection item is in the normal state within the preset time length, generating target state information comprising a first state code.
Wherein the first status code indicates that the data processing unit is successfully started.
Specifically, a preset time threshold (for example, 5 seconds, which can be dynamically adjusted according to the hardware configuration of the server) is set in the state detection process, and is used as a time boundary for judging whether the inspection is completed, so that in the preset time, all inspection items return to a normal state (for example, hardware fault-free alarm, software module loading is completed, protocol adaptation is passed), and the overall state of the DPU is judged to be normal, namely, the DPU is successfully started, further, target state information containing a first state code (for example, hexadecimal 0x 00) is generated, and all inspection items of the current DPU are clearly marked to be in a normal running state through the first state code, namely, the DPU is successfully started.
If the running state corresponding to at least one inspection item is obtained to be an abnormal state within the preset time length, generating target state information comprising a second state code.
Wherein the data processing unit fails to boot.
If at least one check item returns the result of "abnormal state" (such as a link interrupt of a hardware interface and a loading failure of a driver) within the preset duration, whether other check items are normal or not is judged at this time, and then target state information containing a second state code (for example, hexadecimal 0x 01) is generated, and the second state code clearly identifies that at least one check item in the check items of the current DPU is abnormal, namely, the DPU is started and fails. Meanwhile, the process can attach the identification of the abnormal item in the state information, so that the problem can be further positioned by the subsequent host.
If the preset time length is exceeded and the running state corresponding to at least one inspection item is not obtained, generating target state information comprising a third state code.
Wherein the third status code indicates that the target status information of the data processing unit is not read.
If the preset duration is exceeded and at least one inspection item still does not return any state result, namely, is in a non-response state, possibly caused by the blocking of the module and communication timeout, the DPU is judged to have timeout abnormality, target state information containing a third state code (for example, hexadecimal 0x 02) is generated, incomplete inspection of part of the items is marked through the third state code, and timeout risks exist.
Furthermore, the three state codes are represented by corresponding binary codes, so that the host can simply analyze the state codes to quickly identify the current state type of the DPU, and the embodiment of the application also needs to encapsulate the state codes and additional information (such as the identification of an abnormal inspection item and the identification of a overtime inspection item) and synchronously write the encapsulated state codes and additional information into the shared storage space of the readable memory for the host to read.
Through the process, the embodiment of the application realizes accurate, efficient and quantifiable judgment of the state of the data processing unit. And meanwhile, the standardized state code enables the host to directly decide the starting strategy based on the coding without analyzing complex original data, thereby greatly improving the response efficiency and accuracy of the starting control.
As an extension and refinement of the foregoing embodiment, in combination with the foregoing embodiment, the host in the server startup control system provided by the embodiment of the present application is specifically configured to:
And if the read target state information comprises the first state code, executing the device enumeration operation of the data processing unit.
Specifically, when the status information read from the shared memory space (such as EEPROM in the FRU) includes the first status code (the status code indicates that all the inspection items of the DPU are normal, i.e. the DPU is started successfully), further, the BIOS may advance according to a preset normal starting path to perform a device enumeration operation on the DPU, for example, complete enumeration of the remaining hardware (such as a graphics card and an expansion card), load an operating system boot program, initialize a collaboration mechanism related to the DPU (such as enabling a network/storage unloading function of the DPU), and so on, and continue to perform a subsequent power-on self-test procedure of the server in the device enumeration operation of the DPU.
The process is that the DPU state is completely normal, no extra intervention is needed, the starting efficiency is maximized through a processing mode without interrupting the flow, the hardware acceleration capability of the DPU is fully utilized, and the load of a CPU of a host is reduced.
If the read target state information contains the second state code or the third state code, generating error prompt information, and after the error prompt information is sent to the baseboard management controller, skipping enumeration operation on the data processing unit.
Specifically, when the read status information includes a second status code (the status code indicates that there is at least one abnormal inspection item of the DPU, such as a hardware failure, a drive incompatibility, i.e., a start failure of the DPU) or a third status code (the status code indicates that there is at least one overtime inspection item of the DPU, such as a non-response module, i.e., the target status information of the DPU is not read), an error prompt message is generated and reported to the baseboard management controller, so as to skip an enumeration operation on the DPU, and continue to execute a subsequent power-on self-test procedure of the server.
It should be noted that the error prompt message also carries additional data, the identifier of the inspection item whose running state is abnormal and the corresponding abnormal log, such as the identifier ID of the abnormal and overtime item, the specific fault type, for example, "link interrupt of network acceleration module (ID: 0x 02)", the identifier of the inspection item whose running state is not read and the corresponding overtime log, such as "check overtime of storage encryption unit (ID: 0x 05)", then send the message to the basic management controller through the internal communication interface (such as LPC bus and IPMI protocol), after receiving the error prompt message, the substrate management controller synchronizes the error prompt message to the corresponding operation and maintenance management platform and generates alarm information, specifically, the substrate management controller records the error prompt message or the unknown state prompt message to the system log, pushes the error prompt message to the operation and maintenance platform through the remote management interface (such as Redfish and SNMP) and then initiates an alarm to the operation and maintenance personnel.
After the error prompt message is reported, the whole power-on self-checking process of the server is not terminated due to the abnormality of the DPU, but the follow-up power-on self-checking step is continued to be advanced, but all the unloading functions of the DPU are disabled, and the host CPU takes over the tasks originally distributed to the DPU, so that the server can still be started normally.
Therefore, the host is specifically configured to configure the virtual device corresponding to the DPU as a system startup device after reading the target state information indicating the startup failure, the timeout or the unknown state, so as to skip the enumeration operation of the data processing unit.
In the embodiment of the application, when the data processing unit has an abnormality or overtime condition, the abnormality report is firstly carried out, and then the subsequent server power-on self-checking flow is continued, so that the traceability of faults is realized, the subsequent maintenance is convenient, the phenomenon that the whole server is unavailable due to the abnormality of the DPU is avoided, and the reliability and the usability are balanced.
If the effective target state information cannot be read from the shared storage space within the second preset time period, generating state unknown prompt information, and after the state unknown prompt information is sent to the baseboard management controller, skipping enumeration operation on the data processing unit.
Specifically, if no state information is read from the shared memory space within the second preset time period, which may be caused by an EEPROM fault, an I2C bus interrupt, etc., a state unknown prompt message is generated to explicitly identify that the DPU state information is read out and is sent to the BMC, wherein the state unknown prompt message includes an access state log generated in the process of reading the shared memory space, the access state log includes an access timestamp and access attempt times, the BMC records the access state log, synchronizes the state unknown prompt message to a corresponding operation and maintenance management platform, generates alarm information to prompt an operation and maintenance personnel to be abnormal, and finally skips the enumeration operation on the DPU.
In the embodiment of the application, different power-on starting strategies are constructed by aiming at different state codes. When the first state code (DPU is normal), device enumeration of the DPU is directly executed, after the device enumeration, the subsequent power-on self-checking flow of the server is continuously executed, the server is guaranteed to finish starting, when the second/third state code (abnormal or overtime) is read, error prompt information is firstly generated and sent to the baseboard management controller, then the device enumeration of the DPU is skipped, the subsequent power-on self-checking flow of the server is executed, the overall starting stagnation of the server caused by local abnormality is avoided, when any state information related to the DPU is not read from a shared storage space in a second preset time period (such as 5 minutes), the conditions are possibly caused by EEPROM hardware damage, I2C bus interruption, unsuccessful writing of the DPU and the like, the unknown state prompt information is required to be generated and reported, then the device enumeration of the DPU is skipped, namely, when the state information cannot be acquired, the subsequent power-on self-checking flow of the server is continuously executed, the subsequent starting of the server is avoided, the state information waiting for the DPU is further fault-tolerant capability of the system is improved, and the fault-tolerant capability of the DPU is further avoided.
The specific coping strategies of the three types of reading state information from the DPU in the embodiment of the application follow the follow-up starting without interrupting the server no matter whether the read state is normal, namely the first state code is read, the DPU is abnormal or overtime, namely the second or third state code is read, or the state information is read failure, namely overtime is not read, namely the follow-up power-on self-checking flow is continuously executed all the time after the abnormal reporting or overtime reporting is finished, thereby avoiding the risk of server starting stagnation caused by the related problems of the DPU, such as the abnormality of the DPU or the information interaction fault, ensuring that the server can still finish starting through the CPU taking over the strategy even when the DPU is abnormal, and obviously improving the availability of the server in a core service scene.
It should be noted that when the system includes a plurality of data processing units, each data processing unit corresponds to an independent readable memory.
Furthermore, the host is further configured to, after reading the target state information of all the data processing units, determine that the target state information indicates that the startup is successful, and execute a device enumeration operation on all the data processing units.
In some embodiments, multiple DPUs may be provided in a server to handle high performance computing demands such as high concurrency network processing, large-scale distributed storage, or complex virtualized security policies. In such a multi-DPU architecture, each DPU in the server start-up control system of the embodiment of the present application is configured with an independent readable memory (i.e. shared FRU), so that the host machine can read the readable memories corresponding to all DPUs in parallel during the power-on self-test process of the server, so as to obtain the target state information of each DPU. And then, only when the target state information of all DPUs is confirmed to represent that the starting is successful, uniformly initiating the device enumeration operation of all DPUs, and continuing to execute the subsequent power-on self-checking flow of the server after the device enumeration operation of all DPUs.
Similarly, if there is a certain DPU boot failure or no target state information of the DPU is read, the host will skip the device enumeration operation of the DPU. Any unstable DPU is prevented from injecting abnormal drive and occupying error resources into the system after enumeration, so that stable starting and running of the kernel of the host operating system are ensured.
Meanwhile, corresponding error prompt information is generated, and further the DPU with start failure or target state information of the DPU which is not read is sent to the baseboard management controller, so that a fault checking basis is provided for a system administrator. And then the host computer will continue to execute the subsequent power-on self-checking flow of the server and guide the operating system.
From the description of the above embodiments, it will be clear to a person skilled in the art that the method according to the above embodiments may be implemented by means of software plus the necessary general hardware platform, but of course also by means of hardware, but in many cases the former is a preferred embodiment.
In some embodiments, referring to fig. 2, an embodiment of the present application further provides a server start control method, including step 21 and step 24:
Step 21, when the server is powered on for self-checking, acquiring target state information of the data processing unit, and writing the target state information into a shared storage space of the readable memory;
Step 22, when triggering to start the server, reading the target state information of the data processing unit from the shared storage space;
Step 23, when the target state information indicates that the data processing unit is successfully started, performing device enumeration operation on the data processing unit, and after the device enumeration operation of the data processing unit is completed, continuing to perform a subsequent power-on self-checking flow of the server;
And step 24, when the target state information indicates that the data processing unit fails to start or the target state information of the data processing unit is not read, skipping enumeration operation on the data processing unit, recording an error log, and continuing to execute the subsequent power-on self-checking flow of the server.
The description of the features in the embodiment corresponding to the server start control method may refer to the related description of the embodiment corresponding to the server start control method system, which is not described herein in detail.
An embodiment of the application also provides an electronic device comprising a memory having stored therein a computer program and a processor arranged to run the computer program to perform the steps of any of the server start control system embodiments described above.
Embodiments of the present application also provide a computer readable storage medium having a computer program stored therein, wherein the computer program is configured to perform the steps in the server start control system embodiments described above when run.
In an exemplary embodiment, the computer readable storage medium may include, but is not limited to, a U disk, a Read-Only Memory (ROM), a random access Memory (Random Access Memory, RAM), a removable hard disk, a magnetic disk, or an optical disk, etc. various media in which a computer program may be stored.
Embodiments of the present application also provide a computer program product comprising a computer program which, when executed by a processor, implements the steps of the server start control system embodiment described above.
Embodiments of the present application also provide another computer program product comprising a non-volatile computer readable storage medium storing a computer program which, when executed by a processor, implements the steps of the server start control system embodiments described above.
Those of skill would further appreciate that the various illustrative elements and algorithm steps described in connection with the embodiments disclosed herein may be implemented as electronic hardware, computer software, or combinations of both, and that the various illustrative elements and steps are described above generally in terms of functionality in order to clearly illustrate the interchangeability of hardware and software. Whether such functionality is implemented as hardware or software depends upon the particular application and design constraints imposed on the solution. Skilled artisans may implement the described functionality in varying ways for each particular application, but such implementation decisions should not be interpreted as causing a departure from the scope of the present application.
The above describes in detail a server start control and method provided by the present application. The principles and embodiments of the present application have been described herein with reference to specific examples, the description of which is intended only to facilitate an understanding of the method of the present application and its core ideas. It should be noted that it will be apparent to those skilled in the art that various modifications and adaptations of the application can be made without departing from the principles of the application and these modifications and adaptations are intended to be within the scope of the application as defined in the following claims.
Claims (10)
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202610024244.6A CN121478572A (en) | 2026-01-08 | 2026-01-08 | A server startup control system and method |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202610024244.6A CN121478572A (en) | 2026-01-08 | 2026-01-08 | A server startup control system and method |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| CN121478572A true CN121478572A (en) | 2026-02-06 |
Family
ID=98613465
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN202610024244.6A Pending CN121478572A (en) | 2026-01-08 | 2026-01-08 | A server startup control system and method |
Country Status (1)
| Country | Link |
|---|---|
| CN (1) | CN121478572A (en) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN121705100A (en) * | 2026-02-13 | 2026-03-20 | 海信视像科技股份有限公司 | A terminal device and a self-testing method for terminal devices based on cloud collaboration. |
Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN111475218A (en) * | 2020-04-26 | 2020-07-31 | 中国长城科技集团股份有限公司 | Server starting method, server and computer readable storage medium |
| CN115686877A (en) * | 2021-07-27 | 2023-02-03 | 腾讯科技(深圳)有限公司 | Data interaction method and device, storage medium and computing equipment |
-
2026
- 2026-01-08 CN CN202610024244.6A patent/CN121478572A/en active Pending
Patent Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN111475218A (en) * | 2020-04-26 | 2020-07-31 | 中国长城科技集团股份有限公司 | Server starting method, server and computer readable storage medium |
| CN115686877A (en) * | 2021-07-27 | 2023-02-03 | 腾讯科技(深圳)有限公司 | Data interaction method and device, storage medium and computing equipment |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN121705100A (en) * | 2026-02-13 | 2026-03-20 | 海信视像科技股份有限公司 | A terminal device and a self-testing method for terminal devices based on cloud collaboration. |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| TWI754317B (en) | Method and system for optimal boot path for a network device | |
| WO2025123552A1 (en) | Fault-recoverable firmware detection system and method, storage medium, and server | |
| CN113064747A (en) | Fault positioning method, system and device in server starting process | |
| CN119473744B (en) | Link test method, electronic device, storage medium, product and computing device | |
| CN115658113A (en) | Server self-starting method, device, readable storage medium and electronic equipment | |
| CN108897646B (en) | A BIOS chip switching method and baseboard management controller | |
| CN121478572A (en) | A server startup control system and method | |
| JP2026507619A (en) | Master/backup BIOS automatic switching method, automatic switching device, and computer | |
| CN111338698A (en) | A kind of method and system for BIOS to accurately guide server to start | |
| CN114356708A (en) | Equipment fault monitoring method, device, equipment and readable storage medium | |
| CN120780542B (en) | Restarting control method and device of server processor, storage medium and electronic equipment | |
| EP3499373B1 (en) | Method and apparatus for processing process | |
| CN116627702A (en) | Method and device for restarting virtual machine in downtime | |
| CN111090546A (en) | Operating system restarting method, apparatus, device and readable storage medium | |
| CN119621157B (en) | Method and device for detecting and recovering fault of operation system of AI (advanced technology attachment) server | |
| US20260119158A1 (en) | Method and apparatus for generating server log, non-transitory readable storage medium, and electronic device | |
| CN119271474A (en) | Server self-check control method, device, equipment and storage medium | |
| CN116991637B (en) | Operation control method and device, electronic equipment and storage medium of embedded system | |
| JP7389877B2 (en) | Network optimal boot path method and system | |
| CN116737185A (en) | Mirror image loading method, device, equipment and medium | |
| TWI554876B (en) | Method for processing node replacement and server system using the same | |
| CN103186403A (en) | Node replacement processing method and server system using the method | |
| CN120723188B (en) | Printing method of debugging information and electronic equipment | |
| CN114816886A (en) | Server restart test optimization method, system, terminal and storage medium | |
| CN114610362A (en) | Component upgrade method, device, computer storage medium and system in OpenStack |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| PB01 | Publication | ||
| PB01 | Publication | ||
| SE01 | Entry into force of request for substantive examination | ||
| SE01 | Entry into force of request for substantive examination |