Information processing system
The system dynamically adjusts packet offloading and function unit configurations based on arrival frequency to enhance power efficiency by reducing unnecessary processing on the NIC during low-frequency data transmission.
Patent Information
- Application Number
- JP2024524066
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2022-06-01
- Publication Date
- 2025-07-01
- Estimated Expiration
- 2042-06-01
AI Technical Summary
Conventional information processing systems in data centers face inefficiencies in power consumption due to the inability to dynamically adjust hardware offloading during low-frequency data processing, as the offload setting cannot be changed during application execution.
An information processing system that includes a network interface card (NIC) with a classification unit to classify packets based on arrival frequency, a function unit for processing, and a router to determine transfer destinations, allowing dynamic adjustment of offloading ratios and function unit configurations based on packet arrival frequency.
This system optimizes power efficiency by increasing the ratio of packets sent to the CPU as arrival frequency decreases, enabling efficient power management and reducing unnecessary processing by the NIC.
Smart Images

Figure 0007700966000001 
Figure 0007700966000002 
Figure 0007700966000003
Abstract
Description
Technical Field
[0001] The present invention relates to an information processing system that performs at least part of packet processing on a network interface card.
Background Art
[0002] Conventionally, computers in data centers have been mainly based on CPUs (Central Processing Units). However, with the improvement of communication performance, there are many cases where communication and related information processing (such as encryption, compression, and multiplexing) are taken over by a network interface card (NIC) (see Non-Patent Document 1). This offloading setting is performed by the CPU before the application is executed and cannot be changed until the application ends.
[0003] FIG. 4 is a block diagram showing the configuration of an information processing system without offloading. Packets sent from the client terminal 100 via the network 103 are sent to the CPU 102 via the NIC 101. Reference numeral 104 in FIG. 4 is a PCIe (PCI Express) bus that connects the CPU 102 and the NIC 101.
[0004] The CPU 102 extracts data from the received packets by the function of the network software stack 1020 implemented in the OS (Operating System). Then, the CPU 102 executes data processing according to the application software 1021 and returns the packet containing the processed data to the client terminal 100 via the network software stack 1020.
[0005] FIG. 5 is a block diagram showing the configuration of an information processing system in which part of the functions of the CPU are processed by the NIC. The NIC 101 extracts data from packets sent from the client terminal 100 via the network 103 by the function of the network software stack 1010 implemented on the hardware. Also, the NIC 101 executes all or part of the processing of the application software 1021 by the function unit 1011 implemented on the hardware.
[0006] The function unit 1011 can process the data in the packet and return the packet containing the processed data to the client terminal 100. Alternatively, the packet containing the processed data can also be sent to the CPU 102. The CPU 102 executes communication with the function unit 1011 according to the application software 1021 and performs management such as initial setting of the function unit 1011.
[0007] In this way, at least part of the functions of the CPU 102 can be processed by the NIC 101. However, in the hardware offload configuration as shown in FIG. 5, the offload setting cannot be changed during application execution. Therefore, even when the frequency of data processing is low, the hardware offload cannot be disabled.
[0008] Modern CPUs are extremely power-efficient when executing low-frequency processing. If the processing frequency is low, it is more power-efficient to disable hardware offload. However, in the conventional configuration, there is a problem that the hardware offload cannot be disabled during application execution when the processing frequency is low to improve power efficiency.
Prior Art Documents
Non-Patent Documents
[0009]
Non-Patent Document 1
Summary of the Invention
Problems to be Solved by the Invention
[0010] The present invention has been made to solve the above problems, and an object thereof is to provide an information processing system capable of improving power efficiency.
Means for Solving the Problems
[0011] The information processing system of the present invention includes a server on which a CPU that processes packets and a network interface card are mounted, and a management unit configured to set the network interface card. The network interface card includes a classification unit configured to classify and transfer a packet received from a client terminal according to a first rule, a function unit configured to execute a predetermined process on the packet transferred from the classification unit, and a router configured to determine a transfer destination of the packet transferred from the function unit or the CPU according to a second rule and transfer the packet to the determined transfer destination. The management unit sets the first rule that defines a feature to be used for classifying a packet arriving from the client terminal and a transfer destination of the packet classified based on the feature for each arrival frequency of the packet. The first rule is set such that the ratio of the packets sent to the CPU increases as the arrival frequency of the packets decreases. The classification unit measures the arrival frequency of the packets for each feature of the packets, and determines the transfer destination of the packet received from the client terminal according to the first rule corresponding to the arrival frequency of the packet having the same feature as the feature of the packet received from the client terminal, and transfers the packet to the determined transfer destination. [Advantages of the Invention]
[0012] According to the present invention, a first rule is set so that the ratio of packets sent to the CPU increases as the arrival frequency of packets decreases. The classification unit determines the transfer destination of the packets received from the client terminal according to the first rule corresponding to the arrival frequency of the packets having the same characteristics as the characteristics of the packets received from the client terminal. Thus, offloading can be adjusted so that the ratio of packets sent to the CPU increases as the arrival frequency of packets decreases, and power efficiency can be optimized. [Brief Description of the Drawings]
[0013]
Figure 1
Figure 2
Figure 3
Figure 4
Figure 5
[0014] [First Embodiment] Hereinafter, embodiments of the present invention will be described with reference to the drawings. FIG. 1 is a block diagram showing the configuration of an information processing system according to a first embodiment of the present invention. The information processing system includes a client terminal 1, a network interface card (NIC) 2, and a CPU 3. In FIG. 1, 4 is a network connecting the NIC 2 and the client terminal 1, and 5 is a PCIe bus connecting the CPU 3 and the NIC 2. The NIC 2 and the CPU 3 are mounted on a server 10 of a data center connected to the client terminal 1 via the network 4.
[0015] The NIC 2 includes a network software stack 20, a classifier 21, a function unit 22, and a router 23.
[0016] In this embodiment, by implementing the configuration as shown in FIG. 1 on the hardware of the NIC 2, it is possible to dynamically perform hardware offloading according to the arrival frequency of packets during application execution.
[0017] The classification unit 21 classifies the packets sent from the client terminal 1 based on the characteristics of the packets and transfers them to either the CPU 3 or the function unit 22. The classification unit 21 constantly measures the arrival frequency of packets for each packet characteristic and determines the transfer destination of the packets received from the client terminal 1 according to the classification rules corresponding to the arrival frequency of the packets having the same characteristics as the characteristics of the packets received from the client terminal 1. The classification unit 21 can communicate with the CPU 3. The CPU 3 performs management such as rule setting for packet classification.
[0018] The function unit 22 executes predetermined processing on the data stored in the payload of the packets transferred from the classification unit 21. The router 23 determines the destination of the packet transferred from the function unit 22 or the CPU 3 based on the characteristics of the packet, and transfers it to either the CPU 3 or the client terminal 1. The router 23 can communicate with the CPU 3. The CPU 3 performs management such as rule setting for packet routing.
[0019] Hereinafter, the operation of the information processing system of this embodiment will be described. The CPU 3 functions as a management unit 31 according to preset software. The management unit 31 sets, for each arrival frequency of the packet, a classification rule that determines the characteristics to be used for classifying the packet that has arrived at the NIC 2 from the client terminal 1 and the destination (CPU 3 or function unit 22) of the packet classified based on the characteristics. Further, the management unit 31 sets, for the router 23 of the NIC 2, a routing rule that determines the characteristics to be used for routing the packet transferred from the function unit 22 or the CPU 3 and the destination (CPU 3 or client terminal 1) of the packet.
[0020] The client terminal 1 sends out a packet that the user wishes to process to the network 4. The classification unit 21 of the NIC 2 classifies the packet sent from the client terminal 1 according to the classification rule set by the management unit 31, and transfers it to either the CPU 3 or the function unit 22. Examples of the characteristics used for classifying the packet include, for example, the source information contained in the header of the packet. The classification rule is set such that the ratio of the packets sent to the CPU 3 increases as the arrival frequency of the packet decreases.
[0021] The classification unit 21 constantly measures the arrival frequency of the packet for each characteristic of the packet defined by the classification rule, and determines the transfer destination of the packet received from the client terminal 1 according to the classification rule corresponding to the arrival frequency of the packet having the same characteristics as the characteristics of the packet received from the client terminal 1. The classification unit 21 writes the determined transfer destination information as the destination information in the header of the packet, and sends out the packet toward the transfer destination (CPU 3 or function unit 22).
[0022] The function unit 22 of NIC2 executes predetermined processing on the data stored in the payload of the packet transferred from the classification unit 21. The function unit 22 combines the header of the packet transferred from the classification unit 21 and the payload storing the processed data to packetize them and transfers them to the router 23.
[0023] On the other hand, the CPU 3 executes processing on the data stored in the payload of the packet transferred from the classification unit 21 according to the application software 30. The CPU 3 combines the header of the packet transferred from the classification unit 21 and the payload storing the processed data to packetize them and returns them to NIC2.
[0024] The router 23 of NIC2 determines the destination (CPU 3 or client terminal 1) of the packet transferred from the function unit 22 or the CPU 3 according to the routing rules set from the management unit 31. Examples of the features used for packet routing include source information included in the packet header as described above. The router 23 writes the determined destination information as the destination information in the header of the packet and sends the packet toward the destination (CPU 3 or client terminal 1).
[0025] As described above, in this embodiment, the offloading can be adjusted according to the arrival frequency of the packet. Specifically, the offloading can be adjusted so that the ratio of the packets sent to the CPU 3 increases as the arrival frequency of the packet decreases. Therefore, the power efficiency can be optimized.
[0026] The classification unit 21 may classify the packet by paying attention to information such as the source IP (Internet Protocol) address and the source port number included in the header of the packet. Thereby, since the position and size of the features of the packet extracted by the classification unit 21 are fixed, the circuit scale of the classification unit 21 can be reduced, and the throughput and power efficiency can be improved.
[0027] [Second Embodiment] Next, a second embodiment of the present invention will be described. FIG. 2 is a block diagram showing the configuration of an information processing system according to the second embodiment of the present invention, and the same components as those in FIG. 1 are denoted by the same reference numerals. The information processing system of this embodiment is composed of a client terminal 1, a NIC 2a, and a CPU 3a. Similar to the first embodiment, the NIC 2a and the CPU 3a are mounted on a server 10 of a data center connected to the client terminal 1 via a network 4.
[0028] The NIC 2a includes a network software stack 20, a classification unit 21, a router 23, a partial reconfiguration region 24, and a function controller 25.
[0029] In this embodiment, by implementing the configuration as shown in FIG. 2 on the hardware of the NIC 2a, dynamic hardware offloading can be performed according to the arrival frequency of packets during application execution.
[0030] In this embodiment, the function unit 22 is arranged in the partial reconfiguration region 24. A plurality of function units 22 can be arranged in the partial reconfiguration region 24. The function unit 22 can be written and erased at any timing.
[0031] The CPU 3a functions as a management unit 31a according to preset software. The management unit 31a sets a reconfiguration rule for the bitstream data for reconfiguring the function unit 22 and the number of function units 22 to be arranged for the function controller 25 of the NIC 2a for each packet feature and arrival frequency.
[0032] The function controller 25 refers to a reconstruction rule corresponding to the characteristics of the packet received by the classification unit 21 and the arrival frequency of a packet having the same characteristics as the characteristics of the received packet. Then, the function controller 25 changes the configuration of the partially reconfigurable area 24 so that the function unit 22 defined by the reconstruction rule is arranged within the partially reconfigurable area 24. The function controller 25 can rewrite the partially reconfigurable area 24 with bitstream data for reconstruction.
[0033] The operations of other configurations are the same as those of the first embodiment. In this embodiment, the reconstruction rule is set so that the number of function units 22 that process packets increases as the arrival frequency of the packets increases. As a result, when a high load is applied, parallel processing by a plurality of function units 22 becomes possible, so that power efficiency can be improved. Also, in this embodiment, different types of function units 22 can be appropriately managed according to settings from the management unit 31a.
[0034] Each of the server, the NICs 2 and 2a, and the client terminal 1 described in the first and second embodiments can be realized by a computer including a CPU, a storage device, and an interface, and a program for controlling these hardware resources. A configuration example of this computer is shown in FIG. 3.
[0035] The computer includes a CPU 300, a storage device 301, and an interface device 302. In such a computer, a program for realizing the method of the present invention is stored in the storage device 301. The CPU 300 of each device executes the processes described in the first and second embodiments according to the program stored in the storage device 301. Note that the hardware part of the NICs 2 and 2a is configured by, for example, an FPGA (field-programmable gate array).
[0036] Some or all of the above embodiments can also be described as in the following supplementary notes, but are not limited thereto.
[0037] (Appendix 1) The information processing system of the present invention includes a server on which a CPU that processes packets and a network interface card are mounted, and a management unit configured to set the network interface card. The network interface card includes a classification unit configured to classify and transfer packets received from a client terminal according to a first rule, a function unit configured to execute predetermined processing on the packets transferred from the classification unit, and a router configured to determine a transfer destination of the packets transferred from the function unit or the CPU according to a second rule and transfer the packets to the determined transfer destination. The management unit sets the first rule, which defines the features to be used for classifying the packets arriving from the client terminal and the transfer destinations of the packets classified based on the features, for each arrival frequency of the packets. The first rule is set such that the ratio of the packets sent to the CPU increases as the arrival frequency of the packets decreases. The classification unit measures the arrival frequency of the packets for each feature of the packets, and determines the transfer destination of the packets received from the client terminal according to the first rule corresponding to the arrival frequency of the packets having the same features as the features of the packets received from the client terminal, and transfers the packets to the determined transfer destination.
[0038] (Appendix 2) In the information processing system according to Appendix 1, the feature of the packet is source information included in the header of the packet.
[0039] (Appendix 3) In the information processing system according to Appendix 1, the management unit sets the second rule, which defines the features to be used for routing the packets transferred from the function unit or the CPU and the transfer destinations of the packets, for the router.
[0040] (Appendix 4) In the information processing system according to any one of Appendices 1 to 3, the network interface card further includes a function controller for reconfiguring the function unit, and the management unit sets a third rule for determining, for each function controller, data for reconfiguring the function unit and the number of function units to be arranged, for each packet feature and arrival frequency. The function controller refers to the third rule corresponding to the feature of the packet received by the classification unit and the arrival frequency of packets having the same feature as the received packet feature, and changes the configuration of the partially reconfigurable area of the network interface card so that the function units defined by this third rule are arranged.
[0041] (Appendix 5) In the information processing system according to Appendix 4, the third rule is set such that the number of function units for processing packets increases as the arrival frequency of the packets increases.
Industrial Applicability
[0042] The present invention can be applied to a technique for processing packets using a NIC.
Explanation of Signs
[0043] 1... Client terminal, 2, 2a... Network interface card, 3, 3a... CPU, 4... Network, 5... PCIe bus, 10... Server, 20... Network software stack, 21... Classification unit, 22... Function unit, 23... Router, 24... Partially reconfigurable area, 25... Function controller, 30... Application software, 31, 31a... Management unit.
Claims
1. A server on which a CPU for processing packets and a network interface card are implemented, and a management unit configured to set the settings of the network interface card, wherein the network interface card includes a classification unit configured to classify and transfer packets received from a client terminal according to a first rule, a function unit configured to execute predetermined processing on the packets transferred from the classification unit, and a router configured to determine a transfer destination of the packets transferred from the function unit or the CPU according to a second rule and transfer the packets to the determined transfer destination, wherein the management unit sets the first rule that defines a feature to be used for classifying packets arriving from the client terminal and a transfer destination of the packets classified based on the feature for each arrival frequency of the packets in the classification unit, the first rule is set such that the ratio of the packets to be sent to the CPU increases as the arrival frequency of the packets decreases, the classification unit measures the arrival frequency of the packets for each feature of the packets, and determines a transfer destination of the packets received from the client terminal according to the first rule corresponding to the arrival frequency of the packets having the same feature as the feature of the packets received from the client terminal, and transfers the packets to the determined transfer destination. An information processing system characterized by this.
2. In the information processing system according to Claim 1, the feature of the packet is source information included in the header of the packet. An information processing system characterized by this.
3. In the information processing system according to Claim 1, the management unit sets the second rule that defines a feature to be used for routing the packets transferred from the function unit or the CPU and a transfer destination of the packets in the router. An information processing system characterized by this.
4. In the information processing system according to any one of Claims 1 to 3, the network interface card further includes a function controller for reconfiguring the function unit. The management unit sets a third rule for the function controller, which determines the data for reconfiguring the function unit and the number of function units to be arranged, for each packet characteristic and arrival frequency. The function controller refers to the third rule corresponding to the characteristics of the packets received by the classification unit and the arrival frequency of the packets having the same characteristics as the received packets, and changes the configuration of the partially reconfigurable area of the network interface card so that the function units determined by this third rule are arranged. An information processing system characterized by this.
5. In the information processing system according to claim 4, The information processing system is characterized in that the third rule is set so that the number of function units for processing packets increases as the arrival frequency of the packets increases.
Citation Information
Patent Citations
Network interface device and network terminal
JP2006074312A
Management node, terminal, communication system, communication method, and program recording medium
WO2016088371A1