Search

US-12621251-B2 - Storage system and core allocation control method of network interface

US12621251B2US 12621251 B2US12621251 B2US 12621251B2US-12621251-B2

Abstract

A storage system includes a storage controller on which a network interface including a processor including a plurality of cores, a memory, and a plurality of ports is mounted. The processor allocates at least one occupied core to each of the plurality of ports, controls the occupied core to execute a management process of the port to which the occupied core is allocated and a network protocol process of communication performed via the port to which the occupied core is allocated, and controls the cores other than the occupied core to execute the network protocol process of the communication performed via the port.

Inventors

  • Nobuhiro Yokoi
  • Takayuki FUKATANI
  • Tomohiro Yoshihara

Assignees

  • HITACHI VANTARA, LTD.

Dates

Publication Date
20260505
Application Date
20240911
Priority Date
20231215

Claims (10)

  1. 1 . A storage system comprising: at least one storage controller on which a network interface including a processor including a plurality of cores, a memory connected to the processor, and a plurality of ports connected to the processor is mounted, wherein the processor allocates at least one occupied core to each of the plurality of ports, controls the occupied core to execute a management process of the port to which the occupied core is allocated and a network protocol process of communication performed via the port to which the occupied core is allocated, and controls the cores other than the occupied core to execute the network protocol process of the communication performed via the port.
  2. 2 . The storage system according to claim 1 , wherein in a case where the processor detects an execution trigger of the network protocol process of one of the ports, the processor causes a core other than the occupied core or the occupied core of the port to execute the network protocol process.
  3. 3 . The storage system according to claim 1 , wherein the processor allocates the cores other than the occupied core to each of the plurality of ports at a predetermined ratio, and in a case where an execution trigger of the network protocol process of one of the ports is detected, causes the core allocated to the port other than the occupied core or the occupied core of the port to execute the network protocol process.
  4. 4 . The storage system according to claim 1 , wherein the processor determines the number of queues of each of the plurality of ports based on a maximum allocated number of the cores including the occupied core of the port.
  5. 5 . The storage system according to claim 1 , wherein the processor provides an interface for selecting an allocation mode of allocating the at least one occupied core to each of the plurality of ports, an allocation mode of allocating all the cores to one of the ports, and an allocation mode of allocating the cores to each of the plurality of ports at a predetermined ratio.
  6. 6 . A core allocation control method of a network interface that is mounted on a storage controller of a storage system and includes a processor including a plurality of cores, a memory connected to the processor, and a plurality of ports connected to the processor, the core allocation control method comprising: allocating, by the processor, at least one occupied core to each of the plurality of ports; controlling, by the processor, the occupied core to execute a management process of the port to which the occupied core is allocated and a network protocol process of communication performed via the port to which the occupied core is allocated; and controlling, by the processor, the core other than the occupied core to execute the network protocol process of the communication performed via the port.
  7. 7 . The core allocation control method of a network interface according to claim 6 , further comprising: in a case where the processor detects an execution trigger of the network protocol process of one of the ports, causing the core other than the occupied core or the occupied core of the port to execute the network protocol process.
  8. 8 . The core allocation control method of a network interface according to claim 6 , wherein the allocating of at least one occupied core includes allocating, by the processor, the cores other than the occupied core to each of the plurality of ports at a predetermined ratio, and the core allocation control method of a network interface further comprises: in a case where the processor detects an execution trigger of the network protocol process of one of the ports, causing the core allocated to the port other than the occupied core or the occupied core of the port to execute the network protocol process.
  9. 9 . The core allocation control method of a network interface according to claim 6 , further comprising: determining, by the processor, the number of queues of each of the plurality of ports based on the maximum allocated number of the cores including the occupied core of the port.
  10. 10 . The core allocation control method of a network interface according to claim 6 , further comprising: presenting, by the processor, an interface for selecting an allocation mode of allocating the at least one occupied core to each of the plurality of ports, an allocation mode of allocating all the cores to one of the ports, and an allocation mode of allocating the cores to each of the plurality of ports at a predetermined ratio.

Description

CLAIM OF PRIORITY The present application claims priority from Japanese patent application JP 2023-212225 filed on Dec. 15, 2023, the content of which is hereby incorporated by reference into this application. BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a network interface mounted on a storage system. 2. Description of the Related Art With the increase in network speed and the emergence of new protocols, an increase in network interface speed and multi-protocol support are also required in an enterprise storage system. Conventionally, a CPU on a storage controller supports a plurality of protocols, or a plurality of protocols are supported by offloading to protocol-dedicated hardware. For example, U.S. Pat. No. 9,100,349 discloses a technique for supporting a plurality of protocols by using a network interface card (NIC) on which protocol chips of Ethernet and FC are mounted. However, in a case where the CPU of the storage controller is used for a protocol process in communication, there is a problem that the CPU resources are consumed in the protocol process. In a case where a channel board (CHB) on which an ASIC dedicated for protocol process is mounted is used, it is necessary to develop a dedicated ASIC for each protocol, and it is difficult to support a protocol quickly. Regarding this, a SmartNIC that includes a general-purpose processor and a memory and executes a process for a network protocol has appeared. In the SmartNIC, for example, the same operating system as that running on a server system can be operated, and a software protocol stack, an application, and the like used therein can be operated. Since the network protocol process can be implemented in software, it is possible to quickly support a plurality of protocols and new protocols, and to flexibly support the update of the network protocol process. SUMMARY OF THE INVENTION The SmartNIC is equipped with a general-purpose processor including a plurality of cores, a memory, and a port. A core allocation control method in the related art includes a method of allocating a core to each of ports at a predetermined ratio and a method of allocating a core to each port in a time division manner. In the case of the former allocation method, since the processing performance of one port depends on the number of allocated cores, there is a problem that it is not possible to exhibit the maximum performance of the SmartNIC. On the other hand, in a case where all cores are allocated to one port in order to exhibit the maximum performance, it is not possible to execute the network protocol process of the other ports. In the case of the latter allocation method, in a case where a management process such as resetting of another port has occurred during execution of a network protocol process of a certain port, a core allocated to the certain port is allocated to another port, which may affect the network protocol process of the certain port. An object of the present invention is to realize core allocation control capable of suppressing an influence of a process between ports and sufficiently exhibiting performance of a network protocol process of a port in a network interface mounted in a storage system. A representative example of the invention disclosed in the present application is as follows. That is, a storage system includes at least one storage controller on which a network interface including a processor including a plurality of cores, a memory connected to the processor, and a plurality of ports connected to the processor is mounted. The processor allocates at least one occupied core to each of the plurality of ports, controls the occupied core to execute a management process of the port to which the occupied core is allocated and a network protocol process of communication performed via the port to which the occupied core is allocated, and controls the cores other than the occupied core to execute the network protocol process of the communication performed via the port. According to the present invention, it is possible to realize core allocation control capable of suppressing an influence of a process between ports and sufficiently exhibiting performance of a network protocol process of a port in a network interface mounted in a storage system. Objects, configurations, and effects other than those described above will be clarified in the following description of embodiments. BRIEF DESCRIPTION OF THE DRAWINGS FIG. 1 is a diagram illustrating a configuration example of an information processing system according to a first embodiment; FIG. 2 is a diagram illustrating a configuration example of a network interface in the first embodiment; FIG. 3 is a diagram illustrating a program configuration of the network interface in the first embodiment; FIG. 4 is a diagram illustrating an example of a relationship of a program of the network interface in the first embodiment; FIG. 5A is a diagram illustrating an examp