JP2003099412A - 超並列コンピュータ - Google Patents

超並列コンピュータ

Info

Publication number
JP2003099412A
JP2003099412A JP2001289760A JP2001289760A JP2003099412A JP 2003099412 A JP2003099412 A JP 2003099412A JP 2001289760 A JP2001289760 A JP 2001289760A JP 2001289760 A JP2001289760 A JP 2001289760A JP 2003099412 A JP2003099412 A JP 2003099412A
Authority
JP
Japan
Prior art keywords
processing
computer
cell
cpus
cpu
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.)
Pending
Application number
JP2001289760A
Other languages
English (en)
Inventor
Haruki Inoue
春樹 井上
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.)
Hitachi Engineering Co Ltd
Original Assignee
Hitachi Engineering Co Ltd
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 Hitachi Engineering Co Ltd filed Critical Hitachi Engineering Co Ltd
Priority to JP2001289760A priority Critical patent/JP2003099412A/ja
Publication of JP2003099412A publication Critical patent/JP2003099412A/ja
Pending legal-status Critical Current

Links

Abstract

(57)【要約】 【課題】本発明の目的は、膨大な繰り返し演算を必要と
する分割問題においても全てのCPUを有効に活用しC
PUの数が増大しても並列処理効率を向上させることが
できる超並列コンピュータを提供することにある。 【解決手段】任意の当該セルコンピュータ106(A)
は、他のセルコンピュータ106(B)の稼働率を監視
し、他のセルコンピュータ106(B)の稼働率が所定
値より小さい場合に当該セルコンピュータ106(A)
と実行命令の等しいクローンプログラムを他のセルコン
ピュータ106(B)に複製し、自己の処理担当範囲を
均等に分割して分割した他方の処理範囲を他のセルコン
ピュータ106(B)に処理させる。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、複数の中央演算装
置(以後、CPUと称する)と複数のオペレーティング
システム(以後、OSと称する)及び通信手段を有する
超並列コンピュータに関する。
【0002】
【従来の技術】一般に、並列コンピュータはSMP(対
称型並列処理)タイプとMP(マッシブリー並列処理)
タイプの2種類に大別される。SMPタイプは、1つの
共有メモリー上に複数のCPUを接続し、このメモリー
を介してCPU同志が交信を行うようにしている。SM
Pタイプは装置構成が簡単であり、コストパフォーマン
スが高い為、ビジネス用コンピュータとして広く使用さ
れている。
【0003】しかし、SMPタイプは共有メモリーへの
データのアクセス処理能力に限界がある為に処理遅れ無
しに異なるCPU同志が交信できる条件での最大のCP
U数は16台程度である。
【0004】MP(マッシブリ・パラレル)タイプの並
列コンピュータは、各CPUにそれぞれメモリーが接続
され、かつ、各CPU同志が高速の通信回線で相互に、
1対1で結合されている為、任意の2つのCPU間交信
は、他CPU間の交信に全く影響を受けない。従って、
MPタイプはCPU交信処理による待ち時間が極めて小
さくなる。しかし、メモリーが膨大に必要となり、か
つ、CPU間の接続回路が複雑になることから、CPU
の数が大きくなるとコストパフォーマンス(コスト対性
能比)、スケーラビリティ、エキスパンダビリティ(拡
張性)が極端に低下するという欠点を有する。
【0005】この為、近年では小型のSMP(対照性メ
モリ型並列)型のコンピュータであるセルコンピュータ
を多数,超並列接続バスで結合する形態のSMPクラス
タ超並列コンピュータシステムが産業、流通、金融など
ほとんどのビジネス分野における標準的なコンピュータ
となっている。
【0006】このSMPクラスタ超並列コンピュータシ
ステムは文献「スーパーコンピュータへの挑戦」(岩波
書店発行)に見られるように1960年代から数多く提案さ
れ、実用化されてきている。SMPクラスタ超並列コン
ピュータシステムは、前述の文献に記載されている通り
「核反応時の中性子線の拡散シミュレーション」、「大
企業の社員の給料計算」、「巨大データベースのパター
ン検索」、「インターネットによる大規模受注処理」等
膨大な数の繰り返し演算を必要とする分割問題の処理演
算に用いられている。
【0007】しかし一方で並列使用時の、複数のコンピ
ュータの稼働率が大きく低下するという課題があり、S
MPクラスタ構成による超並列処理は広い分野で使われ
ることがなく適用分野が限定されている。
【0008】例えば100本以上の、多数のCPUの並列
使用時、一般的には各々のCPUは繰り返し演算回数処
理を均等に分割した分だけ処理を行う。しかし現実のビ
ジネス分野の課題は時々刻々変化する状況に対応する為
に、夥しい数の分岐命令が使用されるのが一般的である
ため、これらにより繰り返し処理ごとの処理に要する時
間が大きく変動する。
【0009】具体的には、例えば、1000回分の処理を担
当する2つのCPU、A,Bの処理時間をそれぞれ、t
a、tbとすると、taは1ミリ秒なのに対し、tbは10秒を
要するというようなことが常に発生する。例えば、図2
2に示すように10000本のCPUを使用して、従来の並
列処理方法で大きな分割問題を解こうとした時、一つの
CPUで340秒を要しているボトルネックという現象の
為に、他のCPUのほとんどは1秒以内で処理を完了し
ているにも拘らず、それらのCPUは339秒の間何の仕
事もしていない、という非効率的な動作になってしま
う。この場合の全体のCPU稼働率は1%以下となる。
【0010】このように、10000本という膨大な数のC
PUを備えたのに、100本のCPUをフルに使って処理
を行ったのと同等かそれ以下の能力しか発揮できないこ
とを示している。以後、このことを並列同期処理におけ
る無駄時間の発生と称する。
【0011】この並列同期処理における無駄時間という
欠点を克服する為に多くの提案が行われている。例え
ば、特開平7‐93265号公報に記載されている従来技術で
は、処理時間が大きいと予想される処理と、そうでない
処理をバランス良くCPUに割当て、CPUの無駄時間
を無くすという工夫が行われている。
【0012】
【発明が解決しようとする課題】しかし、従来から頻繁
に行われてきたCPU全体の処理負荷バランスを平準化
する方法は以下に示す様な欠点を有する。
【0013】繰り返し番号毎の処理時間が予め予想でき
る場合は良いが、現実の状況は時間経過や環境の変化に
より常に変動する為、結局効率が良い場合とそうでない
場合が混在し、大変不安定な結果しか得られない。例え
ば、時々刻々、全てのCPUの処理状況を監視し、負荷
の分散を図るプロセスを設ければ時々刻々状況が変化す
る場合であってもある程度の効率向上は期待できる。し
かし、常にシステム全体のCPUの状況を監視する為に
は、全てのCPUと頻繁に交信を続けなければならず、
CPUの数が増大すると交信の為の処理が全体の効率を
低下させることになる。
【0014】このように、従来方法の根本的な問題は、
並列処理において計算の状況全体を監視し、必要に応じ
制御を行う全体監視制御用の全体を統括する処理が必要
不可欠であった点にあると言える。つまり、この必要不
可欠と思われていた全体統括処理が実は大きな処理効率
低下の主たる原因になっていたのである。
【0015】以上の様な欠点は、CPUの並列度が大き
くなる程大きなものとなり、現実的には、100本以下
のCPUによる、並列コンピュータ程度の並列コンピュ
ータしか、実用に供しない。しかし、近年の産業・経済
の動向等より、より大型の、つまり並列度が1000を
超える様な構成の並列コンピュータであっても、処理性
が低下しない様な方法と手段が必須となってきている。
【0016】本発明の目的は、膨大な繰り返し演算を必
要とする分割問題においても全てのCPUを有効に活用
しCPUの数が増大しても並列処理効率を向上させるこ
とができる超並列コンピュータを提供することにある。
【0017】
【課題を解決するための手段】本発明の特徴は、任意の
当該セルコンピュータは、他のセルコンピュータの稼働
率を監視し、他のセルコンピュータの稼働率が所定値よ
り小さい場合に当該セルコンピュータと実行命令の等し
いクローンプログラムを他のセルコンピュータに複製
し、自己の処理担当範囲を均等に分割して分割した他方
の処理範囲を他のセルコンピュータに処理させるように
したことにある。
【0018】これを実現する為には、以下の様な人工生
命プログラム(クローンプログラム)を並列コンピュー
タハードウエア上に1体だけ生成させる。
【0019】具体的に、繰り返し回数10000の分割処理
向けを例に説明する。要求に応じて、あるひとつのセル
コンピュータのOS(オペレーティングシステム)は2次
記憶装置内に格納されている人工生命プログラムAL
(i)(1〜10000)をCPU(i)上に読み上げ、起動
する。ここで(1〜10000)とは、人工生命ALが担
当する分割処理範囲を示している。
【0020】人工生命体AL(i)は以下の様にして問題
を解くようにする。 [1].AL(i)は自身に論理的に近接しているCPU(i
+1)の状況を参照し、動作可能と判断した場合、自身
と同一のプログラムを生成(クローンの増殖)し、自身
の処理範囲(1〜10000)を等分割して (1〜5000)
を自身の処理範囲、(5001〜10000)を生成したAL(i
+1)の範囲として起動する。つまり、AL(i+1)と
する。 [2].AL(i)は自身に割り当てられた処理を実行す
る。 [3].各人工生命は自身の接続されているメモリー上に
自身のメールボックスを持ち、繰り返し処理毎に自身の
メールボックスを参照し上記[1]と同じ処理を行う。す
なわち、近接しているCPU上のクローンの処理が完了
している場合は、再び残処理の分譲を行う。 [4].全ての担当処理が完了完了した場合は、近接する
CPU(i+1)に対し処理が完了した旨の通知を送信
する。 [5].処理を終了する。
【0021】以上により、1種類のプログラムによる人
工生命体が、存在する処理資源としての空いているCP
Uを探し、近隣で空いているCPUを探し当てた場合、
自身のクローンを生成し、対象とする問題を連鎖的に分
割してゆくことで、自律的にCPU毎の負荷を分散す
る。所定の処理が完了する都度自律的にこれが繰り返さ
れていくので、全ての処理が完了するまで各CPUの負
荷が均等に分散されることになる。
【0022】また、上記[3]、[4]におけるCPU間の交
信は、交信専用のプロセッサを用いて非同期に行わせる
ことにより、分割処理を担当するCPUの処理能力をC
PU間の交信の為に使う必要性をなくすことができる。
【0023】以上のように本発明は、1種類のソフトウ
エアプログラムにより並列処理に用いるCPUの数に係
わらず、全てのCPUを100(%)に近い稼動率で動作
させることが可能となる。
【0024】換言すると、本発明は膨大な繰り返しを要
しかつ、該当の繰り返し処理ごとの処理量が計測、推定
あるいは予測できない場合であっても、複数の割り当て
られた全てのCPUが100(%)に近い効率で動作する
ことを可能としている。また、解こうとする課題に係わ
り無くCPUの数の増減に自律的に対応出来る方法でもあ
る。この性質をスケーラブルと称する。更に使用するCP
Uの数に係わり無く、用意するソフトウエアプログラム
は1種類で良い為、ソフトウエア開発効率、保守効率を
最大にできる。
【0025】
【発明の実施の形態】図2に本発明の一実施例による超
並列コンピュータの全体構成図を示す。
【0026】本装置は、複数台(72台)のCPU10
1、複数個(18個)の共有メモリー102、超並列接
続バス103、2次記憶装置104、マンマシン装置1
05により構成されている。CPU101、共有メモリ
ー102はキャビネット110に収納され超並列接続バ
ス103に接続されている。
【0027】図3に示すように3個のキャビネット11
0と、パソコンやワークステーションなどのマンマシン
装置105により成っている。各キャビネット110に
は複数のセルコンピュータ106と呼ばれる小型のコン
ピュータのユニットがセットされている。セルコンピュ
ータ106はSMPコンピュータである。本例では、3
個のキャビネット110が有り、各々のキャビネット1
10には6台のセルコンピュータ106が段積みセット
されている。
【0028】図4は1台のセルコンピュータ106の外
観図を示しており、4台のCPU101が装着されてい
る例を示している。図5はセルコンピュータ106の概
略構成図を示しており、4個のCPU101がメモリー
コントローラー107を介して共有メモリー102に接
続され、かつ、超並列接続バス103がバス(LAN)
コントローラー108を介して接続されている。メモリ
ーコントローラー107は、4個のCPU101が同時
に共有メモリー102をアクセスした場合であっても、
単独でのメモリーアクセス時間より大きな処理時間を要
しないメモリーアクセススイッチ機構を備えている。
【0029】図6は、図5の2つのコントローラー10
7、108を除いて表現した模式図で図5と等価なもの
である。図2は、図6の模式図で示している。
【0030】図1に本発明によるセルコンピュータ10
6の一例機能ブロック図を示す。
【0031】オペレータ112はマンマシン装置105
の表示装置を見てシステム全体を監視制御してデータを
入力する。セルコンピュータ106は、マンマシン装置
105の入力装置から入力されたデータを格納する主記
憶手段113、セルコンピュータ106を制御するオペ
レーティングシステムの全体制御手段114、クローン
生成依頼手段115、処理範囲分割手段116、応用処
理実行手段117、自CPU開放手段118、クローン
生成手段119、および2次記憶手段120により構成
される。
【0032】図1の各機能を図7を参照して説明する。
【0033】図7はクローン生成依頼手段115とクロ
ーン生成手段119の動作を説明するもので、セルコン
ピュータ106Aが他の異なるセルコンピュータ106
B上に自身と同一のプログラム構造を有するクローンを
生成する状況を示している。なお、情報処理におけるク
ローンとは、実行命令が全く等しいプログラムのことを
意味している。すなわち、外部データは異なるが処理は
同一である人工生命体がクローンである。
【0034】セルコンピュータA(106A)上の人工
生命体ALのクローン生成依頼手段119がセルコンピュ
ータB(106B)上へ、人工生命体AL'の生成を依頼す
る()。この依頼は超並列バス103を経由してセル
コンピュータBのオペレーティングシステムOS2である全
体制御手段114に対して行われる。
【0035】全体制御手段114は予めシステムジェネ
レーション時に設定されているプログラムAの実行モジ
ュールAL'を2次記憶装置120から読み出す()。
次に、読み出した実行命令をセルコンピュータBの主記
憶手段113上に設定し、プログラム開始アドレスを主
記憶装置113上のAL'の先頭アドレスに設定してプロ
グラムを実行する()。
【0036】この様にして、異なるコンピュータ上にA
L自身とまったく同一のプログラムを動作できるように
することにより、従来とは全く異なる情報処理を実現で
き、かつ大きな効果を得ることができる。本発明の第1
の大きな特徴である。
【0037】図8に本発明の中心的処理である人工生命
型分割並列処理のフロー図を示す。図8は理解を容易に
するために、オペレータの設定入力手順と2台のセルコ
ンピュータA、Bの処理の流れに限定して示している。
実際の動作は、半無限数のセルコンピュータ及びCPU
上で同一の処理が行われる。
【0038】また、図8の各々の処理は図1における各
手段の動作に対応している。クローン生成依頼手段11
5は処理Cに、処理範囲分割手段116は処理Dに、応
用処理実行手段117は処理Eに、自CPU開放手段1
18は処理Fに夫々対応している。
【0039】オペレータ112はマンマシン装置105
から分割繰り返し処理スタート番号nと最終番号mを入
力する。これらのデータは、セルコンピュータA上の共
有メモリ―102に記憶される。次に、オペレータ11
2はセルコンピュータA上の人工生命体ALの動作開始を
指示する。人工生命体ALは指定された処理範囲n〜mを
繰り返して処理(処理A1)する。
【0040】この繰り返し処理の先頭で近傍(論理的な
隣り)のCPUの、過去一定時間の負荷率(稼働率)が定め
られた値(所定値)より小さい時は「隣接CPUは空きで
ある」と判断(処理B1)し、隣接CPU上に、自身のクロー
ンプログラムを生成し起動する(処理C1)。
【0041】次に、処理範囲n〜mを2等分になる様に
分割し、新しいクローンに分割された半分の処理を分譲
する(処理D1)。具体的には、自身の処理範囲を書き換
え、かつ隣接CPUの共有メモリー上に分割後のスタート
番号と最終番号を書き込む処理を実行する。次に、所定
の処理(処理E1)を実行し、残処理がある場合は処理B1
に戻る。処理B1で隣接CPUが空きではない場合処理C1,D1
は行われず処理E1にジャンプする。
【0042】この様にして、すべての処理が終了した場
合、自身を産み出した親に相当する人工生命が存在する
CPUに対し自CPUが開放されたことを通知する(処理F1)。
生成されたセルコンピュータB上のクローンAL’はALと
全く同じ動作を行う。
【0043】以上により、システム全体の状況、問題の
性質、環境の変化に関わり無く、処理負荷が全てのCPU
に均等に分散される。従来の文献(特開平7−9326
5号公報)に見られる方法では、システム全体を常に監
視せねばならずかつ、全体監視制御の為の処理が大きな
効率低下をもたらす。つまり、動作中の処理を必ず一時
停止させなければならないのである。また、CPUの数の
増減に対しては、プログラムの変更が必ず必要となり、
この結果、自動的並びに自律的に処理資源の拡張・縮小
に追従できないという深刻な制約がある。
【0044】本発明では、以上の制約は発生せず、CPU
の数や環境の変化があった場合であっても自動的、自律
的に全ての処理資源を100%に近い効率で動作させる
ことができる。
【0045】図9は空きCPUの判断の判断基準を説明す
る説明図である。
【0046】CPU負荷率とは図9(a)のように、測定
全体時間が30秒であった場合、CPUが使用されていた
総計時間7秒であった場合、7/30*100(%)で
定義される。ここでの近傍CPUの判断は、図9(b)の
ように過去一定時間(5分)の負荷が例えば10(%)
以下ならば図9(c)のように空きと判定することによ
り行われる。
【0047】図10は処理範囲分割状況の説明図であ
る。図10は、初期状態として処理範囲が1〜1024
で設定されている状態としている。時刻t1では人工生
命Aのみが存在し、その時点での処理範囲は、セルコン
ピュータAが全てを受け持つことになる。時刻t2で
は、新たに人工生命Bが増殖され、セルコンピュータAの
処理範囲は半分の1〜512に減少し、一方セルコンピ
ュータBはケース番号513〜1024までの512の
範囲を受け持つことになる。
【0048】時刻t3になると更に新たな人工生命Cが
生成され、この結果、Bの範囲は513〜768の25
6ケースとなり、人工生命Cは769〜1024の合計
256ケースとなる。時刻t4では人工生命Dの生成に
よりCとDが受け持つ範囲がそれぞれ128ケースとなる
ことを示している。
【0049】以上の様にクローンの自己増殖機能により
処理範囲が自律的に分割されて行くため、各々の処理の
内容が未知の物であってもシステム全体としては、あら
ゆる状況で自動的に負荷が均等に分散される。分割の数
が512→256→128と徐々に小さくなる為、一
見、負荷が均等に分散されないようなイメージを与える
が、実際は各々の処理量のばらつきにより、システム全
体としてはいかなる場合も、負荷は自律的に均等に分散
される。
【0050】図11は処理範囲の分割処理における詳細
フロー図である。図11は、全体フロー図中の処理範囲
分割処理の詳細で、処理D10とD20で未処理開始番号
iと最終ケース番号処理jを取り込んだ後に、処理D30
で自身の処理範囲を計算する。常に隣接のCPUと処理範
囲を均等に分担するように分割する。処理D40では、同
様に新しいクローンの処理分担範囲を計算する。
【0051】以上のことを更に一般化しつつ詳細に記述
する。外部より解くべき課題の処理範囲であるスタート
番号nと最終番号mがパーソナルコンピュータあるいは
ワークステーション等のマンマシン装置112により入
力され、プログラムALが起動される。所定のサーバの
OS(オペレーティングシステム)はALをCPU
(i)上にローディングしてALはAL(i) (n,m)
として動作を開始する。
【0052】AL(i)(n,m)は、処理Aにて、問題解
決範囲(処理範囲)をnからmに設定し処理を開始す
る。次に処理Bで近接するCPU(i+1)の状態が空
かを参照する。最初の参照では,超並列バス103を用
いた実通信を実施しても良いし、別のプロセスに状態を
常時共有メモリー上に設定させておいても良い。ここで
は、例えば、CPU(i+1)からCPU(i+7)までが全
て空きであり使用可能であるとする。
【0053】次に処理処理Cでは、CPU(i+1)上に
AL(i)自身のクローンAL(i+1)を生成する。具体
的には国際規格のMPI(メッセージパシングインター
フェース Message Passing Interface)や、PVM(パ
ラレルバーチャルマシン Parallel Virtual Machine)
の手続きに従って生成しても良いし、あるいはTCP/
IPなどの通信手順により生成することもできる。
【0054】処理Dでは処理範囲(n,m)を等分割して
AL(i)とAL(i+1)に処理を分譲する。これによ
り、2つの人工生命体が2つの異なるCPU上に以下の
様に生成される。
【0055】AL(i)(n,(n+m―1)/2), {A
L(i)(1,512)} AL(i+1)((n+m+1)/2+1,m),{AL(i+1)(5
13,1024)} ここで{ }は、n=1,m=1024の時の値を示し
ている。
【0056】CPU(i)上では処理Eにて、所定の業務
処理が実行される。一方CPU(i+1)上では、処理E
にてCPU(i+2)が空であることが検出されるので新
たな人工生命体AL(i+2)が誕生する。この結果、並
列コンピュータ上には、 AL(i)(n,(n+m―1)/2) AL(i+1)((n+m―1)/2+1,((n+m―1)/2+1+
m)/2) AL(i+2)((n+m―1)/2+1+m)/2+1,m) 具体的には、 {AL(i)(1,512)} {AL(i+1)(513,768)} {AL(i+2)(769,1024)} という3種の人工生命体が存命することになる。
【0057】以下同様にして、ほぼ同時に下記8種類の
生命体が並列コンピュータ上に生成される。ここでは、
煩雑さを避ける為に(n,m)=(1,1024)の場合につ
いてのみ記載する。
【0058】AL(i)(1,512),AL(i+1)(51
3,768), AL(i+2)(769,896),AL(i+3)(897,
960) AL(i+4)(961,992),AL(i+5)(993,
1008), AL(i+6)(1009,1016),AL(i+7)(10
17,1024)
【0059】この様にして、実処理が進むと上記8つの
人工生命体のうち少なくとも1体は全ての処理を完了す
る為、処理Fにて近傍CPUに対して自CPUが開放さ
れたことを通知する。
【0060】本例においてAL(i+1)が完了した場合
を仮定すると、CPU(i+1)の近接CPUはCPU
(i)であるので、CPU(i)のメールボックスにCPU
(i+1)が空いたことを知らせる。ここで、AL(i)は
まだ担当範囲の半分しか処理が完了していないとすると
状態はAL(i)(257,512)であるのでAL(i)は
処理カウンタ=256の処理を完了後再び、処理C,Dに
てCPU(i)上に新たな生命体を増殖することで、自身
の処理負荷を軽減する。
【0061】この結果、各生命体の状態は AL(i)(257,384) AL(i+1)(385,512) と推移する。
【0062】この様な局所的な作用が連鎖的に発生し、
結果として1本のCPUで全ての処理を行った場合に比
べ、同一の処理性能を有するCPUを8本使用した場合
約1/8近くの時間で同じ結果が得られる。勿論、異な
る処理性能を有するCPUを組み合わせて使用した場合
であっても、処理能力の合計値に応じた性能向上が得ら
れる事はいうまでもない。また、繰り返し処理の処理量
がどの様にばらついてもまた時間的に変化していても、
各CPUはほぼ100(%)に近い稼働率で問題解決を図
ることができる。
【0063】更に、処理の途中でCPUを増やしたり減
らしたりしても本方法であれば自律的に全てのCPUを
均等に動作させることができる。
【0064】図12は、本発明を実際の問題に適用した
場合の例を示したものである。ここではデジタル(ベク
トル)情報により成るデジタル地図の表示の例を挙げて
いる。
【0065】例えば、日本全体のデジタル道路地図は1
0(km)平方毎(2次メッシュと称す)にデジタル情報
はまとめて記憶されており、これが約4400種類ある。本
例では説明の簡易化の為、緯経度方向とも100分割し、
全部で10000メッシュであるものと仮定している。
【0066】各メッシュに対応するデータはベクトル情
報と呼ばれ、道路、鉄道、山、湖、海などのグラフィカ
ルな地形(目標物)を表すデータと、該目標物の名称を表
す文字型のデータに大別される。例えば、図12でのメ
ッシュ137は都市部分に対応しており、大量のデータ
を含むことになる。本例では100(メガバイト=MB)
の容量が必要であることを示している。
【0067】一方、メッシュ10000は小さな島を含む海
洋部分に対応するため、含まれるデータはわずか0.0
1(MB)である。これはメッシュ137の1/10000し
かない。同様に、メッシュ135は海洋部分と陸地部分
がほぼ半分ずつで構成される部分に対応しており、この
データ容量は8(MB)である。この様にメッシュの対
応する地図上の面積は全く等しいが、そこに含まれる情
報量には大きなばらつきがあることがわかる。
【0068】この様なデジタル情報を基に地図をグラフ
ィカルな形に再合成し表示する為には、各データを順順
に実際のグラフィカルデータに変換しながら表示する処
理を行なう必要がある。従って海洋に対応するメッシュ
10000の処理は大変短い時間で終了するのに対して、都
市部に該当するメッシュ137を表示するには非常に長
い時間を要することになる。
【0069】図13は、CPUが1本しかない従来のコ
ンピュータでの処理フロー図である。この場合はCPU
が1本しかない為、処理はメッシュ1〜10000まで逐次的
に処理することしか出来ない。
【0070】図14は、図13に示したプログラムで編
集と表示を行った場合のタイムチャートである。各メッ
シュ毎の処理時間に大きなばらつきがみられ処理完了ま
で25秒を要している。従来の逐次実行型のコンピュー
タを使用する限りこれより処理時間を小さくすることは
できない。
【0071】図15は図12の処理で用いたコンピュー
タ内に使用されているものと同一のCPU101を50
本用いた並列コンピュータを用いて、同じ地図表示の処
理を行うプログラムの処理フロー図である。ここでは、
10000メッシュを各CPUで均等に処理させる意図の基
に50分割し、各CPUに200メッシュずつの処理を与え
ている。
【0072】図16は、図15で処理を実施した場合の
結果を示すタイムチャートである。ここで、横軸は時間
推移、縦軸はCPU番号を示している。図14に示した
逐次実行型の処理では25秒を要したのに対し、ここで
は約10秒で完了しているので、処理時間は1/2.5
に短縮されたことになる。しかし処理能力的には50倍を
有するのに1/2.5しか時間が短縮されていないのは
極めて並列効率が低いということになる。ここで並列効
率PE(Parallel Efficiency)を以下の式の様に定義
する。
【0073】 PE=AE/LA*100(%) (式1) AE:実際のCPUが有効に動作した処理時間合計値
(図の黒い部分) LA:理想的に全てのCPUが動作した場合の総処理時
間(図中の全面積) ここでは AE=66(秒) LA=10(秒)*50(CPU)=500(秒) であるので、 PE=66/500*100=13.2(%) つまり、7並列の並列コンピュータがフルに動作した場
合よりも効率が低いことを示している。これでは、コス
トパフォーマンスが悪く実ビジネスに使用することは困
難である。これが、コンピュータが開発されて以来長い
年月が経過しているにもかかわらず並列コンピュータが
コンピュータの主流になり得なかった大きな理由の一つ
である。
【0074】この原因は図16におけるCPU101
(番号5)が都市部対応の大容量データを含むメッシュ
の処理を集中的に担当している為、CPU101(番号
5)だけが他のCPU101に比べると突出した処理時
間を要している為である。従って、CPU101(番号
5)などに加えデータの密集度の高いメッシュを担当し
ている他のCPUの処理時間を効率良く他の余裕のある
CPU101に分散できれば総処理時間は大幅に短縮で
きることになる。
【0075】図17は、図1の構成、図8の処理フロー
に示した本発明による人工生命体を50本のCPU10
1で動作させた結果のタイムチャートである。
【0076】各CPU内でのメッシュ毎の処理時間のば
らつきは大きいが、総処理時間は0.5(秒)に収束して
いることがわかる。図14に比べ処理時間は約1/50
に短縮されていることから本発明による人工生命型超並
列処理方法を適用したことで、ほぼ100(%)の並列
効率が得られたことが分かる。
【0077】また、各メッシュの構造や容量が変化した
場合でもそれらに自律的に追従可能であり、同様な結果
が得られることは明らかである。またCPUの並列本数
が変化しても処理プログラムの変更無しに100(%)
に近い並列効率が得られる。
【0078】図18は、以上の結果を纏めたタイムチャ
ートである。すなわち、従来の逐次処理実行型のコンピ
ュータを使用した場合は少なくとも25(秒)を要したも
のが、50CPUによる並列コンピュータ上で従来の並
列処理方法に基づくプログラムを動作させた場合は10
(秒)で処理が完了する。そして同じ50CPUの並列コ
ンピュータ上で本発明による人工生命型超並列処理方法
に基づくプログラムを動作させた場合は0.5(秒)で処
理が完了することがわかる。
【0079】従来の並列処理方法では更にCPU本数を
増やしても総処理時間は短縮されないのに対して、本発
明に基づくプログラムを用いるならば対象とする処理内
容に拘らず、CPU本数を増加させることで更に処理時
間を短縮できる点が特徴である。
【0080】つまり、本発明は応用処理プログラムの内
容が不明であっても、あるいは繰り返し処理毎の処理対
象データ量がダイナミックに変化する場合でも常に並列
コンピュータの並列効率を100(%)に近い効率で動作
させることができる。換言すると、本発明は、ユーザが
望む処理性はCPUの本数の増減により自在に実現でき
る、ということである。
【0081】図24は、並列多次元空間の多様性と本発
明の定量的効果を示したものである。
【0082】図24において、縦軸は、問題の複雑さを
表す指標として、分割の数のグレードを定義している。
横軸は、それに対する処理時間のばらつき、及び従来の
並列処理によるCPU稼動率、及び本発明によるCPU稼動率
を定義している。
【0083】本発明はあらゆる分割問題に対して唯一有
効な方法ではなく、分割された問題間での処理の複雑さ
のばらつきが大きい程有効になる、という点に留意が必
要である。一般的に対象問題が単純な場合、例えば分割
数が100以下の場合であれば、全ての分割部分に対応
するCPUの処理時間は平均値にそれぞれ近づくように
なる。つまり、平均処理時間に対する分散値はゼロに近
くなる。この場合は従来の単純な並列処理であっても高
い効率を得ることができる。
【0084】図24では従来の並列処理はCPU稼働率
(並列効率)が98(%)以上も得られており本発明による
結果よりむしろ優れているといえる。ここでのCPU稼
働率は、前述の並列効率と同一な評価指標である。処理
時間の分散値が小さくなるのは課題が単純であり、この
結果それを記述するプログラムがシンプルになり処理分
岐可能ルートや、状況に応じた繰り返し処理が少なくな
る為である。
【0085】ところが問題が複雑になるのに伴い処理時
間の平均値に対する分散値は急激に増大してくる。分割
数が10000より大きかったり、あるいはシステムの複雑
さを決定する要素の数が大きくなると、処理時間の平均
値に対する分散値は80(%)より大きくなり、従来の並
列処理方法でのCPU稼働率はわずか5(%)以下になっ
てしまうのがわかる。つまり、100本のCPUを用い
ているにも拘らず、同じCPUの5本分の能力しか発揮
できないことになる。
【0086】これに対して本発明によるプログラムでは
複雑さの増大に連れ、従来方法とは逆にCPU稼働率は
向上する。図24では分割数が10000以上の問題に対し
ては99.6(%)以上の稼働率が得られることがわか
る。
【0087】現実世界の問題は、近年急激に複雑さを増
しており、図24を遥かに超える複雑なものばかりにな
ってきている。そういった意味で本発明の重要性は極め
て大きい。何故なら、所望の処理性の向上はCPUを増
加させることでスケーラブルに得られるからである。
【0088】図19は、動的に環境が変化する場合にお
ける本発明の動作を説明するものである。図19は、時
間的に制約度が高い、インターネットなどの通信回線を
用いるオークションの受付け運用を例に挙げている。
【0089】オークションとは、出展されたある商品を
複数の参加者が入札価格を時々刻々更新して行くもので
あり応答での時間的な制約が大きく、また、データの時
系列情報の保持に厳密さが要求されるビジネスモデルで
ある。
【0090】図19ではCPU101が8台あり、それら
は全て同一のメモリー(共有メモリー)102に高速デー
タ転送装置(バス)を用いて接続されている。オークショ
ンの受付けデータは他のシステムを経由して、共有メモ
リー102に8つの地域毎にまとめられ記憶される。
【0091】8台のCPU101は原則的に、各々の分担
地域のデータを処理するが、特定の地域にデータが集中
する場合は、他のCPU101が応援することで、システ
ム全体のスループットを最大にすることが必要である。
【0092】図20はオークションにおけるダイナミッ
ク制御システムの実際の動作例を示したものである。
【0093】時刻t1では、CPU2が受け持つ東北のデ
ータが40件、CPU3が受け持つ関東のデータが100
件入力済みであることを示している。時刻t2になる
と、CPU2は40件のデータのうち、39件の処理を完
了しており、一方CPU3は100件のデータのうち60件
を処理済であるが、処理中に更に42件がダイナミック
に追加されている。
【0094】時刻t3では、CPU2は自身の東北のデー
タを処理してしまい一旦処理を終了してCPUを開放した
為、CPU3上の関東担当のCPU3は未処理分の82件のう
ち、41件をCPU2に分譲していることが分かる。この
様に、本発明によれば、ダイナミックに状況が変化して
も常に負荷を均等に分散できることが分かる。
【0095】図21は、ビジネス現場におけるユーザか
らの注文の受けつけ処理、すなわち受注処理を1000
本のCPUを有する並列コンピュータ上で、従来の並列
情報処理プログラムを用いて行った場合の、実際の運用
時に採取されたデータによる処理時間タイムチャートで
ある。
【0096】注文の受付け(受注)、オークション参加/
結果の配信、問い合わせ/回答、そのほか広域から大量
の処理要求が一定の時間内に集中して発生しそれを速や
かに処理することはインターネットビジネス等の近年の
ビジネスにおいては最重要課題である。ところがそれら
に対する処理を地域毎、あるいは商品毎などの単位でC
PUの仕事を固定的に割り当ててしまうと、しばしば図
12にみられる様に、全体業務にとって致命的な処理遅
れが発生する。この例では1000(本)のCPUのう
ち、CPU136,137の担当する地域からの要求が
集中してしまい、全体処理が終了するまでに340
(秒)を要している。オークションなど秒をあらそうよ
うなビジネスならば致命的な事故になることが分かる。
【0097】図22は、図21の詳細を示したものであ
る。ほとんどのCPUが0.1(秒)以内で処理を完了し
ているのに対し、全体からみると少数のいくつかのCP
Uだけが突出して長い処理時間を浪費しているのが分か
る。この結果、ほとんどのCPUに大きな無駄時間が発
生してしまい、1000(本)のCPUに対する総合稼働
率は1(%)以下になってしまっている。つまり、100
0本ものCPUを使用できるのに10(本)のCPUで効
率良く処理したのと同等以下の処理性しか得られないこ
とを示している。
【0098】これに対して、本発明に基づくプログラム
で処理した場合の結果は図23に示すように、全てのC
PUの稼働率は99.5(%)を超えており、実行処理時
間はわずか0.22(秒)しか要していない。
【0099】このようにして分散処理を行うのである
が、任意の当該セルコンピュータは、他のセルコンピュ
ータの稼働率を監視し、他のセルコンピュータの稼働率
が所定値より小さい場合に当該セルコンピュータと実行
命令の等しいクローンプログラムを他のセルコンピュー
タに複製し、自己の処理担当範囲を均等に分割して分割
した他方の処理範囲を他のセルコンピュータに処理させ
るようにしている。したがって、近隣で空いているCP
Uを探し当てた場合、自身のクローンを生成し、対象と
する問題を連鎖的に分割してゆくことで、自律的にCP
U毎の負荷を分散する。所定の処理が完了する都度自律
的にこれが繰り返されていくので、全ての処理が完了す
るまで各CPUの負荷を均等に分散させることができ
る。
【0100】
【発明の効果】本発明によれば、膨大な繰り返し演算を
必要とする分割問題においても全てのCPUを有効に活
用しCPUの数が増大しても並列処理効率を向上させる
ことができ、保守性と拡張性が極めて大きくなるという
効果を奏し得る。
【図面の簡単な説明】
【図1】本発明によるセルコンピュータの一例を示す機
能ブロック図である。
【図2】本発明の一実施例を示す構成図である。
【図3】並列コンピュータの外観図である。
【図4】セルコンピュータの外観図である。
【図5】セルコンピュータの概略構成図である。
【図6】セルコンピュータの模式図である。
【図7】クローンプログラムの生成状況の説明図であ
る。
【図8】人工生命型の分割並列処理フロー図である。
【図9】空CPUの判断処理の説明図である。
【図10】処理範囲の分割状況説明図である。
【図11】処理範囲分割処理の詳細フロー図である。
【図12】デジタル道路地図の表示例図である。
【図13】従来の逐次実行型の処理フロー図である。
【図14】従来の逐次実行型の処理タイムチャートであ
る。
【図15】従来の並列処理のフロー図である。
【図16】従来の並列処理のタイムチャートである。
【図17】本発明による超並列処理のタイムチャートで
ある。
【図18】処理時間の比較特性図である。
【図19】オークションにおけるダイナミック制御の一
例構成図である。
【図20】ダイナミック制御の状況説明図である。
【図21】大規模シミュレーション処理のタイムチャー
トである。
【図22】従来の並列処理のタイムチャートの詳細図で
ある。
【図23】本発明による人工生命型処理のタイムチャー
トの詳細図である。
【図24】本発明の効果を説明するための説明図であ
る。
【符号の説明】
101…CPU、102…共有メモリー、103…超並
列接続バス、104…2次記憶装置、105…マンマシ
ン装置、106…セルコンピュータ、112…オペレー
タ、113…主記憶手段、114…全体制御手段(オペ
レーティングシステム)、115…クローン生成依頼手
段、116…処理範囲分割手段、117…応用処理実行
手段、118…自CPU開放手段、119…クローン生
成手段。

Claims (3)

    【特許請求の範囲】
  1. 【請求項1】共有メモリーに複数の中央演算装置を接続
    して構成される複数台のセルコンピュータをバスに並列
    接続した超並列コンピュータであって、任意の当該セル
    コンピュータは、他のセルコンピュータの稼働率を監視
    し、前記他のセルコンピュータの稼働率が所定値より小
    さい場合に前記当該セルコンピュータと実行命令の等し
    いクローンプログラムを前記他のセルコンピュータに複
    製し、自己の処理担当範囲を均等に分割して分割した他
    方の処理範囲を前記他のセルコンピュータに処理させる
    ようにしたことを特徴とする超並列コンピュータ。
  2. 【請求項2】共有メモリーに複数の中央演算装置を接続
    して構成される複数台のセルコンピュータをバスに並列
    接続した超並列コンピュータであって、任意の当該セル
    コンピュータは、予め定めた近接する他のセルコンピュ
    ータの稼働率を監視し、前記他のセルコンピュータの稼
    働率が所定値より小さい場合に割込みを行い前記当該セ
    ルコンピュータと実行命令の等しいクローンプログラム
    を前記他のセルコンピュータに複製し、自己の処理担当
    範囲を均等に分割して分割した一方の分割処理範囲を自
    己で処理を行い他方の他方の分割処理範囲を前記他のセ
    ルコンピュータに処理させるようにしたことを特徴とす
    る超並列コンピュータ。
  3. 【請求項3】共有メモリーに複数の中央演算装置を接続
    して構成される複数台のセルコンピュータをバスに並列
    接続した超並列コンピュータであって、任意の当該セル
    コンピュータは、予め定めた近接する他のセルコンピュ
    ータの負荷率を監視し、前記他のセルコンピュータの負
    荷率が所定値より小さい場合に割込みを行い前記当該セ
    ルコンピュータと実行命令の等しいクローンプログラム
    を前記他のセルコンピュータに複製し、自己の処理担当
    範囲を均等に分割して分割した一方の分割処理範囲を自
    己で処理を行い他方の他方の分割処理範囲を前記他のセ
    ルコンピュータに処理させるようにすると共に、前記他
    のセルコンピュータは他方の分割処理範囲の処理を完了
    すると前記当該セルコンピュータに通知するようにした
    ことを特徴とする超並列コンピュータ。
JP2001289760A 2001-09-21 2001-09-21 超並列コンピュータ Pending JP2003099412A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2001289760A JP2003099412A (ja) 2001-09-21 2001-09-21 超並列コンピュータ

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2001289760A JP2003099412A (ja) 2001-09-21 2001-09-21 超並列コンピュータ

Publications (1)

Publication Number Publication Date
JP2003099412A true JP2003099412A (ja) 2003-04-04

Family

ID=19112207

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001289760A Pending JP2003099412A (ja) 2001-09-21 2001-09-21 超並列コンピュータ

Country Status (1)

Country Link
JP (1) JP2003099412A (ja)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007533034A (ja) * 2004-04-15 2007-11-15 レイセオン カンパニー Hpcクラスタを管理するためのグラフィカル・ユーザ・インタフェース
JP2009187115A (ja) * 2008-02-04 2009-08-20 Internatl Business Mach Corp <Ibm> マルチノード・サーバシステム、負荷分散方法、リソース管理サーバ、およびプログラム
JP2009245265A (ja) * 2008-03-31 2009-10-22 Aisin Aw Co Ltd 地図表示装置及び地図表示プログラム、並びにこれを用いたナビゲーション装置
US8190714B2 (en) 2004-04-15 2012-05-29 Raytheon Company System and method for computer cluster virtualization using dynamic boot images and virtual disk
US8219997B2 (en) 2006-11-10 2012-07-10 International Business Machines Corporation Execution the job that is divided into job tasks based on the estimated completion time
US8244882B2 (en) 2004-11-17 2012-08-14 Raytheon Company On-demand instantiation in a high-performance computing (HPC) system
US8335909B2 (en) 2004-04-15 2012-12-18 Raytheon Company Coupling processors to each other for high performance computing (HPC)
US8910175B2 (en) 2004-04-15 2014-12-09 Raytheon Company System and method for topology-aware job scheduling and backfilling in an HPC environment
US9178784B2 (en) 2004-04-15 2015-11-03 Raytheon Company System and method for cluster management based on HPC architecture

Cited By (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9904583B2 (en) 2004-04-15 2018-02-27 Raytheon Company System and method for topology-aware job scheduling and backfilling in an HPC environment
US9594600B2 (en) 2004-04-15 2017-03-14 Raytheon Company System and method for topology-aware job scheduling and backfilling in an HPC environment
US8984525B2 (en) 2004-04-15 2015-03-17 Raytheon Company System and method for topology-aware job scheduling and backfilling in an HPC environment
US8190714B2 (en) 2004-04-15 2012-05-29 Raytheon Company System and method for computer cluster virtualization using dynamic boot images and virtual disk
US10769088B2 (en) 2004-04-15 2020-09-08 Raytheon Company High performance computing (HPC) node having a plurality of switch coupled processors
US9037833B2 (en) 2004-04-15 2015-05-19 Raytheon Company High performance computing (HPC) node having a plurality of switch coupled processors
US8335909B2 (en) 2004-04-15 2012-12-18 Raytheon Company Coupling processors to each other for high performance computing (HPC)
US9178784B2 (en) 2004-04-15 2015-11-03 Raytheon Company System and method for cluster management based on HPC architecture
US11093298B2 (en) 2004-04-15 2021-08-17 Raytheon Company System and method for topology-aware job scheduling and backfilling in an HPC environment
US10289586B2 (en) 2004-04-15 2019-05-14 Raytheon Company High performance computing (HPC) node having a plurality of switch coupled processors
US8910175B2 (en) 2004-04-15 2014-12-09 Raytheon Company System and method for topology-aware job scheduling and backfilling in an HPC environment
US9189275B2 (en) 2004-04-15 2015-11-17 Raytheon Company System and method for topology-aware job scheduling and backfilling in an HPC environment
US9189278B2 (en) 2004-04-15 2015-11-17 Raytheon Company System and method for topology-aware job scheduling and backfilling in an HPC environment
US9928114B2 (en) 2004-04-15 2018-03-27 Raytheon Company System and method for topology-aware job scheduling and backfilling in an HPC environment
US9832077B2 (en) 2004-04-15 2017-11-28 Raytheon Company System and method for cluster management based on HPC architecture
JP2007533034A (ja) * 2004-04-15 2007-11-15 レイセオン カンパニー Hpcクラスタを管理するためのグラフィカル・ユーザ・インタフェース
US8244882B2 (en) 2004-11-17 2012-08-14 Raytheon Company On-demand instantiation in a high-performance computing (HPC) system
US8219997B2 (en) 2006-11-10 2012-07-10 International Business Machines Corporation Execution the job that is divided into job tasks based on the estimated completion time
JP2009187115A (ja) * 2008-02-04 2009-08-20 Internatl Business Mach Corp <Ibm> マルチノード・サーバシステム、負荷分散方法、リソース管理サーバ、およびプログラム
JP2009245265A (ja) * 2008-03-31 2009-10-22 Aisin Aw Co Ltd 地図表示装置及び地図表示プログラム、並びにこれを用いたナビゲーション装置

Similar Documents

Publication Publication Date Title
Dippe et al. An adaptive subdivision algorithm and parallel architecture for realistic image synthesis
CN1991768B (zh) 与不同种类的资源通信的基于指令系统结构的内定序器
US8631410B2 (en) Scheduling jobs in a cluster having multiple computing nodes by constructing multiple sub-cluster based on entry and exit rules
Ahrens et al. A parallel approach for efficiently visualizing extremely large, time-varying datasets
CN104714850A (zh) 一种基于opencl的异构共同计算均衡方法
JP2003131900A (ja) サーバシステム運用管理方式
Bell Scalable, parallel computers: alternatives, issues, and challenges
JP2003099412A (ja) 超並列コンピュータ
Tiskin The bulk-synchronous parallel random access machine
Li et al. A hybrid particle swarm optimization algorithm for load balancing of MDS on heterogeneous computing systems
Ahmed et al. A hybrid and optimized resource scheduling technique using map reduce for larger instruction sets
Daneshyar et al. Large-scale data processing using mapreduce in cloud computing environment
CN116302574B (zh) 一种基于MapReduce的并发处理方法
Yoshida et al. CONeP: A cost-effective online nesting procedure for regional atmospheric models
Casey et al. A domain structure for distributed computer systems
CN111538487B (zh) 分布式并行网格生成软件框架
Jin et al. Research on fuzzy scheduling of cloud computing tasks based on hybrid search algorithms and differential evolution
Cai et al. A simulation study of dynamic load balancing for network-based parallel processing
Hung et al. Architectures for cloud-based hpc in data centers
Enslow Jr Multiprocessors and Other Parallel Systems an Introduction and Overview
CN114201306B (zh) 基于负载均衡技术的多维地理空间实体分布方法及系统
Sabri A Cutting-Edge Data Mining Approach for Dynamic Data Replication That also Involves the Preventative Deletion of Data Centres That are Not Compatible with One Other
Lioupis et al. The memory hierarchy of the CHESS computer
Duan et al. Distributed Method for the Backup of Massive Unstructured Data
Alzahrani et al. Data Aware Simulation of Complex Systems on GPUs

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20041005

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20041207

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20050331