WO2023233574A1 - 情報処理システム - Google Patents

情報処理システム Download PDF

Info

Publication number
WO2023233574A1
WO2023233574A1 PCT/JP2022/022287 JP2022022287W WO2023233574A1 WO 2023233574 A1 WO2023233574 A1 WO 2023233574A1 JP 2022022287 W JP2022022287 W JP 2022022287W WO 2023233574 A1 WO2023233574 A1 WO 2023233574A1
Authority
WO
WIPO (PCT)
Prior art keywords
packet
packets
rule
information processing
processing system
Prior art date
Application number
PCT/JP2022/022287
Other languages
English (en)
French (fr)
Inventor
顕至 田仲
勇輝 有川
猛 伊藤
直樹 三浦
健 坂本
勇介 村中
Original Assignee
日本電信電話株式会社
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 日本電信電話株式会社 filed Critical 日本電信電話株式会社
Priority to PCT/JP2022/022287 priority Critical patent/WO2023233574A1/ja
Publication of WO2023233574A1 publication Critical patent/WO2023233574A1/ja

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks

Definitions

  • the present invention relates to an information processing system in which at least a portion of packet processing is performed by a network interface card.
  • Non-Patent Document 1 NIC (Card: NIC) takes over the role (see Non-Patent Document 1). This offload setting is made by the CPU before the application is executed, and cannot be changed until the application is finished.
  • 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.
  • PCIe PCI Express
  • the CPU 102 extracts data from the received packet using the function of a network software stack 1020 implemented in the OS (Operating System). The CPU 102 then processes the data according to the application software 1021 and returns a packet containing the processed data to the client terminal 100 via the network software stack 1020.
  • OS Operating System
  • FIG. 5 is a block diagram showing the configuration of an information processing system in which the NIC processes some of the functions of the CPU.
  • the NIC 101 extracts data from a packet sent from the client terminal 100 via the network 103 using the function of a network software stack 1010 implemented on hardware. Further, the NIC 101 executes all or part of the processing of the application software 1021 using a function unit 1011 implemented on hardware.
  • the function unit 1011 may process the data in the packet and return the packet containing the processed data to the client terminal 100.
  • packets containing processed data can be sent to CPU 102.
  • the CPU 102 executes communication with the function unit 1011 according to application software 1021 and manages initial settings of the function unit 1011 and the like.
  • Modern CPUs have extremely high power efficiency when executing infrequent processing, and if the processing is infrequent, disabling hardware offload will improve power efficiency.
  • the conventional configuration has a problem in that it is not possible to disable hardware offloading and improve power efficiency when the frequency of processing is low during application execution.
  • the present invention was made to solve the above problems, and an object of the present invention is to provide an information processing system that can improve power efficiency.
  • the information processing system of the present invention includes a server equipped with a CPU that processes packets and a network interface card, and a management section configured to configure the network interface card, wherein the network interface card a classification unit configured to classify and forward packets received from a client terminal according to a first rule; and a classification unit configured to perform predetermined processing on packets transferred from the classification unit.
  • a router configured to determine a transfer destination of a packet transferred from the function section or the CPU according to a second rule, and transfer the packet to the determined transfer destination;
  • the first rule which defines the characteristics to be used for classifying packets arriving from the client terminal and the forwarding destination of packets classified based on the characteristics, is applied to the classification unit based on the packet arrival frequency.
  • the first rule is set such that the proportion of packets sent to the CPU increases as the packet arrival frequency decreases, and the classification unit measures the packet arrival frequency for each packet characteristic.
  • the destination of the packet received from the client terminal is determined according to the first rule corresponding to the arrival frequency of packets having the same characteristics as the characteristics of the packet received from the client terminal, and the packet is transferred to the determined destination. It is characterized by transferring.
  • the first rule is set so that the proportion of packets sent to the CPU increases as the arrival frequency of packets decreases
  • the classification unit selects packets that have the same characteristics as the characteristics of the packets received from the client terminal.
  • FIG. 1 is a block diagram showing the configuration of an information processing system according to a first embodiment of the present invention.
  • FIG. 2 is a block diagram showing the configuration of an information processing system according to a second embodiment of the present invention.
  • FIG. 3 is a block diagram showing an example of the configuration of a computer that implements the information processing system according to the first and second embodiments of the present invention.
  • FIG. 4 is a block diagram showing the configuration of a conventional information processing system.
  • FIG. 5 is a block diagram showing another configuration of a conventional information processing system.
  • 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.
  • 4 in FIG. 1 is a network that connects the NIC 2 and the client terminal 1, and 5 is a PCIe bus that connects the CPU 3 and the NIC 2.
  • the NIC 2 and the CPU 3 are installed in a server 10 in a data center that is connected to the client terminal 1 via the network 4.
  • the NIC 2 includes a network software stack 20, a classifier 21, a function unit 22, and a router 23.
  • 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 characteristic of the packet, and classifies the packets received from the client terminal 1 according to the classification rule corresponding to the arrival frequency of packets having the same characteristics as the characteristics of the packet received from the client terminal 1. Decide where to forward the packet.
  • the classification unit 21 can communicate with the CPU 3.
  • the CPU 3 manages rule settings for classifying packets.
  • the function unit 22 executes predetermined processing on the data stored in the payload of the packet 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 the packet to either the CPU 3 or the client terminal 1.
  • the router 23 can communicate with the CPU 3.
  • the CPU 3 manages rule settings for packet routing.
  • the CPU 3 functions as the management unit 31 according to preset software.
  • the management unit 31 informs the classification unit 21 of the NIC 2 of the characteristics to be used for classification of packets that have arrived at the NIC 2 from the client terminal 1 and the destination (CPU 3 or function unit 22) of the packets classified based on the characteristics.
  • a classification rule is set for each packet arrival frequency.
  • the management unit 31 sends a route to the router 23 of the NIC 2 that defines the characteristics to be used for routing the packet transferred from the function unit 22 or the CPU 3 and the destination of the packet (CPU 3 or client terminal 1). Set rules.
  • the client terminal 1 sends a packet that the user desires to process to the network 4.
  • the classification unit 21 of the NIC 2 classifies the packets sent from the client terminal 1 according to the classification rules set by the management unit 31, and transfers them to either the CPU 3 or the function unit 22. Examples of features used to classify packets include source information included in the header of the packet.
  • the classification rule is set so that the proportion of packets sent to the CPU 3 increases as the frequency of packet arrival decreases.
  • the classification unit 21 constantly measures the arrival frequency of packets for each packet characteristic determined by the classification rule, and according to the classification rule corresponding to the arrival frequency of packets having the same characteristics as the characteristics of the packet received from the client terminal 1. The destination of the packet received from the client terminal 1 is determined. The classification unit 21 writes information on the determined transfer destination as destination information in the header of the packet, and sends the packet toward the transfer destination (CPU 3 or function unit 22).
  • the function unit 22 of the NIC 2 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 form a packet, and transfers the packet to the router 23 .
  • 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 form a packet, and sends the packet back to the NIC 2.
  • the router 23 of the NIC 2 determines the destination (CPU 3 or client terminal 1) of the packet transferred from the function unit 22 or CPU 3 according to the routing rule set by the management unit 31. Examples of characteristics used for packet routing include source information included in the packet header, as described above.
  • the router 23 writes information on the determined transfer destination as destination information in the header of the packet, and sends the packet toward the transfer destination (CPU 3 or client terminal 1).
  • offloading is adjusted according to the packet arrival frequency, and specifically, offloading is adjusted so that the proportion of packets sent to the CPU 3 increases as the packet arrival frequency decreases. This makes it possible to optimize power efficiency.
  • the classification unit 21 may classify packets by paying attention to information such as the source IP (Internet Protocol) address and source port number included in the packet header. As a result, the position and size of the characteristics of the packet extracted by the classification unit 21 are fixed, so the circuit scale of the classification unit 21 can be reduced, and throughput and power efficiency can be improved.
  • IP Internet Protocol
  • FIG. 2 is a block diagram showing the configuration of an information processing system according to a second embodiment of the present invention, and the same components as in FIG. 1 are denoted by the same reference numerals.
  • the information processing system of this embodiment includes a client terminal 1, a NIC 2a, and a CPU 3a. Similar to the first embodiment, the NIC 2a and the CPU 3a are installed in a server 10 of a data center connected to the client terminal 1 via the network 4.
  • 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.
  • the function section 22 is arranged in the partially reconfigurable area 24. It is possible to arrange a plurality of function sections 22 in the partially reconfigurable region 24.
  • the function section 22 can be written and erased at any timing.
  • the CPU 3a functions as a management unit 31a according to preset software.
  • the management unit 31a sends to the function controller 25 of the NIC 2a a reconfiguration rule that defines bitstream data for reconfiguring the function unit 22 and the number of function units 22 to be arranged for each packet characteristic and Set for each arrival frequency.
  • the function controller 25 refers to the reconfiguration rule corresponding to the characteristics of the packet received by the classification unit 21 and the arrival frequency of packets 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 section 22 defined by the reconfiguration rule is placed within the partially reconfigurable area 24. The function controller 25 can rewrite the partially reconfigurable area 24 with bitstream data for reconfiguration.
  • reconfiguration rules are set so that the number of function units 22 that process packets increases as the frequency of packet arrival increases. Thereby, when a high load is applied, parallel processing by the plurality of function units 22 is enabled, so power efficiency can be improved. Further, in this embodiment, different types of function sections 22 can be appropriately managed according to settings from the management section 31a.
  • Each of the server, NIC 2, 2a, and client terminal 1 described in the first and second embodiments can be realized by a computer equipped with a CPU, a storage device, and an interface, and a program that controls these hardware resources. can.
  • An example of the configuration of this computer is shown in FIG.
  • the computer includes a CPU 300, a storage device 301, and an interface device 302.
  • a program for implementing the method of the present invention is stored in the storage device 301.
  • the CPU 300 of each device executes the processing described in the first and second embodiments according to the program stored in the storage device 301.
  • the hardware portion of the NICs 2 and 2a is configured by, for example, an FPGA (field-programmable gate array).
  • the information processing system of the present invention includes a server in which a CPU that processes packets and a network interface card are installed, and a management unit configured to configure the network interface card, and the information processing system includes:
  • the network interface card includes a classification unit configured to classify and forward packets received from a client terminal according to a first rule, and performs predetermined processing on packets transferred from the classification unit. and a router configured to determine a transfer destination of a packet transferred from the function section or the CPU according to a second rule, and transfer the packet to the determined transfer destination.
  • the management unit instructs the classification unit in the first rule that defines the characteristics to be used for classifying packets arriving from the client terminal and the forwarding destination of packets classified based on the characteristics.
  • the first rule is set for each packet arrival frequency, and the first rule is set such that as the packet arrival frequency decreases, the proportion of packets to be sent to the CPU increases, and the classification unit determines the packet arrival frequency based on the packet arrival frequency.
  • a transfer destination of the packet received from the client terminal is determined according to the first rule, which is measured for each characteristic and corresponds to the arrival frequency of packets having the same characteristics as the characteristics of the packet received from the client terminal. Forward the packet to the destination.
  • the management unit informs the router of the characteristics to be used for routing of packets transferred from the function unit or the CPU and the transfer destination of the packets.
  • the determined second rule is set.
  • the network interface card further includes a function controller for reconfiguring the function unit
  • the management unit includes a function controller for reconfiguring the function unit.
  • a third rule defining data for reconfiguring the function units and the number of function units to be arranged is set for each packet characteristic and arrival frequency, and the function controller
  • the classification section refers to the third rule corresponding to the characteristics of the received packet and the arrival frequency of packets having the same characteristics as the characteristics of the received packet, and arranges the function section defined by the third rule.
  • the configuration of the partially reconfigurable area of the network interface card is changed so that the configuration of the partially reconfigurable area of the network interface card is changed.
  • the third rule is set such that the number of the function units that process packets increases as the frequency of arrival of packets increases.
  • the present invention can be applied to technology that processes packets using a NIC.
  • SYMBOLS 1 Client terminal, 2, 2a... Network interface card, 3, 3a... CPU, 4... Network, 5... PCIe bus, 10... Server, 20... Network software stack, 21... Classification section, 22... Function section, 23... Router, 24...partially reconfigurable area, 25...function controller, 30...application software, 31, 31a...management unit.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

管理部(31)は、ネットワークインターフェースカード(2)の分類部(21)に対して、クライアント端末(1)から到着したパケットの分類に使用すべき特徴とパケットの転送先とを定めた第1のルールをパケットの到着頻度毎に設定する。第1のルールは、パケットの到着頻度が低くなるに従ってCPU(3)に送るパケットの割合が増えるように設定される。分類部(21)は、パケットの到着頻度をパケットの特徴毎に測定し、クライアント端末(1)から受信したパケットの特徴と同じ特徴を有するパケットの到着頻度に対応する第1のルールに従って、クライアント端末(1)から受信したパケットの転送先を決定する。

Description

情報処理システム
 本発明は、パケット処理の少なくとも一部をネットワークインターフェースカードで行う情報処理システムに関するものである。
 従来、データセンタの計算機はCPU(Central Processing Unit)主体であったが、通信の高性能化に伴い、通信および関連する情報処理(暗号化、圧縮、複合化など)をネットワークインターフェースカード(Network Interface Card:NIC)に肩代わりさせる事例が多く存在する(非特許文献1参照)。この肩代わり(オフロード)の設定は、CPUによってアプリケーション実行前に行われ、アプリケーション終了まで変更することはできない。
 図4はオフロード無しの情報処理システムの構成を示すブロック図である。クライアント端末100からネットワーク103を介して送られてきたパケットは、NIC101を介してCPU102に送られる。図4の104はCPU102とNIC101を接続するPCIe(PCI Express)バスである。
 CPU102は、OS(Operating System)に実装されたネットワークソフトウェアスタック(Network Software Stack)1020の機能により、受信したパケットからデータを抽出する。そして、CPU102は、アプリケーションソフトウェア1021に従ってデータの処理を実行し、処理済みのデータを含むパケットをネットワークソフトウェアスタック1020を介してクライアント端末100に返送する。
 図5はCPUの機能の一部をNICに処理させるようにした情報処理システムの構成を示すブロック図である。NIC101は、ハードウェア上に実装されたネットワークソフトウェアスタック1010の機能により、クライアント端末100からネットワーク103を介して送られてきたパケットからデータを抽出する。また、NIC101は、ハードウェア上に実装されたファンクション部1011により、アプリケーションソフトウェア1021の処理の全てあるいは一部を実行する。
 ファンクション部1011によってパケット内のデータを処理し、処理済みのデータを含むパケットをクライアント端末100に返送することが可能である。あるいは、処理済みのデータを含むパケットをCPU102に送ることもできる。CPU102は、アプリケーションソフトウェア1021に従ってファンクション部1011との通信を実行し、ファンクション部1011の初期設定などの管理を行う。
 このように、CPU102の機能の少なくとも一部をNIC101に処理させることが可能であるが、図5に示したようなハードウェアオフロードの構成では、オフロードの設定をアプリケーション実行中に変更することができない。そのため、データ処理が実行される頻度が低い時でもハードウェアオフロードを無効にすることができない。
 現代のCPUは頻度の低い処理を実行する際の電力効率が極めて高く、処理の頻度が低いならばハードウェアオフロードを無効にした方が電力効率が良くなる。しかしながら、従来の構成ではアプリケーション実行中に処理の頻度が低い場合にハードウェアオフロードを無効にして電力効率を改善することができないという課題があった。
Yuta Tokusashi,et al.,"The Case For In-Network Computing On Demand",EuroSys '19: Proceedings of the Fourteenth EuroSys Conference 2019
 本発明は、上記課題を解決するためになされたもので、電力効率を向上させることができる情報処理システムを提供することを目的とする。
 本発明の情報処理システムは、パケットの処理を行うCPUとネットワークインターフェースカードとが実装されたサーバと、前記ネットワークインターフェースカードの設定を行うように構成された管理部とを備え、前記ネットワークインターフェースカードは、クライアント端末から受信したパケットを第1のルールに従って分類して転送するように構成された分類部と、前記分類部から転送されたパケットに対して予め定められた処理を実行するように構成されたファンクション部と、前記ファンクション部または前記CPUから転送されたパケットの転送先を第2のルールに従って決定し、決定した転送先にパケットを転送するように構成されたルータとを備え、前記管理部は、前記分類部に対して、前記クライアント端末から到着したパケットの分類に使用すべき特徴と、特徴に基づいて分類されたパケットの転送先とを定めた前記第1のルールをパケットの到着頻度毎に設定し、前記第1のルールは、パケットの到着頻度が低くなるに従って前記CPUに送るパケットの割合が増えるように設定され、前記分類部は、パケットの到着頻度をパケットの特徴毎に測定し、前記クライアント端末から受信したパケットの特徴と同じ特徴を有するパケットの到着頻度に対応する前記第1のルールに従って、前記クライアント端末から受信したパケットの転送先を決定し、決定した転送先にパケットを転送することを特徴とするものである。
 本発明によれば、パケットの到着頻度が低くなるに従ってCPUに送るパケットの割合が増えるように第1のルールを設定し、分類部が、クライアント端末から受信したパケットの特徴と同じ特徴を有するパケットの到着頻度に対応する第1のルールに従って、クライアント端末から受信したパケットの転送先を決定することにより、パケットの到着頻度が低くなるに従ってCPUに送るパケットの割合が増えるようにオフローディングを調整することができるので、電力効率を最適化することができる。
図1は、本発明の第1の実施例に係る情報処理システムの構成を示すブロック図である。 図2は、本発明の第2の実施例に係る情報処理システムの構成を示すブロック図である。 図3は、本発明の第1、第2の実施例に係る情報処理システムを実現するコンピュータの構成例を示すブロック図である。 図4は、従来の情報処理システムの構成を示すブロック図である。 図5は、従来の情報処理システムの別の構成を示すブロック図である。
[第1の実施例]
 以下、本発明の実施例について図面を参照して説明する。図1は本発明の第1の実施例に係る情報処理システムの構成を示すブロック図である。情報処理システムは、クライアント端末1と、ネットワークインターフェースカード(NIC)2と、CPU3とから構成される。図1の4はNIC2とクライアント端末1とを接続するネットワーク、5はCPU3とNIC2とを接続するPCIeバスである。NIC2とCPU3とは、ネットワーク4を介してクライアント端末1と接続されるデータセンタのサーバ10に搭載されている。
 NIC2は、ネットワークソフトウェアスタック20と、分類部(Classifier)21と、ファンクション部22と、ルータ23とを備えている。
 本実施例では、図1に示すような構成をNIC2のハードウェア上に実装することで、アプリケーション実行中にパケットの到着頻度に合わせて、動的にハードウェアオフロードすることができる。
 分類部21は、クライアント端末1から送られてきたパケットをパケットの特徴に基づいて分類し、CPU3かファンクション部22のどちらかに転送する。分類部21は、パケットの到着頻度をパケットの特徴毎に常時測定し、クライアント端末1から受信したパケットの特徴と同じ特徴を有するパケットの到着頻度に対応する分類ルールに従って、クライアント端末1から受信したパケットの転送先を決定する。分類部21はCPU3と通信することが可能である。パケットの分類のためのルール設定などの管理はCPU3が行う。
 ファンクション部22は、分類部21から転送されたパケットのペイロードに格納されたデータに対して予め定められた処理を実行する。
 ルータ23は、ファンクション部22またはCPU3から転送されたパケットの転送先をパケットの特徴に基づいて決定し、CPU3かクライアント端末1のどちらかに転送する。ルータ23はCPU3と通信することが可能である。パケットのルーティングのためのルール設定などの管理はCPU3が行う。
 以下、本実施例の情報処理システムの動作を説明する。CPU3は、予め設定されたソフトウェアに従って管理部31として機能する。管理部31は、NIC2の分類部21に対して、クライアント端末1からNIC2に到着したパケットの分類に使用すべき特徴と、特徴に基づいて分類されたパケットの転送先(CPU3またはファンクション部22)とを定めた分類ルールをパケットの到着頻度毎に設定する。さらに、管理部31は、NIC2のルータ23に対して、ファンクション部22またはCPU3から転送されるパケットのルーティングに使用すべき特徴と、パケットの転送先(CPU3またはクライアント端末1)とを定めたルーティングルールを設定する。
 クライアント端末1は、ユーザが処理を希望するパケットをネットワーク4に送出する。NIC2の分類部21は、クライアント端末1から送られてきたパケットを、管理部31から設定された分類ルールに従って分類し、CPU3かファンクション部22のどちらかに転送する。パケットの分類に使用する特徴の例としては、例えばパケットのヘッダに含まれる送信元情報などがある。分類ルールは、パケットの到着頻度が低くなるに従ってCPU3に送るパケットの割合が増えるように設定されている。
 分類部21は、パケットの到着頻度を分類ルールで定められたパケットの特徴毎に常時測定し、クライアント端末1から受信したパケットの特徴と同じ特徴を有するパケットの到着頻度に対応する分類ルールに従って、クライアント端末1から受信したパケットの転送先を決定する。分類部21は、決定した転送先の情報をパケットのヘッダの宛先情報として書き込み、パケットを転送先(CPU3またはファンクション部22)に向けて送出する。
 NIC2のファンクション部22は、分類部21から転送されたパケットのペイロードに格納されたデータに対して予め定められた処理を実行する。ファンクション部22は、分類部21から転送されたパケットのヘッダと、処理済みのデータを格納したペイロードとを組み合わせてパケット化し、ルータ23に転送する。
 一方、CPU3は、分類部21から転送されたパケットのペイロードに格納されたデータに対して、アプリケーションソフトウェア30に従って処理を実行する。CPU3は、分類部21から転送されたパケットのヘッダと、処理済みのデータを格納したペイロードとを組み合わせてパケット化し、NIC2に返送する。
 NIC2のルータ23は、ファンクション部22またはCPU3から転送されたパケットの転送先(CPU3またはクライアント端末1)を、管理部31から設定されたルーティングルールに従って決定する。パケットのルーティングに使用する特徴の例としては、上記と同様にパケットのヘッダに含まれる送信元情報などがある。ルータ23は、決定した転送先の情報をパケットのヘッダの宛先情報として書き込み、パケットを転送先(CPU3またはクライアント端末1)に向けて送出する。
 以上のように、本実施例では、パケットの到着頻度に合わせてオフローディングを調整、具体的にはパケットの到着頻度が低くなるに従ってCPU3に送るパケットの割合が増えるようにオフローディングを調整することができるので、電力効率を最適化することができる。
 分類部21は、パケットのヘッダに含まれる送信元IP(Internet Protocol)アドレスや送信元ポート番号などの情報に注目してパケットを分類すればよい。これにより、分類部21が抽出するパケットの特徴の位置とサイズが固定されるので、分類部21の回路規模を小規模にすることができ、スループット、電力効率を向上させることができる。
[第2の実施例]
 次に、本発明の第2の実施例について説明する。図2は本発明の第2の実施例に係る情報処理システムの構成を示すブロック図であり、図1と同一の構成には同一の符号を付してある。本実施例の情報処理システムは、クライアント端末1と、NIC2aと、CPU3aとから構成される。第1の実施例と同様に、NIC2aとCPU3aとは、ネットワーク4を介してクライアント端末1と接続されるデータセンタのサーバ10に搭載されている。
 NIC2aは、ネットワークソフトウェアスタック20と、分類部21と、ルータ23と、部分再構成可能領域(Partial Reconfiguration Region)24と、ファンクションコントローラ25とを備えている。
 本実施例では、図2に示すような構成をNIC2aのハードウェア上に実装することで、アプリケーション実行中にパケットの到着頻度に合わせて、動的にハードウェアオフロードすることができる。
 本実施例では、ファンクション部22を部分再構成可能領域24に配置する。部分再構成可能領域24に複数のファンクション部22を配置することが可能である。ファンクション部22は、任意のタイミングで書き込み、消去が可能である。
 CPU3aは、予め設定されたソフトウェアに従って管理部31aとして機能する。管理部31aは、NIC2aのファンクションコントローラ25に対して、ファンクション部22の再構成のためのビットストリームデータと、配置すべきファンクション部22の数とを定めた再構成ルールを、パケットの特徴毎および到着頻度毎に設定する。
 ファンクションコントローラ25は、分類部21が受信したパケットの特徴と、受信したパケットの特徴と同じ特徴を有するパケットの到着頻度とに対応する再構成ルールを参照する。そして、ファンクションコントローラ25は、再構成ルールで定められたファンクション部22が部分再構成可能領域24内に配置されるように、部分再構成可能領域24の構成を変更する。ファンクションコントローラ25は、再構成のためのビットストリームデータによって部分再構成可能領域24を書き換えることが可能である。
 その他の構成の動作は第1の実施例と同様である。本実施例では、パケットの到着頻度が高くなるに従ってパケットを処理するファンクション部22の数が増えるように再構成ルールを設定する。これにより、高い負荷がかかった際に、複数のファンクション部22による並列処理が可能になるので、電力効率を向上させることができる。また、本実施例では、管理部31aからの設定によって異なる種類のファンクション部22を適宜管理することができる。
 第1、第2の実施例で説明したサーバとNIC2,2aとクライアント端末1の各々は、CPU、記憶装置及びインターフェイスを備えたコンピュータと、これらのハードウェア資源を制御するプログラムによって実現することができる。このコンピュータの構成例を図3に示す。
 コンピュータは、CPU300と、記憶装置301と、インターフェース装置302とを備えている。このようなコンピュータにおいて、本発明の方法を実現させるためのプログラムは、記憶装置301に格納される。各装置のCPU300は、記憶装置301に格納されたプログラムに従って第1、第2の実施例で説明した処理を実行する。なお、NIC2,2aのハードウェアの部分は、例えばFPGA(field-programmable gate array)によって構成される。
 上記の実施例の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。
 (付記1)本発明の情報処理システムは、パケットの処理を行うCPUとネットワークインターフェースカードとが実装されたサーバと、前記ネットワークインターフェースカードの設定を行うように構成された管理部とを備え、前記ネットワークインターフェースカードは、クライアント端末から受信したパケットを第1のルールに従って分類して転送するように構成された分類部と、前記分類部から転送されたパケットに対して予め定められた処理を実行するように構成されたファンクション部と、前記ファンクション部または前記CPUから転送されたパケットの転送先を第2のルールに従って決定し、決定した転送先にパケットを転送するように構成されたルータとを備え、前記管理部は、前記分類部に対して、前記クライアント端末から到着したパケットの分類に使用すべき特徴と、特徴に基づいて分類されたパケットの転送先とを定めた前記第1のルールをパケットの到着頻度毎に設定し、前記第1のルールは、パケットの到着頻度が低くなるに従って前記CPUに送るパケットの割合が増えるように設定され、前記分類部は、パケットの到着頻度をパケットの特徴毎に測定し、前記クライアント端末から受信したパケットの特徴と同じ特徴を有するパケットの到着頻度に対応する前記第1のルールに従って、前記クライアント端末から受信したパケットの転送先を決定し、決定した転送先にパケットを転送する。
 (付記2)付記1記載の情報処理システムにおいて、前記パケットの特徴は、前記パケットのヘッダに含まれる送信元情報である。
 (付記3)付記1記載の情報処理システムにおいて、前記管理部は、前記ルータに対して、前記ファンクション部または前記CPUから転送されるパケットのルーティングに使用すべき特徴と、パケットの転送先とを定めた前記第2のルールを設定する。
 (付記4)付記1乃至3のいずれか1項に記載の情報処理システムにおいて、前記ネットワークインターフェースカードは、前記ファンクション部の再構成のためのファンクションコントローラをさらに備え、前記管理部は、前記ファンクションコントローラに対して、前記ファンクション部の再構成のためのデータと配置すべきファンクション部の数とを定めた第3のルールを、パケットの特徴毎および到着頻度毎に設定し、前記ファンクションコントローラは、前記分類部が受信したパケットの特徴と、受信したパケットの特徴と同じ特徴を有するパケットの到着頻度とに対応する前記第3のルールを参照し、この第3のルールで定められたファンクション部が配置されるように、前記ネットワークインターフェースカードの部分再構成可能領域の構成を変更する。
 (付記5)付記4記載の情報処理システムにおいて、前記第3のルールは、パケットの到着頻度が高くなるに従ってパケットを処理する前記ファンクション部の数が増えるように設定される。
 本発明は、NICを利用してパケットの処理を行う技術に適用することができる。
 1…クライアント端末、2,2a…ネットワークインターフェースカード、3,3a…CPU、4…ネットワーク、5…PCIeバス、10…サーバ、20…ネットワークソフトウェアスタック、21…分類部、22…ファンクション部、23…ルータ、24…部分再構成可能領域、25…ファンクションコントローラ、30…アプリケーションソフトウェア、31,31a…管理部。

Claims (5)

  1.  パケットの処理を行うCPUとネットワークインターフェースカードとが実装されたサーバと、
     前記ネットワークインターフェースカードの設定を行うように構成された管理部とを備え、
     前記ネットワークインターフェースカードは、
     クライアント端末から受信したパケットを第1のルールに従って分類して転送するように構成された分類部と、
     前記分類部から転送されたパケットに対して予め定められた処理を実行するように構成されたファンクション部と、
     前記ファンクション部または前記CPUから転送されたパケットの転送先を第2のルールに従って決定し、決定した転送先にパケットを転送するように構成されたルータとを備え、
     前記管理部は、前記分類部に対して、前記クライアント端末から到着したパケットの分類に使用すべき特徴と、特徴に基づいて分類されたパケットの転送先とを定めた前記第1のルールをパケットの到着頻度毎に設定し、
     前記第1のルールは、パケットの到着頻度が低くなるに従って前記CPUに送るパケットの割合が増えるように設定され、
     前記分類部は、パケットの到着頻度をパケットの特徴毎に測定し、前記クライアント端末から受信したパケットの特徴と同じ特徴を有するパケットの到着頻度に対応する前記第1のルールに従って、前記クライアント端末から受信したパケットの転送先を決定し、決定した転送先にパケットを転送することを特徴とする情報処理システム。
  2.  請求項1記載の情報処理システムにおいて、
     前記パケットの特徴は、前記パケットのヘッダに含まれる送信元情報であることを特徴とする情報処理システム。
  3.  請求項1記載の情報処理システムにおいて、
     前記管理部は、前記ルータに対して、前記ファンクション部または前記CPUから転送されるパケットのルーティングに使用すべき特徴と、パケットの転送先とを定めた前記第2のルールを設定することを特徴とする情報処理システム。
  4.  請求項1乃至3のいずれか1項に記載の情報処理システムにおいて、
     前記ネットワークインターフェースカードは、前記ファンクション部の再構成のためのファンクションコントローラをさらに備え、
     前記管理部は、前記ファンクションコントローラに対して、前記ファンクション部の再構成のためのデータと配置すべきファンクション部の数とを定めた第3のルールを、パケットの特徴毎および到着頻度毎に設定し、
     前記ファンクションコントローラは、前記分類部が受信したパケットの特徴と、受信したパケットの特徴と同じ特徴を有するパケットの到着頻度とに対応する前記第3のルールを参照し、この第3のルールで定められたファンクション部が配置されるように、前記ネットワークインターフェースカードの部分再構成可能領域の構成を変更することを特徴とする情報処理システム。
  5.  請求項4記載の情報処理システムにおいて、
     前記第3のルールは、パケットの到着頻度が高くなるに従ってパケットを処理する前記ファンクション部の数が増えるように設定されることを特徴とする情報処理システム。
PCT/JP2022/022287 2022-06-01 2022-06-01 情報処理システム WO2023233574A1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/JP2022/022287 WO2023233574A1 (ja) 2022-06-01 2022-06-01 情報処理システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2022/022287 WO2023233574A1 (ja) 2022-06-01 2022-06-01 情報処理システム

Publications (1)

Publication Number Publication Date
WO2023233574A1 true WO2023233574A1 (ja) 2023-12-07

Family

ID=89026035

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2022/022287 WO2023233574A1 (ja) 2022-06-01 2022-06-01 情報処理システム

Country Status (1)

Country Link
WO (1) WO2023233574A1 (ja)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003303080A (ja) * 2002-04-10 2003-10-24 Ricoh Co Ltd ネットワークインターフェイス回路及びデータ出力システム
JP2006074312A (ja) * 2004-09-01 2006-03-16 Kawasaki Microelectronics Kk ネットワークインターフェースデバイスおよびネットワーク端末
US20080127227A1 (en) * 2006-11-28 2008-05-29 Eliezer Aloni Method and system for protocol offload in paravirtualized systems
US20090168799A1 (en) * 2007-12-03 2009-07-02 Seafire Micros, Inc. Network Acceleration Techniques
WO2012128282A1 (ja) * 2011-03-23 2012-09-27 日本電気株式会社 通信制御システム、スイッチノード、及び通信制御方法
JP2020024622A (ja) * 2018-08-08 2020-02-13 日本電信電話株式会社 サーバ、サーバシステム及びサーバのネットワーク帯域増加方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003303080A (ja) * 2002-04-10 2003-10-24 Ricoh Co Ltd ネットワークインターフェイス回路及びデータ出力システム
JP2006074312A (ja) * 2004-09-01 2006-03-16 Kawasaki Microelectronics Kk ネットワークインターフェースデバイスおよびネットワーク端末
US20080127227A1 (en) * 2006-11-28 2008-05-29 Eliezer Aloni Method and system for protocol offload in paravirtualized systems
US20090168799A1 (en) * 2007-12-03 2009-07-02 Seafire Micros, Inc. Network Acceleration Techniques
WO2012128282A1 (ja) * 2011-03-23 2012-09-27 日本電気株式会社 通信制御システム、スイッチノード、及び通信制御方法
JP2020024622A (ja) * 2018-08-08 2020-02-13 日本電信電話株式会社 サーバ、サーバシステム及びサーバのネットワーク帯域増加方法

Similar Documents

Publication Publication Date Title
US9450780B2 (en) Packet processing approach to improve performance and energy efficiency for software routers
US10680951B2 (en) System and method for processing and forwarding transmitted information
US7764678B2 (en) Routing based on dynamic classification rules
JP4898781B2 (ja) オペレーティング・システム・パーティションのためのネットワーク通信
US20030231632A1 (en) Method and system for packet-level routing
WO2020151030A1 (zh) 一种处理数据报文的方法和装置
US7742474B2 (en) Virtual network interface cards with VLAN functionality
US20030046330A1 (en) Selective offloading of protocol processing
US9262354B2 (en) Adaptive interrupt moderation
US11750699B2 (en) Small message aggregation
US20190044889A1 (en) Coalescing small payloads
CN111614631B (zh) 一种用户态流水线架构防火墙系统
WO2012112235A1 (en) Method and system for classification and management of inter-blade network traffic in a blade server
US20080077724A1 (en) Interrupt coalescing control scheme
US9521079B2 (en) Packet forwarding between packet forwarding elements in a network device
Van Tu et al. Accelerating virtual network functions with fast-slow path architecture using express data path
US11979340B2 (en) Direct data placement
CN113364809A (zh) 分流网络数据以执行负载平衡
CN113965521B (zh) 数据包的传输方法、服务器及存储介质
US8832332B2 (en) Packet processing apparatus
WO2023233574A1 (ja) 情報処理システム
US11271985B2 (en) Method and network node for handling SCTP packets
CN117240935A (zh) 基于dpu的数据平面转发方法、装置、设备及介质
US11128569B2 (en) Load distribution system and load distribution method
CN110611622B (zh) 用于负载均衡的方法、网络接口卡以及计算机可读介质

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 22944861

Country of ref document: EP

Kind code of ref document: A1