Server task management system, method, device and medium based on BMC cooperation
By using the BMC-coordinated server task management system and leveraging the BMC decision and analysis module for logical analysis and decision-making, the slow response problem caused by CPU resource consumption in traditional solutions has been solved, achieving efficient server task management and improving business processing efficiency.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2026-01-08
- Publication Date
- 2026-03-31
AI Technical Summary
Traditional server monitoring and control solutions suffer from slow business processing response and low efficiency because information and task processing are concentrated on the CPU. Furthermore, the BMC is not effectively utilized on high-performance servers and cannot be operated when the system crashes or the OS becomes unresponsive.
A server task management system based on BMC collaboration is adopted. The BMC decision and analysis module performs logical analysis and decision-making, generates decision instructions, and shares and stores data with the server operating system through a shared data area, realizing out-of-band analysis and in-band execution, thus decoupling task processing.
This reduces the resource consumption of complex tasks on the server operating system, ensures the purity of the user's business environment, and improves business processing response speed and efficiency.
Smart Images

Figure CN121478362B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of server management technology, and in particular to a server task management system, method, device and medium based on BMC collaboration. Background Technology
[0002] In complex computing devices such as servers, real-time monitoring, data collection and analysis of the operating status of internal hardware components, and precise control of these components, are fundamental to achieving efficient and stable operation and maintenance. However, traditional monitoring and control solutions have inherent architectural contradictions, including software maintenance relying on the business network and fault propagation triggering cascading risks to the business.
[0003] Currently, technical solutions for monitoring and managing internal server components typically deploy all data acquisition, analysis, and control logic entirely within the host operating system, running as kernel modules, drivers, or user-space daemons, directly accessing hardware through interfaces provided by the operating system. This usually involves periodically polling hardware sensor data and executing control commands according to preset policies. This periodic operation and data processing inevitably consumes CPU computing cycles and memory bandwidth. In high-load or latency-sensitive business scenarios, this periodic resource contention can become an unpredictable source of interference, causing fluctuations in business processing latency and making it impossible to operate when the system crashes or the OS becomes unresponsive.
[0004] Although existing technologies have proposed methods for obtaining in-band information from the BMC (Baseboard Management Controller), they have not been implemented on various components of high-performance servers. They tend to be used as data receivers, and the BMC only implements data display functions. The CPU remains the core for information processing and completing complex tasks. As a result, there are problems such as slow business processing response and low efficiency in information monitoring and management of the server. Summary of the Invention
[0005] This application provides a server task management system, method, device, and medium based on BMC collaboration to solve the technical problems of slow business processing response and low efficiency caused by the concentration of various information and task processing on the CPU in the prior art.
[0006] According to one aspect of the embodiments of this application, this application provides a server task management system based on BMC collaboration, including a BMC decision and analysis module, a server operating system, and a shared data area, wherein: the BMC decision and analysis module is used to perform logical analysis and decision-making based on hardware status data collected by the server operating system when receiving a task of a preset type, and generate decision instructions; the server operating system is used to collect hardware status data and execute the decision instructions generated by the BMC decision and analysis module; the shared data area is used to communicatively connect the BMC decision and analysis module and the server operating system, store the decision instructions and the hardware status data, and share the data.
[0007] Optionally, the BMC decision and analysis module includes a first interface unit, a BMC-side standard driver unit, and a decision reasoning unit. The first interface unit is configured to communicate with the BMC-side standard driver unit and a second interface unit on the server motherboard via a standardized hardware management bus, writing the decision instructions generated by the decision reasoning unit into the shared data area, which is located on the server motherboard, or receiving target hardware status data corresponding to the task. The BMC-side standard driver unit is configured to communicate with the decision reasoning unit and the first interface unit via a standardized hardware management bus, transmitting the decision instructions generated by the decision reasoning unit to the first interface unit, or transmitting the target hardware status data received by the first interface unit to the decision reasoning unit. The decision reasoning unit is configured to perform decision reasoning based on the acquired target hardware status data when receiving a task of the preset type, generating the decision instructions. The preset type of task includes computationally intensive decision reasoning tasks, which are determined based on the input scale and dimensional parameters, logical structure and dependency parameters, and computational resource consumption parameters of the task data.
[0008] Optionally, the server operating system includes a host-side standard driver unit, a data acquisition unit, and an instruction control unit; the data acquisition unit is used to collect hardware status data of all hardware devices; the instruction control unit is used to monitor the shared data area in real time, and when the decision instruction is detected, to read and execute the decision instruction based on the host-side standard driver unit; the host-side standard driver unit is used to communicate with the second interface unit, the data acquisition unit, and the instruction control unit through a standardized hardware management bus, so as to send the collected hardware status data of each hardware device to the shared data area for storage, or to obtain the decision instruction from the shared data area and send it to the instruction control unit.
[0009] Optionally, the shared data area is located on the BIOS Flash chip, which is also used to store the data acquisition and instruction control logic of the server operating system. When the server operating system is in the startup phase, the data acquisition logic and / or instruction control logic required by the server operating system during the startup phase are loaded into the kernel of the server operating system.
[0010] Optionally, the system is further configured to: identify the received task, determine whether the input size and dimension parameters of the task data exceed the input size and dimension parameter thresholds, whether the logical structure and dependency parameters exceed the logical structure and dependency parameter thresholds, and whether the computing resource consumption parameters exceed the computing resource consumption parameter thresholds; when any one of the input size and dimension parameters of the task data exceeds the input size and dimension parameter thresholds, the logical structure and dependency parameters exceed the logical structure and dependency parameter thresholds, or the computing resource consumption parameters exceed the computing resource consumption parameter thresholds is satisfied, the task is determined to be the computationally intensive decision-making reasoning task.
[0011] Optionally, the BMC-side standard driver unit is further configured to record the received target hardware status data based on the built-in memory, encapsulate the target hardware status data into a target IPMI message in IPMI format, and transmit the target IPMI message to the decision reasoning unit through the IPMI interface.
[0012] Optionally, the instruction control unit is further configured to: obtain the target byte of the decision instruction based on IPMI through data format conversion; and convert the target byte into an instruction of the target format and issue it to the corresponding hardware device.
[0013] According to another aspect of the embodiments of this application, this application provides a server task management method based on BMC collaboration, applicable to the aforementioned server task management system based on BMC collaboration. The method includes: storing hardware status data of various hardware devices collected by the server operating system in a shared data area; when a task of a preset type is received, reading the hardware status data corresponding to the task from the shared data area through BMC, performing logical analysis and decision-making, and generating a decision instruction; transmitting the decision instruction to the shared data area for storage; when the server operating system detects the decision instruction being written to the shared data area, reading the decision instruction, and executing the instruction based on the decision instruction.
[0014] According to another aspect of the embodiments of this application, this application provides a computer device, including: a processor, a memory, and a network interface. The memory stores machine-readable instructions executable by the processor. When the computer device is running, the processor communicates with the memory through the network interface, and the processor executes the machine-readable instructions to perform the steps of the server task management system based on BMC collaboration as described above.
[0015] According to another aspect of the embodiments of this application, this application provides a computer-readable medium having processor-executable non-volatile program code that causes the processor to perform the steps of the BMC-based collaborative server task management system.
[0016] Compared with related technologies, the technical solutions provided in this application have the following advantages:
[0017] This application provides a server task management system based on BMC collaboration. By using the BMC decision and analysis module as the core information processing module, it performs task analysis and decision-making for complex and intensive tasks. It connects to the upper-layer server operating system for lightweight data acquisition and instruction execution, realizing out-of-band analysis and in-band execution, completing functional decoupling and optimized deployment. Furthermore, it stores and shares decision instructions and hardware status data through a shared data area. This is more conducive to reducing the resource consumption of the server operating system side for complex and intensive task processing, maximizing the purity of the user's business environment and reducing resource encroachment, thereby accelerating the business processing response speed of the server operating system side and improving processing efficiency. Attached Figure Description
[0018] The accompanying drawings, which are incorporated in and form part of this specification, illustrate embodiments consistent with this application and, together with the description, serve to explain the principles of this application.
[0019] To more clearly illustrate the technical solutions in the embodiments of this application or related technologies, the accompanying drawings used in the description of the embodiments or related technologies will be briefly introduced below. Obviously, those skilled in the art can obtain other drawings based on these drawings without creative effort.
[0020] Figure 1 This is a schematic diagram of a server task management system based on BMC collaboration provided in an embodiment of this application;
[0021] Figure 2 This is a schematic diagram of an optional BMC-based collaborative server task management system provided according to an embodiment of this application;
[0022] Figure 3 This is a flowchart illustrating an optional server task management method based on BMC collaboration provided according to an embodiment of this application;
[0023] Figure 4 This is a schematic diagram of an optional computer device structure provided for an embodiment of this application. Detailed Implementation
[0024] To make the objectives, technical solutions, and advantages of the embodiments of this application clearer, the technical solutions of the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of this application, not all embodiments. Based on the embodiments of this application, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of this application.
[0025] To address the problems mentioned in the background art, according to one aspect of the embodiments of this application, an embodiment of a server task management system based on BMC collaboration is provided.
[0026] like Figure 1 As shown, Figure 1 A diagram of a server task management system based on BMC collaboration is provided for an embodiment of the present invention. The server task management system based on BMC collaboration includes: a BMC decision and analysis module 1, a server operating system 2, and a shared data area 3, wherein:
[0027] The BMC decision and analysis module 1 is used to perform logical analysis and decision-making based on the hardware status data collected by the server operating system 2 when receiving a task of a preset type, and to generate decision instructions.
[0028] The server operating system 2 is used to collect hardware status data and execute the decision instructions generated by the BMC decision and analysis module 1.
[0029] The shared data area 3 is used to communicate with the BMC decision and analysis module 1 and the server operating system 2, to store the decision instructions and the hardware status data, and to share the data.
[0030] In this embodiment, the BMC-based server task management system is applicable to various server monitoring, management, and control scenarios with strict requirements for business performance. The BMC is an independent hardware module within the server, part of the IPMI standard, primarily used for remote monitoring and management of the server. For example, it can perform remote power on / off operations and mount ISO images to install operating systems, without consuming server CPU computing resources.
[0031] In this embodiment, the server communicates with the terminal device via a network and can provide services to the terminal or clients installed on the terminal. In this embodiment, the user can use the terminal device to interact with the server via the network to receive the processing results of the tasks issued by the user based on the terminal device or to send task requests to the server. Various communication client applications can be installed on the terminal device, such as web browser applications, search applications, instant messaging tools, etc. The terminal device can be various electronic devices with a display screen that support web browsing, including but not limited to smartphones, tablets, laptops, e-book readers, MP3 players (Moving Picture Experts Group Audio Layer III), MP4 players (Moving Picture Experts Group Audio Layer IV), laptops, and desktop computers, etc.
[0032] The aforementioned preset task types can refer to data processing tasks with higher complexity, and the complexity can be determined based on different threshold parameters. Through interaction between the server and the terminal device, when the server receives various types of task requests from the terminal device, it can decode and analyze the task request to determine the task type. When the task type matches the preset type, the task is assigned to the BMC for logical data analysis and decision-making.
[0033] The BMC decision and analysis module 1, with an independent BMC at its core, is deployed on a separate out-of-band management controller and is responsible for executing complex, computationally intensive logical analysis and decision-making tasks. Due to the physical isolation of the BMC, it operates completely independently of the server operating system 2 (server OS) during the decision-making process, with no direct process or resource dependencies. This ensures the independence of various information processing and analysis algorithms; for example, it does not compete for main business resources such as CPU, memory, and network during computationally intensive tasks, achieving complete isolation from the user environment.
[0034] The server operating system 2 (server OS) can collect core hardware status data, including but not limited to CPU / GPU temperature, voltage, frequency, load, power output, and memory bandwidth usage, through its installed sensors. The collected hardware status data is represented in JSON format, with data acquisition latency controlled at the microsecond level to ensure real-time and accurate status awareness. The collected hardware status data is stored in the shared data area 3. When the BMC decision and analysis module 1 generates decision instructions, these instructions are stored in the shared data area 3. The server OS can read the decision instructions from the shared data area 3 and invoke the corresponding instruction control logic to control the corresponding hardware devices to execute the instructions.
[0035] The shared data area 3 is a pre-allocated, non-volatile data exchange area on the BIOS Flash chip for use between the server OS and the BMC. This ensures that critical historical data is retained even during system restarts or brief power outages, providing continuous data support for BMC decision-making. The BIOS Flash chip is located on the server motherboard. Periodically and with low latency, the server OS writes various hardware status data to the shared data area 3 on the BIOS Flash chip of the server motherboard. This avoids continuous memory and CPU usage by the raw data, keeping CPU and memory usage at extremely low levels. Furthermore, the server OS can monitor and acquire decision commands from the shared data area 3. The BMC decision and analysis module 1 can store decision commands in the shared data area 3 and read the raw data collected by the server OS from it. Because the shared data area 3 acts as a communication intermediary, it enables efficient and reliable data exchange between out-of-band and in-band units, avoiding the overhead of complex network protocol stacks. This solution achieves low-cost cross-level data sharing through the standard BIOS Flash component, minimizing disruption to the business environment and demonstrating strong practicality.
[0036] In this embodiment of the invention, the BMC decision and analysis module 1 is used as the core information processing module to perform task analysis and decision-making for complex and intensive tasks. It connects to the upper-layer server operating system 2 for lightweight data acquisition and instruction execution, realizing out-of-band analysis and in-band execution, completing functional decoupling and optimized deployment. Furthermore, the decision instructions and hardware status data are stored through the shared data area 3 to achieve low-cost cross-level data sharing, minimizing the encroachment on the business environment. The solution is highly practical, which is more conducive to minimizing the resource consumption of the business environment by complex and intensive task processing, maximizing the purity of the user's business environment and reducing resource encroachment, thereby accelerating the business processing response speed on the server operating system 2 side and improving processing efficiency.
[0037] In some optional embodiments, the BMC decision and analysis module 1 includes a first interface unit, a BMC-side standard driving unit, and a decision reasoning unit;
[0038] The first interface unit is used to communicate with the BMC-side standard driver unit and the second interface unit set on the server motherboard through a standardized hardware management bus, and to write the decision instruction generated by the decision reasoning unit into the shared data area 3, which is located on the server motherboard, or to receive target hardware status data corresponding to the task.
[0039] The BMC-side standard driver unit is used to communicate with the decision reasoning unit and the first interface unit through a standardized hardware management bus, and to transmit the decision instructions generated by the decision reasoning unit to the first interface unit, or to transmit the target hardware status data received by the first interface unit to the decision reasoning unit.
[0040] The decision reasoning unit is used to perform decision reasoning based on the acquired target hardware status data when receiving the preset type of task, and generate the decision instruction. The preset type of task includes a computationally intensive decision reasoning task, which is determined based on the input scale and dimension parameters, logical structure and dependency parameters, and computational resource consumption parameters of the task data.
[0041] In this embodiment, the first interface unit can be a standard interface on the BMC side, serving as a communication connection interface, including I2C, USB, PCIe, etc. The first interface unit communicates with the standard driver unit on the BMC side and the second interface unit on the server motherboard via a standardized hardware management bus, thereby enabling the writing of decision instructions generated by the decision inference unit into the shared data area 3 on the BIOS Flash chip. It can also retrieve target hardware status data corresponding to the task from the shared data area 3 on the BIOS Flash chip based on the first interface unit. The second interface unit is a standard interface on the server motherboard, including I2C, USB, PCIe, etc. The target hardware status data can be any type or multi-dimensional data from the hardware status data of various hardware devices collected by the server OS, such as CPU and memory temperature, occupied space, utilization rate, etc.
[0042] The BMC-side standard driver unit can perform functions such as data adaptation and conversion, protocol parsing and encapsulation, and control signal transmission. In this embodiment, the BMC-side standard driver unit, as a standard driver on the BMC side, includes I2C, USB, PCIe, etc. It is connected between the decision-making inference unit and the first interface unit via a standardized hardware management bus. It can output the decision instructions generated by the decision-making inference unit to the first interface unit, and then transmit them to the shared data area 3 for instruction storage. It can also be used to perform data adaptation and conversion, protocol parsing and encapsulation, and control signal transmission on the target hardware status data received by the first interface unit before transmitting it to the decision-making inference unit for data analysis.
[0043] The communication is achieved through a standardized hardware management bus. The key collaboration mechanism lies in the BIOS's ability to load necessary acquisition and control logic into the operating system kernel during the boot phase. Runtime data caching and exchange are handled through shared data area 3 in the BIOS Flash, eliminating the need to load the complete protocol stack and avoiding issues such as packet parsing delays and network bandwidth consumption. Standardized hardware management buses include I2C, SMBus, and PMBus.
[0044] The decision reasoning unit is primarily used to handle computationally intensive decision reasoning tasks. The most resource-intensive reasoning tasks are offloaded to a separate BMC for data analysis, while the server OS only performs lightweight data acquisition and instruction control. This significantly reduces the consumption of core business resources such as CPU and memory, resulting in low invasiveness. Furthermore, the independent physical environment of the BMC completely isolates its decision-making process from the user's business OS, preventing it from being affected by software conflicts or load spikes within the OS, thus ensuring higher reliability.
[0045] In some examples, whether a task is computationally intensive can be determined by quantifying at least one of the following parameters: input size and dimensionality of the task data, logical structure and dependency parameters, and computational resource consumption parameters. Input size and dimensionality parameters include state space, action space, and input feature dimensions; logical structure and dependency parameters include decision tree depth and dependency complexity; and computational resource consumption parameters include inference time, memory usage, and computational intensity. For example, the determination can be based on the size of the set of all possible states in the decision-making task, the estimated inference time, and the number of input data features. Corresponding thresholds can be set for each type of parameter.
[0046] In this embodiment, in the BMC decision and analysis module 1, which is independent of the server OS, the data interaction between the BMC and the BIOS Flash on the server motherboard can be realized based on the first interface unit, including instruction storage and data reading; data conversion and transmission can be realized through the BMC-side standard driver unit; and data analysis can be performed on complex computationally intensive decision reasoning tasks through the decision reasoning unit, which can reduce the encroachment on the CPU resources in the server host, so that the CPU can maintain a better task response speed and improve task processing efficiency.
[0047] In some optional embodiments, the server operating system 2 includes a host-side standard driver unit, a data acquisition unit, and an instruction control unit;
[0048] The data acquisition unit is used to collect hardware status data of all hardware devices;
[0049] The instruction control unit is used to monitor the shared data area 3 in real time, and when the decision instruction is detected, to read the instruction and execute the decision instruction based on the host-side standard driver unit.
[0050] The host-side standard driver unit is used to communicate with the second interface unit, the data acquisition unit, and the instruction control unit via a standardized hardware management bus, so as to send the hardware status data of each hardware device acquired to the shared data area 3 for storage, or to obtain the decision instruction from the shared data area 3 and send it to the instruction control unit.
[0051] In this embodiment, the server OS mainly includes a host-side standard driver unit, a data acquisition unit, and an instruction control unit. The data acquisition unit and instruction control unit are located inside the host server, at the operating system or kernel layer. This layer acts as a lightweight proxy for the BMC decision engine on the host side, responsible for collecting hardware status data from various hardware devices through standardized interfaces. It enables high-frequency, low-latency acquisition of raw sensor data and execution of decision instructions from the decision inference unit. The hardware devices include GPUs, CPUs, disks, etc., supporting simultaneous multi-dimensional hardware status data acquisition and integrating real-time status data from the CPU, GPU, memory, power supply, and other devices to support multi-faceted collaborative adjustment needs. To avoid intruding on the OS and user services, the installation package of the server host's data collection and control program can be written into the BIOS Flash and loaded directly at startup, ensuring seamless installation for the user.
[0052] The decision-making instructions generated by the decision-making reasoning unit of the BMC are written into the shared data area 3 of the BIOS Flash. The instruction control unit in the server OS listens to the shared data area 3 in real time or receives interrupts. Once a new decision instruction is obtained, it calls the operating system driver or the kernel-level hardware management interface to perform precise control of the corresponding hardware device.
[0053] The host-side standard driver unit communicates with the second interface unit on the server motherboard, the data acquisition unit, and the instruction control unit through a standardized hardware management bus to realize data interaction between the server OS and the BIOS Flash. This includes sending the collected hardware status data of each hardware device to the shared data area 3 for storage, or obtaining decision instructions from the shared data area 3 and sending them to the instruction control unit. It also includes loading data acquisition and instruction control logic from the BIOS Flash.
[0054] In this embodiment, multi-dimensional data acquisition can be achieved through the data acquisition unit to support multi-faceted collaborative adjustment needs, making full use of the OS layer's more comprehensive and convenient access to hardware; the instruction control unit can monitor the shared data area 3 of the BIOS Flash in real time and respond to decision instructions in a timely manner; the host-side standard driver unit can realize data interaction between the BIOS Flash and the server OS, using the BIOS Flash as a communication intermediary between the server OS and the BMC, so that the BMC and the server OS are completely isolated, realizing efficient and reliable data exchange between out-of-band and in-band units, and avoiding the overhead of complex network protocol stacks.
[0055] In some optional embodiments, the shared data area 3 is located on the BIOS Flash chip, which is also used to store the data acquisition and instruction control logic of the server operating system 2. When the server operating system 2 is in the startup phase, the data acquisition logic and / or instruction control logic required by the server operating system 2 during the startup phase are loaded into the kernel of the server operating system 2.
[0056] In this embodiment, the server OS's data acquisition and instruction control logic is stored on the BIOS Flash chip in a memory area distinct from the shared data area 3. During system startup, the data acquisition logic can be loaded from the BIOS Flash chip to initiate data acquisition. This can include acquiring hardware status data for specific hardware devices, such as CPU status data during system startup. Simultaneously, some instruction control logic required for the startup phase can be loaded into the server OS kernel to ensure the execution of necessary instructions during startup.
[0057] In some optional embodiments, the system is further used for:
[0058] The received task is identified, and it is determined whether the input scale and dimension parameters of the task data exceed the input scale and dimension parameter thresholds, whether the logical structure and dependency parameters exceed the logical structure and dependency parameter thresholds, and whether the computing resource consumption parameters exceed the computing resource consumption parameter thresholds.
[0059] The task is determined to be a computationally intensive decision-making reasoning task when any one of the following conditions is met: the input size and dimension parameters of the task data exceed the input size and dimension parameter thresholds; the logical structure and dependency parameters exceed the logical structure and dependency parameter thresholds; or the computational resource consumption parameters exceed the computational resource consumption parameter thresholds.
[0060] Among them, the above thresholds can be dynamic thresholds. After the j-th comparison and judgment, the thresholds can be dynamically adjusted according to the corresponding parameters of the j-th comparison and the original parameter values to adapt to the different requirements of computationally intensive decision-making and reasoning tasks in different application scenarios.
[0061] In this embodiment, when the system receives a task request uploaded by a user through a terminal device, it needs to distinguish the task type first. When it is determined to be a computationally intensive decision-making and reasoning task, it is analyzed and processed by the BMC decision and analysis module 1. For lightweight tasks, it is processed by the server OS. By decoupling and optimizing the deployment of various information processing tasks, it is more conducive to maximizing the purity of the user's business environment and reducing resource consumption.
[0062] In some examples, task type classification can be based on the input size and dimensionality parameters, logical structure and dependency parameters, and computational resource consumption parameters of the task data. A task is classified as a computationally intensive decision-making reasoning task if it exceeds any of the three threshold detection parameters. These parameters can vary depending on the task being processed. For example, in image recognition, the input size and dimensionality parameters may include image resolution and feature vector dimension; in data classification, they may include the amount of input sample data. The parameters are compared to their corresponding thresholds, and the comparison results are output. For example, in image recognition, an image resolution > 4K and a feature vector dimension > 10000 are required to classify it as a computationally intensive decision-making reasoning task. The aforementioned logical structure and dependency parameters may include algorithm complexity, dependency level, and parallelism. For example, when processing reasoning tasks based on neural network models, a neural network layer > 100 and dependency nodes > 500 are required to classify it as a computationally intensive decision-making reasoning task. The aforementioned computational resource consumption parameters include CPU / GPU utilization, memory requirements, and number of floating-point operations. For example, a single inference operation may require >8GB of memory and >10 FLOPS. 12 It is classified as a computationally intensive decision-making reasoning task.
[0063] In this embodiment, by combining a task identification mechanism with multi-dimensional threshold dynamic judgment, and by unifying and quantifying the three indicators of input scale, logical complexity and resource consumption, the task characteristics can be perceived in real time and the computationally intensive inference mode can be automatically triggered. This is more conducive to achieving precise resource allocation and avoiding small tasks occupying high-end computing power or heavyweight inference tasks occupying resources on the server host side.
[0064] In some optional embodiments, the BMC-side standard driver unit is further configured to record the received target hardware status data based on the built-in memory, encapsulate the target hardware status data into a target IPMI message in IPMI format, and transmit the target IPMI message to the decision reasoning unit through the IPMI interface.
[0065] In this embodiment, the BMC-side standard driver unit processes the received target hardware status data and then transmits it to the inference engine (decision inference unit) via IPMI (Intelligent Platform Management Interface) for task processing. Specifically, this includes storing logs and data records: the BMC has a built-in memory independent of the server. When the target hardware status data is transmitted to the BMC, it can be stored in this built-in memory. Data encapsulation and IPMI message generation: the BMC encapsulates the processed data into an IPMI message format. The IPMI message format is standardized, which helps simplify bridging operations and ensures data can be transmitted between different units. Data transmission: the BMC transmits the generated target IPMI message to the decision inference unit via an IPMI interface (such as an IPMD interface or a LAN interface). During transmission, the BMC can use encryption technology to encrypt the target IPMI message to enhance communication security, for example, using the AES-128 encryption algorithm.
[0066] In this embodiment, data is recorded using built-in memory. When the decision-making inference unit fails to receive data, it can directly read from the built-in memory, significantly reducing frequent access to the BIOS Flash chip and thus lowering data read latency. This also avoids read / write wear caused by the physical lifespan limitations of the Flash chip, enabling the system to maintain real-time decision-making capabilities even in abnormal scenarios such as network outages and hardware failures, ensuring high reliability of decision-making inference operations. After format conversion of the target hardware status data, transmission via the IPMI interface enables hardware-level reliable communication, cross-platform compatibility, low-latency control response, and secure isolation.
[0067] In some optional embodiments, the instruction control unit is further configured to:
[0068] The target bytes of the decision instruction are obtained based on IPMI through data format conversion;
[0069] The instruction to convert the target byte into the target format is sent to the corresponding hardware device.
[0070] In this embodiment, the collected hardware status data and decision commands can be represented in JSON format. When the server OS obtains the decision commands, it needs to convert the JSON-formatted command into target bytes that support the IPMI protocol, and then convert the target bytes into Byte format commands for transmission to the corresponding hardware device for control. By storing the decision commands in JSON format and transmitting them to the hardware device through multiple conversions, highly maintainable, highly compatible, and secure hardware control can be achieved.
[0071] Combination Figure 2As shown, in order to more clearly illustrate the solution of the server task management system based on BMC collaboration provided in the embodiments of the present invention, the following description takes an energy-saving scenario as an example.
[0072] The BMC-side energy-saving inference engine handles complex computing power scheduling and energy-saving strategy inference tasks. The host-side data acquisition unit (Collector module) and instruction control unit (Executor module) act as lightweight agents to complete data acquisition and instruction execution. The BIOS Flash acts as a communication relay between the BMC and the server OS, reducing resource consumption on host storage. Control instructions (decision instructions) and acquisition instructions (instructions from the BMC to the BIOS Flash chip) in the shared data area are stored in IPMI byte format. Data transmission includes data format conversion (Data Transformer module) and the IPMD daemon (command transmission) to support efficient collaboration between the server OS, BIOS Flash chip, and BMC—the three core units.
[0073] Specifically, in energy-saving scenarios, the Collector module collects core parameters such as CPU / GPU temperature, voltage, frequency, load, power output, and memory bandwidth usage from sensors provided by existing servers. The collected data is in JSON format, and the data acquisition latency is controlled at the microsecond level to ensure real-time and accurate status awareness. The DataTransformer module converts the JSON data collected by the Collector module into a byte format that supports the IPMID protocol.
[0074] Furthermore, for IPMID extended commands, all commands in the BMC are provided through the IPMID daemon in the BMC OS. To enable control, this embodiment extends the command lines supported by IPMID, primarily supporting the following three commands: To obtain relevant CPU, GPU, and system monitoring information, the command is: `ipmi power collect`. <data>To configure hardware control information such as CPU and GPU, the command is IPMI Power Set. <data>Configure the relevant inference engine requirements using the command `ipmi config`. <interval><limit freq><limit voltage>Information is collected via IPMI PowerCollection, which then forwards the relevant IPMI packets to the energy-efficient inference engine.
[0075] Furthermore, in the energy-saving inference engine, when the inference engine receives the IPMID protocol packet, it first converts the IPMID's byte structure into JSON format data, ensuring that the JSON data and the number of Collectors are consistent. Then, the inference engine performs inference based on the built-in energy-saving strategy engine to obtain the working status of hardware such as the CPU and GPU, and assembles the working status into JSON format data (decision instructions). Then, the Transformer interface converts the decision instructions into a number of bytes using JSON. The specific byte format is shown in Table 1 below, and the data format of the decision instructions is shown in Table 2 below.
[0076] Table 1 is a data table in byte format.
[0077]
[0078] Table 2 Format Data Table for Decision Instruction Data
[0079]
[0080] Furthermore, the Executor module uses IPMI via Data Transformer to obtain the relevant decision-making instructions in bytes, then converts the bytes into JSON, and then issues control commands to specific hardware modules through interfaces such as NVML, CPUIdle, and CPUFreq. This includes adjusting core voltage / frequency through CPU power management interfaces (such as Intel IMVP and AMD SVI); controlling GPU computing power output status through GPU management protocols (such as NVIDIA NVLink Management Interface and AMD PCIePower Management); and adjusting power module output power through PMBus, achieving precise hardware-level control of the entire device's power consumption.
[0081] Specifically, for the installation of the BMC-side energy-saving inference engine, this embodiment stores the engine installation file in the BMC's ROM, keeping the total size within 5MB. This avoids separate installation and achieves a seamless installation process for the user. For the server OS-side software installation, this embodiment stores the OS-side software in the BIOS's ROM, keeping the total size within 5MB, also achieving a seamless installation process for the user.
[0082] According to another aspect of the embodiments of this application, such as Figure 3 As shown, the server task management system based on BMC collaboration applicable to the above embodiments, taking system execution as an example, provides a server task management method based on BMC collaboration, including:
[0083] S301 stores the hardware status data of each hardware device collected by the server operating system in the shared data area.
[0084] S303, when a task of a preset type is received, the hardware status data corresponding to the task is read from the shared data area by the BMC for logical analysis and decision-making, and a decision instruction is generated;
[0085] S305, the decision instruction is transmitted to the shared data area for storage;
[0086] S307, when the server operating system detects that the decision instruction is written to the shared data area, it reads the decision instruction and executes the instruction based on the decision instruction.
[0087] In this embodiment, the hardware status data of the above-mentioned hardware devices are collected by the server OS and stored in the shared data area on the server motherboard. The shared data area is a separate area pre-defined on the BIOS Flash chip, which can be used for data interaction between the server OS and the BMC, so that the server OS and the BMC are completely isolated.
[0088] Furthermore, the aforementioned preset task type can refer to a computationally intensive decision-making reasoning task. The computationally intensive decision-making reasoning task is determined based on the input scale and dimensional parameters, logical structure and dependency parameters, and computational resource consumption parameters of the task data. Upon receiving a preset task, the system reads the hardware status data required for processing the task from the shared data area, performs logical analysis and decision-making reasoning, and ultimately generates a decision instruction, which is then transmitted to the shared data area for storage. When the server OS detects a new decision instruction in the shared data area, it directly reads the decision instruction from the shared data area, performs data conversion based on the decision instruction, and sends it to the corresponding hardware device to control its execution of the decision instruction.
[0089] In this embodiment, the BMC is used as the core information processing module to perform task analysis and decision-making for complex and intensive tasks. It connects to the upper-layer server operating system for lightweight data acquisition and instruction execution, realizing out-of-band analysis and in-band execution. This achieves functional decoupling and optimized deployment. Furthermore, the decision instructions and hardware status data are stored and shared through a shared data area. This approach helps reduce the resource consumption of the server operating system side for complex and intensive task processing, maximizes the purity of the user's business environment, and minimizes resource encroachment. Consequently, it is more conducive to accelerating the business processing response speed of the server operating system side and improving processing efficiency.
[0090] According to another aspect of the embodiments of this application, this application provides a computer device, such as... Figure 4 As shown, it includes a memory 401, a processor 403, a communication interface 405, and a communication bus 404. The memory 401 stores a computer program that can run on the processor 403. The memory 401 and the processor 403 communicate through the communication interface 405 and the communication bus 404. When the processor 403 executes the computer program, it implements the steps of the above-mentioned server task management method based on BMC collaboration.
[0091] The memory and processor in the aforementioned computer equipment communicate with each other via a communication bus and a communication interface. The communication bus can be a Peripheral Component Interconnect (PCI) bus or an Extended Industry Standard Architecture (EISA) bus, etc. This communication bus can be divided into an address bus, a data bus, a control bus, etc.
[0092] The aforementioned memory may include random access memory (RAM) or non-volatile memory, such as at least one disk storage device. Optionally, the memory may also be at least one storage device located remotely from the aforementioned processor.
[0093] The processors mentioned above can be general-purpose processors, including central processing units (CPUs), network processors (NPs), etc.; they can also be digital signal processors (DSPs), application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), or other programmable logic devices, discrete gate or transistor logic devices, or discrete hardware components.
[0094] According to another aspect of the embodiments of this application, a computer program product or computer program is also provided, which includes computer instructions stored in a computer-readable storage medium. A processor of a computer device reads the computer instructions from the computer-readable storage medium and executes the computer instructions, causing the computer device to perform the steps of the server task management method based on BMC collaboration in any of the above embodiments.
[0095] Optionally, in this embodiment, the computer-readable medium is configured to store program code for the processor to execute the steps of the server task management method based on BMC collaboration described in the above embodiments, wherein the steps of the server task management method specifically include:
[0096] S301 stores the hardware status data of each hardware device collected by the server operating system in the shared data area.
[0097] S303, when a task of a preset type is received, the hardware status data corresponding to the task is read from the shared data area by the BMC for logical analysis and decision-making, and a decision instruction is generated;
[0098] S305, the decision instruction is transmitted to the shared data area for storage;
[0099] S307, when the server operating system detects that the decision instruction is written to the shared data area, it reads the decision instruction and executes the instruction based on the decision instruction.
[0100] Optionally, specific examples in this embodiment can refer to the examples described in the above embodiments, and will not be repeated here. Furthermore, in the specific implementation of this application embodiment, the above embodiments can be consulted, and corresponding technical effects can be achieved.
[0101] It is understood that the embodiments described herein can be implemented in hardware, software, firmware, middleware, microcode, or a combination thereof. For hardware implementation, the processing unit can be implemented in one or more application-specific integrated circuits (ASICs), digital signal processors (DSPs), digital signal processing devices (DSPDs), programmable logic devices (PLDs), field-programmable gate arrays (FPGAs), general-purpose processors, controllers, microcontrollers, microprocessors, other electronic units for performing the functions described herein, or combinations thereof. For software implementation, the techniques described herein can be implemented by units that perform the functions described herein. Software code can be stored in memory and executed by a processor. The memory can be implemented in the processor or external to the processor.
[0102] Those skilled in the art will understand that, for the sake of convenience and brevity, the specific working processes of the systems, devices, and units described above can be referred to the corresponding processes in the foregoing method embodiments, and will not be repeated here.
[0103] In the embodiments provided in this application, it should be understood that the disclosed apparatus and methods can be implemented in other ways. For example, the division of modules is merely a logical functional division, and in actual implementation, there may be other division methods. For instance, multiple modules or components may be combined or integrated into another system, or some features may be ignored or not executed. Furthermore, the coupling or direct coupling or communication connection shown or discussed may be an indirect coupling or communication connection through some interfaces, devices, or units, and may be electrical, mechanical, or other forms.
[0104] If the aforementioned functions are implemented as software functional units and sold or used as independent products, they can be stored in a computer-readable storage medium. Based on this understanding, the technical solutions of the embodiments of this application, essentially or in other words, the parts that contribute to the prior art, or a portion of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute all or part of the steps of the methods described in the various embodiments of this application. The aforementioned storage medium includes various media capable of storing program code, such as USB flash drives, portable hard drives, ROM, RAM, magnetic disks, or optical disks.
[0105] It should be noted that, in this document, relational terms such as "first," "second," etc., are used merely to distinguish one entity or operation from another, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Furthermore, the terms "include," "comprise," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or apparatus. Without further limitations, an element defined by the phrase "comprises a…" does not exclude the presence of other identical elements in the process, method, article, or apparatus that includes said element.
[0106] The above description is merely a specific embodiment of this application, enabling those skilled in the art to understand or implement this application. Various modifications to these embodiments will be readily apparent to those skilled in the art, and the general principles defined herein may be implemented in other embodiments without departing from the spirit or scope of this application. Therefore, this application is not to be limited to the embodiments shown herein, but is to be accorded the widest scope consistent with the principles and novel features claimed herein.< / interval> < / data> < / data>
Claims
1. A BMC collaboration based server task management system, characterized in that, The server comprises a BMC decision and analysis module, a server operating system and a shared data area, wherein: The BMC decision and analysis module is configured to perform logical analysis and decision based on the hardware state data collected by the server operating system when receiving a preset type of task, and generate a decision instruction; The server operating system is configured to perform hardware state data collection and the decision instruction generated by the BMC decision and analysis module; The shared data area is configured to communicatively connect the BMC decision and analysis module and the server operating system, store and share the decision instruction and the hardware state data; The BMC decision and analysis module comprises a first interface unit, a BMC-side standard drive unit and a decision reasoning unit; The first interface unit is configured to communicatively connect the BMC-side standard drive unit and a second interface unit arranged on a server mainboard through a standardized hardware management bus, write the decision instruction generated by the decision reasoning unit into the shared data area, or receive target hardware state data corresponding to a task; The BMC-side standard drive unit is configured to communicatively connect the decision reasoning unit and the first interface unit through a standardized hardware management bus, transmit the decision instruction generated by the decision reasoning unit to the first interface unit, or transmit the target hardware state data received by the first interface unit to the decision reasoning unit; The decision reasoning unit is configured to perform decision reasoning based on the target hardware state data obtained when receiving the preset type of task, and generate the decision instruction, wherein the preset type of task comprises a computation-intensive decision reasoning task, and the computation-intensive decision reasoning task is determined based on input size and dimension parameters of task data, logical structure and dependency relationship parameters, and computation resource consumption parameters.
2. The BMC collaboration based server task management system of claim 1, wherein, The server operating system comprises a host-side standard drive unit, a data collection unit and an instruction control unit; The data collection unit is configured to collect hardware state data of all hardware devices; The instruction control unit is configured to listen to the shared data area in real time, and when the decision instruction is listened to, perform instruction reading based on the host-side standard drive unit and execute the decision instruction; The host-side standard drive unit is configured to communicatively connect the second interface unit, the data collection unit and the instruction control unit through a standardized hardware management bus, so as to send the hardware state data of each hardware device collected to the shared data area for storage, or obtain the decision instruction from the shared data area and send it to the instruction control unit.
3. The BMC collaboration based server task management system of claim 1, wherein, The shared data area is arranged on the BIOS Flash chip, and the BIOS Flash chip is further configured to store data acquisition and instruction control logic of the server operating system, and load data acquisition logic and / or instruction control logic required by the server operating system in a starting stage to a kernel of the server operating system when the server operating system is in the starting stage.
4. The BMC collaboration based server task management system of claim 1, wherein, The system is further configured to: identify the received task, and determine whether the input size and dimension parameter of the task data exceeds an input size and dimension parameter threshold, whether the logic structure and dependency relationship parameter exceeds a logic structure and dependency relationship parameter threshold, and whether the computing resource consumption parameter exceeds a computing resource consumption parameter threshold; determine that the task is the computing-intensive decision reasoning task when any one of the following conditions is met: the input size and dimension parameter of the task data exceeds the input size and dimension parameter threshold, the logic structure and dependency relationship parameter exceeds the logic structure and dependency relationship parameter threshold, and the computing resource consumption parameter exceeds the computing resource consumption parameter threshold.
5. The BMC collaboration based server task management system of claim 1, wherein, The BMC-side standard driving unit is further configured to record data of the received target hardware state data based on an internal memory, encapsulate the target hardware state data into a target IPMI message in an IPMI format, and transmit the target IPMI message to the decision reasoning unit through an IPMI interface.
6. The BMC collaboration based server task management system of claim 2, wherein, The instruction control unit is further configured to: acquire target bytes of the decision instruction based on IPMI through data format conversion; convert the target bytes into instructions in a target format and issue the instructions to corresponding hardware devices.
7. The method of BMC cooperative based server task management according to any one of claims 1 to 6, characterized in that, The method comprises: storing hardware state data of each hardware device acquired by a server operating system to a shared data area; when a task of a preset type is received, reading hardware state data corresponding to the task from the shared data area through a BMC, performing logical analysis and decision-making on the hardware state data, and generating a decision instruction; transmitting the decision instruction to the shared data area for storage; when the server operating system listens to the shared data area to write the decision instruction, reading the decision instruction, and performing instruction execution based on the decision instruction.
8. A computer device comprising: The processor, the memory, and the network interface, the memory stores machine readable instructions executable by the processor, characterized in that when the computer device runs, the processor and the memory communicate through the network interface, and the processor executes the machine readable instructions to perform the steps of the BMC collaborative server task management method in claim 7.
9. A computer readable medium having a non-transitory program code executable by a processor, the program code comprising instructions for: The program code causes the processor to perform the steps of the BMC collaborative server task management method in claim 7. The program code causes the processor to perform the steps of the BMC collaborative server task management method in claim 7.
Citation Information
Patent Citations
Server energy management method and device based on BMC (Baseboard Management Controller)
CN121255004A