JPH03113564A - ジョブ並列実行装置 - Google Patents

ジョブ並列実行装置

Info

Publication number
JPH03113564A
JPH03113564A JP25126289A JP25126289A JPH03113564A JP H03113564 A JPH03113564 A JP H03113564A JP 25126289 A JP25126289 A JP 25126289A JP 25126289 A JP25126289 A JP 25126289A JP H03113564 A JPH03113564 A JP H03113564A
Authority
JP
Japan
Prior art keywords
processor
job
execution
processors
barrier
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.)
Granted
Application number
JP25126289A
Other languages
English (en)
Other versions
JPH07111708B2 (ja
Inventor
Shoichi Sakon
彰一 左近
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP25126289A priority Critical patent/JPH07111708B2/ja
Publication of JPH03113564A publication Critical patent/JPH03113564A/ja
Publication of JPH07111708B2 publication Critical patent/JPH07111708B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Multi Processors (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は、マルチプロセッサシステムに利用する。
特に、マルチジョブ環境下での効率のよい並列実行手段
に関する。
〔概要〕
本発明は、マルチジョブ環境下での並列実行手段におい
て、 解放されたプロセッサのバリア点までの残存ジョブを引
き取って実行し、また、バリア点で他のプロセッサの実
行参入を許可する手段を設けることにより、 プロセッサを効率よく使用することができるようにした
ものである。
〔従来の技術〕
マルチプロセッサシステムでは、ひとつのプログラムの
いくつかの部分を複数のプロセッサで並列に実行するこ
とによってプログラムの実行のターンアラウンドタイム
を短縮することができる。
従来、このような並列実行を行うときの第一の方法とし
て、プログラム中のある程度まとまった大きさの処理単
位をタスクとし、各タスクを割り当てられたプロセッサ
に割り振って実行する方法が用いられていた。
また、第二の方法として、プログラム中のループの一つ
一つの繰り返しを複数のプロセッサに分割してふりわけ
、それに並列に実行することも行われていた。
〔発明が解決しようとする問題点〕
しかし、第一の方法の場合には、タスク起動などのオー
バヘッドを避けるためにタスクの大きさを大きく取らざ
るをえない。例えば、ループの一つ一つの繰り返しを別
々のタスクとすることはオーバヘッドが大きくなりすぎ
るため不可能なことが多い。想定したプロセッサ数にお
いて最適のタスク分割であっても、マルチジョブ環境の
ようにそのジョブに割り当てられるプロセッサ数が一定
でない場合に、プロセッサに割り当てられるタスクがア
ンバランスになりやすく、また、そのように大きな独立
のタスクを必ずしも作れるとは限らない欠点がある。
また、第二の方法の場合に、各プロセッサのローカルエ
リアの設定を正しく行うためにはl−つのジョブに固定
台数のプロセッサを割り当てなけばならない。これには
マルチジョブ環境でプロセラ勺割り当てを固定しなけれ
ならず、柔軟性が著しく失われてしまう欠点がある。
本発明は、このような欠点を除去するもので、プロセッ
サの割り当てを柔軟に行うことができるジョブ並列実行
装置を提供することを目的とする。
〔問題点を解決するだめの手段〕
本発明は、複数個のプロセッサを備え、ひとつのジョブ
の実行に割り当てられるプロセッサの個数が不定である
環境でそのジョブが実行される系に結合をされたジョブ
並列実行装置において、実行中のジョブに割り当てられ
たひとつのプロセッサがこのジョブから解放されるとこ
のプロセッサのコンテキストをセーブする保存手段と、
上記実行中のジョブに割り当てられた他のプロセッサが
上記ひとつのプロセッサが解放された直後のバリア同期
点を検出し、上記保存手段にセーブされた上記ひとつの
プロセッサのコンテキストを取り出して上記バリア同期
点までに残存するジョブ部分を実行する第一実行手段と
、上記バリア同期点以後に上記ひとつのプロセッサが実
行すべきジョブを代行して実行する第二実行手段と、上
記性のプロセッサのバリア同期点で上記ひとつのプロセ
ッサを上記性のプロセッサが実行中のジョブに再度割り
当てる実行参入手段とを備えたことを特徴とする。
〔作用〕
マルチジョブ環境下でプログラムを並列実行するときに
、プロセッサ割当手段でジョブに対してプロセッサを動
的に割り当てたり、また奪ったりする。また、ジョブの
プログラム中の独立あるいは部分的に独立なループの別
々の繰り返しをプロセッサ割当手段でそのジョブに割り
当てられた数のプロセッサに振り分けて実行する。この
並列に実行される部分以外で全プロセッサが共通に実行
する部分を各々のプロセッサで行う。プロセッサ割当手
段によってそのジョブに現在割り当てられている全プロ
セッサの間での同期をバリア同期手段でとる。ジョブ実
行中にすでに割り当てられていたあるプロセッサがプロ
セッサ割当手段によって他のジョブに奪われた場合に、
奪われたプロセッサのコンテキストをセーブする。この
ジョブに割り当てられていて奪われなかったプロセッサ
が直後のバリア同期点でこのジョブから奪われたプロセ
ッサがあることを検出して、奪われたプロセッサのセー
ブされたコンテキストを取り出しバリア同期点までの実
行を行う。また、奪われたプロセッサのプロセッサ共通
部分に関する実行をや工われていない他のプロセッサが
肩代わりして行う。
奪われたプロセッサがそのジョブに再度割り当てられた
ときに、直後のバリア同期点から実行を参人させる。
〔実施例〕
以下、本発明の一実施例について図面を参照して説明す
る。第1図は、この実施例の構成を示すブロック構成図
である。
この実施例は、第1図に示すように1.プロセッサ共通
部分実行手段1と、バリア同期手段2と、ループ並列実
行手段3と、代替実行手段7と、プロセッサ割当手段4
と、コンテキスト保存手段5と、残存部分実行手段6と
、実行参人手段8とを備える。すなわち、この実施例は
、複数個のプロセッサを備え、ひとつのジョブの実行に
割り当てられるプロセッサの個数が不定である環境でそ
のジョブが実行される系に結合をされ、実行中のジョブ
に割り当てられたひとつのプロセッサがこのジョブから
解放されるとこのプロセッサのコンテキストをセーブす
る保存手段であるコンテキスト保存手段5と、上記実行
中のジョブに割り当てられた他のプロセッサが上記ひと
つのプロセッサが解放された直後のバリア同期点を検出
し、上記保存手段にセーブされた上記ひとつのプロセッ
サのコンテキストを取り出して上記バリア同期点までに
残存するジョブ部分を実行する第一実行手段である残存
部分実行手段6と、上記バリア同期点以後に上記ひとつ
のプロセッサが実行すべきジョブを代行して実行する第
二実行手段である代替実行手段7と、上記他のプロセッ
サのバリア同期点で上記ひとつのプロセッサを上記他の
プロセッサが実行中のジョブに再度割り当てる実行参人
手段8とを備える。
次に、この実施例の動作について図面を参照して説明す
る。第2図は、第1図に対する処理フロー図である。
ステップS10でプロセッサ共通部分実行手段1が各プ
ロセッサのローカル変数の設定などの全プロセッサが共
通に行う処理を実行する。ステップSllでプロセッサ
割当手段4によって実行中にプロセッサが奪われた場合
に、ステップ312でコンテキスト保存手段5が奪われ
たプロセッサで実行していたコンテキストをセーブする
。その後に、ステップS13でバリア同期手段2により
全プロセッサの間で同期がとられる。このときに、ステ
ップS14で直前のプロセッサ共通部分実行中にプロセ
ッサが奪われたことが検出された場合に、ステップS1
5で残存部分実行手段6が奪われたプロセッサのセーブ
されたコンテキストを取り出し、残りのプロセッサがバ
リア実行点までの残存部分を実行する。ステップS16
で直前のプロセッサ共通部分より前にプロセッサが奪わ
れて少ないプロセッサ数で実行されている場合でかつ直
前のプロセッサ共通部分で後で使われているプロセッサ
のローカル変数に値が設定されている場合に、ステップ
S17で代替実行手段7が奪われたプロセッサのプロセ
ッサ共通部分を実行する。これにより、プロセッサ割当
手段4が奪われたプロセッサを返してくれたときに次の
バリア実行点からの返ってきたプロセッサの実行の参人
が可能になる。ただし、一度奪われたプロセッサがほと
んど戻ってこないような運用環境条件の場合は、この代
替実行は無駄であるので行わない。
プロセッサを奪った側のジョブが終了するなどしてプロ
セッサ割当手段4がそのプロセッサを元のジョブに返し
たときに実行参人手段8がプロセッサを待ち状態にし、
そのジョブ実行中の他のプロセッサが次のバリア同期を
行った後にステップ318でプロセッサが戻ってきたこ
とが検出されると、ステップS19で実行参入手段8を
実行に参入させる。ステップS20で、ループ並列実行
手段3がジョブのプログラム中の各々の繰り返しのデー
タ依存関係が独立または部分的に独立の場合に、独立な
繰り返しの部分をそれぞれのプロセッサに割り当てて並
列に実行させる。この部分はジョブに割り当てられたプ
ロセッサ数にほぼ比例して実行時間が短縮され、かつ、
割り当てられたプロセッサ数が何台であっても正しく実
行することができる。ステップ321で、プロセッサ割
当手段4によって実行中のプロセッサが奪われた場合に
ステ0 ツブS22でコンテキスト保存手段5が奪われたプロセ
ッサで実行していたコンテキストをセーブする。
その後に、ステップS23でバリア同期手段2で全プロ
セッサの間で同期がとられる。このときに、ステップS
24で直前のループ並列部分実行中にプロセッサが奪わ
れたことが検出された場合に、ステップS25で残存部
分実行手段6が奪われたプロセッサのセーブされたコン
テキストを取り出し、奪われていない残りのプロセッサ
がバリア実行点までの残存部分を実行する。プロセッサ
を奪った側のジョブが終了するなどしてプロセッサ割当
手段4がそのプロセッサを元のジョブに返したときに、
実行参入手段8がそのプロセッサを待ち状態にし、その
ジョブ実行中の他のプロセッサが次のバリア同期を行っ
た後にステップ326でプロセッサが戻ってきたことが
検出されると、ステップS27で実行参入手段8を実行
に参人させる。
〔発明の効果〕
本発明は、以上説明したように、マルチジョブ環境下で
ジョブに割り当てられるプロセッサが任意の時点で奪わ
れたり戻ったりしてその数が動的に変化する場合でも割
り当てられたプロセッサを効率よく用いることができる
効果がある。
【図面の簡単な説明】
第1図は本発明実施例の構成を示すブロック構成図。 第2図は本発明実施例の動作を示す処理フロー図。 ■・・・プロセッサ共通部分実行手段、2・・・バリア
同期手段、3・・・ループ並列実行手段、4・・・プロ
セッサ割当手段、5・・・コンテキスト保存手段、6・
・・残存部分実行手段、7・・・代替実行手段、訃・・
実行参入手段。

Claims (1)

  1. 【特許請求の範囲】 1、複数個のプロセッサを備え、ひとつのジョブの実行
    に割り当てられるプロセッサの個数が不定である環境で
    そのジョブが実行される系に結合をされたジョブ並列実
    行装置において、 実行中のジョブに割り当てられたひとつのプロセッサが
    このジョブから解放されるとこのプロセッサのコンテキ
    ストをセーブする保存手段と、上記実行中のジョブに割
    り当てられた他のプロセッサが上記ひとつのプロセッサ
    が解放された直後のバリア同期点を検出し、上記保存手
    段にセーブされた上記ひとつのプロセッサのコンテキス
    トを取り出して上記バリア同期点までに残存するジョブ
    部分を実行する第一実行手段と、 上記バリア同期点以後に上記ひとつのプロセッサが実行
    すべきジョブを代行して実行する第二実行手段と、 上記他のプロセッサのバリア同期点で上記ひとつのプロ
    セッサを上記他のプロセッサが実行中のジョブに再度割
    り当てる実行参入手段と を備えたことを特徴とするジョブ並列実行装置。
JP25126289A 1989-09-27 1989-09-27 ジョブ並列実行装置 Expired - Lifetime JPH07111708B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP25126289A JPH07111708B2 (ja) 1989-09-27 1989-09-27 ジョブ並列実行装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP25126289A JPH07111708B2 (ja) 1989-09-27 1989-09-27 ジョブ並列実行装置

Publications (2)

Publication Number Publication Date
JPH03113564A true JPH03113564A (ja) 1991-05-14
JPH07111708B2 JPH07111708B2 (ja) 1995-11-29

Family

ID=17220165

Family Applications (1)

Application Number Title Priority Date Filing Date
JP25126289A Expired - Lifetime JPH07111708B2 (ja) 1989-09-27 1989-09-27 ジョブ並列実行装置

Country Status (1)

Country Link
JP (1) JPH07111708B2 (ja)

Also Published As

Publication number Publication date
JPH07111708B2 (ja) 1995-11-29

Similar Documents

Publication Publication Date Title
JP2882475B2 (ja) スレッド実行方法
US5642508A (en) Distributed control method and apparatus for job execution
EP0326671A2 (en) A computer system and a method of monitoring transient data structures of a computer system
EP0330836A3 (en) Method for multiprocessor system having self-allocating processors
JPS61177566A (ja) 高級プログラム言語で書かれた適用業務プログラムを多重プロセツサ・デ−タ処理システムで実行する方法
JPH031698B2 (ja)
JPH10143380A (ja) マルチプロセッサシステム
US6581089B1 (en) Parallel processing apparatus and method of the same
JPH07160656A (ja) 外部割込み制御方法
JPH02210542A (ja) 仮想計算機システムにおける実行制御方式
KR20050057834A (ko) 멀티프로세서 시스템에서 스케줄러를 이용한 대규모데이터 처리 방법
JPH03113564A (ja) ジョブ並列実行装置
Bianco et al. Preemptive scheduling of multiprocessor tasks on the dedicated processor system subject to minimal lateness
JPH05204875A (ja) スレッドのスケジュール方式
CN120723417B (zh) 基于分布式架构的异构数据库迁移调度方法、设备及装置
JPH1069402A (ja) ソフトウェアの自動試験制御方法
JPS5819973A (ja) 時分割バス方式マルチプロセツサ計算機
JPH11249917A (ja) 並列型計算機及びそのバッチ処理方法及び記録媒体
KR940002148B1 (ko) 전전자 교환시스팀의 작업 동기 방법
JP2973480B2 (ja) 通信レジスタ多重化方式
KR100241356B1 (ko) 분산 시스템에서 동적 동기화를 위한 다단계 스케줄링 구조 및 그 방법
JPH01259430A (ja) インターバルタイマ値の減算方法
JPH0973435A (ja) 密結合マルチプロセッサシステムの試験システム
JPH04238539A (ja) プログラムの動作方式
Blazewicz et al. Multiprocessor task scheduling with single resource constraints