JP7439767B2 - Network interface card, computer, circuit information rewriting method and program - Google Patents
Network interface card, computer, circuit information rewriting method and program Download PDFInfo
- Publication number
- JP7439767B2 JP7439767B2 JP2020560100A JP2020560100A JP7439767B2 JP 7439767 B2 JP7439767 B2 JP 7439767B2 JP 2020560100 A JP2020560100 A JP 2020560100A JP 2020560100 A JP2020560100 A JP 2020560100A JP 7439767 B2 JP7439767 B2 JP 7439767B2
- Authority
- JP
- Japan
- Prior art keywords
- programmable logic
- logic circuit
- mode
- circuit
- switches
- 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
Links
- 238000000034 method Methods 0.000 title claims description 43
- 238000012545 processing Methods 0.000 claims description 40
- 230000008569 process Effects 0.000 claims description 29
- 230000003213 activating effect Effects 0.000 claims 2
- RTZKZFJDLAIYFH-UHFFFAOYSA-N Diethyl ether Chemical compound CCOCC RTZKZFJDLAIYFH-UHFFFAOYSA-N 0.000 description 14
- 230000006870 function Effects 0.000 description 13
- 238000004891 communication Methods 0.000 description 12
- 238000012546 transfer Methods 0.000 description 10
- 238000010586 diagram Methods 0.000 description 7
- 230000004913 activation Effects 0.000 description 5
- 230000001360 synchronised effect Effects 0.000 description 4
- 238000011144 upstream manufacturing Methods 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000002457 bidirectional effect Effects 0.000 description 1
- 239000000969 carrier Substances 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000010191 image analysis Methods 0.000 description 1
- 230000001771 impaired effect Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000002250 progressing effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
- G06F8/656—Updates while running
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
- Communication Control (AREA)
- Logic Circuits (AREA)
Description
[関連出願についての記載]
本発明は、日本国特許出願:特願2018-231098号(2018年12月10日出願)の優先権主張に基づくものであり、同出願の全記載内容は引用をもって本書に組み込み記載されているものとする。
本発明は、ネットワークインタフェースカード、コンピュータ、回路情報の書き換え方法及びプログラムに関する。
[Description of related applications]
The present invention is based on the priority claim of Japanese patent application: Japanese Patent Application No. 2018-231098 (filed on December 10, 2018), and the entire contents of the application are incorporated and described in this document by reference. shall be taken as a thing.
The present invention relates to a network interface card, a computer, a method and program for rewriting circuit information.
大規模なデータセンターやVNF(Virtual Network Function)をはじめとした通信事業者の運用設備においてはソフトウェアの仮想化が進み、一台の汎用サーバに複数のシステムを集約した構成が一般的になっている。その一方で、この種の構成では、ソフトウェアで実現していた通信機能については性能不足が指摘されている。 Software virtualization is progressing in the operating facilities of telecommunications carriers, including large-scale data centers and VNFs (Virtual Network Functions), and configurations in which multiple systems are integrated on a single general-purpose server are becoming commonplace. There is. On the other hand, it has been pointed out that this type of configuration lacks performance in terms of communication functions that were implemented using software.
こうした事情から、ネットワークインタフェースカード(以下、NIC)にFPGA(Field-Programmable Gate Array)を載せたSmart NIC(SNIC)と呼ばれる製品が登場している。このSNICは、CPUで実施していたパケットのヘッダやペイロード等の変更、転送といった、いわゆるパケット処理のうち、ソフトウェア処理では性能が出せないような一部モジュールをSNIC内のFPGA回路として実装している。これにより、ソフトウェアボトルネックが解消されて、性能向上を期待できると言われている。 Under these circumstances, a product called a Smart NIC (SNIC) has appeared, which is a network interface card (hereinafter referred to as NIC) equipped with an FPGA (Field-Programmable Gate Array). This SNIC implements some modules in the SNIC as FPGA circuits for so-called packet processing, such as changing and forwarding packet headers and payloads, which were previously performed by the CPU, and whose performance cannot be achieved with software processing. There is. This is expected to eliminate software bottlenecks and improve performance.
特許文献1~4には、FPGAを搭載した通信機器等において通信やサービスを中断せずにFPGAの回路情報の書き換えを行う方法が開示されている。また、特許文献5~6には、サービスを中断せずにファームウェアや制御プログラムの書き換えを行う方法が開示されている。 Patent Documents 1 to 4 disclose methods for rewriting FPGA circuit information without interrupting communications or services in a communication device or the like equipped with an FPGA. Furthermore, Patent Documents 5 and 6 disclose methods for rewriting firmware and control programs without interrupting services.
以下の分析は、本発明によって与えられたものである。上記したSNICに代表される機器では、大きな性能改善が見込める一方、FPGAの回路情報の更新が発生しうる。回路情報の更新中は、FPGAの再起動と回路情報の読み出しが必須となるため、その間、処理ができなくなるという問題点がある。この点、特許文献1では、FPGA内部の可変領域に複数の通信処理回路を構成し、いずれか一方を切り替えて動作させるとともに、他方の回路構成を更新できる構成が開示されている。 The following analysis is provided by the present invention. In devices such as the above-mentioned SNIC, although a large performance improvement can be expected, updating of circuit information of the FPGA may occur. While the circuit information is being updated, it is necessary to restart the FPGA and read the circuit information, so there is a problem that processing cannot be performed during this time. In this regard, Patent Document 1 discloses a configuration in which a plurality of communication processing circuits are configured in a variable area inside an FPGA, and one of the communication processing circuits is switched to operate, while the other circuit configuration can be updated.
しかしながら、特許文献1の構成では、可変領域に2つの通信処理回路を配置することになり、回路サイズの制約が生じたり、装置自体が高価になってしまうという問題点がある。この点は、特許文献3、5、6も同様である。 However, in the configuration of Patent Document 1, two communication processing circuits are disposed in the variable region, which poses problems such as restrictions on circuit size and an increase in the cost of the device itself. This point also applies to Patent Documents 3, 5, and 6.
その他、特許文献2は、CPUにFPGAを結合した構成において、FPGAプログラムをバージョンアップしている間、CPUにてFPGAで行っていたVMのデータ処理を代行する構成を開示するに止まっている。また、SNICへの適用を考えた場合、FPGAの処理を代行しうる要素を持っていないので特許文献2の方法は採用し得ない。また、特許文献4の方法は、FPGAのアップグレード中にルータからのデータ送信を一時的に停止させるものであり、狭義の意味でユーザに対するサービスを停止させないものとは言いえない。 In addition, Patent Document 2 only discloses a configuration in which an FPGA is coupled to a CPU, in which the CPU performs VM data processing that was performed by the FPGA while the FPGA program is being upgraded. Furthermore, when considering application to SNIC, the method of Patent Document 2 cannot be adopted because it does not have an element that can substitute for FPGA processing. Further, the method of Patent Document 4 temporarily stops data transmission from the router during an FPGA upgrade, and cannot be said to not stop services to users in a narrow sense.
本発明は、FPGAに代表されるプログラム可能論理回路を搭載したネットワークインタフェースカードにおいて、その回路情報の書き換えに伴うシステムの可用性への影響の低減に貢献できるネットワークインタフェースカード、コンピュータ、回路情報の書き換え方法及びプログラムを提供することを目的とする。 The present invention provides a network interface card, computer, and circuit information rewriting method that can contribute to reducing the impact on system availability caused by rewriting circuit information in a network interface card equipped with a programmable logic circuit represented by an FPGA. and programs.
第1の視点によれば、記録された回路情報に従って入力されたパケットの処理を行うプログラム可能論理回路と、前記プログラム可能論理回路の入力端と、出力端にそれぞれ配置され、前記プログラム可能論理回路にパケットを送る第1のモードと、前記プログラム可能論理回路を経由せずにバイパスする第2のモードとを切り替え可能な1対のスイッチと、前記プログラム可能論理回路に代わり、パケットの処理を実行可能なアプリケーションプログラムを実行可能なプロセッサが搭載されたコンピュータに、前記パケットを送信するコンピュータ側インタフェースと、前記プログラム可能論理回路の前記回路情報の書き換えの際に、前記1対のスイッチを第2のモードに切り替えるスイッチ制御回路と、を備え、前記回路情報の書き換え時に、前記プログラム可能論理回路に代わって、前記コンピュータによりパケットの処理を実行可能に構成されているネットワークインタフェースカードが提供される。 According to a first viewpoint, a programmable logic circuit that processes input packets according to recorded circuit information; and a programmable logic circuit disposed at an input end and an output end of the programmable logic circuit, respectively; a pair of switches capable of switching between a first mode in which the packet is sent to the programmable logic circuit and a second mode in which the packet is bypassed without going through the programmable logic circuit; and a switch that processes the packet in place of the programmable logic circuit. a computer-side interface that transmits the packet to a computer equipped with a processor capable of executing a programmable application program; A network interface card is provided, comprising a switch control circuit for switching to a mode, and configured to allow the computer to process packets in place of the programmable logic circuit when rewriting the circuit information.
第2の視点によれば、上記したネットワークインタフェースカードを搭載したコンピュータが提供される。 According to a second viewpoint, a computer equipped with the above network interface card is provided.
第3の視点によれば、記録された回路情報に従って入力されたパケットの処理を行うプログラム可能論理回路と、前記プログラム可能論理回路の入力端と、出力端にそれぞれ配置され、前記プログラム可能論理回路にパケットを送る第1のモードと、前記プログラム可能論理回路を経由せずにバイパスする第2のモードとを切り替え可能な1対のスイッチと、前記プログラム可能論理回路に代わり、パケットの処理を実行可能なアプリケーションプログラムを実行可能なプロセッサが搭載されたコンピュータに、前記パケットを送信するコンピュータ側インタフェースと、前記プログラム可能論理回路の前記回路情報の書き換えの際に、前記1対のスイッチを第2のモードに切り替えるスイッチ制御回路と、を備えたネットワークインタフェースカードの前記回路情報の書き換え方法であって、前記プログラム可能論理回路に代わり、パケットの処理を実行可能なアプリケーションプログラムを起動し、前記1対のスイッチを、前記第1のモードから前記第2のモードに切り替え、前記回路情報を書き換えた後に、前記1対のスイッチを、前記第2のモードから前記第1のモードに切り替える、回路情報の書き換え方法が提供される。本方法は、ネットワークインタフェースカードを搭載したコンピュータという、特定の機械に結びつけられている。 According to a third aspect, a programmable logic circuit that processes input packets according to recorded circuit information; and a programmable logic circuit that is arranged at an input end and an output end of the programmable logic circuit, respectively; a pair of switches capable of switching between a first mode in which the packet is sent to the programmable logic circuit and a second mode in which the packet is bypassed without going through the programmable logic circuit; and a switch that processes the packet in place of the programmable logic circuit. a computer-side interface that transmits the packet to a computer equipped with a processor capable of executing a programmable application program; a switch control circuit for switching to a mode, the method for rewriting the circuit information of a network interface card, comprising: starting an application program capable of executing packet processing in place of the programmable logic circuit; rewriting the circuit information by switching the switch from the first mode to the second mode and rewriting the circuit information, and then switching the pair of switches from the second mode to the first mode; A method is provided. The method is tied to a specific machine, a computer equipped with a network interface card.
第4の視点によれば、記録された回路情報に従って入力されたパケットの処理を行うプログラム可能論理回路と、前記プログラム可能論理回路の入力端と、出力端にそれぞれ配置され、前記プログラム可能論理回路にパケットを送る第1のモードと、前記プログラム可能論理回路を経由せずにバイパスする第2のモードとを切り替え可能な1対のスイッチと、前記プログラム可能論理回路に代わり、パケットの処理を実行可能なアプリケーションプログラムを実行可能なプロセッサが搭載されたコンピュータに、前記パケットを送信するコンピュータ側インタフェースと、前記プログラム可能論理回路の前記回路情報の書き換えの際に、前記1対のスイッチを第2のモードに切り替えるスイッチ制御回路と、を備えたネットワークインタフェースカードの前記回路情報の書き換えプログラムであって、前記プログラム可能論理回路に代わり、パケットの処理を実行可能なアプリケーションプログラムを起動する処理と、前記1対のスイッチを、前記第1のモードから前記第2のモードに切り替える処理と、前記回路情報を書き換えた後に、前記1対のスイッチを、前記第2のモードから前記第1のモードに切り替える処理と、を前記コンピュータに実行させるプログラムが提供される。なお、このプログラムは、コンピュータが読み取り可能な(非トランジトリーな)記憶媒体に記録することができる。即ち、本発明は、コンピュータプログラム製品として具現することも可能である。 According to a fourth aspect, a programmable logic circuit that processes input packets according to recorded circuit information; and a programmable logic circuit disposed at an input end and an output end of the programmable logic circuit, respectively; a pair of switches capable of switching between a first mode in which the packet is sent to the programmable logic circuit and a second mode in which the packet is bypassed without going through the programmable logic circuit; and a switch that processes the packet in place of the programmable logic circuit. a computer-side interface that transmits the packet to a computer equipped with a processor capable of executing a programmable application program; a switch control circuit for switching to a mode, a program for rewriting the circuit information of a network interface card, the program comprising: starting an application program capable of executing packet processing in place of the programmable logic circuit; A process of switching a pair of switches from the first mode to the second mode, and a process of switching the pair of switches from the second mode to the first mode after rewriting the circuit information. A program is provided that causes the computer to execute the following. Note that this program can be recorded on a computer-readable (non-transitory) storage medium. That is, the present invention can also be implemented as a computer program product.
本発明によれば、プログラム可能論理回路を搭載したネットワークインタフェースカードにおいて、その回路情報の書き換えに伴うシステムの可用性への影響を低減することが可能となる。即ち、本発明は、背景技術に示したネットワークインタフェースカードを、回路情報の書き換えに伴い可用性が損なわれる可能性の少ないものへと変換するものとなっている。 According to the present invention, in a network interface card equipped with a programmable logic circuit, it is possible to reduce the impact on system availability caused by rewriting the circuit information. That is, the present invention converts the network interface card described in the background art into one in which availability is less likely to be impaired due to rewriting of circuit information.
はじめに本発明の一実施形態の概要について図面を参照して説明する。なお、この概要に付記した図面参照符号は、理解を助けるための一例として各要素に便宜上付記したものであり、本発明を図示の態様に限定することを意図するものではない。また、以降の説明で参照する図面等のブロック間の接続線は、双方向及び単方向の双方を含む。一方向矢印については、主たる信号(データ)の流れを模式的に示すものであり、双方向性を排除するものではない。また、図中の各ブロックの入出力の接続点には、ポート乃至インタフェースがあるが図示省略する。プログラムはコンピュータ装置を介して実行され、コンピュータ装置は、例えば、プロセッサ、記憶装置、入力装置、通信インタフェース、及び必要に応じ表示装置を備える。また、コンピュータ装置は、通信インタフェースを介して装置内又は外部の機器(コンピュータを含む)と、有線、無線を問わず、交信可能に構成される。また、以下の説明において、「A及び/又はB」は、A及びBの少なくともいずれかという意味で用いる。 First, an overview of an embodiment of the present invention will be described with reference to the drawings. Note that the drawing reference numerals added to this summary are added to each element for convenience as an example to aid understanding, and are not intended to limit the present invention to the illustrated embodiment. Furthermore, connection lines between blocks in the drawings and the like referred to in the following description include both bidirectional and unidirectional connections. The unidirectional arrows schematically indicate the main signal (data) flow, and do not exclude bidirectionality. Also, ports or interfaces are provided at the input/output connection points of each block in the figure, but they are not shown. The program is executed via a computer device, and the computer device includes, for example, a processor, a storage device, an input device, a communication interface, and, if necessary, a display device. Further, the computer device is configured to be able to communicate with equipment within the device or externally (including a computer) via a communication interface, regardless of whether it is wired or wireless. Furthermore, in the following description, "A and/or B" is used to mean at least one of A and B.
本発明は、その一実施形態において、図1に示すように、プログラム可能論理回路11と、1対のスイッチ12、13と、コンピュータ側インタフェース(IF)14と、スイッチ制御回路15と、を備えるネットワークインタフェースカード10にて実現できる。
In one embodiment of the present invention, as shown in FIG. 1, the present invention includes a
より具体的には、プログラム可能論理回路11は、記録された回路情報に従って入力されたパケットの処理を行う。スイッチ12、13は、それぞれ前記プログラム可能論理回路11の入力端と、出力端にそれぞれ配置される。そして、このスイッチ12、13はプログラム可能論理回路11にパケットを送る第1のモードと、前記プログラム可能論理回路11を経由せずにバイパスする第2のモードとを切り替え可能に構成される。コンピュータ20は、プログラム可能論理回路11に代わり、パケットの処理を実行可能なアプリケーションプログラムを実行可能なプロセッサが搭載されている。そして、コンピュータ側インタフェース(IF)14は、コンピュータ20に、パケットを送信可能となっている。スイッチ制御回路15は、プログラム可能論理回路11の前記回路情報の書き換えの際に、1対のスイッチ12、13を第2のモードに切替可能となっている。上記構成において、ネットワークインタフェースカード10は、前記回路情報の書き換え時に、前記プログラム可能論理回路11に代わって、前記コンピュータによりパケットの処理を実行する。
More specifically, the
例えば、通常の動作時、図2に示すように、1対のスイッチ12、13は、プログラム可能論理回路11にパケットを送る第1のモードに設定されている。これにより、上述したSNICと同様に、ソフトウェアボトルネックが解消し、性能向上を見込むことができるようになっている。
For example, during normal operation, a pair of
一方、プログラム可能論理回路11の前記回路情報の書き換えの際、1対のスイッチ12、13は、図3に示すように、第2のモードに切り替えられる。そして、プログラム可能論理回路11の前記回路情報の書き換えの間、前記プログラム可能論理回路11に代わって、前記コンピュータによりパケットを処理させる。従って、ユーザに対するサービスを停止させずに、プログラム可能論理回路11の回路情報の書き換えを実施することが可能となっている。
On the other hand, when rewriting the circuit information of the
[第1の実施形態]
続いて、本発明の第1の実施形態について図面を参照して詳細に説明する。図4は、本発明の第1の実施形態の構成を示す図である。図4を参照すると、SNIC100を搭載したIAサーバ200と、そのIAサーバ200上で動作するプログラム群(APL/OS)210の詳細構成が示されている。なお、IAサーバ200は、Intel Architectureサーバの略である。また、APL/OSは、それぞれ、Application、Operating Systemの略である。
[First embodiment]
Next, a first embodiment of the present invention will be described in detail with reference to the drawings. FIG. 4 is a diagram showing the configuration of the first embodiment of the present invention. Referring to FIG. 4, a detailed configuration of an
図4のAPP201は、SNIC100を用いてネットワーク側と授受するパケットを処理するパケット処理プログラム本体を示す。APP201は、NIC Driver203を使用してSNIC100でパケット受送信を行う。また、APP201は、FPGA Driver204経由で、FPGA111の回路情報を制御し、また管理可能となっている。
APP201 in FIG. 4 indicates a packet processing program main body that processes packets exchanged with the network side using the
APP201は、FPGA Driver204経由で、S-SW112、N-SW113に対し、動作モードの切り替えや、例外パケット(後述)を特定するためのルールを指示する。また、APP201は、Alt-SIM202の起動、停止を管理する。具体的には、APP201は、FPGA111の更新開始前に、Alt-SIM202を起動し、FPGA111に代わって、Alt-SIM202を使用して一連のパケット処理を実行できるように制御する。また、APP201は、FPGA111の起動通知を受けて、Alt-SIM202が不要になればAlt-SIM202を停止する。
The
また、APP201は、Alt-SIM202とFPGA111間で、FPGA111のパケットカウント情報等のメモリ内容を同期するメモリ同期を補助する機能を担う。このメモリ同期は、例えば、OS上にFPGA111との同期用メモリ空間を用意しておき、FPGA111内のmodules120(後述)との定期的なパケット授受により、DRAM118の情報を同期する方法を採ることができる。また、APP201は、FPGA111の更新開始前に、メモリ同期を完了させるべく、Alt-SIM202へ、前記OS内に用意した同期済みのメモリ領域(空間)を渡す機能を具備する。また、APP201は、FPGA111へ処理を切り替える前に、Alt-SIM202とFPGA111間のメモリ同期を行う。このときのmodules120(後述)とのメモリ同期用のパケットを例外パケットという。例外パケットの具体例については後に詳述する。
Further, the
NIC Driver203は、SNIC100のパケット送受信を制御するドライバである。
The
FPGA Driver204は、SNIC100内のFPGA111を制御するためのドライバである。FPGAの回路情報の更新等は、このドライバを使って実行することができる。また、FPGA Driver204は、FPGA111の起動完了等をAPP201に通知する。
The
CPU/RAM205は、IAサーバ200に代表されるコンピュータを構成する一般的な物理部品群を示している(図10参照)。なお、CPUは、Central Processing Unitの略であり、RAMは、Random Access Memoryの略である。
The CPU/
続いて、SNIC100の構成について説明する。図4を参照すると、FPGA111と、S-SW112と、N-SW113と、Ether Network Controller114と、PCIE Controller115と、QSFP117、FLASH119とを備えた構成が示されている。
Next, the configuration of the
FPGA111は、任意の回路情報に書き換え可能な領域(Writable FPGA)116と、恒久的な回路とで構成されて、回路情報によって定義された処理ロジックに従って入力されたパケットを処理する。また、FPGAは、起動時に、FLASH119から回路情報をロードして、書き換え可能領域(Writable FPGA)116に回路情報を書き込む。図4において、この回路情報はmodules120として示されている。FPGA111は、FLASH119、PCIE Controller115、DRAM118との専用インタフェースを持っている。図4において、これらはそれぞれFLASH-IF、PCIE-IF、RAM-IFで示されている。
The
Ether Network Controller114は、SNIC100内の低レイヤのネットワーク処理を行う専用ハードウェアチップである。Ether Network Controller114が、上記したOSや各種ドライバとのインタフェースを提供する。従って、Ether Network Controller114が、上記したコンピュータ側インタフェース(IF)14としての機能を担うことになる。
The
PCIE Controller115は、FPGA111を制御するためのハードウェアモジュールである。具体的には、PCIE Controller115は、FPGA Driverからの制御に従い、FPGA111に対し、FPGA111の再起動やその回路情報の更新を命令する。また、PCIE Controller115は、FPGA Driver経由でAPP201側に、FPGA111の状態を通知する。また、PCIE Controller115は、APP201からの指示に従い、S-SW112、N-SW113を切り替えるスイッチ制御回路(スイッチ制御回路15参照)としても機能する。
FLASH119は、不揮発性のフラッシュメモリで構成され、FPGA111の回路情報を保持する。FLASH119の書き換えは、外部記憶媒体等から、CPU上のOSもしくはNIC Driver203を経由してFLASH119に書き出すことで実施できる。
The
DRAM118は、SNIC100内に具備されているDynamicRAMである。DRAM118は、一般的に揮発性であり、FPGA111内のmodules120が処理の一時的な情報を記憶するために使用される。
modules120は、FPGA111の書き変え可能領域(Writable FPGA)116に書き込まれた処理ロジックである。このmodules120は、APP201の処理の一部のオフロード先として機能することで、システム全体のソフトウェアボトルネックが解消される。さらに、modules120は、DRAMの情報をパケット化して、APP201とのパケット授受により、APP201経由でAlt-SIM202とメモリ同期する機構を持つ。
The
QSFP117は、SNIC100のパケット入力用のインタフェースである。このQSFP117は、ケーブルの結線ポイントになる。なお、QSFPは、Quad Small Form-factor Pluggableの略であり、トランシーバの規格である。
The
続いて、上記したFPGA111の回路情報の更新中に、パケット処理を継続させるための構成について説明する。
Next, a configuration for continuing packet processing while updating the circuit information of the
S-SW112は、SNIC100のQSFP117経由で外部から受信したパケット(上りパケット)をFPGA111へ転送するか、もしくはFPGA111を経由しないでN-SW113に転送するかを判断、実行するモジュールである。また、S-SW112は、QSFP117を介して、N-SW113もしくは、FPGA111から受信したパケット(下りパケット)をSNIC外へ転送する機能を具備する。
The S-
S-SW112には、下記の2種類の動作モードがあり、APP201により、PCIE Controller115経由で動作モードを切り替えられる。
The S-
A)FPGA経由モード(第1のモードに相当):
S-SW112は、上りパケットをFPGA111へ転送する。
B)バイパスモード(第2のモードに相当):
S-SW112は、上りパケットのうち例外パケット以外をすべてN-SW113へ転送し、例外パケットをFPGA111へ転送する。ここで、例外パケットとは、PCIE Controller115経由でAPP201より指示されたルールにマッチしたパケットを指す。例えば、例外パケットとして、特定のVLANのID(VID)や、特定MACアドレス等を持つパケットを指定することができ、該当するパケットをFPGA111に送ることができる。本実施形態では、この例外パケットをメモリ同期に用いている。その詳細は後述する。
A) FPGA via mode (corresponding to the first mode):
The S-
B) Bypass mode (corresponds to the second mode):
The S-
N-SW113は、Ether Network Controller114から受信したパケット(下りパケット)をFPGA111へ転送するか、もしくはFPGA111を経由しないでS-SW112に転送するかを判断、実行するモジュールである。また、N-SW113は、SNIC100のFPGA111もしくはS-SW112から受信したパケット(上りパケット)を、Ether Network Controller114へ転送する機能を具備する。
The N-
N-SW113には、下記の2種類の動作モードがあり、S-SW112と同様に、APP201により、PCIE Controller115経由で動作モードを切り替えられる。
The N-
A)FPGA経由モード(第1のモードに相当):
N-SW113は、下りパケットをFPGAへ転送する。
B)バイパスモード(第2のモードに相当):
N-SW113は、下りパケットのうち例外パケット以外をすべてS-SW112へ転送し、例外パケットをFPGA111へ転送する。ここで、例外パケットとは、PCIE Controller115経由でAPP201より指示されたルールにマッチしたパケットを指す。例えば、例外パケットとして、特定のVLANのID(VID)や、特定MACアドレス等を持つパケットを指定することができ、該当するパケットをFPGA111に送ることができる。
A) FPGA via mode (corresponds to the first mode):
The N-
B) Bypass mode (corresponds to the second mode):
The N-
Alt-SIM202は、FPGA111内のmodules120と同等の処理を行う代替モジュール(コンピュータプログラム)である。FPGA111内のmodules120が動作できないときに、切り替えて利用できる。ただし、Alt-SIM202の処理性能は、FPGA111のAlt-SIM202より低いものであってもよい。
The Alt-
続いて、本実施形態の動作について図面を参照して詳細に説明する。図5は、本発明の第1の実施形態の動作を表したフローチャートである。図5を参照すると、まず、APP201は、FPGA111の回路を更新するため、Alt-SIM202を起動する(ステップS001)。
Next, the operation of this embodiment will be explained in detail with reference to the drawings. FIG. 5 is a flowchart showing the operation of the first embodiment of the present invention. Referring to FIG. 5, first, the
次に、APP201は、FPGA111とのメモリ同期を行う(ステップS002)。このメモリ同期は、最後の同期からの差分を反映することで実施できる。
Next, the
次に、APP201は、Alt-SIM202の起動を確認後、Alt-SIM202に、FPGA111との同期済のメモリ領域を渡す(ステップS003)。以降、Alt-SIM202はmodules120と同等の処理を実行できる状態になる。
Next, after confirming the activation of the Alt-
次に、APP201は、FPGA Driver204経由でN-SW113及びS-SW112をバイパスモードに切り替える(ステップS004)。このとき、メモリ同期用のパケットを通すために、APP201は、N-SW113及びS-SW112に対し、メモリ同期用の例外パケットを特定するためのルールを指定する。
Next, the
次に、APP201は、NIC Driver203から受信したパケットをAlt-SIM202を用いてパケット処理するように動作を切り変える(ステップS005)。具体的には、NIC Driver203から受信したパケットをAlt-SIM202に渡し、Alt-SIM202から出力されたパケットをN-SW113側に送る処理を行う。
Next, the
次に、APP201は、FPGA Driver204に対し、FPGA111の更新を指示する(ステップS006)。以降、FPGA111側で回路情報の更新が行われる。
Next, the
図6は、本実施形態におけるFPGA111の更新処理の詳細を表したフローチャートである。FPGA Driver204は、APP201からFPGA111の更新指示を受信すると(ステップS101)、新しい回路情報をダウンロードし、FLASH119に配置する(ステップS102)。
FIG. 6 is a flowchart showing details of update processing of the
次に、FPGA Driver204は、FPGA111に再起動を指示する(ステップS103)。
Next, the
次に、FPGA111は再起動し、FLASH119から新しい回路情報をロードする(ステップS104)。
Next, the
以降、FPGA111は、新しい回路情報にて動作を開始する(ステップS105)。FPGA Driver204は、FPGA111の起動完了をAPP201に通知する(ステップS106)。
Thereafter, the
再度、図5を参照して、上記FPGA111の起動完了後の動作を説明する。APP201は、前記FPGA111の起動完了通知を受け取ると(ステップS008)、Alt-SIM202とFPGA111間のメモリ同期を行う(ステップS009)。
Referring again to FIG. 5, the operation of the
メモリ同期の完了後、APP201は、FPGA Driver204に対し、S-SW112及びN-SW113をFPGAモードに切り替えるよう指示する(ステップS010)。
After the memory synchronization is completed, the
最後に、APP201は、Alt-SIM202を停止する(ステップS011)。
Finally, the
以上説明したとおり、本実施形態によれば、FPGA111の回路情報の更新中もS-SW112、N-SW113にパケットの転送を継続させ、代替モジュールにてパケットの処理を行わせ、サービスを継続することができる。具体的には、上記図6に示したFPGA111更新時においても、代替モジュールとして、Alt-SIM202が処理を続けることで、サービスの完全停止を防ぐことができる。また、上記した説明からも明らかなように、本実施形態は、背景技術に記載した特許文献記載の手法との対比においても、FPGA111の書き変え可能な領域116を十分に利用できるという利点がある。
As explained above, according to this embodiment, even while the circuit information of the
なお、上記した実施形態では、メモリ同期のために、S-SW112、N-SW113のバイパスモードで例外パケットの設定を行っているが、SNIC100とAPP201との間には仮想スイッチが介在する場合も想定される。この場合、仮想スイッチにも例外パケットが通るように適切な設定を行えばよい。例えば、仮想スイッチを制御するSDN(Software Defined Network)コントローラに適切な指示を出せばよい。この場合においても、メモリ同期用のパケットを他のパケットとは独立するように扱うことで、メモリの同期を実施することができる。
Note that in the above embodiment, exception packets are set in the bypass mode of the S-
[第2の実施形態]
続いて、メモリ同期を行う構成に変更を加えた本発明の第2の実施形態について図面を参照して詳細に説明する。図7は、本発明の第2の実施形態の構成を示す図である。図4に示した第1の実施形態との相違点は、DRAM118とFPGA111との間にD-CTRL121というモジュールが追加されている点である。また、これに伴い、PCIE Controller115aと、APP201aに変更が加えられている。その他の構成は、基本的に第1の実施形態と同様であるので、以下、その相違点を中心に説明する。
[Second embodiment]
Next, a second embodiment of the present invention in which the configuration for performing memory synchronization is modified will be described in detail with reference to the drawings. FIG. 7 is a diagram showing the configuration of the second embodiment of the present invention. The difference from the first embodiment shown in FIG. 4 is that a module called D-
本実施形態では、DRAM118が、FPGA111の再起動中でも通電しており、内部の記憶情報が消えない特性を利用する。すなわち、FPGA111の再起動中においてもAlt-SIM202からDRAM118を直接参照させることで、メモリ同期自体を省略可能としている。そして、FPGA111起動完了後は、DRAM118をFPGAに再アタッチしてやることで、FPGA111は処理を継続できる。
This embodiment utilizes the characteristic that the
D-CTRL121は、FPGA111又はAlt-SIM202からDRAM118へのアクセスを制御するモジュール(メモリ制御部)である。D-CTRL121は、PCIE Controller115aとも結線されている。D-CTRL121は、通常時においては、FPGA111からのアクセスのみを許容する。PCIE Controller115aからの指示があった場合、D-CTRL121は、Alt-SIM202に代表されるOS上のアプリケーションに、DRAM118の一部もしくは全領域を割り当てる制御を行う。
The D-
PCIE Controller115aは、FPGA111を制御するためのハードウェアモジュールである。具体的には、PCIE Controller115aは、FPGA Driverからの制御に従い、FPGA111に対し、FPGA111の再起動やその回路情報の更新を命令する。また、PCIE Controller115aは、FPGA Driver経由でAPP201a側に、FPGA111の状態を通知する。また、PCIE Controller115aは、APP201aからの指示に従い、S-SW112、N-SW113を切り替えるスイッチ制御回路(スイッチ制御回路15参照)としても機能する。
さらに、本実施形態のPCIE Controller115aは、D-CTRL121に対して、DRAMへのアクセス主体の切り替えを指示する。具体的には、PCIE Controller115aは、DRAM118にアクセスできる主体を、FPGA111からAlt-SIM202に変更する。また、PCIE Controller115aは、DRAM118にアクセスできる主体を、Alt-SIM202からFPGA111に変更する。
Furthermore, the
APP201aは、FPGA Driver204経由で指示を出して、DRAM118のメモリ領域をアプリケーションから参照できる状態にする。これにより、Alt-SIM202が、DRAM118を直接参照できるようになる。また、APP201aは、FPGA Driver204経由で、DRAM118のメモリ領域をFPGA111から参照できる状態に戻す処理を行う。
The
続いて、本実施形態の動作について図面を参照して詳細に説明する。図8は、本発明の第2の実施形態の動作を表したフローチャートである。図8を参照すると、まず、APP201aは、FPGA111の回路を更新するため、Alt-SIM202を起動する(ステップS201)。
Next, the operation of this embodiment will be explained in detail with reference to the drawings. FIG. 8 is a flowchart showing the operation of the second embodiment of the present invention. Referring to FIG. 8, first, the
次に、APP201aは、DRAM118のアクセス主体をアプリケーションに切り替える(ステップS202)。この指示は、FPGA Driver204、PCIE Controller115a及びD-CTRL121を経由して指示される。
Next, the
次に、APP201aは、Alt-SIM202の起動を確認して、Alt-SIM202にDRAM118のアクセス権を渡す(ステップS203)。以降、Alt-SIM202は、modules120と同等の処理を実行できる状態になる。
Next, the
次に、APP201aは、FPGA Driver204経由でN-SW113及びS-SW112をバイパスモードに切り替える(ステップS204)。
Next, the
次に、APP201aは、NIC Driver203から受信したパケットをAlt-SIM202を用いてパケット処理するように動作を切り変える(ステップS205)。具体的には、NIC Driver203から受信したパケットをAlt-SIM202に渡し、Alt-SIM202から出力されたパケットをN-SW113側に送る処理を行う。
Next, the
次に、APP201aは、FPGA Driver204に対し、FPGA111の更新を指示する(ステップS206)。以降、FPGA111側で回路情報の更新が行われる。FPGA111側における回路情報の更新は、第1の実施形態と同様であるため、説明を省略する。
Next, the
APP201aは、前記FPGA111の起動完了通知を受け取ると(ステップS208)、DRAM118のアクセス主体を、Alt-SIM202からFPGA111に戻す(ステップS209)。これにより、以降、FPGA111はDRAM118を参照できるようになる。
When the
その後、APP201aは、FPGA Driver204に対し、S-SW112及びN-SW113をFPGAモードに切り替えるよう指示する(ステップS210)。
After that, the
最後に、APP201aは、Alt-SIM202を停止する(ステップS211)。
Finally, the
以上、説明したように、第2の実施形態でも、FPGA111の回路情報の更新中もS-SW112、N-SW113にパケットの転送を継続させ、代替モジュールにてパケットの処理を行わせ、サービスを継続することができる。具体的には、上記図6に示したFPGA111更新時においても、代替モジュールとして、Alt-SIM202が処理を続けることで、サービスの完全停止を防ぐことができる。さらに、第1の実施形態との対比においても、メモリ同期のための例外パケットの処理を省略できるという利点がある。
As explained above, even in the second embodiment, the S-
以上、本発明の各実施形態を説明したが、本発明は、上記した実施形態に限定されるものではなく、本発明の基本的技術的思想を逸脱しない範囲で、更なる変形・置換・調整を加えることができる。例えば、各図面に示したネットワーク構成、各要素の構成、メッセージの表現形態は、本発明の理解を助けるための一例であり、これらの図面に示した構成に限定されるものではない。 Although each embodiment of the present invention has been described above, the present invention is not limited to the above-described embodiments, and may be further modified, replaced, or adjusted without departing from the basic technical idea of the present invention. can be added. For example, the network configuration, the configuration of each element, and the form of message expression shown in each drawing are examples to help understand the present invention, and the present invention is not limited to the configuration shown in these drawings.
例えば、本発明は、NICチップの機能もFPGAで実現したタイプのSNICにも適用可能である。この場合、S-SW112a及びN-SW113aは、図9に示すように、FPGA111内の書き換え可能領域(Writable FPGA)116の入出力端に配置されることになる(第3の実施形態)。
For example, the present invention is also applicable to a type of SNIC in which the functions of the NIC chip are also realized by FPGA. In this case, the S-
また、上記した各実施形態のFPGA111に実装する機能は、通信の暗号化や、パケットのオーダリング等の通信処理に限られない。例えば、下記のような、より上位レイヤの処理をFPGA111に担わせることもできる。
Further, the functions implemented in the
(1)Webサービス
本発明は、例えば、動的なWebコンテンツをFPGA111上の回路で生成し、静的なコンテンツをIAサーバ200側のAPP201で応答する形態のWebサービスを実現するSNICにも適用可能である。
(1) Web service The present invention is also applicable to, for example, a SNIC that realizes a Web service in which dynamic Web content is generated by a circuit on the
一般的に動的Webコンテンツ作成の方がCPUのリソースを使用するため、FPGA111に動的なWebページを生成する回路を実装することで、レスポンスを早くすることが可能になり、ユーザエクスペリエンス向上を期待できる。
例えば、動的Webページ作成は、外部のDB(データベース)にアクセスしてユーザ登録情報(購入履歴など)を取得したり、外部サービスのAPI(Application Programming Interface)を呼び出すことが行われる。このように動的なWebページの生成には、ネットワークを経由して他サービスを介することが多い。SNIC内のFPGA111で、こうした機能を実装することで、さらなる性能向上を期待することができる。
Generally, dynamic web content creation uses more CPU resources, so by implementing a circuit that generates dynamic web pages on the
For example, dynamic web page creation is performed by accessing an external DB (database) to obtain user registration information (purchase history, etc.) or by calling an API (Application Programming Interface) of an external service. In this way, dynamic Web page generation often involves using other services via a network. By implementing these functions in the
このとき、WebサービスのセッションはSSL/TLS等のセキュリティレイヤのコンテキスト情報だけではなく、ユーザセッションのコンテキストも管理している(例えば、ブラウザの戻るボタンを押しても、そのユーザセッションとして、ありえない画面遷移のため、Webサービスが以前と同じWebページを生成できないことがある)。なお、SSL、TLSは、それぞれSecure Sockets Layer、Transport Layer Securityの略である。 At this time, the web service session manages not only the context information of the security layer such as SSL/TLS, but also the context of the user session (for example, even if you press the back button of the browser, the screen transition that is impossible for that user session) Therefore, the web service may not be able to generate the same web page as before). Note that SSL and TLS are abbreviations for Secure Sockets Layer and Transport Layer Security, respectively.
本発明のSNICの場合、これらのコンテキスト情報は、SNIC100内のDRAM118上で保持される。このコンテキスト情報を、代替動的Webページ生成を行う代替モジュール(上記Alt-SIM202相当)と同期するように構成することで、FPGA111内の回路更新時も、ユーザセッション断を避けることができることになる。また、これにより、ユーザとしても、Webサービスへ再ログインする煩わしさが無くなるという利点がある。
For the SNIC of the present invention, this context information is maintained on
(2)画像認識アプリケーション
運転支援サービスとして、車載のカメラで撮影した動画をモバイルエッジのデータセンターで解析処理して、危険物を認識し、近傍の自動車に通知するサービスが想定される。本発明は、このようなサービスを実現するSNICにも適用可能である。
(2) Image recognition application As a driving support service, it is envisaged that a service will be provided that analyzes and processes videos taken with an in-vehicle camera at a mobile edge data center, recognizes dangerous objects, and notifies nearby vehicles. The present invention is also applicable to SNICs that implement such services.
この時、画像の解析処理をFPGA111で実装することで性能(例えば、認識件数/秒)を向上することができる。この画像認識エンジンを向上するには日々アップデートが必要になるが、本発明を適用することで、サービスを止めずに、画像認識エンジンの更新を行うことが可能となる。なお、その際に、サービスの特性を考慮して、画像認識エンジンの更新タイミングを決定することも好ましい。例えば、自動車の場合、夜間のユーザ数(自動車数)が少ないという特性がある。これを利用して、性能の縮退が許容される夜間に、サービス断を避けつつ解析エンジンを更新することができる。
At this time, by implementing image analysis processing in the
また、上記した第1~第3の実施形態のIAサーバは、図10のCPU(Central Processing Unit)9010、通信インタフェース9020、メモリ9030、補助記憶装置9040を備える構成に例示される。
Further, the IA server of the first to third embodiments described above is exemplified in a configuration including a CPU (Central Processing Unit) 9010, a
最後に、本発明の好ましい形態を要約する。
[第1の形態]
(上記第1の視点によるネットワークインタフェースカード参照)
[第2の形態]
上記したネットワークインタフェースカードの1対のスイッチは、
前記第2のモードにおいて、前記プログラム可能論理回路に、前記コンピュータ側とのメモリ同期用のパケットを送るよう動作する構成を採ることができる。
[第3の形態]
上記したネットワークインタフェースカードの1対のスイッチは、前記プログラム可能論理回路内部の可変領域の入力端と、出力端にそれぞれ配置されている構成を採ることができる。
[第4の形態]
上記したネットワークインタフェースカードは、さらに、
前記アプリケーションプログラム側から、プログラム可能論理回路が一時的に情報を記憶するために用いるメモリへのアクセスを許容するメモリ制御部を備える構成を採ることができる。
[第5の形態]
上記したネットワークインタフェースカードの前記プログラム可能論理回路は、前記メモリ制御部から前記メモリの情報を引き継ぐことで、前記回路情報の書き換え後、前記コンピュータで実施させていた処理を引き継ぎ可能に構成されていることが好ましい。
[第6の形態]
(上記第2の視点によるコンピュータ参照)
[第7の形態]
(上記第3の視点による回路情報の書き換え方法参照)
[第8の形態]
(上記第4の視点によるプログラム参照)
なお、上記第6~第8の形態は、第1の形態と同様に、第2~第5の形態に展開することが可能である。
Finally, preferred embodiments of the present invention will be summarized.
[First form]
(Refer to the network interface card from the first perspective above)
[Second form]
The pair of switches on the network interface card described above are
In the second mode, a configuration may be adopted that operates to send a packet for memory synchronization with the computer side to the programmable logic circuit.
[Third form]
The pair of switches of the network interface card described above may be arranged at the input end and the output end of the variable area inside the programmable logic circuit, respectively.
[Fourth form]
The above-mentioned network interface card further includes:
The application program may include a memory control unit that allows the programmable logic circuit to access the memory used to temporarily store information.
[Fifth form]
The programmable logic circuit of the network interface card described above is configured to be able to take over the processing performed by the computer after the circuit information is rewritten by taking over the information in the memory from the memory control unit. It is preferable.
[Sixth form]
(Refer to the computer from the second viewpoint above)
[Seventh form]
(Refer to the method for rewriting circuit information from the third viewpoint above)
[Eighth form]
(See the program from the fourth perspective above)
Note that the sixth to eighth forms described above can be developed into second to fifth forms, similar to the first form.
なお、上記の特許文献の各開示を、本書に引用をもって繰り込むものとする。本発明の全開示(請求の範囲を含む)の枠内において、さらにその基本的技術思想に基づいて、実施形態ないし実施例の変更・調整が可能である。また、本発明の開示の枠内において種々の開示要素(各請求項の各要素、各実施形態ないし実施例の各要素、各図面の各要素等を含む)の多様な組み合わせ、ないし選択(部分的削除を含む)が可能である。すなわち、本発明は、請求の範囲を含む全開示、技術的思想にしたがって当業者であればなし得るであろう各種変形、修正を含むことは勿論である。特に、本書に記載した数値範囲については、当該範囲内に含まれる任意の数値ないし小範囲が、別段の記載のない場合でも具体的に記載されているものと解釈されるべきである。さらに、上記引用した文献の各開示事項は、必要に応じ、本発明の趣旨に則り、本発明の開示の一部として、その一部又は全部を、本書の記載事項と組み合わせて用いることも、本願の開示事項に含まれるものと、みなされる。 In addition, each disclosure of the above-mentioned patent documents is incorporated into this book by reference. Within the scope of the entire disclosure of the present invention (including the claims), changes and adjustments to the embodiments and examples are possible based on the basic technical idea thereof. In addition, various combinations or selections (parts) of various disclosed elements (including each element of each claim, each element of each embodiment or example, each element of each drawing, etc.) within the framework of the disclosure of the present invention are also available. (including deletion) is possible. That is, it goes without saying that the present invention includes the entire disclosure including the claims and various modifications and modifications that a person skilled in the art would be able to make in accordance with the technical idea. In particular, numerical ranges stated herein should be construed as specifically stating any numerical value or subrange within the range, even if not otherwise stated. Furthermore, each of the disclosures in the documents cited above may be used, in part or in whole, in combination with the statements in this book as part of the disclosure of the present invention, if necessary, in accordance with the spirit of the present invention. It is deemed to be included in the disclosure of this application.
10 ネットワークインタフェースカード
11 プログラム可能論理回路
12、13 スイッチ
14 コンピュータ側インタフェース(IF)
15 スイッチ制御回路
20 コンピュータ
100、100a、100b SNIC
111 FPGA
112、112a S-SW
113、113a N-SW
114 Ether Network Controller
115、115a PCIE Controller
116 書き換え可能な領域(Writable FPGA)
117 QSFP
118 DRAM
119 FLASH
120 modules
121 D-CTRL
200 IAサーバ
201、201a APP
202 Alt-SIM
203 NIC Driver
204 FPGA Driver
205 CPU/RAM
210 プログラム群(APL/OS)
9000 コンピュータ
9010 CPU
9020 通信インタフェース
9030 メモリ
9040 補助記憶装置
10
15
111 FPGA
112, 112a S-SW
113, 113a N-SW
114 Ether Network Controller
115, 115a PCIE Controller
116 Writable area (Writable FPGA)
117 QSFP
118 DRAM
119 FLASH
120 modules
121 D-CTRL
200
202 Alt-SIM
203 NIC Driver
204 FPGA Driver
205 CPU/RAM
210 Program group (APL/OS)
9000
9020 Communication interface 9030
Claims (9)
前記プログラム可能論理回路の入力端と、出力端にそれぞれ配置され、前記プログラム可能論理回路にパケットを送る第1のモードと、前記プログラム可能論理回路を経由せずにバイパスする第2のモードとを切り替え可能な1対のスイッチと、
前記プログラム可能論理回路に代わり、パケットの処理を実行可能なアプリケーションプログラムを実行可能なプロセッサが搭載されたコンピュータに、前記パケットを送信するコンピュータ側インタフェースと、
前記プログラム可能論理回路の前記回路情報の書き換えの際に、前記1対のスイッチを第2のモードに切り替えるスイッチ制御回路と、を備え、
前記回路情報の書き換え時に、前記プログラム可能論理回路に代わって、前記コンピュータによりパケットの処理を実行可能に構成されているネットワークインタフェースカード。 a programmable logic circuit that processes input packets according to recorded circuit information;
A first mode that is arranged at an input end and an output end of the programmable logic circuit and sends a packet to the programmable logic circuit, and a second mode that bypasses the programmable logic circuit without going through the programmable logic circuit. A pair of switchable switches,
a computer-side interface that transmits the packet to a computer equipped with a processor capable of executing an application program capable of processing the packet in place of the programmable logic circuit;
a switch control circuit that switches the pair of switches to a second mode when rewriting the circuit information of the programmable logic circuit;
A network interface card configured to allow the computer to process packets in place of the programmable logic circuit when the circuit information is rewritten.
前記第2のモードにおいて、前記プログラム可能論理回路に、前記コンピュータ側とのメモリ同期用のパケットを送るよう動作する請求項1のネットワークインタフェースカード。 The pair of switches are:
2. The network interface card of claim 1, operative in said second mode to send a packet to said programmable logic circuit for memory synchronization with said computer side.
前記プログラム可能論理回路の入力端と、出力端にそれぞれ配置され、前記プログラム可能論理回路にパケットを送る第1のモードと、前記プログラム可能論理回路を経由せずにバイパスする第2のモードとを切り替え可能な1対のスイッチと、
接続されたコンピュータに、前記パケットを送信するコンピュータ側インタフェースと、
前記プログラム可能論理回路の前記回路情報の書き換えの際に、前記1対のスイッチを第2のモードに切り替えるスイッチ制御回路と、を備え、
前記回路情報の書き換え時に、前記プログラム可能論理回路に代わって、前記コンピュータによりパケットの処理を実行可能に構成されているネットワークインタフェースカードを搭載したコンピュータ。 a programmable logic circuit that processes input packets according to recorded circuit information;
A first mode that is arranged at an input end and an output end of the programmable logic circuit and sends a packet to the programmable logic circuit, and a second mode that bypasses the programmable logic circuit without going through the programmable logic circuit. A pair of switchable switches,
a computer-side interface that transmits the packet to a connected computer;
a switch control circuit that switches the pair of switches to a second mode when rewriting the circuit information of the programmable logic circuit;
A computer equipped with a network interface card configured to enable the computer to process packets in place of the programmable logic circuit when rewriting the circuit information.
前記プログラム可能論理回路の入力端と、出力端にそれぞれ配置され、前記プログラム可能論理回路にパケットを送る第1のモードと、前記プログラム可能論理回路を経由せずにバイパスする第2のモードとを切り替え可能な1対のスイッチと、
前記プログラム可能論理回路に代わり、パケットの処理を実行可能なアプリケーションプログラムを実行可能なプロセッサが搭載されたコンピュータに、前記パケットを送信するコンピュータ側インタフェースと、
前記プログラム可能論理回路の前記回路情報の書き換えの際に、前記1対のスイッチを第2のモードに切り替えるスイッチ制御回路と、を備えたネットワークインタフェースカードの前記回路情報の書き換え方法であって、
前記プログラム可能論理回路に代わり、パケットの処理を実行可能なアプリケーションプログラムを起動し、
前記1対のスイッチを、前記第1のモードから前記第2のモードに切り替え、
前記回路情報を書き換えた後に、前記1対のスイッチを、前記第2のモードから前記第1のモードに切り替える、
回路情報の書き換え方法。 a programmable logic circuit that processes input packets according to recorded circuit information;
A first mode that is arranged at an input end and an output end of the programmable logic circuit and sends a packet to the programmable logic circuit, and a second mode that bypasses the programmable logic circuit without going through the programmable logic circuit. A pair of switchable switches,
a computer-side interface that transmits the packet to a computer equipped with a processor capable of executing an application program capable of processing the packet in place of the programmable logic circuit;
A method for rewriting the circuit information of a network interface card, comprising: a switch control circuit that switches the pair of switches to a second mode when rewriting the circuit information of the programmable logic circuit;
activating an application program capable of processing packets in place of the programmable logic circuit;
switching the pair of switches from the first mode to the second mode;
after rewriting the circuit information, switching the pair of switches from the second mode to the first mode;
How to rewrite circuit information.
前記プログラム可能論理回路の入力端と、出力端にそれぞれ配置され、前記プログラム可能論理回路にパケットを送る第1のモードと、前記プログラム可能論理回路を経由せずにバイパスする第2のモードとを切り替え可能な1対のスイッチと、
前記プログラム可能論理回路に代わり、パケットの処理を実行可能なアプリケーションプログラムを実行可能なプロセッサが搭載されたコンピュータに、前記パケットを送信するコンピュータ側インタフェースと、
前記プログラム可能論理回路の前記回路情報の書き換えの際に、前記1対のスイッチを第2のモードに切り替えるスイッチ制御回路と、を備えたネットワークインタフェースカードの前記回路情報の書き換えプログラムであって、
前記プログラム可能論理回路に代わり、パケットの処理を実行可能なアプリケーションプログラムを起動する処理と、
前記1対のスイッチを、前記第1のモードから前記第2のモードに切り替える処理と、
前記回路情報を書き換えた後に、前記1対のスイッチを、前記第2のモードから前記第1のモードに切り替える処理と、
を前記コンピュータに実行させるプログラム。 a programmable logic circuit that processes input packets according to recorded circuit information;
A first mode that is arranged at an input end and an output end of the programmable logic circuit and sends a packet to the programmable logic circuit, and a second mode that bypasses the programmable logic circuit without going through the programmable logic circuit. A pair of switchable switches,
a computer-side interface that transmits the packet to a computer equipped with a processor capable of executing an application program capable of processing the packet in place of the programmable logic circuit;
A program for rewriting the circuit information of a network interface card, comprising: a switch control circuit that switches the pair of switches to a second mode when rewriting the circuit information of the programmable logic circuit;
activating an application program capable of processing packets in place of the programmable logic circuit;
a process of switching the pair of switches from the first mode to the second mode;
after rewriting the circuit information, switching the pair of switches from the second mode to the first mode;
A program that causes the computer to execute.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018231098 | 2018-12-10 | ||
JP2018231098 | 2018-12-10 | ||
PCT/JP2019/048118 WO2020122024A1 (en) | 2018-12-10 | 2019-12-09 | Network interface card, computer, circuit information rewriting method and program |
Publications (2)
Publication Number | Publication Date |
---|---|
JPWO2020122024A1 JPWO2020122024A1 (en) | 2021-10-28 |
JP7439767B2 true JP7439767B2 (en) | 2024-02-28 |
Family
ID=71076450
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2020560100A Active JP7439767B2 (en) | 2018-12-10 | 2019-12-09 | Network interface card, computer, circuit information rewriting method and program |
Country Status (2)
Country | Link |
---|---|
JP (1) | JP7439767B2 (en) |
WO (1) | WO2020122024A1 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2022166934A (en) | 2021-04-22 | 2022-11-04 | 富士通株式会社 | Information processing device, overload control program, and overload control method |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010166488A (en) | 2009-01-19 | 2010-07-29 | Alaxala Networks Corp | Network relaying apparatus |
JP2012230529A (en) | 2011-04-26 | 2012-11-22 | Mitsubishi Electric Corp | Remote maintenance system of fpga loaded device |
US9698793B1 (en) | 2016-04-30 | 2017-07-04 | Arista Networks, Inc. | Live system upgrade |
JP2017139643A (en) | 2016-02-04 | 2017-08-10 | 株式会社日立製作所 | Optical access network system, station side device, and control program therefor |
WO2017170311A1 (en) | 2016-03-31 | 2017-10-05 | 日本電気株式会社 | Control method and control apparatus for network system, and server |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7746901B2 (en) * | 2006-12-14 | 2010-06-29 | Oracle America, Inc. | Method and system for offloaded transport layer protocol switching |
US9565207B1 (en) * | 2009-09-04 | 2017-02-07 | Amazon Technologies, Inc. | Firmware updates from an external channel |
US9846576B2 (en) * | 2014-12-27 | 2017-12-19 | Intel Corporation | Technologies for reprogramming network interface cards over a network |
US20160266894A1 (en) * | 2015-03-11 | 2016-09-15 | Cavium, Inc. | Systems and methods for live upgrade and update of firmware on an embedded networking device |
-
2019
- 2019-12-09 JP JP2020560100A patent/JP7439767B2/en active Active
- 2019-12-09 WO PCT/JP2019/048118 patent/WO2020122024A1/en active Application Filing
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010166488A (en) | 2009-01-19 | 2010-07-29 | Alaxala Networks Corp | Network relaying apparatus |
JP2012230529A (en) | 2011-04-26 | 2012-11-22 | Mitsubishi Electric Corp | Remote maintenance system of fpga loaded device |
JP2017139643A (en) | 2016-02-04 | 2017-08-10 | 株式会社日立製作所 | Optical access network system, station side device, and control program therefor |
WO2017170311A1 (en) | 2016-03-31 | 2017-10-05 | 日本電気株式会社 | Control method and control apparatus for network system, and server |
US9698793B1 (en) | 2016-04-30 | 2017-07-04 | Arista Networks, Inc. | Live system upgrade |
Non-Patent Citations (1)
Title |
---|
Daniel Firestone, et al.,Azure Accelerated Networking: SmartNICs in the Public Cloud,In the Proceedings of the 15th USENIX Symposium on Networked Systems Design and Implementation(NSDI),2018年04月09日,pp.51-64,[検索日 2019.12.18],インターネット:<https://www.usenix.org/system/files/conference/nsdi18/nsdi18-firestone.pdf> |
Also Published As
Publication number | Publication date |
---|---|
WO2020122024A1 (en) | 2020-06-18 |
JPWO2020122024A1 (en) | 2021-10-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10700979B2 (en) | Load balancing for a virtual networking system | |
WO2022105884A1 (en) | Data transmission method and apparatus, network device, and storage medium | |
US20190306087A1 (en) | Methods and apparatus for dynamic packet pool configuration in networking stack infrastructures | |
US10084647B2 (en) | Data forwarding to server via virtual network card or to external network via network interface, based on fusion descriptor | |
EP3471366A1 (en) | Container deployment method, communication method between services and related devices | |
US8743894B2 (en) | Bridge port between hardware LAN and virtual switch | |
CN109861839B (en) | Method for upgrading virtual switch without service interruption and related equipment | |
US8417848B2 (en) | Method and apparatus for implementing multiple service processing functions | |
US9864606B2 (en) | Methods for configurable hardware logic device reloading and devices thereof | |
WO2015073190A1 (en) | Shortening of service paths in service chains in a communications network | |
WO2015058699A1 (en) | Data forwarding | |
US9515963B2 (en) | Universal network interface controller | |
JP6345604B2 (en) | COMMUNICATION DEVICE, EXTENDED FUNCTION MOVE METHOD, AND COMMUNICATION SYSTEM | |
CN111371694B (en) | Shunting method, device and system, processing equipment and storage medium | |
US9699118B2 (en) | System for flexible dynamic reassignment of throughput | |
JP7439767B2 (en) | Network interface card, computer, circuit information rewriting method and program | |
EP2620876B1 (en) | Method and apparatus for data processing, pci-e bus system and server | |
US20190028392A1 (en) | Systems and methods for enhanced autonegotiation | |
US9558149B2 (en) | Dual system | |
CN103907094A (en) | Serialization of access to data in multi-mainframe computing environments | |
CN108886493B (en) | Virtual exchange model based on topological structure and provided with pluggable flow management protocol | |
CN111800340B (en) | Data packet forwarding method and device | |
WO2014071637A1 (en) | Method and device for performing network configuration on virtual machine | |
KR20170057770A (en) | Method for controlling transsion of packet in virtual switch | |
JP2020198007A (en) | Information processing device, information processing system and information processing program |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20221101 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20231010 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20240116 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20240129 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 7439767 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |