Whole cabinet system and resource scheduling method
By integrating a management controller into the entire rack system to directly control the switching chips, the problems of high complexity, high latency, poor reliability, and high cost of the existing two-level resource pooling architecture are solved, achieving efficient, reliable, and low-cost management of resource scheduling.
Patent Information
- Application Number
- CN202511549191.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-10-28
- Publication Date
- 2025-11-28
AI Technical Summary
The existing two-level resource pooling architecture suffers from high complexity, high latency, poor reliability, and high cost in resource allocation.
The system adopts a rack-based approach, integrating a management controller to directly control the switching chips. This eliminates the separation between the rack-based management platform and the pooled management engine, minimizing the management path and integrating resource management functions into the management controller.
It significantly reduces system complexity and response latency, improves system reliability, and reduces costs.
Smart Images

Figure CN121029367A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of computer technology, and in particular to a rack system and resource scheduling method. Background Technology
[0002] In recent years, with the rapid development of the Internet, artificial intelligence, and scientific computing, the traditional resource allocation model—where each host is configured with a fixed number of central processing units (CPUs), graphics processing units (GPUs), memory, and / or hard drives—can no longer meet the elastic demands of differentiated applications such as large-scale AI model training, real-time inference, and high-frequency trading. To address this issue, the industry has proposed a resource pooling technology. This technology aims to decouple computing, acceleration, and storage resources from a single host, forming a shared pool of interface device resources that can be accessed by all hosts on demand, thereby improving resource utilization and flexibility.
[0003] Currently, resource pooling technology employs a two-tier architecture: a rack management platform and a pooling management engine. The pooling management engine receives resource scheduling requests from the rack management platform and controls the switching chips to perform hot-remove and hot-add operations, thereby altering the mapping between interface devices and hosts to achieve dynamic resource allocation. However, this two-tier resource pooling architecture suffers from high complexity, high latency, poor reliability, and high cost. Summary of the Invention
[0004] This application provides a rack system and resource scheduling method to at least solve the problems of high complexity, high latency, poor reliability and high cost caused by the two-level resource pooling architecture adopted by the resource pooling technology in related technologies.
[0005] This application provides a rack-mount system, including: a general computing resource pool, an interface device resource pool, and switching equipment; The general computing resource pool includes at least one host; The interface device resource pool includes at least two interface devices; The switching device includes a management controller and at least two switching chips, each of which is connected to at least one other switching chip. The management controller is connected to each of the switching chips. In response to receiving a resource scheduling request from a user, the management controller controls the target switching chip to hot-remove a target interface device from the current host and hot-add it to the target host. The target interface device and the target host are determined based on the resource scheduling request. The current host is the host that currently has a data link with the target interface device, and the target switching chip is the switching chip that is physically connected to the target interface device.
[0006] This application provides a resource scheduling method applied to the rack system described in the first aspect, wherein the method includes: receiving the resource scheduling request input by a user; The target switching chip is controlled to hot-remove the target interface device from the current host and hot-add it to the target host, wherein the target interface device and the target host are specified by the resource scheduling request, the current host is the host that currently has a data link with the target interface device, and the target switching chip is the switching chip that is physically connected to the target interface device.
[0007] This application also provides a resource scheduling device, including: applied to the rack system described in the first aspect, wherein the device includes: a first receiving module, configured to receive the resource scheduling request input by a user; The first control module is used to control the target switching chip to hot-remove the target interface device from the current host and hot-add it to the target host, wherein the target interface device and the target host are specified by the resource scheduling request, the current host is the host that currently has a data link with the target interface device, and the target switching chip is the switching chip that is physically connected to the target interface device.
[0008] This application also provides an electronic device, including: a memory for storing a computer program; and a processor for implementing the steps of any of the above-described resource scheduling methods when executing the computer program.
[0009] This application also provides a computer-readable storage medium storing a computer program, wherein the computer program, when executed by a processor, implements the steps of any of the above-described resource scheduling methods.
[0010] This application also provides a computer program product, including a computer program that, when executed by a processor, implements the steps of any of the above-described resource scheduling methods.
[0011] This application eliminates the complex two-tier architecture of separating the rack management platform and the pooled management engine in related technologies, and integrates all resource management functions into the management controller. The management controller directly controls the switching chip, thereby shortening the management path and fundamentally solving the problems of complex architecture, high cost, large response latency and poor reliability in related technologies. Attached Figure Description
[0012] To more clearly illustrate the embodiments of this application, the accompanying drawings used in the embodiments will be briefly introduced below. Obviously, the drawings described below are only some embodiments of this application. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0013] Figure 1 A schematic diagram of the structure of a complete cabinet system provided for related technologies; Figure 2 This application provides a schematic diagram of the structure of a complete cabinet system. Figure 3 This application provides a schematic diagram of the structure of a management controller; Figure 4 A flowchart illustrating a resource scheduling method provided in an embodiment of this application; Figure 5 This is a flowchart illustrating a resource scheduling example provided in an embodiment of this application. Detailed Implementation
[0014] 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, and not all embodiments. Based on the embodiments of this application, all other embodiments obtained by those of ordinary skill in the art without creative effort are within the protection scope of this application.
[0015] It should be noted that, in the description of this application, the terms "comprising," "including," 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. The terms "first," "second," etc., in this application are used to distinguish similar objects and are not used to describe a specific order or sequence.
[0016] To enable those skilled in the art to better understand the present application, the present application will be further described in detail below with reference to the accompanying drawings and specific embodiments.
[0017] Figure 1 This is a structural diagram of a complete cabinet system provided for related technologies. For example... Figure 1 As shown, resource pooling technology adopts a two-level resource pooling architecture consisting of a rack management platform and a pooling management engine. The pooling management engine receives resource scheduling requests from the rack management platform and controls the switching chip to perform hot-remove and hot-add operations, thereby changing the mapping relationship between interface devices and hosts to achieve dynamic resource allocation. However, while this two-level resource pooling architecture achieves dynamic resource scheduling, it has the following drawbacks: System complexity and high cost: The two-level resource pooling architecture of rack management platform + pooling management engine increases system complexity and potential failure points. The pooling management engine, existing as independent hardware, increases cost and power consumption. Lengthy management path and latency: Management commands need to go through a lengthy path of "rack management platform - pooling management engine - host CPU - in-band command - switching chip," increasing response latency and reducing scheduling efficiency. Functional redundancy and resource waste: The Baseboard Management Controller (BMC) on current server motherboards already has powerful out-of-band management functions. The pooling management engine overlaps with the BMC in functionality, failing to fully utilize existing hardware resources and representing an architectural waste. Maintainability and reliability challenges: The pooling management engine becomes a new single point of failure in the system, requiring independent processes for maintenance and upgrades, increasing operational complexity. Lack of advanced management functions: Focusing on basic hot-swapping operations, it lacks features such as configuration version management, scheduling based on device health status, multi-request conflict arbitration, and efficient incremental scheduling, making it difficult to meet the stringent requirements of production environments for operational reliability, intelligence, and efficiency. In view of this, this application provides a rack-wide system and resource scheduling method.
[0018] Figure 2 This is a schematic diagram of a rack system provided in an embodiment of this application. Figure 2 As shown, the rack system includes: a general computing resource pool, an interface device resource pool, and switching equipment; The general-purpose computing resource pool includes at least one host; The interface device resource pool includes at least two interface devices; The switching device includes a management controller and at least two switching chips, each of which is connected to at least one other switching chip. The management controller is connected to each switching chip. In response to a resource scheduling request received from a user, the management controller controls the target switching chip to hot-remove the target interface device from the current host and hot-add it to the target host. The target interface device and the target host are determined based on the resource scheduling request. The current host is the host that currently has a data link with the target interface device, and the target switching chip is the switching chip that is physically connected to the target interface device.
[0019] Specifically, a host can be an electronic device that includes computing resources and is responsible for running an operating system, executing program instructions, and / or controlling other devices. For example, a host may include a Host Box.
[0020] Specifically, the interface device can be an electronic device such as a heterogeneous acceleration device or a storage device, and the host can access its resources. For example, heterogeneous acceleration devices may include GPU boxes, digital signal processors, field-programmable gate arrays, and / or application-specific integrated circuits, etc., and storage devices may include NVMe boxes, hard disk drives, solid-state drives, memory, memory drives, memory cards, and / or storage tapes, etc.
[0021] Specifically, in a rack-mount system comprising a general computing resource pool, a switching equipment pool, and an interface equipment resource pool, the host and interface equipment are indirectly connected through the switching equipment, thus providing the hardware foundation for flexible scheduling and dynamic allocation of resources. The switching equipment includes a management controller and multiple switching chips.
[0022] In this system, each switching chip connects to at least one other switching chip via an internal port; for example, the switching chips are physically connected to each other through internal ports. Each switching chip provides multiple ports: uplink ports for physical connections to hosts, downlink ports for physical connections to interface devices, and cascade ports for physical interconnection with other switching chips. This allows for the establishment of end-to-end data links between any host and any interface device, enabling resource pooling and on-demand access, and supporting efficient and flexible resource scheduling mechanisms. Optionally, the switching chips can uniformly use PCIe (Peripheral Component Interconnect) type ports to connect hosts, interface devices, and other switching chips, but are not limited to this.
[0023] The management controller integrates all resource management functions in resource scheduling, and is responsible for the unified management and control of hardware resources such as hosts and interface devices. In other words, the software system for resource scheduling implemented by the management controller runs centrally within the management controller. Thus, the management controller can receive resource scheduling requests from users, and then control the target switching chip to hot-remove the target interface device from the current host and hot-add it to the target host. For example, the management controller may include a BMC, but is not limited to this.
[0024] Specifically, there are various ways to implement the management controller. The following are typical examples, but they do not constitute a limitation of this application.
[0025] Figure 3 This application provides a schematic diagram of the structure of a management controller. Optionally, such as... Figure 3 As shown, the management controller includes: a user interface module for receiving management requests input by the user, wherein the management requests include resource scheduling requests, template application requests, and rollback requests; The resource management module is used to maintain a global resource mapping table, which includes a mapping relationship table and a physical connection topology. The current host is determined by querying the mapping relationship corresponding to the target interface device in the mapping relationship table, and the target switching chip is determined by querying the physical connection path corresponding to the target interface device in the physical connection topology. The command execution module is used to hot-remove the target interface device from the current host by configuring the registers of the target switching chip, control the reset of the target interface device, and hot-add the target interface device to the target host by configuring the registers of the target switching chip.
[0026] Specifically, the user interface module serves as the window through which the rack system interacts with users, receiving various management requests (resource scheduling requests, template application requests, and / or rollback requests, etc.). For example, users can input various management requests through the Web GUI (graphical user interface), Redfish API, and / or IPMI interface provided by the user interface module.
[0027] Specifically, the resource management module is responsible for maintaining and managing a global resource mapping table. This table includes a mapping relationship table and a physical connection topology. The mapping relationship table records the mapping relationships between all hosts and interface devices; a mapping relationship between a host and an interface device indicates that the host is accessing the resources of that interface device. The physical connection topology records the physical connection paths between all hosts and switching chips, as well as the physical connection paths between all interfaces and switching chips. A physical connection path between a host and a switching chip indicates that the host and the switching chip are physically connected, and vice versa. The global resource mapping table can also record the current status of interface devices (such as idle, occupied, health status, and / or the host they belong to). This global resource mapping table provides the data foundation for resource scheduling.
[0028] Specifically, the command execution module has a built-in communication library for the switching chips, enabling it to directly operate the registers of all switching chips within the switching device via sideband interfaces such as I2C, UART, or SPI, thereby executing low-level instructions such as hot-remove and hot-add instructions. Furthermore, the command execution module can send device reset instructions via a hardware management link (such as communicating with the CPLD within the interface device).
[0029] It is understood that the specific implementation of the aforementioned management controller can optimize the long-path management mode in related technologies, which relies on the coordinated control of the rack management platform and the host, into the shortest path where the management controller directly controls the switching chip through the sideband interface. The long-path management mode requires multi-hop forwarding through "rack management platform - pooled management engine - host CPU - in-band command - switching chip" and depends on the host's operating status. Through the aforementioned management controller, this application can directly control the switching chip, realizing single-hop direct control of "management controller - switching chip", eliminating host dependence, significantly shortening management latency, and improving system response speed and reliability.
[0030] Optional, see below Figure 3 The management controller also includes a policy engine module, which is used to obtain the task priority of the target host indicated by each resource scheduling request and the health status of each interface device when the target interface devices indicated by the multiple resource scheduling requests are the same. Based on the task priority of each target host, the health status of each interface device and the first candidate interface device, a target interface device is matched for each target host to obtain multiple pairs of target hosts and target interface devices, wherein the first candidate interface device is the target interface device indicated by multiple resource scheduling requests.
[0031] Specifically, the strategy engine module includes a health status assessment submodule and a conflict arbitration submodule. The health status assessment submodule periodically collects health data from interface devices to determine their status. The conflict arbitration submodule resolves conflicts when multiple resource scheduling requests compete for resources, based on preset arbitration strategies (such as task priority and health status).
[0032] Understandably, by setting up the management controller, a policy engine module is also included, which introduces a health status assessment function. This enables intelligent scheduling and load balancing based on the real-time health status of the interface devices, effectively extending the lifespan of the interface devices. At the same time, the policy engine module also has conflict arbitration capabilities, which can fairly allocate resources when multiple users submit concurrent resource scheduling requests, avoiding resource contention and ensuring the stability and reliability of the entire rack system.
[0033] Optional, see below Figure 3 The management controller also includes: a differential analysis engine module, used to compare the current mapping table and the target mapping table when the current mapping table is changed to the target mapping table, and generate incremental scheduling instructions, wherein the incremental scheduling instructions include hot removal instructions and / or hot addition instructions; and a command execution module, used to hot remove the interface device indicated by the hot removal instruction from the host indicated by the hot removal instruction for the hot removal instruction, and to hot add the interface device indicated by the hot removal instruction to the host indicated by the hot addition instruction for the hot addition instruction.
[0034] Specifically, the differential analysis engine module can respond to template application requests or resource scheduling requests by quickly comparing the current mapping table with the target mapping table, and generating an incremental operation list. This incremental operation list only contains the interface devices that need to be changed (removed or added), and then generates incremental scheduling instructions for this incremental operation list so that the command execution module can execute the incremental scheduling instructions.
[0035] Understandably, by setting up the management controller, a differential analysis engine module is also included, which enables a significant improvement in the efficiency of resource scheduling through differential analysis and incremental scheduling.
[0036] Optional, see below Figure 3 The management controller also includes a version management module, which saves the current global resource mapping table as a version snapshot.
[0037] Specifically, the version management module is responsible for the status management of the entire rack system configuration. Before making any system configuration changes, the version management module automatically saves the current global resource mapping table as a version snapshot. In this way, when a user initiates a rollback request, the version management module, in conjunction with the differential analysis engine module, can restore the entire rack system to its historical state.
[0038] Understandably, by setting the management controller to also include a version management module, it is possible to provide system configuration version management functions for the entire rack system, realize one-click rollback, and reduce operation and maintenance risks.
[0039] This application embodiment abandons the complex two-level architecture of separating the whole rack management platform and the pooled management engine in related technologies, and integrates all resource management functions into the management controller. The management controller directly controls the switching chip, thereby achieving the shortest management path (user-management controller-switching chip), fundamentally solving the problems of complex architecture, high cost, large response latency and poor reliability in related technologies.
[0040] This application also provides a resource scheduling method, which can be executed by the management controller in any of the above-mentioned rack management systems. Figure 4 A flowchart illustrating a resource scheduling method provided in this application embodiment is shown. As illustrated, the resource scheduling method includes the following steps: S410: Receive resource scheduling requests input by the user.
[0041] Specifically, the management controller can receive resource scheduling requests from users through the user interface module.
[0042] Specifically, resource scheduling requests are used to dynamically adjust the mapping relationship between interface devices and hosts. More specifically, the functions of resource scheduling requests include at least one of the following: reassigning an interface device to a new host when it is already occupied; assigning an interface device to a host when it is not occupied; and hot-removing an interface device from its currently assigned host when it is already occupied. In this way, regardless of whether an interface device was previously idle or occupied by another host, its ownership can be dynamically adjusted through hot-adding and / or hot-removing, enabling flexible scheduling and on-demand sharing of interface device resources across the entire rack.
[0043] S420: Control the target switching chip to hot-remove the target interface device from the current host and hot-add it to the target host. The target interface device and the target host are specified by the resource scheduling request. The current host is the host that currently has a data link with the target interface device, and the target switching chip is the switching chip that is physically connected to the target interface device.
[0044] Specifically, target interface devices and target hosts appear in pairs, representing a group of interface devices and hosts that are determined based on resource scheduling requests and are intended to establish a mapping relationship. The target interface device is the interface device to be allocated or reassigned, and the target host is the host to which the target interface device will belong.
[0045] Specifically, a target switching chip refers to a switching chip that has a physical connection path with a target interface device and is used to establish a data link between the target interface device and the target host.
[0046] Specifically, the current host refers to the host that the target interface device has been allocated at the time the resource scheduling request is initiated.
[0047] Specifically, when an interface device is already in use, it is reassigned to a new host. At this time, the management controller controls the target switching chip to hot-remove the target interface device from the current host, and then controls the target switching chip to hot-add the target interface device to the target host.
[0048] Optionally, controlling the target switching chip to hot-remove the target interface device from the current host and hot-add it to the target host includes: S421, determining at least one pair of target hosts and target interface devices.
[0049] In some embodiments, determining at least one pair of target hosts and target interface devices includes: if a single resource scheduling request is received, parsing the resource scheduling request to obtain the target host and target interface device.
[0050] Specifically, "receiving a single resource scheduling request" as mentioned here means: receiving only one resource scheduling instruction within a scheduling cycle, in which case the single resource scheduling request is parsed to obtain a pair of target hosts and target interface devices; or receiving multiple resource scheduling requests within a preset time window, but with different target interface devices, in which case each resource scheduling request is parsed to obtain a pair of target hosts and target interface devices.
[0051] Understandably, when a single resource scheduling request is received, the management controller can directly parse the request content without performing any additional calculations to obtain the target host and target interface device. This can reduce scheduling latency and improve response speed.
[0052] In other embodiments, determining at least one pair of target hosts and target interface devices includes: S4211, if multiple resource scheduling requests are received simultaneously and all resource scheduling requests indicate the same target interface device, parsing each resource scheduling request to obtain multiple target hosts and a first candidate interface device, wherein the first candidate interface device is the target interface device indicated by the multiple resource scheduling requests.
[0053] Specifically, the phrase "receiving multiple resource scheduling requests simultaneously, with all requests indicating the same target interface device" refers to the following: within the same scheduling cycle or a preset short time window, the management controller receives multiple resource scheduling requests from different users. These requests all point to the same interface device, but the specified hosts may be different. For example, multiple hosts simultaneously request to preempt the same GPU or NVMe, creating resource contention. In this case, each resource scheduling request is parsed to obtain the host indicated by each request (i.e., the target host) and the interface device that all resource scheduling requests point to (i.e., the first candidate interface device).
[0054] S4212, Obtain the task priority of each target host.
[0055] Specifically, task priority refers to the importance or urgency of the tasks carried by the host, and is used to guide resource scheduling decisions. High-priority tasks have priority in obtaining the right to use interface devices in resource contention.
[0056] S4213. Obtain the health status of each interface device.
[0057] Specifically, health status refers to a comprehensive indicator reflecting the current operational reliability, performance level, and remaining lifespan of interface devices, dynamically assessed by the management controller based on multiple monitored health indicators. The assessment criteria for health status include, but are not limited to, at least one of the following: error count, temperature, power consumption stability, estimated remaining lifespan, and fan speed fluctuations. Health status can be quantified as a numerical score (e.g., 0-100 points) or divided into multiple levels (e.g., healthy, sub-healthy, fault warning, unavailable), but is not limited to these.
[0058] Optionally, the health status of each interface device can be obtained, including: collecting health indicators of each interface device, wherein the health indicators include at least one of the following: error count, temperature, power consumption stability, estimated remaining lifespan and fan speed fluctuation; For each interface device, a pre-trained weighted scoring model is used to calculate the health status of the interface device based on its health indicators.
[0059] Specifically, error count, temperature, power consumption stability, estimated remaining lifespan, and fan speed fluctuations.
[0060] Specifically, error count refers to the cumulative number of communication or operational anomalies that occur during the operation of the interface device, including but not limited to PCIe link layer errors (such as CRC errors, retransmission counts), NVMe command timeouts, data verification failures, ECC error correction records, etc.
[0061] Specifically, temperature refers to the real-time temperature value of key components of an interface device during operation. It is usually measured and reported by temperature sensors integrated inside the device, such as GPU core temperature, SSD controller temperature, NAND flash memory temperature, or PCB hot spot temperature.
[0062] Specifically, power consumption stability refers to the degree of power consumption fluctuation of interface devices under typical workloads, reflecting their power supply quality and operational consistency.
[0063] Specifically, estimated remaining lifetime refers to the percentage of usable lifetime or remaining writes (TBW) of an interface device based on its usage within its design durability range.
[0064] Specifically, fan speed fluctuation refers to the degree of deviation between the actual speed of the cooling fan configured for cooling interface equipment and its target speed, or the rate of change of speed under steady-state operation.
[0065] Specifically, a pre-trained weighted scoring model is invoked to calculate the health status. The weights of each health indicator can be determined based on historical root cause analysis (such as FTA) or dynamically adjusted according to the business scenario; there are no limitations on this. Of course, the weighted scoring model can also predict potentially faulty interface devices, so as to perform predictive maintenance on these devices.
[0066] Understandably, different health indicators have varying degrees of impact on equipment reliability. Introducing a weighting mechanism can highlight key factors, suppress secondary noise, and improve the rationality of health status assessment results. At the same time, the weighted scoring model supports flexible configuration of the weights of each health indicator, enhancing the adaptability and intelligence of the weighted scoring model.
[0067] S4214. Based on the task priority of each target host, the health status of each interface device, and the first candidate interface device, match each target host with a target interface device to obtain multiple pairs of target hosts and target interface devices.
[0068] In some embodiments, based on the task priority of each host, the health status of each interface device and the first candidate interface device, a target interface device is matched for each target host to obtain multiple pairs of target hosts and target interface devices, including: selecting second candidate interface devices that are of the same type as the first candidate interface devices and are idle from the interface devices other than the first candidate interface devices, sorting the second candidate interface devices from high to low based on their health status, and selecting the difference number of second candidate interface devices as target interface devices in sequence; If the health status of the first candidate interface device is greater than the preset health threshold, the first candidate interface device will be used as the target interface device for matching the target host with the highest task priority, and the remaining target hosts and target interface devices will be matched according to the positive mapping relationship between task priority and health status. If the health status of a candidate interface device is less than or equal to a preset health threshold, the first candidate interface device is selected as the target interface device. Based on the positive mapping relationship between task priority and health status, multiple target hosts and multiple target interface devices are matched.
[0069] Specifically, the difference quantity refers to the total number of target hosts minus 1.
[0070] Specifically, the second candidate interface device with the best health status is selected from the "second candidate interface devices that are of the same type as the first candidate interface device and are idle" as the target interface device. More specifically, the second candidate interface devices are sorted from high to low health status, and then the top N (i.e. the difference number) are selected.
[0071] Specifically, the specific value of the preset health threshold can be set by those skilled in the art according to the actual situation, and is not limited here. For example, the preset health threshold can be arbitrarily selected between 60 and 70 points, but is not limited to this.
[0072] Specifically, if the health status of the first candidate interface device is greater than the preset health threshold, it indicates that the first candidate interface device is healthy and can be used for critical tasks. In this case, the first candidate interface device can be used as the target interface device matched with the target host with the highest task priority. Furthermore, according to the principle of "the higher the task priority, the better the health status of the interface device assigned", the remaining target hosts are intelligently matched with target interface devices.
[0073] Specifically, if the health status of the first candidate interface device is less than or equal to the preset health threshold, it indicates that the first candidate interface device is not sufficient to undertake the critical task. In this case, the first candidate interface device will also be used as the target interface device, but it will not be assigned to the target host with the highest task priority. Instead, the target interface device will be intelligently matched for all target hosts according to the principle of "the higher the task priority, the better the health status of the interface device".
[0074] For example, if user A (high priority, performing critical production tasks) and user B (low priority, performing development and testing tasks) request the allocation of the same high-performance GPU card (ID GPU07) from the management controller almost simultaneously, the policy engine module in the BMC will trigger an arbitration process to address this concurrent request conflict: Preliminary Priority Arbitration: The conflict arbitration submodule in the strategy engine module makes a preliminary ruling based on the preset priority principle. Since user A has a higher priority, the resource scheduling request is initially approved and GPU07 resources are reserved in the resource reservation status table.
[0075] In-depth Health Status Assessment: The strategy engine module queries the health status assessment submodule to perform an in-depth health assessment of the target interface device GPU07. Specifically, a multi-dimensional weighted scoring model is used to comprehensively calculate the real-time health status of the interface device. This weighted scoring model includes at least the following assessment dimensions and calibration methods: A. Assessment Dimensions: Including but not limited to core health indicators such as error count, temperature, power consumption stability, estimated remaining lifespan, and fan speed fluctuation; B. Weight Calibration: The weight allocation of each health indicator is determined based on root cause analysis (such as Fault Tree Analysis, FTA) of historical fault data to ensure that the weighted scoring model accurately reflects the failure risk of the interface device. In addition, the weights can be dynamically adjusted according to different business scenarios (such as AI training, data storage, etc.); C. Threshold Management: A preset health threshold (e.g., 70 points) is set. This preset health threshold is determined through training with historical data. Interface devices below this preset health threshold are considered unsuitable for allocation to critical tasks. For example, the calculated health score of GPU07 is 65 points, which is lower than the preset health threshold.
[0076] Intelligent policy execution and backup selection: Based on principles in the preset arbitration policy library (e.g., if the health status of the preferred interface device is lower than the preset health threshold, the highest-healthy backup interface device of the same type in the interface device resource pool will be automatically selected for the high-priority task), the policy engine module will no longer allocate GPU07 to user A. Instead, it will proactively select the same type of backup interface device GPU12 with a higher health status (e.g., 95 points) from the idle GPUs and allocate it to user A. This process realizes an intelligent leap from "allocating the interface device indicated in the resource scheduling request" to "allocating the optimal interface device".
[0077] Resource optimization allocation and early warning: The policy engine module then assigns GPU07, which is in slightly worse health but is fully available, to low-priority user B to meet their needs. Simultaneously, it automatically generates a health status alert for GPU07, prompting a preventative check.
[0078] It is understandable that the conflict arbitration mechanism in this application is not a simple preemption mechanism, but a multi-factor intelligent decision-making system that integrates task priority and the health status of interface devices. It not only resolves resource conflicts, but also optimizes the overall resource allocation efficiency through health status awareness, prioritizing the service quality of critical business operations.
[0079] S422. For each pair of target hosts and target interface devices, query the global resource mapping table to determine the target switching chip and the current host, hot-remove the target interface device from the current host by configuring the registers of the target switching chip, control the target interface device to reset, add the target interface device to the target host by configuring the registers of the target switching chip, and update the global resource mapping table.
[0080] Figure 5 This is a flowchart illustrating a resource scheduling example provided in an embodiment of this application. Figure 5 As shown, the complete process for handling a single resource scheduling request is as follows: Sending a resource scheduling request: Users send a single resource scheduling request to the management controller via the Web GUI, Redfish, or IPMI.
[0081] Receiving resource scheduling requests: The user interface module directly receives resource scheduling requests without going through any intermediate management engine. After parsing the resource scheduling request, it obtains the target host and the target interface device.
[0082] Analysis and location: The resource management module queries its internally maintained global resource mapping table to find the target switching chip and port (the downlink port on the target switching chip (such as a PCIe Switch) that is directly connected to the target interface device) that the target interface device is currently physically connected to.
[0083] Hot Removal: The command execution module directly accesses the internal registers of the target switching chip via sideband interfaces such as I2C, UART, or SPI. By writing specific control values, it performs a hot removal operation, disconnecting the data link between the target interface device and the current host. The current host recognizes that the target interface device has been removed, safely unloads the driver, and the power supply to the target interface device remains unchanged.
[0084] Secure Reset: The command execution module communicates with the CPLD within the target interface device via a hardware link to control the target interface device to reset and monitor its reset completion signal. This ensures the absolute purity of the target interface device's state, which is crucial for guaranteeing scheduling reliability.
[0085] Hot-add: The command execution module reconfigures the switch chip's registers via the sideband interface, performs a hot-add operation, and establishes a data link between the target interface device and the current host. The target host recognizes the added target interface device and loads the driver.
[0086] Update the global resource mapping table and version snapshot: The resource management module updates the global resource mapping table. The version management module packages and saves the current system configuration as a version snapshot for rollback.
[0087] It should be noted that, for the case of "receiving multiple resource scheduling requests simultaneously, and all resource scheduling requests indicating the same target interface device", after identifying multiple pairs of target interface devices and target hosts, the specific implementation of "parsing and locating, hot removal, secure reset, hot addition, and updating the global resource mapping table and version snapshot" for each pair of target interface devices and target hosts is the same as "processing a single resource scheduling request". Therefore, detailed examples of the case of "receiving multiple resource scheduling requests simultaneously, and all resource scheduling requests indicating the same target interface device" will not be provided here.
[0088] Understandably, the above-mentioned method of adjusting the data link between the target interface device and the target host avoids the lengthy path in related technologies, significantly reduces latency, and improves reliability.
[0089] Specifically, if the purpose of the resource scheduling request is to allocate an interface device to a host when it is not occupied, the management controller controls the target switching chip to hot-add the target interface device to the target host.
[0090] Optionally, the management controller controls the target switching chip to hot-add the target interface device to the target host, including: identifying at least one pair of target hosts and target interface devices; for each pair of target hosts and target interface devices, querying the global resource mapping table to determine the target switching chip, adding the target interface device to the target host by configuring the registers of the target switching chip, and updating the global resource mapping table. For a clearer understanding, please refer to S420, which will not be elaborated here.
[0091] Specifically, if an interface device is already in use, a hot removal operation is performed on it from the currently assigned host. At this time, the management controller controls the target switching chip to remove the target interface device from the current host.
[0092] Optionally, the management controller controls the target switching chip to remove the target interface device from the current host, including: for each pair of target hosts and the current host, hot-removing the target interface device from the current host by configuring the registers of the target switching chip, and controlling the target interface device to reset. For an understanding of this, please refer to S420, which will not be elaborated here.
[0093] This application embodiment abandons the complex two-level architecture of separating the whole rack management platform and the pooled management engine in related technologies, and integrates all resource management functions into the management controller. The management controller directly controls the switching chip, thereby achieving the shortest management path (user-management controller-switching chip), fundamentally solving the problems of complex architecture, high cost, large response latency and poor reliability in related technologies.
[0094] In another embodiment of this application, the method further includes: when the current mapping table is changed to the target mapping table, comparing the current mapping table and the target mapping table to generate an incremental scheduling instruction, wherein the incremental scheduling instruction includes a hot removal instruction and / or a hot addition instruction; For hot removal commands, the interface device indicated by the hot removal command is hot removed from the host indicated by the hot removal command; For hot-add commands, the interface device indicated by the hot-remove command is hot-added to the host indicated by the hot-add command.
[0095] Specifically, the current mapping table refers to the current mapping table in the global resource mapping table.
[0096] Specifically, the destination mapping table refers to the mapping table that should be used after resource scheduling is completed.
[0097] Optionally, obtaining the target mapping table includes: receiving a template application request input by the user, or receiving a rollback request input by the user, wherein the template application request includes the target mapping table, and the mapping table in the historical global resource mapping table corresponding to the rollback request is the target mapping table.
[0098] Specifically, the template application request carries a user's selection of a preset system configuration template, which comes with a mapping table (i.e., the target mapping table).
[0099] Specifically, the template application request carries the version information of the system configuration that the user wants to restore. The historical global resource mapping table of that version is retrieved from the history record, and the mapping relationship in the historical global resource mapping table is the target mapping relationship table.
[0100] Understandably, by obtaining the target mapping table through both template application and historical rollback, efficient configuration and reliable recovery of resource scheduling targets are achieved, thereby improving the system's automation level and operational flexibility.
[0101] Optionally, the current mapping table and the target mapping table are compared to generate an incremental scheduling instruction, wherein the incremental scheduling instruction includes a hot removal instruction and / or a hot addition instruction, including: hashing each mapping relationship in the current mapping table to generate a corresponding current hash identifier; Each mapping relationship in the target mapping relationship table is hashed to generate a corresponding target hash identifier; Perform set operations on the current hash identifier and the target hash identifier to obtain the hash identifier difference set; Incremental scheduling instructions are generated based on the hash identifier difference set.
[0102] Optionally, the method may also include saving the current global resource mapping table as a version snapshot.
[0103] Specifically, before performing any system configuration, the current global resource mapping table is saved as a version snapshot. This provides configuration version management functionality for the entire rack system, enabling one-click rollback and reducing operational risks.
[0104] For example, the rack system is currently running a system configuration template T_current (version number marked V5), which contains 32 mapping relationships. A user initiates a template application request via the Web GUI to switch the system configuration to a new template T_new, which also defines 32 mapping relationships. At this point, the differential analysis engine module is triggered and begins performing comparison calculations to generate incremental scheduling instructions. Its workflow is as follows: Data Preprocessing and Hashization: The differential engine module loads the mapping relationship table of the two templates into memory. For each mapping relationship in the table, the differential engine module extracts its key feature fields, including the unique identifier Device_ID of the interface device, the unique identifier HostBox_ID of the host, the unique identifier Switch_ID of the switch chip connected to the interface device, and the unique identifier Switch_Port_ID of the port number of the switch chip connected to the interface device, and concatenates them into a unique feature string. Subsequently, a hash operation (such as SHA-256) is performed on this feature string to generate a fixed-length hash value, which serves as the unique digital fingerprint (i.e., hash identifier) of the mapping relationship.
[0105] Set operations and difference classification: The difference engine module stores the hash values (i.e., current hash identifiers) of all mappings in T_current into the set Set_current, and stores the hash values (i.e., target hash identifiers) of all mappings in T_new into the set Set_new. This is achieved by performing set operations: List_Keep = Set_current ∩ Set_new (intersection): The result is 28, indicating that these mapping relationships have not changed and no operation is required.
[0106] List_Remove = Set_current - Set_new (difference): The result is 2, indicating that these mappings only exist in the old template and need to be removed hot.
[0107] List_Add = Set_new - Set_current (difference): The result is 4, indicating that these mapping relationships only exist in the new template and a hot-add operation needs to be performed.
[0108] Create an incremental operation list, including the devices in the two mapping relationships corresponding to List_Remove and the devices in the four mapping relationships corresponding to List_Add.
[0109] Generate scheduling instructions: The differential engine module automatically generates an incremental scheduling instruction sequence containing 2 hot removals and 4 hot additions based on the incremental operation list.
[0110] Then, the command execution module receives the incremental scheduling instruction sequence and executes it strictly in sequence. It only needs to operate on the devices in the two mapping relationships corresponding to `List_Remove` and the four mapping relationships corresponding to `List_Add`. The entire process involves six resource scheduling actions, rather than a full refresh of all 32 mapping relationships. Calculations show that compared to the time required to fully refresh all 32 mapping relationships, incremental scheduling avoids 26 redundant operations, reducing scheduling time by 81%, fully demonstrating the significant advantages of the incremental scheduling strategy.
[0111] After the template switch is successful, the version management module automatically saves the new system configuration status as a new version snapshot and marks it as V6, while updating the global resource mapping table.
[0112] After running for a period of time under the V6 configuration, the operations and maintenance personnel monitored that the performance indicators of a critical application were not up to standard, and determined that the resource configuration of the new template T_new was not suitable for the application. The user initiated a rollback request through the Web GUI, requesting to restore to the historical version V5. The version management module responded immediately, and its workflow is as follows: it retrieves and loads the snapshot file of version V5 from storage. It calls the same differential analysis engine module, takes the current version V6 and the version V5 to be rolled back as input, and executes the above comparison process again to generate a reverse scheduling instruction sequence. The command execution module executes this reverse scheduling instruction sequence to automatically complete the rollback operation, so that the system configuration is quickly and accurately restored to the version V5 state (i.e., T_current), and the performance of the critical application returns to normal.
[0113] Understandably, using a hash algorithm to perform a differential comparison between the current mapping table and the target mapping table can efficiently identify mappings that need to be changed. Since hash values are quickly calculated and uniquely represent each mapping, it eliminates the need for field-by-field comparison, significantly reducing computational complexity and processing latency. Scheduling instructions are generated only for mappings with inconsistent hash values, avoiding redundant operations, reducing the computational load on the management controller, improving the response speed and execution efficiency of resource scheduling, and enhancing the accuracy and reliability of state comparisons.
[0114] For details on the specific implementation methods of hot removal and hot addition, please refer to the previous text, which will not be repeated here.
[0115] It can be understood that the incremental scheduling mechanism overcomes the inefficiency of related technologies that can only perform full or single-device operations, and realizes rapid switching of large-scale configurations as well as version management and rollback.
[0116] In summary, the rack-mount system and resource scheduling method provided in this application abandon the traditional complex two-tier architecture of "rack-mount management platform + independent pooled management engine". All management functions (resource view, user interface, scheduling engine) are highly integrated into the management controller within the switching device. This achieves the shortest management path, directly controlling the switching chip through a sideband interface, fundamentally solving the problems of system complexity, high cost, high latency, and poor reliability inherent in existing technologies. Furthermore, a fast differential analysis algorithm based on hash fingerprinting and set operations is proposed. By converting device mapping relationships into unique hash values for comparison, the incremental operation set requiring changes is accurately identified. This enables scheduling only the differing parts, avoiding the huge overhead of a full refresh and improving scheduling efficiency. A weighted scoring model based on multi-dimensional health indicators is created, with weights determined based on historical fault root cause analysis, realizing a shift from "allocating available devices" to "allocating healthy devices". A multi-factor decision-making system based on priority, device health, and business rules is designed to intelligently resolve resource competition and prioritize the service quality of critical businesses. Furthermore, configuration version snapshots and reverse scheduling based on differential analysis have been introduced, providing a "safety net" for all operation and maintenance operations and greatly reducing the risk of changes.
[0117] Through the above description of the embodiments, those skilled in the art can clearly understand that the methods according to the above embodiments can be implemented by means of software plus necessary general-purpose hardware platforms. Of course, they can also be implemented by hardware, but in many cases the former is a better implementation method.
[0118] Embodiments of this application also provide a resource scheduling device, including: a management controller applied to the rack system described in the first aspect, wherein the device includes: a first receiving module, configured to receive the resource scheduling request input by a user; The first control module is used to control the target switching chip to hot-remove the target interface device from the current host and hot-add it to the target host, wherein the target interface device and the target host are specified by the resource scheduling request, the current host is the host that currently has a data link with the target interface device, and the target switching chip is the switching chip that is physically connected to the target interface device.
[0119] For a description of the features in the embodiment corresponding to the resource scheduling device, please refer to the relevant description in the embodiment corresponding to the resource scheduling method, which will not be repeated here.
[0120] Embodiments of this application also provide an electronic device, including a memory and a processor, wherein the memory stores a computer program and the processor is configured to run the computer program to perform the steps in any of the resource scheduling method embodiments described above.
[0121] Embodiments of this application also provide a computer-readable storage medium storing a computer program, wherein the computer program is configured to execute the steps in any of the above-described resource scheduling method embodiments at runtime.
[0122] In one exemplary embodiment, the aforementioned computer-readable storage medium may include, but is not limited to, various media capable of storing computer programs, such as a USB flash drive, read-only memory (ROM), random access memory (RAM), portable hard disk, magnetic disk, or optical disk.
[0123] Embodiments of this application also provide a computer program product, which includes a computer program that, when executed by a processor, implements the steps in any of the above-described resource scheduling method embodiments.
[0124] Embodiments of this application also provide another computer program product, including a non-volatile computer-readable storage medium storing a computer program, which, when executed by a processor, implements the steps in any of the resource scheduling method embodiments described above.
[0125] Those skilled in the art will further recognize that the units and algorithm steps of the various examples described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, computer software, or a combination of both. To clearly illustrate the interchangeability of hardware and software, the components and steps of the various examples have been generally described in terms of functionality in the foregoing description. Whether these functions are implemented in hardware or software depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of this application.
[0126] The above provides a detailed description of the rack system and resource scheduling method provided in this application. Specific examples have been used to illustrate the principles and implementation methods of this application. The descriptions of the embodiments above are merely for the purpose of helping to understand the method and core ideas of this application. It should be noted that those skilled in the art can make various improvements and modifications to this application without departing from its principles, and these improvements and modifications also fall within the protection scope of the claims of this application.
Claims
1. A rack-mount system, characterized in that, include: General-purpose computing resource pool, interface device resource pool, and switching equipment; The general computing resource pool includes at least one host; The interface device resource pool includes at least two interface devices; The switching device includes a management controller and at least two switching chips, each of which is connected to at least one other switching chip. The management controller is connected to each of the switching chips. In response to receiving a resource scheduling request from a user, the management controller controls the target switching chip to hot-remove a target interface device from the current host and hot-add it to the target host. The target interface device and the target host are determined based on the resource scheduling request. The current host is the host that currently has a data link with the target interface device, and the target switching chip is the switching chip that is physically connected to the target interface device.
2. The rack system according to claim 1, characterized in that, The management controller includes: The user interface module is used to receive management requests input by the user, wherein the management requests include resource scheduling requests, template application requests, and rollback requests; The resource management module is used to maintain a global resource mapping table, wherein the global resource mapping table includes a mapping relationship table and a physical connection topology. The current host is determined by querying the mapping relationship corresponding to the target interface device in the mapping relationship table, and the target switching chip is determined by querying the physical connection path corresponding to the target interface device in the physical connection topology. The command execution module is used to hot-remove the target interface device from the current host by configuring the registers of the target switching chip, control the target interface device to reset, and hot-add the target interface device to the target host by configuring the registers of the target switching chip.
3. The rack system according to claim 2, characterized in that, The management controller also includes: The strategy engine module is configured to, when multiple resource scheduling requests indicate the same target interface device, obtain the task priority of the target host indicated by each resource scheduling request, obtain the health status of each interface device, and, based on the task priority of each target host, the health status of each interface device, and a first candidate interface device, match one target interface device for each target host, thereby obtaining multiple pairs of target hosts and target interface devices, wherein the first candidate interface device is one of the multiple target interface devices indicated by the resource scheduling requests.
4. The rack system according to claim 2, characterized in that, The management controller also includes: The differential analysis engine module is used to compare the current mapping table and the target mapping table when the current mapping table is changed to the target mapping table, and generate an incremental scheduling instruction, wherein the incremental scheduling instruction includes a hot removal instruction and / or a hot addition instruction; The command execution module is further configured to, in response to the hot-remove command, hot-remove the interface device indicated by the hot-remove command from the host indicated by the hot-remove command, and in response to the hot-add command, hot-add the interface device indicated by the hot-remove command to the host indicated by the hot-add command.
5. The rack system according to claim 2, characterized in that, The management controller also includes: The version management module is used to save the current global resource mapping table as a version snapshot.
6. A resource scheduling method, characterized in that, Applied to the rack system according to any one of claims 1-5, wherein the method comprises: Receive the resource scheduling request input by the user; Identify at least one pair of the target host and the target interface device; For each pair of target host and target interface device, the global resource mapping table is queried to determine the target switching chip and the current host. The target interface device is hot-removed from the current host by configuring the registers of the target switching chip, the target interface device is reset, the target interface device is added to the target host by configuring the registers of the target switching chip, and the global resource mapping table is updated. The target interface device and the target host are specified by the resource scheduling request. The current host is the host that currently has a data link with the target interface device, and the target switching chip is the switching chip that is physically connected to the target interface device.
7. The resource scheduling method according to claim 6, characterized in that, The determination of at least one pair of the target host and the target interface device includes: If multiple resource scheduling requests are received simultaneously and all resource scheduling requests indicate the same target interface device, each resource scheduling request is parsed to obtain multiple target hosts and a first candidate interface device, wherein the first candidate interface device is the target interface device indicated by the multiple resource scheduling requests. Obtain the task priority of each target host; Obtain the health status of each of the interface devices; From the interface devices other than the first candidate interface device, select the second candidate interface devices that are of the same type as the first candidate interface device and are idle. Sort the second candidate interface devices from high to low based on their health status, and select the difference number of the second candidate interface devices as the target interface device. If the health status of the first candidate interface device is greater than a preset health threshold, the first candidate interface device is selected as the target interface device to be matched with the target host with the highest task priority, and the remaining target hosts and target interface devices are matched according to the positive mapping relationship between task priority and health status. If the health status of the candidate interface device is less than or equal to the preset health threshold, the first candidate interface device is used as the target interface device, and multiple target hosts and multiple target interface devices are matched according to the positive mapping relationship between task priority and health status.
8. The resource scheduling method according to claim 7, characterized in that, The step of obtaining the health status of each of the interface devices includes: Collect health indicators for each of the interface devices, wherein the health indicators include at least one of the following: error count, temperature, power consumption stability, estimated remaining lifespan, and fan speed fluctuation; For each interface device, a pre-trained weighted scoring model is used to calculate the health status of the interface device based on its health indicators.
9. The resource scheduling method according to claim 6, characterized in that, The determination of at least one pair of the target host and the target interface device includes: If a single resource scheduling request is received, the resource scheduling request is parsed to obtain the target host and the target interface device.
10. The resource scheduling method according to claim 6, characterized in that, Also includes: When the current mapping table is changed to the target mapping table, each mapping relationship in the current mapping table is hashed to generate a corresponding current hash identifier; Each mapping relationship in the target mapping relationship table is hashed to generate a corresponding target hash identifier; Perform a set operation on the current hash identifier and the target hash identifier to obtain the hash identifier difference set; Incremental scheduling instructions are generated based on the hash identifier difference set, wherein the incremental scheduling instructions include hot removal instructions and / or hot addition instructions; In response to the hot-remove command, the interface device indicated by the hot-remove command is hot-removed from the host indicated by the hot-remove command; In response to the hot-add command, the interface device indicated by the hot-remove command is hot-added to the host indicated by the hot-add command.
11. The resource scheduling method according to claim 10, characterized in that, Obtaining the target mapping table includes: The system can receive a template application request or a rollback request from the user, wherein the template application request includes the target mapping table, and the mapping table in the historical global resource mapping table corresponding to the rollback request is the target mapping table.
Citation Information
Patent Citations
Distributed resource management method, device, system and equipment and storage medium
CN117472596A
Multi-accelerator card heterogeneous server and resource link reconstruction method
CN117687956A
Server system, resource scheduling method of server system, chip and chip grain
CN118210634A
Resource scheduling method, computer equipment, storage medium and program product
CN118394533A
Message-in-message station resource scheduling method, device thereof, equipment and medium
CN119172384A