CN115865803B - IO request processing method, device, equipment and readable storage medium - Google Patents

IO request processing method, device, equipment and readable storage medium Download PDF

Info

Publication number
CN115865803B
CN115865803B CN202310194736.6A CN202310194736A CN115865803B CN 115865803 B CN115865803 B CN 115865803B CN 202310194736 A CN202310194736 A CN 202310194736A CN 115865803 B CN115865803 B CN 115865803B
Authority
CN
China
Prior art keywords
information
storage
request
controller
network
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202310194736.6A
Other languages
Chinese (zh)
Other versions
CN115865803A (en
Inventor
张雪庆
高涵
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Inspur Electronic Information Industry Co Ltd
Original Assignee
Inspur Electronic Information Industry Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Inspur Electronic Information Industry Co Ltd filed Critical Inspur Electronic Information Industry Co Ltd
Priority to CN202310194736.6A priority Critical patent/CN115865803B/en
Publication of CN115865803A publication Critical patent/CN115865803A/en
Application granted granted Critical
Publication of CN115865803B publication Critical patent/CN115865803B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Abstract

The application relates to the technical field of storage, and discloses an IO request processing method, device, equipment and readable storage medium, wherein the method comprises the following steps: the shared network card receives an IO request sent by a server; the shared network card is connected with a plurality of storage controllers in the storage system; analyzing the IO request to obtain IO information; searching a target storage controller corresponding to the IO information in the mapping table; and sending the IO request to the target storage controller. In the application, the IO request is analyzed through sharing the network card, so that the route determination is carried out, the IO forwarding operation between the storage controllers can be avoided, part of the work of the storage controllers can be saved, the response of the IO request can be accelerated, and the overall time delay of the system can be reduced.

Description

IO request processing method, device, equipment and readable storage medium
Technical Field
The present application relates to the field of storage technologies, and in particular, to a method, an apparatus, a device, and a readable storage medium for processing an IO request.
Background
The centralized storage uses a two-control or four-control tight coupling architecture, two, four or more storage controllers are stored in one machine frame, a large amount of data communication and synchronous operation exist between the storage controllers, and the storage controllers in the same machine frame provide higher job throughput, lower system response time and lower fault response time. The higher job throughput can be realized by using a high-speed CPU, adding hardware or software concurrency and other methods, the lower system response time is realized by using a network with lower time delay, a storage medium and other modes, and the fault response time is optimized on software fault logic to reduce the response time.
However, in the architecture of multiple storage controllers based on the conventional network card, each storage controller has exclusive access to the network card. The server IO is connected to a network card of a certain storage controller through a network and is processed by the storage controller. The multiple controllers form a cluster, the first controller receives the request, but the data actually requested is in the storage medium corresponding to the second controller, so that IO forwarding among the multiple storage controllers exists in the storage controllers. Because IO imbalance exists a large number of IO forwarding operations among a plurality of controllers, the overall time delay of the system is affected.
In summary, how to effectively solve the problems of quick response of the IO request and the like is a technical problem that needs to be solved by those skilled in the art at present.
Disclosure of Invention
The application aims to provide an IO request processing method, an IO request processing device, IO request processing equipment and a readable storage medium, wherein the IO request is routed and confirmed through sharing a network card, so that IO forwarding operation among a plurality of storage controllers can be avoided, and the overall time delay of a system can be reduced.
In order to solve the technical problems, the application provides the following technical scheme:
an IO request processing method, comprising:
the shared network card receives an IO request sent by a server; the shared network card is connected with a plurality of storage controllers in the storage system;
Analyzing the IO request to obtain IO information;
searching a target storage controller corresponding to the IO information in a mapping table;
and sending the IO request to the target storage controller.
Optionally, establishing the mapping table includes:
acquiring configuration information of the storage system;
IO load information and available resource information of the plurality of storage controllers are obtained;
and establishing the mapping table by using the configuration information, the IO load information, the available resource information and the IO information.
Optionally, obtaining configuration information of the storage system includes:
and communicating with a configuration controller of the storage system to acquire the configuration information.
Optionally, communicating with a configuration controller of the storage system, obtaining the configuration information includes:
communicating with the configuration controller to acquire storage configuration information and network configuration information;
and determining the stored configuration information and the network configuration information as the configuration information.
Optionally, obtaining load information of the plurality of storage controllers includes:
and acquiring the IO load information from log modules in the storage controllers.
Optionally, the obtaining the IO load information from a log module in the plurality of storage controllers includes:
acquiring the total bandwidth of the controller, the bandwidth of each IO port, the total IOPS of the controller, the IOPS of each port, the total time delay of the controller and the time delay of each port from the log module;
and determining the total bandwidth of the controller, the bandwidth of each IO port, the total IOPS of the controller, the IOPS of each port, the total time delay of the controller and the time delay of each port as the IO load information.
Optionally, obtaining available resource information of the plurality of storage controllers includes:
inquiring computing resource information, memory resource information and network resource information of the plurality of storage controllers;
and determining the computing resource information, the memory resource information and the network resource information as the available resource information.
Optionally, querying computing resource information of the plurality of storage controllers includes:
inquiring CPU utilization rates of the plurality of storage controllers;
and determining the CPU utilization rate as the computing resource information.
Optionally, querying the memory resource information of the plurality of storage controllers includes:
Acquiring the total physical memory, the number of used physical memories, the number of idle physical memories and the number of buffer memories of the plurality of storage controllers;
and determining the total physical memory, the number of used physical memories, the number of idle physical memories and the number of buffer memories as the memory resource information.
Optionally, querying the network resource information of the plurality of storage controllers includes:
acquiring network card bandwidth, connection mode, speed, connection state, network port number, network port receiving and transmitting packet statistics and CRC error of the storage controller;
and determining the network card bandwidth, the connection mode, the speed, the connection state, the network port number, the network port receiving and transmitting packet statistics and the CRC error as the network resource information.
Optionally, using the configuration information, the IO load information, the available resource information, and the IO information, establishing the mapping table includes:
mapping factors are found out from the configuration information, the IO load information, the available resource information and the IO information;
constructing a mapping two-dimensional matrix by using the mapping factors to obtain the corresponding relation between IO and the storage controller;
And establishing the mapping table based on the corresponding relation.
Optionally, the searching the mapping factor from the configuration information, the IO load information, the available resource information and the IO information includes:
searching a read-write type, an IO block size, an access address, a volume type, a RAID type and CPU state information, memory state information and network bandwidth state information of each storage controller from the configuration information, the IO load information, the available resource information and the IO information;
and determining the read-write type, the IO block size, the access address, the volume type, the RAID type and the CPU state information of each storage controller, the memory state information and the network bandwidth state information as the mapping factors.
Optionally, the searching the target storage controller corresponding to the IO information in the mapping table includes:
searching a storage controller corresponding to the IO information in the mapping table;
and if the number of the storage controllers corresponding to the IO information is greater than 1, determining the storage controller with smaller load or more available resources in the storage controllers corresponding to the IO information as the target storage controller through comparison.
Optionally, the method further comprises:
periodically acquiring the IO load information and the available resource information;
and updating the mapping table by using the IO load information and the available resource information which are currently acquired.
Optionally, parsing the IO request to obtain IO information includes:
and analyzing the IO request through hardware unloading to obtain the IO information.
Optionally, the analyzing the IO request through hardware offloading to obtain the IO information includes:
unloading the network and storage protocol processes of IO to finish the hardware unloading of TCP/IP protocol and iSCSI protocol;
after the hardware unloading is completed, the IO request is analyzed, and the IO information is obtained.
Optionally, the parsing the IO request to obtain the IO information includes:
analyzing the IO request to obtain interface information, a storage protocol instruction, a data access address and read-write operation;
and determining the interface information, the storage protocol instruction, the data access address and the read-write operation as the IO information.
An IO request processing device, applied to a shared network card, includes:
the request receiving module is used for receiving the IO request sent by the server; the shared network card is connected with a plurality of storage controllers in the storage system;
The request analysis module is used for analyzing the IO request to obtain IO information;
the IO routing module is used for searching a target storage controller corresponding to the IO information in the mapping table;
and the request forwarding module is used for sending the IO request to the target storage controller.
An electronic device, comprising:
a memory for storing a computer program;
and the processor is used for realizing the steps of the IO request processing method when executing the computer program.
A readable storage medium having stored thereon a computer program which, when executed by a processor, implements the steps of the IO request processing method described above.
By applying the method provided by the embodiment of the application, the shared network card receives the IO request sent by the server; the shared network card is connected with a plurality of storage controllers in the storage system; analyzing the IO request to obtain IO information; searching a target storage controller corresponding to the IO information in the mapping table; and sending the IO request to the target storage controller.
Compared with the prior art, the application has the following technical effects:
in the application, the shared network card is connected with a plurality of storage controllers in the storage system, and after the shared network card receives the IO request sent by the server, the IO request is analyzed, so that IO information is obtained. Then, in the mapping table, a target storage controller corresponding to the IO information is found, and then the IO request is sent to the target storage controller. That is, the IO requests are analyzed through sharing the network card, so that the routing determination is performed, IO forwarding operation among the storage controllers can be avoided, part of work of the storage controllers can be omitted, response of the IO requests can be accelerated, and overall time delay of the system can be reduced.
Correspondingly, the embodiment of the application also provides an IO request processing device, equipment and a readable storage medium corresponding to the IO request processing method, which have the technical effects and are not repeated herein.
Drawings
In order to more clearly illustrate the embodiments of the present application or the technical solutions in the related art, the drawings that are required to be used in the embodiments or the related technical descriptions will be briefly described, and it is apparent that the drawings in the following description are only some embodiments of the present application, and other drawings may be obtained according to the drawings without inventive effort for those skilled in the art.
FIG. 1 is a flowchart of an IO request processing method according to an embodiment of the present application;
FIG. 2 is a schematic diagram of a hardware architecture of a multi-storage controller based on a shared network card according to the present application;
FIG. 3 is a schematic diagram of an IO request processing device according to an embodiment of the present application;
fig. 4 is a schematic structural diagram of an electronic device according to an embodiment of the present application;
fig. 5 is a schematic structural diagram of an electronic device according to an embodiment of the present application.
Detailed Description
In order to better understand the aspects of the present application, the present application will be described in further detail with reference to the accompanying drawings and detailed description. It will be apparent that the described embodiments are only some, but not all, embodiments of the application. All other embodiments, which can be made by those skilled in the art based on the embodiments of the application without making any inventive effort, are intended to be within the scope of the application.
In order to facilitate understanding of the IO request processing method provided by the embodiment of the present application, the following explanation is made on related technologies:
with the rise of the concepts of resource sharing, pooling and virtualization, multiple chip companies have proposed Multi-host technology, and there are at least three technical implementations: PCIe Fabric mode, network controller translation mode, and network card chip internal interconnect mode.
The PCIe Fabric mode of the first mode depends on PCIe exchange chips, and uses the Fabric mode of the PCIe exchange chips to realize complex PCIe topology through FWs of the exchange chips, so that Multi-host is realized, and for the application with high reliability requirements, the PCIe exchange chips can be interconnected to form a more complex and reliable network;
the second mode is realized by converting PCIe and network through a network controller, and because the network is a Multi-host architecture, PCIe provided by the outside is converted into internal network connection through integrating a plurality of network controllers in the chip, and the network can be regarded as 1 large network switch;
the third is the network card chip internal interconnection realization, the PCIe interface is divided into a plurality of independent PCIe interfaces through the chip internal, each interface can be independently connected with a host CPU, and no performance degradation exists.
The IO request processing method provided by the application is aimed at a multi-storage controller sharing network card in an on-chip interconnection mode, provides an IO scheduling technology (namely an IO request processing method), is applied to a novel storage architecture with Data as a center (Data center), realizes access of multiple storage nodes to users in storage equipment by adopting a software and hardware collaborative design, and improves the performance and reliability of a storage system.
Specifically, referring to fig. 1, fig. 1 is a flowchart of an IO request processing method according to an embodiment of the present application, where the method may be applied to a shared network card (also referred to as an intelligent network card) as shown in fig. 2, and the method includes the following steps:
s101, receiving an IO request sent by a server.
The shared network card is connected with a plurality of storage controllers in the storage system. I.e. the shared network card is shared by the several storage controllers. In the embodiment of the application, at least 2 storage controllers use the network service provided by the shared network card. I.e. at least 2 storage controllers share the same network card. For how the shared network card serves the two storage controllers, the specific implementation manner of the multi-host technology can be specifically referred to the internal interconnection of the network card chip described above, and will not be described here again.
The shared network card is in communication connection with the server and can receive IO requests sent by the server. The IO request may be a request for performing operations such as reading/writing on a storage medium managed and controlled by any storage controller in the storage system.
S102, analyzing the IO request to obtain IO information.
It should be noted that in the conventional processing model, the IO request is parsed, and the IO information thereof is acquired and implemented by the memory controller. In the embodiment of the application, after receiving the IO request, the shared network card firstly analyzes the IO request so as to obtain IO information.
That is, in the application, the shared network card bears most of the tasks processed by the CPU of the storage controller, thereby reducing the load of the CPU of the storage controller, further improving the response speed of the storage controller to IO requests and effectively reducing the time delay of the IO requests.
The IO information may specifically include, but is not limited to, at least one or more of interface information, storage protocol instructions, data access addresses, read/write operations, and the like.
In a specific embodiment of the present application, analyzing an IO request to obtain IO information includes: and analyzing the IO request through hardware unloading to obtain IO information.
The hardware unloading refers to transferring the operations of IP fragmentation, TCP segmentation, reorganization, checksum verification and the like which are originally performed in the kernel network protocol stack to the shared network card hardware, so that the packet sending path of the CPU is shorter, the consumption is lower, and the processing performance is improved. That is, the shared network card can analyze the IO request based on hardware unloading, so as to obtain IO information.
In an optional embodiment of the present application, analyzing the IO request to obtain the IO information through hardware offloading includes:
step one, unloading the network and storage protocol processing of IO to finish the hardware unloading of TCP/IP protocol and iSCSI protocol;
and step two, after hardware unloading is completed, analyzing the IO request to obtain IO information.
For convenience of description, the two steps are described in combination.
The TCP/IP protocol and the iSCSI protocol can be realized on the shared network card through hardware negotiation, so that the analysis operation based on the TCP/IP protocol and the iSCSI protocol can be carried out on the IO request, and the IO information is obtained.
The resolving the IO request to obtain the IO information in the second step may specifically include:
step 1, analyzing an IO request to obtain interface information, a storage protocol instruction, a data access address and read-write operation;
And step 2, determining interface information, a storage protocol instruction, a data access address and read-write operation as IO information.
That is, in the present application, hardware offloading of TCP/IP protocol, iSCSI protocol can be accomplished by offloading network and storage protocol processing of IO; specifically, the four-layer processing request including the TCP protocol can be transferred from the CPU processor of the storage controller to the shared network card, which is equivalent to the shared network card bearing most of the tasks of the CPU for processing the TCP data, thereby reducing the load of the CPU. IO information obtained by protocol offload may include interface information such as SCSI (Small Computer System Interface ), storage protocol instructions such as NVMe (Non-Volatile Memory express, a flash memory class storage design protocol built on M.2 interface) instructions, data access addresses, read and write operations, and the like.
S103, searching a target storage controller corresponding to the IO information in the mapping table.
The mapping table stores the mapping relation between IO information and the storage controller. The mapping table can be created in advance, or can be created after confirming the mapping relation between the IO information and the storage controller in the IO request processing process.
The target storage controller corresponding to the IO information can be found out by searching the mapping table. That is, based on the mapping table, a target storage controller that can handle the IO request may be found, or a target storage controller that can handle the IO request better and faster may be found.
In an alternative embodiment of the present application, establishing the mapping table includes:
step one, acquiring configuration information of a storage system;
step two, IO load information and available resource information of a plurality of storage controllers are obtained;
and thirdly, establishing a mapping table by using the configuration information, the IO load information, the available resource information and the IO information.
For convenience of description, the following description will be given by combining the above three steps.
In the application, the shared network card can provide network service for a plurality of storage controllers in the storage system. To effectively distinguish between the routing of IO requests, it is necessary to learn the configuration information of the storage system. In order to realize load balancing of each storage controller, IO load information and available resource information of each storage controller in a storage system are also required to be obtained, so that a mapping table is established based on configuration information, IO load information, available resource information and IO information. That is, the mapping relationship in the mapping table is not only created according to the configuration, but also the load condition and the available resource information of each storage controller need to be referred to, so that when the IO route determination is performed based on the mapping table, the accuracy can be realized, and the effect of load balancing processing is considered.
In one embodiment of the present application, obtaining configuration information of a storage system includes:
and communicating with a configuration controller of the storage system to acquire configuration information.
Specifically, the method for obtaining configuration information by communicating with a configuration controller of a storage system includes:
step 1, communicating with a configuration controller to acquire storage configuration information and network configuration information;
and 2, determining the stored configuration information and the network configuration information as configuration information.
That is, in the embodiment of the present application, a configuration management module may be set in the shared network card, where the configuration management module may communicate with a configuration controller of the storage system to obtain storage configuration information, and includes: size, location, compression properties, encryption properties, etc. of the logical volume.
Specifically, in the initialization stage of the storage system, the storage service is not provided for the user yet, and an administrator configures hardware and software of the storage system according to service requirements. At this time, the administrator plans the availability of storage according to the service requirement, and the configuration information includes: single site/multi site configuration, disk control coupling architecture/disk control classification architecture, arbitrating disk configuration; planning a stored network configuration, comprising: the choice of physical connection (SCSI FC, NVMe FC, iSCSI (Internet Small Computer System Interface, internet small computer system interface), iSER (iSCSI Extensions for RDMA, a protocol of IBSAN), which mainly functions to run iSCSI protocol commands and data onto a network such as Infiniband by RDMA, as the storage protocol iSER of iSCSI irdma has been standardized by IETF), roCE (RDMA over Converged Ethernet), etc.), front-end interface packet configuration (packet number, packet port information, site to which a port belongs, node, port information, IP address, WWPN (world wide port number, port number) information, etc.), port virtualization configuration (physical port number, virtual port number, mapping relation between physical ports and virtual ports, backup relation between virtual ports), cluster packet configuration (cluster number, number of nodes contained in each cluster), back-end storage packet configuration (packet number, packet port information, site to which a port belongs, node, port information, IP address, SAS address information, etc.), storage pool configuration.
In an alternative embodiment of the present application, obtaining load information of a plurality of storage controllers includes: and acquiring IO load information from log modules in a plurality of storage controllers. Specifically, the obtaining the IO load information from the log module in the plurality of storage controllers includes:
step 1, acquiring a total bandwidth of a controller, bandwidths of all IO ports, a total IOPS of the controller, IOPS of all ports, total time delay of the controller and time delay of all ports from a log module;
and 2, determining the total bandwidth of the controller, the bandwidth of each IO port, the total IOPS of the controller, each port IOPS, the total time delay of the controller and the time delay of each port as IO load information.
In the application, a status information management module can be arranged in the shared network card, so that the load condition of the storage controller and the condition of available resources are acquired based on the status information management module.
And when the storage controllers run, the state information management module in the shared network card periodically inquires the current load and available resource information of each storage controller. The current load is that the intelligent network card (shared network card) obtains IO load information through log modules of each controller, wherein the IO load information comprises a total bandwidth of the controller, a bandwidth of each IO port, a total IOPS (Input/Output Operations Per Second) of the controller, an IOPS of each port, a total time delay of the controller and a time delay of each port.
In an alternative embodiment of the present application, obtaining available resource information of a plurality of storage controllers includes:
step 1, inquiring computing resource information, memory resource information and network resource information of a plurality of storage controllers;
and step 2, determining the computing resource information, the memory resource information and the network resource information as available resource information.
For convenience of explanation, the two steps are described in combination.
Wherein querying computing resource information of a plurality of storage controllers includes:
step (1), inquiring CPU utilization rates of a plurality of storage controllers;
and (2) determining the CPU utilization rate as computing resource information.
The method for inquiring the memory resource information of the plurality of memory controllers comprises the following steps:
step (1), obtaining the total physical memory, the number of used physical memories, the number of idle physical memories and the number of buffer memories of a plurality of storage controllers;
and (2) determining the total amount of the physical memory, the amount of the used physical memory, the amount of the idle physical memory and the amount of the buffer memory as memory resource information.
Wherein, the network resource information of a plurality of storage controllers is queried, including:
step (1), acquiring network card bandwidth, connection mode, speed, connection state, network port number, network port receiving and transmitting packet statistics and CRC error of a storage controller;
And (2) determining network card bandwidth, connection mode, speed, connection state, network port number, network port receiving and transmitting packet statistics and CRC error as network resource information.
That is, when computing resources are queried, i.e., CPU usage of the storage controller is obtained, i.e., including but not limited to: the CPU percentage occupied by the user mode, the CPU percentage occupied by the system mode, the CPU percentage occupied by the idle CPU, the CPU percentage occupied by the process waiting for input/output, the CPU percentage occupied by the hard interrupt request service and the CPU percentage occupied by the soft interrupt request service.
When the memory resource is queried, the memory state information of the memory controller is obtained, which includes but is not limited to: the total amount of physical memory, the amount of physical memory already used, the amount of free physical memory, the amount of memory that is buffered.
When the network resource is queried, network card state information of the storage controller is acquired, which includes but is not limited to: network card bandwidth, connection mode, speed, connection state, network port number, network port packet statistics and CRC error.
In a specific embodiment of the present application, using configuration information, IO load information, available resource information, and IO information, a mapping table is established, including:
Step 1, mapping factors are found out from configuration information, IO load information, available resource information and IO information;
step 2, constructing a mapping two-dimensional matrix by using mapping factors to obtain the corresponding relation between the IO and the storage controller;
and 3, establishing a mapping table based on the corresponding relation.
The mapping factor is found out from the configuration information, the IO load information, the available resource information and the IO information, and the mapping factor comprises the following steps:
step (1), searching a read-write type, an IO block size, an access address, a volume type, a RAID type, CPU state information, memory state information and network bandwidth state information of each storage controller from configuration information, IO load information, available resource information and IO information;
and (2) determining the read-write type, IO block size, access address, volume type, RAID type, CPU state information of each storage controller, memory state information and network bandwidth state information as mapping factors.
Establishing a mapping table, namely forming a mapping relation between IO and a storage controller; the mapping relationship includes the following factors: read-write type, IO block size, access address, volume type, RAID type, controller x CPU status information, controller x memory status information, controller x network bandwidth status information. Wherein x refers to different controllers, such as when x is 1, that is, related information corresponding to the controller 1, such as CPU state information of the controller 1; such as when x is 2, i.e., corresponding to the relevant information of the controller 2, such as controller 2CPU state information.
And constructing and mapping the information into a two-dimensional matrix to form the corresponding relation between the IO and the storage controller. Thus, when an IO request arrives, the target controller with the best matching can be inquired according to the characteristics of the IO.
S104, sending the IO request to the target storage controller.
After the target controller is defined, the forwarding route of the IO request can be determined, namely the IO request is sent out from the route corresponding to the target controller. Specifically, the IO request is sent through an interface connected with the target storage controller.
By applying the method provided by the embodiment of the application, the shared network card receives the IO request sent by the server; the shared network card is connected with a plurality of storage controllers in the storage system; analyzing the IO request to obtain IO information; searching a target storage controller corresponding to the IO information in the mapping table; and sending the IO request to the target storage controller.
In the application, the shared network card is connected with a plurality of storage controllers in the storage system, and after the shared network card receives the IO request sent by the server, the IO request is analyzed, so that IO information is obtained. Then, in the mapping table, a target storage controller corresponding to the IO information is found, and then the IO request is sent to the target storage controller. That is, the IO requests are analyzed through sharing the network card, so that the routing determination is performed, IO forwarding operation among the storage controllers can be avoided, part of work of the storage controllers can be omitted, response of the IO requests can be accelerated, and overall time delay of the system can be reduced.
It should be noted that, based on the above embodiments, the embodiments of the present application further provide corresponding improvements. The preferred/improved embodiments relate to the same steps as those in the above embodiments or the steps corresponding to the steps may be referred to each other, and the corresponding advantages may also be referred to each other, so that detailed descriptions of the preferred/improved embodiments are omitted herein.
In a specific embodiment of the present application, searching a target storage controller corresponding to IO information in a mapping table includes:
step one, searching a storage controller corresponding to IO information in a mapping table;
and step two, if the number of the storage controllers corresponding to the IO information is greater than 1, determining the storage controller with smaller load or more available resources in the storage controllers corresponding to the IO information as a target storage controller through comparison.
That is, when the IO information corresponds to a plurality of storage controllers, that is, the plurality of storage controllers can process the IO request, at this time, a storage controller which matches the IO information and has a smaller load or more available resources can be found out to be determined as the target storage controller based on the load and available resources of the storage controller. Therefore, the IO request can be distributed to the storage controllers with smaller load or more available resources as much as possible for processing, so that load balancing is realized, and the processing efficiency can be improved.
In one embodiment of the present application, the mapping table may also be updated in the present application, considering that the IO load condition and available resources of the storage controller may change with time or change of demand. The specific implementation process comprises the following steps:
step one, periodically acquiring IO load information and available resource information;
and step two, updating the mapping table by utilizing the currently acquired IO load information and available resource information.
For convenience of description, the two steps are described in combination.
According to the actual service demand, a time period can be set to periodically acquire IO load information and available resource information, and then the mapping table is updated by utilizing the currently acquired IO load information and available resource information. Therefore, the reason of the IO request can be determined based on the updated mapping table, so that the load of each storage controller is more balanced, and the response speed of the whole system is faster.
Corresponding to the above method embodiment, the embodiment of the present application further provides an IO request processing device, where the IO request processing device described below and the IO request processing method described above may be referred to correspondingly.
Referring to fig. 3, the device is applied to a shared network card, and comprises the following modules:
a request receiving module 101, configured to receive an IO request sent by a server; the shared network card is connected with a plurality of storage controllers in the storage system;
the request analysis module 102 is configured to analyze the IO request to obtain IO information;
the IO routing module 103 is configured to search a mapping table for a target storage controller corresponding to the IO information;
the request forwarding module 104 is configured to send the IO request to the target storage controller.
By applying the device provided by the embodiment of the application, the shared network card receives the IO request sent by the server; the shared network card is connected with a plurality of storage controllers in the storage system; analyzing the IO request to obtain IO information; searching a target storage controller corresponding to the IO information in the mapping table; and sending the IO request to the target storage controller.
In the application, the shared network card is connected with a plurality of storage controllers in the storage system, and after the shared network card receives the IO request sent by the server, the IO request is analyzed, so that IO information is obtained. Then, in the mapping table, a target storage controller corresponding to the IO information is found, and then the IO request is sent to the target storage controller. That is, the IO requests are analyzed through sharing the network card, so that the routing determination is performed, IO forwarding operation among the storage controllers can be avoided, part of work of the storage controllers can be omitted, response of the IO requests can be accelerated, and overall time delay of the system can be reduced.
In one embodiment of the present application, the method further comprises:
the configuration management module is specifically used for acquiring configuration information of the storage system;
the state information management module is specifically used for acquiring IO load information and available resource information of a plurality of storage controllers;
the mapping table establishing module is used for establishing a mapping table by utilizing the configuration information, the IO load information, the available resource information and the IO information.
In one embodiment of the present application, a configuration management module is configured to communicate with a configuration controller of a storage system to obtain configuration information.
In one embodiment of the present application, the configuration management module is specifically configured to communicate with the configuration controller to obtain storage configuration information and network configuration information;
the stored configuration information and the network configuration information are determined as configuration information.
In one embodiment of the present application, the status information management module is specifically configured to obtain the IO load information from log modules in the plurality of storage controllers.
In a specific embodiment of the present application, the state information management module is specifically configured to obtain, from the log module, a total bandwidth of the controller, a bandwidth of each IO port, a total IOPS of the controller, an IOPS of each port, a total delay of the controller, and a delay of each port;
And determining the total bandwidth of the controller, the bandwidth of each IO port, the total IOPS of the controller, the IOPS of each port, the total time delay of the controller and the time delay of each port as IO load information.
In one embodiment of the present application, the state information management module is specifically configured to query computing resource information, memory resource information, and network resource information of a plurality of storage controllers;
and determining the computing resource information, the memory resource information and the network resource information as available resource information.
In one specific embodiment of the present application, the status information management module is specifically configured to query CPU utilization rates of a plurality of storage controllers;
CPU usage is determined as computing resource information.
In a specific embodiment of the present application, the state information management module is specifically configured to obtain a total amount of physical memory, a number of used physical memory, a number of idle physical memory, and a number of buffer memory of the plurality of storage controllers;
and determining the total amount of the physical memory, the amount of the used physical memory, the amount of the idle physical memory and the amount of the buffer memory as memory resource information.
In a specific embodiment of the present application, the status information management module is specifically configured to obtain a network card bandwidth, a connection mode, a rate, a connection status, a network port number, a network port packet statistics and a CRC error of the storage controller;
And determining network card bandwidth, connection mode, speed, connection state, network port number, network port receiving and transmitting packet statistics and CRC error as network resource information.
In a specific embodiment of the present application, the mapping table building module is specifically configured to find mapping factors from configuration information, IO load information, available resource information, and IO information;
constructing a mapping two-dimensional matrix by using the mapping factors to obtain the corresponding relation between the IO and the storage controller;
and establishing a mapping table based on the corresponding relation.
In a specific embodiment of the present application, the mapping table building module is configured to find out a read-write type, an IO block size, an access address, a volume type, a RAID type, and CPU state information, memory state information, and network bandwidth state information of each storage controller from configuration information, IO load information, available resource information, and IO information;
and determining the read-write type, IO block size, access address, volume type, RAID type, CPU state information of each storage controller, memory state information and network bandwidth state information as mapping factors.
In a specific embodiment of the present application, the mapping table establishing module is configured to search a storage controller corresponding to the IO information in the mapping table;
If the number of the storage controllers corresponding to the IO information is greater than 1, determining the storage controller with smaller load or more available resources in the storage controllers corresponding to the IO information as a target storage controller through comparison.
In a specific embodiment of the present application, the mapping table establishing module is further configured to: periodically acquiring IO load information and available resource information;
and updating the mapping table by using the currently acquired IO load information and available resource information.
In a specific embodiment of the present application, the request parsing module 102 is specifically configured to parse the IO request through hardware offloading to obtain the IO information.
In a specific embodiment of the present application, the request parsing module 102 is specifically configured to offload processing of the network and the storage protocol of the IO, and complete hardware offloading of the TCP/IP protocol and the iSCSI protocol;
after the hardware unloading is completed, the IO request is analyzed, and IO information is obtained.
In a specific embodiment of the present application, the request parsing module 102 is specifically configured to parse the IO request to obtain interface information, a storage protocol instruction, a data access address, and a read/write operation;
interface information, storage protocol instructions, data access addresses and read-write operations are determined as IO information.
Corresponding to the above method embodiment, the embodiment of the present application further provides an electronic device, where an electronic device described below and an IO request processing method described above may be referred to correspondingly.
Referring to fig. 4, the electronic device includes:
a memory 332 for storing a computer program;
a processor 322, configured to implement the steps of the IO request processing method of the above method embodiment when executing a computer program.
Specifically, referring to fig. 5, fig. 5 is a schematic diagram of a specific structure of an electronic device according to the present embodiment, where the electronic device may have a relatively large difference due to different configurations or performances, and may include one or more processors (central processing units, CPU) 322 (e.g., one or more processors) and a memory 332, where the memory 332 stores one or more computer programs 342 or data 344. Wherein the memory 332 may be transient storage or persistent storage. The program stored in memory 332 may include one or more modules (not shown), each of which may include a series of instruction operations in the data processing apparatus. Still further, the processor 322 may be configured to communicate with the memory 332 and execute a series of instruction operations in the memory 332 on the electronic device 301.
The electronic device 301 may also include one or more power supplies 326, one or more wired or wireless network interfaces 350, one or more input/output interfaces 358, and/or one or more operating systems 341.
The steps in the IO request processing method described above may be implemented by the structure of the electronic device. That is, in the present application, implementing the IO request processing method in the electronic device has the following technical effects:
the shared network card is connected with a plurality of storage controllers in the storage system, and after the shared network card receives the IO request sent by the server, the IO request is analyzed, so that IO information is obtained. Then, in the mapping table, a target storage controller corresponding to the IO information is found, and then the IO request is sent to the target storage controller. That is, the IO requests are analyzed through sharing the network card, so that the routing determination is performed, IO forwarding operation among the storage controllers can be avoided, part of work of the storage controllers can be omitted, response of the IO requests can be accelerated, and overall time delay of the system can be reduced.
Corresponding to the above method embodiments, the embodiments of the present application further provide a readable storage medium, where a readable storage medium described below and an IO request processing method described above may be referred to correspondingly.
A readable storage medium, on which a computer program is stored, which when executed by a processor implements the steps of the IO request processing method of the above method embodiment.
The readable storage medium may be a usb disk, a removable hard disk, a Read-Only Memory (ROM), a random access Memory (Random Access Memory, RAM), a magnetic disk, or an optical disk, and the like.
That is, in the present application, when the computer program stored in the readable storage medium is executed, there are the following technical effects:
the shared network card is connected with a plurality of storage controllers in the storage system, and after the shared network card receives the IO request sent by the server, the IO request is analyzed, so that IO information is obtained. Then, in the mapping table, a target storage controller corresponding to the IO information is found, and then the IO request is sent to the target storage controller. That is, the IO requests are analyzed through sharing the network card, so that the routing determination is performed, IO forwarding operation among the storage controllers can be avoided, part of work of the storage controllers can be omitted, response of the IO requests can be accelerated, and overall time delay of the system can be reduced.
In this specification, each embodiment is described in a progressive manner, and each embodiment is mainly described in a different point from other embodiments, so that the same or similar parts between the embodiments are referred to each other. For the device disclosed in the embodiment, since it corresponds to the method disclosed in the embodiment, the description is relatively simple, and the relevant points refer to the description of the method section.
Those of skill would further appreciate that the various illustrative elements and algorithm steps described in connection with the embodiments disclosed herein may be implemented as electronic hardware, computer software, or combinations of both, and that the various illustrative elements and steps are described above generally in terms of functionality in order to clearly illustrate the interchangeability of hardware and software. Whether such functionality is implemented as hardware or software depends upon the particular application and design constraints imposed on the solution. Those skilled in the art may implement the described functionality using different approaches for each particular application, but such implementation decisions should not be interpreted as causing a departure from the scope of the present application.
The steps of a method or algorithm described in connection with the embodiments disclosed herein may be embodied directly in hardware, in a software module executed by a processor, or in a combination of the two. The software modules may be disposed in Random Access Memory (RAM), memory, read Only Memory (ROM), electrically programmable ROM, electrically erasable programmable ROM, registers, hard disk, a removable disk, a CD-ROM, or any other form of storage medium known in the art.
Finally, it is further noted that, in this document, relational terms such as first and second, and the like are used solely to distinguish one entity or action from another entity or action without necessarily requiring or implying any actual such relationship or order between such entities or actions. Moreover, the terms include, comprise, or any other variation is intended to cover a non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements does not include only those elements but may include other elements not expressly listed or inherent to such process, method, article, or apparatus.
The principles and embodiments of the present application have been described herein with reference to specific examples, the description of which is intended only to assist in understanding the methods of the present application and the core ideas thereof; meanwhile, as those skilled in the art will vary in the specific embodiments and application scope according to the idea of the present application, the present disclosure should not be construed as limiting the present application in summary.

Claims (16)

1. An IO request processing method, comprising:
The shared network card receives an IO request sent by a server; the shared network card is connected with a plurality of storage controllers in the storage system;
analyzing the IO request to obtain IO information; the IO information comprises interface information, a storage protocol instruction, a data access address and read-write operation;
searching a target storage controller corresponding to the IO information in a mapping table;
sending the IO request to the target storage controller;
wherein, establish the mapping table, include:
acquiring configuration information of the storage system;
IO load information and available resource information of the plurality of storage controllers are obtained;
establishing the mapping table by using the configuration information, the IO load information, the available resource information and the IO information;
wherein, searching the target storage controller corresponding to the IO information in the mapping table includes:
searching a storage controller corresponding to the IO information in the mapping table;
if the number of the storage controllers corresponding to the IO information is greater than 1, determining the storage controller with smaller load or more available resources in the storage controllers corresponding to the IO information as the target storage controller through comparison;
The mapping table is established by using the configuration information, the IO load information, the available resource information and the IO information, and the mapping table comprises the following steps:
mapping factors are found out from the configuration information, the IO load information, the available resource information and the IO information;
constructing a mapping two-dimensional matrix by using the mapping factors to obtain the corresponding relation between IO and the storage controller;
based on the corresponding relation, establishing the mapping table;
wherein the searching the mapping factor from the configuration information, the IO load information, the available resource information, and the IO information includes:
searching a read-write type, an IO block size, an access address, a volume type, a RAID type and CPU state information, memory state information and network bandwidth state information of each storage controller from the configuration information, the IO load information, the available resource information and the IO information;
and determining the read-write type, the IO block size, the access address, the volume type, the RAID type and the CPU state information of each storage controller, the memory state information and the network bandwidth state information as the mapping factors.
2. The IO request processing method of claim 1, wherein obtaining configuration information of the storage system comprises:
and communicating with a configuration controller of the storage system to acquire the configuration information.
3. The IO request processing method of claim 2, wherein communicating with a configuration controller of the storage system, obtaining the configuration information, comprises:
communicating with the configuration controller to acquire storage configuration information and network configuration information;
and determining the stored configuration information and the network configuration information as the configuration information.
4. The IO request processing method of claim 1, wherein obtaining load information of the plurality of storage controllers comprises:
and acquiring the IO load information from log modules in the storage controllers.
5. The IO request processing method of claim 4, wherein obtaining the IO load information from log modules in the plurality of storage controllers comprises:
acquiring the total bandwidth of the controller, the bandwidth of each IO port, the total IOPS of the controller, the IOPS of each port, the total time delay of the controller and the time delay of each port from the log module;
And determining the total bandwidth of the controller, the bandwidth of each IO port, the total IOPS of the controller, the IOPS of each port, the total time delay of the controller and the time delay of each port as the IO load information.
6. The IO request processing method of claim 1, wherein obtaining available resource information of the plurality of storage controllers comprises:
inquiring computing resource information, memory resource information and network resource information of the plurality of storage controllers;
and determining the computing resource information, the memory resource information and the network resource information as the available resource information.
7. The IO request processing method of claim 6, wherein querying computing resource information of the number of storage controllers comprises:
inquiring CPU utilization rates of the plurality of storage controllers;
and determining the CPU utilization rate as the computing resource information.
8. The IO request processing method of claim 6, wherein querying the memory resource information of the plurality of memory controllers comprises:
acquiring the total physical memory, the number of used physical memories, the number of idle physical memories and the number of buffer memories of the plurality of storage controllers;
And determining the total physical memory, the number of used physical memories, the number of idle physical memories and the number of buffer memories as the memory resource information.
9. The IO request processing method of claim 6, wherein querying the network resource information of the number of storage controllers comprises:
acquiring network card bandwidth, connection mode, speed, connection state, network port number, network port receiving and transmitting packet statistics and CRC error of the storage controller;
and determining the network card bandwidth, the connection mode, the speed, the connection state, the network port number, the network port receiving and transmitting packet statistics and the CRC error as the network resource information.
10. The IO request processing method of claim 1, further comprising:
periodically acquiring the IO load information and the available resource information;
and updating the mapping table by using the IO load information and the available resource information which are currently acquired.
11. The method for processing an IO request according to any one of claims 1 to 10, wherein parsing the IO request to obtain IO information includes:
and analyzing the IO request through hardware unloading to obtain the IO information.
12. The method for processing the IO request according to claim 11, wherein the parsing the IO request to obtain the IO information through hardware offloading includes:
unloading the network and storage protocol processes of IO to finish the hardware unloading of TCP/IP protocol and iSCSI protocol;
after the hardware unloading is completed, the IO request is analyzed, and the IO information is obtained.
13. The method for processing the IO request according to claim 12, wherein the parsing the IO request to obtain the IO information includes:
analyzing the IO request to obtain interface information, a storage protocol instruction, a data access address and read-write operation;
and determining the interface information, the storage protocol instruction, the data access address and the read-write operation as the IO information.
14. An IO request processing apparatus, which is applied to a shared network card, includes:
the request receiving module is used for receiving the IO request sent by the server; the shared network card is connected with a plurality of storage controllers in the storage system;
the request analysis module is used for analyzing the IO request to obtain IO information;
the IO routing module is used for searching a target storage controller corresponding to the IO information in the mapping table;
The request forwarding module is used for sending the IO request to the target storage controller;
the configuration management module is specifically used for acquiring configuration information of the storage system;
the state information management module is specifically used for acquiring IO load information and available resource information of the plurality of storage controllers;
the mapping table establishing module is used for establishing the mapping table by utilizing the configuration information, the IO load information, the available resource information and the IO information;
the IO routing module is specifically configured to search a storage controller corresponding to the IO information in the mapping table; if the number of the storage controllers corresponding to the IO information is greater than 1, determining the storage controller with smaller load or more available resources in the storage controllers corresponding to the IO information as the target storage controller through comparison;
the mapping table establishing module is specifically configured to find mapping factors from the configuration information, the IO load information, the available resource information and the IO information; constructing a mapping two-dimensional matrix by using the mapping factors to obtain the corresponding relation between IO and the storage controller; based on the corresponding relation, establishing the mapping table; the searching the mapping factor from the configuration information, the IO load information, the available resource information and the IO information includes: searching a read-write type, an IO block size, an access address, a volume type, a RAID type and CPU state information, memory state information and network bandwidth state information of each storage controller from the configuration information, the IO load information, the available resource information and the IO information; and determining the read-write type, the IO block size, the access address, the volume type, the RAID type and the CPU state information of each storage controller, the memory state information and the network bandwidth state information as the mapping factors.
15. An electronic device, comprising:
a memory for storing a computer program;
processor for implementing the steps of the IO request processing method according to any one of claims 1 to 13 when executing the computer program.
16. A readable storage medium, characterized in that the readable storage medium has stored thereon a computer program which, when executed by a processor, implements the steps of the IO request processing method according to any one of claims 1 to 13.
CN202310194736.6A 2023-03-03 2023-03-03 IO request processing method, device, equipment and readable storage medium Active CN115865803B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310194736.6A CN115865803B (en) 2023-03-03 2023-03-03 IO request processing method, device, equipment and readable storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310194736.6A CN115865803B (en) 2023-03-03 2023-03-03 IO request processing method, device, equipment and readable storage medium

Publications (2)

Publication Number Publication Date
CN115865803A CN115865803A (en) 2023-03-28
CN115865803B true CN115865803B (en) 2023-08-22

Family

ID=85659856

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310194736.6A Active CN115865803B (en) 2023-03-03 2023-03-03 IO request processing method, device, equipment and readable storage medium

Country Status (1)

Country Link
CN (1) CN115865803B (en)

Citations (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105934793A (en) * 2014-12-27 2016-09-07 华为技术有限公司 Method for distributing data in storage system, distribution apparatus and storage system
CN106688217A (en) * 2014-03-08 2017-05-17 狄亚曼提公司 Methods and systems for converged networking and storage
CN107222637A (en) * 2017-06-30 2017-09-29 百度在线网络技术(北京)有限公司 A kind of connection method and device, onboard system, terminal, storage medium
CN108829340A (en) * 2018-05-03 2018-11-16 广州金山安全管理系统技术有限公司 storage processing method, device, storage medium and processor
CN109947610A (en) * 2019-03-19 2019-06-28 浪潮商用机器有限公司 Configuration method of calibration, device, system and the storage medium of server hardware system
CN112241320A (en) * 2019-07-17 2021-01-19 华为技术有限公司 Resource allocation method, storage device and storage system
CN112463670A (en) * 2020-11-25 2021-03-09 苏州浪潮智能科技有限公司 Storage controller access method and related device
CN112527186A (en) * 2019-09-18 2021-03-19 华为技术有限公司 Storage system, storage node and data storage method
CN113110916A (en) * 2021-04-22 2021-07-13 深信服科技股份有限公司 Virtual machine data reading and writing method, device, equipment and medium
CN113254160A (en) * 2021-06-28 2021-08-13 北京大禹智芯科技有限公司 IO resource request method and device
CN113608691A (en) * 2021-07-24 2021-11-05 济南浪潮数据技术有限公司 High-availability method and device for NFS (network file system) of storage array
CN114443281A (en) * 2021-12-28 2022-05-06 苏州浪潮智能科技有限公司 Network card load adjusting method, device, equipment and readable storage medium
CN115079936A (en) * 2021-03-16 2022-09-20 华为技术有限公司 Data writing method and device
CN115202573A (en) * 2022-06-01 2022-10-18 阿里巴巴(中国)有限公司 Data storage system and method
CN115421854A (en) * 2022-08-24 2022-12-02 阿里巴巴(中国)有限公司 Storage system, method and hardware unloading card

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9063795B2 (en) * 2012-12-19 2015-06-23 International Business Machines Corporation Adaptive resource usage limits for workload management
CN110932839B (en) * 2018-09-20 2023-09-22 中兴通讯股份有限公司 Network card, time synchronization method, equipment and computer storage medium

Patent Citations (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106688217A (en) * 2014-03-08 2017-05-17 狄亚曼提公司 Methods and systems for converged networking and storage
CN105934793A (en) * 2014-12-27 2016-09-07 华为技术有限公司 Method for distributing data in storage system, distribution apparatus and storage system
CN107222637A (en) * 2017-06-30 2017-09-29 百度在线网络技术(北京)有限公司 A kind of connection method and device, onboard system, terminal, storage medium
CN108829340A (en) * 2018-05-03 2018-11-16 广州金山安全管理系统技术有限公司 storage processing method, device, storage medium and processor
CN109947610A (en) * 2019-03-19 2019-06-28 浪潮商用机器有限公司 Configuration method of calibration, device, system and the storage medium of server hardware system
CN112241320A (en) * 2019-07-17 2021-01-19 华为技术有限公司 Resource allocation method, storage device and storage system
CN112527186A (en) * 2019-09-18 2021-03-19 华为技术有限公司 Storage system, storage node and data storage method
CN112463670A (en) * 2020-11-25 2021-03-09 苏州浪潮智能科技有限公司 Storage controller access method and related device
CN115079936A (en) * 2021-03-16 2022-09-20 华为技术有限公司 Data writing method and device
CN113110916A (en) * 2021-04-22 2021-07-13 深信服科技股份有限公司 Virtual machine data reading and writing method, device, equipment and medium
CN113254160A (en) * 2021-06-28 2021-08-13 北京大禹智芯科技有限公司 IO resource request method and device
CN113608691A (en) * 2021-07-24 2021-11-05 济南浪潮数据技术有限公司 High-availability method and device for NFS (network file system) of storage array
CN114443281A (en) * 2021-12-28 2022-05-06 苏州浪潮智能科技有限公司 Network card load adjusting method, device, equipment and readable storage medium
CN115202573A (en) * 2022-06-01 2022-10-18 阿里巴巴(中国)有限公司 Data storage system and method
CN115421854A (en) * 2022-08-24 2022-12-02 阿里巴巴(中国)有限公司 Storage system, method and hardware unloading card

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Yanting Ren ; Liji Wu.Power analysis attacks on wireless sensor nodes using CPU smart card.《2013 22nd Wireless and Optical Communication Conference》.2013,全文. *

Also Published As

Publication number Publication date
CN115865803A (en) 2023-03-28

Similar Documents

Publication Publication Date Title
US10325343B1 (en) Topology aware grouping and provisioning of GPU resources in GPU-as-a-Service platform
US9483431B2 (en) Method and apparatus for accessing multiple storage devices from multiple hosts without use of remote direct memory access (RDMA)
US9575689B2 (en) Data storage system having segregated control plane and/or segregated data plane architecture
US20030236837A1 (en) Content delivery system providing accelerate content delivery
US20030236861A1 (en) Network content delivery system with peer to peer processing components
US20020107971A1 (en) Network transport accelerator
US20020107989A1 (en) Network endpoint system with accelerated data path
US9304902B2 (en) Network storage system using flash storage
US20030236919A1 (en) Network connected computing system
US20020116452A1 (en) Network connected computing system including storage system
US20020105972A1 (en) Interprocess communications within a network node using switch fabric
US20020107962A1 (en) Single chassis network endpoint system with network processor for load balancing
US10423332B2 (en) Fibre channel storage array having standby controller with ALUA standby mode for forwarding SCSI commands
US20020107990A1 (en) Network connected computing system including network switch
US9495324B2 (en) Efficient distribution of subnet administration data over an RDMA network
US20020107903A1 (en) Methods and systems for the order serialization of information in a network processing environment
US20050240932A1 (en) Facilitating access to input/output resources via an I/O partition shared by multiple consumer partitions
US20220188249A1 (en) Memory appliance couplings and operations
EP4318251A1 (en) Data access system and method, and device and network card
CN108881348A (en) Method for controlling quality of service, device and storage server
CN111149081A (en) Metadata control in load-balanced distributed storage systems
US11556391B2 (en) CPU utilization for service level I/O scheduling
CN113472624A (en) Method for realizing virtual network data packet forwarding based on vDPA and application
US10229085B2 (en) Fibre channel hardware card port assignment and management method for port names
EP4083776A1 (en) Systems, methods, devices, and apparatuses for adaptive near storage computation

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant