JP3645135B2 - Parallel multi-target tracking device - Google Patents
Parallel multi-target tracking device Download PDFInfo
- Publication number
- JP3645135B2 JP3645135B2 JP28018799A JP28018799A JP3645135B2 JP 3645135 B2 JP3645135 B2 JP 3645135B2 JP 28018799 A JP28018799 A JP 28018799A JP 28018799 A JP28018799 A JP 28018799A JP 3645135 B2 JP3645135 B2 JP 3645135B2
- Authority
- JP
- Japan
- Prior art keywords
- unit
- processing
- task
- target
- load distribution
- 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
Links
Images
Landscapes
- Radar Systems Or Details Thereof (AREA)
- Multi Processors (AREA)
Description
【0001】
【発明の属する技術分野】
この発明は、レーダにおける複数目標物の追尾手法として、JPDA(Joint Probabilistic Data Association)のような複数の目標物の組み合わせを想定したものを採用し、処理を複数のタスク処理部に動的に割り当てて負荷分散をはかった並列多目標追尾装置に関するものである。
【0002】
【従来の技術】
多目標追尾を並列処理する従来の追尾方法としては、例えば、処理を機能分割によって負荷分散する“On Mapping a Tracking Algorithm Onto Parallel Processors”(IEEE TRANSACTION ON AEROSPACE AND ELECTRONIC SYSTEMS VOL.26,NO.5,1990)に示されたもの等がある。図5および図6は従来の並列多目標追尾装置による追尾方法を示す説明図であり、追尾処理とプロセッサをグラフとして示したものである。この追尾方法では、図5のように処理をタスクグラフとして表現し、各タスクの負荷を情報の流れに基づいて、プロセッサへの分割を行なう。
【0003】
図5は処理の関係を示すタスクグラフである。タスクグラフとは、処理の相関関係を示すグラフであり、丸印によって示される(1)〜(8)の処理と、それら各処理(1)〜(8)の繋がりを示す矢印110〜119とによって表現されている。なお、処理(1)〜(8)は計算機などで行なわれる処理自体を示しており、ここでは、タスク(1)101〜タスク(8)108としている。また、矢印110〜119はこのタスク(1)101〜タスク(8)108における計算結果が利用される先を示している。
【0004】
すなわち、例えば、
C=A+B …… (あ)
E=C+D …… (い)
という2つの処理(あ)および(い)があった場合、(あ)→(い)という矢印で表す。なお、ここで、“(あ)”および“(い)”は、“あ”および“い”を丸で囲んだ状態を示すものとする。
【0005】
タスクグラフで表した処理は、全て、バラバラに複数のプロセッサに分割して処理させることができる。先の例でいえば、処理(あ)の計算と処理(い)の計算とをそれぞれ別のプロセッサで行なうことができる。この場合、処理(い)の計算を行うプロセッサは、処理(あ)の計算結果を処理(あ)の計算を行うプロセッサから受け取ることになる。このように、図5に示したタスクグラフにおいて、矢印110〜119で繋がっているタスク(1)101〜タスク(8)108は計算結果のやりとりが必要となる。
【0006】
タスクグラフには当然、矢印110〜119で繋がったものと繋がっていないものとが存在するが、矢印110〜119で繋がっていないもの同士はお互いにデータをやりとりする必要はない。図5に示す例でいえば、タスク(1)101とタスク(2)102〜タスク(5)105は矢印110、113、115、117を介して直接繋がっており、タスク(2)102には矢印111を介してタスク(6)106が、タスク(5)105には矢印118を介してタスク(7)107がそれぞれ繋がっている。また、タスク(6)106、タスク(3)103、タスク(4)104、タスク(7)107とタスク(8)108は、それぞれ矢印112、114、116、119を介して直接繋がっている。従って、矢印で繋がっていないペアは、タスク(2)102とタスク(5)105のペア、およびタスク(6)106とタスク(7)107のペアである。
【0007】
一方、タスク(1)101とタスク(2)102のペアや、タスク(2)102とタスク(6)106のペア、およびタスク(5)105とタスク(7)107のペア等は矢印110,111あるいは118で繋がっており、例えば、タスク(1)101とタスク(2)102なら、タスク(1)101の計算が終わらない限りタスク(2)102の計算も終わらないという関係になっている。
【0008】
そのとき、以下に示した2通りの分け方があった場合、後者の分け方を選択するようにする。それは、前者の分け方ではプロセッサ間で計算結果を渡す必要が生じるが、後者ではその必要が生じないからである。
【0009】
・ タスク(2)102とタスク(5)105を1つのプロセッサに割り当て、タスク(6)106とタスク(7)107を他の1つのプロセッサに割り当て
る。
・ タスク(2)102とタスク(6)106を1つのプロセッサに割り当て、タスク(5)105とタスク(7)107を他の1つのプロセッサに割り当て
る。
【0010】
さらに、各タスク101〜108には通常、必要な計算量が示されている(図5では省略)。従って、タスクグラフに与えられている処理を複数のプロセッサに分ける場合、以下の2つの方針に基づいて行うことになる。
【0011】
各プロセッサに分けたタスクの必要計算量の合計がなるべく同じになるように割り当てる。
【0012】
矢印110〜119で繋がっているタスク101〜108同士は、同じプロセッサに割り当てる。
【0013】
図6はプロセッサグラフであり、4つのプロセッサ(P1)121〜(P2)124が環状に繋がっている例を示している。すなわち、プロセッサ(P1)121にプロセッサ(P2)122が繋がり、プロセッサ(P2)122にプロセッサ(P3)123が繋がり、プロセッサ(P3)123にプロセッサ(P4)124が繋がり、プロセッサ(P4)124にプロセッサ(P1)121が繋がっている。
【0014】
このように矢印110〜119で繋がっているタスク101〜108同士を同じプロセッサ121〜124に割り当てるというのが、従来の並列多目標追尾装置で用いられている追尾方法である。この図5に示されているタスクグラフで、丸で表現されているタスク101〜108は機能的に一塊となる処理である。JPDA等のように、目標物と観測点の組合せを考慮して追尾処理を行う場合、対象とする問題が大きくなると、目標物と観測点との組合せを求めるタスクは、他のタスクに比べて、処理の負荷が非常に大きくなる。
【0015】
【発明が解決しようとする課題】
従来の並列多目標追尾装置は以上のように構成されているので、JPDAのように複数の目標物と観測点の組合せを考慮して追尾処理を行なう方式では、目標物と観測点の組合せを求めるための特定の1つのタスク101〜108の処理の負荷が特別に非常に大きくなってしまうことがあり、その場合には、上述したように複数のプロセッサ121〜124を用いて各タスク101〜108の並列処理を行っても、負荷が特別大きくなってしまうタスク101〜108の処理を行ったプロセッサ121〜124だけは処理が終わらず、結果として、全体の処理が完全に終わるまでに長時間を要し、複数のプロセッサ121〜124を用いた負荷分散効果が得られず、並列処理を行っている意味がなくなってしまうという課題があった。
【0016】
目標物と観測点の組合せを求めるためのタスク101〜108を処理負荷ができるだけ均等になるように分割し、それぞれを別プロセッサ121〜124で処理することは可能である。しかしながら、各プロセッサ121〜124が汎用のワークステーションで動作する場合、目標物と観測点の組合せを求めるタスク101〜108以外の他の処理や他のユーザの処理も、同一のプロセッサ121〜124上で実行される可能性があり、それら他の処理が各プロセッサ121〜124で一定になるとは限らず、各プロセッサ121〜124で処理されるタスク101〜108の実行時間も均等にはならず、最適な負荷分散とはならなくなってしまうという課題があった。
【0017】
また、各プロセッサ(ワークステーション)121〜124では、目標物と観測点の組合せを求めるためのタスク101〜108以外の処理は行なわないことにしても、各プロセッサ121〜124が汎用のネットワークで接続されている場合は、タスク101〜108の処理を行うプロセッサ121〜124以外のプロセッサも、同じネットワークを共有して使用していることが考えられ、そのような場合には、プロセッサ121〜124間の通信時間が一定にはならないので、各プロセッサ121〜124でのタスク101〜108の処理の終了が一定とはならず、最適な負荷分散とはならなくなってしまうという課題があった。
【0018】
この発明は上記のような課題を解決するためになされたもので、目標物と観測点の組合せを求めるタスク等の特別高負荷となってしまうタスクに対して負荷分散を行い、タスクを実行するプロセッサ上で他の処理が動作していたり、ネットワーク上で他の通信がなされている状態であっても、並列多目標追尾処理において、最適な負荷分散を行なうことが可能な並列多目標追尾装置を得ることを目的とする。
【0019】
【課題を解決するための手段】
この発明に係る並列多目標追尾装置は、クラスタ生成部が観測点情報と予測領域より生成したクラスタについて、節分割/統合部にて探索木の節を生成し、それをタスクとして複数のタスク処理部に分配して処理する際に、負荷分散部によって、各タスク処理部への節の処理の分配を、各タスク処理部の負荷状況に応じて行うようにし、かつ、負荷分散部より各タスク処理部に対して、最初に複数単位ずつの節の処理を分配し、各タスク処理部では受け取った節の内の1単位の節の処理を開始して、残りを保持しておき、当該節の処理が終了すると、次の節の分配を負荷分散部に要求するとともに、その要求に対する応答が返される前に保持しておいた次の1単位の節の処理を開始し、分配要求を受けた負荷分散部は、節の分配を要求したタスク処理部に対して次の節の分配を行うようにしたものである。
【0023】
この発明に係る並列多目標追尾装置は、時間とともに負荷分散の単位を小さくしていくようにしたものである。
【0024】
この発明に係る並列多目標追尾装置は、1つの負荷分散単位の処理時間が一定時間以上になると、処理している節の下の一部の節群の処理を負荷分散部へ返すようにしたものである。
【0025】
この発明に係る並列多目標追尾装置は、一部の節群の処理を負荷分散部へ返すと判断する際の処理時間の上限値を、時間とともに小さくしていくようにしたものである。
【0026】
この発明に係る並列多目標追尾装置は、負荷分散部と同一のプロセッサ上でタスク処理部の1つを動作させるようにしたものである。
【0027】
【発明の実施の形態】
以下、この発明の実施の一形態を説明する。
実施の形態1.
図1はこの発明の実施の形態1による並列多目標追尾装置の構成を示すブロック図である。図において、1は外部からの観測点情報の入力が行われる入力線である。2は目標物の移動を予測し、その予測結果に応じて予測領域を生成する予測領域生成部である。3は入力線1から入力された観測点情報と、予測領域生成部2の生成した予測領域からクラスタを生成するクラスタ生成部である。4はこのクラスタ生成部3で生成されたクラスタについて探索木の節を生成し、これをタスクとして分割/統合を行う節分割/統合部である。5a〜5dは節分割/統合部4で分割された個々のタスク(節)についての処理を行うタスク処理部である。6は節分割/統合部4で統合されたタスク処理部5a〜5dの処理結果に基づいて、目標物の持つ情報(航跡)の更新を行う目標物航跡更新部である。7は目標物航跡更新部6で更新された情報を追尾結果として外部に出力する出力線である。8a〜8dはこれら各部の処理結果の転送に用いる転送線である。
【0028】
また、9は節分割/統合部4によって分割された節に対する処理を、各タスク処理部5a〜5dに対して、それぞれの負荷状況に基づいて分散して割り当てる負荷分散部である。8fはこの負荷分散部9と節分割/統合部4との間を結ぶ転送線であり、8gは負荷分散部9と各タスク処理部5a〜5dとの間を結ぶ転送線である。
【0029】
次に動作について説明する。
クラスタ生成部3には、外部からの観測点情報が入力線1を介して、また予測領域生成部2の作成した予測領域が転送路8aを介してそれぞれ入力される。これら観測点情報および予測領域を受けたクラスタ生成部3は、複数の目標物の予測領域が重なり、かつその重なった領域に観測点が存在する時には、その予測領域を結合して1つのクラスタを生成する。このクラスタ生成部3で生成された1つのクラスタの情報(観測点と目標物の予測領域)は、転送路8bを介して節分割/統合部4に送られ、節分割/統合部4は受け取ったクラスタの情報から探索木の節を生成する。
【0030】
負荷分散部9はこの節分割/統合部4によって生成された節を転送路8fを介して取り込み、各タスク処理部5a〜5dの負荷状況に応じて、その節の処理を転送路8gを介して各タスク処理部5a〜5dに分配する。各タスク処理部5a〜5dは受け取った節から、探索木の葉(追尾の組合せの1つに相当する)を求め、その処理結果を転送路8gおよび8fを介して節分割/統合部4へ送る。節分割/統合部4は送られてきた各タスク処理部5a〜5dの処理結果を統合し、それを転送路8cを介して目標物航跡更新部6に送る。目標物航跡更新部6は目標物の情報を持ち、送られてきた個々の組合せの可能性をもとに、目標物の情報を更新する。この目標物航跡更新部6にて更新された目標物の情報は、出力線7を介して外部に出力されるとともに、転送線8dを介して予測領域生成部2へも送られる。予測領域生成部2はこの目標物航跡更新部6で更新された目標物の情報に基づいて各目標物について移動予測を行い、その予測領域を生成して転送線8aよりクラスタ生成部3に送る。
この装置は、以上の動作を繰り返すことによって、動的負荷分散を用いた並列多目標追尾装置として動作する。
【0031】
以下、JPDAを用いる場合を例に、各部の動作を説明する。
ここで、図2はJPDAにおける目標物と観測点の関係を示す説明図、図3はこの目標物と観測点の関係を表した行列Ωを示す説明図、図4は目標物と観測点の組合せを表した探索木を示す説明図である。図2において、t(1)およびt(2)は目標物であり、黒丸で示したこの目標物t(1),t(2)の予測座標を中心とする楕円は予測範囲である。また、y(1)〜y(4)はそれぞれ観測点である。
【0032】
なお、図3に示す行列Ωはそれぞれ、縦が目標物t(0)〜t(2)、横が観測点y(1)〜y(4)で分かれており、目標物t(0)は対応する目標なしを示している。また、行列Ω内の“1”は可能性ありを、“0”は可能性なしをそれぞれ示しており、この行列Ωは次の内容を表したものである。
・ 観測点y(1)は、目標物t(2)、もしくは対応する目標なし
・ 観測点y(2)は、目標物t(1)、もしくは目標物t(2)、もしくは対応する目標なし
・ 観測点y(3)は、目標物t(1)、もしくは対応する目標なし
・ 観測点y(4)は、目標物t(1)、もしくは対応する目標なし
【0033】
これを満たす目標物と観測点の組合せとしては、次のケースがある。
・ 目標物t(1)が観測点y(2)で、目標物t(2)が観測点y(1)
・ 目標物t(1)が観測点y(2)で、目標物t(2)が対応なし
・ 目標物t(1)が観測点y(3)で、目標物t(2)が観測点y(1)
・ 目標物t(1)が観測点y(3)で、目標物t(2)が観測点y(2)
・ 目標物t(1)が観測点y(3)で、目標物t(2)が対応なし
・ 目標物t(1)が観測点y(4)で、目標物t(2)が観測点y(1)
・ 目標物t(1)が観測点y(4)で、目標物t(2)が観測点y(2)
・ 目標物t(1)が観測点y(4)で、目標物t(2)が対応なし
・ 目標物t(1)が対応なしで、目標物t(2)が観測点y(1)
・ 目標物t(1)が対応なしで、目標物t(2)が観測点y(2)
・ 目標物t(1)が対応なしで、目標物t(2)が対応なし
【0034】
図4はこの組合せを探索木として表したものである。この探索木における各呼称は、図4では次の部分に対応しており、組合せは、根から葉までの各ノードの持つ状態に対応する。
・ 根 → Root
・ 節 → 木構造の分岐の中段に位置する、図4に楕円で示した部分
・ 葉 → 木構造の分岐の先端に位置する、図4に四角で示した部分
・ 枝 → 図4の根と節、節と節、節と葉を結ぶ線
・ ノード → 節と葉の両方を含む概念
・ 兄弟 → 根からノードまでに経由する枝数が等しいノード同士
【0035】
以上を前提として、各部の動作を具体的に説明する。
まず予測領域生成部2が、その内部に保持している目標物の情報(座標や速度など)から、観測点が観測された時間に対応する目標物t(1)およびt(2)の予測座標を算出する。また、同様に一定の存在確率以上となる、当該目標物t(1),t(2)の予測座標を中心とする予測領域(図2の楕円)を算出する。次にクラスタ生成部3が、その予測領域と観測点y(1)〜y(4)との包含関係を調べる。複数の予測領域に含まれる観測点が存在する時、その観測点を包含する予測領域同士を結合してクラスタを形成する。図2に示す例では、観測点y(2)が2つの予測領域に含まれるため、この2つの予測領域を1つのクラスタとして結合する。
【0036】
生成されたクラスタは節分割/統合部4に送られ、節分割/統合部4はそれより図4に示す探索木の節を生成する。負荷分散部9はこの節分割/統合部4が生成した節を取り込み、各タスク処理部5a〜5dの負荷状況に応じて、その節の処理をタスク処理部5a〜5dに分配する。ここで、タスク処理部5a〜5dへ分配する節のレベルは、図4の観測点y(1)であっても、y(2)であっても、y(3)であっても構わない。なお、下位のレベルになるに従って、各節に対する処理量は通常小さくなる。各タスク処理部5a〜5dは、この負荷分散部9によって分配された節から葉を算出し、各葉が示す組合せごとに信頼度を計算して、目標物と各観測点の対応関係についての重み付けを行う。
【0037】
例えば、図4において、節10を受け取ったタスク処理部は、各組合せごとの信頼度として、以下の信頼度E(1)〜E(3)を計算する。
E(1)→ 観測点y(1)が対応なし、観測点y(2)が目標物t(2)、観測点y(3)、y(4)が対応なしのケースの信頼度
E(2)→ 観測点y(1)が対応なし、観測点y(2)が目標物t(2)、観測点y(3)が対応なし、観測点y(4)が目標物t(1)のケースの信頼度
E(3)→ 観測点y(1)が対応なし、観測点y(2)が目標物t(2)、観測点y(3)が目標物t(1)、観測点y(4)が対応なしのケースの信頼度
【0038】
次に当該タスク処理部5a〜5dは、計算した信頼度の値をもとに、図4に示した節10での目標物と各観測点の対応関係について、以下の重み付けを行う。
・ 目標物t(1)が観測点y(3)に対応する重みを、E(3) ・ 目標物t(1)が観測点y(4)に対応する重みを、E(2) ・ 目標物t(1)が対応なしとなる重みを、E(1)
・ 目標物t(2)が観測点y(2)に対応する重みを、E(1)+E(2)+E(3)
【0039】
次に節分割/統合部4は、各タスク処理部5a〜5dが算出した「目標物と各観測点の対応関係についての重み」を集計する。例えば、目標物t(2)であれば、観測点y(1)に対応する重み、観測点y(2)に対応する重み、および対応なしとなる重みが得られる。
【0040】
目標物航跡更新部6はこの節分割/統合部4が統合した後の情報を受け取り、目標物の位置を算出して、目標物の座標や速度等の内部情報の更新を行う。例えば、目標物t(2)であれば、上記3つの重み付けに基づいて目標物t(2)の座標を求める。なお、この重み付けに基づいた計算結果を、当該目標物の座標と見倣す。
以上で各部の動作が終了する。
【0041】
次に、タスク処理部5a〜5dにおける、それぞれの負荷状況に応じた節の分配について説明する。
まず、負荷分散部9は、節分割/統合部4が生成した探索木のあるレベルの全ての節の処理を均等に各タスク処理部5a〜5dに分配する。均等に節の処理を分配する方法には、節の数を均等にする、あるいは、節の下位の葉の数を均等にするなどが考えられる。
【0042】
次に、負荷分散部9が転送線8gを介して各タスク処理部5a〜5dに負荷の報告要求を出し、各タスク処理部5a〜5dはその要求に応えて負荷状況を負荷分散部9に報告する。ここで、負荷状況には、オペレーティングシステムで管理しているジョブ・キューの単位時間当たりの長さ、すなわち、ジョブ・キューに入っているジョブの数、あるいは、各タスク処理部5a〜5dがまだ処理していない節や葉の数などが考えられる。
【0043】
次に、負荷分散部9は各タスク処理部5a〜5dからの負荷状況の報告を受け取ると、その情報をもとに、各タスク処理部5a〜5dの負荷が均等となるように、各タスク処理部5a〜5dに節の移動を要求する。ここで、例えば負荷状況を各タスク処理部5a〜5dの未処理の節の数とした場合、各タスク処理部5a〜5dからの負荷状況の報告が、それぞれ3,5,4,4であったものとする。これより、全てのタスク処理部5a〜5dにおける未処理の節の数は3+5+4+4=16なので、4つのタスク処理部5a〜5dの負荷状態を均等化した場合、各タスク処理部5a〜5dの担当すべき節の数は4つずつとなる。従って、負荷分散部9は転送線8gを介して、タスク処理部5bに1つの節の処理をタスク処理部5aに移動するように指示する。これにより、各タスク処理部5a〜5dの未処理の節の数が4つずつと等しくなる。
この負荷状況の収集とそれによる各タスク処理部5a〜5d間の節の移動を定期的に行う。
【0044】
以上のように、この実施の形態1によれば、負荷分散部9が、各タスク処理部5a〜5dの負荷状況に応じて、節の処理をタスク処理部5a〜5dに分配しているので、各タスク処理部5a〜5dが汎用のワークステーションのように他の処理が行われているマシン上で動作する場合でも、各タスク処理部5a〜5dの処理時間が均等になり、最適な負荷分散を行うことが可能になるという効果が得られる。
【0045】
また、各タスク処理部5a〜5dの未処理の節の数が定期的に均等化されるので、節の処理以外の処理がタスク処理部5a〜5dと同一のプロセッサ上で行われていても、各タスク処理部5a〜5dの全ての節の処理がほぼ同じ時間で終了し、最適な負荷分散が行えるという効果も得られる。
【0046】
実施の形態2.
以上の実施の形態1では、負荷分散部9が負荷分散のタイミングの主導権を取って、定期的に各タスク処理部5a〜5dの負荷を均等化することにより、各タスク処理部5a〜5dにおける節の処理をほぼ同じ時間で終了させるものについて説明したが、タスク処理部5a〜5dが負荷分散のタイミングの主導権を取り、負荷分散部9に対して仕事の転送要求を行うようにしてもよい。この実施の形態2はそのような並列多目標追尾装置について述べたもので、その構成は図1に示した実施の形態1の場合と同様であるため、ここではその説明は省略する。
【0047】
次に動作について説明する。なお、ここでは実施の形態1とは異なる部分についての説明を行う。
まず、負荷分散部9は、節分割/統合部4が生成した探索木の、あるレベルの節の処理を1単位ずつ各タスク処理部5a〜5dに分配する。各タスク処理部5a〜5dではその探索木の節を受け取るとその処理を開始する。各タスク処理部5a〜5dは受け取った節の処理が終了して負荷がなくなると、負荷分散部9に対して次の仕事、すなわち処理する節の転送を要求する。負荷分散部9はその転送要求を受け取ると、当該要求を出したタスク処理部5a(〜5d)に対して1単位の節の処理(負荷)を与える。
以上の処理を全ての節がなくなるまで繰り返す。
【0048】
以上のように、この実施の形態2によれば、各タスク処理部5a〜5dは仕事がなくなると次の仕事の転送要求を負荷分散部9へ出すので、節の処理以外の処理が同一マシン上で行われていても、各タスク処理部5a〜5dの全ての節の処理がほぼ同じ時間で終了し、最適な負荷分散が行えるという効果が得られ、さらに、1つの節の処理に対応する処理量が小さい場合でも、定期的な負荷状況の収集処理が必要ないので、負荷分散のオーバヘッドが少なくなるという効果も得られる。
【0049】
実施の形態3.
上記各実施の形態では、各タスク処理部5a〜5dは1つの節の処理が完了してから次の節の処理の転送要求を負荷分散部9に出す場合について説明したが、タスク処理部5a〜5dに仕事をある程度確保しておき、それを順次処理してゆくようにしてもよい。この実施の形態3はそのような並列多目標追尾装置について述べたもので、その構成は図1に示した実施の形態1の場合と同様であるため、ここではその説明は省略する。
【0050】
次に動作について説明する。なお、この場合にも実施の形態1とは異なる部分についての説明を行う。
まず、負荷分散部9は最初に、節分割/統合部4が生成した探索木のあるレベルの節の処理を複数単位ずつ各タスク処理部5a〜5dに分配する。各タスク処理部5a〜5dは、この複数単位の節を受け取ると、その内の1単位を除く残りの節を保持し、保持していない残りの1単位の節の処理を実行する。各タスク処理部5a〜5dは当該節の処理が終了すると、負荷分散部9に対して次の仕事、すなわち次に処理すべき節の転送を要求する。そしてこの転送要求に対する応答が負荷分散部9より返される前に、保持しておいた節の内の1単位の節を取り出してその処理を開始する。負荷分散部9はタスク処理部5a(〜5d)から次に処理する節の転送要求を受け取ると、当該要求を送出したタスク処理部5a(〜5d)に対して、次の節の処理の分配を行う。また、要求を出したタスク処理部5a(〜5d)は、負荷分散部9から次に処理するの節の分配を受けると、それを保持する。
以上の処理を全ての節がなくなるまで繰り返す。
【0051】
以上のように、この実施の形態3によれば、各タスク処理部5a〜5dは仕事がなくなると、負荷分散部9に対して次の仕事の転送要求を出すとともに、保持しておいた節の処理をすぐに開始しているので、負荷分散部9へ次の仕事の転送要求を出してからその応答を受け取るまでの間も、他の節の処理が実行されていて、タスク処理部5a〜5dが節の処理を行っていない時間がほとんどなくなるため、最適な負荷分散が行えるという効果が得られる。
【0052】
実施の形態4.
上記各実施の形態では、負荷分散の単位を一定としているものについて説明したが、負荷分散の単位を時間とともに小さくするようにしてもよい。この実施の形態4はそのような並列多目標追尾装置について述べたもので、その構成は図1に示した実施の形態1の場合と同様であるため、ここではその説明は省略する。
【0053】
ここで、並列多目標追尾装置における負荷分散の単位は節であるが、その処理量に相当するサイズは、例えば節の下位の葉の数で測ることができる。図4に示した探索木からも分かるように、葉の数は節のレベルが上がるほど増加し、レベルが下がるほど減少する。従って、負荷分散に際して、節を分解してよりレベルの低い節を負荷分散の単位とすることにより、より小さなサイズの仕事を生成することは容易である。
【0054】
ここで、負荷分散の単位のサイズは、小さければ小さいほど負荷を分散する回数が増えるため負荷分散のためのオーバヘッドが大きくなるが、処理の終了を各タスク処理部5a〜5dで均一化するという面では小さいほどよい。従って、最初は高いレベルの節を負荷分散の単位とし、処理が進むにつれて節を分解し、より低いレベルの節を負荷分散の単位とすることで、負荷分散オーバヘッドを抑えた上で、各タスク処理部5a〜5dの節の処理の終了を均一化し、最適な負荷分散を行うことができる。
【0055】
なお、時間とともに負荷分散の単位を小さくする場合、実施の形態1のように各タスク処理部5a〜5dが仕事(すなわち節の処理)を保持しているときには、各タスク処理部5a〜5dで節を分解する。また実施の形態2のように負荷分散部9が節の処理を保持しているときには、負荷分散部9で節を分解し、実施の形態3のように負荷分散部9および各タスク処理部5a〜5dで節の処理を保持しているときには、負荷分散部9および各タスク処理部5a〜5dの両方で節を分解する。
【0056】
以上のように、この実施の形態4によれば、時間とともに負荷分散の単位を小さくしているので、負荷分散のオーバヘッドを抑えた上で、各タスク処理部5a〜5dの節の処理の終了を均一化し、最適な負荷分散を行うことができるという効果が得られる。
【0057】
実施の形態5.
上記実施の形態4では、時間とともに負荷分散の単位を小さくする場合について説明したが、時間によらずに、1つの負荷分散単位の処理時間が一定以上長くなった場合に負荷分散単位を小さくするようにしてもよい。この実施の形態5はそのような並列多目標追尾装置について述べたもので、その構成は図1に示した実施の形態1の場合と同様であるため、ここではその説明は省略する。
【0058】
探索木の同じレベルの節の処理を負荷分散の単位としている場合、節によってはその下位の葉の数は均等ではない。従って、ある節の下位の葉の数が非常に多い場合は、その節の処理に非常に長い時間がかかり、最悪の場合、他の節の処理は全て完了しているのに、その節の処理だけが残ってしまうということがあり得る。
【0059】
そこで、各タスク処理部5a〜5dでは節の処理時間を監視しており、ある節の処理を行っている最中に、その節の処理を開始してからの実行時間がある一定時間以上経過した場合、その節の下位のまだ処理していない節群の一部を負荷分散部9に返す。そして実施の形態1の場合のように、各タスク処理部5a〜5dが仕事(節の処理)を保持している場合には、次の負荷分散のタイミングまで返された節群を保持しておき、次回の負荷分散の際に負荷の低いタスク処理部5a〜5dに対してその節群の処理を分配する。また、実施の形態2の場合のように負荷分散部9が節の処理を保持している場合には、返された節群をそのまま保持して既に保持している節と同様に扱い、実施の形態3の場合のように負荷分散部9および各タスク処理部5a〜5dで節の処理を保持している場合も同様に、返された節群をそのまま保持して既に保持している節と同様に扱う。
【0060】
以上のように、この実施の形態5によれば、処理時間の非常にかかる節の処理の一部を負荷分散部9へ返すことにより、処理能力に余裕のある他のタスク処理部5a〜5dへそれらの節群の処理を分散しているので、負荷が分散され、全体として処理が早く終了するようになり、最適な負荷分散が行えるという効果が得られる。
【0061】
実施の形態6.
上記実施の形態5では、タスク処理部5a〜5dが未処理の節群の処理を負荷分散部9に返すと判断する1つの負荷分散単位の処理時間の上限値を、一定にしたものについて説明したが、当該上限値を時間とともに小さくするようにしてもよい。この実施の形態6はそのような並列多目標追尾装置について述べたもので、その構成は図1に示した実施の形態1の場合と同様であるため、ここではその説明は省略する。
【0062】
タスク処理部5a〜5dが未処理の節群の処理を負荷分散部9へ返す場合、返すと判断する1つの負荷分散単位の処理時間の上限値は、それが大きいと、負荷分散部9へ返すと判断した時には既に他のタスク処理部5a〜5dの処理が完了している危険性があり、小さいと他のタスク処理部5a〜5dの処理が当分完了しないのにも係わらず未処理の節群の処理が負荷分散部9へ返されることになるため、無駄な仕事の移動になるという危険性がある。
【0063】
そこで、最初のうちは、この未処理の節群の処理を負荷分散部9へ返すと判断する上限値を大きくしておき、時間とともにそれを小さくしていく。それにより、最初のうちは大きな上限値により、無駄となる負荷分散部9への節群の返却を抑えることができる。また、全体の処理の最後の方では、小さな上限値により他のタスク処理部5a〜5dが処理を完了する前に、処理に時間のかかっているタスク処理部5a〜5dの仕事の一部を他のタスク処理部5a〜5dへ分散させることができ、最適な負荷分散とすることができる。
【0064】
以上のように、この実施の形態6によれば、負荷分散部9に節群を返却する際の負荷量の上限値を時間とともに小さくしているので、最初のうちは無駄となる節群の返却を抑えることができ、処理の最後の方では、処理に時間がかかっているタスク処理部5a〜5dの仕事の一部を他のタスク処理部5a〜5dへ確実に分散させることができるようになり、最適な負荷分散を行うことが可能になるという効果が得られる。
【0065】
実施の形態7.
上記各実施の形態では、各タスク処理部5a〜5dと負荷分散部9とを異なるプロセッサ上で動作させたものについて説明したが、複数のタスク処理部5a〜5dの内の1つを負荷分散部9と同一のプロセッサ上で動作させるようにしてもよい。節の処理を行っている際の負荷は、タスク処理部5a〜5dで最も高く、負荷分散部9にはほとんど負荷がない。従って、負荷分散部9をタスク処理部5a〜5dの1つと同一プロセッサ上で動作させることにより、全てのプロセッサの負荷を高い状態とすることができる。
【0066】
以上のように、この実施の形態7によれば、タスク処理部5a〜5dの1つと同一プロセッサ上で負荷分散部9を動作させているので、全てのプロセッサでその負荷を高い状態とすることができ、無駄のない並列処理が可能となるという効果が得られる。
【0067】
【発明の効果】
以上のように、この発明によれば、負荷分散部を設け、クラスタについて生成された探索木の節を複数のタスク処理部に分配して処理する際に、各タスク処理部の負荷状況に応じて節の処理を分配するように構成したので、各タスク処理部が、他の処理を実行しているプロセッサ上で動作するような場合でも、各タスク処理部の処理時間を均等にすることができ、最適な負荷分散を行うことが可能な並列多目標追尾装置が得られるという効果がある。
また、この発明によれば、各タスク処理部に対して負荷分散部より、最初に複数単位ずつの節の処理を分配し、各タスク処理部ではその内の1単位の節の処理を開始して、残りを保持しておき、当該節の処理が終了すると、次の節の分配を負荷分散部に要求するとともに、その要求に対する応答が返される前に保持しておいた次の1単位の節の処理を開始するように構成したので、各タスク処理部は仕事がなくなると次の仕事の転送要求を負荷分散部に対して出すとともに、保持しておいた節の処理がすぐに開始されるため、負荷分散部への節の転送要求を出してから対応する節の転送を受けるまでの間も、保持されている他の節の処理が実行されて、タスク処理部が節の処理を行っていない時間がほとんどなくなり、最適な負荷分散が可能になるという効果がある。
【0071】
この発明によれば、負荷分散の単位を時間とともに小さくしていくように構成したので、負荷分散のオーバヘッドを抑えた上で、各タスク処理部における節の処理の終了を均一化することができ、最適な負荷分散が可能になるという効果がある。
【0072】
この発明によれば、1つの負荷分散単位の処理時間が一定以上になると、処理している節の下位の一部の節群の処理を負荷分散部へ返すように構成したので、負荷分散により、処理能力に余裕のある他のタスク処理部にそれらの節群の処理を分配することができ、全体として処理が早く終了するようになるため、最適な負荷分散が可能になるという効果がある。
【0073】
この発明によれば、一部の節群の処理を負荷分散部へ返すと判断する際の処理時間の上限値を、時間とともに小さくしていくように構成したので、最初のうちは大きな上限値により、無駄となる負荷分散部への節群の返却を抑えることができ、全体の処理の最後の方では小さな上限値により、他のタスク処理部の仕事が完了する前に処理に時間のかかっているタスク処理部の仕事の一部を他のタスク処理部へ分散させることができるため、最適な負荷分散が可能になるという効果がある。
【0074】
この発明によれば、同一のプロセッサ上でタスク処理部の1つと負荷分散部とを動作させるように構成したので、全てのプロセッサでその負荷を高い状態とすることができ、無駄のない並列処理が可能となるという効果がある。
【図面の簡単な説明】
【図1】 この発明による並列多目標追尾装置の構成を示すブロック図である。
【図2】 この発明の並列多目標追尾装置におけるJPDAによる目標物と観測点の関係を示す説明図である。
【図3】 この発明の並列多目標追尾装置における目標物と観測点の関係を表した行列Ωを示す説明図である。
【図4】 この発明の並列多目標追尾装置における目標物と観測点の組合せを表した探索木を示す説明図である。
【図5】 従来の並列多目標追尾装置における追尾処理のタスクグラフを示す説明図である。
【図6】 従来の並列多目標追尾装置における追尾処理のプロセッサグラフを示す説明図である。
【符号の説明】
1 入力線、2 予測領域生成部、3 クラスタ生成部、4 節分割/統合部、5a〜5d タスク処理部、6 目標物航跡更新部、7 出力線、8a〜8d,8f,8g 転送路、9 負荷分散部、10 節、t(1),t(2) 目標物、y(1)〜y(4) 観測点。[0001]
BACKGROUND OF THE INVENTION
The present invention adopts a method that assumes a combination of a plurality of targets such as JPDA (Joint Probabilistic Data Association) as a tracking method for a plurality of targets in a radar, and dynamically assigns processing to a plurality of task processing units. The present invention relates to a parallel multi-target tracking device with load balancing.
[0002]
[Prior art]
As a conventional tracking method for performing parallel processing of multi-target tracking, for example, “On Mapping a Tracking Algorithm on Parallel Processors” (IEEE TRANSACTION ON AEROSPACES AND ELECTRONIC. 1990). FIG. 5 and FIG. 6 are explanatory diagrams showing a tracking method by a conventional parallel multi-target tracking device, and shows a tracking process and a processor as a graph. In this tracking method, processing is expressed as a task graph as shown in FIG. 5, and the load of each task is divided into processors based on the flow of information.
[0003]
FIG. 5 is a task graph showing the relationship of processing. The task graph is a graph showing the correlation between processes, and the processes (1) to (8) indicated by circles, and
[0004]
That is, for example,
C = A + B (A)
E = C + D ...... (I)
When there are two processes (A) and (I), they are represented by arrows (A) → (I). Here, “(A)” and “(I)” indicate a state in which “A” and “I” are circled.
[0005]
All of the processes represented by the task graph can be divided and processed by a plurality of processors. In the previous example, the calculation of the process (A) and the calculation of the process (I) can be performed by different processors. In this case, the processor that performs the calculation of the process (A) receives the calculation result of the process (A) from the processor that performs the calculation of the process (A). As described above, in the task graph shown in FIG. 5, tasks (1) 101 to (8) 108 connected by
[0006]
Of course, there are task graphs that are connected by
[0007]
On the other hand, a pair of task (1) 101 and task (2) 102, a pair of task (2) 102 and task (6) 106, a pair of task (5) 105 and task (7) 107, etc. are indicated by
[0008]
At that time, when there are two ways of division as shown below, the latter division is selected. This is because, in the former method, it is necessary to pass calculation results between processors, but in the latter method, it is not necessary.
[0009]
-Task (2) 102 and task (5) 105 are assigned to one processor, and task (6) 106 and task (7) 107 are assigned to another processor
The
-Task (2) 102 and task (6) 106 are assigned to one processor, and task (5) 105 and task (7) 107 are assigned to another processor
The
[0010]
Furthermore, the required amount of calculation is normally shown for each task 101-108 (omitted in FIG. 5). Therefore, when the processing given to the task graph is divided into a plurality of processors, the processing is performed based on the following two policies.
[0011]
Allocation is made so that the total required calculation amount of tasks divided into each processor is as much as possible.
[0012]
[0013]
FIG. 6 is a processor graph showing an example in which four processors (P1) 1211 to (P2) 124 are connected in a ring shape. That is, the processor (P2) 122 is connected to the processor (P1) 121, the processor (P3) 123 is connected to the processor (P2) 122, the processor (P4) 124 is connected to the processor (P3) 123, and the processor (P4) 124 is connected. The processor (P1) 121 is connected.
[0014]
Assigning
[0015]
[Problems to be solved by the invention]
Since the conventional parallel multi-target tracking device is configured as described above, in the method of performing tracking processing in consideration of a combination of a plurality of targets and observation points such as JPDA, the combination of the target and the observation points is determined. The processing load of one
[0016]
It is possible to divide the
[0017]
In addition, each processor (workstation) 121 to 124 is connected to each
[0018]
The present invention has been made to solve the above-described problems, and performs load distribution for a task that causes a particularly high load such as a task for obtaining a combination of a target and an observation point, and executes the task. A parallel multi-target tracking device capable of performing optimal load balancing in parallel multi-target tracking processing even when other processing is operating on the processor or other communication is performed on the network The purpose is to obtain.
[0019]
[Means for Solving the Problems]
In the parallel multi-target tracking device according to the present invention, a node generated by a cluster generation unit from observation point information and a prediction area is generated by a node division / integration unit, and a plurality of task processes are performed using the search tree as a task. When distributing and processing to each task, the load distribution unit distributes the processing of the clauses to each task processing unit according to the load status of each task processing unit.In addition, the load distribution unit first distributes a plurality of units of processing to each task processing unit, and each task processing unit starts processing one unit of the received clauses, When the processing of the current section is completed, the distribution of the next section is requested to the load balancer, and the next unit of the section retained before the response to the request is returned. When the load distribution unit starts processing and receives the distribution request, it distributes the next section to the task processing unit that requested the distribution of the section.It is a thing.
[0023]
The parallel multi-target tracking device according to the present invention is such that the unit of load distribution is reduced with time.
[0024]
In the parallel multi-target tracking device according to the present invention, when the processing time of one load balancing unit exceeds a certain time, the processing of a part of the group of nodes under the node being processed is returned to the load balancing unit. Is.
[0025]
In the parallel multi-target tracking device according to the present invention, the upper limit value of the processing time when it is determined that the processing of a part of the group of nodes is to be returned to the load distribution unit is reduced with time.
[0026]
The parallel multi-target tracking device according to the present invention is configured to operate one of the task processing units on the same processor as the load distribution unit.
[0027]
DETAILED DESCRIPTION OF THE INVENTION
An embodiment of the present invention will be described below.
FIG. 1 is a block diagram showing a configuration of a parallel multi-target tracking device according to
[0028]
Reference numeral 9 denotes a load distribution unit that distributes and assigns processing for the nodes divided by the node division /
[0029]
Next, the operation will be described.
The observation point information from the outside is input to the
[0030]
The load distribution unit 9 takes in the node generated by the node division /
This device operates as a parallel multi-target tracking device using dynamic load balancing by repeating the above operations.
[0031]
Hereinafter, the operation of each unit will be described by taking the case of using JPDA as an example.
2 is an explanatory diagram showing the relationship between the target and the observation point in JPDA, FIG. 3 is an explanatory diagram showing a matrix Ω representing the relationship between the target and the observation point, and FIG. 4 is a diagram showing the relationship between the target and the observation point. It is explanatory drawing which shows the search tree showing the combination. In FIG. 2, t (1) and t (2) are targets, and an ellipse centered on the predicted coordinates of the targets t (1) and t (2) indicated by black circles is a prediction range. Moreover, y (1) to y (4) are observation points.
[0032]
Note that the matrix Ω shown in FIG. 3 is divided into targets t (0) to t (2) in the vertical direction and observation points y (1) to y (4) in the horizontal direction, and the target t (0) is Indicates no corresponding goal. Further, “1” in the matrix Ω indicates possibility and “0” indicates no possibility, respectively. The matrix Ω represents the following contents.
• Observation point y (1) is target t (2) or no corresponding target
Observation point y (2) is target t (1), target t (2), or no corresponding target
• Observation point y (3) is target t (1) or no corresponding target
• Observation point y (4) is target t (1) or no corresponding target
[0033]
There are the following cases as a combination of the target and the observation point satisfying this.
-Target t (1) is observation point y (2), and target t (2) is observation point y (1).
・ Target t (1) is observation point y (2) and target t (2) is not supported
-Target t (1) is observation point y (3), and target t (2) is observation point y (1).
-Target t (1) is observation point y (3), and target t (2) is observation point y (2).
・ Target t (1) is observation point y (3) and target t (2) is not supported
-Target t (1) is observation point y (4), and target t (2) is observation point y (1).
The target t (1) is the observation point y (4), and the target t (2) is the observation point y (2).
-Target t (1) is observation point y (4) and target t (2) is not supported
-Target t (1) does not correspond and target t (2) is observation point y (1)
-Target t (1) does not correspond and target t (2) is observation point y (2)
・ Target t (1) does not correspond, target t (2) does not correspond
[0034]
FIG. 4 shows this combination as a search tree. Each name in the search tree corresponds to the following part in FIG. 4, and the combination corresponds to the state of each node from the root to the leaf.
・ Root → Root
-Section → The part shown in the ellipse in Fig. 4 is located in the middle of the tree structure branch
・ Leaf → The part shown by the square in Fig. 4 located at the tip of the branch of the tree structure
・ Branches → Lines connecting roots and nodes, nodes and nodes, nodes and leaves in Fig. 4
・ Node → Concept including both nodes and leaves
・ Sibling → Nodes with the same number of branches from the root to the node
[0035]
Based on the above, the operation of each unit will be specifically described.
First, the prediction
[0036]
The generated cluster is sent to the node division /
[0037]
For example, in FIG. 4, the task processing unit that receives
E (1) → Reliability of observation point y (1) is not supported, observation point y (2) is target t (2), and observation points y (3) and y (4) are not supported
E (2) → Observation point y (1) does not correspond, observation point y (2) does not correspond to target t (2), observation point y (3) does not correspond, and observation point y (4) corresponds to target t ( 1) Case reliability
E (3) → Observation point y (1) does not correspond, observation point y (2) is target t (2), observation point y (3) is target t (1), and observation point y (4) is Unreliable case reliability
[0038]
Next, the
• Target t (1) is the weight corresponding to observation point y (3), E (3) • Target t (1) is the weight corresponding to observation point y (4), E (2) • Target The weight at which the object t (1) does not correspond is defined as E (1)
The weight corresponding to the observation point y (2) by the target t (2) is set to E (1) + E (2) + E (3)
[0039]
Next, the node division /
[0040]
The target
This completes the operation of each unit.
[0041]
Next, node distribution according to each load situation in the
First, the load distribution unit 9 equally distributes the processing of all the nodes of a certain level of the search tree generated by the node division /
[0042]
Next, the load distribution unit 9 issues a load report request to each of the
[0043]
Next, when the load distribution unit 9 receives the report of the load status from each
The collection of the load status and the movement of the nodes between the
[0044]
As described above, according to the first embodiment, the load distribution unit 9 distributes the node processing to the
[0045]
Further, since the number of unprocessed nodes in each
[0046]
In the first embodiment described above, the load distribution unit 9 takes the initiative of load distribution timing and periodically equalizes the loads of the
[0047]
Next, the operation will be described. Here, a description will be given of parts different from the first embodiment.
First, the load distribution unit 9 distributes the processing of a certain level of nodes in the search tree generated by the node division /
Repeat the above process until all clauses are gone.
[0048]
As described above, according to the second embodiment, each
[0049]
In each of the above-described embodiments, each
[0050]
Next, the operation will be described. In this case as well, portions different from those in
First, the load distribution unit 9 first distributes the processing of a certain level of nodes in the search tree generated by the node dividing / integrating
Repeat the above process until all clauses are gone.
[0051]
As described above, according to the third embodiment, when each
[0052]
In each of the above embodiments, the case where the unit of load distribution is constant has been described. However, the unit of load distribution may be reduced with time. The fourth embodiment describes such a parallel multi-target tracking device, and the configuration thereof is the same as that of the first embodiment shown in FIG. 1, and therefore the description thereof is omitted here.
[0053]
Here, the unit of load distribution in the parallel multi-target tracking device is a node, but the size corresponding to the processing amount can be measured, for example, by the number of leaves below the node. As can be seen from the search tree shown in FIG. 4, the number of leaves increases as the level of the node increases, and decreases as the level decreases. Therefore, in load distribution, it is easy to generate work of a smaller size by disassembling nodes and using nodes having lower levels as units of load distribution.
[0054]
Here, the smaller the size of the load distribution unit is, the larger the number of times the load is distributed, so the overhead for load distribution increases. However, the end of processing is made uniform among the
[0055]
When the unit of load distribution is reduced with time, when each
[0056]
As described above, according to the fourth embodiment, since the unit of load distribution is reduced with time, the processing of the sections of the
[0057]
In the fourth embodiment, the case where the unit of load distribution is reduced with time has been described. However, the load distribution unit is reduced when the processing time of one load distribution unit becomes longer than a certain value regardless of the time. You may do it. The fifth embodiment describes such a parallel multi-target tracking device, and the configuration thereof is the same as that of the first embodiment shown in FIG. 1, and therefore the description thereof is omitted here.
[0058]
When the processing of a node at the same level of the search tree is used as a unit of load distribution, the number of leaves below it is not uniform depending on the node. Thus, if the number of leaves in a section is very large, it takes a very long time to process that section, and in the worst case, all the other sections have been processed, It is possible that only processing remains.
[0059]
Therefore, each
[0060]
As described above, according to the fifth embodiment, by returning a part of the processing of the clause that takes a very long processing time to the load distribution unit 9, the other
[0061]
In the fifth embodiment described above, the
[0062]
When the
[0063]
Therefore, at first, the upper limit value for determining that the processing of the unprocessed clause group is to be returned to the load distribution unit 9 is increased, and is decreased with time. Thereby, the return of the node group to the load balancing unit 9 which is wasted can be suppressed by a large upper limit at first. Further, at the end of the entire process, before the other
[0064]
As described above, according to the sixth embodiment, since the upper limit value of the load amount when returning the node group to the load distribution unit 9 is reduced with time, the node group that is wasted at first is used. Return can be suppressed, and at the end of the process, it is possible to reliably distribute a part of the work of the
[0065]
Embodiment 7 FIG.
In each of the above embodiments, the
[0066]
As described above, according to the seventh embodiment, since the load distribution unit 9 is operated on the same processor as one of the
[0067]
【The invention's effect】
As described above, according to the present invention, when the load distribution unit is provided and the nodes of the search tree generated for the cluster are distributed to the plurality of task processing units for processing, the load distribution units correspond to the load status of each task processing unit. Therefore, even when each task processing unit operates on a processor executing other processing, the processing time of each task processing unit can be made equal. The parallel multi-target tracking device capable of performing optimal load distribution can be obtained.
Further, according to the present invention, the load distribution unit first distributes the processing of a plurality of units to each task processing unit, and each task processing unit starts the processing of one unit of the units. When the processing of the section is completed, the distribution of the next section is requested to the load balancer, and the next unit of data stored before the response to the request is returned. Since the processing of a clause is configured to start, each task processing unit issues a transfer request for the next job to the load balancer when work is exhausted, and processing of the stored clause is started immediately. Therefore, the processing of the other stored clauses is executed and the task processing unit performs the processing of the clauses from when the node transfer request to the load balancer is issued until the corresponding node is transferred. Almost no time is spent, allowing optimal load balancing There is an effect that becomes.
[0071]
According to the present invention, since the unit of load distribution is made smaller with time, it is possible to equalize the end of the processing of clauses in each task processing unit while suppressing the overhead of load distribution. There is an effect that optimum load distribution becomes possible.
[0072]
According to the present invention, when the processing time of one load balancing unit exceeds a certain value, the processing of a partial group of subordinates of the clause being processed is returned to the load balancing unit. Since the processing of those node groups can be distributed to other task processing units with sufficient processing capacity, and the processing will be completed earlier as a whole, there is an effect that optimum load distribution becomes possible .
[0073]
According to the present invention, since the upper limit value of the processing time when determining that the processing of some clause groups is returned to the load balancing unit is configured to decrease with time, the upper limit value is initially large. Therefore, it is possible to suppress the return of the node group to the load balancing unit, which is wasted, and at the end of the entire processing, a small upper limit value causes the processing to take time before the work of other task processing units is completed. Since part of the work of the task processing unit being distributed can be distributed to other task processing units, there is an effect that optimum load distribution can be achieved.
[0074]
According to the present invention, since one of the task processing units and the load distribution unit are operated on the same processor, the load can be increased in all processors, and parallel processing without waste. There is an effect that becomes possible.
[Brief description of the drawings]
FIG. 1 is a block diagram showing a configuration of a parallel multi-target tracking device according to the present invention.
FIG. 2 is an explanatory diagram showing a relationship between a target and an observation point by JPDA in the parallel multi-target tracking device of the present invention.
FIG. 3 is an explanatory diagram showing a matrix Ω representing a relationship between a target and an observation point in the parallel multi-target tracking device of the present invention.
FIG. 4 is an explanatory diagram showing a search tree representing combinations of targets and observation points in the parallel multi-target tracking device of the present invention.
FIG. 5 is an explanatory diagram showing a task graph of tracking processing in a conventional parallel multi-target tracking device.
FIG. 6 is an explanatory diagram showing a processor graph of tracking processing in a conventional parallel multi-target tracking device.
[Explanation of symbols]
DESCRIPTION OF
Claims (5)
前記目標物の移動を予測し、その予測結果に応じて予測領域を生成する予測領域生成部と、
入力された観測点情報と、前記予測領域生成部にて生成された予測領域からクラスタを生成するクラスタ生成部と、
前記クラスタ生成部にて生成されたクラスタについて探索木の節を生成し、それをタスクとして分割/統合する節分割/統合部と、
前記節分割/統合部によって分割された個々の節について、その処理を行うと共に、複数単位の節が分配された場合、当該複数単位の節を1単位を除いて保持して、残った1単位の節の処理を行い、当該節の処理が終了すると、次の節の分配を要求するとともに、その要求に対する応答が返される前に保持しておいた次の1単位の節の処理を開始する複数のタスク処理部と、
前記節分割/統合部によって分割された節に対する処理として、前記各タスク処理部に対して最初に複数単位ずつ節の処理を分配し、前記タスク処理部から次の節の分配要求を受けると、当該節の分配を要求したタスク処理部に対して次の節の分配を行う負荷分散部と、
前記節分割/統合部の処理結果に基づいて前記目標物の情報を更新し、それを追尾結果として出力するとともに、前記目標物の移動予測のために前記予測領域生成部に入力する目標物航跡更新部とを備えたことを特徴とする並列多目標追尾装置。In a parallel multi-target tracking device that distributes loads on a plurality of task processing units and tracks a plurality of targets,
A prediction region generation unit that predicts the movement of the target and generates a prediction region according to the prediction result;
A cluster generation unit that generates a cluster from the input observation point information and the prediction region generated by the prediction region generation unit;
A node division / integration unit that generates a search tree node for the cluster generated by the cluster generation unit and divides / integrates the search tree as a task;
For each section divided by the section dividing / merging unit, processing is performed , and when a plurality of sections are distributed, the plurality of sections are retained except for one unit, and the remaining one unit When the processing of the section is completed and the processing of the section is completed, the distribution of the next section is requested, and the processing of the next one unit stored before the response to the request is returned is started. A plurality of task processing units;
As processing for the clauses divided by the clause division / integration unit , first, the processing of a plurality of units is distributed to each task processing unit , and when a distribution request for the next clause is received from the task processing unit, A load distribution unit that distributes the next section to the task processing unit that requested distribution of the section ;
The target track is updated based on the processing result of the node division / integration unit, and is output as a tracking result and input to the prediction region generation unit for the movement prediction of the target A parallel multi-target tracking device comprising an update unit.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP28018799A JP3645135B2 (en) | 1999-09-30 | 1999-09-30 | Parallel multi-target tracking device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP28018799A JP3645135B2 (en) | 1999-09-30 | 1999-09-30 | Parallel multi-target tracking device |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2001099925A JP2001099925A (en) | 2001-04-13 |
JP3645135B2 true JP3645135B2 (en) | 2005-05-11 |
Family
ID=17621520
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP28018799A Expired - Fee Related JP3645135B2 (en) | 1999-09-30 | 1999-09-30 | Parallel multi-target tracking device |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3645135B2 (en) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB0315349D0 (en) | 2003-07-01 | 2003-08-06 | Qinetiq Ltd | Signal processing with reduced combinatorial complexity |
JP4485370B2 (en) * | 2005-01-06 | 2010-06-23 | 三菱電機株式会社 | Parallel computing device |
JP5084598B2 (en) * | 2008-04-26 | 2012-11-28 | 三菱電機株式会社 | Tracking processing apparatus and program |
JP5914245B2 (en) * | 2012-08-10 | 2016-05-11 | 株式会社日立製作所 | Load balancing method considering each node of multiple layers |
DE102016206550A1 (en) | 2016-04-19 | 2017-10-19 | Conti Temic Microelectronic Gmbh | Device and method for determining an object kinematics of a moving object |
CN107561528A (en) * | 2017-08-11 | 2018-01-09 | 中国人民解放军63870部队 | The Joint Probabilistic Data Association algorithm that a kind of anti-flight path merges |
CN113703934B (en) * | 2020-05-22 | 2024-09-06 | 腾讯科技(深圳)有限公司 | Task processing method, device, computer equipment and storage medium |
CN113484841B (en) * | 2021-07-26 | 2024-08-23 | 中国船舶重工集团公司第七二三研究所 | Method for processing track heads under search radar multitasking parallelism |
-
1999
- 1999-09-30 JP JP28018799A patent/JP3645135B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2001099925A (en) | 2001-04-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4621087B2 (en) | System and method for operating load balancer for multiple instance applications | |
Sharma et al. | Performance analysis of load balancing algorithms | |
Shah et al. | On the design of adaptive and decentralized load balancing algorithms with load estimation for computational grid environments | |
Wu | On runtime parallel scheduling for processor load balancing | |
US9703610B2 (en) | Extensible centralized dynamic resource distribution in a clustered data grid | |
CN101873224A (en) | Cloud computing load balancing method and equipment | |
CN110109756A (en) | A kind of network target range construction method, system and storage medium | |
CN107291544A (en) | Method and device, the distributed task scheduling execution system of task scheduling | |
JP3645135B2 (en) | Parallel multi-target tracking device | |
Schneider et al. | Dynamic load balancing for ordered data-parallel regions in distributed streaming systems | |
Shi et al. | Coflow scheduling in data centers: routing and bandwidth allocation | |
Khodar et al. | New scheduling approach for virtual machine resources in cloud computing based on genetic algorithm | |
Lv et al. | An effective framework for asynchronous incremental graph processing | |
Suryadevera et al. | Load balancing in computational grids using ant colony optimization algorithm | |
Banicescu et al. | Addressing the stochastic nature of scientific computations via dynamic loop scheduling | |
Gąsior et al. | A Sandpile cellular automata-based scheduler and load balancer | |
Shi et al. | Smart shuffling in MapReduce: a solution to balance network traffic and workloads | |
Kokkinos et al. | Data consolidation: A task scheduling and data migration technique for grid networks | |
JP3650296B2 (en) | Tracking device | |
US7386616B1 (en) | System and method for providing load balanced processing | |
JP4127056B2 (en) | Parallel multi-target tracking device | |
JP3638235B2 (en) | Parallel multi-target tracking device | |
Mithila et al. | Latency-based vector scheduling of many-task applications for a hybrid cloud | |
CN110928683B (en) | Edge computing resource allocation method based on two types of intensive virtual machines | |
JP2001099921A (en) | Parallel multi-target tracking device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20040721 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20040727 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20040902 |
|
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: 20050104 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20050202 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080210 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090210 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100210 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100210 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110210 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120210 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130210 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130210 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140210 Year of fee payment: 9 |
|
LAPS | Cancellation because of no payment of annual fees |