Information processing method and device, storage medium and computer program product
By setting up a third processor in the server of the Intelligent Computing Center, and using the RDMA mechanism to establish a control surface and data surface connection, the problem of the user's authority storage security risks after obtaining the authority of the administrator, and realizing the efficient AI task data interaction and the interaction of data interaction and Performance improvement.
Patent Information
- Application Number
- CN202411290551.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-09-13
- Publication Date
- 2025-01-28
AI Technical Summary
In the intelligent computing center, when users obtain administrator rights of the AI server to train AI models, the security risks of file storage are increased, and the prior art is difficult to effectively ensure the security of file storage.
By setting up a third processor in the server, the third processor execution and the storage system establish a RDMA -based control surface connection and data surface connection, so that the first storage space can carry out data related to the storage system based on the RDMA mechanism. Interactive.
This scheme not only guarantees the safety of the storage system, avoids the effect of the effect of AI tasks, but also effectively reduces the load of the first processor and improves the performance of the first processor.
Smart Images

Figure CN119377146A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of computing network technology, and in particular to an information processing method, device, storage medium and computer program product. Background Art
[0002] In the related technology, the intelligent computing center (hereinafter referred to as the intelligent computing center) is usually equipped with an artificial intelligence (AI) server and a high-performance file storage system. Users can rent the services of the intelligent computing center to train AI models. Specifically, the user first obtains the administrator privileges of the host operating system (Host OS, Host Operating System) running on the AI server. After obtaining the administrator privileges, the user can interact with the file storage service client deployed on the high-performance file storage system through the file storage client deployed on the AI server (which can also be understood as a file storage parallel client) to achieve access to training data sets related to the AI model.
[0003] However, if users obtain the administrator privileges of the Host OS, the security risk of file storage will increase. There is currently no effective solution to ensure the security of file storage. Summary of the invention
[0004] To solve related technical problems, the embodiments of the present application provide an information processing method, device, storage medium and computer program product.
[0005] The technical solution of the embodiment of the present application is implemented as follows:
[0006] The embodiment of the present application provides an information processing method, which is applied to a first processor, the first processor is set in a server, and the first processor can at least be used to schedule AI tasks. The method includes:
[0007] receiving first information sent by a second processor, the first information being used to request data interaction associated with the AI task with a storage system, the storage system being used to store at least data related to the AI task, the second processor being also disposed in the server, and the second processor being capable of at least processing the AI task;
[0008] Sending second information to a third processor, wherein the second information is used to request to establish a connection with the storage system based on a remote direct data access (RDMA) mechanism, and the third processor is also arranged on the server; wherein the first storage space corresponding to the first processor and the storage system can exchange data based on the RDMA mechanism.
[0009] In the above solution, the first information includes third information, the third information includes relevant information of a second storage space corresponding to the storage system, the second storage space is related to the data to be interacted, and the method further includes:
[0010] The first information is used to determine a third storage space in the first storage space that is related to the data to be interacted with; the second information includes the third information and fourth information, and the fourth information includes relevant information of the third storage space.
[0011] In the above solution, sending the second information to the third processor includes:
[0012] The second information is sent to the third processor based on a virtual input and output file system (Virtio-FS, Virtio File System).
[0013] The embodiment of the present application further provides an information processing method, which is applied to a third processor, wherein the third processor is disposed in a server and can at least be used for data processing. The method includes:
[0014] receiving second information sent by a first processor, where the second information is used to request to establish a connection with a storage system based on an RDMA mechanism, where the first processor can at least be used to schedule an AI task, the first processor is also arranged on the server, and the storage system is at least used to store relevant data of the AI task; wherein a first storage space corresponding to the first processor and the storage system can perform data exchange based on the RDMA mechanism;
[0015] Using the second information, establishing a control plane connection based on the RDMA mechanism with the storage system;
[0016] By using the second information, a data plane connection based on the RDMA mechanism is established between the storage system and the first storage space, so that the storage system and the first storage space perform data exchange based on the RDMA mechanism.
[0017] In the above solution, the use of the second information to establish a control plane connection based on the RDMA mechanism with the storage system includes:
[0018] A Portable Operating System Interface (POSIX) client uses the second information to establish a control plane connection based on the RDMA mechanism with a POSIX server, the POSIX client runs on the third processor, and the POSIX server runs on the storage system.
[0019] In the above scheme, the method further includes:
[0020] The POSIX client obtains the second information through a polling mechanism.
[0021] In the above solution, the second information includes third information, the third information includes relevant information of a second storage space corresponding to the storage system, the second storage space is related to the data to be interacted, and the use of the second information to establish a control plane connection based on the RDMA mechanism with the storage system includes:
[0022] Determine, by using the third information, an interface in the storage system corresponding to the data to be interacted with;
[0023] A control plane connection based on the RDMA mechanism is established with the storage system through the interface.
[0024] In the above solution, the second information includes fourth information, the fourth information includes relevant information of a third storage space, the third storage space includes a storage space related to the data to be exchanged in the first storage space, and the use of the second information to establish a data plane connection based on the RDMA mechanism between the storage system and the first storage space includes:
[0025] Generate an RDMA request using the fourth information, where the RDMA request is used to request to establish a data plane connection based on the RDMA mechanism between the storage system and the third storage space, and the RDMA request includes the fourth information;
[0026] The RDMA request is sent to the storage system.
[0027] In the above solution, the header of the RDMA request includes the fourth information.
[0028] In the above solution, the fourth information includes one or more of the following:
[0029] Address information of the third storage space;
[0030] Length information of the third storage space;
[0031] Access permission information of the third storage space.
[0032] In the above solution, the receiving the second information sent by the first processor includes:
[0033] Based on Virtio-FS, second information sent by the first processor is received.
[0034] The embodiment of the present application further provides an information processing device, which is applied to a first processor, the first processor is set in a server, and the first processor can at least be used to schedule AI tasks, including:
[0035] A first receiving unit, configured to receive first information sent by a second processor, wherein the first information is used to request data interaction associated with an AI task with a storage system, wherein the storage system is at least used to store data related to the AI task, and the second processor is also disposed in the server, and the second processor is at least capable of processing the AI task;
[0036] A sending unit is used to send second information to a third processor, wherein the second information is used to request to establish a connection with the storage system based on the RDMA mechanism, and the third processor is also set on the server; wherein the first storage space corresponding to the first processor and the storage system can exchange data based on the RDMA mechanism.
[0037] The embodiment of the present application further provides an information processing device, which is applied to a third processor, wherein the third processor is arranged in a server, and the third processor can at least be used to perform data processing, including:
[0038] A second receiving unit is configured to receive second information sent by the first processor, wherein the second information is used to request to establish a connection based on the RDMA mechanism with the storage system, wherein the first processor can at least be used to schedule AI tasks, the first processor is also arranged on the server, and the storage system is at least used to store relevant data of the AI tasks; wherein the first storage space corresponding to the first processor and the storage system can perform data exchange based on the RDMA mechanism;
[0039] A connection unit is used to use the second information to establish a control plane connection based on the RDMA mechanism with the storage system; and use the second information to establish a data plane connection based on the RDMA mechanism between the storage system and the first storage space, so that the storage system and the first storage space can exchange data based on the RDMA mechanism.
[0040] An embodiment of the present application also provides a storage medium having a computer program stored thereon, wherein when the computer program is executed by a processor, the computer program implements the steps of any of the above-mentioned methods on the first processor side, or implements the steps of any of the methods on the third processor side.
[0041] An embodiment of the present application also provides a computer program product, including a computer program, which, when executed by a processor, implements the steps of any of the above-mentioned methods on the first processor side, or implements the steps of any of the methods on the third processor side.
[0042] In the information processing method, device, storage medium and computer program product provided by the embodiments of the present application, a first processor receives first information sent by a second processor, the first information is used to request data interaction associated with an AI task with a storage system, the storage system is at least used to store relevant data of the AI task, the first processor is set in a server, the first processor can at least be used to schedule AI tasks, the second processor is also set in the server, and the second processor can at least be used to process the AI task; the first processor sends second information to a third processor, the second information is used to request to establish a connection based on an RDMA mechanism with the storage system, the third processor is also set in the server; wherein the first storage space corresponding to the first processor can exchange data with the storage system based on the RDMA mechanism; the third processor receives the second information sent by the first processor; the third processor uses the second information to establish a control plane connection based on the RDMA mechanism with the storage system; the third processor uses the second information to establish a data plane connection based on the RDMA mechanism between the storage system and the first storage space, so that the storage system and the first storage space can exchange data based on the RDMA mechanism. The solution provided by the embodiment of the present application is to set a third processor in the server, and the third processor executes to establish a control plane connection and a data plane connection based on the RDMA mechanism with the storage system, so that the first storage space can perform data interaction related to AI tasks with the storage system based on the RDMA mechanism. In this way, on the one hand, when the user performs an AI task, he only obtains the permissions related to the first processor, and does not obtain the permissions related to the third processor, and cannot tamper with or interfere with the data interaction related to the third processor, thereby ensuring the security of the storage system and avoiding the impact on the effect of the AI task; on the other hand, by offloading the operations related to establishing the connection based on the RDMA mechanism to the third processor for execution, the load of the first processor can be effectively reduced and the performance of the first processor can be improved. BRIEF DESCRIPTION OF THE DRAWINGS
[0043] Figure 1 This is a schematic diagram of the intelligent computing center architecture in the relevant technology;
[0044] Figure 2 This is a flowchart of the first information processing method according to an embodiment of the present application;
[0045] Figure 3 This is a flowchart of a second information processing method according to an embodiment of the present application;
[0046] Figure 4 This is a schematic diagram of the third information processing method flow in an embodiment of the present application;
[0047] Figure 5 This is a schematic diagram of the intelligent computing center architecture for this application example;
[0048] Figure 6 A flowchart of a method for unloading a POSIX client of an intelligent computing center based on a data processing unit (DPU) is provided as an example of the application of this application;
[0049] Figure 7 This is a schematic diagram of the structure of an information processing device according to an embodiment of the present application;
[0050] Figure 8 This is a schematic diagram of the structure of another information processing device according to an embodiment of the present application;
[0051] Fig. 9 This is a schematic diagram of the server structure of the embodiment of the present application;
[0052] Fig.10 This is a schematic diagram of the information processing system structure of an embodiment of the present application. DETAILED DESCRIPTION
[0053] The present application will be further described in detail below through the accompanying drawings and embodiments.
[0054] In the related technology, when users (also understood as external users or tenants of the intelligent computing center) rent the services of the intelligent computing center for AI model training, they can obtain the Host OS administrator permissions of the AI server equipped by the intelligent computing center. Users can then call the AI software framework (such as Pytorch, TensorFlow and other applications) deployed on the AI server to train AI models.
[0055] Specifically, Figure 1As shown, before conducting AI model training, the user can deploy and debug the AI software framework on the AI server according to the requirements of the AI model, call the file storage client deployed on the AI server through the debugged AI software framework (which can also be understood as an AI application framework or an AI training framework), and establish a data transmission connection based on the RDMA mechanism between the file storage client and the file storage service client deployed on the high-performance file storage system, obtain the data set for AI model training stored in the high-performance file storage system from the file storage service client, and provide the obtained data set to the graphics processing unit (GPU), so that the GPU can implement the training of the AI model. Among them, the file storage client is usually developed by different manufacturers based on the POSIX standard (it can also be understood as a definition). In this case, the file storage client can be called a POSIX client (or a POSIX parallel client); accordingly, the file storage service end can be called a POSIX server; the process of the user calling the POSIX client through the AI software framework can specifically include: the user accesses the POSIX application programming interface (API) through the AI software framework to implement operations on the POSIX client; the POSIX client, AI software framework, and Host OS all run on the host machine (also understood as the host, which can be expressed as Host in English) central processing unit (CPU). At the same time, high-performance file storage systems usually use all-flash media to store AI model training data sets. When a high-performance file storage system adopts a distributed architecture, the high-performance file storage system can be called a distributed file storage system.
[0056] At the same time, after the AI model training is completed, and / or at the checkpoint of the AI model training, the GPU can send the training data to the Host CPU, and the Host CPU can then call the POSIX client to write (also understood as store) the training data to a high-performance file storage system through the interaction between the POSIX client and the POSIX server.
[0057] However, the solutions in the above related technologies have the following two disadvantages:
[0058] First, since the POSIX client is deployed and runs on the Host CPU, once the user obtains the Host OS administrator privileges, they may tamper with or interfere with the operation of the POSIX client, thereby affecting the performance of the file storage system, reducing the storage reliability of training data, and further affecting the training effect of the AI model. Therefore, there is an urgent need to provide a more secure and efficient intelligent computing center technology architecture.
[0059] Secondly, the Host CPU on the AI server is responsible for running the Host OS and scheduling AI training tasks corresponding to the AI software framework. At the same time, it is also responsible for data transmission between the POSIX client and the POSIX server (which can also be understood as data forwarding), which will cause a heavy burden on the Host CPU and affect performance.
[0060] In view of the above shortcomings, in the embodiment of the present application, the POSIX client is unloaded from the Host CPU, and the POSIX client is run by other processors (which can also be understood as processing units). Among them, the other processors can specifically include DPU, which is the third large chip that has appeared in recent years after CPU and GPU. DPU usually contains a dedicated hardware acceleration engine of Field-Programmable Gate Array (FPGA), Network Processor (NP) architecture or Application Specific Integrated Circuits (ASIC) architecture, which is good at data parallel processing.
[0061] Based on this, in various embodiments of the present application, a third processor (such as a DPU) is set in a server (which can also be understood as an AI server), and the third processor executes to establish a connection with the storage system based on the RDMA mechanism, so that the first storage space (specifically, may include the Host memory) can perform data interaction related to the AI task with the storage system based on the RDMA mechanism. In this way, on the one hand, when the user performs an AI task, he only obtains the permissions related to the first processor (such as the Host CPU), and will not obtain the permissions related to the third processor, and cannot tamper with and interfere with the data interaction related to the third processor, thereby ensuring the security of the storage system and avoiding the impact on the effect of the AI task; on the other hand, by offloading the operations related to establishing a connection based on the RDMA mechanism to the third processor for execution, the load of the first processor can be effectively reduced and the performance of the first processor can be improved.
[0062] The embodiment of the present application provides an information processing method, which is applied to a first processor, the first processor is set in a server, and the first processor can at least be used to schedule AI tasks, such as Figure 2 As shown, the method includes:
[0063] Step 201: receiving first information sent by a second processor, wherein the first information is used to request data interaction associated with an AI task with a storage system, wherein the storage system is at least used to store data related to the AI task, and the second processor is also disposed in the server, and the second processor is at least capable of processing the AI task;
[0064] Step 202: Send second information to a third processor, where the second information is used to request to establish a connection with the storage system based on the RDMA mechanism, and the third processor is also set on the server; wherein the first storage space corresponding to the first processor can interact with the storage system based on the RDMA mechanism.
[0065] Here, in actual application, the server may specifically include an AI server disposed in an intelligent computing center, and the AI server can schedule AI tasks.
[0066] The first processor may specifically include a CPU arranged on the server, and the Host OS of the server, AI task-related applications (such as an AI software framework), etc. may be run on the first processor; the first storage space corresponding to the first processor may specifically include the Host memory space of the server (also referred to as Host-side memory space, which can be expressed as Host Memory in English).
[0067] The second processor may specifically include a GPU set on the server. The second processor may be specifically used to execute AI tasks, such as training an AI model using AI model training data, and outputting AI model status data (which can also be understood as model parameters when training is completed or at CheckPoint, etc.). The embodiment of the present application does not limit the specific implementation method of the second processor executing AI tasks using data related to AI tasks.
[0068] The third processor may specifically include a DPU arranged on the server, and the third processor may specifically include an NP and an on-chip coprocessor.
[0069] The storage system may specifically include a file storage system (specifically including a high-performance file storage system) arranged in the intelligent computing center. The storage system stores data related to AI tasks, such as AI model training data, AI model status data, etc. This application does not limit the specific name of the data related to AI tasks.
[0070] The specific names of the server, the first processor, the second processor, the third processor, and the storage system can be set according to actual needs, and the embodiments of the present application do not limit this.
[0071] In actual application, when the server executes an AI task, the second processor sends the first information to the first processor to request data interaction related to the AI task with the storage system, and the data interaction may include obtaining AI task-related data stored in the storage system, or storing AI task-related data in the storage system; accordingly, in step 201, the first processor receives the first information sent by the second processor, and can perform storage or acquisition of data to be interacted with the storage system user related to the AI task based on the first information. The first information may also be referred to as data request information, and the specific name of the first information is not limited in the embodiment of the present application.
[0072] Specifically, the first information may include storage space information related to the data to be interacted in the storage system. More specifically, in the case of acquiring the data to be interacted in the storage system, the first information may include relevant information about the storage space in the storage system used to store the data to be interacted that needs to be acquired; in the case of storing the data to be interacted in the storage system, the first information may include relevant information about the storage space allocated in the storage system for storing the data to be interacted.
[0073] Based on this, in one embodiment, the first information includes third information, the third information includes relevant information of a second storage space corresponding to the storage system, and the second storage space is related to the data to be interacted.
[0074] Here, the storage system includes the second storage space, and the second storage space is used to store data associated with the AI task (ie, data to be interacted with).
[0075] After step 201 is completed, the first processor can use the first information to allocate storage space for storing the data to be interacted from the first storage space corresponding to the first processor. That is, in one embodiment, the method can also include:
[0076] The first information is used to determine a third storage space in the first storage space that is related to the data to be interacted with; the second information includes the third information and fourth information, and the fourth information includes relevant information of the third storage space.
[0077] In actual application, the first processor may run an application program related to the AI task (such as an AI software framework), and allocate the third storage space from the first storage space through the application program. Specifically, the first processor may determine the third storage space by calling a memory allocation function through the application program, and the memory allocation function may specifically include a dynamic memory allocation function, such as a Malloc function, wherein the method of determining the third storage space through the Malloc function may also be referred to as a Malloc method.
[0078] After determining the third storage space, the first processor can determine the fourth information (such as memory data page information (which can also be understood as address information) corresponding to the third storage space, etc.) based on the third storage space, and use the third information and the fourth information (i.e., relevant information of the storage space on the storage system side and the server side of the data interaction associated with the AI task) to determine the second information.
[0079] After determining the second information, in step 202, the first processor may send the second information to the third processor, so that the third processor may establish a connection based on the RDMA mechanism with the storage system by using the second information.
[0080] In actual application, the first processor can send the second information to the third processor through the control plane. The second information can also be called data request control plane information or control plane information. The embodiment of the present application does not limit the specific name of the second information.
[0081] Specifically, the first processor and the third processor may transmit the second information based on Virtio-FS. That is, in one embodiment, sending the second information to the third processor includes:
[0082] Based on Virtio-FS, the second information is sent to the third processor.
[0083] Specifically, Virtio-FS may include a front-end process (which may be expressed as Virtio-FS frontend in English) and a back-end process (which may be expressed as Virtio-FS backtend in English), wherein the front-end process runs on the first processor, and the back-end process runs on the third processor.
[0084] More specifically, the first processor may call the front-end process, submit the second information to the back-end process running on the third processor, and put the second information into the Virtio-FS message queue in the back-end process.
[0085] After receiving the second information, the third processor may use the second information to establish a connection with the storage system based on the RDMA mechanism, so that data can be exchanged between the third storage space and the second storage space based on the RDMA mechanism.
[0086] Specifically, when the storage system stores files based on the POSIX mechanism, the POSIX client runs on the third processor, and the POSIX server runs on the storage system. At this time, the POSIX client running on the third processor can use the second information to establish a control plane connection based on the RDMA mechanism with the POSIX server.
[0087] It can be seen from the above description that in an embodiment of the present application, a third processor is set in the server, and the third processor executes to establish a connection with the storage system based on the RDMA mechanism, so that the first storage space can perform data interaction related to the AI task with the storage system based on the RDMA mechanism. In this way, on the one hand, when the user performs an AI task, he only obtains the permissions related to the first processor, and does not obtain the permissions related to the third processor, and cannot tamper with and interfere with the data interaction related to the third processor (it can also be understood as not being able to tamper with and interfere with the POSIX client), thereby ensuring the security of the storage system and avoiding the impact on the effect of the AI task; on the other hand, by offloading the operations related to establishing a connection based on the RDMA mechanism to the third processor (it can also be understood as offloading the POSIX client to the third processor) for execution, the load of the first processor can be effectively reduced and the performance of the first processor can be improved.
[0088] Accordingly, the embodiment of the present application further provides an information processing method, which is applied to a third processor, wherein the third processor is arranged in a server, and the third processor can at least be used to perform data processing, such as Figure 3 As shown, the method includes:
[0089] Step 301: receiving second information sent by a first processor, where the second information is used to request to establish a connection with a storage system based on an RDMA mechanism, where the first processor can at least be used to schedule an AI task, the first processor is also arranged on the server, and the storage system is at least used to store relevant data of the AI task; wherein a first storage space corresponding to the first processor and the storage system can perform data exchange based on the RDMA mechanism;
[0090] Step 302: Using the second information, establish a control plane connection based on the RDMA mechanism with the storage system;
[0091] Step 303: Using the second information, establish a data plane connection based on the RDMA mechanism between the storage system and the first storage space, so that the storage system and the first storage space perform data exchange based on the RDMA mechanism.
[0092] Here, in actual application, when the first processor receives the request domain sent by the second processor and the storage system performs data interaction associated with the AI task, it generates the second information for requesting to establish a connection based on the RDMA mechanism with the storage system, and sends the second information to the third processor. Among them, the second information can specifically include relevant information about the storage space on the storage system side of the data interaction associated with the AI task, that is, in one embodiment, the second information includes the third information, the third information includes relevant information about the second storage space corresponding to the storage system, and the second storage space is related to the data to be interacted; the second information may also include relevant information about the storage space on the server side of the data interaction associated with the AI task, that is, in one embodiment, the second information includes the fourth information, the fourth information includes relevant information about the third storage space, and the third storage space includes the storage space in the first storage space related to the data to be interacted.
[0093] Specifically, the first processor and the third processor may transmit the second information based on Virtio-FS. That is, in one embodiment, receiving the second information sent by the first processor includes:
[0094] Based on Virtio-FS, second information sent by the first processor is received.
[0095] Specifically, Virtio-FS may include a front-end process (expressed as Virtio-FSfrontend in English) and a back-end process (expressed as Virtio-FS backtend in English), wherein the front-end process runs on the first processor, and the back-end process runs on the third processor.
[0096] More specifically, the first processor may call the front-end process, submit the second information to the back-end process running on the third processor, and put the second information into the Virtio-FS message queue (also referred to as the Virtio queue) in the back-end process.
[0097] In actual application, after receiving the second information, the third processor can use the second information to establish a connection with the storage system based on the RDMA mechanism, so that data can be exchanged between the third storage space and the second storage space based on the RDMA mechanism.
[0098] Specifically, when the storage system stores files based on the POSIX mechanism, the POSIX client runs on the third processor, and the POSIX server runs on the storage system. At this time, the POSIX client running on the third processor can obtain the second information, so that the POSIX client can use the second information to establish a control plane connection based on the RDMA mechanism with the POSIX server.
[0099] Based on this, in one embodiment, the method may further include:
[0100] The POSIX client obtains the second information through a polling mechanism.
[0101] Here, the POSIX client can process each second information in the Virtio-FS message queue through a polling mechanism. Specifically, when the POSIX client performs polling processing on the second information in the Virtio-FS message queue, the polled second information is processed in kernel mode and user mode (it can also be understood as being driven by kernel mode and user mode), and then transmitted to the application memory corresponding to the POSIX client.
[0102] In order to enable the third storage space in the server to perform data exchange with the second storage space in the storage system based on the RDMA mechanism, after obtaining the second information, the POSIX client needs to first establish a control plane connection based on the RDMA mechanism with the POSIX server. That is, in one embodiment, using the second information to establish a control plane connection based on the RDMA mechanism with the storage system includes:
[0103] The POSIX client uses the second information to establish a control plane connection based on the RDMA mechanism with the POSIX server, the POSIX client runs on the third processor, and the POSIX server runs on the storage system.
[0104] In actual application, different storage spaces in the storage system correspond to different interfaces. The third processor can determine the second storage space in the storage system for storing the data to be interacted based on the third information, and determine the interface for accessing the second storage space, thereby establishing a control plane connection based on the RDMA mechanism through the interface.
[0105] Based on this, in one embodiment, using the second information to establish a control plane connection based on the RDMA mechanism with the storage system includes:
[0106] Determine, by using the third information, an interface in the storage system corresponding to the data to be interacted with;
[0107] A control plane connection based on the RDMA mechanism is established with the storage system through the interface.
[0108] In actual application, the POSIX client can send a request message for establishing a control plane connection based on the RDMA mechanism to the interface based on the RDMA mechanism corresponding to the third processor. After receiving the request message, the POSIX server establishes a control plane connection based on the RDMA mechanism between the POSIX client and the POSIX server.
[0109] After establishing a control plane connection based on the RDMA mechanism, the POSIX client can send the second information to the POSIX server through the control plane, so that the POSIX server performs control plane related operations, such as creating a directory (also understood as a file) related to the data to be interacted, obtaining metadata information, determining the second storage space (also understood as a file storage node) corresponding to the data interaction operation (also understood as a read and write operation), etc. The embodiment of the present application does not limit the specific implementation of the POSIX server performing control plane related operations.
[0110] After establishing the control plane connection, the third processor can configure the parameters and resources required for the data plane connection based on the RDMA mechanism based on the established control plane connection, thereby establishing a data plane connection based on the RDMA mechanism, and then performing data interaction based on the established data plane connection.
[0111] Specifically, the third processor may generate and send information for requesting to establish a data plane connection based on the RDMA mechanism to the storage system to establish a data plane connection based on the RDMA mechanism. The information for requesting to establish a data plane connection based on the RDMA mechanism may also be referred to as an RDMA request.
[0112] More specifically, the POSIX client can use the fourth information to determine the relevant information of the third storage space used by the server side for data interaction, and register the relevant information of the third storage space in the third processor to allow the third processor to generate an RDMA request related to the third storage space. In one embodiment, the fourth information includes one or more of the following (one or more may also be understood as at least one):
[0113] Address information of the third storage space (which can be expressed as Memory Address in English);
[0114] Length information of the third storage space (which can be expressed as Memory Length in English);
[0115] The access permission information of the third storage space (which can be expressed as Access Permissions in English).
[0116] In actual application, after registering the relevant information of the third storage space in the third processor, the third processor can use the fourth information to generate and send an RDMA request to establish a data plane connection based on the RDMA mechanism, so that data can be transmitted between the second storage space and the third storage space based on the RDMA mechanism.
[0117] Based on this, in one embodiment, using the second information to establish a data plane connection based on the RDMA mechanism between the storage system and the first storage space includes:
[0118] Generate an RDMA request using the fourth information, where the RDMA request is used to request to establish a data plane connection based on the RDMA mechanism between the storage system and the third storage space, and the RDMA request includes the fourth information;
[0119] The RDMA request is sent to the storage system.
[0120] Specifically, the third processor may encapsulate the fourth information into a header of the RDMA request. That is, in one embodiment, the header of the RDMA request includes the fourth information.
[0121] In actual application, after receiving the RDMA request, the storage system can establish a data plane connection between the server and the storage system, which can also be understood as establishing a data plane connection based on the RDMA mechanism between the storage system and the third storage space. In this way, the second storage space in the storage system can directly access the third storage space (such as memory data page) in the server based on the RDMA mechanism, thereby completing the transmission of data plane information without the participation of the first processor and the third processor.
[0122] Accordingly, the present application also provides an information processing method, such as Figure 4 As shown, the method includes:
[0123] Step 401: The second processor sends first information to the first processor, where the first information is used to request data interaction associated with the AI task with the storage system, where the storage system is at least used to store relevant data of the AI task, the first processor is set in the server, and the first processor can at least be used to schedule the AI task, and the second processor is also set in the server, and the second processor can at least be used to process the AI task;
[0124] Step 402: The first processor receives first information sent by the second processor;
[0125] Step 403: The first processor sends second information to the third processor, where the second information is used to request to establish a connection with the storage system based on the RDMA mechanism, and the third processor is also arranged on the server; wherein the first storage space corresponding to the first processor can exchange data with the storage system based on the RDMA mechanism;
[0126] Step 404: The third processor receives the second information sent by the first processor;
[0127] Step 405: The third processor uses the second information to establish a control plane connection based on the RDMA mechanism with the storage system;
[0128] Step 406: The third processor uses the second information to establish a data plane connection based on the RDMA mechanism between the storage system and the first storage space, so that the storage system and the first storage space can perform data exchange based on the RDMA mechanism.
[0129] Here, it should be noted that the specific processing processes of the first processor, the second processor, and the third processor have been described in detail above and will not be repeated here.
[0130] In an information processing method provided by an embodiment of the present application, a first processor receives first information sent by a second processor, the first information is used to request data interaction associated with an AI task with a storage system, the storage system is at least used to store relevant data of the AI task, the first processor is set in a server, the first processor can at least be used to schedule AI tasks, the second processor is also set in the server, and the second processor can at least be used to process the AI task; the first processor sends second information to a third processor, the second information is used to request to establish a connection based on an RDMA mechanism with the storage system, and the third processor is also set in the server; wherein the first storage space corresponding to the first processor can exchange data with the storage system based on the RDMA mechanism; the third processor receives the second information sent by the first processor; the third processor uses the second information to establish a control plane connection based on the RDMA mechanism with the storage system; the third processor uses the second information to establish a data plane connection based on the RDMA mechanism between the storage system and the first storage space, so that the storage system and the first storage space can exchange data based on the RDMA mechanism. The solution provided by the embodiment of the present application is to set a third processor in the server, and the third processor executes to establish a control plane connection and a data plane connection based on the RDMA mechanism with the storage system, so that the first storage space can perform data interaction related to AI tasks with the storage system based on the RDMA mechanism. In this way, on the one hand, when the user performs an AI task, he only obtains the permissions related to the first processor, and does not obtain the permissions related to the third processor, and cannot tamper with or interfere with the data interaction related to the third processor, thereby ensuring the security of the storage system and avoiding the impact on the effect of the AI task; on the other hand, by offloading the operations related to establishing the connection based on the RDMA mechanism to the third processor for execution, the load of the first processor can be effectively reduced and the performance of the first processor can be improved.
[0131] The present application is described in further detail below in conjunction with application examples.
[0132] This application example provides an intelligent computing center architecture. Figure 5As shown, the intelligent computing center architecture includes an AI server (i.e., the above-mentioned server) and a distributed file storage system (i.e., the above-mentioned storage system), wherein the AI server is provided with a GPU (i.e., the above-mentioned second processor), a Host CPU (i.e., the above-mentioned first processor), and a DPU (i.e., the above-mentioned second processor); the Host CPU runs (can also be understood as carrying) an AI software framework and a Host OS, and the Host OS runs a Virtio-FS front-end process; the DPU includes a DPU NP and a DPU on-chip coprocessor, and the DPU NP runs a Virtio-FS back-end process, and the DPU on-chip coprocessor runs a POSIX client and a DPU operating system (DPU OS); and the distributed file storage system runs a POSIX server. Among them, Figure 5 The dotted lines in the figure represent the transmission of control plane information, and the solid lines represent the transmission of data plane information.
[0133] Based on the above intelligent computing center architecture, Figure 6 As shown, this application example provides a DPU-based intelligent computing center POSIX client unloading method, which can specifically include the following steps:
[0134] Step 601: GPU sends a data request (i.e., the first information) to Host CPU;
[0135] Here, in actual application, the AI software framework running on the Host CPU can obtain the data request sent by the GPU, and use the data request to execute step 602. The data request can also be called a data interaction request, and the data request can specifically include the storage space (i.e., the second storage space) information (i.e., the third information) of the data that the GPU needs to read from the distributed file storage system on the distributed file storage system, or the write location (i.e., the second storage space) information (i.e., the third information) of the data that the GPU needs to write to the distributed file storage system.
[0136] Step 602: The AI software framework allocates memory space (i.e., the third storage space) for writing data plane information (i.e., the data to be interacted) from the Host memory space (i.e., the first storage space) according to the data request;
[0137] Here, in actual application, the AI software framework can call the Malloc method to allocate memory space for writing data plane information based on the data request.
[0138] Step 603: The AI software framework determines the data request control plane information (i.e., the second information, hereinafter referred to as the control plane information) according to the allocated memory space and the data request, and calls the POSIX protocol interface to pass the control plane information to the Virtio-FS front-end process;
[0139] Step 604: The Virtio-FS front-end process sends (can also be understood as submitting) the control plane information to the Virtio-FS back-end process based on the internal component interconnection protocol of the AI server, and adds the control plane information to the Virtio-FS message queue;
[0140] Step 605: The POSIX client obtains the control plane information in the Virtio-FS message queue through a polling mechanism;
[0141] Here, in actual application, the DPU on-chip processor transfers the control plane information from the storage space corresponding to the Virtio-FS message queue to the application memory corresponding to the POSIX client based on the kernel-mode driver and the user-mode driver in the DPU OS, so that the POSIX client can execute subsequent steps.
[0142] Step 606: The POSIX client and the POSIX server establish a control plane connection based on the RDMA mechanism (which can also be understood as establishing a control plane RDMA connection);
[0143] Here, in actual application, the POSIX client can establish a control plane connection based on the RDMA mechanism with the POSIX server based on the RDMA mechanism provided by the DPU.
[0144] Step 607: The POSIX client sends the control plane information to the POSIX server;
[0145] Step 608: The POSIX server uses the control plane information to perform a control plane operation;
[0146] Here, in actual application, the POSIX server can specifically perform one or more of the following control plane operations: creating directories and / or files, obtaining metadata information, determining the file storage nodes (i.e., the above-mentioned second storage space) involved in read and write operations (which can also be understood as data interaction), etc.
[0147] Step 609: The POSIX client determines the data plane information (i.e., the fourth information) from the control plane information, and registers the data plane information with the DPU to allow the DPU to send an RDMA request using the memory space address used by the Host side to write the data plane information (it can also be understood as allowing the DPU to send an RDMA request related to the memory space address used to write the data plane information);
[0148] Among them, the data plane information (which may also be called registration information or Host memory registration information) includes address information, length information, and access permission information of the memory space used to write the data plane information; the RDMA request is used to request to establish a data plane connection based on the RDMA mechanism, and the two sides of the data plane connection are the file storage node in the distributed file storage system and the memory space on the AI server Host side for writing the data plane information.
[0149] Step 610: The DPU generates an RDMA request using the data plane information;
[0150] The DPU encapsulates the data plane information into the header of the RDMA request (which can be expressed as RDMAheader in English).
[0151] Step 611: The DPU sends an RDMA request to the distributed file storage system;
[0152] Specifically, the DPU may send the RDMA request to the file storage node through the established control plane connection.
[0153] Step 612: The file storage node receives the RDMA request and, based on the data plane information, establishes a data plane connection based on the RDMA mechanism (which can also be understood as a data plane RDMA connection) between the file storage node and the memory space on the AI server Host side for writing the data plane information.
[0154] Step 613: The file storage node directly accesses the memory space (which may specifically include memory data pages) on the AI server Host side for writing data plane information to complete the data plane information transmission.
[0155] The solution provided in this application example introduces DPU in the AI server and offloads the POSIX client to the DPU for running and processing. In this way, on the one hand, it shields the POSIX client from tenants, ensures the security of the storage system, and improves the reliability of system-level data in the intelligent computing center file storage. On the other hand, it offloads the load of running and processing the POSIX client from the Host CPU in the AI server, allowing the Host CPU to focus more on the scheduling task processing of the AI business itself, thereby improving the performance of the Host CPU in AI task scheduling.
[0156] In order to implement the method on the first processor side of the embodiment of the present application, the embodiment of the present application also provides an information processing device, which is arranged on a first processor, and the first processor is arranged in a server, and the first processor can at least be used to schedule AI tasks, such as Figure 7 As shown, the device comprises:
[0157] A first receiving unit 701 is configured to receive first information sent by a second processor, where the first information is used to request data interaction associated with an AI task with a storage system, where the storage system is at least used to store data related to the AI task, and the second processor is also provided in the server, and the second processor is at least capable of processing the AI task;
[0158] A sending unit 702 is used to send second information to a third processor, wherein the second information is used to request to establish a connection with the storage system based on the RDMA mechanism, and the third processor is also set on the server; wherein the first storage space corresponding to the first processor and the storage system can exchange data based on the RDMA mechanism.
[0159] In one embodiment, the first information includes third information, the third information includes relevant information of a second storage space corresponding to the storage system, the second storage space is related to the data to be interacted, and the information processing device further includes:
[0160] A determination unit is used to determine a third storage space related to the data to be interacted in the first storage space by using the first information; the second information includes the third information and fourth information, and the fourth information includes relevant information of the third storage space.
[0161] In one embodiment, the sending unit 702 is specifically configured to:
[0162] Based on Virtio-FS, the second information is sent to the third processor.
[0163] In actual application, the sending unit 702, the first receiving unit 701, and the determining unit can be implemented by the first processor.
[0164] In order to implement the method on the third processor side of the embodiment of the present application, the embodiment of the present application also provides an information processing device, which is arranged on the third processor, such as Figure 8 As shown, the device comprises:
[0165] The second receiving unit 801 is used to receive second information sent by the first processor, where the second information is used to request to establish a connection based on the RDMA mechanism with the storage system, where the first processor can at least be used to schedule AI tasks, the first processor is also set on the server, and the storage system is at least used to store relevant data of the AI tasks; wherein the first storage space corresponding to the first processor and the storage system can exchange data based on the RDMA mechanism;
[0166] The connection unit 802 is used to use the second information to establish a control plane connection based on the RDMA mechanism with the storage system; and use the second information to establish a data plane connection based on the RDMA mechanism between the storage system and the first storage space, so that the storage system and the first storage space can exchange data based on the RDMA mechanism.
[0167] In one embodiment, the connecting unit 802 is specifically used for:
[0168] The POSIX client uses the second information to establish a control plane connection based on the RDMA mechanism with the POSIX server, the POSIX client runs on the third processor, and the POSIX server runs on the storage system.
[0169] In one embodiment, the connecting unit 802 is further used for:
[0170] The POSIX client obtains the second information through a polling mechanism.
[0171] In one embodiment, the second information includes third information, the third information includes relevant information of a second storage space corresponding to the storage system, the second storage space is related to the data to be interacted, and the connecting unit 802 is specifically used to:
[0172] Determine, by using the third information, an interface in the storage system corresponding to the data to be interacted with;
[0173] A control plane connection based on the RDMA mechanism is established with the storage system through the interface.
[0174] In one embodiment, the second information includes fourth information, the fourth information includes relevant information of a third storage space, the third storage space includes a storage space in the first storage space related to the data to be interacted, and the connecting unit 802 is specifically configured to:
[0175] Generate an RDMA request using the fourth information, where the RDMA request is used to request to establish a data plane connection based on the RDMA mechanism between the storage system and the third storage space, and the RDMA request includes the fourth information;
[0176] The RDMA request is sent to the storage system.
[0177] In one embodiment, the second receiving unit 801 is specifically configured to:
[0178] Based on Virtio-FS, second information sent by the first processor is received.
[0179] In actual application, the second receiving unit 801 and the connecting unit 802 can be implemented by the third processor.
[0180] It should be noted that: when the information processing device provided in the above embodiment performs information processing, only the division of the above program units is used as an example. In actual applications, the above processing can be assigned to different program units as needed, that is, the internal structure of the device is divided into different program units to complete all or part of the processing described above. In addition, the information processing device provided in the above embodiment and the information processing method embodiment belong to the same concept, and the specific implementation process is detailed in the method embodiment, which will not be repeated here.
[0181] Based on the hardware implementation of the above program modules, and in order to implement the method of the embodiment of the present application, the embodiment of the present application also provides a server, such as Fig. 9 As shown, the server 900 includes: a first processor 901, a second processor 902, and a third processor 903;
[0182] Here, it should be noted that the specific processing processes of the first processor 901 and the third processor 903 have been described in detail above and will not be repeated here.
[0183] The second processor 902 is used to send first information to the first processor 901, where the first information is used to request data interaction associated with the AI task with the storage system, and the second processor can at least be used to process the AI task.
[0184] In an exemplary embodiment, the embodiment of the present application further provides a storage medium, namely a computer storage medium, specifically a computer-readable storage medium, and the above-mentioned computer program can be executed by the first processor 901 to complete the steps of the above-mentioned first processor side method, or the above-mentioned computer program can be executed by the third processor 903 to complete the steps of the above-mentioned third processor side method. The computer-readable storage medium can be a memory such as FRAM, ROM, PROM, EPROM, EEPROM, FlashMemory, magnetic surface storage, optical disk, or CD-ROM.
[0185] In an exemplary embodiment, the embodiment of the present application also provides a computer program product, including a computer program, which can be executed by a first processor 901 to complete the steps of the aforementioned first processor side method, or the computer program can be executed by a third processor 903 to complete the steps of the aforementioned third processor side method.
[0186] In order to implement the method of the embodiment of the present application, the embodiment of the present application also provides an information processing system, such as Fig.10As shown, the system includes: a server 1001 and a storage system 1002. The server 1001 includes a first processor 1001a, a second processor 1001b, and a third processor 1001c.
[0187] Here, it should be noted that the specific processing procedures of the server 1001 and the storage system 1002 have been described in detail above and will not be repeated here.
[0188] It should be noted that: "first", "second", etc. are used to distinguish similar objects, and are not necessarily used to describe a specific order or sequence.
[0189] In addition, the technical solutions described in the embodiments of the present application can be combined arbitrarily without conflict.
[0190] The above description is only a preferred embodiment of the present application and is not intended to limit the protection scope of the present application.
Claims
1. An information processing method, characterized in that: Applied to a first processor, the first processor is set in a server, and the first processor can at least be used to schedule artificial intelligence AI tasks. The method includes: receiving first information sent by a second processor, the first information being used to request data interaction associated with the AI task with a storage system, the storage system being used to store at least data related to the AI task, the second processor being also disposed in the server, and the second processor being capable of at least processing the AI task; Sending second information to a third processor, wherein the second information is used to request to establish a connection with the storage system based on a remote direct data access (RDMA) mechanism, and the third processor is also arranged on the server; wherein the first storage space corresponding to the first processor can exchange data with the storage system based on the RDMA mechanism.
2. The method according to claim 1, characterized in that The first information includes third information, the third information includes relevant information of a second storage space corresponding to the storage system, the second storage space is related to the data to be interacted, and the method further includes: The first information is used to determine a third storage space in the first storage space that is related to the data to be interacted with; the second information includes the third information and fourth information, and the fourth information includes relevant information of the third storage space.
3. The method according to claim 1 or 2, characterized in that: The sending the second information to the third processor includes: The second information is sent to the third processor based on a virtual input and output file system Virtio-FS.
4. An information processing method, characterized in that: Applied to a third processor, the third processor is arranged in a server, and the third processor can at least be used for data processing, the method comprising: receiving second information sent by a first processor, where the second information is used to request to establish a connection with a storage system based on an RDMA mechanism, where the first processor can at least be used to schedule an AI task, the first processor is also arranged on the server, and the storage system is at least used to store relevant data of the AI task; wherein a first storage space corresponding to the first processor and the storage system can perform data exchange based on the RDMA mechanism; Using the second information, establishing a control plane connection based on the RDMA mechanism with the storage system; By using the second information, a data plane connection based on the RDMA mechanism is established between the storage system and the first storage space, so that the storage system and the first storage space perform data exchange based on the RDMA mechanism.
5. The method according to claim 4, characterized in that The using the second information to establish a control plane connection based on the RDMA mechanism with the storage system includes: The portable operating system interface POSIX client uses the second information to establish a control plane connection based on the RDMA mechanism with the POSIX server, the POSIX client runs on the third processor, and the POSIX server runs on the storage system.
6. The method according to claim 5, characterized in that The method further comprises: The POSIX client obtains the second information through a polling mechanism.
7. The method according to claim 4, characterized in that The second information includes third information, the third information includes relevant information of a second storage space corresponding to the storage system, the second storage space is related to the data to be interacted, and the use of the second information to establish a control plane connection based on the RDMA mechanism with the storage system includes: Determine, by using the third information, an interface in the storage system corresponding to the data to be interacted with; A control plane connection based on the RDMA mechanism is established with the storage system through the interface.
8. The method according to claim 4, characterized in that The second information includes fourth information, the fourth information includes relevant information of a third storage space, the third storage space includes a storage space related to the data to be exchanged in the first storage space, and the use of the second information to establish a data plane connection based on the RDMA mechanism between the storage system and the first storage space includes: Generate an RDMA request using the fourth information, where the RDMA request is used to request to establish a data plane connection based on the RDMA mechanism between the storage system and the third storage space, and the RDMA request includes the fourth information; The RDMA request is sent to the storage system.
9. The method according to claim 8, characterized in that The header of the RDMA request includes the fourth information.
10. The method according to claim 8, characterized in that The fourth information includes one or more of the following: Address information of the third storage space; Length information of the third storage space; Access permission information of the third storage space.
11. The method according to any one of claims 4 to 10, characterized in that: The receiving second information sent by the first processor includes: Based on Virtio-FS, second information sent by the first processor is received.
12. An information processing device, characterized in that: Applied to a first processor, the first processor is set in a server, and the first processor can at least be used to schedule AI tasks, including: A first receiving unit, configured to receive first information sent by a second processor, wherein the first information is used to request data interaction associated with an AI task with a storage system, wherein the storage system is at least used to store data related to the AI task, and the second processor is also disposed in the server, and the second processor is at least capable of processing the AI task; A sending unit is used to send second information to a third processor, wherein the second information is used to request to establish a connection with the storage system based on the RDMA mechanism, and the third processor is also set on the server; wherein the first storage space corresponding to the first processor and the storage system can exchange data based on the RDMA mechanism.
13. An information processing device, characterized in that: Applied to a third processor, the third processor is arranged in a server, and the third processor can at least be used for data processing, including: A second receiving unit is configured to receive second information sent by the first processor, wherein the second information is used to request to establish a connection based on the RDMA mechanism with the storage system, wherein the first processor can at least be used to schedule AI tasks, the first processor is also arranged on the server, and the storage system is at least used to store relevant data of the AI tasks; wherein the first storage space corresponding to the first processor and the storage system can perform data exchange based on the RDMA mechanism; A connection unit is used to use the second information to establish a control plane connection based on the RDMA mechanism with the storage system; and use the second information to establish a data plane connection based on the RDMA mechanism between the storage system and the first storage space, so that the storage system and the first storage space can exchange data based on the RDMA mechanism.
14. A storage medium having a computer program stored thereon, characterized in that: When the computer program is executed by a processor, the computer program implements the steps of the method according to any one of claims 1 to 3, or implements the steps of the method according to any one of claims 4 to 11.
15. A computer program product comprising a computer program, characterized in that When the computer program is executed by a processor, the computer program implements the steps of the method according to any one of claims 1 to 3, or implements the steps of the method according to any one of claims 4 to 11.