JP2681269B2 - 並列データ再分配方法及びマルチプロセッサシステム - Google Patents

並列データ再分配方法及びマルチプロセッサシステム

Info

Publication number
JP2681269B2
JP2681269B2 JP61295510A JP29551086A JP2681269B2 JP 2681269 B2 JP2681269 B2 JP 2681269B2 JP 61295510 A JP61295510 A JP 61295510A JP 29551086 A JP29551086 A JP 29551086A JP 2681269 B2 JP2681269 B2 JP 2681269B2
Authority
JP
Japan
Prior art keywords
data
processor
processors
amount
scheduling
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
JP61295510A
Other languages
English (en)
Other versions
JPS63147257A (ja
Inventor
康男 山根
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP61295510A priority Critical patent/JP2681269B2/ja
Publication of JPS63147257A publication Critical patent/JPS63147257A/ja
Application granted granted Critical
Publication of JP2681269B2 publication Critical patent/JP2681269B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • G06F15/173Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
    • G06F15/17356Indirect interconnection networks
    • G06F15/17368Indirect interconnection networks non hierarchical topologies

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multi Processors (AREA)

Description

【発明の詳細な説明】 〔目次〕 概要 産業上の利用分野 従来の技術 発明が解決しようとする問題点 問題点を解決するための手段(第1図) 作用 実施例 一実施例の構成の説明(第1図) 一実施例の動作の説明(第2図) 他の実施例の構成の説明(第3図) 他の実施例の作用の説明(第4図〜第7図) 発明の効果 〔概要〕 本発明はマルチプロセッサシステムにおける各プロセ
ッサが持つデータを各プロセッサが均等または略均等に
持つように分配する並列データ再分配方法及びマルチプ
ロセッサシステムにおいて、まずその分配する仕方を決
めるスケジューリングでは実データを転送する代わりに
データ量を表わす数値を送信しあうシミュレーションを
行ってスケジュールを決定し、次にそのスケジューリン
グに基づいて実際に実データを送信しあうことにより、
均等にデータを分配し、スケジューリング及びデータ分
配処理ともに各プロセッサが並列度を落とさずに並列処
理することによって高速処理できるようにしたものであ
る。 〔産業上の利用分野〕 本発明はマルチプロセッサシステムにおいて、各プロ
セッサが持つデータ量が不均一な場合に均等または略均
等になるように再分配する処理を、各プロセッサが並列
処理する方法及びシステムに関するものである。 データベース等においてデータをマルチプロセッサシ
ステムによって並列処理する場合に、各プロセッサが処
理するデータ量を均一にすることが、各プロセッサの処
理の負担を均等にし、ひいてはマルチプロセッサシステ
ム全体の処理性能を最大限に発揮するために重要であ
る。この均等にデータを分配する処理は、どのプロセッ
サからどのプロセッサにどれだけデータを送ったらよい
かということを決定するスケジューリングと、そのスケ
ジューリングに基づいて実際にデータの均等再分配を行
う2つのフェーズからなるが、各フェーズともに高速に
処理する方法あるいはシステムが必要とされる。 〔従来の技術〕 リレーショナルデータベース等でデータを並列処理す
るマルチプロセッサシステムにおいて、各プロセッサが
処理すべきデータ量を均等または略均等にするための移
動データ量を決定するスケジューリングの一つの方法と
して、ある一つのプロセッサに各プロセッサの持つデー
タ量を報告し、その一つのプロセッサがスケジューリン
グを行ない、各プロセッサに移動データ量を指示するも
のがあった。 また他の方法として、各プロセッサが持つデータ量の
大きい順にプロセッサをソートしデータ量を大きいプロ
セッサから小さいプロセッサに順に余分なデータを転送
することにより、均等または略均等に分配するものがあ
った。 〔発明が解決しようとする問題点〕 しかしながら、上記従来の一つのプロセッサでスケジ
ューリングを行なう方式では、その一つのプロセッサに
スケジューリングのために多大な負荷がかかり、多くの
時間を必要とした。特にマルチプロセッサのプロセッサ
数が増えるにつれ級数的に多くの時間を要するという問
題点が予想される。マルチプロセッサシステムにおいて
は種々の処理を分散して並列に処理し得るところに特徴
があるが、このスケジューリングの方法ではその並列性
という特徴を生かしていないことも問題点である。 また上記従来のデータ量の大きい順にプロセッサをソ
ートしデータ量の小さいプロセッサへデータを分配して
ゆく方式では、データ量の大きい順にプロセッサが物理
的に結合されていることはまれで、通信量が増大し、ま
たこの方式でも並列性が充分に生かしきれていないとい
う問題点があった。 本発明は、上記問題点を解決するため創案されたもの
で、各プロセッサのデータ量を均等または略均等に再分
配する際のスケジューリング及び実データの分配処理
を、各プロセッサの並列性を生かして高速に行なうこと
を可能にした並列データ再分配方法及びマルチプロセッ
サシステムを提供することを目的とする。 〔問題点を解決するための手段〕 第1図は本発明の原理説明図用のブロック図である。
上記目的を達成するため本発明においては、データの並
列処理を行うマルチプロセッサシステムにおける各プロ
セッサのデータ量が不均一な場合に前記各プロセッサが
持つ実データを均等または略均等に再分配する並列デー
タ再分配方法であって、第1段階として、2つのプロセ
ッサの各々が有するデータ量を示す数値に基づいて、ど
ちらのプロセッサがデータの転送元となり、どちらのプ
ロセッサがデータの転送先となるか、および、データを
転送する際の転送量を、前記2つのプロセッサの少なく
とも一方のプロセッサにおいて決定するスケジューリン
グ処理を、複数のプロセッサのペアで並列に行い、第2
段階として、前記スケジューリング処理結果に基づいて
実データをプロセッサ間で転送することを特徴とする並
列データ再分配方法としている。また、複数のプロセッ
サからなるマルチプロセッサシステムであって、前記の
方法で、前記各プロセッサが持つ実データを均等または
略均等に再分配するマルチプロセッサシステムとしてい
る。 〔作用〕 第1図に示すようにマルチプロセッサシステムでは各
プロセッサが複数のプロセッサと結合されている。本発
明は、各プロセッサP1〜Pmが予めプロセッサ毎に定めら
れた順序で隣接のプロセッサと各自の持っているデータ
量を示す数値d(Pi)を並行して交信し合って、各プロ
セッサP1〜Pmが処理すべきデータ量を均等化するスケジ
ューリングを各プロセッサで並列に実行する。次に各プ
ロセッサP1〜Pmはそのスケジューリングで決定したデー
タ移動量に従って、実データDiを転送し合って再分配す
る。以上によってスケジューリングと実データの再分配
処理が各プロセッサP1〜Pmで並列処理される。 〔実施例〕 一実施例の構成の説明(第1図) 以下、本発明の一実施例を図面に基づいて詳細に説明
する。本発明をハイパーキューブ結合のマルチプロセッ
サシステムに適用した実施例について説明する。第1図
本発明を適用するハイパーキューブ結合のマルチプロセ
ッサシステムの実施例をも示すブロック図である。まず
その構成を説明する。本マルチプロセッサシステムは24
個即ち16個のプロセッサP1〜P16により構成され、各プ
ロセッサP1〜P16は4つのチャネル(通信路)を有し、
4個のプロセッサを1つのグループとして方形に接続
し、さらに各グループの1つのプロセッサが閉じたルー
プを形成するように接続されている。各プロセッサP1
P16は各チャネルを介して均等化のスケジューリングの
ためのデータ量を示す数値d(P1)〜d(P16)を転送
し合い、続いて均等化のスケジューリングの結果に基づ
き実データD1〜D16の転送をし合ってデータを再分配す
る。 一実施例の動作の説明(第2図(a)〜(f)) 以上の実施例の作用を第2図(a)〜(f)の動作説
明図により説明する。本実施例における均等化のスケジ
ューリングは以下の4段階にわたって行なわれる。例と
して各プロセッサP1〜P16のデータ量d(Pi)は第2図
(a)のボックス内に示すようになっていたと仮定して
説明を行なう。例えばプロセッサP11のデータ量d
(P11)は14である。ここで第2図(b)から第2図
(e)までに示されるプロセッサ間で転送し合う数値
は、データ量を示す数値であって実データD1〜D16では
ない。 第1段階は第2図(b)に示されるように偶数列と奇
数列のプロセッサ間においてデータ量を表わす数値d
(Pi)を使用したシミュレーションによるスケジューリ
ングを開始する。例えば、プロセッサP1のデータ量d
(P1)は2,プロセッサP2のデータ量d(P2)は18であ
り、d(P1)<d(P2)の状態となっている。ここで、
プロセッサP1とプロセッサP2のスケジューリングにおい
て、数値d(P1)=2をプロセッサP2に送信し、プロセ
ッサP2にてd(P2)−〔d(P2)+d(P1)〕/2の演算
を行なう。この演算の結果であるα21はデータ量を両者
の間で平均化するためのデータ移動量であり、プロセッ
サP1はプロセッサP2から受けとることを記憶するととも
に、プロセッサP2はプロセッサP1に前記数値α21に対応
する実データを送信することを記憶する。以上の動作を
プロセッサP3〜P4間,P5〜P6…P15〜P16間で並列に行な
う。以上における演算では切り上げ、若しくは切り下げ
を行なった数値を使用するものとする。若し、より完全
なデータ量の均等化を行なう場合は小数点のまま以下の
シミュレーション演算を続行し、最後にまるめ処理を行
なっても良い。また上記プロセッサP1とP2間のスケジュ
ーリングにおいて、いずれのプロセッサがシミュレーシ
ョン演算するかは特に限定するものではなく、予めプロ
セッサ毎に決定し記憶させておいても良いし、データ量
を交信し合ってデータ量の多いプロセッサが演算するこ
とでも良い。 第2段階のシミュレーション演算は第2図(c)に示
すように、横に隣合うプロセッサ間にて、即ちプロセッ
サP1,P2,P5,P6,P9,P10,P13,P14と夫々相対するプロセッ
サP3,P4,P7,P8,P11,P12,P15,P16間にて上記第1段階と
同様に行なわれる。例えば、第1段階のスケジューリン
グの結果、プロセッサP1の平均化されたデータ量d
(P1)は10となっており、プロセッサP3の平均化された
データ量d(P3)は18となっている。この場合、d
(P1)<d(P3)という条件が成立しており、プロセッ
サP1の数値d(P1)=10がプロセッサP3に送信され、d
(P3)−〔d(P3)+d(P1)〕/2式にて演算が実行さ
れてデータ移動量が算出される。これにより、プロセッ
サP1はプロセッサP3からデータ移動量α31に対応する実
データを受けとることを記憶するとともに、プロセッサ
P3はプロセッサP1に対してデータ移動量α31に対応する
実データを送信することを記憶する。以上のシミュレー
ション演算をプロセッサP2〜P4間,P5〜P7間,P6〜P8間…
P14〜P16間で並列に行なう。 次に第3段階のシミュレーション演算は第2図(d)
に示すように、縦に飛び起して接続されたプロセッサ間
にて、即ちプロセッサP1,P3,P9,P11とそれに相対するプ
ロセッサP5,P7,P13,P15間およびプロセッサP2,P4,P10,P
12とそれに相対するプロセッサP6,P8,P14,P16間にて実
行される。例えば、プロセッサP1とプロセッサP5のスケ
ジューリングを行なう場合、第2段階のスケジューリン
グの結果、プロセッサP1のデータ量d(P1)は14とな
り、プロセッサP5のデータ量d(P5)は19となってい
る。従ってd(P1)<d(P5)の条件を成立しているた
め、プロセッサP1よりプロセッサP5にd(P5)=14が送
信される。プロセッサP5はd(P5)−〔d(P5)+d
(P1)〕/2の演算式を基にデータ移動量を算出するが、
〔d〔(P5)+d(P1)〕/2は16.5となるので切り上げ
られ、〔d(P5)+d(P1)〕/2は17とされ、演算結果
として2を算出する。その結果はプロセッサP5に送出さ
れ、プロセッサP1はプロセッサP5からデータ移動量α51
=2に対応する実データを受け取ることを記憶するとと
もに、プロセッサP5はプロセッサP1に対してデータ移動
量α51=2に対応する実データを送信することを記憶す
る。以上のシミュレーション演算をP2〜P6間,P3〜P7
…P12〜P16間で並列に行なう。 スケジューリングの最後として第4段階のシミュレー
ション演算は第2図(e)に示すように、横に一つ飛び
越して接続されているプロセッサ間にて、即ちP1〜P
9間,P2〜P10間,P3〜P11間…P8〜P16間で上記と同様にシ
ミュレーション演算が行なわれ、その結果各プロセッサ
のデータ量d(Pi)が16〜18の値となるようなデータ移
動量αijが各プロセッサに記憶されることになる。これ
らのデータ移動量αijがスケジューリングデータであ
る。 上記スケジューリングの各段階の実行順序は各プロセ
ッサが確認を取りながら実行中の段階より先の段階の実
行要求があってもウェイトさせるなどしてタイミングの
調整を図る。上記スケジューリングが各プロセッサにて
終了すると、スケジューリングデータ即ちデータ移動量
αijに基づいて第2図(f)に示ように並列に実データ
を転送し合い、その結果各プロセッサP1〜P16のデータ
量は第2図(e)に示すように均等ないし略均等に再分
配される。 他の実施例の構成の説明(第3図) 第3図は一般的なマルチプロセッサを構成する一つの
プロセッサPiの内部構成図である。第3図に基づいて本
発明を一般的なマルチプロセッサシステムに適用した他
の実施例について説明する。プロセッサPiは各種データ
処理を行なう中央制御装置CPUiと、隣接するl個のプロ
セッサとの送受信を行なう通信プロセッサCM1〜CMlと、
各種データの記憶を行なうメモリMiとを有している。前
記通信プロセッサCM1〜CMlは使用される結合方式にて決
定されるものであり、l個のチャネル(通信路)で隣接
プロセッサへ接続される。メモリMiには実データDiを記
憶するメモリ部Dと、共にデータ量を示す数値を記憶す
るものとしてスケジューリング時に使用されるメモリds
と実際にデータを均等化する処理において使用されるメ
モリdpを有している。更にメモリMiは、スケジューリン
グ時にプロセッサPiで送受信されるメッセージ数(ハイ
パーキューブ係合では2lとなる)を記憶するメモリNM
と、スケジューリング中に送受信されたメッセージ数の
カウント値を保有するメッセージカウンタMCと、通信プ
ロセッサCM1〜CMlに対応して設けられる各プロセッサPi
における各プロセッサ間のデータ移動量を記憶するメモ
リC(1)〜C(l)とを有している。尚、以下の本実
施例の説明にあたってはメモリds及びメモリdpの区別な
く、プロセッサPiの有するデータ量を示す数値としてd
(Pi)を記載する。 他の実施例の作用の説明(第4図〜第7図) 本発明は上記のプロセッサ数が2n個からなるマルチプ
ロセッサに適用可能であり、前記2n個のプロセッサP1,P
2,…,Pmで表わす。このマルチプロセッサシステムにお
ける本実施例の作用を、第4図から第7図までに示すフ
ローチャートを加えて説明する。 この構成のプロセッサPiにおけるスケジューリング
は、使用されているプロセッサ数2n個に応じてn段階に
わたって行なわれる。j段階目におけるプロセッサPiの
動作は、imod2j<2j-1(xmod yはxをyで割った余りを
表わす)である場合、プロセッサPiはプロセッサPt(但
し、t=i+2j-1)に対してd(Pi)/2を送信するとと
もに、プロセッサPiはプロセッサPt(但し、t=i+2
j-1)よりd〔Pt(但し、t=i+2j-1)〕/2を受信す
る。このことは、実データ量の均等化を行なう場合に
は、2個のプロセッサPi及びPt(但し、t=i+2j-1
のd(Pi)及びd〔Pt(但し、t=i+2j-1)〕の半分
のデータを互に送信し合うことにより、均等になること
に対応している。そしてプロセッサPiはd(Pi)のデー
タを[d(Pi)+d〔Pt(但し、t=i+2j-1)〕]/2
に書き換える。尚、このプロセッサPiとPt(但し、t=
i+2j-1)とのデータ量のやりとりは一般にはいくつか
のプロセッサを経由して行なわれる。即ち、プロセッサ
Piはメッセージの中継も行なう。imod2j≧2j-1である場
合には、プロセッサPiはプロセッサPt(但し、t=i+
2j-1)との間で上記と同様のことを行なう。上記スケジ
ューリング時においてチャネルCHkを通して行なわれた
d(Pi)/2及びd〔Pt(但し、t=i+2j-1)〕/2のデ
ータの移動はチャネルCHkに対応するメモリC(k)に
保持される。即ちプロセッサPiはチャネルCHkを通して
データ量α(例ではd(Pi)/2)を送信したときはメモ
リC(k)の値をC(k)+αで置き換え、逆にCHkを
対してデータ量α(例ではd〔Pt(但し、t=i+
2j-1)〕/2)を受け取ったときはメモリC(k)の値を
C(k)−αで置き換える。このようにしてメモリC
(k)には最終的にチャネルCHkを通してどれだけのデ
ータを送信,受信すれば良いかの情報が格納されること
になる。尚スケジューリング時にプロセッサPiが上記の
メッセージを送信又は受信するとメッセージカウンタMC
を1つだけインクリメントするとともに、このメッセー
ジカウンタMCのデータがメモリNMのデータと一致した時
点でスケジューリングを終了する。これらのスケジュー
リングがすべてのプロセッサP1〜Pmにおいて並列に行な
われる。 以上のスケジューリングの動作を第4図,第5図,第
6図に基づいて詳細に説明する。第4図はプロセッサPi
におけるスケジューリング処理のフローチャートであ
る。第4図において、STEP1にてスケジューリング動作
が起動されると、STEP2によるスケジューリングにおけ
るデータ量を均等にする処理と、STEP3によるスケジュ
ーリングにおける送受信の処理が平行して行なわれ、ST
EP4にて一連の動作を終了すると、そのスケジューリン
グに基づいて後記する実データDiの分配処理に移行す
る。 このSTEP2のスケジューリングにおけるデータ量を均
等にする処理を第5図にて説明する。第5図において、
STEP1によって処理が起動され、STEP2により第1段階目
のシミュレーション演算が指示される。即ちスケジュー
リングの段階の番号を示すjに1が初期値として代入さ
れる。STEP3は全てのスケジューリングの段階が終了し
たか否かの判断を行なう判断ルーチンであり、プロセッ
サPiがn段階をオーバするとSTEP7の終了処理にブラン
チし、そうで無ければ、STEP4にブランチする。STEP4は
j段階目にスケジューリングにおける交信すべきプロセ
ッサPkを決定する処理であり、jとプロセッサの番号i
とから前述の如くプロセッサの番号kが決定される。続
いて、STEP5にて、プロセッサPiからプロセッサPkに対
してデータ量の数値d(Pi)/2を送信するとともに、プ
ロセッサPkからデータ量の数値d(Pk)/2を受信する。
そしてこのSTEP5においてプロセッサPiはシミュレーシ
ョンによるデータ量の演算〔d(Pi)+d(Pk)〕/2を
行ない、d(Pi)に置き換えてSTEP6に移行する。STEP6
はスケジューリングの段階の番号jを1つだけインクリ
メント(j=j+1)するものであり、再び前段のSTEP
3に戻る。このSTEP3では前記したようにスケジューリン
グの全段階を終了したか否かが判断され、終了即ちj>
nであればSTEP7にブランチして一連の動作を終了す
る。またそうで無ければ(j≦nであれば)、STEP4に
ブランチして同一動作を繰り返し行なう。 次にスケジューリングにおける送受信処理を第6図に
て説明する。このルーチンは各プロセッサP1〜Pmの各チ
ャネルを通して、他のプロセッサと交信する際に、どれ
だけのデータ量を送受信し合うかを決定するものであ
る。STEP1にて処理が起動されると、STEP2にて各プロセ
ッサP1〜Pmの全てのメモリC(1),C(2)…C(l)
及びメッセージカウンタMCをクリアしてSTEP3へ進む。S
TEP3はメッセージカウンタMCのカウント値がメモリNMの
データより小さいか否かを判断して、大きい場合にはST
EP6の処理の終了(おわり)にブランチし、そうで無い
場合には、次段のSTEP4にブランチする。メモリNMはプ
ロセッサPiにおいて予め予定されるメッセージの交信数
が格納されており、初回においてはMC=0であるため直
ちにステップ4にブランチすることになる。STEP4はチ
ャネルCHkを通してデータ量αを送信する場合にはメモ
リC(k)のデータをC(k)=C(k)+αとし、チ
ャネルCHkを通してデータ量αを受信する場合にはC
(k)のデータをC(k)=C(k)−αとする操作が
行なわれる。即ち、チャネルCHkを介して接続されてい
るプロセッサに対してどのくらいのデータ量を送信また
は受信するかを決定している。続いて、STEP5において
メッセージカウンタMCのカウント値を1つだけインクリ
メントし、STEP3に戻って、前記したように終了かどう
か判断され、終了でなければ(MC<NMであれば)同一の
動作がくり返し行なわれる。 最後に、以上のスケジューリングが終了した後実際に
実データを均等に分配する処理を説明する。プロセッサ
Piの動作を以下に示す。スケジューリングで得られたC
(1),C(2),…,C(l)の値はC(k)>0の場
合、チャネルCHkを通してC(k)の値だけのデータを
送信すればよいことを、またC(i)<0の場合チャネ
ルCHiからC(i)の値だけのデータを受信すればよい
ことを示している。そこでPiはC(1),C(2),…,C
(l)を順に走査しながら、実際にデータが格納されて
いる部分Dにデータがあり、C(k)が>0の場合チャ
ネルCHkを通して他のプロセッサにデータを送信する。
この場合、送信したデータ量αをC(k)から引いてお
く、またCHkからデータを受信した場合にはそのデータ
をDに格納し、そのデータ量αをC(k)に足してお
く。以上の操作をC(1),C(2),…,C(l)が全て
0になるまで行う。以上が各プロセッサP1〜Pn間で並行
して行なわれ、それが終了すると各プロセッサの実デー
タ量は均等または略均等になる。 以上の実データの再分配処置を第7図のフローチャー
トにより詳細に説明する。STEP1はスケジューリングの
終了で起動され、以下の処理の開始を指示する。次にST
EP2によって、初期値のセット即ちメモリDに格納され
ている実データのデータ量等がd(Pi)にセットされ
る。続いて、メモリC(1),C(2),…,C(l)の値
が少くとも1つが0で無いか否かをSTEP3によって判断
し、全て0であれば実データの送受信が終了し均等化が
計られたものと判断してSTEP11(おわり)にブランチし
て動作を停止し、そうで無ければSTEP4にブランチす
る。STEP4は各チャネルCH1〜CHlに結合されたプロセッ
サの走査選択を行なうルーチンであり、チャネルの番号
kがj=j+1の走査によって順次決定される。このk
によってメモリC(k)が選択されSTEP5以下に進む。
ここで、メモリC(k)>0の場合、チャネルCHkを介
して対応するプロセッサにステップ7で決定した実デー
タ量を送信し、またC(k)<0の場合には、対応する
プロセッサよりメモリC(k)が示す実データの量の受
信がされたかをSTEP9で判断し、STEP10で受信処理を行
なう。以上の動作はSTEP5〜STEP10によってメモリC
(1)〜C(l)の順に走査して行なわれ、STEP3によ
りメモリC(1)〜C(l)のデータが全て0となるま
でくり返し行なわれる。STEP7においてチャネルを通し
て送信するデータ量αはα=min(B,C(k),d(Pi))
で決定される。即ちBは1回に送信できるデータの最大
量を示し、B,C(k),d(Pi)のいずれか最小値が選択
される。送信によるデータ量の変動はC(k)=C
(k)−αおよびd(Pi)=d(Pi)−αの処理によっ
て更新する。同様にSTEP10における受信処理によるデー
タ量の変動も受信データ量をαとした時、C(k)=C
(k)+α,d(Pi)=d(Pi)+αの処理によって更新
する。 なお、本発明は以上の実施例に限るものではなく、本
発明の主旨に沿って種々の応用と実施態様を取り得る。
マルチプロセッサシステムの結合方式はメッシュ結像な
ど他の結合方式であっても良い。またプロセッサ数が2n
個でない場合には、2n個の部分に適用することでも良
い。 〔発明の効果〕 以上の説明より明らかなように、本発明の並列データ
再分配方法及びマルチプロセッサシステムは、スケジュ
ーリング及び実データの均等分配処理を各プロセッサに
よる並列処理にて行なうことが出来るため、非常に高速
に行なうことが出来る。更に、スケジューリングにおい
ては実データの代わりに実データ量を表わす数値を送信
し合うシミュレーションとしているため、さらには1つ
のプロセッサにスケジューリングのためのデータを集中
することがないため、通信データ量が非常に少なくてす
み、高速化を計ることが出来る。換言すれば、マルチプ
ロセッサシステムの並列性を充分に活用出来る効果があ
る。
【図面の簡単な説明】 第1図は本発明の原理説明用および一実施例説明用のブ
ロック図、 第2図(a)〜(f)はその動作説明図、 第3図はマルチプロセッサシステムにおけるプロセッサ
の他の実施例の構成図、 第4図,第5図,第6図は他の実施例の動作を示すフロ
ーチャート図、 第7図はその実際のデータの均等分配処理を示すフロー
チャート図である。 図中、 P1〜Pm……プロセッサ、 d(Pi)……データ量を示す数値、 Di……実データ、 である。

Claims (1)

  1. (57)【特許請求の範囲】 1.複数のプロセッサが各々処理対象のデータを保持
    し、並列にデータ処理を行なうマルチプロセッサシステ
    ムにおける前記複数のプロセッサの各々が保持するデー
    タ量がより均等に近付くようにデータを再配分する並列
    データ再分配方法であって、 前記複数のプロセッサの各々を前記複数のプロセッサの
    うちの他のプロセッサと対応付ける第一のステップと、 前記第一のステップで対応付けられたプロセッサのペア
    毎に他のペアと並列に、対応付けられた二つのプロセッ
    サ間で、両者が有するデータ量を示す数値に基づいて、
    データ量の多いプロセッサをデータの転送元とし、デー
    タ量の少ないプロセッサをデータの転送先として決定す
    ると共に、両者が保持するデータ量が均等化される転送
    量を決定する第二のステップと、 前記ペア毎に、他のペアと並列に、前記第二のステップ
    で決定した転送元から転送先に転送量分のデータを転送
    するステップとからなり、 前記第一のステップにおけるプロセッサ間の対応付けを
    変更しながら前記第一のステップ、前記第二のステッ
    プ、前記第三のステップを繰り返し行なう 並列データ再分配方法。 2.複数のプロセッサが各々処理対象のデータを保持
    し、並列にデータ処理を行なうマルチプロセッサシステ
    ムであって、 前記複数のプロセッサの各々が、 前記複数のプロセッサの中から通信相手となる一つのプ
    ロセッサを変更しながら、通信相手のプロセッサとの間
    で、両者の保持するデータ量に基づいて、保持するデー
    タ量の多いプロセッサをデータの転送元とし、他方をデ
    ータの転送先として決定するとともに、両者が保持する
    データ量が均等化される転送量を決定し、転送元となっ
    た場合にはその転送量分のデータを転送先となったプロ
    セッサに対して転送する マルチプロセッサシステム。
JP61295510A 1986-12-10 1986-12-10 並列データ再分配方法及びマルチプロセッサシステム Expired - Fee Related JP2681269B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP61295510A JP2681269B2 (ja) 1986-12-10 1986-12-10 並列データ再分配方法及びマルチプロセッサシステム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP61295510A JP2681269B2 (ja) 1986-12-10 1986-12-10 並列データ再分配方法及びマルチプロセッサシステム

Publications (2)

Publication Number Publication Date
JPS63147257A JPS63147257A (ja) 1988-06-20
JP2681269B2 true JP2681269B2 (ja) 1997-11-26

Family

ID=17821547

Family Applications (1)

Application Number Title Priority Date Filing Date
JP61295510A Expired - Fee Related JP2681269B2 (ja) 1986-12-10 1986-12-10 並列データ再分配方法及びマルチプロセッサシステム

Country Status (1)

Country Link
JP (1) JP2681269B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02232772A (ja) * 1989-03-07 1990-09-14 Fujitsu Ltd Lsiパターンデータの処理装置
US5121494A (en) * 1989-10-05 1992-06-09 Ibm Corporation Joining two database relations on a common field in a parallel relational database field
US8769244B2 (en) 2008-04-22 2014-07-01 Nec Corporation SIMD parallel computer system, SIMD parallel computing method, and control program

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS543589B2 (ja) * 1973-11-20 1979-02-24
JPS51108547A (en) * 1975-03-19 1976-09-25 Hitachi Ltd 2 jukeikeisankishisutemuniokeru jidofukahaibunsochi
JPS5776646A (en) * 1980-10-31 1982-05-13 Fujitsu Ltd Load sharing system

Also Published As

Publication number Publication date
JPS63147257A (ja) 1988-06-20

Similar Documents

Publication Publication Date Title
Gross et al. A closed queueing network model for multi-echelon repairable item provisioning
CN115098278B (zh) 一种基于微服务的数字孪生车间多场景交互方法
CN106898572A (zh) 基于设备实时状态的物料调度方法及系统
WO2022227975A1 (zh) 半导体加工设备的物料调度方法和装置
CN108053152A (zh) 基于多色集合的改进遗传算法求解动态车间调度的方法
CN105634974A (zh) 软件定义网络中的路由确定方法和装置
JP2681269B2 (ja) 並列データ再分配方法及びマルチプロセッサシステム
CN113986485A (zh) 一种跨数据中心数据传输节能优化方法及系统
CN115454655B (zh) 一种异步流水线并行训练过程中的动态层迁移方法
US20210181726A1 (en) Control product flow of semiconductor manufacture process under time constraints
CN116974765A (zh) 一种异构计算机的存储管理系统
CN104915250B (zh) 一种实现作业内的MapReduce数据本地化的方法
JPH06231028A (ja) データ分配方式
CN105187488A (zh) 一种基于遗传算法实现mas负载均衡的方法
US7409351B2 (en) Method and system for splitting an order in a flexible order transaction system
CN113505910B (zh) 一种含多路径有限连续输出库存的混合车间生产调度方法
CN102478841B (zh) 一种平衡机台产能的方法和装置
JPS59214548A (ja) 物流制御装置
Rabbani et al. Sequencing of mixed models on U-shaped assembly lines by considering effective help policies in make-to-order environment
Fattahi et al. A Multi-objective mixed-model assembly line sequencing problem with stochastic operation time
CN115190050B (zh) 基于异构多址接入网络慢节点检测的编码计算优化方法
Wang et al. Research and Analysis of Intelligent RGV Based on Dynamic Scheduling Optimization Model
Maimon et al. Dynamic routing in reentrant FMS
Maimon et al. Dynamic routing in reentrant flexible manufacturing systems
CN109960268A (zh) 面向遥感卫星接收站的异构设备资源动态调度方法及系统

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees