JP2017151765A - Monitoring device, monitoring method, and program - Google Patents
Monitoring device, monitoring method, and program Download PDFInfo
- Publication number
- JP2017151765A JP2017151765A JP2016034154A JP2016034154A JP2017151765A JP 2017151765 A JP2017151765 A JP 2017151765A JP 2016034154 A JP2016034154 A JP 2016034154A JP 2016034154 A JP2016034154 A JP 2016034154A JP 2017151765 A JP2017151765 A JP 2017151765A
- Authority
- JP
- Japan
- Prior art keywords
- packet
- life
- death
- storage unit
- driver
- 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.)
- Granted
Links
Images
Landscapes
- Debugging And Monitoring (AREA)
Abstract
Description
本発明は、監視装置、監視方法、及びプログラムに関する。 The present invention relates to a monitoring device, a monitoring method, and a program.
近年、計算機システム上のアプリケーションを高速化処理させるため、非特許文献1に示されるDPDK(Data Plane Development Kit)というライブラリがリリースされた。 In recent years, a library called DPDK (Data Plane Development Kit) shown in Non-Patent Document 1 has been released in order to speed up applications on a computer system.
DPDKライブラリは、アプリケーションからCPU(Central Processing Unit)に直接処理命令を送信できるため、処理を高速化することができる。更に、DPDKは、PDM(Poll Mode Driver)と呼ばれるパケット受信ドライバ及びパケット送信ドライバを提供している。PMDは、図1及び図2に示されるような、ビジーウェイト方式に基づくアルゴリズムで動作している。なお、図1及び図2には、ビジーウェイト方式の一つの実装形態であるスピンロック方式のアルゴリズムが示されている。 Since the DPDK library can directly send processing instructions from an application to a CPU (Central Processing Unit), the processing speed can be increased. Further, DPDK provides a packet reception driver and a packet transmission driver called PDM (Poll Mode Driver). The PMD operates with an algorithm based on the busy wait method as shown in FIGS. 1 and 2 show an algorithm of a spin lock method that is one implementation of the busy wait method.
図1に示されるように、パケット受信ドライバは、パケットの受信の有無をNIC(Network Interface Card)に確認しており、パケットが受信されていればそのパケットを、パケット受信ドライバがインストールされた装置内のパケット記憶部に記憶する。これらの一連の処理が高速に繰り返される。なお、パケット記憶部に記憶されたパケットは、アプリケーションによって読み取られる。 As shown in FIG. 1, the packet reception driver confirms whether or not a packet is received with a NIC (Network Interface Card), and if a packet has been received, the packet reception driver is installed as a device in which the packet reception driver is installed. Stored in the packet storage unit. A series of these processes is repeated at high speed. The packet stored in the packet storage unit is read by the application.
また、図2に示されるように、パケット送信ドライバは、前記装置内の送信用のパケット記憶部に対してアプリケーションによって書き込まれたパケットを読み取り、当該パケットをNICに送出する。これらの一連の処理が高速に繰り返される。 As shown in FIG. 2, the packet transmission driver reads a packet written by an application in a packet storage unit for transmission in the device, and sends the packet to the NIC. A series of these processes is repeated at high speed.
又は、複数のドライバが1つのパケット記憶部を参照する場合、一つのドライバ(以下、「ドライバA」という。)が処理を実行している間、他のドライバは、ドライバAの処理が完了するまでの間、パケット記憶部を繰り返し参照する。このように、ある処理を高速ループで繰り返す動作は、ビジーウェイトと呼ばれている。 Alternatively, when a plurality of drivers refer to one packet storage unit, while one driver (hereinafter referred to as “driver A”) is executing processing, the other driver completes processing of driver A. Until then, the packet storage unit is repeatedly referred to. In this manner, an operation of repeating a certain process in a high-speed loop is called busy wait.
ビジーウェイト方式を適用したパケット受信処理やパケット送信処理を実行する場合、その間のCPUは他の処理に割り込まれない。したがって、ドライバ開発者もCPUへの割り込み処理による処理遅延を減らすためにビジーウェイトを採用している。一方、CPUは、パケットの有無にかかわらず性能限界まで使用される。 When packet reception processing or packet transmission processing to which the busy wait method is applied is executed, the CPU during that time is not interrupted by other processing. Therefore, driver developers also employ busy waits to reduce processing delays due to interrupt processing to the CPU. On the other hand, the CPU is used up to the performance limit regardless of the presence or absence of a packet.
2000年代前半、ビジーウェイトは、本来、処理時間が非常に短く、起動して直ちに終了するようなプロセスやスレッドに関して使用されるのが一般的であった。すなわち、ビジーウェイト状態を長時間にわたって維持するようなプロセスやスレッドはほとんど想定されていなかった。何故なら、上記の通り、ビジーウェイト状態を長時間にわたって維持するプロセスやスレッドを駆動させる場合、CPUが長時間にわたって性能限界まで使用され、長時間にわたって他の処理を実行できなくなってしまうからである。 In the first half of the 2000s, busy waits were generally used for processes and threads that were very short in processing time and started and immediately terminated. That is, almost no processes or threads that maintain the busy wait state for a long time have been assumed. This is because, as described above, when a process or thread that maintains the busy wait state for a long time is driven, the CPU is used to the performance limit for a long time, and other processes cannot be executed for a long time. .
ところが、近年、マルチコアCPUや複数CPUソケットサーバが普及し、CPUコア数が大きく増加したこともあり、DPDKのPMDのように、CPU処理性能を占有し、パケット処理を高速化することが可能となった。 However, in recent years, multi-core CPUs and multi-CPU socket servers have become widespread, and the number of CPU cores has increased greatly. As with PMDK of DPDK, it is possible to occupy CPU processing performance and speed up packet processing. became.
しかしながら、市中技術の開発動向は、PMDのようなプロセスやスレッドが長時間にわたって駆動することについて考慮されていない。また、PMDをはじめとするビジーウェイト方式のプロセスやスレッドが長期にわたって正常に動作することは技術的に保証されていない。したがって、PMDをはじめとするビジーウェイト方式のプロセスやスレッドを長期にわたって動作させる場合、それらの正常性を確認する手段が必要不可欠である。万一にも同プロセスや同スレッドが停止している場合には、同プロセスや同スレッドを再起動させなければならないからである。 However, the development trend of commercial technology is not taken into consideration that processes and threads such as PMD are driven for a long time. Also, it is not technically guaranteed that busy wait processes and threads such as PMD operate normally over a long period of time. Therefore, when busy-process processes and threads such as PMD are operated over a long period of time, a means for confirming their normality is indispensable. This is because if the process or thread is stopped, the process or thread must be restarted.
しかし、ビジーウェイト方式で高速処理を実施するプロセスやスレッドは、処理を高速に繰り返し実行しているため、外部からの正常性の確認要求に応答できない。 However, processes and threads that perform high-speed processing using the busy wait method repeatedly execute processing at high speed, and thus cannot respond to a normality confirmation request from the outside.
本発明は、上記の点に鑑みてなされたものであって、パケットの受信又は送信をループ処理によって待機する処理の状態の監視を可能とすることを目的とする。 The present invention has been made in view of the above points, and an object of the present invention is to make it possible to monitor the status of a process in which reception or transmission of a packet is waited by a loop process.
そこで上記課題を解決するため、監視装置は、ネットワークインタフェースによるパケットの受信をループ処理によって待機し、受信されたパケットをパケット記憶部に記憶するパケット受信ドライバと、前記ネットワークインタフェース及び前記パケット受信ドライバのうちの少なくともいずれか一方の死活状態を示す情報を記憶する死活情報記憶部と、前記死活情報記憶部を参照して、前記ネットワークインタフェース及び前記パケット受信ドライバのうちの少なくともいずれか一方の死活状態を監視する監視部とを有し、前記パケット受信ドライバは、前記ループ処理の合間において、前記死活状態を示す情報を前記死活情報記憶部に書き込む。 Therefore, in order to solve the above problem, the monitoring device waits for reception of a packet by the network interface by a loop process and stores the received packet in a packet storage unit, and the network interface and the packet reception driver. A life / death information storage unit that stores information indicating at least one of the life / death statuses, and the life / death information storage unit, to determine a life / life status of at least one of the network interface and the packet reception driver. The packet reception driver writes information indicating the life / death state in the life / death information storage section between the loop processes.
パケットの受信又は送信をループ処理によって待機する処理の状態の監視を可能とすることができる。 It is possible to monitor the status of processing that waits for reception or transmission of a packet by loop processing.
以下、図面に基づいて本発明の実施の形態を説明する。図3は、本発明の実施の形態における監視装置のハードウェア構成例を示す図である。図3の監視装置10は、それぞれバスBで相互に接続されているドライブ装置100、補助記憶装置102、メモリ装置103、CPU104、及びインタフェース装置105等を有する。
Hereinafter, embodiments of the present invention will be described with reference to the drawings. FIG. 3 is a diagram illustrating a hardware configuration example of the monitoring device according to the embodiment of the present invention. The
監視装置10での処理を実現するプログラムは、CD−ROM等の記録媒体101によって提供される。プログラムを記憶した記録媒体101がドライブ装置100にセットされると、プログラムが記録媒体101からドライブ装置100を介して補助記憶装置102にインストールされる。但し、プログラムのインストールは必ずしも記録媒体101より行う必要はなく、ネットワークを介して他のコンピュータよりダウンロードするようにしてもよい。補助記憶装置102は、インストールされたプログラムを格納すると共に、必要なファイルやデータ等を格納する。
A program that realizes processing in the
メモリ装置103は、プログラムの起動指示があった場合に、補助記憶装置102からプログラムを読み出して格納する。CPU104は、メモリ装置103に格納されたプログラムに従って監視装置10に係る機能を実行する。インタフェース装置105は、例えばNIC(Network Interface Card)である。
The
なお、図3において、監視装置10は、CPU104、メモリ装置103、及びインタフェース装置105等を複数有していてもよい。また、インタフェース装置105は、複数のポートを有していてもよい。
In FIG. 3, the
図4は、本発明の実施の形態における監視装置の機能構成例を示す図である。図4において、インタフェース装置105は、パケット受信部151及びパケット送信部152等を有する。
FIG. 4 is a diagram illustrating a functional configuration example of the monitoring device according to the embodiment of the present invention. In FIG. 4, the
パケット受信部151は、インタフェース装置105において、パケットの受信側の回線及び回路を含む部分に相当する。パケット受信部151は、ネットワークからパケットを受信すると、当該パケットを、パケット受信部151に属する受信バッファ151mに記憶する。
The
パケット送信部152は、インタフェース装置105において、パケットの送信側の回線及び回路を含む部分に相当する。パケット送信部152は、パケット送信部152に属する送信バッファ152mに書き込まれたパケットを、ネットワークに送信する。
The
なお、受信バッファ151m及び送信バッファ152mは、インタフェース装置105が有するメモリを用いて実現される。
The
一方、ユーザ空間11は、監視装置10にインストールされた1以上のプログラムが、CPU104に実行させる処理により、監視装置10のOS(Operating System)上において実現されるソフトウェア空間である。ユーザ空間11は、パケット受信ドライバ111、パケット送信ドライバ112、アプリケーション113、及び監視部114等を含む。これら各部は、監視装置10にインストールされた1以上のプログラムが、CPU104に実行させる処理により実現される。
On the other hand, the
パケット受信ドライバ111は、ループ処理によって受信バッファ151mを繰り返し参照し、パケット受信部151への受信パケットの到着を待機する。受信パケットが受信バッファ151mに記憶されると、パケット受信ドライバ111は、受信パケットを受信バッファ151mから取得し、受信パケットを受信パケット記憶部115に書き込む。パケット受信ドライバ111は、以上一連の処理をビジーウェイト方式又はスピンロック方式に基づいて高速に繰り返すプロセス又はスレッドとして起動される。
The
受信パケット記憶部115は、パケット受信ドライバ111によって書き込まれた受信パケットを記憶する。なお、受信パケット記憶部115は、例えば、メモリ装置103を用いて実現される。
The reception
アプリケーション113は、受信パケット記憶部115に記憶されている受信パケットを取得し、当該受信パケットに関して所定の処理を実行する。アプリケーション113はまた、処理結果又は処理要求等に関する送信パケットを送信パケット記憶部116に書き込む。
The
送信パケット記憶部116は、アプリケーション113によって書き込まれた送信パケットを記憶する。なお、送信パケット記憶部116は、例えば、メモリ装置103を用いて実現される。
The transmission
パケット送信ドライバ112は、ループ処理によって送信パケット記憶部116を繰り返し参照し、送信パケット記憶部116への送信パケットの書き込みを待機する。送信パケット記憶部116に送信パケットが書き込まれると、パケット送信ドライバ112は、当該送信パケットを読み取り、当該送信パケットを送信バッファ152mに書き込む。パケット送信ドライバ112は、以上の一連の処理をビジーウェイト方式又はスピンロック方式に基づいて高速に繰り返すプロセス又はスレッドとして起動される。
The
死活情報記憶部117rは、パケット受信部151及びパケット受信ドライバ111の少なくともいずれか一方の死活状態(正常性)を示す情報(以下、「死活情報」という。)を記憶する。すなわち、パケット受信ドライバ111は、例えば、ループ処理の合間(例えば、定期的)に、死活情報を死活情報記憶部117rに記憶する。
The life / death
死活情報記憶部117tは、パケット送信部152又はパケット送信ドライバ112の死活情報を記憶する。すなわち、パケット送信ドライバ112は、例えば、ループ処理の合間(例えば、定期的)に、死活情報を死活情報記憶部117tに記憶する。
The life / death
監視部114は、死活情報記憶部117rを参照して、パケット受信部151及びパケット受信ドライバ111の少なくともいずれか一方の正常性を監視する。監視部114は、また、死活情報記憶部117tを参照して、パケット送信部152及びパケット送信ドライバ112の少なくともいずれか一方の正常性を監視する。
The
なお、死活情報記憶部117r及び死活情報記憶部117tは、例えば、メモリ装置103を用いて実現される。
Note that the life and death
なお、パケット受信ドライバ111及びパケット送信ドライバ112には、それぞれ1つのCPUコアが割り当てられてもよい。
Note that one packet core may be assigned to each of the
また、本実施の形態には、Intel(登録商標)社のDPDK(Data Plane Development Kit)ライブラリのPDM(Poll Mode Driver)を用いた、ソフトウェアのOpenFlowスイッチ(非特許文献2)の一つであるLagopus(非特許文献3)が適用されてもよい。すなわち、パケット受信ドライバ111及びパケット送信ドライバ112は、PDMによって実現されてもよい。
Further, the present embodiment is one of software OpenFlow switches (Non-Patent Document 2) using PDM (Poll Mode Driver) of DPDK (Data Plane Development Kit) library of Intel (registered trademark). Lagopus (Non-Patent Document 3) may be applied. That is, the
図5は、本実施の形態における機能構成についての論理関係の一例を示す図である。図5では、パケット受信部151は4つである。また、パケット受信ドライバ111は2つであり、受信パケット記憶部115は、8つである。また、アプリケーション113は、4つである。また、送信パケット記憶部116は、8つであり、パケット送信ドライバ112は2つである。また、パケット送信部152は4つである。
FIG. 5 is a diagram illustrating an example of a logical relationship regarding the functional configuration according to the present embodiment. In FIG. 5, there are four
各パケット受信部151は、PMDを駆動させる。各パケット受信部151は、パケットを受信すると、当該受信パケットを、各パケット受信部151の受信バッファ151mに書き込む。各パケット受信ドライバ111は、それぞれに対応する2つの受信バッファ151mから受信パケットを取得し、当該受信パケットを、各パケット受信ドライバ111に対応する4つの受信パケット記憶部115のいずれかに書き込む。各アプリケーション113は、例えば、Flow Lookup Packet Processingである。各アプリケーション113は、それぞれに対応する2つの受信パケット記憶部115から受信パケットを取得する。また、各アプリケーション113は、それぞれに対応する2つの送信パケット記憶部116に送信パケットを書き込む。なお、各アプリケーション113もPMDを駆動させてもよい。
Each
各パケット送信ドライバ112は、PMDを駆動させる。各パケット送信ドライバ112は、それぞれに対応する4つの送信パケット記憶部116から送信パケットを取得し、当該送信パケットを、各パケット送信ドライバ112に対応する2つの送信バッファ152mのいずれかに書き込む。各パケット送信部152は、それぞれの送信バッファ152mに書き込まれた送信パケットを送信する。
Each
なお、図5では、監視部114は1つであるが、死活情報記憶部117rごと及び死活情報記憶部117tごとに監視部114が設けられてもよい。
In FIG. 5, there is one
又は、図5では、パケット受信ドライバ111ごとに死活情報記憶部117rが配置され、パケット送信ドライバ112ごとに死活情報記憶部117tが配置されているが、複数のパケット受信ドライバ111又は複数のパケット送信ドライバ112に対して一つの死活情報記憶部117が配置されてもよい。この場合、死活情報は、パケット受信ドライバ111又はパケット送信ドライバ112ごとに区別されて記憶されればよい。
Alternatively, in FIG. 5, a life / death
以下、本実施の形態において実行させる処理手順について説明する。図6は、パケット受信ドライバが実行する処理手順の一例を説明するためのフローチャートである。 Hereinafter, a processing procedure to be executed in the present embodiment will be described. FIG. 6 is a flowchart for explaining an example of a processing procedure executed by the packet reception driver.
パケット受信ドライバ111は、高速なループ処理においてN回に1回の周期が到来しない場合には(S101でNo)、受信バッファ151mを参照して、受信パケットの有無を確認する(S102)。受信パケットが無い場合(S102でNo)、ステップS101に戻る。受信パケットが有る場合(S102でYes)、パケット受信ドライバ111は、当該受信パケットを取得して(S103)、受信パケット記憶部115へ書き込む(S104)。
The
一方、N回に1回の周期が到来した場合(S101でYes)、パケット受信ドライバ111は、パケット受信部151の死活状態(正常性)を確認する(S105)。パケット受信部151の死活情報は、例えば、以下のようにして確認される。パケット受信ドライバ111は、ハードウェアのパケット受信部151に信号を送り、その応答を受け取ることができる。それゆえ、当該応答を受け取ることができれば、パケット受信ドライバ111はパケット受信部151が正常状態であると判定する。又は、パケット受信ドライバ111は、パケット受信部151のメモリである受信バッファ151mを参照することができる。パケット受信ドライバ111が受信バッファ151mを参照できれば、パケット受信部151が正常状態であると判定されてもよい
続いて、パケット受信ドライバ111は、確認結果を示す死活情報を死活情報記憶部117rに書き込む(S106)。この際、過去に書き込まれた死活情報は、新たな死活情報によって上書きされる。
On the other hand, when one cycle has arrived every N times (Yes in S101), the
ここで、そもそもパケット受信ドライバ111が正常でない場合(停止している場合)、ステップS105及びS106は実行されない。この場合、死活情報の書き込みは行われない。したがって、死活情報の有無、及び死活情報の内容によって、パケット受信ドライバ111及びパケット受信部151の死活状態は、以下のように区別可能である。
Here, if the
死活情報が死活情報記憶部117rに記憶されていない場合、少なくともパケット受信ドライバ111に異常が有り、パケット受信部151の死活状態は不明である。
When the life / death information is not stored in the life / death
死活情報が死活情報記憶部117rに記憶されており、当該死活情報が異常状態を示す場合、パケット受信ドライバ111は正常であるが、パケット受信部151に異常が有る。
When the life / death information is stored in the life / death
死活情報が死活情報記憶部117rに記憶されており、当該死活情報が正常状態を示す場合、パケット受信ドライバ111及びパケット受信部151が正常である。
When the life / death information is stored in the life / death
このように、パケット受信ドライバ111は、自身及びパケット受信部151の正常性を示す死活情報を定期的に死活情報記憶部117rに書き込むことができる。
In this way, the
図7は、パケット送信ドライバが実行する処理手順の一例を説明するためのフローチャートである。 FIG. 7 is a flowchart for explaining an example of a processing procedure executed by the packet transmission driver.
パケット送信ドライバ112は、高速なループ処理においてN回に1回の周期が到来しない場合には(S201でNo)、送信パケット記憶部116を参照して、送信パケットの有無を確認する(S202)。送信パケットが無い場合(S202でNo)、ステップS201に戻る。送信パケットが有る場合(S202でYes)、パケット送信ドライバ112は、当該送信パケットを取得して(S203)、送信バッファ152mへ書き込む(S204)。
The
一方、N回に1回の周期が到来した場合(S201でYes)、パケット送信ドライバ112は、パケット送信部152の死活状態(正常性)を確認する(S205)。パケット送信部152の死活情報は、例えば、以下のようにして確認される。パケット送信ドライバ112は、ハードウェアのパケット送信部152に信号を送り、その応答を受け取ることができる。それゆえ、当該応答を受け取ることができれば、パケット送信ドライバ112はパケット送信部152が正常状態であると判定する。又は、パケット送信ドライバ112は、パケット送信部152のメモリである送信パケット記憶部116を参照することができる。パケット送信ドライバ112が送信バッファ152mを参照できれば、パケット送信部152が正常状態であると判定されてもよい
続いて、パケット送信ドライバ112は、確認結果を示す死活情報を死活情報記憶部117tに書き込む(S206)。この際、過去に書き込まれた死活情報は、新たな死活情報によって上書きされる。
On the other hand, when one cycle has arrived every N times (Yes in S201), the
ここで、そもそもパケット送信ドライバ112が正常でない場合(停止している場合)、ステップS205及びS206は実行されない。この場合、死活情報の書き込みは行われない。したがって、死活情報の有無、及び死活情報の内容によって、パケット送信ドライバ112及びパケット送信部152の死活状態は、以下のように区別可能である。
Here, when the
死活情報が死活情報記憶部117tに記憶されていない場合、少なくともパケット送信ドライバ112に異常が有り、パケット送信部152の死活状態は不明である。
When the life / death information is not stored in the life / death
死活情報が死活情報記憶部117tに記憶されており、当該死活情報が異常状態を示す場合、パケット送信ドライバ112は正常であるが、パケット送信部152に異常が有る。
When the life / death information is stored in the life / death
死活情報が死活情報記憶部117tに記憶されており、当該死活情報が正常状態を示す場合、パケット送信ドライバ112及びパケット送信部152が正常である。
When the life / death information is stored in the life / death
このように、パケット送信ドライバ112は、自身及びパケット送信部152の正常性を示す死活情報を定期的に死活情報記憶部117rに書き込むことができる。
As described above, the
図8は、監視部が実行する処理手順の一例を説明するためのフローチャートである。例えば、図8は、監視装置10に対するユーザによるコマンドの入力に応じて実行される。
FIG. 8 is a flowchart for explaining an example of a processing procedure executed by the monitoring unit. For example, FIG. 8 is executed in response to a command input by the user to the
ステップS301において、監視部114は、死活情報記憶部117rを参照する。死活情報記憶部117rに死活情報が記憶されている場合(S302でYes)、監視部114は、パケット受信ドライバ111が正常であり、パケット受信部151の状態が、当該死活情報が示す状態であると判定する(S303)。続いて、監視部114は、当該死活情報を死活情報記憶部117rから削除する(S304)。
In step S301, the
一方、死活情報記憶部117rに死活情報が記憶されていない場合(S302でNo)、監視部114は、パケット受信ドライバ111に異常が有ると判定する(S305)。
On the other hand, when the life / death information is not stored in the life / death
ステップS304又はステップS305に続いて、監視部114は、死活情報記憶部117tを参照する(S306)。死活情報記憶部117tに死活情報が記憶されている場合(S307でYes)、監視部114は、パケット送信ドライバ112が正常であり、パケット送信部152の状態が、当該死活情報が示す状態であると判定する(S308)。続いて、監視部114は、当該死活情報を死活情報記憶部117tから削除する(S309)。
Subsequent to step S304 or step S305, the
一方、死活情報記憶部117tに死活情報が記憶されていない場合(S307でNo)、監視部114は、パケット送信ドライバ112に異常が有ると判定する(S310)。
On the other hand, when the life / death information is not stored in the life / death
ステップS309又はステップS310に続いて、監視部114は、上記の判定結果を出力する(S311)。
Subsequent to step S309 or step S310, the
なお、コマンドに対するパラメータの指定に応じて、パケット受信ドライバ111側のみの判定、又はパケット送信ドライバ112側のみの判定が行われてもよい。
It should be noted that a determination on the
ところで、図8の処理手順がコマンドの入力に応じて実行される場合、出力される判定結果は、必ずしも正しくない可能性が有る。例えば、図6の処理手順において、パケット受信ドライバ111が、正常状態を示す死活情報を死活情報記憶部117rに書き込んだ後に停止してしまったとする。この後に入力されたコマンドに応じて監視部114が死活情報記憶部117rを参照すると、監視部114は、当該死活情報に基づいて、パケット受信ドライバ111及びパケット受信部151が正常であると判定してしまう。
By the way, when the processing procedure of FIG. 8 is executed in response to an input of a command, the output determination result may not necessarily be correct. For example, in the processing procedure of FIG. 6, it is assumed that the
但し、このような判定結果が生じることが許容されてもよい。この場合、ユーザによって、複数回連続してコマンドの入力が行われれば、1回目のコマンドの入力に応じた処理により、死活情報が削除され、2回目のコマンドの入力に応じた処理により、死活情報が無いことに基づいて、パケット受信ドライバ111に異常が有るとする判定結果を出力可能であるからである。
However, such a determination result may be allowed to occur. In this case, if a user inputs a command multiple times in succession, the life / death information is deleted by the process according to the first command input, and the life / death is performed by the process according to the second command input. This is because it is possible to output a determination result indicating that there is an abnormality in the
又は、監視部114は、ユーザによるコマンドの入力の有無に拘わらず、図8の処理手順を複数のタイミングで(例えば、一定間隔で)実行してもよい。この場合、ステップS311では、判定結果が記憶されるようにすればよい。ユーザによってコマンドが入力された場合には、最後に記憶された判定結果が出力されてもよいし、その際に改めて図8の処理手順を実行することで得られた判定結果が出力されるようにしてもよい。
Alternatively, the
上述したように、本実施の形態によれば、NICに到着するパケットを、ビジーウェイト方式又はスピンロック方式等の方式で高速に読み込むスレッ若しくはプロセス、又はパケットを高速にNICに送るスレッド若しくはプロセスについての、状態監視が可能となる。すなわち、パケットの受信又は送信をループ処理によって待機する処理の状態の監視を可能とすることができる。 As described above, according to the present embodiment, a thread or process that reads a packet arriving at the NIC at a high speed by a method such as a busy wait method or a spin lock method, or a thread or process that sends a packet to the NIC at a high speed Status monitoring is possible. In other words, it is possible to monitor the status of processing that waits for reception or transmission of a packet by loop processing.
なお、本実施の形態において、パケット受信部151、パケット送信部152、又はインタフェース装置105は、ネットワークインタフェースの一例である。
In the present embodiment, the
以上、本発明の実施例について詳述したが、本発明は斯かる特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。 As mentioned above, although the Example of this invention was explained in full detail, this invention is not limited to such specific embodiment, In the range of the summary of this invention described in the claim, various deformation | transformation・ Change is possible.
10 監視装置
11 ユーザ空間
100 ドライブ装置
101 記録媒体
102 補助記憶装置
103 メモリ装置
104 CPU
105 インタフェース装置
111 パケット受信ドライバ
112 パケット送信ドライバ
113 アプリケーション
114 監視部
115 受信パケット記憶部
116 送信パケット記憶部
117r 死活情報記憶部
117t 死活情報記憶部
151 パケット受信部
151m 受信バッファ
152 パケット送信部
152m 送信バッファ
B バス
DESCRIPTION OF
105
そこで上記課題を解決するため、監視装置は、ネットワークインタフェースによるパケットの受信をループ処理によって待機し、受信されたパケットをパケット記憶部に記憶するパケット受信ドライバと、前記ネットワークインタフェースの死活状態を示す情報を記憶する死活情報記憶部と、前記死活情報記憶部に記憶された情報を参照すると共に参照した情報を削除して、前記ネットワークインタフェース及び前記パケット受信ドライバの死活状態を監視する監視部とを有し、前記パケット受信ドライバは、前記ループ処理の合間において、前記ネットワークインタフェースの死活状態を確認して、当該死活状態を示す情報を前記死活情報記憶部に書き込み、前記監視部は、前記死活情報記憶部に情報が記憶されていない場合には、前記パケット受信ドライバに異常が有ると判定し、前記死活情報記憶部に情報が記憶されている場合には、前記パケット受信ドライバについて正常であると判定し、前記ネットワークインタフェースについて当該情報が示す状態であると判定する。
Therefore in order to solve the above problems, the monitoring device indicates the reception of a packet by the network interface waits by the loop processing, a packet receiving driver for storing the received packet in the packet storage unit, the life-and-death states of the network interface a vital-information storage unit for storing information, the remove the reference information with reference to information stored in the life-and-death information storage unit, a monitoring unit for monitoring the life-and-death states of the network interface and said packet reception driver have the packet receiving driver, in interval of the loop processing, to check the life-and-death states of the network interface, write the information indicating the life-and-death states in the life-and-death information storage unit, the monitoring unit, If no information is stored in the life and death information storage unit, If the packet reception driver is abnormal and information is stored in the life and death information storage unit, it is determined that the packet reception driver is normal and the network interface is in a state indicated by the information. Judge that there is .
Claims (5)
前記ネットワークインタフェース及び前記パケット受信ドライバのうちの少なくともいずれか一方の死活状態を示す情報を記憶する死活情報記憶部と、
前記死活情報記憶部を参照して、前記ネットワークインタフェース及び前記パケット受信ドライバのうちの少なくともいずれか一方の死活状態を監視する監視部とを有し、
前記パケット受信ドライバは、前記ループ処理の合間において、前記死活状態を示す情報を前記死活情報記憶部に書き込む、
ことを特徴とする監視装置。 A packet reception driver that waits for reception of a packet by the network interface by loop processing and stores the received packet in a packet storage unit;
A life / death information storage unit that stores information indicating a life / death state of at least one of the network interface and the packet reception driver;
With reference to the alive information storage unit, a monitoring unit that monitors the alive state of at least one of the network interface and the packet reception driver,
The packet reception driver writes information indicating the life and death state in the life and death information storage unit between the loop processes.
A monitoring device characterized by that.
前記ネットワークインタフェース及び前記パケット送信ドライバのうちの少なくともいずれか一方の死活状態を示す情報を記憶する死活情報記憶部と、
前記死活情報記憶部を参照して、前記ネットワークインタフェース及び前記パケット送信ドライバのうちの少なくともいずれか一方の死活状態を監視する監視部とを有し、
前記パケット送信ドライバは、前記ループ処理の合間において、前記死活状態を示す情報を前記死活情報記憶部に書き込む、
ことを特徴とする監視装置。 A packet transmission driver that waits for the presence or absence of a packet to be transmitted from the network interface by a loop process and transmits the packet to the network interface when there is a packet to be transmitted;
A life / death information storage unit that stores information indicating a life / death state of at least one of the network interface and the packet transmission driver;
With reference to the alive information storage unit, a monitoring unit that monitors the alive state of at least one of the network interface and the packet transmission driver,
The packet transmission driver writes information indicating the life and death state in the life and death information storage unit between the loop processes.
A monitoring device characterized by that.
前記ネットワークインタフェース及び前記パケット受信手順のうちの少なくともいずれか一方の死活状態を示す情報を死活情報記憶部に記憶する記憶手順と、
前記死活情報記憶部を参照して、前記ネットワークインタフェース及び前記パケット受信手順のうちの少なくともいずれか一方の死活状態を監視する監視手順とをコンピュータが実行し、
前記パケット受信手順は、前記ループ処理の合間において、前記死活状態を示す情報を前記死活情報記憶部に書き込む、
ことを特徴とする監視方法。 A packet reception procedure for waiting for reception of a packet by the network interface by loop processing and storing the received packet in a packet storage unit;
A storage procedure for storing information indicating a life / death state of at least one of the network interface and the packet reception procedure in a life / death information storage unit;
The computer executes a monitoring procedure for monitoring the alive state of at least one of the network interface and the packet reception procedure with reference to the alive information storage unit,
The packet reception procedure writes information indicating the life and death state in the life and death information storage unit between the loop processes.
A monitoring method characterized by that.
前記ネットワークインタフェース及び前記パケット送信手順のうちの少なくともいずれか一方の死活状態を示す情報を死活情報記憶部に記憶する記憶手順と、
前記死活情報記憶部を参照して、前記ネットワークインタフェース及び前記パケット送信手順のうちの少なくともいずれか一方の死活状態を監視する監視手順とをコンピュータが実行し、
前記パケット送信手順は、前記ループ処理の合間において、前記死活状態を示す情報を前記死活情報記憶部に書き込む、
ことを特徴とする監視方法。 A packet transmission procedure of waiting for the presence or absence of a packet to be transmitted from the network interface by a loop process and transmitting the packet to the network interface when there is a packet to be transmitted;
A storage procedure for storing information indicating a life / death state of at least one of the network interface and the packet transmission procedure in a life / death information storage unit;
The computer executes a monitoring procedure for monitoring the alive state of at least one of the network interface and the packet transmission procedure with reference to the alive information storage unit,
The packet transmission procedure writes information indicating the life and death state in the life and death information storage unit between the loop processes.
A monitoring method characterized by that.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016034154A JP6126259B1 (en) | 2016-02-25 | 2016-02-25 | Monitoring device, monitoring method, and program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016034154A JP6126259B1 (en) | 2016-02-25 | 2016-02-25 | Monitoring device, monitoring method, and program |
Publications (2)
Publication Number | Publication Date |
---|---|
JP6126259B1 JP6126259B1 (en) | 2017-05-10 |
JP2017151765A true JP2017151765A (en) | 2017-08-31 |
Family
ID=58704770
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016034154A Active JP6126259B1 (en) | 2016-02-25 | 2016-02-25 | Monitoring device, monitoring method, and program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6126259B1 (en) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013114359A (en) * | 2011-11-25 | 2013-06-10 | Hitachi Ltd | Computer system and monitoring method |
JP2014182561A (en) * | 2013-03-19 | 2014-09-29 | Hitachi Ltd | Computer system, process and method for monitoring thread |
WO2014172500A1 (en) * | 2013-04-16 | 2014-10-23 | Amazon Technologies, Inc. | Distributed load balancer |
-
2016
- 2016-02-25 JP JP2016034154A patent/JP6126259B1/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013114359A (en) * | 2011-11-25 | 2013-06-10 | Hitachi Ltd | Computer system and monitoring method |
JP2014182561A (en) * | 2013-03-19 | 2014-09-29 | Hitachi Ltd | Computer system, process and method for monitoring thread |
WO2014172500A1 (en) * | 2013-04-16 | 2014-10-23 | Amazon Technologies, Inc. | Distributed load balancer |
Also Published As
Publication number | Publication date |
---|---|
JP6126259B1 (en) | 2017-05-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108647104B (en) | Request processing method, server and computer readable storage medium | |
US11412042B2 (en) | Remote NVMe activation | |
US20180067893A1 (en) | Multicast apparatuses and methods for distributing data to multiple receivers in high-performance computing and cloud-based networks | |
KR101752964B1 (en) | Supporting rma api over active message | |
US10013367B2 (en) | I/O processing system including dynamic missing interrupt and input/output detection | |
WO2015098589A1 (en) | Cluster system, server device, cluster system management method, and computer-readable recording medium | |
US8804543B2 (en) | Test method for network system | |
US11055144B2 (en) | Method, apparatus, and system for multi-module scheduling | |
JP5112246B2 (en) | Storage system and communication method | |
EP3896931B1 (en) | Spark shuffle-based remote direct memory access system and method | |
JP6126259B1 (en) | Monitoring device, monitoring method, and program | |
JP5316502B2 (en) | I / O bridge device, response notification method, and program | |
WO2017071430A1 (en) | Message processing method, network card, system, information update method, and server | |
US7764676B1 (en) | Method and system for processing network information | |
US7730343B2 (en) | Optimization of port link recovery | |
US9385968B2 (en) | Methods and devices for connecting to multiple interfaces | |
CN113268358B (en) | Data communication method, device and system and multi-equipment cascade system | |
JP2018181134A (en) | Information processing apparatus, information processing method, and information processing program | |
JP2010049314A (en) | Task scheduling device and task scheduling method | |
JP6903843B2 (en) | node | |
KR20080051046A (en) | Hardware device and method for sending the network protocol packet | |
JP6631370B2 (en) | Microcomputer and electronic control unit | |
WO2021035798A1 (en) | Uart main control system for automatically switching outgoing data in multi-core scene | |
JP6447047B2 (en) | Transmission / reception control device and transmission / reception control method, node device, multi-node system, and computer program | |
JP6334100B2 (en) | Redundant information processing system and data synchronization method of redundant information processing system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20170207 |
|
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: 20170404 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20170406 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6126259 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |