JP5526748B2 - パケット処理装置、パケット振り分け装置、制御プログラム及びパケット分散方法 - Google Patents

パケット処理装置、パケット振り分け装置、制御プログラム及びパケット分散方法 Download PDF

Info

Publication number
JP5526748B2
JP5526748B2 JP2009279211A JP2009279211A JP5526748B2 JP 5526748 B2 JP5526748 B2 JP 5526748B2 JP 2009279211 A JP2009279211 A JP 2009279211A JP 2009279211 A JP2009279211 A JP 2009279211A JP 5526748 B2 JP5526748 B2 JP 5526748B2
Authority
JP
Japan
Prior art keywords
threads
processing
packet
thread
processor
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.)
Expired - Fee Related
Application number
JP2009279211A
Other languages
English (en)
Other versions
JP2011124677A (ja
Inventor
修一 佐伯
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Priority to JP2009279211A priority Critical patent/JP5526748B2/ja
Publication of JP2011124677A publication Critical patent/JP2011124677A/ja
Application granted granted Critical
Publication of JP5526748B2 publication Critical patent/JP5526748B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Description

本発明はパケット処理装置、パケット振り分け装置、制御プログラム及びパケット分散方法に関し、特にマルチスレッド構成におけるパケット処理装置、パケット振り分け装置、制御プログラム及びパケット分散方法に関する。
近年、通信装置又は演算装置等における処理高速化を実現するために、マルチプロセッサ構成が用いられている。さらに、それぞれのプロセッサの利用効率を向上させるために、マルチスレッドプロセッサが用いられている。マルチスレッドプロセッサを用いることにより、ひとつのプロセッサにおけるプログラム処理を並列化させることできる。また、ひとつのプロセッサにひとつのスレッドのみを有する場合においても、マルチプロセッサ化することにより、装置全体としては、複数のスレッドを並列に動作させることができる。マルチスレッド構成に関連して、以下の事項が開示されている。
特許文献1には、送信スレッド及び受信スレッドを装置内に複数有し、パケットの送受信を並列に動作させる構成が開示されている。
特許文献2には、ループ処理を実行するプログラムの実行時間を取得し、ループ処理をスレッドに割り当てるスケジューリングをする際に、それぞれのスレッドにおいてプログラムの実行時間が均等になるようにスケジューリングする構成が開示されている。
特許文献3には、マルチプロセッサシステム環境において、スレッドを実行するプロセッサを決定する方法が開示されている。例えば、優先度が設定されたスレッドについて、同一優先度が設定されたスレッドをグループ化する。グループ化された複数のスレッドは、同時にいずれかのプロセッサに割り当てられる。これにより、グループ化された複数のスレッドは、並列に処理される。
特開2000−20327号公報 特開2004−152204号公報 特開2006−155480号公報
特許文献1乃至3に開示されている構成及び方法においては、次のような問題が生じる。以下に、マルチプロセッサ環境もしくはシングルプロセッサ環境において、マルチスレッドが構成されている場合について説明する。このような場合、パケット処理装置に入力されたパケットをいずれかのスレッドに振り分け、プロトコル処理を実行する必要がある。しかし、特許文献1乃至3の何れにも、パケット処理装置に入力されたパケットのプロトコル処理を実行するために、適切なスレッドの選択方法については開示されていない。ここで、スレッドの選択方法として、入力パケットにおける送信元IPアドレスのハッシュ値を計算し、その計算結果に基づいて、入力パケットが振り分けられるスレッドを選択する方法もある。しかし、このような方法においては、同一の送信元IPアドレスを有するパケットが連続して入力された場合、スレッドの処理負荷を分散することができず、特定スレッドの処理負荷が高くなってしまう。
本発明は、このような問題を解決するためになされたものであり、特定スレッドにおける処理負荷を増加させることなく、入力パケットをスレッドへ振り分けることができるパケット処理装置、パケット振り分け装置、制御プログラム及びパケット分散方法を提供することを目的とする。
本発明の第1の態様にかかるパケット処理装置は、複数のスレッドを処理可能なプロセッサと、パケットのプロトコル処理を行う前記複数のスレッドにおける処理負荷を監視する負荷監視部と、入力されたパケットを、前記負荷監視部によって監視された処理負荷に基づいて、前記複数のスレッドにおける処理負荷が予め定められた処理負荷になるように当該複数のスレッドに振り分ける制御を行う制御部と、を備えるものである。
本発明の第2の態様にかかるパケット振り分け装置は、複数のスレッドを処理可能なプロセッサにて、パケットのプロトコル処理を行う当該複数のスレッドの処理負荷を監視する負荷監視部と、入力されたパケットを、前記負荷監視部によって監視された処理負荷に基づいて、前記複数のスレッドにおける処理負荷が予め定められた処理負荷になるように当該複数のスレッドに振り分ける制御を行う制御部と、を備えるものである。
本発明の第3の態様にかかる制御プログラムは、複数のスレッドを処理可能なプロセッサにて、パケットのプロトコル処理を行う当該複数のスレッドの処理負荷を監視するステップと、入力されたパケットを、前記処理負荷に基づいて、前記複数のスレッドにおける処理負荷が予め定められた処理負荷になるように当該複数のスレッドに振り分けるステップと、をコンピュータに実行させるものである。
本発明の第4の態様にかかるパケット分散方法は、複数のスレッドを処理可能なプロセッサにて、パケットのプロトコル処理を行う当該複数のスレッドの処理負荷を監視するステップと、入力されたパケットを、前記処理負荷に基づいて、前記複数のスレッドにおける処理負荷が予め定められた処理負荷になるように当該複数のスレッドに振り分けるステップと、を備えるものである。
本発明により、特定のスレッドにおける処理負荷を増加させることなく、入力パケットをスレッドへ振り分けることができるパケット処理装置、パケット振り分け装置、制御プログラム及びパケット分散方法を提供することができる。
実施の形態1にかかるパケット処理装置の構成図である。 実施の形態1にかかるパケット処理装置の構成図である。 実施の形態1にかかる負荷監視部の構成図である。 実施の形態1にかかる負荷監視部が有するデータベースのデータ構成である。 実施の形態1にかかる制御部のフローチャートである。 実施の形態2にかかるパケット処理装置の構成図である。 実施の形態2にかかる制御部のフローチャートである。
(実施の形態1)
以下、図面を参照して本発明の実施の形態について説明する。図1を用いて、実施の形態1にかかるパケット処理装置の構成例について説明する。パケット処理装置10は、プロセッサ20と、負荷監視部30と、制御部40とを備えている。パケット処理装置は、ルータ、サーバ装置又はパーソナルコンピュータ等を含む。
プロセッサ20は、複数のスレッドを処理することができる。本図においては、スレッド1からスレッドMまでにおける複数のスレッドを処理する構成例について説明する。また、プロセッサ20は、プロセッサ20における処理を実行するプログラムに基づいて動作する、CPU(Central Processing Unit)、MPU(Micro Processing Unit)等により構成される。スレッドとは、プログラムが実行されるために、プロセッサの実行時間が割り当てられる基本単位である。プロセッサにおいて処理可能なスレッドに対して、時分割により実行時間が割り当てられることにより、複数のスレッドを並列に処理することができる。スレッドは、ソフトウェアにより、プロセッサにおいて並列処理されるように制御されてもよく、プロセッサのハードウェア資源を分割し、それぞれのハードウェア資源にスレッドを割り当ててもよい。
また、プロセッサは、パケット処理装置10に複数存在してもよい。つまり、パケット処理装置10は、マルチプロセッサにより構成されてもよい。パケット処理装置10が、マルチプロセッサにより構成される場合、それぞれのプロセッサは、複数のスレッドを処理してもよく、一つのプロセッサのみ処理するようにしてもよい。
負荷監視部30は、スレッド1乃至Mの処理負荷を監視する。負荷監視部30は、スレッド1乃至Mそれぞれの処理負荷を制御部40へ出力する。負荷監視部30が監視することができる負荷とは、それぞれのスレッドにおける単位時間当たりのパケット処理占有時間であってもよく、単位時間当たりのスレッド使用率であってもよい。もしくは、単位時間あたりに処理されるパケット量であってもよい。
制御部40は、負荷監視部30から取得した処理負荷に基づいて、複数のスレッドにおける処理負荷が予め定められた処理負荷になるように、複数のスレッドに振り分ける制御を行う。予め定められた処理負荷とは、例えば、それぞれのスレッド毎にスレッド使用率に関する閾値を定めてもよい。これにより、閾値を超えているスレッドへのパケットの振り分けを行わず、閾値を超えていないスレッドの中で最もスレッド使用率の低いスレッドへ、パケットを割り振るようにしてもよい。閾値は、全てのスレッドにおいて同一の閾値を設定してもよく、全てのスレッドにおいて異なる閾値を設定してもよい。もしくは、スレッドを複数のグループに分類し、グループ毎に閾値を設定してもよい。複数のスレッドに対して、異なる閾値を設定することにより、例えば、処理能力の高いスレッドには、スレッド使用率が高い閾値を設定し、処理能力の低いスレッドには、スレッド使用率が低い閾値を設定することができる。このようにして処理能力の高いスレッドを長く動作させることにより、プロセッサの処理能力を向上させることができる。
以上説明したように、図1おけるパケット処理装置10を用いることにより、スレッドの負荷状況により入力パケットをそれぞれのスレッドへ振り分けることができる。スレッドの負荷状況に基づいて、入力パケットの振り分けを行っているため、入力パケットの送信元IPアドレス、パケットサイズ又はプロトコル種別等を意識する必要はない。そのため、複数のスレッドに並列に処理させることができるプロセッサの利用効率を向上させることができる。
続いて、図2を用いて本発明の実施の形態1にかかるパケット処理装置10の詳細な構成例について説明する。図2におけるパケット処理装置10は、プロセッサ22及び24と、負荷監視部30と、制御部40とを備えている。プロセッサ22は、プロセッサを構成する回路のうち、演算処理を実行する回路であるCPUコアであってもよい。図2においては、プロセッサを2つ備える構成を図示しているが、CPUコアを2つ備える構成としてもよい。
プロセッサ22は、スレッド1乃至3を処理することができる。また、プロセッサ24は、スレッド4乃至6を処理することができる。プロセッサ22及び24が処理することができるスレッド数は、これに限定されず、任意の数のスレッドを処理することができる。プロセッサ22及び24は、入力されたパケットについて、プロトコル処理を実施し外部装置へ送信する。もしくは、パケット処理装置10宛てのパケットである場合には、入力されたパケットを終端する。
負荷監視部30は、スレッド1乃至6におけるスレッド使用率を取得する。負荷監視部30は、定期的にプロセッサ22及び24におけるそれぞれのスレッドにアクセスすることにより、スレッド使用率を取得してもよい。もしくは、負荷監視部30は、プロセッサ22もしくは24から通知されるそれぞれのスレッド使用率を受信することにより、スレッド1乃至6におけるスレッド使用率を取得してもよい。
スレッド使用率は、例えば、所定の期間を1秒間とすると、1秒間のうちスレッドが入力パケットのプロトコル処理を実施していた時間によって定まる。スレッドが、1秒間のうち100ミリ秒プロトコル処理を実施していた場合、スレッド使用率は10%とあらわすことができる。また、図2のように複数のプロセッサを備える、いわゆるマルチプロセッサ構成の場合、プロセッサの使用率を併せて取得してもよい。プロセッサ使用率は、例えば、スレッド使用率の平均値としてもよい。
ここで、図3を用いて負荷監視部30がスレッド使用率を取得する構成例について説明する。負荷監視部30が有するデータベース34は、それぞれのスレッド毎にスレッド使用率を管理している。負荷監視制御部36は、データベース34に、それぞれのスレッドのスレッド使用率を反映させるタイミングを制御する。つまり、負荷監視制御部36の制御により、プロセッサ22からそれぞれのスレッドにおけるスレッド使用率を取得し、取得したスレッド使用率をデータベース34に反映させる。
図4は、データベース34のデータ構成について示している。図4は、プロセッサとスレッドとの対応関係を示している。さらに、プロセッサ及びスレッドに関するスレッド使用率及びプロセッサ使用率を示している。負荷監視部30は、プロセッサ22及び24とスレッド1乃至6とを監視することにより、図4に示されるデータベースを生成する。図4においては、スレッド使用率及びプロセッサ使用率に関するデータベースを示したが、負荷監視部30は、それぞれのスレット及びプロセッサのパケット処理量に関するデータベースを生成してもよい。
図2に戻り、制御部40は、負荷監視部30が生成したデータベースの値、つまり、スレッド毎のスレッド使用率を取得し、入力パケットの振り分けを実施する。もしくは、スレッド毎のスレッド使用率と、プロセッサ毎のプロセッサ使用率とを取得し、入力パケットの振り分けを実施する。制御部40は、パケットが入力される毎に、負荷監視部30からデータベースの値を取得してもよく、定期的に負荷監視部30からデータベースの値を取得してもよい。制御部40は、スレッド1乃至6におけるスレッド使用率から、最も低い使用率のスレッドを抽出する。制御部40は、抽出したスレッドに対して入力パケットの振り分けを行う。もしくは、制御部40は、プロセッサ22及び24のプロセッサ使用率を取得した場合、次のようにプロセッサ使用率及びスレッド使用率を用いて入力パケットを振り分けるスレッドを決定してもよい。
制御部40は、プロセッサ22及び24のうち、プロセッサ使用率が低いプロセッサを抽出する。図4に示す例においては、プロセッサ22のプロセッサ使用率がプロセッサ24のプロセッサ使用率よりも低いため、プロセッサ22を抽出する。さらに、プロセッサ22に対応付けられているスレッド1乃至3のうち、スレッド使用率が最も低いスレッドを抽出する。図4に示す例においては、スレッド1が抽出される。制御部40は、抽出したスレッド1に対して、入力パケットの振り分けを行う。
制御部40が、スレッド使用率のみを用いて入力パケットの振り分けを行う場合と、プロセッサ使用率も用いて入力パケットの振り分けを行う場合とにおいて、抽出されるスレッドは異なる。スレッド使用率のみを用いる場合、それぞれのスレッドにおいて、使用率を均一にするように入力パケットを振り分けることができる。また、プロセッサ使用率も用いる場合、それぞれのプロセッサにおける使用率を均一にするように入力パケットを振り分けることができる。
続いて、図5を用いて本発明の実施の形態1にかかる制御部40の処理の流れについて説明する。はじめに、制御部40は、負荷監視部30におけるデータベース34から、それぞれのスレッドにおけるスレッド使用率を取得する(S11)。制御部40は、図2のようにマルチプロセッサ構成の場合、スレッド使用率とともにプロセッサ使用率を併せて取得してもよい。
次に、制御部40は、取得したスレッド使用率のうち、最小のスレッド使用率を示すスレッドを抽出する(S12)。制御部40は、図2のようにマルチプロセッサ構成の場合、プロセッサ使用率の低いプロセッサに対応付けられているスレッドのうち、最小のスレッド使用率を示すスレッドを抽出してもよい。次に、制御部40は、ステップS12において抽出されたスレッドを入力パケットの出力先として決定し、入力パケットを決定されたスレッドへ出力するよう制御を行う(S13)。
以上説明したように、パケット処理装置は、スレッドの処理負荷に基づいて、入力パケットのプロトコル処理をするスレッドを決定することができる。そのため、シングルプロセッサ構成及びマルチプロセッサ構成によらず、プロセッサが複数のスレッドの処理を行う場合に、パケットサイズ又はプロトコル種別等に応じてパケットの処理を行う必要はない。これより、パケットサイズ又はプロトコル種別等を判別する複雑さを意識することなく、多様なパケットを負荷分散し処理することができる。これより、パケット処理装置の処理能力を向上させることができる。
さらに、パケット処理装置10が、マルチプロセッサにより構成される場合、プロセッサ使用率を用いて出力先スレッドを決定することにより、複数プロセッサの使用率を実質的に均一にするように制御することができる。
(実施の形態2)
続いて、図6を用いて本発明の実施の形態2にかかるパケット処理装置の構成例について説明する。パケット処理装置50は、プロセッサ62及び64と、負荷監視部70と、制御部80と、状態監視部72とを備えている。プロセッサ62が処理するスレッド1乃至3は、分割されたハードウェアの領域にそれぞれ割り当てられている。つまり、プロセッサ62のハードウェア資源が分割され、分割されたハードウェア資源毎に、スレッド1乃至3が割り当てられている。ハードウェア資源が分割されたプロセッサは、プロセッサをアドレス領域により分割してもよく、異なるチップ等のハードウェアが組み合わされて構成されてもよい。プロセッサ64は、プロセッサ62と同様の構成になるため、説明を省略する。また、負荷監視部70は、図2における負荷監視部30と同様であるため、説明を省略する。
状態監視部72は、スレッド1乃至6の異常状態を検出する。異常状態は、故障状態、障害状態等を含む。スレッド1乃至6は、それぞれ異なるハードウェア資源を用いているため、スレッド1乃至6が割り当てられているハードウェアを監視することにより、異常状態を検出することができる。状態監視部72は、定期的にそれぞれのスレッドに対して信号を出力し、出力した信号に対する信号が返信されてこない場合に、異常状態が発生していると判定してもよい。もしくは、状態監視部72は、スレッドが割り当てられているハードウェアの異常状態を検出したプロセッサからスレッドの異常状態が通知されることにより、異常状態を検出してもよい。
制御部80は、状態監視部72から異常状態のスレッドに関する情報を取得する。この場合、制御部80は、入力パケットを割り振るスレッドの対象から、異常状態のスレッドを除外する。例えば、制御部80は、異常状態のスレッドに関するスレッド使用率を、負荷監視部70から取得しないことにより、異常状態のスレッドを除外してもよい。もしくは、負荷監視部70から取得したスレッド使用率の中から、異常状態のスレッドに関するスレッド使用率を無視又は削除し、異常状態のスレッドを除外してもよい。制御部80は、異常状態のスレッドを除外した後のスレッドに関するスレッド使用率のうち、最小のスレッド使用率を示すスレッドを抽出する。制御部80は、入力されたパケットを抽出したスレッドに対して振り分けるよう制御を行う。
続いて、図7を用いて本発明の実施の形態2にかかる制御部80の処理の流れについて説明する。はじめに、制御部80は、状態監視部72から、異常状態のスレッドの有無が設定された情報を取得する(S21)。制御部80は、定期的に状態監視部72から異常状態のスレッドが存在するか否かについての情報を取得してもよく、状態監視部72において、異常状態のスレッドが検出された場合にのみ、状態監視部72から情報を取得してもよい。
次に、制御部80は、状態監視部72から取得した情報に、異常状態のスレッドが存在するか否かを判定する(S22)。異常状態のスレッドが存在する場合、制御部80は、入力パケットを割り振るスレッドの対象から、異常状態のスレッドを除外する(S23)。異常状態のスレッドが存在しない場合及び異常状態のスレッドを除外する処理が実施された場合、制御部80は、負荷監視部70からそれぞれのスレッドに関するスレッド使用率を取得する(S24)。ステップS25以降は、図5のステップS12及び13と同様であるため、説明を省略する。
以上説明したように、本発明の実施の形態2にかかるパケット処理装置を用いることにより、異常状態のスレッドを検出し、当該スレッドを、振り分け対象スレッドから除外することができる。そのため、入力パケットの処理を中断する事象を回避することができる。
(実施の形態3)
続いて、図6の構成を用いて、本発明の実施の形態3にかかる制御部80の動作について説明する。実施の形態2においては、プロセッサ62が処理をすることができる複数のスレッドが独立に処理される場合の動作について記載している。つまり、あるスレッドの処理が、他のスレッドの処理による影響を受けることがない場合の動作について記載している。実施の形態3においては、同一プロセッサ内の複数のスレッドにおいて、あるスレッドの処理と他のスレッドの処理とが関連する場合の動作について説明する。
制御部80は、上述したように関連性を有するスレッドにおいて処理する必要があるパケットが入力された場合、同一のプロセッサ内のスレッドに振り分けるように制御を行う。入力パケットをスレッドに振り分ける際は、実施の形態1及び2と同様、スレッド使用率等が均一になるように振り分ける制御を行う。例えば、同一のアドレスから送信されたパケットが複数のスレッドにおける処理に関連する場合、同一のアドレスから送信された入力パケットは、同一プロセッサ内のスレッドに振り分けるよう制御を行ってもよい。このように制御することにより、同一のアドレスから送信された入力パケットを、異なるプロセッサに振り分けられないように制御することができる。
以上説明したように、本発明の実施の形態3におけるパケット処理装置を用いることにより、互いに関連性のあるスレッドにおいて処理される必要のあるパケットを、同一プロセッサ内のスレッドに振り分けることができる。これにより、スレッド間の連携が必要な処理を行う場合において、プロセッサ内のみの通信により、スレッド間の連携が必要な処理を行うことができる。つまり、互いに関連性のあるスレッドにおいて処理される必要のあるパケットが異なるプロセッサに割り振られることにより、プロセッサ間通信が発生することを防止することができる。また、実施の形態1及び2と同様、プロセッサ内におけるスレッドの使用率を均一になるように制御することもできる。
なお、本発明は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。
また、上述の実施の形態では、本発明をハードウェアの構成として説明したが、本発明は、これに限定されるものではない。本発明は、任意の処理を、CPU(Central Processing Unit)にコンピュータプログラムを実行させることにより実現することも可能である。この場合、コンピュータプログラムは、記録媒体に記録して提供することも可能であり、また、インターネットその他の通信媒体を介して伝送することにより提供することも可能である。また、記憶媒体には、例えば、フレキシブルディスク、ハードディスク、磁気ディスク、光磁気ディスク、CD−ROM、DVD、ROMカートリッジ、バッテリバックアップ付きRAMメモリカートリッジ、フラッシュメモリカートリッジ、不揮発性RAMカートリッジ等が含まれる。また、通信媒体には、電話回線等の有線通信媒体、マイクロ波回線等の無線通信媒体等が含まれる。
10 パケット処理装置
20 プロセッサ
22 プロセッサ
24 プロセッサ
30 負荷監視部
32 状態監視部
34 データベース
36 負荷監視制御部
40 制御部
50 パケット処理装置
62 プロセッサ
64 プロセッサ
70 負荷監視部
72 状態監視部
80 制御部

Claims (7)

  1. 複数のスレッドを処理可能なプロセッサと、
    パケットのプロトコル処理を行う前記複数のスレッドにおける処理負荷及び複数の前記プロセッサにおける処理負荷を監視する負荷監視部と、
    入力されたパケットを、前記負荷監視部によって監視された複数の前記プロセッサにおける処理負荷に基づいて、複数の前記プロセッサのうち処理負荷が最も低いプロセッサを選択し、選択した前記プロセッサにおいて処理可能な前記複数のスレッドにおける処理負荷が予め定められた処理負荷になるように当該複数のスレッドに振り分ける制御を行う制御部と、
    前記スレッドが割り当てられた領域毎に状態を監視する状態監視部と、を備え、
    前記プロセッサは、前記複数のスレッドが並列して動作するように異なる領域にそれぞれスレッドを割り当て、
    前記制御部は、前記状態監視部により異常状態が検出された場合、異常状態が検出された領域に割り当てられているスレッドにパケットを振り分けないように制御する、
    パケット処理装置。
  2. 前記制御部は、前記複数のスレッドにおける処理負荷が実質的に均一になるように当該複数のスレッドに振り分ける、請求項1記載のパケット処理装置。
  3. 前記負荷監視部は、前記複数のスレッドにおけるパケット処理時間を監視し、
    前記制御部は、前記パケット処理時間に基づいて前記処理負荷を求め、当該処理負荷が実質的に均一になるように前記複数のスレッドに振り分ける、請求項2記載のパケット処理装置。
  4. 前記負荷監視部は、予め定められた期間における前記スレッドのパケット処理時間を監視し、
    前記制御部は、前記予め定められた期間における前記スレッドのパケット処理時間が相対的に短いスレッドに前記入力されたパケットを振り分ける、請求項3記載のパケット処理装置。
  5. 複数のスレッドを処理可能なプロセッサにて、パケットのプロトコル処理を行う当該複数のスレッドの処理負荷を監視する負荷監視部と、
    入力されたパケットを、前記負荷監視部によって監視された複数の前記プロセッサにおける処理負荷に基づいて、複数の前記プロセッサのうち処理負荷が最も低いプロセッサを選択し、選択した前記プロセッサにおいて処理可能な前記複数のスレッドにおける処理負荷が予め定められた処理負荷になるように当該複数のスレッドに振り分ける制御を行う制御部と、
    前記スレッドが割り当てられた領域毎に状態を監視する状態監視部と、を備え、
    前記プロセッサは、前記複数のスレッドが並列して動作するように異なる領域にそれぞれスレッドを割り当て、
    前記制御部は、前記状態監視部により異常状態が検出された場合、異常状態が検出された領域に割り当てられているスレッドにパケットを振り分けないように制御する、
    パケット振り分け装置。
  6. 複数のスレッドを処理可能なプロセッサにて、パケットのプロトコル処理を行う当該複数のスレッドの処理負荷を監視するステップと、
    入力されたパケットを、複数の前記プロセッサにおける前記処理負荷に基づいて、複数の前記プロセッサのうち処理負荷が最も低いプロセッサを選択するステップと、
    選択した前記プロセッサにおいて処理可能な前記複数のスレッドにおける処理負荷が予め定められた処理負荷になるように当該複数のスレッドに振り分けるステップと、
    前記スレッドが割り当てられた領域毎に状態を監視するステップと、
    前記複数のスレッドが並列して動作するように異なる領域にそれぞれスレッドを割り当てるステップと、
    前記状態を監視するステップにより異常状態が検出された場合、異常状態が検出された領域に割り当てられているスレッドにパケットを振り分けないように制御するステップと、
    をコンピュータに実行させる制御プログラム。
  7. 複数のスレッドを処理可能なプロセッサにて、パケットのプロトコル処理を行う当該複数のスレッドの処理負荷を監視するステップと、
    入力されたパケットを、複数の前記プロセッサにおける前記処理負荷に基づいて、複数の前記プロセッサのうち処理負荷が最も低いプロセッサを選択するステップと、
    選択した前記プロセッサにおいて処理可能な前記複数のスレッドにおける処理負荷が予め定められた処理負荷になるように当該複数のスレッドに振り分けるステップと、
    前記スレッドが割り当てられた領域毎に状態を監視するステップと、
    前記複数のスレッドが並列して動作するように異なる領域にそれぞれスレッドを割り当てるステップと、
    前記状態を監視するステップにより異常状態が検出された場合、異常状態が検出された領域に割り当てられているスレッドにパケットを振り分けないように制御するステップと、
    を備えるパケット分散方法。
JP2009279211A 2009-12-09 2009-12-09 パケット処理装置、パケット振り分け装置、制御プログラム及びパケット分散方法 Expired - Fee Related JP5526748B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009279211A JP5526748B2 (ja) 2009-12-09 2009-12-09 パケット処理装置、パケット振り分け装置、制御プログラム及びパケット分散方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009279211A JP5526748B2 (ja) 2009-12-09 2009-12-09 パケット処理装置、パケット振り分け装置、制御プログラム及びパケット分散方法

Publications (2)

Publication Number Publication Date
JP2011124677A JP2011124677A (ja) 2011-06-23
JP5526748B2 true JP5526748B2 (ja) 2014-06-18

Family

ID=44288169

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009279211A Expired - Fee Related JP5526748B2 (ja) 2009-12-09 2009-12-09 パケット処理装置、パケット振り分け装置、制御プログラム及びパケット分散方法

Country Status (1)

Country Link
JP (1) JP5526748B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2675212C1 (ru) * 2015-04-07 2018-12-17 Телефонактиеболагет Лм Эрикссон (Пабл) Адаптивная балансировка нагрузки при обработке пакетов
KR101765761B1 (ko) * 2015-12-15 2017-08-08 주식회사 시큐아이 패킷 전달 장치 및 그의 구동 방법
JP7270278B2 (ja) * 2021-05-19 2023-05-10 株式会社ユニバーサルエンターテインメント 遊技機

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000020327A (ja) * 1998-06-26 2000-01-21 Digital Vision Laboratories:Kk 分散処理装置とその方法およびネットワークシステム
JP2001092798A (ja) * 1999-09-21 2001-04-06 Matsushita Electric Ind Co Ltd 負荷分散型マルチプロセッサシステム及び方法
JP2004152204A (ja) * 2002-11-01 2004-05-27 Hitachi Ltd 並列化コンパイラ装置
JP4040482B2 (ja) * 2003-01-28 2008-01-30 三菱電機株式会社 負荷分散並列処理装置
JP4606142B2 (ja) * 2004-12-01 2011-01-05 株式会社ソニー・コンピュータエンタテインメント スケジューリング方法、スケジューリング装置およびマルチプロセッサシステム
US7564847B2 (en) * 2004-12-13 2009-07-21 Intel Corporation Flow assignment
JP2006268070A (ja) * 2005-03-22 2006-10-05 Hitachi Ltd 並列化コンパイル処理方法及び並列化されたオブジェクトコードを実行する並列計算機
JP4616183B2 (ja) * 2006-01-30 2011-01-19 富士通株式会社 冗長化装置
EP2423808B1 (en) * 2007-06-20 2014-05-14 Fujitsu Limited Arithmetic device
JP2009188576A (ja) * 2008-02-04 2009-08-20 Duaxes Corp 試験装置

Also Published As

Publication number Publication date
JP2011124677A (ja) 2011-06-23

Similar Documents

Publication Publication Date Title
EP3637733B1 (en) Load balancing engine, client, distributed computing system, and load balancing method
US9218203B2 (en) Packet scheduling in a multiprocessor system using inter-core switchover policy
CN108681484B (zh) 一种任务的分配方法、装置及设备
US20150295970A1 (en) Method and device for augmenting and releasing capacity of computing resources in real-time stream computing system
JP6241300B2 (ja) ジョブスケジューリング装置、ジョブスケジューリング方法、およびジョブスケジューリングプログラム
US20160378570A1 (en) Techniques for Offloading Computational Tasks between Nodes
JP5664098B2 (ja) 複合イベント分散装置、複合イベント分散方法および複合イベント分散プログラム
US11489735B2 (en) Dynamic network allocation apparatus, dynamic network allocation method and non-transitory computer-readable medium
TW201140451A (en) Goal oriented performance management of workload utilizing accelerators
CN103377092A (zh) 用于动态资源管理的两级动态资源管理方法和装置
WO2022111453A1 (zh) 任务处理方法及装置、任务分配方法、电子设备、介质
JPWO2015001850A1 (ja) タスク割り当て判定装置、制御方法、及びプログラム
CN107193649B (zh) 一种基于numa系统的任务调度方法及装置
JP2008152618A (ja) ジョブ割当プログラム、方法及び装置
KR20130019698A (ko) 사용자 스케줄러와 마이그레이션(Migration)을 통한 자원 최적화 방법 및 시스템
JP5526748B2 (ja) パケット処理装置、パケット振り分け装置、制御プログラム及びパケット分散方法
JP2016004328A (ja) タスク割当プログラム、タスク割当方法およびタスク割当装置
CN111930516B (zh) 一种负载均衡方法及相关装置
CN109086128B (zh) 任务调度方法及装置
CN109391663B (zh) 一种访问请求的处理方法与设备
JP6204287B2 (ja) 分散処理方法、処理サーバ、および、プログラム
JP2016099972A (ja) プロセスマイグレーション方法及びクラスタシステム
JP6463797B2 (ja) 構造変異検出方法、デバイス及びシステム
CN114546279B (zh) Io请求预测方法、装置、存储节点及可读存储介质
JP6405913B2 (ja) 負荷分散装置、負荷分散プログラム及び処理装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20121107

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130712

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130723

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130918

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20131112

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140207

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20140217

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: 20140318

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140331

R150 Certificate of patent or registration of utility model

Ref document number: 5526748

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees