Distributed system and management method therefor, and hardware device and running method thereof
By introducing the collaborative work of the main management module and the distributed operating system, the problem that a single BIOS cannot manage a distributed system is solved, and centralized management and efficient control of the distributed system are achieved.
Patent Information
- Application Number
- PCT/CN2025/070455
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2024-06-21
- Filing Date
- 2025-01-03
- Publication Date
- 2025-12-26
AI Technical Summary
In a distributed system, a single BIOS can only manage the server it resides in, which makes it difficult to manage the distributed system and prevents centralized management.
By introducing the collaborative cooperation between the main management module and the distributed operating system, the main management module instructs some distributed nodes to start the distributed operating system, and after the system starts up, it transfers control of the devices to the operating system, thereby achieving centralized management of all nodes and hardware devices.
It improves the management efficiency of distributed systems, reduces management overhead, and enables centralized control of all nodes and their hardware devices.
Smart Images

Figure CN2025070455_26122025_PF_FP_ABST
Abstract
Description
Distributed systems and their management methods, hardware devices and their operation methods
[0001] This application claims priority to Chinese Patent Application No. 202410814436.8, filed on June 21, 2024, entitled "Distributed System and Management Method Thereof, Hardware Device and Operation Method Thereof", the entire contents of which are incorporated herein by reference. Technical Field
[0002] This application relates to the field of distributed system technology, and in particular to a distributed system and its management method, hardware device and its operation method. Background Technology
[0003] With the development of information technology, single computer systems have become insufficient to meet the demands of large-scale applications. Traditional stand-alone systems suffer from performance bottlenecks, reliability issues, and insufficient scalability, performing poorly when handling large-scale data, high-concurrency access, and complex business logic. Distributed systems, on the other hand, utilize multiple servers working collaboratively, breaking down tasks into multiple sub-tasks for parallel processing. This improves system performance, reliability, and scalability, and better addresses the needs of large-scale applications.
[0004] In current distributed systems, server startup and initialization are handled by the server's Basic Input / Output System (BIOS). During server startup, the BIOS ensures that the operating system can boot and run normally. The BIOS is a firmware program, typically stored on the motherboard, and its functions are implemented by the server's Central Processing Unit (CPU).
[0005] However, the BIOS in any given server can only manage the server it resides in, which limits its scope and makes it difficult to manage distributed systems. Summary of the Invention
[0006] This application provides a distributed system and its management method, as well as a hardware device and its operation method. This application enables centralized management of all distributed nodes and their hardware devices within the distributed system. The technical solution provided by this application is as follows:
[0007] Firstly, this application provides a distributed system. The distributed system includes multiple distributed nodes, which are interconnected. Each distributed node is configured with one or more hardware devices. These hardware devices provide the necessary operational capabilities for their respective distributed nodes. Each hardware device includes a management module. One of the management modules in the distributed system serves as the main management module. The main management module instructs some of the distributed nodes to start a distributed operating system; a first distributed node among the distributed nodes starts the distributed operating system based on the instructions of the main management module; the main management module also transfers control of all hardware devices in the distributed system to the distributed operating system after all distributed nodes in the distributed system have completed starting the distributed operating system.
[0008] In the distributed system of this application, the main management module instructs some distributed nodes in the distributed system to start the distributed operating system. After the distributed operating system has started, the main management module transfers control of all hardware devices in the distributed system to the distributed operating system, enabling the distributed operating system to centrally manage the distributed system based on device control. It can be seen that through the collaborative work of the main management module and the distributed operating system, all distributed nodes and their hardware devices in the distributed system can be centrally managed, solving the problem that current methods using a single distributed node's BIOS can only manage the distributed node itself.
[0009] In one possible implementation, the main management module is also used to provide the distributed operating system with the first resource information of all hardware devices in the distributed system; the distributed operating system is also used to manage the distributed system based on the first resource information of all hardware devices in the distributed system.
[0010] When a distributed operating system manages a distributed system based on information provided by the main management module, this is equivalent to achieving the commonality of the first resource information between the main management module and the distributed operating system. This allows the distributed operating system to reuse the resource management functions of the main management module, improving its management efficiency. Currently, due to insufficient trust between the BIOS and the OS, even after the BIOS relinquishes control to the OS, the OS still needs to use its built-in resource management functions to re-calculate the resources of the hardware devices within the server, resulting in the BIOS's resource management functions not being reused. This application improves the efficiency of the distributed operating system in managing the distributed system and reduces the overhead of managing the distributed system by reusing the resource management functions of the main management module within the distributed operating system.
[0011] In one possible implementation, all management modules except the main management module are used as auxiliary management modules for the distributed system. In this case, the auxiliary management modules obtain the first resource information of their respective hardware devices and provide this first resource information to the main management module. This first resource information indicates the capabilities of the hardware devices. Specifically, the main management module, based on the first resource information of all hardware devices in the distributed system, instructs some of the distributed nodes among multiple distributed nodes to start the distributed operating system.
[0012] In this way, all auxiliary management modules provide the main management module with the primary resource information of the hardware devices where they reside. The main management module then aggregates this primary resource information from all hardware devices in the distributed system, achieving centralized management of this information. Furthermore, based on this primary resource information, the main management module instructs some distributed nodes in the distributed system to start the distributed operating system. After the distributed operating system has started, the main management module transfers control of all hardware devices to the distributed operating system, enabling the distributed operating system to centrally manage the distributed system based on this control. Therefore, it can be seen that through the collaborative efforts of the main management module and the distributed operating system, centralized management of all distributed nodes and their hardware devices within the distributed system can be achieved, solving the problem that current methods using a single distributed node's BIOS can only manage the node itself.
[0013] In one possible implementation, the management module is also used to load the initialization configuration information of the hardware device it resides in and to perform initialization configuration on the hardware device.
[0014] In one possible implementation, in response to the hardware device having multiple remaining components, the management module is specifically used to load the initialization configuration information of each of the multiple remaining components and initialize them. These remaining components are those components in the hardware device other than the management module itself. For example, the management module utilizes multiple threads to initialize the multiple remaining components in parallel, thereby accelerating the initialization configuration of the hardware device.
[0015] In one possible implementation, the distributed operating system is also used to handle hardware device failures and, if unable to handle the failure, send a failure handling request to the main management module. The failure handling request requests the main management module to handle the failure. The main management module is also used to perform a failure clearing operation based on the failure handling request. In one possible implementation, the distributed operating system's failure handling includes: the distributed operating system calling a failure handling program to process the failure.
[0016] In one possible implementation, the main management module is also used to initialize hardware devices when the fault cannot be cleared, and to report the fault information to the administrator of the distributed system when initializing the hardware devices fails to clear the fault.
[0017] Before configuring itself as a primary or secondary management module, a management module needs to determine its role within the distributed system. In one possible implementation, the management module also receives configuration commands from the distributed system administrator and configures itself accordingly. In another possible implementation, the management module provides its secondary resource information to all other management modules (excluding itself) and configures itself as either a primary or secondary management module based on this information. This secondary resource information indicates the capabilities of the management module.
[0018] In one possible implementation, the hardware device is configured with an intra-regional channel, and the remaining components in the hardware device communicate with the management module in the hardware device through the intra-regional channel. The remaining components are the components in the hardware device other than the management module. The management modules in different hardware devices establish a first communication connection and a second communication connection. The communication overhead of the second communication connection is greater than that of the first communication connection, and / or the communication cost of the first communication connection is lower than that of the second communication connection, and / or the communication quality of the second communication connection is lower than that of the first communication connection. When the first communication connection is in a normal state, the management module uses the first communication connection to communicate with the management modules in other hardware devices. When the first communication connection is in an abnormal state, the management module uses the second communication connection to communicate with the management modules in other hardware devices.
[0019] Because the communication overhead of the second communication connection is greater than that of the first communication connection, prioritizing the use of the first communication connection reduces the communication overhead of communication between the management module and other management modules. And / or, because the communication cost of the first communication connection is lower than that of the second communication connection, prioritizing the use of the first communication connection effectively reduces the communication cost of communication between the management module and other management modules. And / or, because the communication quality of the second communication connection is lower than that of the first communication connection, prioritizing the use of the first communication connection effectively ensures the communication quality of communication between the management module and other management modules.
[0020] In one possible implementation, the management module includes a computing unit, a storage unit, and a communication unit; the computing unit provides computing power to the management module; the storage unit provides storage capacity to the management module; and the communication unit provides communication capability to the management module.
[0021] In one possible implementation, the storage unit is used to store the startup program instructions; the computing unit is used to run the startup program instructions to complete the self-starting of the management module.
[0022] Secondly, this application provides a management method for a distributed system. The distributed system includes multiple distributed nodes with communication connections between them. Each distributed node is configured with one or more hardware devices, which provide the necessary operational capabilities for their respective distributed nodes. Each hardware device includes a management module, and one of these management modules serves as the main management module. The method includes: the main management module instructing a subset of the distributed nodes to start a distributed operating system; a first distributed node among the subset of distributed nodes, based on the instruction from the main management module, starting the distributed operating system in the first distributed node (one of the subset of distributed nodes); and after all distributed nodes in the subset of distributed nodes have completed starting the distributed operating system, the main management module transfers control of all hardware devices in the distributed system to the distributed operating system.
[0023] In one possible implementation, the method further includes: the main management module providing the distributed operating system with first resource information of all hardware devices in the distributed system, the first resource information being used to indicate the capabilities of the hardware devices; the distributed operating system managing the distributed system based on device control rights, including: the distributed operating system managing the distributed system based on device control rights and the first resource information.
[0024] In one possible implementation, all management modules except the main management module are used as auxiliary management modules of the distributed system. Before the main management module instructs some of the distributed nodes among the multiple distributed nodes to start the distributed operating system, the method further includes: the auxiliary management module obtaining first resource information of its hardware device and providing the first resource information to the main management module, the first resource information being used to indicate the capabilities of the hardware device; the main module instructing some of the distributed nodes among the multiple distributed nodes to start the distributed operating system includes: the main module instructing some of the distributed nodes among the multiple distributed nodes to start the distributed operating system based on the first resource information of all hardware devices in the distributed system.
[0025] In one possible implementation, before the main management module instructs some of the distributed nodes among the multiple distributed nodes to start the distributed operating system, the method further includes: the management module loading the initialization configuration information of its hardware device and initializing the hardware device.
[0026] In one possible implementation, in response to the hardware device having multiple remaining components, the management module loads the initialization configuration information of the hardware device and performs initialization configuration on the hardware device, including: the management module loads the initialization configuration information of the multiple remaining components respectively and performs initialization configuration on the multiple remaining components, wherein the remaining components are the components in the hardware device other than the management module.
[0027] In one possible implementation, the distributed operating system manages the distributed system based on device control, including: when a hardware device malfunctions, the distributed operating system handles the fault, and when it cannot handle the fault, it sends a fault handling request to the main management module, the fault handling request being used to request the main management module to handle the fault; the method further includes: the main management module performing a fault clearing operation based on the fault handling request.
[0028] In one possible implementation, the method further includes: when the main management module cannot clear the fault, it initializes the hardware device, and when initializing the hardware device fails to clear the fault, it reports the fault information to the administrator of the distributed system.
[0029] In one possible implementation, before the assisting management module provides the first resource information to the main management module, the method further includes: the management module receiving a configuration instruction sent by the administrator of the distributed system, and configuring itself as the main management module or the assisting management module based on the configuration instruction.
[0030] In one possible implementation, before the assisting management module provides the first resource information to the main management module, the method further includes: the management module providing its own second resource information to all management modules except itself, and configuring itself as the main management module or an assisting management module based on the second resource information of all management modules, wherein the second resource information is used to indicate the capabilities of the management module.
[0031] In one possible implementation, the hardware device is configured with an intra-regional channel, and the remaining components in the hardware device communicate with the management module in the hardware device through the intra-regional channel. The remaining components are the components in the hardware device other than the management module. The management modules in different hardware devices establish a first communication connection and a second communication connection. The communication overhead of the second communication connection is greater than that of the first communication connection, and / or the communication cost of the first communication connection is lower than that of the second communication connection, and / or the communication quality of the second communication connection is lower than that of the first communication connection. When the first communication connection is in a normal state, the management module uses the first communication connection to communicate with the management modules in other hardware devices. When the first communication connection is in an abnormal state, the management module uses the second communication connection to communicate with the management modules in other hardware devices.
[0032] In one possible implementation, the management module includes a computing unit, a storage unit, and a communication unit; the computing unit provides computing power to the management module; the storage unit provides storage capacity to the management module; and the communication unit provides communication capability to the management module.
[0033] In one possible implementation, the storage unit is used to store boot program instructions. Before the main management module instructs some of the distributed nodes among multiple distributed nodes to start the distributed operating system, the method further includes: the computing unit running the boot program instructions to complete the self-starting of the management module.
[0034] Thirdly, this application provides a hardware device for deployment in distributed nodes of a distributed system. The hardware device provides the necessary capabilities for operation to the distributed node it resides in. The hardware device includes a management module, which serves as the main management module or an auxiliary management module of the distributed system. In response to the management module being used as the main management module, the main management module instructs some of the distributed nodes in the distributed system to start the distributed operating system. After all distributed nodes in the distributed system have started the distributed operating system, the main management module transfers control of all hardware devices in the distributed system to the distributed operating system.
[0035] In one possible implementation, in response to the management module acting as the main management module, the main management module is also used to provide the distributed operating system with the first resource information of all hardware devices in the distributed system, so that the distributed operating system can manage the distributed system based on the first resource information and device control of all hardware devices in the distributed system. The first resource information is used to indicate the capabilities of the hardware devices.
[0036] In one possible implementation, the management module acts as an auxiliary management module, which obtains first resource information of its hardware device and provides it to the main management module. The first resource information indicates the capabilities of the hardware device. The management module also acts as the main management module, which specifically instructs some of the distributed nodes in the distributed system to start the distributed operating system based on the first resource information of all hardware devices in the distributed system.
[0037] In one possible implementation, the management module is also used to load the initialization configuration information of the hardware device it resides in and to perform initialization configuration on the hardware device.
[0038] In one possible implementation, in response to the hardware device having multiple remaining components, the management module is specifically used to load the initialization configuration information of the multiple remaining components respectively, and to initialize the multiple remaining components. The remaining components are the components in the hardware device other than the management module.
[0039] In one possible implementation, the management module is used as the main management module, which is also used to receive fault handling requests sent by the distributed operating system and perform fault clearing operations based on the fault handling requests. The fault handling requests are used to request the main management module to handle the fault.
[0040] In one possible implementation, in response to the management module acting as the main management module, the main management module is also used to initialize the hardware device when the fault cannot be cleared, and to report the fault information to the administrator of the distributed system when the initialization of the hardware device fails to clear the fault.
[0041] In one possible implementation, the management module is also used to receive configuration instructions sent by the administrator of the distributed system, and configure itself as the main management module or an auxiliary management module based on the configuration instructions.
[0042] In one possible implementation, the management module is also used to provide its own second resource information to all management modules in the distributed system except itself. Based on the second resource information of all management modules, it configures itself as a main management module or an assistant management module. The second resource information is used to indicate the capabilities of the management module.
[0043] In one possible implementation, the management module is also used to load the initialization configuration information of the hardware device it resides in and to perform initialization configuration on the hardware device.
[0044] In one possible implementation, the hardware device is configured with an intra-regional channel, and the management module communicates with the remaining components in the hardware device (excluding the management module) through the intra-regional channel. The management modules in different hardware devices establish a first communication connection and a second communication connection. The communication overhead of the second communication connection is greater than that of the first communication connection, and / or the communication cost of the first communication connection is lower than that of the second communication connection, and / or the communication quality of the second communication connection is lower than that of the first communication connection. When the first communication connection is in a normal state, the management module uses the first communication connection to communicate with management modules in other hardware devices; when the first communication connection is in an abnormal state, it uses the second communication connection to communicate with management modules in other hardware devices.
[0045] In one possible implementation, the management module includes a computing unit, a storage unit, and a communication unit; the computing unit provides computing power to the management module; the storage unit provides storage capacity to the management module; and the communication unit provides communication capability to the management module.
[0046] In one possible implementation, the storage unit is used to store the startup program instructions; the computing unit is used to run the startup program instructions to complete the self-starting of the management module.
[0047] Fourthly, this application provides a method for operating a hardware device. The hardware device is deployed in distributed nodes of a distributed system and provides the necessary capabilities for operation to the distributed node. The hardware device includes a management module, which serves as the main management module or an auxiliary management module of the distributed system. The method includes: in response to the management module serving as the main management module, the main management module instructs some of the distributed nodes in the distributed system to start a distributed operating system, and after all distributed nodes in the distributed system have started the distributed operating system, the device control of all hardware devices in the distributed system is transferred to the distributed operating system.
[0048] In one possible implementation, in response to the management module acting as the main management module, the method further includes: the main management module providing the distributed operating system with first resource information of all hardware devices in the distributed system, so that the distributed operating system manages the distributed system based on the first resource information and device control of all hardware devices in the distributed system, wherein the first resource information is used to indicate the capabilities of the hardware devices.
[0049] In one possible implementation, in response to the management module acting as an assistant management module, the method further includes: the assistant management module obtaining first resource information of its hardware device and providing the first resource information to the main management module, the first resource information being used to indicate the capabilities of the hardware device; in response to the management module acting as the main management module, the main management module instructing some of the distributed nodes among the multiple distributed nodes to start the distributed operating system, including: the main management module instructing some of the distributed nodes among the multiple distributed nodes to start the distributed operating system based on the first resource information of all hardware devices in the distributed system.
[0050] In one possible implementation, the method further includes: the management module loading the initialization configuration information of its hardware device and performing initialization configuration on the hardware device.
[0051] In one possible implementation, in response to the hardware device having multiple remaining components, the management module loads the initialization configuration information of the hardware device and performs initialization configuration on the hardware device, including: the management module loads the initialization configuration information of the multiple remaining components respectively and performs initialization configuration on the multiple remaining components, wherein the remaining components are the components in the hardware device other than the management module.
[0052] In one possible implementation, in response to the management module acting as the main management module, the method further includes: the main management module receiving a fault handling request sent by the distributed operating system, and performing a fault clearing operation on the fault based on the fault handling request, wherein the fault handling request is used to request the main management module to handle the fault.
[0053] In one possible implementation, in response to the management module acting as the main management module, the method further includes: the main management module initializing the hardware device when it cannot clear the fault, and reporting the fault information to the administrator of the distributed system when initializing the hardware device fails to clear the fault.
[0054] In one possible implementation, the method further includes: the management module receiving configuration instructions sent by the administrator of the distributed system, and configuring itself as the main management module or an auxiliary management module based on the configuration instructions.
[0055] In one possible implementation, the method further includes: the management module providing its own second resource information to all management modules in the distributed system except itself, and configuring itself as a main management module or an assistant management module based on the second resource information of all management modules, wherein the second resource information is used to indicate the capabilities of the management module.
[0056] In one possible implementation, the management module loads the initialization configuration information of its hardware device and performs initialization configuration on the hardware device.
[0057] In one possible implementation, the hardware device is configured with an intra-regional channel, and the management module communicates with the remaining components in the hardware device (excluding the management module) through the intra-regional channel. The management modules in different hardware devices establish a first communication connection and a second communication connection. The communication overhead of the second communication connection is greater than that of the first communication connection, and / or the communication cost of the first communication connection is lower than that of the second communication connection, and / or the communication quality of the second communication connection is lower than that of the first communication connection. When the first communication connection is in a normal state, the management module uses the first communication connection to communicate with management modules in other hardware devices; when the first communication connection is in an abnormal state, it uses the second communication connection to communicate with management modules in other hardware devices.
[0058] In one possible implementation, the management module includes a computing unit, a storage unit, and a communication unit; the computing unit provides computing power to the management module; the storage unit provides storage capacity to the management module; and the communication unit provides communication capability to the management module.
[0059] In one possible implementation, the storage unit is used to store startup program instructions, and the method further includes: the computing unit running the startup program instructions to complete the self-starting of the management module.
[0060] Fifthly, this application provides a computing device including a memory and a processor, wherein the memory stores program instructions and the processor executes the program instructions to implement the hardware device provided in the second aspect of this application and any of its possible implementations.
[0061] In a sixth aspect, this application provides a computing device cluster, including multiple computing devices, each computing device including multiple processors and multiple memories, the multiple memories storing program instructions, and the multiple processors executing the program instructions, so that the computing device cluster implements the distributed system provided in the first aspect of this application and any of its possible implementations.
[0062] In a seventh aspect, this application provides a computer-readable storage medium that is a non-volatile computer-readable storage medium, the computer-readable storage medium including program instructions that, when executed on a computing device, cause the computing device to perform the methods provided in the second or fourth aspect of this application and any possible implementation thereof.
[0063] Eighthly, this application provides a computer program product containing instructions that, when run on a computer, cause the computer to perform the methods provided in the second or fourth aspect of this application and any possible implementation thereof. Attached Figure Description
[0064] Figure 1 is a structural diagram of an implementation scenario involving a management method for a distributed system provided in an embodiment of this application;
[0065] Figure 2 is a schematic diagram of a distributed node configured with hardware devices according to an embodiment of this application;
[0066] Figure 3 is a schematic diagram of a management module provided in an embodiment of this application;
[0067] Figure 4 is a flowchart of a management method for a distributed system provided in an embodiment of this application;
[0068] Figure 5 is a flowchart of a hardware device operation method provided in an embodiment of this application;
[0069] Figure 6 is a schematic diagram of the structure of a computing device provided in an embodiment of this application;
[0070] Figure 7 is a schematic diagram of the structure of a computing device cluster provided in an embodiment of this application;
[0071] Figure 8 is a schematic diagram of another computing device cluster provided in an embodiment of this application. Detailed Implementation
[0072] To make the objectives, technical solutions, and advantages of this application clearer, the embodiments of this application will be described in further detail below with reference to the accompanying drawings.
[0073] To facilitate understanding, the technologies and background involved in the embodiments of this application will be introduced below.
[0074] BIOS: This is the firmware that performs hardware initialization during the power-on startup phase and provides runtime services to the operating system.
[0075] Operating system (OS): A built-in program that works with various computer hardware components to interact with the user. Common examples include Windows, macOS, and the open-source Linux.
[0076] Network Interface Controller (NIC): Also known as a network adapter, it is a hardware device in a computer used to connect to a network. It is responsible for converting digital data from the computer into analog signals for data transmission between the computer and the network.
[0077] Random access memory (RAM) is a semiconductor-based memory that can be read and written by a CPU or other hardware devices, and its storage location can be accessed in any order.
[0078] Read-only memory (ROM) is a type of semiconductor memory that retains data even when the system is powered off. It is a type of memory, similar to RAM.
[0079] With the development of information technology, single computer systems have become insufficient to meet the demands of large-scale applications. Traditional stand-alone systems suffer from performance bottlenecks, reliability issues, and insufficient scalability, performing poorly when handling large-scale data, high-concurrency access, and complex business logic. Distributed systems, on the other hand, utilize multiple servers working collaboratively, breaking down tasks into multiple sub-tasks for parallel processing. This improves system performance, reliability, and scalability, and better addresses the needs of large-scale applications. Common distributed management tools include Kubernetes (K8S).
[0080] In current distributed systems, server startup and initialization are handled by the server's BIOS. During server startup, the BIOS ensures the operating system can boot and run normally. The BIOS is a firmware program, typically stored on the motherboard, and its functions are implemented by the server's central processing unit (CPU). For example, in an x86 system, after the server powers on, the CPU executes its first instruction at address 0xFFFF_FFF0. This address is located in the erasable programmable read-only memory (EPROM), and the instruction at this address is a long jump instruction. After the CPU executes the long jump instruction, it initiates the BIOS execution process. The BIOS is responsible for the following:
[0081] 1. Hardware Detection: During startup, the BIOS detects the server's hardware devices, obtains device resource information and status, and records this information in the server's memory. Server hardware devices include, for example, the CPU, memory, network card, hard drive, and graphics card.
[0082] 2. Sequential device startup: The BIOS determines the startup order of hardware devices in the server based on the resource information of the hardware devices, which hardware device to start first, and how to load the server's operating system during the startup process.
[0083] 3. Power Management: The BIOS can control the server's power management mode, including controlling screen brightness and entering hibernation mode.
[0084] 4. Input / Output Control: The BIOS can control the server's input / output devices. Input / output devices include, for example, keyboards, mice, and printers.
[0085] 5. Secure Boot: BIOS ensures that only certified operating systems can boot, preventing attacks from malware and viruses.
[0086] 6. Resource Reporting: Reports the server's hardware resource information and status to the server's operating system. This information is crucial for the correct operation of the operating system. The BIOS is also responsible for the operating system boot process. It loads itself first when the server starts up, and then hands control over to the operating system, allowing the operating system to manage the server's operation.
[0087] However, the BIOS in any given server can only manage its own server, limiting its scope and making it difficult to manage distributed systems. For example, current distributed systems are generally large-scale, and the server's CPU, relying on the server's BIOS, can only manage its own server and cannot manage other servers in the distributed system. This means that the current BIOS cannot centrally manage the distributed system, and therefore, it is not well-suited to current distributed systems.
[0088] In view of this, embodiments of this application provide a distributed system and its management method, as well as a hardware device and its operation method. The distributed system includes multiple distributed nodes, which are interconnected. Each distributed node is configured with one or more hardware devices. The hardware devices provide the necessary capabilities for operation to their respective distributed nodes. A management module is provided in each hardware device. One of the management modules in the distributed system serves as the main management module. The main management module instructs some of the distributed nodes to start a distributed operating system; a first distributed node among the distributed nodes starts the distributed operating system based on the instruction of the main management module; the main management module also transfers control of all hardware devices in the distributed system to the distributed operating system after all distributed nodes in the distributed node group have completed the startup of the distributed operating system. The distributed nodes in this application can be derived from physical structure or logical division. Furthermore, the distributed nodes can be of various types. For example, a distributed node can be a computer, a distributed node, a switch, a router, a network device, or any device capable of data transmission and reception.
[0089] In the distributed system of this application, the main management module instructs some distributed nodes in the distributed system to start the distributed operating system. After the distributed operating system has started, the main management module transfers control of all hardware devices in the distributed system to the distributed operating system, enabling the distributed operating system to centrally manage the distributed system based on device control. It can be seen that through the collaborative work of the main management module and the distributed operating system, all distributed nodes and their hardware devices in the distributed system can be centrally managed, solving the problem that current methods using a single distributed node's BIOS can only manage the distributed node itself.
[0090] This article provides a detailed introduction to the technical solution of this application from multiple perspectives, including implementation scenarios, methodologies, hardware devices, and software devices. The following section first illustrates implementation scenarios of embodiments of this application.
[0091] Figure 1 is a structural diagram of an application scenario involving a distributed system management method provided in an embodiment of this application. As shown in Figure 1, the application scenario includes a distributed system 10. The distributed system 10 includes multiple distributed nodes 101. The multiple distributed nodes 101 are connected by communication. Optionally, the distributed nodes in this application can be obtained from physical structure or logical division. Furthermore, the distributed nodes can be of various types. For example, a distributed node can be a computer, a distributed node, a switch, a router, a network device, or any device capable of data transmission and reception.
[0092] Each distributed node 101 is configured with one or more hardware devices 1011. The hardware devices 1011 provide the necessary capabilities for operation to their respective distributed nodes. Each hardware device 1011 includes a management module 1011a. Communication connections are established between different hardware devices 1011 within the same distributed node. For example, distributed nodes 101 may establish communication connections via a bus or network, and different hardware devices 1011 within the same distributed node may establish communication connections via a bus. Optionally, the network can be a local area network (LAN), the Internet, or other networks; this embodiment does not limit the type of network. Examples of hardware devices include CPUs, graphics processing units (GPUs), neural network processing units (NPUs), XPUs or their cores, dedicated AI chips, memory, network interface cards (NICs), hard drives, graphics cards, cache agents (CAs), home agents (HAs), or communication ports.
[0093] In the distributed system 10, multiple distributed nodes 101 present a unified whole to the user, and these nodes collaboratively process the user's tasks. Multiple distributed nodes 101 may choose to jointly execute a single computational task. Alternatively, multiple distributed nodes 101 may choose to jointly execute multiple computational tasks. Alternatively, each distributed node 101 may execute a single computational task. Alternatively, multiple distributed nodes 101 may execute multiple computational tasks, with some tasks being jointly executed by some of the distributed nodes 101, and some tasks being executed by a single distributed node 101. Alternatively, multiple distributed nodes 101 may also choose to execute tasks in other ways, which are not specifically limited in this embodiment. Each distributed node 101 can be used exclusively or shared according to the tasks laid out in the distributed system 10, which includes multiple distributed nodes 101.
[0094] In one implementation, the distributed system management method provided in this application embodiment can be implemented by running an executable program on the distributed node 101. For example, the executable program for the distributed system management method is presented in the form of an application installation package. After the application installation package is installed on the distributed node 101, the distributed system management method provided in this application can be implemented by running the executable program. Optionally, the distributed system management method provided in this application embodiment can be implemented entirely or partially through software, hardware, firmware, or any combination thereof.
[0095] It should be understood that the above content is an exemplary description of the implementation scenarios of the distributed system management method provided in the embodiments of this application, and does not constitute a limitation on the implementation scenarios of the distributed system management method. Those skilled in the art will know that as business needs change, the implementation scenarios can be adjusted according to application requirements, and the embodiments of this application do not specifically limit them. Furthermore, when the distributed system management method provided in the embodiments of this application is applied to other scenarios, the executable program of the method can also be presented in the form of an application installation package or in other ways, and the embodiments of this application do not list them all.
[0096] The distributed system provided in the embodiments of this application will be described below. This section mainly describes the architecture of the distributed system; the working principles of each component in the distributed system will not be explained at this time, but will be explained in the relevant descriptions of the management methods of the distributed system.
[0097] As shown in Figure 2, the distributed system 10 includes multiple distributed nodes 101, which are interconnected. Each distributed node is configured with one or more hardware devices 1011. These hardware devices provide the necessary operational capabilities for their respective distributed nodes. Each hardware device includes a management module 1011a. One of the management modules in the distributed system serves as the main management module. This main management module instructs some of the distributed nodes to start the distributed operating system. Correspondingly, a first distributed node among the distributed nodes starts the distributed operating system based on the instruction from the main management module. This first distributed node can be any one of the distributed nodes. The main management module also transfers control of all hardware devices in the distributed system to the distributed operating system after all distributed nodes in the distributed system have started. The distributed operating system then manages the distributed system based on this control.
[0098] In one possible implementation, the main management module is also used to provide the distributed operating system with the first resource information of all hardware devices in the distributed system, which indicates the capabilities of the hardware devices.
[0099] In one possible implementation, all management modules except the main management module are used as auxiliary management modules of the distributed system.
[0100] The assistance management module is used to obtain the first resource information of its hardware device and provide the first resource information to the main management module. The first resource information is used to indicate the capabilities of the hardware device.
[0101] The main management module is specifically used to instruct some of the distributed nodes among multiple distributed nodes to start the distributed operating system based on the first resource information of all hardware devices in the distributed system.
[0102] In one possible implementation, the management module is also used to load the initialization configuration information of the hardware device it resides in and to perform initialization configuration on the hardware device.
[0103] In one possible implementation, in response to the hardware device having multiple remaining components, the management module is specifically used to load the initialization configuration information of the multiple remaining components respectively, and to initialize the multiple remaining components. The remaining components are the components in the hardware device other than the management module.
[0104] In one possible implementation, the distributed operating system is also used to handle hardware device failures and, if the failure cannot be handled, to send a failure handling request to the main management module. The failure handling request is used to request the main management module to handle the failure. The main management module is also used to perform a failure clearing operation based on the failure handling request.
[0105] In one possible implementation, the main management module is also used to initialize hardware devices when the fault cannot be cleared, and to report the fault information to the administrator of the distributed system when initializing the hardware devices fails to clear the fault.
[0106] In one possible implementation, the management module is also used to receive configuration instructions sent by the administrator of the distributed system, and configure itself as the main management module or an auxiliary management module based on the configuration instructions.
[0107] In one possible implementation, the management module is also used to provide its own second resource information to all management modules except itself, and to configure itself as a main management module or an assisting management module based on the second resource information of all management modules. The second resource information is used to indicate the capabilities of the management module.
[0108] In one possible implementation, the hardware device is configured with an intra-regional channel. The remaining components in the hardware device, excluding the management module, communicate with the management module via this intra-regional channel. A first communication connection and a second communication connection are established between the management modules in different hardware devices. The communication overhead of the second communication connection is greater than that of the first communication connection, and / or, the communication cost of the first communication connection is lower than that of the second communication connection, and / or, the communication quality of the second communication connection is lower than that of the first communication connection. When the first communication connection is in a normal state, the management module uses the first communication connection to communicate with the management modules in other hardware devices. When the first communication connection is in an abnormal state, the management module uses the second communication connection to communicate with the management modules in other hardware devices. As shown in Figure 2, the small black arrows in Figure 2 represent intra-regional communication channels, the large hollow bidirectional arrows in Figure 2 represent the first communication connection, and the large hollow unidirectional arrows in Figure 2 represent the second communication connection. For example, the first communication connection is implemented via a bus. The second communication connection is implemented via a network. Since the first communication connection and the second communication connection are used to handle communication between management modules in different hardware devices, both the first communication connection and the second communication connection can be referred to as cross-regional communication channels.
[0109] In one possible implementation, as shown in Figure 3, the management module 1011a includes a computing unit a1, a storage unit a2, and a communication unit a3. The computing unit provides computing power to the management module. The storage unit provides storage capacity to the management module. The communication unit provides communication capability to the management module.
[0110] In one possible implementation, the storage unit is used to store the startup program instructions. The computing unit is used to run the startup program instructions to complete the self-starting of the management module.
[0111] The implementation process of the management method for this distributed system is described below. Figure 4 is a flowchart of a management method for a distributed system provided in an embodiment of this application. As shown in Figure 4, the management method for this distributed system includes the following steps:
[0112] Step 401: The computing unit of the management module in the hardware device of the distributed node runs the startup program instruction to complete the self-starting of the management module.
[0113] A distributed node is configured with one or more hardware devices. These hardware devices provide the necessary capabilities for the distributed node to operate. Examples of hardware devices in a distributed node include CPUs, GPUs, NPUs (such as XPUs or their cores), AI-specific chips, memory, network interface cards (NICs), hard drives, graphics cards, cache proxies, home proxies, or communication ports. A management module is included in each hardware device, as shown in Figure 3. This management module includes computing units, storage units, and communication units. The computing unit provides computing power to the management module. The storage unit provides storage capacity to the management module. The communication unit provides communication capabilities to the management module. Optionally, the computing unit can be implemented using components with computing capabilities. For example, the computing unit can be implemented using a processor core, which can be any type of processor, such as an XPU (CPU, GPU, NPU, or DPU). Furthermore, the computing unit can be a general-purpose computing core or other components with general-purpose computing capabilities. The storage unit can be implemented using RAM, ROM, or solid-state drives (SSDs). The communication unit can be implemented using communication ports. It should be noted that Figure 3 is an example of a management module. The functional units in the management module can be added or removed according to application requirements. This application embodiment does not provide examples of each of them.
[0114] In one possible implementation, the storage unit stores the startup program instructions for the management module. After power-on, the management module can automatically boot by running these instructions. Since the management module executes the startup program instructions via the computing unit after power-on, it does not rely on the CPU for self-booting, thus avoiding problems associated with CPU-dependent booting. The management module is used to manage the distributed system; therefore, it can be referred to as the BIOS module of the distributed system (BMD).
[0115] Step 402: The management module obtains the first resource information of the hardware device it is located in. The first resource information is used to indicate the capabilities of the hardware device.
[0116] After the management module completes its self-start, it performs hardware detection on the hardware device it resides in to obtain the device's initial resource information and stores it in its storage unit for later use. This initial resource information indicates the capabilities of the hardware device. Specifically, it indicates the types of components configured in the hardware device and the capabilities of each component. For example, when the hardware device is a processor, its initial resource information indicates the number and cores of the processor. Alternatively, it indicates the number and cores of the processor, the processor's cache, and cache size. Another example is when the hardware device is a hard disk; its initial resource information indicates the size of the storage medium actually used to store data. Optionally, the initial resource information also indicates the operating status and / or identification information of the components in the hardware device, such as whether the component is in a normal or faulty state. When a component has identification information, the management module can obtain it through hardware detection; when a component does not have identification information, the management module can set identification information for the component. Additionally, the initial resource information may also include the identification information of the distributed node where the hardware device resides. It should be noted that in different application scenarios, the first resource information can also indicate other types of information. For example, the first resource information can also be used to indicate the type, manufacturer, version, resource type and resource quantity of each component in the hardware device. This application embodiment does not specifically limit it.
[0117] Step 403: The management module loads the initialization configuration information of the hardware device it is located in and performs initialization configuration on the hardware device it is located in.
[0118] After the management module starts, it can load the initialization configuration information of its host hardware device and perform initialization configuration on the hardware device. Besides the management module, the hardware device also has multiple components. For example, as shown in Figure 2, the hardware device also has functional components such as a computing component 1011b, a storage component 1011c, a network card 1011d, and a first communication interface 1011e. The management module performs initialization configuration on its host hardware device, including configuring the remaining components in the hardware device excluding the management module. The capabilities required for the operation of the distributed nodes are provided by the functional components. For example, when the hardware device is a processor, this functional component is the processor's core. Or, when the hardware device is a hard disk, this functional component is the actual storage medium used to store data. In one possible implementation, the management module's storage unit stores the initialization configuration information of the remaining components. By loading the initialization configuration information of the remaining components, the management module can perform initialization configuration on the remaining components. When the hardware device has multiple remaining components, the management module can perform initialization configuration on multiple remaining components through multiple threads. For example, the management module uses multiple threads to initialize multiple remaining components in parallel to accelerate the initial configuration of the hardware device. Furthermore, the functional components within the hardware device can be adjusted according to application requirements; this is merely an example.
[0119] When the management module initializes and configures the remaining components in its hardware device, it needs to interact with these components. In one possible implementation, the hardware device is configured with an intra-area channel, through which the remaining components and the management module communicate. As shown in Figure 2, the small black arrows in Figure 2 represent the intra-area communication channel. Furthermore, when the hardware device has multiple remaining components, to facilitate parallel initialization of multiple components by multiple threads, the management module can be configured with multiple communication interfaces. Multiple threads communicate with multiple remaining components through these interfaces, enabling multiple threads to initialize multiple remaining components in parallel.
[0120] Step 404: The management module configures itself as the main management module or an auxiliary management module.
[0121] After each management module completes the initial configuration of its associated hardware device, it needs to configure itself as either the main management module or an assistant management module of the entire distributed system to fulfill its corresponding role in the management of the distributed system. In one implementation, after determining its role as the main or assistant management module, the management module can execute a pre-defined executable program to configure itself as such. Before configuring itself as the main or assistant management module, the management module needs to determine its role within the distributed system. There are several ways to implement this mechanism; the following two examples illustrate this.
[0122] In one implementation, the main management module and the auxiliary management modules are designated by the administrator of the distributed system (such as the maintainer of the distributed system). In this case, the distributed management method of this application further includes: the management module receiving configuration instructions sent by the administrator of the distributed system. Correspondingly, step 404 includes step 4041: the management module configures itself as either the main management module or the auxiliary management module based on the configuration instructions. The administrator of the distributed system can, according to application requirements and based on the configuration of all management modules in the distributed system, decide on the main management module and the auxiliary management module, and send configuration instructions to the main management module to set it as the main management module, and to the auxiliary management modules to set them as auxiliary management modules. After receiving the configuration instructions sent by the administrator of the distributed system, the management module can configure itself as either the main management module or the auxiliary management module according to the instructions.
[0123] In another implementation, the main management module and the assisting management module are selected by the management modules in the distributed system. In this case, the distributed management method of this application further includes: the management module providing its own second resource information to all management modules except itself. Correspondingly, step 404 includes step 4042, whereby the management module configures itself as either the main management module or the assisting management module based on the second resource information of all management modules.
[0124] The second resource information is used to indicate the capabilities of the management module. That is, the second resource information of the management module indicates the types of components configured in the management module and the capability strength of each component. For example, the second resource information of the management module indicates the network topology of the management module, or the computing resources, storage resources, and bandwidth resources of the management module. For instance, the second resource information indicates that the management module has computing units, storage units, and communication units, and also indicates the number of cores, cache, and cache size of the computing units, the size of the storage medium actually used to store data in the storage units, and the bandwidth for data transmission in the communication units. It should be noted that in different application scenarios, the second resource information can also indicate other types of information. For example, the second resource information can also indicate the type, manufacturer, version, resource type, and resource quantity of each functional unit in the management module, etc., which are not specifically limited in this embodiment. Furthermore, to facilitate the identification of the management module, the second resource information also indicates the identifier of its respective management module. Alternatively, the second resource information may not indicate the identifier of the management module to which the management module belongs, but when the management module provides its own second resource information to other management modules, it also provides its own identifier information to those other management modules.
[0125] In one possible implementation, the management module selects a master management module and assisting management modules from among multiple management modules based on the second resource information of multiple management modules. For example, based on the network topology of all management modules in the distributed system, the management module elects the management module that serves as the root node of the network topology as the master management module, and determines the remaining management modules other than the master management module as assisting management modules. Another example is that based on the resource situation of all management modules, the management module elects the management module with the strongest computing power as the master management module, and determines the remaining management modules other than the master management module as assisting management modules. It should be noted that to ensure the consistency of the selection results of all management modules, all management modules need to use the same selection strategy when selecting the master management module and assisting management modules. Furthermore, the above two election strategies are only illustrative examples; the selection strategies used by all management modules in selecting the master management module and assisting management modules can be adjusted according to application requirements, and this application embodiment does not specifically limit them.
[0126] Step 405: The assistance management module provides the first resource information to the main management module.
[0127] After the main management module and auxiliary management modules are determined in the distributed system, all auxiliary management modules can obtain the main management module's identification information and address, among other relevant information. For example, when all management modules in the distributed system elect a main management module, all management modules can identify the main management module and obtain its identification information and address, among other relevant information. When a management module provides its second resource information to other management modules (excluding itself), it may optionally provide its own identification information and address, among other relevant information. For example, the second resource information may also indicate the identification of its own management module. Alternatively, the second resource information may not indicate the identification of the management module to which the management module belongs, but when a management module provides its second resource information to other management modules, it may also provide its own identification information. To facilitate the main management module's management of the distributed system, all auxiliary management modules need to provide the main management module with the first resource information of the hardware device where they reside, based on this relevant information.
[0128] In one possible implementation, the hardware device further includes a first communication interface. The management module of the hardware device can optionally establish a first communication connection with management modules in other hardware devices through this first communication interface. In another possible implementation, the management module of the hardware device also establishes a second communication connection with management modules in other hardware devices. The communication overhead of the second communication connection is greater than that of the first communication connection, and / or, the communication cost of the first communication connection is lower than that of the second communication connection, and / or, the communication quality of the second communication connection is lower than that of the first communication connection. When the first communication connection is in a normal state, the management module of the hardware device uses the first communication connection to communicate with management modules in other hardware devices. When the first communication connection is in an abnormal state, it uses the second communication connection to communicate with management modules in other hardware devices. That is, the management module prioritizes using the first communication connection to communicate with other management modules, and only uses the second communication connection when the first communication connection is in an abnormal state. Since the communication overhead of the second communication connection is greater than that of the first communication connection, prioritizing the use of the first communication connection reduces the communication overhead of the management module communicating with other management modules. And / or, since the communication cost of the first communication connection is lower than that of the second communication connection, prioritizing the use of the first communication connection can effectively reduce the communication cost between the management module and other management modules. And / or, since the communication quality of the second communication connection is lower than that of the first communication connection, prioritizing the use of the first communication connection can effectively ensure the communication quality between the management module and other management modules. For example, communication quality can be measured by transmission rate, transmission delay, and packet loss rate. The higher the transmission rate, the lower the transmission delay, and the lower the packet loss rate, the higher the communication quality. For example, as shown in Figure 1, the hollow double-headed arrow in Figure 1 represents the first communication connection, which is implemented through a bus. The hollow single-headed arrow in Figure 1 represents the second communication connection, which is implemented through a network. Since the first and second communication connections are used to handle communication between management modules in different hardware devices, both the first and second communication connections can be referred to as cross-regional communication channels.
[0129] When the assistance management module provides the first resource information to the main management module, it can choose to use either the first or second communication connection, based on the state of the first communication connection, to provide the first resource information of the hardware device where the assistance management module resides. Specifically, when providing the first resource information to the main management module, the assistance management module may include its source address (e.g., SrcAddr), the main management module's destination address (e.g., AgentAddr), and the first resource information of the hardware device where the assistance management module resides in the message sent to the main management module.
[0130] Step 406: Based on the first resource information of all hardware devices in the distributed system, the main management module instructs some of the distributed nodes among multiple distributed nodes to start the distributed operating system.
[0131] After obtaining the first resource information of the hardware devices in all distributed nodes of the distributed system, the main management module can select a distributed node for starting the distributed operating system based on this first resource information and instruct the selected distributed node to start the distributed system. For example, based on the first resource information of the hardware devices in all distributed nodes of the distributed system, the main management module selects the distributed node with the strongest computing power as the distributed node for starting the distributed operating system. Alternatively, the main management module can also select a distributed node for starting the distributed system based on other strategies, which are not specifically limited in this embodiment. In addition, the main management module can select one or more distributed nodes to start the distributed operating system based on application requirements. For example, when the computing power of a distributed node in the distributed system can support the management of all distributed nodes in the distributed system, the main management module instructs that distributed node to start the distributed operating system in that distributed node. When the computing power of any distributed node in the distributed system cannot support the management of all distributed nodes in the distributed system, the main management module can select multiple distributed nodes in the distributed system whose total computing power can support the management of all distributed nodes in the distributed system and instruct the selected multiple distributed nodes to start the distributed operating system in that distributed node.
[0132] Step 407: Based on the instructions of the main management module, the first distributed node in the partial distributed nodes starts the distributed operating system. The first distributed node can be any one of the distributed nodes in the partial distributed nodes.
[0133] Upon receiving an instruction to start the distributed operating system, the first distributed node can boot the distributed operating system based on that instruction. In one implementation, the first distributed node can first load the boot sector based on the instruction, then load the kernel of the distributed operating system into its memory, and boot the distributed operating system by running the kernel. After completing the boot of the distributed operating system, the first distributed node sends a boot completion notification to the main management module so that the main management module can confirm that the distributed operating system has finished booting. The boot completion notification sent by the first distributed node indicates that the first distributed node has completed the boot of the distributed system.
[0134] Step 408: After all distributed nodes in some distributed nodes have completed the startup of the distributed operating system, the main management module transfers the device control of all hardware devices in the distributed system to the distributed operating system.
[0135] After receiving startup completion notifications from all distributed nodes in a subset of distributed nodes, the main management module determines that the distributed operating system used to manage the entire distributed system has successfully started. The main management module then transfers control of all hardware devices in the distributed system to the distributed operating system, enabling the distributed operating system to manage the distributed system. Device control refers to the authority to manage the operational status of hardware devices. For example, the distributed operating system can perform resource management, access control management, and hardware management based on the device control authority. Resource management includes allocating and scheduling resources used by the hardware, such as computing power, storage resources, and bandwidth resources. Access control management includes controlling whether a hardware device has permission to access other devices, whether it can be accessed by other devices, and, if it has permission to access other devices, whether it has permission to perform specified operations (such as read and / or write operations) on those devices; and, if it has permission to be accessed by other devices, whether it can be allowed to perform specified operations (such as read and / or write operations) on those devices. Hardware management includes tasks such as controlling the startup or shutdown of hardware devices, updating the firmware of hardware devices, and diagnosing and recovering from hardware device failures.
[0136] In one possible implementation, the main management module can maintain the control permissions of all hardware devices in the distributed system through a device control permission table. This permission control table records information about all hardware devices in the distributed system and the permission manager for each device. For example, when the main management module manages the distributed system, the content recorded in this permission control table indicates that the main management module is the permission manager for all hardware devices in the distributed system. When the main management module needs to transfer device control of all hardware devices in the distributed system to the distributed operating system, the main management module modifies the permission manager of all hardware devices in the distributed system to the distributed operating system in the permission control table, transfers the permission control table to the distributed operating system for maintenance, and controls the distributed system to update its configuration based on the modified permission control table. In this way, after the distributed system updates its configuration based on the modified permission control table, the permission manager of all hardware devices in the distributed system becomes the distributed operating system, achieving the purpose of the main management module transferring device control of all hardware devices in the distributed system to the distributed operating system. Optionally, the main management module can also provide the distributed operating system with first resource information of all hardware devices in the distributed system, so that the distributed operating system can manage the hardware devices in the distributed system based on this first resource information. When the distributed operating system and the main management module are deployed on the same distributed node, they communicate with each other through an intra-regional channel within the distributed node. When the distributed operating system and the main management module are deployed on different distributed nodes, they communicate with each other through a first communication connection or a second communication connection.
[0137] It should be noted that when multiple distributed operating systems are running in a distributed system, the main management module also needs to determine the management scope of each distributed operating system and transfer control of the hardware devices within that scope to the respective operating system. In one implementation, the management scope of a distributed operating system is determined based on the computing power of the distributed node that started it. For example, if the computing power of the distributed node that started the operating system can support the management of hardware devices in n distributed nodes but cannot support the management of hardware devices in n+1 distributed nodes, then the management scope of that distributed operating system covers those n distributed nodes. The main management module can also determine the management scope of each distributed operating system using other methods, which will not be listed here.
[0138] Step 409: The distributed operating system manages the distributed system based on device control.
[0139] In one possible implementation, when the main management module also provides the distributed operating system with the first resource information of all hardware devices in the distributed system, the distributed operating system manages the distributed system based on device control and the first resource information. When the distributed operating system manages the distributed system based on the information provided by the main management module, it is equivalent to realizing the commonality of the first resource information between the main management module and the distributed operating system. This allows the distributed operating system to reuse the resource management function of the main management module, thereby improving the efficiency of the distributed operating system in managing the distributed system. Currently, due to insufficient trust between the BIOS and the OS, after the BIOS hands over control to the OS, the OS still needs to use its built-in resource management function to re-calculate the resources of the hardware devices in the server, resulting in the BIOS's resource management function not being reused. This application improves the efficiency of the distributed operating system in managing the distributed system and reduces the overhead of managing the distributed system by reusing the resource management function of the main management module in the distributed operating system.
[0140] A distributed operating system manages a distributed system, including scheduling distributed nodes and / or components, assigning tasks to distributed nodes and / or components, and handling faults in distributed nodes and / or components. In one possible implementation, fault handling by the distributed operating system includes: when a distributed node or / or component fails, the distributed operating system handles the fault; if the fault cannot be handled, it sends a fault handling request to the main management module. The fault handling request is used to request the main management module to handle the fault. Correspondingly, the management method of this distributed system also includes: the main management module performing a fault clearing operation based on the fault handling request. To facilitate the main management module in identifying the failed distributed node and / or component, the fault handling request may carry identification information of the distributed node and / or component. For example, after receiving a fault handling request, the main management module can locate the faulty device based on the identification information and then perform fault recovery based on the device type and the error information recorded in its registers. In another possible implementation, fault handling by the distributed operating system includes: the distributed operating system calling a fault handling program to handle the fault.
[0141] Optionally, if the main management module cannot clear the fault, it may reinitialize the hardware device to clear the fault. The implementation process of this hardware device initialization is described in step 403, and will not be repeated here. If initializing the hardware device still fails to clear the fault, the main management module may report the fault information to the distributed system administrator so that the administrator can handle the fault. For example, if initializing the hardware device still fails to clear the fault, the main management module can read the log containing fault information and configuration error information of the faulty hardware device, and provide this log to the distributed system administrator through the distributed operating system so that the administrator can handle the fault based on the log. The fault information includes, for example, a timestamp of the fault occurrence, a fault code and description indicating the fault, and the hardware status of the faulty hardware. The configuration error information includes, for example, a timestamp of the configuration error occurrence, an error code and description indicating the configuration error, and the configuration content of the configuration error.
[0142] Specifically, when the logs recording fault information and configuration errors of malfunctioning hardware devices reside on the same distributed node as the main management module, the main management module obtains these logs through the intra-regional channel within the distributed node. When the logs recording fault information and configuration errors of malfunctioning hardware devices reside on different distributed nodes, the main management modules obtain these logs through a first or second communication connection. When the distributed operating system and the main management module are deployed on the same distributed node, the distributed operating system and the main management module provide the logs to the distributed operating system through the intra-regional channel within the distributed node, so that the distributed operating system can provide the logs to the distributed system administrator. When the distributed operating system and the main management module are deployed on different distributed nodes, the main management modules provide the logs to the distributed operating system through a first or second communication connection, so that the distributed operating system can provide the logs to the distributed system administrator.
[0143] Currently, the BIOS operates by providing instructions to the CPU for execution. Its fault handling capabilities depend on the CPU's operating state, meaning that only a small portion of faults can be recovered using the BIOS. Furthermore, when the CPU experiences a fatal failure, the BIOS cannot function properly, making fault recovery difficult. In this application, because the management module has a computing unit that provides computing power, the management module does not rely on the CPU for startup and operation. This achieves CPU decentralization of the management module, ensuring that its fault handling capabilities are no longer determined by the CPU's operating state, thus guaranteeing fault handling capabilities in the distributed system. The fault handling capabilities of the main management module in this application support cluster-level fault detection, collection, reporting, and recovery, enhancing reliability, availability, and serviceability (RAS) capabilities. This helps meet the RAS requirements of AI supernodes and large-scale distributed nodes (such as rack servers).
[0144] In addition, in this application, to ensure the keep-alive capabilities of the management module, such as RAS capabilities, the management module needs to have a certain degree of redundancy, such as using an independent power domain, RAM mirroring, and redundant channels to ensure that the management module can work normally.
[0145] As shown above, in the distributed system of this application, all auxiliary management modules provide the main management module with the first resource information of the hardware devices where the auxiliary management modules reside. The main management module then aggregates the first resource information of all hardware devices in the distributed system, achieving centralized management of the first resource information of all hardware devices in the distributed system. Furthermore, the main management module instructs some distributed nodes in the distributed system to start the distributed operating system based on the first resource information of all hardware devices in the distributed system. After the distributed operating system has started, the main management module transfers control of all hardware devices in the distributed system to the distributed operating system, enabling the distributed operating system to centrally manage the distributed system based on device control. Therefore, it can be seen that through the collaborative work of the main management module and the distributed operating system, centralized management of all distributed nodes and their hardware devices in the distributed system can be achieved, solving the problem that current methods using a single distributed node's BIOS can only manage the distributed node itself.
[0146] It should be noted that the order of steps in the distributed system management method provided in this application embodiment can be appropriately adjusted, and steps can also be added or removed as needed. Any variations that can be easily conceived by those skilled in the art within the scope of the technology disclosed in this application should be included within the protection scope of this application, and therefore will not be elaborated further.
[0147] The above describes the distributed system and its management method according to embodiments of this application. Corresponding to the above method, embodiments of this application also provide a hardware device. Figure 3 is a schematic diagram of the structure of a hardware device provided in an embodiment of this application. Based on the following components shown in Figure 3, the hardware device shown in Figure 3 can perform all or part of the operations performed by the hardware device shown in Figure 4. It should be understood that the hardware device may include more additional components than those shown or omit some of the components shown, and embodiments of this application do not impose any limitations on this. As shown in Figures 2 and 3, the hardware device is used to deploy in the distributed nodes of the distributed system. The hardware device is used to provide the necessary capabilities for the operation of the distributed node it resides in. The hardware device is equipped with a management module, which serves as the main management module or auxiliary management module of the distributed system.
[0148] The management module is used as the main management module. The main management module is used to instruct some of the distributed nodes in the distributed system to start the distributed operating system. After all the distributed nodes in the distributed system have started the distributed operating system, the management module transfers the control of all hardware devices in the distributed system to the distributed operating system, so that the distributed operating system can manage the distributed system based on the control of the devices.
[0149] In one possible implementation, in response to the management module acting as the main management module, the main management module is also used to provide the distributed operating system with the first resource information of all hardware devices in the distributed system, so that the distributed operating system can manage the distributed system based on the first resource information and device control of all hardware devices in the distributed system. The first resource information is used to indicate the capabilities of the hardware devices.
[0150] In one possible implementation, the management module acts as an auxiliary management module, which obtains first resource information of its hardware device and provides it to the main management module. The first resource information indicates the capabilities of the hardware device. The management module also acts as the main management module, which specifically instructs some of the distributed nodes in the distributed system to start the distributed operating system based on the first resource information of all hardware devices in the distributed system.
[0151] In one possible implementation, the management module is also used to load the initialization configuration information of the hardware device it resides in and to perform initialization configuration on the hardware device.
[0152] In one possible implementation, in response to the hardware device having multiple remaining components, the management module is specifically used to load the initialization configuration information of the multiple remaining components respectively, and to initialize the multiple remaining components. The remaining components are the components in the hardware device other than the management module.
[0153] In one possible implementation, the management module is used as the main management module, which is also used to receive fault handling requests sent by the distributed operating system and perform fault clearing operations based on the fault handling requests. The fault handling requests are used to request the main management module to handle the fault.
[0154] In one possible implementation, in response to the management module acting as the main management module, the main management module is also used to initialize the hardware device when the fault cannot be cleared, and to report the fault information to the administrator of the distributed system when the initialization of the hardware device fails to clear the fault.
[0155] In one possible implementation, the management module is also used to receive configuration instructions sent by the administrator of the distributed system, and configure itself as the main management module or an auxiliary management module based on the configuration instructions.
[0156] In one possible implementation, the management module is also used to provide its own second resource information to all management modules in the distributed system except itself. Based on the second resource information of all management modules, it configures itself as a main management module or an assistant management module. The second resource information is used to indicate the capabilities of the management module.
[0157] In one possible implementation, the management module is also used to load the initialization configuration information of the hardware device it resides in and to perform initialization configuration on the hardware device.
[0158] In one possible implementation, the hardware device is configured with an intra-regional channel, and the management module communicates with the remaining components in the hardware device (excluding the management module) through the intra-regional channel. The management modules in different hardware devices establish a first communication connection and a second communication connection. The communication overhead of the second communication connection is greater than that of the first communication connection, and / or the communication cost of the first communication connection is lower than that of the second communication connection, and / or the communication quality of the second communication connection is lower than that of the first communication connection. When the first communication connection is in a normal state, the management module uses the first communication connection to communicate with management modules in other hardware devices; when the first communication connection is in an abnormal state, it uses the second communication connection to communicate with management modules in other hardware devices.
[0159] In one possible implementation, the management module includes a computing unit, a storage unit, and a communication unit; the computing unit provides computing power to the management module; the storage unit provides storage capacity to the management module; and the communication unit provides communication capability to the management module.
[0160] In one possible implementation, the storage unit is used to store the startup program instructions; the computing unit is used to run the startup program instructions to complete the self-starting of the management module.
[0161] The hardware device provided in the embodiments of this application has been described above. Corresponding to the above method, the embodiments of this application also provide a method for operating the hardware device. Figure 5 is a flowchart of a method for operating the hardware device provided in the embodiments of this application. As shown in Figure 5, the method includes:
[0162] Step 501: In response to the management module acting as the main management module, the main management module instructs some of the distributed nodes among multiple distributed nodes to start the distributed operating system.
[0163] Step 502: After all distributed nodes in some distributed nodes have completed the startup of the distributed operating system, the main management module transfers the device control of all hardware devices in the distributed system to the distributed operating system, so that the distributed operating system can manage the distributed system based on the device control.
[0164] In one possible implementation, in response to the management module acting as the main management module, the method further includes: the main management module providing the distributed operating system with first resource information of all hardware devices in the distributed system, so that the distributed operating system manages the distributed system based on the first resource information and device control of all hardware devices in the distributed system, wherein the first resource information is used to indicate the capabilities of the hardware devices.
[0165] In one possible implementation, in response to the management module acting as an assistant management module, the method further includes: the assistant management module obtaining first resource information of its hardware device and providing the first resource information to the main management module, the first resource information being used to indicate the capabilities of the hardware device; in response to the management module acting as the main management module, the main management module instructing some of the distributed nodes among the multiple distributed nodes to start the distributed operating system, including: the main management module instructing some of the distributed nodes among the multiple distributed nodes to start the distributed operating system based on the first resource information of all hardware devices in the distributed system.
[0166] In one possible implementation, the method further includes: the management module loading the initialization configuration information of its hardware device and performing initialization configuration on the hardware device.
[0167] In one possible implementation, in response to the hardware device having multiple remaining components, the management module loads the initialization configuration information of the hardware device and performs initialization configuration on the hardware device, including: the management module loads the initialization configuration information of the multiple remaining components respectively and performs initialization configuration on the multiple remaining components, wherein the remaining components are the components in the hardware device other than the management module.
[0168] In one possible implementation, in response to the management module acting as the main management module, the method further includes: the main management module receiving a fault handling request sent by the distributed operating system, and performing a fault clearing operation on the fault based on the fault handling request, wherein the fault handling request is used to request the main management module to handle the fault.
[0169] In one possible implementation, in response to the management module acting as the main management module, the method further includes: the main management module initializing the hardware device when it cannot clear the fault, and reporting the fault information to the administrator of the distributed system when initializing the hardware device fails to clear the fault.
[0170] In one possible implementation, the method further includes: the management module receiving configuration instructions sent by the administrator of the distributed system, and configuring itself as the main management module or an auxiliary management module based on the configuration instructions.
[0171] In one possible implementation, the method further includes: the management module providing its own second resource information to all management modules in the distributed system except itself, and configuring itself as a main management module or an assistant management module based on the second resource information of all management modules, wherein the second resource information is used to indicate the capabilities of the management module.
[0172] In one possible implementation, the management module loads the initialization configuration information of its hardware device and performs initialization configuration on the hardware device.
[0173] In one possible implementation, the hardware device is configured with an intra-regional channel, and the management module communicates with the remaining components in the hardware device (excluding the management module) through the intra-regional channel. The management modules in different hardware devices establish a first communication connection and a second communication connection. The communication overhead of the second communication connection is greater than that of the first communication connection, and / or the communication cost of the first communication connection is lower than that of the second communication connection, and / or the communication quality of the second communication connection is lower than that of the first communication connection. When the first communication connection is in a normal state, the management module uses the first communication connection to communicate with management modules in other hardware devices; when the first communication connection is in an abnormal state, it uses the second communication connection to communicate with management modules in other hardware devices.
[0174] In one possible implementation, the management module includes a computing unit, a storage unit, and a communication unit; the computing unit provides computing power to the management module; the storage unit provides storage capacity to the management module; and the communication unit provides communication capability to the management module.
[0175] In one possible implementation, the storage unit is used to store startup program instructions, and the method further includes: the computing unit running the startup program instructions to complete the self-starting of the management module.
[0176] Those skilled in the art will understand that, for the sake of convenience and brevity, the various components of the hardware device described above and their specific working processes can be referred to the corresponding content in the foregoing, and will not be repeated here.
[0177] The following provides examples illustrating the basic hardware structures involved in the embodiments of this application.
[0178] This application also provides a computing device 600. As shown in FIG6, the computing device 600 includes: a bus 602, a processor 604, a memory 606, and a communication interface 608. The processor 604, the memory 606, and the communication interface 608 communicate with each other via the bus 602. The computing device 600 may be a server. It should be understood that this application does not limit the number of processors and memories in the computing device 600.
[0179] Bus 602 can be a Peripheral Component Interconnect (PCI) bus or an Extended Industry Standard Architecture (EISA) bus, etc. Buses can be categorized as address buses, data buses, control buses, etc. For ease of illustration, only one line is used in Figure 6, but this does not imply that there is only one bus or one type of bus. Bus 602 can include pathways for transmitting information between various components of computing device 600 (e.g., memory 606, processor 604, communication interface 608).
[0180] Processor 604 may include any one or more processors such as a central processing unit (CPU), a graphics processing unit (GPU), a microprocessor (MP), or a digital signal processor (DSP).
[0181] Memory 606 may include volatile memory, such as random access memory (RAM). Processor 604 may also include non-volatile memory, such as read-only memory (ROM), flash memory, hard disk drive (HDD), or solid state drive (SSD).
[0182] The memory 606 stores executable program code, which the processor 604 executes to implement the management method of the distributed system or the operation method of the hardware device, respectively. That is, the memory 606 stores instructions for executing the management method of the distributed system or the operation method of the hardware device.
[0183] The communication interface 608 uses transceiver modules, such as, but not limited to, network interface cards and transceivers, to enable communication between the computing device 600 and other devices or communication networks.
[0184] This application also provides a computing device cluster. The computing device cluster includes at least one computing device. The computing device can be a server, such as a central server, an edge server, or a local server in a local data center. In some embodiments, the computing device can also be a terminal device such as a desktop computer, a laptop computer, or a smartphone.
[0185] As shown in Figure 7, the computing device cluster includes at least one computing device 600. The memory 606 of one or more computing devices 600 in the computing device cluster may store the same instructions for executing management methods of the distributed system.
[0186] In some possible implementations, the memory 606 of one or more computing devices 600 in the computing device cluster may also store partial instructions for executing management methods of the distributed system. In other words, a combination of one or more computing devices 600 can jointly execute instructions for executing management methods of the distributed system.
[0187] It should be noted that the memories 606 in different computing devices 600 within the computing device cluster can store different instructions, each used to execute a portion of the functions of the management device in the distributed system. In other words, the instructions stored in the memories 606 of different computing devices 600 can implement the functions of different servers in the distributed system.
[0188] In some possible implementations, one or more computing devices in a computing device cluster can be connected via a network. This network can be a wide area network (WAN) or a local area network (LAN), etc. Figure 8 illustrates one possible implementation. As shown in Figure 8, two computing devices, 600A and 600B, are connected via a network. Specifically, they are connected to the network through the communication interfaces in each computing device.
[0189] It should be understood that the functions of computing device 600A shown in Figure 8 can also be performed by multiple computing devices 600. Similarly, the functions of computing device 600B can also be performed by multiple computing devices 600.
[0190] This application also provides another computing device cluster. The connection relationship between the computing devices in this computing device cluster can be similarly referred to the connection methods of the computing device clusters in Figures 7 and 8. The difference is that the memory 606 of one or more computing devices 600 in this computing device cluster can store the same instructions for executing the management method of the distributed system.
[0191] In some possible implementations, the memory 606 of one or more computing devices 600 in the computing device cluster may also store partial instructions for executing management methods of the distributed system. In other words, a combination of one or more computing devices 600 can jointly execute instructions for executing management methods of the distributed system.
[0192] This application also provides a computer program product containing instructions. The computer program product may be software or program products containing instructions, capable of running on a computing device or stored on any usable medium. When the computer program product runs on a computing device, it enables the computing device to implement a distributed system management method or a hardware device operation method.
[0193] This application also provides a computer-readable storage medium. The computer-readable storage medium can be any available medium that a computing device can store, or a data storage device such as a data center that includes one or more available media. The available medium can be a magnetic medium (e.g., floppy disk, hard disk, magnetic tape), an optical medium (e.g., DVD), or a semiconductor medium (e.g., solid-state drive). The computer-readable storage medium includes instructions that instruct the computing device to perform a management method for a distributed system or a method for operating a hardware device, or instruct the computing device to perform a management method for a distributed system or a method for operating a hardware device.
[0194] Those skilled in the art will understand that all or part of the steps of the above embodiments can be implemented by hardware or by a program instructing related hardware. The program can be stored in a computer-readable storage medium, such as a read-only memory, a disk, or an optical disk.
[0195] It should be noted that all information (including but not limited to user device information, user personal information, etc.), data (including but not limited to data used for analysis, stored data, displayed data, etc.), and signals involved in this application have been authorized by the user or fully authorized by all parties, and the collection, use, and processing of related data must comply with the relevant laws, regulations, and standards of the relevant countries and regions. For example, the raw data and executable code involved in this application were obtained with full authorization.
[0196] In the embodiments of this application, the terms "first," "second," and "third" are used for descriptive purposes only and should not be construed as indicating or implying relative importance. The term "at least one" refers to one or more, and the term "multiple" refers to two or more, unless otherwise expressly defined.
[0197] In this application, the term "and / or" is merely a description of the relationship between related objects, indicating that three relationships can exist. For example, A and / or B can represent: A existing alone, A and B existing simultaneously, or B existing alone. Additionally, the character " / " in this document generally indicates that the preceding and following related objects have an "or" relationship.
[0198] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of this application, and are not intended to limit it. Although this application has been described in detail with reference to the foregoing embodiments, those skilled in the art should understand that modifications can still be made to the technical solutions described in the foregoing embodiments, or equivalent substitutions can be made to some of the technical features; and these modifications or substitutions do not cause the essence of the corresponding technical solutions to deviate from the protection scope of the technical solutions of the embodiments of this invention.
Claims
1. A distributed system, characterized in that, The distributed system includes multiple distributed nodes that are connected to each other. Each distributed node is configured with one or more hardware devices that provide the necessary capabilities for its operation. Each hardware device is equipped with a management module. One of the management modules in the distributed system is used as the main management module of the distributed system. The main management module is used to instruct some of the distributed nodes among multiple distributed nodes to start the distributed operating system. The first distributed node in the partial distributed nodes is used to start the distributed operating system based on the instructions of the main management module. The first distributed node is one of the partial distributed nodes. The main management module is also used to transfer the control of all hardware devices in the distributed system to the distributed operating system after all distributed nodes in the distributed nodes have completed the startup of the distributed operating system.
2. The distributed system as described in claim 1, characterized in that, The main management module is also used to provide the distributed operating system with first resource information of all hardware devices in the distributed system, the first resource information being used to indicate the capabilities of the hardware devices; The distributed operating system is also used to manage the distributed system based on the first resource information of all hardware devices in the distributed system.
3. The distributed system as described in claim 1 or 2, characterized in that, Of all the management modules, the management modules other than the main management module are used as auxiliary management modules of the distributed system; The assistance management module is used to obtain the first resource information of its hardware device and provide the first resource information to the main management module. The first resource information is used to indicate the capabilities of the hardware device. The main management module is specifically used to instruct some of the distributed nodes among multiple distributed nodes to start the distributed operating system based on the first resource information of all hardware devices in the distributed system.
4. The distributed system as described in any one of claims 1 to 3, characterized in that, The management module is also used to load the initialization configuration information of the hardware device it resides in and to initialize the hardware device.
5. The distributed system as described in claim 4, characterized in that, In response to the hardware device having multiple remaining components, the management module is specifically used to load the initialization configuration information of the multiple remaining components respectively, and to initialize the multiple remaining components. The remaining components are the components in the hardware device other than the management module.
6. The distributed system as described in any one of claims 1 to 5, characterized in that, The distributed operating system is also used to handle the fault when the hardware device fails, and to send a fault handling request to the main management module when the fault cannot be handled. The fault handling request is used to request the main management module to handle the fault. The main management module is also used to perform fault clearing operations on the fault based on the fault handling request.
7. The distributed system as described in claim 6, characterized in that, The main management module is also used to initialize the hardware device when the fault cannot be cleared, and to report the fault information to the administrator of the distributed system when initializing the hardware device fails to clear the fault.
8. The distributed system as described in any one of claims 1 to 7, characterized in that, The management module is also used to receive configuration instructions sent by the administrator of the distributed system, and configure itself as the main management module or the auxiliary management module based on the configuration instructions.
9. The distributed system as described in any one of claims 1 to 7, characterized in that, The management module is also used to provide its own second resource information to all management modules except itself, and to configure itself as the main management module or the assisting management module based on the second resource information of all management modules. The second resource information is used to indicate the capabilities of the management module.
10. The distributed system as described in any one of claims 1 to 9, characterized in that, The hardware device is configured with an intra-regional channel, and the remaining components in the hardware device communicate with the management module in the hardware device through the intra-regional channel. The remaining components are the components in the hardware device other than the management module. A first communication connection and a second communication connection are established between management modules in different hardware devices. The communication overhead of the second communication connection is greater than that of the first communication connection, and / or the communication cost of the first communication connection is lower than that of the second communication connection, and / or the communication quality of the second communication connection is lower than that of the first communication connection. When the first communication connection is in a normal state, the management module uses the first communication connection to communicate with management modules in other hardware devices. When the first communication connection is in an abnormal state, the management module uses the second communication connection to communicate with management modules in other hardware devices.
11. The distributed system as described in any one of claims 1 to 10, characterized in that, The management module includes a computing unit, a storage unit, and a communication unit. The computing unit is used to provide computing power to the management module; The storage unit is used to provide storage capacity for the management module; The communication unit is used to provide communication capabilities for the management module.
12. The distributed system as described in claim 11, characterized in that, The storage unit is used to store startup program instructions; The computing unit is used to run the startup program instructions to complete the self-starting of the management module.
13. A management method for a distributed system, characterized in that, The distributed system includes multiple distributed nodes that are interconnected. Each distributed node is configured with one or more hardware devices that provide the necessary operational capabilities to its host node. Each hardware device includes a management module, and one of the management modules in the distributed system serves as the main management module. The method includes: The main management module instructs some of the distributed nodes among multiple distributed nodes to start the distributed operating system; The first distributed node in the partial distributed nodes starts the distributed operating system based on the instruction of the main management module. The first distributed node is one of the partial distributed nodes. After all distributed nodes in the distributed system have started the distributed operating system, the main management module transfers control of all hardware devices in the distributed system to the distributed operating system.
14. The method as described in claim 13, characterized in that, The method further includes: The main management module provides the distributed operating system with first resource information of all hardware devices in the distributed system, and the first resource information is used to indicate the capabilities of the hardware devices. The distributed operating system manages the distributed system based on the device control rights, including: The distributed operating system manages the distributed system based on the device control and the first resource information.
15. The method as described in claim 13 or 14, characterized in that, Of all the management modules, those other than the main management module serve as auxiliary management modules for the distributed system. Before the main management module instructs some of the distributed nodes to start the distributed operating system, the method further includes: The assistance management module obtains the first resource information of its hardware device and provides the first resource information to the main management module. The first resource information is used to indicate the capabilities of the hardware device. The main management module instructs some of the distributed nodes among multiple distributed nodes to start the distributed operating system, including: The main management module, based on the first resource information of all hardware devices in the distributed system, instructs some of the distributed nodes among multiple distributed nodes to start the distributed operating system.
16. The method as described in any one of claims 13 to 15, characterized in that, Before the main management module instructs some of the distributed nodes among the multiple distributed nodes to start the distributed operating system, the method further includes: The management module loads the initialization configuration information of its hardware device and initializes the hardware device.
17. The method as described in claim 16, characterized in that, In response to the hardware device having multiple remaining components, the management module loads the initialization configuration information of the hardware device it resides in and performs initialization configuration on the hardware device, including: The management module loads the initialization configuration information of the plurality of remaining components and performs initialization configuration on the plurality of remaining components, wherein the remaining components are the components in the hardware device other than the management module.
18. The method as described in any one of claims 13 to 17, characterized in that, The distributed operating system manages the distributed system based on the device control rights, including: When the hardware device malfunctions, the distributed operating system handles the malfunction and, if it cannot handle the malfunction, sends a malfunction handling request to the main management module, which requests the main management module to handle the malfunction. The method further includes: The main management module performs a fault clearing operation on the fault based on the fault handling request.
19. The method as described in claim 18, characterized in that, The method further includes: When the main management module is unable to clear the fault, it initializes the hardware device, and when initializing the hardware device fails to clear the fault, it reports the fault information to the administrator of the distributed system.
20. The method according to any one of claims 13 to 19, characterized in that, Before the main management module instructs some of the distributed nodes among the multiple distributed nodes to start the distributed operating system, the method further includes: The management module receives configuration instructions sent by the administrator of the distributed system and configures itself as the main management module or the auxiliary management module based on the configuration instructions.
21. The method according to any one of claims 13 to 19, characterized in that, Before the main management module instructs some of the distributed nodes among the multiple distributed nodes to start the distributed operating system, the method further includes: The management module provides its second resource information to all management modules except itself. Based on the second resource information of all management modules, it configures itself as the main management module or the assisting management module. The second resource information is used to indicate the capabilities of the management module.
22. The method as described in any one of claims 13 to 21, characterized in that, The hardware device is configured with an intra-regional channel, and the remaining components in the hardware device communicate with the management module in the hardware device through the intra-regional channel. The remaining components are the components in the hardware device other than the management module. A first communication connection and a second communication connection are established between management modules in different hardware devices. The communication overhead of the second communication connection is greater than that of the first communication connection, and / or the communication cost of the first communication connection is lower than that of the second communication connection, and / or the communication quality of the second communication connection is lower than that of the first communication connection. When the first communication connection is in a normal state, the management module uses the first communication connection to communicate with management modules in other hardware devices. When the first communication connection is in an abnormal state, the management module uses the second communication connection to communicate with management modules in other hardware devices.
23. The method as described in any one of claims 13 to 22, characterized in that, The management module includes a computing unit, a storage unit, and a communication unit. The computing unit is used to provide computing power to the management module; The storage unit is used to provide storage capacity for the management module; The communication unit is used to provide communication capabilities for the management module.
24. The method as described in claim 23, characterized in that, The storage unit is used to store boot program instructions. Before the main management module instructs some of the distributed nodes among multiple distributed nodes to start the distributed operating system, the method further includes: The computing unit executes the startup program instructions to complete the self-starting of the management module.
25. A hardware device, characterized in that, The hardware device is used to be deployed in the distributed nodes of the distributed system. The hardware device is used to provide the necessary capabilities for operation to the distributed node it is located in. The hardware device is equipped with a management module, which is used as the main management module or auxiliary management module of the distributed system. In response to the management module being used as the main management module, the main management module is used to instruct a portion of the distributed nodes in the distributed system to start the distributed operating system, and after all the distributed nodes in the portion of the distributed nodes have completed the startup of the distributed operating system, transfer the device control of all hardware devices in the distributed system to the distributed operating system.
26. A method for operating a hardware device, characterized in that, The hardware device is deployed in the distributed nodes of the distributed system, and provides the necessary operational capabilities to the distributed node it resides in. The hardware device includes a management module, which serves as either the main management module or a secondary management module of the distributed system. The method includes: In response to the management module acting as the main management module, the main management module instructs a portion of the distributed nodes among the multiple distributed nodes to start the distributed operating system, and after all the distributed nodes among the portion of the distributed nodes have completed the startup of the distributed operating system, transfers the device control of all hardware devices in the distributed system to the distributed operating system.
27. A computing device cluster, characterized in that, The system includes multiple computing devices, each comprising multiple processors and multiple memories, wherein program instructions are stored in the multiple memories, and the multiple processors execute the program instructions, thereby enabling the cluster of computing devices to implement the distributed system according to any one of claims 1 to 12.
28. A computing device, characterized in that, It includes a memory and a processor, the memory storing program instructions, and the processor executing the program instructions to implement the hardware device of claim 25.
29. A computer-readable storage medium, characterized in that, Includes program instructions that, when executed on a computing device, cause the computing device to perform the method as described in any one of claims 13 to 24, 26.
30. A computer program product containing instructions, characterized in that, When the instruction is executed by the computing device, the computing device performs the method as described in any one of claims 13 to 24, 26.
Citation Information
Patent Citations
Distributed job execution method, master node, system, physical machine and storage medium
CN113434302A
Distributed cluster load control method and device
CN116107731A
Distributed system configuration distribution method and device
CN117112223A
Role-based node specialization within a distributed processing system
US20060015505A1
Service management modes of operation in distributed node service management
US20140047116A1