Method and system for realizing transparent acceleration AI load storage on cloud native platform based on RDMA (Remote Direct Memory Access)

By introducing network acceleration components on the cloud-native platform and dynamically injecting the SMC-R protocol stack, the problem of traditional storage components not supporting RDMA is solved, efficient network acceleration of AI applications is achieved, and data transmission performance and platform management automation are improved.

CN120729883APending Publication Date: 2025-09-30SHANGHAI DAOKE NETWORK TECH CO LTD
View PDF 0 Cites 2 Cited by

Patent Information

Application Number
CN202510898956.6
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-07-01
Publication Date
2025-09-30

AI Technical Summary

Technical Problem

The storage components of traditional cloud-native application scenarios do not support the RDMA protocol and the transformation cost is high, resulting in low network transmission efficiency during AI training/inference.

Method used

A network acceleration component is introduced on the cloud-native platform. The SMC-R protocol stack is injected into the container when it starts through a dynamic resource allocation mechanism, bypassing low-speed protocols such as TCP/IP to achieve transparent acceleration based on RDMA.

Benefits of technology

High-performance network communication can be achieved without modifying the AI ​​application code, improving the data transmission efficiency between AI applications and storage components, reducing operation and maintenance complexity, and enhancing the compatibility and automated management capabilities of the cloud-native platform.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120729883A_ABST
    Figure CN120729883A_ABST
Patent Text Reader

Abstract

The invention provides a method and system for realizing transparent acceleration of AI load storage on a cloud native platform based on RDMA, and belongs to the technical field of cloud native. A network acceleration component is realized based on a dynamic resource allocation DRA mechanism, the network acceleration component comprises network acceleration plug-ins and network acceleration custom resources, the network acceleration plug-ins are containerized and deployed on each working node, a first storage component is deployed on at least one working node in a cloud native platform, and a second storage component is deployed on at least one working node in the cloud native platform. A first storage component uses a first protocol to provide a storage service for an AI application, and the scheme comprises the following steps: in a scheduling process of a service container, in response to that the service container is scheduled to a first working node, a network acceleration plug-in on the first working node generates a network acceleration configuration file based on a network acceleration custom resource, the first protocol is used for indicating that the service container is injected into a protocol stack of shared memory communication SMC-R based on RDMA when the service container is started, so that the service container can use the SMC-R to bypass the first protocol, and network acceleration based on RDMA is provided for the first storage component.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of cloud native technology, and in particular to a method and system for transparently accelerating AI load storage based on RDMA on a cloud native platform. Background Art

[0002] AI is developing rapidly, and AI tasks typically require extensive computing resources (such as CPUs, GPUs, and TPUs), as well as storage and network support. Cloud-native platforms, such as Kubernetes, offer automated, elastic, and efficient resource management, along with extensive hardware support and a rich ecosystem of tools. These features make Kubernetes an ideal platform for AI workloads, significantly simplifying deployment complexity and improving resource utilization while meeting the high-performance demands of businesses.

[0003] AI training and inference require the storage of large datasets, model files, checkpoints, and other data. To meet these requirements, a common practice is to provide storage components that support the RDMA network protocol to enable high-speed network loading of datasets and model files, thereby accelerating AI training and inference overall.

[0004] However, many storage components for traditional cloud-native application scenarios do not support the RDMA protocol, and for these traditional cloud-native storage components, the technical transformation cost of directly upgrading them to support the RDMA network protocol is very high.

[0005] Therefore, it is necessary to provide an improved technical solution to the above-mentioned deficiencies in the prior art. Summary of the Invention

[0006] The purpose of this application is to provide a method and system for transparently accelerating AI load storage based on RDMA on a cloud-native platform, so as to solve or alleviate the problem in the prior art that the storage components of traditional cloud-native application scenarios do not support the RDMA protocol and the modification cost is high.

[0007] In order to achieve the above objectives, this application provides the following technical solutions:

[0008] In a first aspect, the present application provides a method for transparently accelerating AI load storage based on RDMA on a cloud native platform, including: the method is applied to a network acceleration component, the network acceleration component is implemented based on a dynamic resource allocation (DRA) mechanism, the network acceleration component includes: a network acceleration plug-in and a network acceleration custom resource, the network acceleration plug-in is containerized and deployed on each working node, the cloud native platform also includes a network based on the RDMA protocol, at least one working node in the cloud native platform is deployed with a first storage component, the first storage component uses a first protocol to provide storage services for AI applications, the first protocol is different from the RDMA protocol, and the transmission speed of the network based on the first protocol is lower than the transmission speed of the network based on the RDMA protocol, the method includes:

[0009] During the scheduling process of the service container, in response to the service container being scheduled to the first working node, the network acceleration plug-in deployed on the first working node generates a network acceleration configuration file based on the network acceleration custom resource referenced by the resource configuration file of the service container, wherein the network acceleration configuration file is used to instruct the service container to inject a protocol stack of RDMA-based shared memory communication SMC-R when starting;

[0010] Based on the network acceleration configuration file, the container runtime on the first working node loads the SMC-R during the startup process of the business container, so that the business container can use SMC-R to bypass the first protocol and provide RDMA-based network acceleration for the first storage component.

[0011] In the above technical solution, by introducing network acceleration plug-ins and network acceleration custom resources, without modifying AI applications and traditional storage components, the SMC-R protocol stack is injected when the container of the cloud native platform is started, thereby bypassing low-speed protocols (such as TCP / IP), thereby improving the performance of AI applications accessing storage.

[0012] In conjunction with the first aspect, in some optional embodiments, the network acceleration configuration file is used to configure resources required for network acceleration, including: SO library files and environment variables required to run the SMC-R protocol stack. Based on the network acceleration configuration file, the container runtime on the first working node loads the SMC-R during the startup process of the business container, including:

[0013] The container runtime on the first working node reads the network acceleration configuration file, and mounts the SO library file, executes the hook script, and writes the environment variables according to the network acceleration configuration file to complete the creation of the business container.

[0014] Based on the above technical solution, the specific implementation method of the network acceleration configuration file is clarified, and at the same time, it is clarified how the configuration file is used during the container startup process to complete the loading and injection of the SMC-R protocol stack. By automatically mounting and injecting the SMC-R .so library and setting environment variables during the container startup phase, AI application developers can seamlessly switch AI applications to high-performance protocol stacks without modifying the code or recompiling the application, thereby achieving "zero-intrusion" acceleration of AI applications. In addition, the loading behavior of SMC-R is controlled by dynamically generated network acceleration configuration files, and the acceleration capability is enabled on demand. By generating standardized network acceleration configuration files (such as CDI files) and cooperating with CRI plug-ins or OCI hook mechanisms, a unified injection process is achieved, which improves the consistency of cloud native platform management and reduces the complexity of operation and maintenance. Using this implementation method, it is easier to integrate into the plug-in ecosystem of the cloud native platform.

[0015] In conjunction with the first aspect, in some optional embodiments, the network acceleration component further includes: a network acceleration controller; the network acceleration controller is deployed on a control node of the cloud native platform; before the service container is scheduled to the first working node, the method further includes:

[0016] The network acceleration controller, in response to the reference to the network acceleration custom resource in the resource configuration file of the service container, deletes the working nodes that do not meet the network acceleration conditions from the candidate node list of the first scheduling file to obtain a second scheduling file;

[0017] Determine the first working node from the second scheduling file;

[0018] Among them, the candidate node list is the working node information generated by the native scheduler of the cloud native platform for deploying the business container.

[0019] Based on the above technical solution, during the container scheduling stage, the network acceleration controller performs pre-screening and scheduling logic optimization to achieve intelligent perception and scheduling of SMC-R resources, ensuring that AI containers are only scheduled to nodes with high-performance network capabilities, avoiding task interruptions due to scheduling failures or performance degradation.

[0020] In combination with the first aspect, in some optional embodiments, the network acceleration custom resource includes: custom resource class declaration parameters and a custom resource declaration template, the custom resource class declaration parameters are used to extend the resource declaration to configure support for the SMC-R protocol stack in the business container, and the custom resource declaration template is used to generate a resource declaration object for the business container to reference the resource declaration object when creating it to dynamically inject the SMC-R protocol stack.

[0021] Based on the above technical solution, by limiting the custom resource class declaration parameters and custom resource declaration templates, the acceleration capability of SMC-R is abstracted into a "custom resource CRD" and standardized. This realizes the standardized abstraction of SMC-R acceleration capabilities and the unified modeling of underlying network capabilities, which is conducive to the understanding and use of components such as schedulers and controllers.

[0022] In conjunction with the first aspect, in a possible implementation, before the service container is scheduled to the first working node, the method further includes:

[0023] The control node of the cloud native platform receives the creation request of the business container, and automatically generates a corresponding custom resource object for use by the business container based on the resource configuration file of the business container and the custom resource declaration template.

[0024] Based on the above technical solution, the control node automatically creates resource objects based on the resource configuration file and custom resource declaration template of the business container without manual intervention, realizing automatic configuration of network acceleration capabilities and end-to-end orchestration of network acceleration resources, giving the cloud native platform stronger automated orchestration capabilities and reducing manual intervention.

[0025] With reference to the first aspect, in one possible implementation, the first protocol is the TCP / IP protocol.

[0026] Based on the above technical solution, by bypassing the low-performance TCP / IP protocol stack, higher network communication efficiency can be achieved, which better meets the actual needs of existing AI containerized deployment and improves the applicability of this solution.

[0027] In a second aspect, an embodiment of the present application provides a network acceleration component, which is implemented based on a dynamic resource allocation (DRA) mechanism. The network acceleration component includes: a network acceleration plug-in, a network acceleration controller, and a network acceleration custom resource; the network acceleration controller is deployed on a control node of a cloud native platform, and the network acceleration plug-in is containerized and deployed on each working node of the cloud native platform. The cloud native platform also includes a network based on the RDMA protocol. A first storage component is deployed on at least one working node in the cloud native platform. The first storage component uses a first protocol to provide storage services for AI applications. The first protocol is different from the RDMA protocol, and the transmission speed of the network based on the first protocol is lower than the transmission speed of the network based on the RDMA protocol.

[0028] The network acceleration controller is configured to, in response to the reference to the network acceleration custom resource in the resource configuration file of the service container, delete the working nodes that do not meet the network acceleration conditions from the candidate node list in the first scheduling file to obtain a second scheduling file; and determine the first working node from the second scheduling file;

[0029] The candidate node list is the working node information generated by the cloud native platform's native scheduler for deploying the business container;

[0030] During the scheduling process of the business container, in response to the business container being scheduled to the first working node, the network acceleration plug-in deployed on the first working node generates a network acceleration configuration file based on the network acceleration custom resource referenced by the resource configuration file of the business container, wherein the network acceleration configuration file is used to instruct the network acceleration plug-in to inject the RDMA-based shared memory communication SMC-R protocol stack when the business container is started, so that the first storage component bypasses the first protocol to achieve RDMA-based transparent network acceleration.

[0031] In a third aspect, an embodiment of the present application provides a transparent accelerated AI load storage system based on RDMA on a cloud native platform, the system including a network acceleration component, the network acceleration component being implemented based on a dynamic resource allocation (DRA) mechanism, the network acceleration component including: a network acceleration plug-in, the network acceleration plug-in being containerized and deployed on each working node, the cloud native platform also including a network based on the RDMA protocol, at least one working node in the cloud native platform is deployed with a first storage component, the first storage component using a first protocol to provide storage services for AI applications, the first protocol being different from the RDMA protocol, and the transmission speed of the network based on the first protocol being lower than the transmission speed of the network based on the RDMA protocol, the system including:

[0032] A scheduling unit is configured to, in response to the business container being scheduled to a first working node during the scheduling process of the business container, generate a network acceleration configuration file by a network acceleration plug-in deployed on the first working node based on the network acceleration custom resource referenced by the resource configuration file of the business container, wherein the network acceleration configuration file is used to instruct the network acceleration plug-in to inject a RDMA-based shared memory communication (SMC-R) protocol stack when the business container is started;

[0033] The injection unit is configured to load the SMC-R during the startup of the business container when the container on the first working node is running based on the network acceleration profile, so that the business container can use SMC-R to bypass the first protocol and provide RDMA-based network acceleration for the first storage component.

[0034] In a fourth aspect, an embodiment of the present application provides a computer device comprising a memory, a processor, and a computer program stored in the memory, wherein the processor executes the computer program to implement the steps of the method described in any of the above embodiments.

[0035] In a fifth aspect, an embodiment of the present application provides a computer-readable storage medium having a computer program / instruction stored thereon, which, when executed by a processor, implements the steps of the method described in any of the above embodiments.

[0036] The technical effects of the above-mentioned second, third, fourth and fifth aspects can refer to the description of the first aspect and will not be repeated here. BRIEF DESCRIPTION OF THE DRAWINGS

[0037] Figure 1 This is a schematic diagram comparing the implementation methods of two different network protocol stacks: TCP / IP protocol and RDMA protocol.

[0038] Figure 2 This is a diagram of the ResourceClaim object and the Pod lifecycle.

[0039] Figure 3 A schematic diagram of network acceleration based on the SMC-R protocol stack. DETAILED DESCRIPTION

[0040] The terms "first," "second," "third," and "fourth," etc., in the specification and claims of this application and the accompanying drawings are used to distinguish between different objects, rather than to describe a specific order. In addition, the terms "including," "having," and any variations thereof, are intended to cover non-exclusive inclusions. For example, a process, method, system, product, or apparatus comprising a series of steps or elements is not limited to the listed steps or elements, but may optionally include steps or elements not listed, or may optionally include other steps or elements inherent to the process, method, product, or apparatus.

[0041] References herein to "embodiments" mean that a particular feature, structure, or characteristic described in connection with the embodiments may be included in at least one embodiment of the present application. The appearance of this phrase in various places in the specification does not necessarily refer to the same embodiment, nor does it constitute an independent or alternative embodiment that is mutually exclusive of other embodiments. It is understood, both explicitly and implicitly, by those skilled in the art that the embodiments described herein may be combined with other embodiments.

[0042] "Multiple" refers to two or more. "And / or" describes the relationship between associated objects, indicating that three possible relationships exist. For example, "A and / or B" can mean: A exists alone, A and B exist simultaneously, or B exists alone. The character " / " generally indicates that the associated objects are in an "or" relationship.

[0043] For ease of understanding, relevant technical terms are explained below.

[0044] RDMA (Remote Direct Memory Access) is an efficient data transmission technology that allows computers to read and write data directly from the memory of a remote computer without operating system intervention. RDMA is implemented through a Smart Network Card (Host Channel Adapter, HCA), allowing direct memory access between servers. Specifically, RDMA bypasses the traditional TCP / IP protocol stack, making data transmission more efficient. Its core features include:

[0045] (1) Zero-copy: Data can be sent and received directly in the application's buffer without being copied through the network protocol stack, thereby reducing CPU burden and latency.

[0046] (2) Kernel bypass: Applications can directly perform data transfer in user mode, avoiding context switching between user mode and kernel mode and improving transmission efficiency.

[0047] (3) No CPU intervention: The remote host's CPU will not be involved in the data transmission process, which can significantly reduce CPU usage and free up more computing resources for other tasks.

[0048] Storage components in traditional cloud-native application scenarios (referred to as traditional storage components) refer to storage components in cloud-native platforms that do not yet support the RDMA protocol and are used in AI training / inference processes, such as object storage (such as S3), distributed file systems (such as HDFS and CephFS), or network file storage (such as NFS). Most of these traditional storage components use TCP / IP (Transmission Control Protocol / Internet Protocol) networks, which supports low network speeds and cannot meet the performance requirements of AI training / inference.

[0049] Shared Memory Communication over RDMA (SMC-R): is a high-performance kernel network protocol stack that is compatible with the socket layer and implemented using shared memory technology. It can help TCP network applications transparently use RDMA to obtain high-bandwidth, low-latency network communication services. SMC-R's shared memory data interaction model relies on the memory operation primitives provided by RDMA. RDMA technology sinks the network protocol stack to the RDMA network card (RNIC) for implementation, allowing network nodes to bypass the kernel and directly access remote memory. SMC-R operates in kernel space, supporting user-mode programs to describe network behaviors through the socket interface, and using the IB verbs interface to implement RDMA network transmission. However, in the management of AI application-related business containers on existing cloud-native platforms, the direct applicability of SMC-R still has the following problems:

[0050] (1) Limited containerization support: Current mainstream container platforms (such as Kubernetes) do not integrate support for SMC-R by default, which limits the implementation of SMC-R in cloud-native AI applications.

[0051] (2) The SMC-R protocol stack is hardware-dependent: SMC-R relies on network cards that support RDMA (such as RoCE or InfiniBand network cards) and drivers. Not all nodes in the cloud platform are equipped with RDMA network cards. Even if they are, the corresponding IB / RoCE drivers need to be installed and configured. As a result, SMC-R is difficult to deploy uniformly, limiting its widespread application on general cloud platforms.

[0052] (3) High deployment threshold and difficulty in rapid launch: Most images provided by different cloud vendors do not support the SMC-R protocol. This requires AI applications to configure SMC-R related information by themselves during the development process and package the relevant SO library files together with the AI ​​application image. This undoubtedly increases the development burden of AI application developers and makes it difficult to quickly launch AI applications in a unified manner.

[0053] (4) Lack of automation in scheduling and resource management: SMC-R is a "special resource", but the cloud platform's native scheduler (such as the Kubernetes scheduler) does not recognize this capability. If an AI application requires SMC-R acceleration, it cannot be automatically scheduled to a node with RDMA support, nor can the SMC-R protocol stack be transparently injected into the business container running the AI ​​application, resulting in a low degree of automation in the business container network acceleration.

[0054] In summary, although RDMA and SMC-R have the characteristics of zero copy, low latency, and high throughput, their deployment is limited by hardware support, kernel version, container isolation, scheduling mechanism, etc., making it difficult to directly apply them to general AI container applications. In view of this, the present embodiment provides a method and system for transparently accelerating AI load storage based on RDMA on a cloud native platform, by deploying a self-developed network acceleration component based on the dynamic resource allocation DRA mechanism on the cloud native platform. The network acceleration component includes a network acceleration plug-in and a network acceleration custom resource (Custom Resource Definition, CRD). The network acceleration custom resource can be referenced by the resource configuration file (PodSpec file) of the business container to indicate the injection of the RDMA-based shared memory communication SMC-R protocol stack into the business container. When the business container is scheduled to the first working node, the network acceleration plug-in on the first working node instructs the container runtime (CR) on the first working node to inject SMC-R into the business container during the startup of the business container based on the CRD referenced in the PodSpec file of the business container, so that the business container can use SMC-R to bypass the first protocol (such as TCP / IP protocol) and provide RDMA-based network acceleration for the first storage component. By introducing CRD and network acceleration components, this solution allows users to automatically trigger the injection of acceleration capabilities by simply referencing CRD in the PodSpec file. There is no need to modify the application code or manually configure the underlying network, nor is there any need to upgrade traditional storage components to components that support the RDMA protocol. Transparent support for the containerized business RDMA protocol can be achieved. At the same time, the introduction of CRD and network acceleration components complies with the extension mechanism of the cloud native platform, enabling the cloud native platform to seamlessly integrate RDMA network acceleration capabilities and achieve a huge improvement in AI training / inference network performance. In addition, the injection process of RDMA network acceleration resources is uniformly managed by the network acceleration component running on each node, which complies with the declarative control concept of cloud-native platforms (such as Kubernetes) and enhances the compatibility and maintainability of cloud-native platforms.

[0055] The embodiments of the present application are described below with reference to the accompanying drawings.

[0056] Example 1

[0057] An embodiment of the present application provides a method for transparently accelerating AI load storage based on RDMA on a cloud-native platform. The method is applied to a network acceleration component, which is implemented based on a dynamic resource allocation (DRA) mechanism and includes a network acceleration plug-in and a network acceleration custom resource. The network acceleration plug-in is containerized and deployed on each working node. The cloud-native platform also includes a network based on the RDMA protocol. A first storage component is deployed on at least one working node in the cloud-native platform. The first storage component uses a first protocol to provide storage services for AI applications. The first protocol is different from the RDMA protocol, and the transmission speed of the network based on the first protocol is lower than the transmission speed of the network based on the RDMA protocol. The method includes:

[0058] Step S1: During the scheduling process of the business container, in response to the business container being scheduled to the first working node, the network acceleration plug-in deployed on the first working node generates a network acceleration configuration file based on the network acceleration custom resource referenced by the resource configuration file of the business container.

[0059] The network acceleration profile is used to instruct the injection of the RDMA-based shared memory communication SMC-R protocol stack when the business container is started.

[0060] Step S2: Based on the network acceleration configuration file, the container runtime on the first working node loads SMC-R during the startup process of the business container, so that the business container can use SMC-R to bypass the first protocol and provide RDMA-based network acceleration for the first storage component.

[0061] In this embodiment, the network acceleration component is a cloud-native platform component independently developed, which is used to uniformly manage the injection process of RDMA network acceleration resources and provide network acceleration capabilities for business containers running AI applications.

[0062] Furthermore, the network acceleration component is implemented based on the dynamic resource allocation (DRA) mechanism. That is, in the Kubernetes cloud-native platform, the network acceleration component uses the framework and capabilities provided by DRA to discover, allocate, and inject acceleration resources such as RDMA.

[0063] It should be noted that the concept of dynamic resource allocation can be broadly and narrowly defined. Broadly speaking, dynamic resource allocation includes a variety of technical implementations, such as using the Horizontal Pod Autoscaler (HPA) technology to adjust the number of Pod replicas (a Pod is the smallest deployable computing unit created and managed in Kubernetes); or using the Vertical Pod Autoscaler (VPA) technology to automatically adjust the resource requests and limits of containers in a Pod, where the resource requests and limits are stored in the PodSpec; or using Dynamic Volume Provisioning to dynamically mount storage resources; or using the Dynamic Resource Allocation (DRA) mechanism to address the dynamic allocation of other types of resources (special resources) besides CPU, memory, and storage. All of the above technical implementations are described as "dynamic resource allocation."

[0064] In the embodiments of the present application, dynamic resource allocation is a narrow meaning, specifically referring to the DRA mechanism provided by the cloud native platform Kubernetes, which is an application programming interface (API) for requesting and sharing resources between Pods and containers within Pods, and is intended to solve the problem of dynamic allocation of non-traditional resources (such as GPUs). Traditionally, Kubernetes allocates "built-in resources" such as CPU and memory in a static manner, but for non-built-in resources (external or out-of-tree resources), such as GPUs and FPGAs, traditional static management methods cannot meet the needs. The DRA mechanism is provided to solve such a mechanism, and its API includes the following types: ① Resource Class: Administrators use ResourceClass to influence the way resources are allocated. A ResourceClass represents a special type of resource (such as GPU). When the Dynamic Resource Allocation function of the cloud native platform is turned on, the API will be automatically enabled; ② Resource Declaration (ResourceClaim): Describes the workload's (such as Pod) access request to resources in the cluster managed by the cloud native platform, indicating that the workload needs to use these resources. For example, if a workload requires an accelerator device with specific properties, the request can be expressed in this way and status tracking can be performed to determine whether this request has been met and which specific resources have been allocated; ③ Resource Claim Template ResourceClaimTemplate: defines the specification and some metadata for creating ResourceClaim. It is created by the user when deploying the workload. The ResourceClaim for each Pod will then be automatically created and removed by Kubernetes; ④ Scheduling Context (PodSchedulingContext): used internally by the control plane and resource driver to coordinate Pod scheduling when ResourceClaim needs to be allocated to the Pod and these ResourceClaims use the control plane controller; ⑤ Resource Slice (ResourceSlice): used with structured parameters to publish information about available resources in the cluster; ⑥ Claim Parameters (ClaimParameters): ClaimParameters is a specific manifestation of ResourceClass, representing the specific configuration information of a certain resource. It can be referenced when ResourceClaim is created for more detailed control of resources.

[0065] In this embodiment, the network acceleration component includes a network acceleration plug-in (Network Acceleration Plugin) and a network acceleration custom resource (Network Acceleration Custom Resource / CRD), wherein the network acceleration plug-in is containerized and deployed on each working node, and the network acceleration custom resource is used to define acceleration requests for workloads (such as business container Pods).

[0066] In the cloud-native platform architecture provided in this embodiment, network acceleration capabilities are implemented through two core modules: a network acceleration plug-in (DRA Plugin) and a network acceleration custom resource. These two components together constitute a scalable, configurable, and automated network acceleration mechanism that can provide transparent, high-performance communication support for business containers, especially in scenarios that are sensitive to network performance, such as AI loads. It plays a key role. The network acceleration plug-in is a daemon component deployed in a containerized manner on each worker node (Worker Node) of the Kubernetes cluster. It is usually deployed uniformly using the DaemonSet controller to ensure that a plug-in instance is running on each node.

[0067] In this embodiment, the cloud native platform also includes a network environment based on the RDMA protocol, that is, a high-speed network infrastructure that supports RDMA technology is built within the cloud native platform, such as physical network technologies such as RoCE (RDMA over ConvergedEthernet), InfiniBand or iWARP.

[0068] On at least one working node of the cloud native platform, a first storage component is deployed, such as object storage (such as S3), distributed file system (such as HDFS, CephFS) or network file storage (such as NFS). These storage components are traditional storage components and use the first protocol to provide core storage services such as data persistence, model loading, and intermediate result caching for AI applications running on the platform.

[0069] Among them, the first protocol is different from the RDMA protocol. Relatively speaking, the first protocol refers to the traditional protocol stack. Traditional storage components are usually implemented based on TCP / IP rather than the RDMA protocol. These components have good compatibility and versatility, but have performance bottlenecks.

[0070] The following combination Figure 1 Describe the two protocol stacks in detail. Figure 1 The following is a comparison diagram of the implementation of two different network protocol stacks: TCP / IP and RDMA. Figure 1As shown in the center-left figure, in the TCP / IP protocol stack, the application (App) in the application layer (App Layer) writes data to the kernel buffer (Kernel Buffer) in kernel space. This process is called CPU Copy (memory copy operation performed by the CPU). In the kernel layer (Kernel Layer), the data is further copied from the kernel buffer to the network card driver (Driver) buffer. This process also involves CPU Copy. The TCP / IP protocol stack is responsible for handling operations such as packet encapsulation and routing. In the hardware adapter layer (Adapter Layer), the network card driver copies data from its buffer to the network card adapter (Adapter) buffer using DMA (Direct Memory Access). It can be seen that the TCP / IP protocol requires multiple memory copies (CPU Copy and DMA Copy), and each copy requires the participation of the CPU, resulting in high latency and limited throughput. Figure 1 The RDMA protocol stack in the middle right image eliminates the need for CPU memory copying during data transfer, relying entirely on hardware (DMA and RDMA adapters) to complete data transfer. This significantly reduces latency and improves throughput. However, the RDMA protocol stack, which works closely with network cards and switches, is complex to deploy. Adopting the RDMA protocol stack also presents high modification costs for traditional storage components.

[0071] In this embodiment, in step S1, when the business container running the AI ​​application is scheduled to the first working node, the network acceleration plug-in deployed on the first working node monitors the creation event of the business container and identifies the resource configuration file of the business container (i.e., the PodSpec file). If it is identified that the network acceleration custom resource is referenced in the PodSpec file, it is considered that the business container has requested the network acceleration resource.

[0072] The network acceleration custom resource is a Custom Resource Definition (CRD), a Kubernetes API extension that allows developers to create custom resource classes in a Kubernetes cluster and corresponding Custom Resources (CRs) based on those classes. Because these custom resource types can be used alongside existing Kubernetes resource types (such as Deployments, Pods, and Services) and can be accessed and managed through the Kubernetes API, they offer excellent platform compatibility and ease of management.

[0073] In the cloud-native platform architecture provided by this embodiment, the network acceleration plug-in deployed on the first working node has the ability to dynamically generate and inject network acceleration configurations based on the business container resource configuration file. Specifically, based on the network acceleration custom resources (CustomResource, CR) referenced in the business container resource configuration file (such as the PodSpec file), the plug-in generates a container device interface file (Container Device InterfaceFile, CDI file for short) that complies with the container device interface specification. This file is used to indicate the transparent injection of high-performance communication capabilities based on the RDMA protocol.

[0074] It should be noted that CDI (Container Device Interface) is a standard mechanism proposed by the cloud native platform (such as Kubernetes) community to expand the support capabilities of container devices. It allows third-party device manufacturers or platform developers to define how to use specific hardware devices and describe the access parameters of these devices (such as device paths, environment variables, permission control, etc.) through standard JSON files, so that the container runtime (such as containerd or CRI-O) can automatically load and configure these devices when the container starts.

[0075] In this embodiment, the network acceleration configuration file (CDI file) is used to indicate the injection of the RDMA-based shared memory communication SMC-R protocol stack when the business container is started. Specifically, in order to improve the communication performance of AI loads on cloud native platforms, this embodiment introduces a mechanism based on the CDI (Container Device Interface) file to guide the container runtime to dynamically inject the RDMA-based shared memory communication protocol stack (SMC-R, Shared Memory Communication over RDMA) during the business container startup process. By injecting SMC-R through the CDI file mechanism, transparent integration of high-performance network communication capabilities is achieved, allowing containerized applications (i.e., AI applications in business containers) to enjoy the low latency and high bandwidth advantages brought by RDMA without modifying the code.

[0076] Dynamic injection of the SMC-R protocol stack means that after the network acceleration plug-in on the first working node detects the acceleration requirements of the container, it combines the CRD configuration information to generate a corresponding CDI configuration file (JSON format) to describe the various resources required by the SMC-R protocol stack.

[0077] In an optional embodiment, the network acceleration configuration file is used to configure the resources required for network acceleration, including: SO (shared object) library files and environment variables required to run the SMC-R protocol stack. Based on the network acceleration configuration file, the SO library file is used to instruct the container to mount the library files required for SMC-R at runtime, and the environment variables are used to set the necessary environment variable parameters to enable the SMC-R protocol stack. In addition, the CDI configuration file may also include: mapping RDMA device nodes and shared memory areas, configuring security policies to ensure secure access to hardware resources by the container. Among them, the SO library file refers to a dynamic library (shared library) at the user layer, which is used for dynamic connection use at the user layer.

[0078] When the network acceleration configuration file includes the SO library file and environment variables required to run the SMC-R protocol stack, based on the network acceleration configuration file, the container runtime on the first working node loads SMC-R during the startup process of the business container, including: the container runtime on the first working node reads the network acceleration configuration file, and according to the network acceleration configuration file, mounts the SO library file, executes the hook script, and writes the environment variables to complete the creation of the business container.

[0079] Specifically, the container runtime (such as containerd or CRI-O) reads the CDI file before starting the business container and performs the following operations according to the configuration requirements: mounts the SMC-R shared library file (such as libsmcr.so); sets the LD_PRELOAD environment variable to force the loading of the SMC-R socket replacement implementation; maps the RDMA device node / dev / rdma_cm into the container; allocates and binds the shared memory area for SMC-R use; and configures SELinux / AppArmor permission control to ensure security.

[0080] After the business container is started, the AI ​​application inside it will actually use the implementation provided by SMC-R when calling the standard socket interface for network communication; the data transmission process completely bypasses the traditional first protocol (such as TCP / IP, NFS, etc.) and realizes zero-copy, low-latency data transmission through RDMA technology.

[0081] In this embodiment, according to the generated CDI file, the container runtime on the first working node loads the various resources required by the SMC-R protocol stack during the startup process of the business container, so that the business container can use SMC-R to bypass the first protocol and provide RDMA-based network acceleration for the first storage component. In this way, business application developers can transparently use the SMC-R protocol to bypass the traditional first protocol (such as TCP / IP or NFS, etc.) without modifying the AI ​​application logic running in the business container, thereby significantly improving the data transmission efficiency between it and the first storage component (traditional storage component) and achieving high-performance network acceleration based on RDMA.

[0082] In an optional embodiment, the network acceleration component further includes: a network acceleration controller (DRAcontroller); the network acceleration controller is deployed on the control node of the cloud native platform. Before the business container is scheduled to the first working node, the method further includes: the network acceleration controller, in response to the reference to the network acceleration custom resource in the resource configuration file of the business container, removes the working nodes that do not meet the network acceleration conditions from the candidate node list of the first scheduling file to obtain a second scheduling file; and determines the first working node from the second scheduling file. In this way, nodes without acceleration capabilities are filtered out during the scheduling phase to avoid scheduling failures.

[0083] Among them, the candidate node list is the working node information generated by the cloud native platform's native scheduler (such as the kube-scheduler scheduler) for deploying business containers.

[0084] In the method provided in this embodiment, the network acceleration component not only includes a network acceleration plug-in deployed on the working node and a network acceleration custom resource (CRD) for declaring acceleration requirements, but also includes a control component - a network acceleration controller. This controller is deployed on the control node (Master Node) of the cloud native platform and is responsible for introducing support for network acceleration capabilities in the scheduling process to ensure that business containers are only scheduled to working nodes that meet the required acceleration conditions.

[0085] In this embodiment, the core function of the network acceleration controller is to work as a scheduling extension component (Scheduler Extender) or a scheduling pre-processor integrated with the default scheduler (with the Kubernetes native scheduler kube-scheduler) in the Kubernetes Pod scheduling process, listen to and respond to business container resource configuration requests submitted by users, screen and filter the candidate node list based on acceleration capabilities, and generate an optimized scheduling file (second scheduling file) for subsequent scheduling decisions.

[0086] Specifically, when a business container (Pod) containing an AI computing task submits a resource configuration request that references a network acceleration custom resource (CRD instance), indicating that the container needs to enable a certain type of network acceleration capability (such as SMC-R), the network acceleration controller or the Kubernetes default scheduler kube-scheduler begins to allocate work nodes to the Pod, forming a list of candidate work nodes that meet all basic resource requirements, namely the first scheduling file (PodSchedulingContext file). Then, during the scheduling process, the kube-scheduler scheduler calls the interface provided by the network acceleration controller and passes the current first scheduling file; or the network acceleration controller directly determines the required acceleration capability based on the network acceleration custom resource CRD referenced by the Pod, traverses the candidate node list, and deletes work nodes that do not meet the acceleration conditions, such as a node without an RDMA network card installed or an incompatible RDMA driver version on a node. After filtering, the filtering results are rewritten to generate a second scheduling file (i.e., the filtered PodSchedulingContext file), retaining only nodes with acceleration capabilities; finally, the network acceleration controller selects the first work node from the second scheduling file and schedules the Pod to run on this node.

[0087] In an optional embodiment, a network acceleration custom resource includes: a custom resource class declaration parameter (SpiderClaimParameter) and a custom resource declaration template (ResourceClaimTemplate), wherein the custom resource class declaration parameter is used to extend the configuration parameters of the resource declaration (ResourceClaim) to configure support for the SMC-R protocol stack in the business container; the custom resource declaration template is used to generate a resource declaration (ResourceClaim) object for the business container to reference the resource declaration (ResourceClaim) object when creating it, thereby realizing dynamic injection of the SMC-R protocol stack.

[0088] In this embodiment, SpiderClaimParameter, ResourceClaim, and ResourceClaimTemplate are all abstracted as custom resources (CR) of the container cloud platform.

[0089] Among them, ResourceClaim is used to declare a certain type of network acceleration resource (ResourceClass), such as custom resources that support the SMC-R protocol stack. SpiderClaimParameter is used to extend the configuration parameters of the resource declaration (ResourceClaim), so that referencing the configuration parameters can provide more delicate control over custom resources (network acceleration resources) that support the SMC-R protocol stack. When ResourceClaim is created, SpiderClaimParameter can be referenced. The reference of SpiderClaimParameter will affect the scheduling of ResourceClaim and the generation of its CDI file.

[0090] As an example, the configuration file for SpiderClaimParameter is as follows:

[0091]

[0092] The above YAML configuration file defines a SpiderClaimParameter object named network-accelerated, which is part of the Spiderpool project. The metadata.name field defines the name of the SpiderClaimParameter object as "network-accelerated-param".

[0093] The ResourceClaimTemplate provides a standardized, reusable, and parameterizable way for business containers (Pods) to declare their network acceleration resource requirements. When the ResourceClaimTemplate is referenced in a PodSpec file and created, the control plane (e.g., the API Server component) of the cloud-native platform (e.g., Kubernetes) automatically creates a dedicated ResourceClaim instance for each Pod based on the ResourceClaimTemplate. This ResourceClaim instance serves as the sole declaration basis for the network acceleration resource throughout the Pod's lifecycle, and its lifecycle is strictly bound to the corresponding Pod, ensuring that each business container has an independent resource declaration (ResourceClaim).

[0094] As an example, the YAML file for ResourceClaimTemplate is as follows:

[0095]

[0096] In the above YAML file, the metadata.name field is used to define the name of the ResourceClaimTemplate object, spec.resourceClassName is used to define the name of the resource class (ResourceClass) corresponding to SMC-R, and spec.parametersRef is used to define the SpiderClaimParameter configuration referenced when the ResourceClaim is created.

[0097] In some optional embodiments, before the business container is scheduled to the first working node, the method also includes: the control node of the cloud native platform receives a creation request for the business container, and automatically generates a corresponding custom resource object for use by the business container based on the resource configuration file of the business container and the custom resource declaration template.

[0098] Specifically, the network acceleration controller on the control node of the cloud native platform automatically generates corresponding custom resource objects based on the above definitions of SpiderClaimParameter, ResourceClaim, and ResourceClaimTemplate for use by the business container.

[0099] As an example, when a business container requires network acceleration capabilities, the network acceleration controller can inject these custom resources into the business container's resource configuration file (PodSpec file, YAML file). The exemplary result is as follows:

[0100]

[0101]

[0102] The above YAML file is used to create a Deployment named network-accelerated. The Deployment controls a set of business container Pod replicas. The metadata.name field is the name of the Pod object. A set of (one or more) containers in these Pods declare the use of network acceleration resources in the spec.template.spec.containers.resources.claims field, thereby affecting the resource configuration required by the container runtime (such as containerd) (reflected in the CDI file). The container runtime translates the CDI file corresponding to the claim into an OCI Spec configuration; the spec.template.spec.resourceClaims field defines the name of the ResourceClaimTemplate referenced by the Pod (i.e., network-accelerated-template). Through the above configuration, the creation of the Pod's containers is determined.

[0103] As a specific example, the process of scheduling and configuring network acceleration for container cloud applications (AI applications) is described in detail. The process of scheduling and configuring network acceleration for container cloud applications (AI applications) includes the following steps:

[0104] Step 1: Submit a request to create a business container Pod that runs an AI application to the Kubernetes API-Server. The API-Server reads the configuration of the resourceClaim field in the PodSpec and creates a ResourceClaim resource.

[0105] Step 2: Kubernetes' native scheduler, kube-scheduler, filters the set of nodes that the Pod can schedule (a list of candidate nodes) and writes it to the PodSchedulingContext object.

[0106] Step 3: The DRA controller reads the candidate node list in the PodSchedulingContext, removes the nodes that do not meet the resourceClaim allocation requirements, and writes the result back to the PodSchedulingContext.

[0107] Step 4: kube-scheduler finally selects a node (i.e., the first working node) and updates the reference relationship between resourceClaim and the node.

[0108] Step 5. The Kubelet component on the first working node reads the resourceClaim declared by the Pod and calls the NodePrepareResources method of the DRA Plugin on the node to complete resource preparation, that is, generate a CDI file. The CDI file description is used to describe the files and environment variables that need to be mounted, such as the SO library file required by SMC-R and the LD_PRELOAD environment variable.

[0109] Step 6: The container runtime reads the CDI file and writes it to the OCI Spec file. The underlying runtime, runc, then completes container creation based on the OCI Spec file, including mounting the kernel SO library file, executing hook scripts, and writing environment variables (LD_PRELOAD).

[0110] like Figure 2 As shown in the figure, the resource declaration object (ResourceClaim) of network acceleration is consistent with the Pod lifecycle. Specifically, after the Pod is scheduled to the first working node, Kubelet reads the resource configuration file (PodSpec file) of the Pod and finds that the Pod references the resource declaration (resourceClaim). Kubelet calls the NodePrepareResource method of the network acceleration plug-in. The network acceleration plug-in creates a CDI JSON file and returns the device ID. After the CDI JSON file is created, Kubelet passes the device ID to the container runtime (CRI runtime). The CRI runtime uses the CDI JSON file to update the OCI Spec file configuration and then creates Pod Containers. When the Pod terminates, Kubelet calls the NodeUnprepareResource method of the network acceleration plug-in to remove the CDI JSON file, release related resources, and the Pod lifecycle ends.

[0111] Figure 3 Figure 2 shows a schematic diagram of network acceleration based on the SMC-R protocol stack. Figure 3As shown, SMC-R operates in kernel space. The LD-PRELOAD mechanism is used to inject SO libraries related to the SMC-R protocol stack. When the tcp2smcsysctl kernel switch indicates the enablement of SMC-R protocol communication, calls from TCP socket-based applications (such as AI applications) running in user space are intercepted by the SO library, bypassing the standard TCP / IP protocol stack (AF_INET / TCP / IP / Ethernet) and the TCP / IP network card driver (Eth-driver) in kernel space. Instead, it uses the SMC-R protocol to interact with the InfiniBand driver (RDMA network card driver, i.e., ib-driver) using IB verbs primitives. Ultimately, high-speed network communication is achieved through the high-speed PCIe bus and the RDMA physical network interface card (RNIC) at the hardware layer, based on the RDMA protocol. From another perspective, SMC-R operates in kernel space, supporting user-space programs (such as AI applications) in describing network behavior through socket interfaces and implementing RDMA network transmission through IB verbs interfaces. The use, management, and maintenance of RDMA resources are all handled by the SMC-R protocol stack. Applications (such as AI applications) are unaware of the RDMA entities in the kernel. RDMA itself provides a verbose interface for applications to use. SMC-R, based on a shared memory model, provides a kernel interface fully compatible with TCP sockets. This solution transparently replaces TCP sockets with SMC sockets through methods such as LD_PRELOAD and eBPF-based rule replacement, thereby achieving transparent replacement and acceleration.

[0112] That is to say, after the business container Pod of the AI ​​application is scheduled and runs normally, the configuration of network acceleration resources (SMC-R and its related information) is also ready. The communication between the business container and traditional storage components is completed by the SMC-R protocol stack. The AI ​​application in the business container will not be aware of the RDMA entity in the kernel and can achieve automatic acceleration through the SMC-R protocol.

[0113] It's important to note that SMC-R is a hybrid protocol, using TCP for information exchange during connection establishment and RDMA for high-performance data transmission along the data path. Therefore, if an RDMA link fails, fallback to TCP is implemented, providing a TCP backup. Furthermore, SMC-R leverages multiple RNICs to implement runtime failover, ensuring runtime reliability.

[0114] In summary, the method provided in this embodiment, by providing a DRA mechanism-based network acceleration component on the Kubernetes platform, enables transparent RDMA acceleration for traditional TCP-based storage components without code modification. Compared to traditional TCP-based storage communication, this can significantly improve RDMA network performance for applications. The specific read and write performance ceiling depends on the network hardware bandwidth design. For example, in the industry's mainstream practice of 400Gbps, the ultimate read and write performance can reach close to 400Gbps. Furthermore, it can reduce CPU resource consumption during network transmission and reduce network latency.

[0115] Example 2

[0116] This embodiment provides a network acceleration component, which is implemented based on a dynamic resource allocation (DRA) mechanism. The network acceleration component includes: a network acceleration plug-in, a network acceleration controller, and network acceleration custom resources. The network acceleration controller is deployed on a control node of a cloud native platform. The network acceleration plug-in is containerized and deployed on each working node of the cloud native platform. The cloud native platform also includes a network based on the RDMA protocol. A first storage component is deployed on at least one working node in the cloud native platform. The first storage component uses a first protocol to provide storage services for AI applications. The first protocol is different from the RDMA protocol, and the transmission speed of the network based on the first protocol is lower than the transmission speed of the network based on the RDMA protocol.

[0117] The network acceleration controller is configured to, in response to a reference to a network acceleration custom resource in a resource configuration file of the service container, delete working nodes that do not meet the network acceleration conditions from a candidate node list in the first scheduling file to obtain a second scheduling file; and determine the first working node from the second scheduling file;

[0118] The candidate node list is the working node information generated by the cloud native platform's native scheduler for deploying business containers.

[0119] During the scheduling process of the business container, in response to the business container being scheduled to the first working node, the network acceleration plug-in deployed on the first working node generates a network acceleration configuration file based on the network acceleration custom resource referenced by the resource configuration file of the business container, wherein the network acceleration configuration file is used to instruct the network acceleration plug-in to inject the RDMA-based shared memory communication SMC-R protocol stack when the business container is started, so that the first storage component bypasses the first protocol and realizes transparent network acceleration based on RDMA.

[0120] The network acceleration component based on the dynamic resource allocation (DRA) mechanism provided in this embodiment is used to implement storage access acceleration of AI applications in the cloud native platform. It injects the SMC-R protocol stack through scheduling control + container plug-in, transparently replaces the underlying communication protocol stack, and enables AI applications to bypass traditional low-speed protocols (such as TCP / IP) and directly use high-performance RDMA networks for data transmission. Among them, the network acceleration controller (deployed on the control node): is responsible for intelligent scheduling decisions; the network acceleration plug-in (deployed on the working node): injects network acceleration configuration when the container is started; network acceleration custom resources (CRD): represent resources with RDMA / SMC-R acceleration capabilities, and use the network acceleration controller, network acceleration plug-in, and network acceleration custom resources to expand the network acceleration capabilities of the cloud native platform. Through RDMA and SMC-R technology, storage access acceleration is achieved without modifying AI applications or upgrading traditional storage components, significantly reducing data read latency and improving throughput, thereby speeding up model training or reasoning.

[0121] Example 3

[0122] This embodiment provides a transparent accelerated AI load storage system based on RDMA on a cloud-native platform. The system includes a network acceleration component, which is implemented based on a dynamic resource allocation (DRA) mechanism. The network acceleration component includes a network acceleration plug-in, which is containerized and deployed on each working node. The cloud-native platform also includes a network based on the RDMA protocol. A first storage component is deployed on at least one working node in the cloud-native platform. The first storage component uses a first protocol to provide storage services for AI applications. The first protocol is different from the RDMA protocol, and the transmission speed of the network based on the first protocol is lower than the transmission speed of the network based on the RDMA protocol. The system includes:

[0123] The scheduling unit is configured to, in response to the business container being scheduled to the first working node during the scheduling process of the business container, generate a network acceleration configuration file by the network acceleration plug-in deployed on the first working node based on the network acceleration custom resource referenced by the resource configuration file of the business container, wherein the network acceleration configuration file is used to instruct the network acceleration plug-in to inject a RDMA-based shared memory communication (SMC-R) protocol stack when the business container is started;

[0124] The injection unit is configured to load SMC-R during the startup of the business container when the container runtime on the first working node is based on the network acceleration profile, so that the business container can use SMC-R to bypass the first protocol and provide RDMA-based network acceleration for the first storage component.

[0125] The transparent accelerated AI load storage system based on RDMA on the cloud native platform provided in this embodiment can implement the steps and processes of the transparent accelerated AI load storage method based on RDMA on the cloud native platform provided in any of the above embodiments, and achieve the same technical effects, which will not be repeated here.

[0126] Example 4

[0127] This embodiment provides a computer device, including a memory, a processor, and a computer program stored in the memory, wherein the processor executes the computer program to implement the steps of the method provided in any of the above embodiments.

[0128] This embodiment provides a computer-readable storage medium having a computer program / instruction stored thereon. When the computer program / instruction is executed by a processor, the steps of the method provided in any of the above embodiments are implemented.

[0129] Specifically,

[0130] The foregoing description is merely a preferred embodiment of the present application and is not intended to limit the present application. Various modifications and variations are readily apparent to those skilled in the art. Any modifications, equivalent substitutions, or improvements made within the spirit and principles of the present application shall be included within the scope of protection of the present application.

Claims

1. A method for transparently accelerating AI workload storage based on RDMA on a cloud native platform, characterized in that: The method is applied to a network acceleration component, which is implemented based on a dynamic resource allocation (DRA) mechanism. The network acceleration component includes a network acceleration plug-in and a network acceleration custom resource. The network acceleration plug-in is containerized and deployed on each working node. The cloud native platform also includes a network based on the RDMA protocol. A first storage component is deployed on at least one working node in the cloud native platform. The first storage component uses a first protocol to provide storage services for AI applications. The first protocol is different from the RDMA protocol, and the transmission speed of the network based on the first protocol is lower than the transmission speed of the network based on the RDMA protocol. The method includes: During the scheduling process of the service container, in response to the service container being scheduled to the first working node, the network acceleration plug-in deployed on the first working node generates a network acceleration configuration file based on the network acceleration custom resource referenced by the resource configuration file of the service container, wherein the network acceleration configuration file is used to instruct the service container to inject a protocol stack of RDMA-based shared memory communication SMC-R when starting; Based on the network acceleration configuration file, the container runtime on the first working node loads the SMC-R during the startup process of the business container, so that the business container can use SMC-R to bypass the first protocol and provide RDMA-based network acceleration for the first storage component.

2. The method according to claim 1, characterized in that The network acceleration configuration file is used to configure resources required for network acceleration, including: SO library files and environment variables required to run the SMC-R protocol stack. Based on the network acceleration configuration file, the container runtime on the first working node loads the SMC-R during the startup process of the business container, including: The container runtime on the first working node reads the network acceleration configuration file, and mounts the SO library file, executes the hook script, and writes the environment variables according to the network acceleration configuration file to complete the creation of the business container.

3. The method according to claim 1, characterized in that The network acceleration component further includes: a network acceleration controller; the network acceleration controller is deployed on a control node of the cloud native platform. Before the service container is scheduled to the first working node, the method further includes: The network acceleration controller, in response to the reference to the network acceleration custom resource in the resource configuration file of the service container, deletes the working nodes that do not meet the network acceleration conditions from the candidate node list of the first scheduling file to obtain a second scheduling file; Determine the first working node from the second scheduling file; Among them, the candidate node list is the working node information generated by the native scheduler of the cloud native platform for deploying the business container.

4. The method according to claim 1, wherein The network acceleration custom resource includes: custom resource class declaration parameters and a custom resource declaration template. The custom resource class declaration parameters are used to extend the resource declaration to configure support for the SMC-R protocol stack in the business container. The custom resource declaration template is used to generate a resource declaration object for the business container to reference when creating the resource declaration object to dynamically inject the SMC-R protocol stack.

5. The method according to claim 4, characterized in that Before the service container is scheduled to the first working node, the method further includes: The control node of the cloud native platform receives the creation request of the business container, and automatically generates a corresponding custom resource object for use by the business container based on the resource configuration file of the business container and the custom resource declaration template.

6. The method according to any one of claims 1 to 5, characterized in that: The first protocol is the TCP / IP protocol.

7. A network acceleration component, characterized in that: The network acceleration component is implemented based on a dynamic resource allocation (DRA) mechanism and includes a network acceleration plug-in, a network acceleration controller, and a network acceleration custom resource. The network acceleration controller is deployed on a control node of the cloud native platform, and the network acceleration plug-in is containerized and deployed on each working node of the cloud native platform. The cloud native platform also includes a network based on the RDMA protocol. A first storage component is deployed on at least one working node in the cloud native platform. The first storage component uses a first protocol to provide storage services for AI applications. The first protocol is different from the RDMA protocol, and the transmission speed of the network based on the first protocol is lower than the transmission speed of the network based on the RDMA protocol. The network acceleration controller is configured to, in response to the reference to the network acceleration custom resource in the resource configuration file of the service container, delete the working nodes that do not meet the network acceleration conditions from the candidate node list in the first scheduling file to obtain a second scheduling file; and determine the first working node from the second scheduling file; The candidate node list is the working node information generated by the cloud native platform's native scheduler for deploying the business container; During the scheduling process of the business container, in response to the business container being scheduled to the first working node, the network acceleration plug-in deployed on the first working node generates a network acceleration configuration file based on the network acceleration custom resource referenced by the resource configuration file of the business container, wherein the network acceleration configuration file is used to instruct the network acceleration plug-in to inject the RDMA-based shared memory communication SMC-R protocol stack when the business container is started, so that the first storage component bypasses the first protocol to achieve RDMA-based transparent network acceleration.

8. A transparent accelerated AI load storage system based on RDMA on a cloud native platform, characterized by: The system includes a network acceleration component, which is implemented based on a dynamic resource allocation (DRA) mechanism. The network acceleration component includes a network acceleration plug-in, which is containerized and deployed on each working node. The cloud native platform also includes a network based on the RDMA protocol. A first storage component is deployed on at least one working node in the cloud native platform. The first storage component uses a first protocol to provide storage services for AI applications. The first protocol is different from the RDMA protocol, and the transmission speed of the network based on the first protocol is lower than the transmission speed of the network based on the RDMA protocol. The system includes: A scheduling unit is configured to, in response to the business container being scheduled to a first working node during the scheduling process of the business container, generate a network acceleration configuration file by a network acceleration plug-in deployed on the first working node based on the network acceleration custom resource referenced by the resource configuration file of the business container, wherein the network acceleration configuration file is used to instruct the network acceleration plug-in to inject a RDMA-based shared memory communication (SMC-R) protocol stack when the business container is started; The injection unit is configured to load the SMC-R during the startup of the business container when the container on the first working node is running based on the network acceleration profile, so that the business container can use SMC-R to bypass the first protocol and provide RDMA-based network acceleration for the first storage component.

9. A computer device comprising a memory, a processor, and a computer program stored in the memory, wherein: The processor executes the computer program to implement the steps of any one of claims 1 to 6.

10. A computer-readable storage medium having a computer program / instruction stored thereon, characterized in that: When the computer program / instruction is executed by a processor, the steps of the method according to any one of claims 1 to 6 are implemented.

Citation Information

Cited By

  • Cloud database network communication method and device based on RDMA protocol, equipment and medium

    CN121309582A

  • CephFS kernel client communication method, device and medium

    CN121880050A