JP4040482B2 - Load balancing parallel processor - Google Patents

Load balancing parallel processor Download PDF

Info

Publication number
JP4040482B2
JP4040482B2 JP2003018949A JP2003018949A JP4040482B2 JP 4040482 B2 JP4040482 B2 JP 4040482B2 JP 2003018949 A JP2003018949 A JP 2003018949A JP 2003018949 A JP2003018949 A JP 2003018949A JP 4040482 B2 JP4040482 B2 JP 4040482B2
Authority
JP
Japan
Prior art keywords
frame
packet
processing
unit
transfer destination
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
JP2003018949A
Other languages
Japanese (ja)
Other versions
JP2004235732A (en
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric 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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP2003018949A priority Critical patent/JP4040482B2/en
Publication of JP2004235732A publication Critical patent/JP2004235732A/en
Application granted granted Critical
Publication of JP4040482B2 publication Critical patent/JP4040482B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Description

【0001】
【発明の属する技術分野】
この発明は多重化フレームを送受するネットワーク上に配置され、受信したフレームを並列に処理するマルチプロセッサ構成を持つ通信装置に係り、特に複数のフレーム処理装置に対するフレームの割振りを調整することにより各フレーム処理装置の負荷の平準化を図る負荷分散並列処理装置に関するものである。
【0002】
【従来の技術】
大量の通信情報のパケットを高速で処理する通信装置では、処理能力を高めるためにマルチプロセッサを採用している。このような通信装置として、負荷が特定のパケットプロセッサに偏ることがないように均等に分散させ、制御パケットの処理時間も大きくばらつかないようにする負荷分散型パケット並列処理装置がある(例えば、特許文献1参照)。
図6はこの従来の負荷分散型パケット並列処理装置の構成を示すブロック図であり、図7はその中のパケットプロセッサの構成を示すブロック図である。図において、負荷分散型パケット並列処理装置は、1つ以上の通信チャネル1001〜100Nと、これらの通信チャネルから受信した制御パケットを処理する複数のパケットプロセッサ310,320,330,340,350と、通信チャネルから受信する制御パケットを複数のパケットプロセッサ310,320,330,340,350へ分配するパケット分配制御部21とを備えている。
【0003】
通信チャネル1001〜100Nに、新たに制御パケットが到着すると、パケット分配制御部21は複数のパケットプロセッサ310,320,330,340,350にパケット処理要求を出力し、その中でパケット処理要求に最も早く応答したパケットプロセッサに対して処理許可を与える。プロセッサカードは、図7に例示するように、自パケットプロセッサ310の負荷レベルを決定する負荷レベル決定部315と、この負荷レベル決定部315が決定した負荷レベルに応じて、パケット処理要求への応答時間および応答の可否を制御する送受信制御部311とを備えている。
【0004】
この場合、負荷レベルの決定は、受信バッファ312に保持された制御パケットの量、送信バッファ313に保持された制御パケットの量、共有メモリ6のアクセス競合などによる処理中断中の制御パケットの数、パケットプロセッサ310における処理の種類などに応じて決定されるようになっている。
【0005】
【特許文献1】
特開2000−222374公報
【0006】
【発明が解決しようとする課題】
以上のような従来の負荷分散型パケット並列処理装置では、バッファ内のパケットの量、処理種別、および中断中のパケットの数などで負荷レベルが決定されているが、これらはいずれも現在処理中のパケットを基準に負荷レベルの判定を行っているものである。一方、多重化フレームにおけるパケット処理のように、パケットの順序を守るために、一度特定のフレーム識別子(結果的にパケット識別子)を持つフレームが転送されたパケット処理部に対しては、同一のパケット識別子を持つパケットを継続して転送する必要がある。このような場合、フレームに含まれているパケット組立位置情報が「最終パケット」となっていないパケット識別子のパケットを大量に処理したパケット処理部に対して、近い将来、同じパケット識別子を持つパケットが大量に入力されることになる。そのため、上記負荷分散型パケット並列処理装置のように単に現在処理中のパケットのみを基準にパケットの割振りを行うと、パケット処理部に対する負荷が偏る可能性が大となるといった問題が発生する。
【0007】
この発明は上記のような問題点を解決するためになされたもので、処理済のパケットのパケット組立位置情報を利用して、近い将来入力されるパケットの予測と現在処理中のパケット量(キューに入っているパケットの数)を併用することにより新規パケットの振分け先を判定し、並立化されたパケット処理部に対して、より高い精度で負荷の平準化を可能にする負荷分散並列処理装置を得ることを目的とする。
【0008】
【課題を解決するための手段】
この発明に係る負荷分散並列処理装置は、複数の異なる通信情報のパケットを多重化した多重化フレームを受信してフレーム毎に転送先を判定するフレーム転送先判定部と、並列に配置されフレーム転送先判定部から転送されたフレームからパケットを分離して処理する複数のフレーム処理部と、各フレーム処理部のパケットの処理状況を入手して管理するパケット処理状況管理部とを備え、パケット処理状況管理部は、各フレーム処理部で処理されたパケットの識別子、パケット組立位置情報および受信キュー内の保留パケット数の情報を得てパケット組立位置情報からフレーム処理部で処理したパケットのうち受信予測されるパケット識別子数を算出し、フレーム処理部の識別子、その受信キュー内の保留パケット数および算出された受信予測されるパケット識別子数をパケット処理状況情報として格納するようにし、フレーム転送先判定部は、過去に処理したフレームの識別子と転送先のフレーム処理部の識別子をフレーム転送履歴として格納し、フレーム処理部毎の受信パケットのキューへの保留数の上限と下限の閾値を受信キュー保留数閾値として予め格納しておき、受信したフレームの識別子を基にフレーム転送履歴を参照し、既に転送履歴の有るフレームについては履歴と同じフレーム処理部を転送先に決定し、また、転送履歴のない新規フレームについては受信キュー保留数閾値および前記パケット処理状況情報を用いて受信キュー内の保留パケット数が下限閾値未満または上限閾値未満のフレーム処理部のうち受信が予測されるパケット識別子数が最も少ないフレーム処理部を転送先に決定するようにしたものである。
【0009】
【発明の実施の形態】
以下、この発明の実施の一形態を説明する。
実施の形態1.
この発明に係る負荷分散並列処理装置は、前提として、1単位の通信情報を小さなパケットに分割し、複数の独立した通信情報のパケットを1つの通信フレーム内に格納し、フレーム単位で通信を行うことにより、複数の異なる通信情報を多重化して送受する多重化フレームの通信ネットワーク上に配置されるマルチプロセッサ構成の通信装置を対象とするものである。
【0010】
図1はこの発明の実施の形態1による負荷分散並列処理装置の機能構成を示すブロック図、図2はフレーム転送先判定部104の新規フレーム転送先判定のためのアルゴリズムを示すフローチャートである。
図1において、このシステムは、フレーム転送先制御部100、パケット処理状況管理部200、複数のフレーム処理部300,400,500,600から構成されている。フレーム処理部300,400,500,600は、フレームの並列処理を行うためのマルチプロセッサで構成され、それぞれはパケット分離部301,401,501,601、パケット処理部302,402,502,602および処理パケット情報通知部303,403,503,603からなっている。フレーム転送先制御部100は、フレーム受信部101、フレーム識別部102、フレーム転送先判定部104、フレーム転送部106、転送先判定用受信キュー保留数閾値格納部107およびフレーム転送履歴格納部103から構成される。また、パケット処理状況管理部200はパケット処理状況格納部201とパケット処理状況受信部202から構成される。
【0011】
複数のフレーム処理部300,400,500,600において、パケット分離部301,401,501,601は、1つ以上のパケットを含む多重化フレームがフレーム転送先制御部100の指示により転送されてくると、そのフレームからパケットを分離し、分離したパケットの識別子とパケット組立位置情報を抽出し受信キューに置く手段である。処理パケット情報通知部303,403,503,603は、この分離したパケットの識別子とパケット組立位置情報および受信キュー内のパケット数をフレーム処理部の識別子と共にパケット処理状況受信部202に通知する手段である。ここで、パケット組立位置情報は、1単位の通信情報を分割して作成される複数のパケットを再度通信単位に組み立てるためにパケット内に格納されている情報であり、そのパケットが「最終パケット」であるか、それ以外かを示す情報である。パケット処理部302,402,502,602は、パケット分離部301,401,501,601で分離したパケットについて所定のアプリケーションの処理行う手段である。
【0012】
パケット処理状況管理部200において、パケット処理状況受信部202は、各処理パケット情報通知部303,403,503,603から処理パケットの情報、すなわちパケットの識別子とパケット組立位置情報および受信キュー内のパケット数が通知された場合、その情報を受信し格納する手段である。パケット処理状況格納部201は、パケット処理状況受信部202が格納した情報から、フレーム処理部300,400,500,600の受信キュー内のパケット数、処理したパケットのうちパケット組立位置情報が「最終パケット」となっていないパケット識別子の数(これは受信が予測されるパケット識別子数である)を算出し、これらをパケット処理状況情報として格納する手段である。この格納されたパケット処理状況情報のデータ例を図4に示す。
【0013】
フレーム転送先制御部100において、フレーム受信部101は、入力される多重化フレームを受信する手段である。フレーム識別部102はその受信したフレームからのフレーム識別子を抽出する手段である。フレーム転送履歴格納部103は、過去に処理したフレーム識別子と転送先となったフレーム処理部の識別子からなるペア情報をフレーム転送履歴として格納する手段である。このフレーム転送履歴のデータ例を図3に示す。転送先判定用受信キュー保留数閾値格納部107は、フレーム処理部毎の受信パケットのキューへの保留数の上限と下限の閾値を予め設定し受信キュー保留数閾値として格納しておく手段である。この設定されている受信キュー保留数閾値のデータ例を図5に示す。
【0014】
フレーム転送先判定部104は、フレーム転送履歴格納部103のフレーム転送履歴(図3)と受信したフレームの識別子を比較し、既に転送履歴の有るフレームについてはフレーム(パケット)の送信順序を確保するために、転送先のフレーム処理部を履歴と同じフレーム処理部に決定する手段である。また、転送履歴のない新規フレームについては、フレーム転送先判定部104は、転送先判定用受信キュー保留数閾値格納部107の受信キュー保留数閾値データ(図5)およびパケット処理状況格納部201のパケット処理状況情報(図4)に基づいて、図2に示すアルゴリズムにより転送先のフレーム処理部を決定する。また、フレーム転送先判定部104は、転送先を決定した場合、その受信フレーム識別子と転送を行うフレーム処理部の識別子をフレーム転送履歴格納部103に記録する。フレーム転送部106は、フレーム転送先判定部104において実際に判定されたフレーム処理部(300,400,500,600のいずれか)に対して受信フレームの転送を実行する。
【0015】
次に、フレーム識別子“K”を持つ新規フレームをフレーム受信部101が受信した場合を例に、負荷分散並列処理装置の動作を説明する。
フレーム識別部102により受信フレームからフレーム識別子“K”が抽出されたとする。フレーム転送先判定部104は、抽出されたフレーム識別子“K”を基に、先ず、フレーム転送履歴格納部103を検索する。この場合、図3に例示するフレーム転送履歴データではフレーム識別子“K”が存在しないため、フレーム転送先判定部104は、このフレームを新規フレームと認識する。
【0016】
次にフレーム転送先判定部104は図2のフレーム転送先判定アルゴリズムを用いて新規フレームの転送先とするフレーム処理部の判定を行う。先ず、図4に示すパケット処理状況情報から、受信キュー内の保留パケット数が、図5に示す受信キュー保留数閾値として設定されている下限閾値未満にあるフレーム処理部を検索する(ステップST1)。この場合、下限閾値未満のフレーム処理部が存在しないので、次に受信キュー内の保留パケット数が、図5に示す上限閾値未満のフレーム処理部があるかを検索する(ステップST2)。この場合、3つのフレーム処理部300,500,600が検索される。次に、この3つのフレーム処理部300,500,600のうち、図4に示すパケット処理状況格納部201内のデータで、「受信が予測されるパケット識別子数」が最も少ないフレームを選択する(ステップST3)。これにより、フレーム処理部600が転送先フレーム処理部として判定される。この判定結果はフレーム転送履歴格納部103のフレーム転送履歴を更新し格納される。
【0017】
続いて、フレーム転送部106は、フレーム転送先判定部104の判定結果を基に、新規フレーム“K”をフレーム処理部600に転送する。フレーム処理部600内のパケット分離部601はフレーム“K”からパケットを分離する。処理パケット情報通知部603は、分離されたパケット毎にそのパケットの識別子、パケット組立位置情報および現在の受信キュー内のパケット数をフレーム処理部600の識別子と共にパケット処理状況受信部202に通知する。パケット分離部601で分離されたパケットは、アプリケーションに応じた処理をパケット処理部602により施される。一方、処理パケット情報通知部603から前記のパケット情報を受信したパケット処理状況受信部202は、その情報を格納する。パケット処理状況格納部201は、パケット処理状況受信部202で格納しているパケット情報の履歴から図4に表されるパケット処理状況情報のデータ更新を行う。更新されたデータは次の新規パケットの振分け判定時に利用される。
【0018】
仮にこの発明の負荷分散並列処理装置を適応せず、前述の従来の装置により転送先のパケット処理部を判定した場合、受信キュー内の保留パケット数により転送先の判定が行われるため、受信キュー内の保留パケット数の最も少ない、フレーム処理部300が転送先となる。この場合、フレーム処理部300は現時点では最も負荷が少ないフレーム処理部であるが、受信が予想されるパケット種別数が最も多いため、近い将来、このフレーム処理部が最も過負荷になると予測される。そこに、さらに新規フレームを割振ることは非効率な負荷分散となる可能性が高くなる。
【0019】
以上のように、この実施の形態1によれば、パケット内に格納されているパケット組立位置情報を利用することにより、近い将来、同じパケット識別子のパケットがそのパケット処理部に入力されるかの判定を行い、そのパケット組立位置情報と現在処理中のパケット量などの情報とを組み合わせて、最も負荷の低くなるであろうと予想されるフレーム処理部に対して新規フレーム振分けることが可能になり、より高い確率でパケット処理部の負荷を平準化できる効果が得られる。
なお、フレーム転送先判定部104において、フレーム処理部に将来入力されるパケット種別数を判定基準としてさらに組み込むようにしてもよい。そうすることで、将来的に処理負荷が低く見積もられるフレーム処理部を新規フレームの転送先として決定することができ、さらに高い確率でパケット処理部の負荷を平準化する効果が得られる。
【0020】
【発明の効果】
以上のように、この発明によれば、複数の異なる通信情報のパケットを多重化した多重化フレームを受信してフレーム毎に転送先を判定するフレーム転送先判定部と、並列に配置されフレーム転送先判定部から転送されたフレームからパケットを分離して処理する複数のフレーム処理部と、各フレーム処理部のパケットの処理状況を入手して管理するパケット処理状況管理部とを備え、パケット処理状況管理部は、各フレーム処理部で処理されたパケットの識別子、パケット組立位置情報および受信キュー内の保留パケット数の情報を得てパケット組立位置情報からフレーム処理部で処理したパケットのうち受信予測されるパケット識別子数を算出し、フレーム処理部の識別子、その受信キュー内の保留パケット数および算出された受信予測されるパケット識別子数をパケット処理状況情報として格納するようにし、フレーム転送先判定部は、過去に処理したフレームの識別子と転送先のフレーム処理部の識別子のペア情報をフレーム転送履歴として格納し、フレーム処理部毎の受信パケットのキューへの保留数の上限と下限の閾値を受信キュー保留数閾値として予め格納しておき、受信したフレームの識別子についてフレーム転送履歴を参照し、既に転送履歴の有るフレームについては履歴と同じフレーム処理部を転送先に決定し、また、転送履歴のない新規フレームについては受信キュー保留数閾値およびパケット処理状況情報を用いて受信キュー内の保留パケット数が下限閾値未満または上限閾値未満のフレーム処理部のうち受信が予測されるパケット識別子数が最も少ないフレーム処理部を転送先に決定し転送を行うように構成したので、パケット内に格納されているパケット組立位置情報を利用することにより、前に処理されたパケットと同じパケット識別子を持つパケットが近い将来に到来して、その同じパケット処理部に入力されるかの判定を行うことができ、その情報と現在処理中のパケット量などの情報と組み合わせて、最も負荷の低くなるであろうと予想されるフレーム処理部に新規フレームを振分けることが可能となり、より高い確率でパケット処理部の負荷の平準化を可能とする効果がある。
【図面の簡単な説明】
【図1】 この発明の実施の形態1による負荷分散並列処理装置の機能構成を示すブロック図である。
【図2】 この発明の実施の形態1に係るフレーム転送先判定部の判定アルゴリズムを示すフローチャートである。
【図3】 この発明の実施の形態1に係るフレーム転送履歴の格納データ例を示す説明図である。
【図4】 この発明の実施の形態1に係るパケット処理状況情報の格納データ例を示す説明図である。
【図5】 この発明の実施の形態1に係る受信キュー保留数閾値の設定データ例を示す説明図である。
【図6】 従来の負荷分散型パケット並列処理装置の構成を示すブロック図である。
【図7】 従来のパケットプロセッサの構成を示すブロック図である。
【符号の説明】
100 フレーム転送先制御部、101 フレーム受信部、102 フレーム識別部、103 フレーム転送履歴格納部、104 フレーム転送先判定部、106 フレーム転送部、107 転送先判定用受信キュー保留数閾値格納部、200 パケット処理状況管理部、201 パケット処理状況格納部、202 パケット処理状況受信部、300,400,500,600 複数のフレーム処理部、301,401,501,601 パケット分離部、302,402,502,602 パケット処理部、303,403,503,603 処理パケット情報通知部。
[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a communication device that is arranged on a network that transmits and receives multiplexed frames and that has a multiprocessor configuration for processing received frames in parallel. In particular, each frame is adjusted by adjusting the allocation of frames to a plurality of frame processing devices. The present invention relates to a load balancing parallel processing device for leveling a load on a processing device.
[0002]
[Prior art]
A communication device that processes a large amount of communication information packets at high speed employs a multiprocessor in order to increase the processing capability. As such a communication apparatus, there is a load distribution type packet parallel processing apparatus that distributes the load evenly so that the load is not biased to a specific packet processor, and does not greatly vary the processing time of the control packet (for example, Patent Document 1).
FIG. 6 is a block diagram showing the configuration of this conventional load distribution type packet parallel processing device, and FIG. 7 is a block diagram showing the configuration of the packet processor therein. In the figure, the load balancing type packet parallel processing device includes one or more communication channels 1001 to 100N and a plurality of packet processors 310, 320, 330, 340, 350 for processing control packets received from these communication channels. The packet distribution control unit 21 distributes control packets received from the communication channel to a plurality of packet processors 310, 320, 330, 340, and 350.
[0003]
When a new control packet arrives at the communication channels 1001 to 100N, the packet distribution control unit 21 outputs a packet processing request to the plurality of packet processors 310, 320, 330, 340, and 350. Processing permission is given to the packet processor which responded early. As illustrated in FIG. 7, the processor card determines the load level of its own packet processor 310, and responds to the packet processing request according to the load level determined by the load level determination unit 315. A transmission / reception control unit 311 for controlling time and response availability.
[0004]
In this case, the load level is determined by determining the amount of control packets held in the reception buffer 312, the amount of control packets held in the transmission buffer 313, the number of control packets being suspended due to access conflicts in the shared memory 6, It is determined according to the type of processing in the packet processor 310.
[0005]
[Patent Document 1]
Japanese Patent Laid-Open No. 2000-222374
[Problems to be solved by the invention]
In the conventional load distribution type packet parallel processing device as described above, the load level is determined by the amount of packets in the buffer, the processing type, the number of suspended packets, etc., all of which are currently being processed. The load level is determined based on the packet. On the other hand, in order to protect the order of packets as in packet processing in multiplexed frames, the same packet is sent to a packet processing unit to which a frame having a specific frame identifier (resulting packet identifier) is transferred once. Packets with identifiers need to be transferred continuously. In such a case, in the near future, a packet having the same packet identifier will be compared to a packet processing unit that has processed a large number of packets with packet identifiers whose packet assembly position information included in the frame is not “final packet”. A large amount of data will be input. Therefore, when a packet is allocated based on only a packet currently being processed as in the load distribution type packet parallel processing device, there is a problem that the load on the packet processing unit is likely to be biased.
[0007]
The present invention has been made to solve the above-described problems. By using the packet assembly position information of a processed packet, the prediction of a packet to be input in the near future and the amount of packets currently being processed (queue) Load distribution parallel processing device that determines the distribution destination of a new packet by using together the number of packets contained in the packet processing unit, and enables leveling of the load with higher accuracy for the paralleled packet processing units The purpose is to obtain.
[0008]
[Means for Solving the Problems]
A load balancing parallel processing device according to the present invention includes a frame transfer destination determination unit that receives a multiplexed frame obtained by multiplexing a plurality of packets of different communication information and determines a transfer destination for each frame, and a frame transfer arranged in parallel A plurality of frame processing units that separate and process packets from the frame transferred from the destination determination unit, and a packet processing status management unit that acquires and manages the packet processing status of each frame processing unit, The management unit obtains the identifier of the packet processed by each frame processing unit, the packet assembly position information, and the information on the number of pending packets in the reception queue, and is predicted to receive the packet processed by the frame processing unit from the packet assembly position information. The number of packet identifiers to be calculated, the identifier of the frame processing unit, the number of pending packets in the reception queue, and the calculated reception The predicted number of packet identifiers is stored as packet processing status information, and the frame transfer destination determination unit stores the identifier of the frame processed in the past and the identifier of the frame processing unit of the transfer destination as a frame transfer history. The upper and lower thresholds of the number of received packets held in the queue for each copy are stored in advance as reception queue hold number thresholds, and the frame transfer history is referenced based on the received frame identifier, and the transfer history already exists. For frames, the same frame processing unit as the history is determined as the transfer destination, and for new frames without transfer history, the number of pending packets in the reception queue is set to the lower threshold by using the reception queue hold count threshold and the packet processing status information. Of the frame processing units less than or less than the upper threshold, the frame with the smallest number of packet identifiers expected to be received It is obtained so as to determine the transfer destination over untreated section.
[0009]
DETAILED DESCRIPTION OF THE INVENTION
An embodiment of the present invention will be described below.
Embodiment 1 FIG.
The load balancing parallel processing apparatus according to the present invention presupposes that one unit of communication information is divided into small packets, a plurality of independent communication information packets are stored in one communication frame, and communication is performed in units of frames. Thus, it is intended for a communication device having a multiprocessor configuration arranged on a communication network of multiplexed frames for multiplexing and transmitting a plurality of different pieces of communication information.
[0010]
FIG. 1 is a block diagram showing a functional configuration of a load balancing parallel processing apparatus according to Embodiment 1 of the present invention, and FIG. 2 is a flowchart showing an algorithm for determining a new frame transfer destination of the frame transfer destination determination unit 104.
In FIG. 1, this system includes a frame transfer destination control unit 100, a packet processing status management unit 200, and a plurality of frame processing units 300, 400, 500, 600. The frame processing units 300, 400, 500, and 600 are configured by multiprocessors for performing parallel processing of frames, and each includes packet separation units 301, 401, 501, 601 Processing packet information notification units 303, 403, 503, and 603 are included. The frame transfer destination control unit 100 includes a frame reception unit 101, a frame identification unit 102, a frame transfer destination determination unit 104, a frame transfer unit 106, a transfer destination determination reception queue hold count threshold storage unit 107, and a frame transfer history storage unit 103. Composed. The packet processing status management unit 200 includes a packet processing status storage unit 201 and a packet processing status reception unit 202.
[0011]
In the plurality of frame processing units 300, 400, 500, 600, the packet separation units 301, 401, 501, 601 transfer multiplexed frames including one or more packets according to instructions from the frame transfer destination control unit 100. And means for separating the packet from the frame, extracting the identifier of the separated packet and the packet assembly position information and placing them in the reception queue. The processing packet information notification units 303, 403, 503, and 603 are means for notifying the packet processing status reception unit 202 of the identifiers of the separated packets, the packet assembly position information, and the number of packets in the reception queue together with the identifiers of the frame processing units. is there. Here, the packet assembly position information is information stored in a packet for reassembling a plurality of packets created by dividing one unit of communication information into communication units, and the packet is a “final packet”. Or other information. The packet processing units 302, 402, 502, and 602 are units that perform predetermined application processing on the packets separated by the packet separation units 301, 401, 501, and 601.
[0012]
In the packet processing status management unit 200, the packet processing status receiving unit 202 receives information on processing packets from the processing packet information notification units 303, 403, 503, and 603, that is, packet identifiers, packet assembly position information, and packets in the reception queue. When the number is notified, it is means for receiving and storing the information. The packet processing status storage unit 201 uses the information stored in the packet processing status receiving unit 202 to determine the number of packets in the reception queue of the frame processing units 300, 400, 500, and 600, and the packet assembly position information of the processed packets is “final” This is means for calculating the number of packet identifiers that are not “packets” (this is the number of packet identifiers expected to be received) and storing them as packet processing status information. An example of data of the stored packet processing status information is shown in FIG.
[0013]
In the frame transfer destination control unit 100, the frame receiving unit 101 is a means for receiving an input multiplexed frame. The frame identification unit 102 is a means for extracting a frame identifier from the received frame. The frame transfer history storage unit 103 is means for storing pair information including a frame identifier processed in the past and an identifier of a frame processing unit as a transfer destination as a frame transfer history. An example of data of this frame transfer history is shown in FIG. The forwarding destination determination reception queue hold count threshold storage unit 107 is a means for presetting the upper and lower thresholds of the number of received packets in the queue for each frame processing unit and storing them as reception queue hold count threshold values. . FIG. 5 shows an example of data of the set reception queue hold count threshold.
[0014]
The frame transfer destination determination unit 104 compares the frame transfer history (FIG. 3) in the frame transfer history storage unit 103 with the identifier of the received frame, and ensures the frame (packet) transmission order for frames that already have a transfer history. Therefore, it is a means for determining the frame processing unit of the transfer destination as the same frame processing unit as the history. For a new frame having no transfer history, the frame transfer destination determination unit 104 receives the reception queue hold count threshold value data (FIG. 5) of the transfer destination determination reception queue hold count threshold storage unit 107 and the packet processing status storage unit 201. Based on the packet processing status information (FIG. 4), the destination frame processing unit is determined by the algorithm shown in FIG. Also, when the transfer destination is determined, the frame transfer destination determination unit 104 records the received frame identifier and the identifier of the frame processing unit that performs the transfer in the frame transfer history storage unit 103. The frame transfer unit 106 transfers the received frame to the frame processing unit (any of 300, 400, 500, 600) actually determined by the frame transfer destination determination unit 104.
[0015]
Next, the operation of the load balancing parallel processing apparatus will be described by taking as an example the case where the frame receiving unit 101 receives a new frame having the frame identifier “K”.
Assume that the frame identifier “K” is extracted from the received frame by the frame identification unit 102. The frame transfer destination determination unit 104 first searches the frame transfer history storage unit 103 based on the extracted frame identifier “K”. In this case, since the frame identifier “K” does not exist in the frame transfer history data illustrated in FIG. 3, the frame transfer destination determination unit 104 recognizes this frame as a new frame.
[0016]
Next, the frame transfer destination determination unit 104 uses the frame transfer destination determination algorithm shown in FIG. First, from the packet processing status information shown in FIG. 4, a frame processing unit in which the number of pending packets in the reception queue is less than the lower limit threshold set as the reception queue pending number threshold shown in FIG. 5 is searched (step ST1). . In this case, since there is no frame processing unit less than the lower limit threshold value, it is next searched whether there is a frame processing unit whose number of pending packets in the reception queue is less than the upper limit threshold value shown in FIG. 5 (step ST2). In this case, three frame processing units 300, 500, and 600 are searched. Next, among the three frame processing units 300, 500, and 600, the frame having the smallest “number of packet identifiers expected to be received” is selected from the data in the packet processing status storage unit 201 shown in FIG. Step ST3). Thereby, the frame processing unit 600 is determined as the transfer destination frame processing unit. The determination result is stored by updating the frame transfer history in the frame transfer history storage unit 103.
[0017]
Subsequently, the frame transfer unit 106 transfers the new frame “K” to the frame processing unit 600 based on the determination result of the frame transfer destination determination unit 104. The packet separation unit 601 in the frame processing unit 600 separates the packet from the frame “K”. The processing packet information notification unit 603 notifies the packet processing status reception unit 202 together with the identifier of the packet processing unit 600 together with the identifier of the packet, the packet assembly position information, and the current number of packets in the reception queue for each separated packet. The packet separated by the packet separation unit 601 is processed by the packet processing unit 602 according to the application. On the other hand, the packet processing status reception unit 202 that has received the packet information from the processing packet information notification unit 603 stores the information. The packet processing status storage unit 201 updates the data of the packet processing status information shown in FIG. 4 from the packet information history stored in the packet processing status receiving unit 202. The updated data is used when determining the distribution of the next new packet.
[0018]
If the load distribution parallel processing device of the present invention is not applied and the transfer destination packet processing unit is determined by the above-described conventional device, the transfer destination is determined based on the number of held packets in the reception queue. The frame processing unit 300 having the smallest number of pending packets is the transfer destination. In this case, the frame processing unit 300 is the frame processing unit with the least load at present, but since the number of packet types expected to be received is the largest, it is predicted that this frame processing unit will be overloaded in the near future. . In addition, allocating new frames further increases the possibility of inefficient load distribution.
[0019]
As described above, according to the first embodiment, by using the packet assembly position information stored in the packet, whether the packet with the same packet identifier is input to the packet processing unit in the near future. It is possible to make a decision and combine the packet assembly position information and information such as the amount of packets currently being processed to allocate a new frame to the frame processing unit that is expected to have the lowest load. Thus, the effect of leveling the load on the packet processing unit with higher probability can be obtained.
Note that the frame transfer destination determination unit 104 may further incorporate the number of packet types that will be input in the future into the frame processing unit as a determination criterion. By doing so, a frame processing unit whose processing load is estimated to be low in the future can be determined as a transfer destination of a new frame, and an effect of leveling the load of the packet processing unit with higher probability can be obtained.
[0020]
【The invention's effect】
As described above, according to the present invention, a frame transfer destination determination unit that receives a multiplexed frame obtained by multiplexing a plurality of packets of different communication information and determines a transfer destination for each frame, and a frame transfer arranged in parallel A plurality of frame processing units that separate and process packets from the frame transferred from the destination determination unit, and a packet processing status management unit that acquires and manages the packet processing status of each frame processing unit, The management unit obtains the identifier of the packet processed by each frame processing unit, the packet assembly position information, and the information on the number of pending packets in the reception queue, and is predicted to receive the packet processed by the frame processing unit from the packet assembly position information. The number of packet identifiers to be calculated, the identifier of the frame processing unit, the number of pending packets in the reception queue, and the calculated reception prediction The number of packet identifiers to be stored is stored as packet processing status information, and the frame transfer destination determination unit stores the pair information of the identifier of the frame processed in the past and the identifier of the frame processing unit of the transfer destination as a frame transfer history. The upper and lower thresholds of the number of received packets held in the queue for each processing unit are stored in advance as reception queue hold number thresholds, and the frame transfer history is referred to for the identifier of the received frame. For a new frame with no transfer history, the number of held packets in the receive queue is less than the lower threshold using the receive queue hold count threshold and packet processing status information. The smallest number of packet identifiers predicted to be received among the frame processing units less than the upper threshold Since the frame processing unit is determined to be a transfer destination and transferred, a packet having the same packet identifier as that of the previously processed packet is close by using the packet assembly position information stored in the packet. It is possible to determine whether it will be input to the same packet processing unit in the future, and it is expected that the load will be the lowest in combination with this information and information such as the amount of packets currently being processed. It is possible to distribute new frames to the frame processing units to be leveled, and it is possible to equalize the load of the packet processing unit with higher probability.
[Brief description of the drawings]
FIG. 1 is a block diagram showing a functional configuration of a load balancing parallel processing apparatus according to Embodiment 1 of the present invention;
FIG. 2 is a flowchart showing a determination algorithm of a frame transfer destination determination unit according to the first embodiment of the present invention.
FIG. 3 is an explanatory diagram showing an example of frame transfer history storage data according to the first embodiment of the present invention.
FIG. 4 is an explanatory diagram showing an example of stored data of packet processing status information according to the first embodiment of the present invention.
FIG. 5 is an explanatory diagram showing an example of setting data for a reception queue hold count threshold according to Embodiment 1 of the present invention;
FIG. 6 is a block diagram showing a configuration of a conventional load distribution type packet parallel processing device.
FIG. 7 is a block diagram showing a configuration of a conventional packet processor.
[Explanation of symbols]
100 frame transfer destination control unit, 101 frame reception unit, 102 frame identification unit, 103 frame transfer history storage unit, 104 frame transfer destination determination unit, 106 frame transfer unit, 107 transfer destination determination reception queue hold count threshold storage unit, 200 Packet processing status management unit, 201 Packet processing status storage unit, 202 Packet processing status receiving unit, 300, 400, 500, 600 Multiple frame processing units, 301, 401, 501, 601 Packet separating unit, 302, 402, 502, 602 Packet processing unit, 303, 403, 503, 603 Processing packet information notification unit.

Claims (2)

複数の異なる通信情報のパケットを多重化した多重化フレームを受信してフレーム毎に転送先を判定するフレーム転送先判定部と、並列に配置され前記フレーム転送先判定部から転送されたフレームからパケットを分離して処理する複数のフレーム処理部と、各フレーム処理部のパケットの処理状況を入手して管理するパケット処理状況管理部とを備え、
前記パケット処理状況管理部は、各フレーム処理部で処理されたパケットの識別子、パケット組立位置情報および受信キュー内の保留パケット数の情報を得て前記パケット組立位置情報からフレーム処理部で処理したパケットのうち受信予測されるパケット識別子数を算出し、フレーム処理部の識別子、その受信キュー内の保留パケット数および算出された受信予測されるパケット識別子数をパケット処理状況情報として格納するようにし、
前記フレーム転送先判定部は、過去に処理したフレームの識別子と転送先のフレーム処理部の識別子をフレーム転送履歴として格納し、フレーム処理部毎の受信パケットのキューへの保留数の上限と下限の閾値を受信キュー保留数閾値として予め格納しておき、受信したフレームの識別子を基に前記フレーム転送履歴を参照し、既に転送履歴の有るフレームについては履歴と同じフレーム処理部を転送先に決定し、また、転送履歴のない新規フレームについては前記受信キュー保留数閾値および前記パケット処理状況情報を用いて受信キュー内の保留パケット数が下限閾値未満または上限閾値未満のフレーム処理部のうち受信が予測されるパケット識別子数が最も少ないフレーム処理部を転送先に決定するようにした負荷分散並列処理装置。
A frame transfer destination determination unit that receives a multiplexed frame obtained by multiplexing a plurality of packets of different communication information and determines a transfer destination for each frame, and a packet from a frame that is arranged in parallel and transferred from the frame transfer destination determination unit A plurality of frame processing units for separately processing, and a packet processing status management unit for obtaining and managing the packet processing status of each frame processing unit,
The packet processing status management unit obtains an identifier of the packet processed by each frame processing unit, packet assembly position information, and information on the number of pending packets in the reception queue, and processes the packet processed by the frame processing unit from the packet assembly position information. Calculating the number of packet identifiers predicted to be received, storing the identifier of the frame processing unit, the number of pending packets in the reception queue, and the calculated number of packet identifiers predicted to be received as packet processing status information,
The frame transfer destination determination unit stores the identifier of the frame processed in the past and the identifier of the frame processor of the transfer destination as a frame transfer history, and sets the upper limit and lower limit of the number of holds in the queue of received packets for each frame processor. The threshold is stored in advance as a reception queue hold count threshold, the frame transfer history is referred to based on the received frame identifier, and the same frame processing unit as the history is determined as the transfer destination for frames that already have a transfer history. In addition, for a new frame having no transfer history, reception is predicted among frame processing units in which the number of pending packets in the reception queue is less than the lower threshold or less than the upper threshold using the reception queue hold threshold and the packet processing status information. A load balancing parallel processing apparatus that determines a frame processing unit having the smallest number of packet identifiers as a transfer destination.
フレーム転送先制御部は、フレーム処理部に将来入力されるパケット種別数を判定基準に組み込むことにより、将来的に処理負荷が低く見積もられるフレーム処理部を新規フレームの転送先として決定するようにしたことを特徴とする請求項1記載の負荷分散並列処理装置。The frame transfer destination control unit determines the frame processing unit whose processing load is estimated to be low in the future as the transfer destination of the new frame by incorporating the number of packet types that will be input to the frame processing unit in the future into the criterion. The load balancing parallel processing device according to claim 1.
JP2003018949A 2003-01-28 2003-01-28 Load balancing parallel processor Expired - Fee Related JP4040482B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003018949A JP4040482B2 (en) 2003-01-28 2003-01-28 Load balancing parallel processor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003018949A JP4040482B2 (en) 2003-01-28 2003-01-28 Load balancing parallel processor

Publications (2)

Publication Number Publication Date
JP2004235732A JP2004235732A (en) 2004-08-19
JP4040482B2 true JP4040482B2 (en) 2008-01-30

Family

ID=32948951

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003018949A Expired - Fee Related JP4040482B2 (en) 2003-01-28 2003-01-28 Load balancing parallel processor

Country Status (1)

Country Link
JP (1) JP4040482B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5526748B2 (en) * 2009-12-09 2014-06-18 日本電気株式会社 Packet processing device, packet distribution device, control program, and packet distribution method

Also Published As

Publication number Publication date
JP2004235732A (en) 2004-08-19

Similar Documents

Publication Publication Date Title
US6721796B1 (en) Hierarchical dynamic buffer management system and method
KR101887581B1 (en) Flow-based packet transport device and packet management method thereof
US9356780B2 (en) Device, method, and system for encrypted communication by using encryption key
US9823943B2 (en) Apparatus and method for controlling virtual machine migrations based on flow information
US20170063979A1 (en) Reception packet distribution method, queue selector, packet processing device, and recording medium
JP2018518927A (en) Method and system for managing data traffic in a computing network
JP2020181488A (en) Image analyzer and image analysis system
US10063478B2 (en) Switching device and control method of switching device
US10263809B2 (en) Selecting an optimal network device for reporting flow table misses upon expiry of a flow in a software defined network
CN110198332B (en) Scheduling method and device for content distribution network node and storage medium
US12028255B2 (en) Virtual channel setting method and apparatus for data flow
JP2016517643A (en) Data transmission method, apparatus and system
US10476746B2 (en) Network management method, device, and system
CN117715088B (en) Network slice management method, device, equipment and medium based on edge calculation
JP4040482B2 (en) Load balancing parallel processor
JP2013222221A (en) Distributed data management system and data movement management method
CN104683353A (en) A self-adaptive communication system for safety information of Internet of Vehicles
US20040042397A1 (en) Method for active queue management with asymmetric congestion control
JP5682233B2 (en) Analysis processing apparatus, analysis processing program, and analysis processing method
US11451479B2 (en) Network load distribution device and method
CN115412499B (en) Flow transmission method, device and controller
US20190334830A1 (en) Network source arbitration
JP5790399B2 (en) COMMUNICATION DEVICE, COMMUNICATION METHOD, AND COMMUNICATION PROGRAM
US11582155B2 (en) Communication control apparatus and communication control method
CN111683057B (en) A method for transmitting and sharing threat information based on dynamic attack surface

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060110

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20070926

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20071107

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101116

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees