JPH0223894B2 - - Google Patents

Info

Publication number
JPH0223894B2
JPH0223894B2 JP60283221A JP28322185A JPH0223894B2 JP H0223894 B2 JPH0223894 B2 JP H0223894B2 JP 60283221 A JP60283221 A JP 60283221A JP 28322185 A JP28322185 A JP 28322185A JP H0223894 B2 JPH0223894 B2 JP H0223894B2
Authority
JP
Japan
Prior art keywords
mimd
fortran
environment
application program
subtask
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 - Lifetime
Application number
JP60283221A
Other languages
English (en)
Other versions
JPS61177566A (ja
Inventor
Maachin Gudanieku Josefu
Jon Saharuka Richaado
Benjamin Soru Deebitsudo
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.)
International Business Machines Corp
Original Assignee
International Business Machines 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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of JPS61177566A publication Critical patent/JPS61177566A/ja
Publication of JPH0223894B2 publication Critical patent/JPH0223894B2/ja
Granted legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/45Exploiting coarse grain parallelism in compilation, i.e. parallelism between groups of instructions

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Devices For Executing Special Programs (AREA)

Description

【発明の詳細な説明】 [産業上の利用分野] 本発明は、データ処理システム、特に高級プロ
グラム言語で書かれた適用業務プログラムを実行
する効率を改善するための方法に関するものであ
る。
[従来の技術] 現在、単一で、大きいFOFTRANの適用業務
プログラムは、緊密に結合された多重処理
(MP)構成の合計算機能を利用して、最低限の
ターンアラウンド・タイムを達成することはでき
ない。この制限は、現在FORTRANの適用業務
プログラムに提供されている単一命令/単一デー
タ(SISD)環境によるものである。SISD環境は
FORTRANの適用業務が、任意の時点でMP構
成のプロセツサ(処理装置)のひとつだけを使え
るように制限するものである。
多重命令多重データ(MIMD)環境によつて、
単一のFORTRANの適用業務がMP構成のプロ
セツサ(処理装置)のすべてを同時に使用し、そ
の結果その構成のすべての計算能力を利用するこ
とが可能となる。
科学技術適用業務のための主要なプログラミン
グ言語であるFORTRANには、現在までのとこ
ろ、MIMDを実行するためのプログラミング言
語の標準が定められていない。標準的な
FORTRANを実行できるモードは、SISDだけで
ある。したがつて、FORTRANで書かれた単一
のプログラムは、緊密に結合された多重プロセツ
サ(MP)システムで実行された場合、2つ以上
のプロセツサ(処理装置)を利用することはでき
ない。
本発明の方法は、FORTRANその他の同様な
言語で書かれた適用業務プログラムにMIMDの
サポートを提供するものである。このサポートに
よつて、単一のプログラムを計算機能上独立した
サブルーチンを含むように構成し、緊密結合の
MP構成の付加的なプロセツサ(処理装置)を利
用して計算機能上独立したサブルーチンを並列に
実行することができる。MIMD操作はMP構成の
計算機能をより集中的に使用することを可能とし
て、適用業務のターンアラウンド・タイムを改善
することができる。本発明方法は、システム・ハ
ードウエアまたは言語の拡張を必要とすることな
く、このような並列実行を緊密結合のMP構成で
可能とするものである。
下記は公知技術を代表するシステムである。
●IBM308Xデータ処理システムで作動する適用
業務プログラム性能拡張プログラム(IBMプ
ログラム番号5798−DNL) ●「クレイX−MP−2マルチプロセツサにおけ
る多重タスク処理」(“Multitasking on the
Cray X−MP−2 Multiprocessor”)、
Computer、Vol.17、No.7、July 1984、P62)
という記事記載のFORTRANインタフエー
ス・ルーチン ●「HEPにおける性能の測定−パイプライン方
式のMIMDコンピユータ」(“Performance
Measurement on HEP−Apipelined MIMD
Computer”)10th Annual International
Conference on Computer Architecture、
Conference Proceedings、Stockholm
Sweden、June13−17、1983、page207、とい
う記事記載のFORTRAN言語拡張機能 ●特殊な目的のハードウエア構成: −上位処理装置に接続されたIBM3838アレイ
処理装置 −上位処理装置に接続された、フローテイン
グ・ポイント・システム社(The Floating
Point Systems Inc.)(FPS)のアレイ処理
装置 −2重ポート・メモリ・サブシステムを有す
る、2台のデイジタル・エクイツプメント社
(Digital Equipment Corp.)のVAX11/
780 これらのシステムはすべて、FORTRANをあ
る程度並列処理機能にアクセスさせるものであ
る。IBM308Xデータ処理システムで動作する適
用業務プログラム性能拡張プログラムは、タスク
管理機能、作業待ち行列管理機能およびタスク同
期化機能を包含しており、COBOLまたは
FORTRAN適用業務プログラムを緊密結合の多
重プログラム・システムで動作させ、全処理時間
を大幅に削減することができる。
[発明が解決しようとする問題点] 適用業務プログラム性能拡張プログラム
(APPE)と本発明による方法の作動の間には、
幾つかの相違がある。
適用業務プログラム性能拡張プログラム
(APPE)は、適用業務プログラムの直接コマン
ドのもとに単一のMVS(多重仮想記憶)多重タス
ク処理関連機能を呼び出すことによつて、作動す
る。これらの機能の間の相互関係を、適用業務プ
ログラムによつて管理しなければならない。
APPEも引き数を、ATTACHマクロの一部とし
て所定のタスクのすべての作業に渡すことによつ
て、作動する。さらに、APPEはこれ自体の内部
パラメータに対して適用業務プログラムが供給す
るデータ域上で作動する。
本発明の方法は、多数のMVS多重タスク処理
関連機能を呼び出し、これらの相互関係を自動的
に管理することによつて作動する。この方法は実
行時にタスクによつて行なわれる作業のおのおの
に対する引き数リストも構築する。さらに、この
方法は、これ自体の内部データ域のみを使用して
作動する。適用業務プログラムが供給するデータ
域は何等必要ない。
X−MP−2のMIMD環境は、これが低レベル
の構造体を提供し、平行操作を可能とする点で
APPEシステムと類似しており、また適用業務プ
ログラムがこれらの構造体の間の関係を管理する
ことを必要とする。
IBM3838およびFPSアレイ処理装置は、汎用
の上位処理装置に接続された付加的な特殊目的の
ハードウエア装置である。これらの装置を使うこ
とができるのは、これらの用途に合わせて特にコ
ーデイングされたプログラムだけであつて、上位
処理装置で作動する他の汎用データ処理プログラ
ムによつて使用することはできない。
共通メモリを共用するデネルカHEPおよび2
台のVAX 11/780も、特殊目的の構成の一例で
あつて、一般的なデータ処理環境に適用すること
はできない。
これらとは対照的に、本発明の方法は標準的な
緊密結合のMP構成で並列処理を行うものであつ
て、他のプログラムで使うことのできない特殊目
的の、あるいは専用のハードウエアを必要としな
いものである。
本発明方法は標準的なハードウエア環境で作動
できるだけでなく、標準システムのソフトウエア
およびプロシージヤのみをも利用できるものであ
る。このことは前出の例と、以下のように対照を
なすものである。
1 IBM3838には特別なサブシステム・インタ
フエースを利用する、特別な非FORTRANプ
ログラミング技法を必要である。
2 FPSに接続したアレイ処理装置には、実行す
るためのFORTRANプログラムを準備する特
別なコンパイラおよび特別な連係編集プログラ
ムが必要である。
3 特殊目安のハードウエア構成には、特殊目安
のソフトウエア・システムを必要とするが、こ
れは汎用のデータ処理環境に適用できないもの
である。
4 HEP−1000にはFORTRAN言語拡張機能が
必要である。
[問題点を解決するための手段] したがつて、本発明の目的は、適用業務プログ
ラムから初期設定ルーチンへの呼出しによつて、
データ処理システムにおいて多重命令/多重デー
タ(MIMD)環境を初期設定し、前記適用業務
プログラムの独立して実行可能なすべてのサブル
ーチンが実行されるまで、前記環境を維持し、前
記適用業務プログラムの独立して実行可能なサブ
ルーチンを表す複数のタスクの実行をスケジユー
ルし、該複数のタスクのすべての実行が完了する
まで、前記タスクの実行と完了を同期化し、前記
タスクのすべてが完了したときに、前記MIMD
還境を終了させるステツプを包含する方法によつ
て、高級プログラム言語で書かれた適用業務プロ
グラムを多重命令/多重データ(MIMD)環境
で実行することである。
本発明の他の目的は、上記方法に、さらに制御
ステートメントに指定されたパラメータに対する
値を獲得し、前記の複数のタスクからなるロー
ド・モジユールのマツプを構築し、前記同期化ス
テツプが使用する事象リストを構築し、各サブタ
スクに対して1個のサブタスク制御ブロツクが存
在するように、複数個のサブタスク制御ブロツク
を構築し、各サブタスクに対して1個の引き数リ
ストが存在するように、複数個の引き数リストを
構築し、前記サブタスクのおのおのに対して接続
コマンドを発行し、初期設定が完了するまで接続
されたすべてのサブタスクを持つステツプを包含
している方法によつて、高級プログラム言語で書
かれた適用業務プログラムを多重命令/多重デー
タ(MIMD)環境における多重プロセツサ・シ
ステムで実行することである。
本発明のさらに他の目的は、上記方法に、さら
にスケジユールされるべきサブルーチンのサブル
ーチン名および引き数を獲得し、スケジユールさ
れるべき前記サブルーチンを利用するための自由
なサブタスクを探しだし、前記サブルーチンに対
して使用中のサブタスクを示し、前記のサブルー
チンのすべてがスケジユールされるまで、呼出し
ルーチンに戻つて他のサブルーチンをスケジユー
ルするステツプを包含している方法によつて、高
級プログラム言語で書かれた適用業務プログラム
を多重命令/多重データ(MIMD)環境におけ
る多重プロセツサ・システムで実行することであ
る。
本発明のさらにまた他の目的は、上記方法に、
さらに情報を使用中の各サブタスクに対する前記
事象リストに入力し、すべての使用中のサブタス
クが完了するまで待ち、使用されていないすべて
のサブタスクを示し、前記同期化ステツプから出
るステツプを包含している方法によつて、高級プ
ログラム言語で書かれた適用業務プログラムを多
重命令/多重データ(MIMD)環境における多
重プロセツサ・システムで実行することである。
本発明のさらにまた他の目的は、上記方法に、
さらに各サブタスクに対してタスク消去コマンド
を発行し、サブタスク制御ブロツクにマーキング
を行つて、各サブタスクに対して終了した操作を
示すステツプを包含している方法によつて、高級
プログラム言語で書かれた適用業務プログラムを
多重命令/多重データ(MIMD)環境における
多重プロセツサ・システムで実行することであ
る。
したがつて、本発明による高級プログラム言語
で書かれた適用業務プログラムを多重命令/多重
データ(MIMD)環境における緊密結合された
多重プロセツサ・システムで実行するための方法
は、適用業務プログラムから初期設定ルーチンへ
の呼出しによつて、データ処理システムにおいて
MIMD環境を初期設定し、適用業務プログラム
の独立して実行可能なすべての部分が実行される
まで、MIMD環境を維持し、前記適用業務プロ
グラムの独立して実行可能な部分を表すタスクの
実行をスケジユールし、前記タスクのすべての実
行が完了するまで、前記タスクの実行と完了を同
期化し、前記タスクのすべてが完了したときに、
前記MIMDの環境を終了させるステツプを包含
するものである。
本発明の上記およびその他の目的・特徴および
利点は、添付図面に示すごとき本発明の好ましい
実施例に関する詳細な説明から明らかになろう。
[実施例] 本発明方法は、4つのVS FORTRAN−呼出
し可能サブルーチン、サブタスクを制御するため
のインタフエース・サブルーチン、および数個の
ユーテイリテイ・サブルーチンで構成されている
が、これらのユーテイリテイ・サブルーチンは適
切な記憶容量および入出力装置を有する
IBM3084のような多重処理コンピユータ・シス
テムで実行できるものである。本発明方法は、
PL/S プログラム言語で実施されるもので
ある。VS FORTRAN−呼出し可能サブルーチ
ンは、本発明方法の機能に対するFORTRAN適
用業務のインタフエースであり、次のものであ
る。
AAAINI AAAINIはMVSサブタスク構造を構
築することによつてMIMD環境を作成するル
ーチンである。
AAAEXE AAAEXEはMIMD環境で実行する
ためにFORTRANプログラムをスケジユール
するルーチンである。これらのサブルーチン
を、FORTRANのメイン適用業務プログラム
およびサブルーチン相互と無関係に、かつこれ
らと並列に実行することができる。
AAASYN AAASYNはFORTRANのメイン
適用業務プログラムを、MIMD環境で実行さ
れるFORTRANサブルーチンの完了と同期さ
せるルーチンである。
AAATRM AAATRMはMIMD環境を終了さ
せ、FORTRANのメイン適用業務プログラム
をSISD操作に戻すルーチンである。
サブタスクを制御するインタフエース・プログ
ラムは、次の通りである。
AAASTC AAASTCはFORTRANサブルーチ
ンをMIMDD環境で実行するサブタスクを制御
するルーチンである。このルーチンは
FORTRANのメイン適用業務プログラムと
MIMDのFORTRANサブルーチンの間に、
CALL/RETURNインタフエースを与える。
AAASTCはMIMDのFORTRANサブルーチ
ンのためのFORTRANエラー処理環境も与え
る。
1.1.1 準備 本発明の好ましい実施例を使用する
FORTRANの適用業務プログラムを、2つの
MVSロード・モジユールとして準備する(プ
ログラマが)。プログラマはFORTRANプログ
ラムの並列処理可能なコードを明確にし、この
コードをFORTRANサブルーチンに再編成し、
サブルーチンをメイン・プログラムから除去
し、これらのサブルーチンを並列実行可能なサ
ブルーチンの別個のロード・モジユールに配置
する。(第2図)最初のロード・モジユールは
ジヨブステツプ・タスクによつて使用されるも
のであり、次のものを含んでいる。
●FORTRANメイン・プログラム ●メイン・プログラムと直列に実行される任意
のFORTRANサブルーチン ●4つのFORTRAN呼出し可能ルーチン ●連係編集プログラムによつて自動的に包含さ
れる、その他のライブラリ・ルーチン FORTRANのメイン・ルーチンはMIMD環
境の初期設定を行うため、AAAINIに対する
CALLを含んでいなければならない。
AAAEXEおよびAAASYNに対するCALLは、
FORTRANのメイン・ルーチンか、MIMDサ
ブルーチンの実行および同期化を制御する直列
サブルーチンのいずれかに置かれる。これらの
CALLの位置は、適用業務プログラムの論理に
よつて定まる。AAATRMに対するCALLは、
適用業務プログラム内の、MIMD環境が必要
なくなる場所に置かなければならない。この
CALLによつて、適用業務プログラムを正常に
終了させることが可能となる。
2番目のロード・モジユールはサブタスクに
よつて使用されるものであり、次のものを含ん
でいる。
●AAASTCルーチン ●MIMD環境で実行されるべきFORTRANサ
ブルーチン ●連係編集プログラムによつて自動的に包含さ
れる、その他のFORTRANライブラリー・
ルーチン 並列なFORTRANサブルーチンは、呼び出
された場合に、MIMDサブルーチンをスケジ
ユールしたAAAEXEに対するCALLと、
AAASYNに対する次のCALLとの間の
FORTRANのメイン適用業務プログラムと無
関係に、かつこれと並列に実行できるものでな
ければならない。MIMDサブルーチンも、メ
イン適用業務プログラムによつて同時にスケジ
ユールできる他のあらゆるMIMDサブルーチ
ンと無関係に、かつこれと並列に実行できるも
のでなければならない。
1.1.2 本発明方法の実行 本発明方法を使用するFORTRANジヨブは、
MVS(多重仮想記憶)類似の他のFORTRAN
ジヨブへ提示される。使用できるJCL(ジヨブ
制御言語)の例は、次のようなものである。
11GO EXEC PGM=AAAPGM、PARM=
‘MIMDLM、4'、REGION=1000K 11STEPLIB DD DD=KGN、AAALIB.
LOAD、DISP=SHR 11AAALM DD DD=KGN、AAALIB.
LOAD、DISP=SHR 11FTnnFOOX DD その他のDDステートメ
ント(データ定義ステートメント) 適用業務プログラムに必要な場合 上記の例において、「MIMDLM」はMIMD
のFORTRANサブルーチンを含んでいるロー
ド・モジユールのAALIBのメンバ名である。
「4」は必要なサブタスクの数である。AALIB
DDステートメントはSTEPLIB DDステート
メントと同じライブラリをポイントしなければ
ならない。
1.1.2.1 本発明方法の初期設定 第1図は処理の流れを示すものである。図
の左側の数字(n)は処理の順序を示す。頂
部を横切つている見出しは、ステツツプが行
なわれる環境を示す。下記は処理の各ステツ
プを説明するものである。
(1) AAAINIが適用業務プログラムによつ
て呼び出され、MIMD環境を作成する。
(2) 内部サブルーチンが呼び出され、EXEC
ステートメントのPARM=フイールドに
指定される値を獲得する。これらの値は、、
サブタスク・ロード・モジユールを収めて
いるライブラリのメンバの名前および作成
されるべきサブタスクの数である。
(3) 内部サブルーチンが呼び出され、サブタ
スク・ロード・モジユール内にサブルーチ
ンのマツプ(LMM)を構築する。このマ
ツプはロード・モジユールの外部入口点に
対するAAASTCからの名前と変位を含ん
でいる。
(4) 事象リスト(EL)が構築される。メイ
ン適用業務プログラムがMIMDサブルー
チンと同期すると、ELがAAASYNによ
つて使用される。
(5) サブタスク制御ブロツク(STB)が構
築される。作成される各サブタスクに対し
STBがひとつ構築される。
(6) 内部サブルーチンが呼び出され、引き数
リスト(AL)を構築する。作成される各
サブタスクに対してALがひとつ構築され
る。
(7) MVS ATTACHマクロが作成される各
サブタスクに対して発行される。
ATTACHマクロはステツプ(2)に含まれて
いるライブラリ・メンバ名を、サブタスク
に対するロード・モジユールとして使用す
る。各ATTACHと関連するSTBのアド
レスは、引き数としてサブタスクへ渡され
る。
(8) 発行される各ATTACHに対して、
MVSはサブセツトに対して作成されるタ
スク制御ブロツク(TCB)のアドレスを
戻す。
(9) AAAINIはAAASYNに対する内部呼出
しを行ない、すべてのATTACHされたサ
ブタスクが初期設定を完了するのを
WAITする。
ステツプ(10)ないし(14)は生成された各サ
ブタスクによつて、個別に実行される。
(10) MVSデイスパツチヤはAAASTCの入
口点のサブタスクへ制御を与える。
(11) MSCOM#が呼び出されて、サブタス
クに対するFORTRAN環境を初期設定す
る。
(12) VSCOM#がAAATSCへ戻ると、
FORTRAN環境の初期設定が成功したこ
とになる。
(13) サブタスクのSTB内の完了ECBは
POSTされ、このサブタスクに対する初期
設定が完了したことを示す。
(14) WAITマクロがサブタスクのSTBの作
業ECBに発行され、作業がサブタスクに
対してスケジユールされるまで、サブタス
クを待ち状態にする。
(15) サブタスクのすべてがそれぞれの完了
ECBをポストした後、MVSは制御を
AAASYNに戻し(ステツプ9参照)、こ
れは次いでAAAINIに戻る。
(16) AAAINIはその呼出し先に戻り、初期
設定が完了する。
第2図は、初期設定完了後のMVSタスク
構造を示すものである。メイン・タスク(ジ
ヨブステツプ・タスク)は活動状態であり、
メインFORTRANプログラム、直列サブル
ーチンおよび4つのFORTRAN呼出し可能
ルーチンを包含するロード・モジユールを実
行している。サブタスクは待ち状態にある。
AAASTCおよびFORTRAN MIMDのサブ
ルーチンを包含するロード・モジユールのコ
ピーが、各サブルーチンによつて使用されて
いる。
第3図は、初期設定中に構築された制御ブ
ロツク構造を示すものである。アンカ・ブロ
ツク(AB)は連係編集プログラムによつ
て、自動的に包含された制御部分である。他
の制御ブロツクは初期設定中に作成されたも
のである。
1.1.2.2 スケジユーリングおよび同期化 第4図は、スケジユーリングおよび同期化
処理の流れを示すものである。図の左側の数
字(n)は処理の順序を示す。頂部を横切つ
ている見出しは、ステツプが行なわれる環境
を示す。下記は処理の各ステツプを説明する
ものである。
(1) メインFORTRANプログラムまたはそ
の直列サブルーチンひとつが
MIMDFORTRANサブルーチンをスケジ
ユールしようとする場合、これは
AAAEXEEに対して呼出しを行つて、
MIMDサブルーチンをスケジユールする。
MIMDサブルーチンの名前(srname)と
このサブルーチンに対する引き数が、
AAAEXEへの呼出しの引き数として渡さ
れる。
(2) AAAEXEは自由サブタスクを探しだ
し、要求を行う。MIMDのアドレスと、
MIMDサブルーチンを呼び出すために
AAASTCによつて使用される引き数リス
トが、サブタスクの引き数リスト(AL)
の制御ブロツクに置かれる。ロード・モジ
ユール・マツプ(LMM)を使用して、サ
ブルーチン名をサブタスク環境における
MIMDサブルーチンのアドレスに変換す
る。
(3) サブタスクのSTBには使用中というマ
ークが付けられ、STBの作業ECBはポス
トされる。
(4) AAAEXEは呼出しルーチンへ戻る。
(5) FORTRAN適用業務プログラムは自由
に、他のMIMDサブルーチンをスケジユ
ールすることもできるし、あるいは他の直
列作業を行うこともできる。他のMIMD
サブルーチンがスケジユールされた場合、
スケジユールされた各サブルーチンに対し
てステツプ(1)ないし(4)が繰返される。
(6) 適用業務プログラムがその実行を、現在
スケジユールされているMIMDサブルー
チンと同期佐瀬用途する場合、プログラム
はAAASYNを呼び出す。
(7) AAASYNはSTBによつて使用中とマー
クされたすべてのサブルーチンに対して事
象リスト(EL)を書き込む。
(8) AAASYNはステツプ(7)で完了したEL
を使用してWAITマクロを発行する。こ
のことによつて、MVSは使用中のすべて
のサブタスクがその完了ECBをPOSTする
まで、ジヨブステツプ・タスクを待ち状態
にする。
ステツプ(9)ないし(16)は、ステツプ(1)
ないし(4)によつてスケジユールされた各サ
ブタスクによつて処理され、かつステツプ
(3)のPOSTがサブタスクの作業ECBで行な
われた後に任意の時期に実行される。
(9) MVSはサブタスクを待ち状態から取り
出し、制御をAAASTCへ戻す。
(10) サブタスクALに含まれている入口点と
引き数リストを使用して、AAASTCは
MIMDサブルーチンにリンクする。
(11) 作業の遂行後、MIMDサブルーチンは
AAASTCへ戻る。
(12) AAASTCは完了ECBをそのSTBに
POSTする。
(13) AAASTCはそのSTBの作業ECBで
WAITとなる。MVSはサブタスクを待ち
状態にする。
(14) ステツプ(8)でWAITとなつたすべての
サブタスクがその完了ECBをPOSTした
後、、MVSは制御をAAASYNに戻す。
(15) AASYNはすべてのSTBに、使用中で
ないものとしてマークを付け、その呼出し
先に戻る。
MIMDサブルーチンのセツトをスケジユ
ールし、かつ第4図にしめすように完了時に
同期させる順序を、適用業務が必要とする回
数だけ何回繰返してもかまわない。
1.1.2.3 終了 第5図は、終了処理を示すものである。図
の左側の数字(n)は処理の順序を示す。頂
部を横切つている見出しは、ステツプが行な
われる環境を示す。下記は処理の各ステツプ
を説明するものである。
(1) MIMDが必要なくなつた場合、適用業
務プログラムはAAATRMを呼び出して、
MIMD環境を終了される。
(2) AAATRMはすべてのサブタスクがこ
れらの最後にスケジユールされた操作を完
了するまで、ジヨブステツプを待ちにする
AAASYZに対して内部呼出しを行なう。
(3) 指定解除(DETACH)マクロが各サブ
タスクに対して発行される。
(4) アンカ・ブロツク(AB)にマークし、
MIMDが終了したことを示す。
(5) AAATRMはその呼出し先へ戻る。
理解しなければならないことは、本発明の
好ましい実施例を説明するのに使用した各種
のFORTRANおよびMVSのコマンド・マク
ロ、制御ブロツク構造、およびタスク構造
が、当技術分野の技術者にとつて公知なもの
であり、下記の刊行物に記載されていること
である。
●VS FORTRAN適用業務プログラムの
手引、IBM刊行物番号SC26−3985−4
(VS FORTRANN Application
Program Guide、IBM Pub.No.SC26−
3985−4) ●IBMシステム370:OS/VS2リリース2、
刊行物番号GC28−0661(IBM
System370:Introduction to OS/
VS2Release2、No.GC28−0661) ●IBMシステム370:OS/VS2監視プログラ
ム・サービスおよびマクロ命令、書式番号
GC28−0683(IBM 370:OS/
VS2Superisor Services and Macro
Instructions、Form No.GC28−0683) ●IBMシステム370:MVS/MA監視プログ
ラム・サービスおよびマクロ命令、書式番
号GC28−1154(IBM370:MVS/XA
Supervisor Services and Macro
Instructions、From No.GC28−1154) それ故、本発明を好ましい実施例を参照し
て説明したが、形態および細部に各種の変更
を、本発明の範囲から逸脱することなく行え
ることが、当分野の技術者には理解されよ
う。
[発明の効果] 本発明の方法によれば、FORTRANその他の
同様な言語で書かれた適用業務プログラムに
MIMDのサポートを提供することができる。こ
のサポートによつて、単一のプログラムを計算機
能上独立したサブルーチンを含むように構成し、
緊密結合のMP構成の付加的なプロセツサを利用
して計算機能上独立したサブルーチンを並列に実
行することができる。MIMDの操作はMP構成の
計算機能をより集中的に使用することを可能とし
て、適用業務のターンアラウンド・タイムを改善
することができる。本発明の方法は、システム・
ハードウエアまたは並行実行を緊密結合のMP構
成で可能とすることができる。
【図面の簡単な説明】
第1図は、本発明による方法の初期設定処理の
流れ図である。第2図は、本発明による方法によ
る初期設定後のタスク構造の線図である。第3図
は、本発明による方法の初期設定処理中に生成さ
れた制御ブロツク構造の線図である。第4図は、
本発明によるスケジユーリングおよび同期化タス
クの実行の流れ図である。第5図は、本発明によ
る方法の終了処理の流れ図である。

Claims (1)

    【特許請求の範囲】
  1. 1 独立して実行可能なサブルーチンを持つ高級
    プログラム言語で書かれた適用業務プログラムと
    多重プロセツサ・データ処理システムにおいて多
    重命令/多重データ(MIMD)環境を初期設定
    するための初期設定ルーチンとをロードし、前記
    適用業務プログラムから前記初期設定ルーチンへ
    の呼出しによつて、データ処理システムにおいて
    MIMD環境を初期設定し、前記適用業務プログ
    ラムの独立して実行可能なすべてのサブルーチン
    が実行されるまで、前記環境を維持し、前記適用
    業務プログラムの独立して実行可能なサブルーチ
    ンを表す複数のタスクの実行をスケジユールし、
    前記タスクのすべての実行が完了するまで、前記
    複数のタスクの実行と完了を同期化し、前記タス
    クのすべてが完了したときに、前記MIMD環境
    を終了させるステツプからなる、高級プログラム
    言語で書かれた適用業務プログラムをMIMD環
    境における多重プロセツサ・データ処理システム
    で実行するための方法。
JP60283221A 1985-01-30 1985-12-18 高級プログラム言語で書かれた適用業務プログラムを多重プロセツサ・デ−タ処理システムで実行する方法 Granted JPS61177566A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US06/696,278 US4636948A (en) 1985-01-30 1985-01-30 Method for controlling execution of application programs written in high level program language
US696278 1985-01-30

Publications (2)

Publication Number Publication Date
JPS61177566A JPS61177566A (ja) 1986-08-09
JPH0223894B2 true JPH0223894B2 (ja) 1990-05-25

Family

ID=24796410

Family Applications (1)

Application Number Title Priority Date Filing Date
JP60283221A Granted JPS61177566A (ja) 1985-01-30 1985-12-18 高級プログラム言語で書かれた適用業務プログラムを多重プロセツサ・デ−タ処理システムで実行する方法

Country Status (5)

Country Link
US (1) US4636948A (ja)
EP (1) EP0191159B1 (ja)
JP (1) JPS61177566A (ja)
CA (1) CA1234635A (ja)
DE (1) DE3587218T2 (ja)

Families Citing this family (40)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4720779A (en) * 1984-06-28 1988-01-19 Burroughs Corporation Stored logic program scanner for a data processor having internal plural data and instruction streams
US4791560A (en) * 1985-07-31 1988-12-13 Unisys Corporation Macro level control of an activity switch in a scientific vector processor which processor requires an external executive control program
GB8521672D0 (en) * 1985-08-30 1985-10-02 Univ Southampton Data processing device
US5280604A (en) * 1986-12-29 1994-01-18 Nec Corporation Multiprocessor system sharing expandable virtual memory and common operating system
GB8717689D0 (en) * 1987-07-25 1987-09-03 British Petroleum Co Plc Computers
US4918595A (en) * 1987-07-31 1990-04-17 International Business Machines Corp. Subsystem input service for dynamically scheduling work for a computer system
US4876656A (en) * 1987-08-28 1989-10-24 Motorola Inc. Circuit location sensor for component placement apparatus
US4943912A (en) * 1987-10-13 1990-07-24 Hitachi, Ltd. Parallel processor system having control processor and array control apparatus for selectively activating different processors
US5067072A (en) * 1987-11-06 1991-11-19 Visystems, Inc. Virtual software machine which preprocesses application program to isolate execution dependencies and uses target computer processes to implement the execution dependencies
US4961133A (en) * 1987-11-06 1990-10-02 Visystems, Inc. Method for providing a virtual execution environment on a target computer using a virtual software machine
JP2738692B2 (ja) * 1988-01-29 1998-04-08 株式会社日立製作所 並列化コンパイル方法
US5274810A (en) * 1989-01-10 1993-12-28 Bull Hn Information Systems Inc. Dynamic control of program execution order on a personal computer
JP3039953B2 (ja) * 1989-04-28 2000-05-08 株式会社日立製作所 並列化装置
US5251320A (en) * 1990-05-25 1993-10-05 International Business Machines Corporation Power controller for permitting multiple processors to power up shared input/output devices and inhibit power down until all processors have ceased service with the I/O devices
US5699310A (en) * 1990-06-29 1997-12-16 Dynasty Technologies, Inc. Method and apparatus for a fully inherited object-oriented computer system for generating source code from user-entered specifications
JPH0695312B2 (ja) * 1991-11-21 1994-11-24 インターナショナル・ビジネス・マシーンズ・コーポレイション コンピュータプログラムを処理する方法およびシステム
WO1995025304A1 (en) * 1994-03-14 1995-09-21 Green Hills Software, Inc. Optimizing time and testing of higher level language programs
US5787285A (en) * 1995-08-15 1998-07-28 International Business Machines Corporation Apparatus and method for optimizing applications for multiple operational environments or modes
US5724585A (en) * 1995-10-06 1998-03-03 International Business Machines Corporation Method for processing an application termination initiated from a pre-initialized computer language execution environment
US5809286A (en) * 1996-05-01 1998-09-15 Mci Communications Corporation Method and apparatus for emulating a dynamically configured digital cross-connect switch network
US5867689A (en) * 1996-05-01 1999-02-02 Mci Communications Corporation Method and apparatus for emulating a digital cross-connect switch network using a flexible topology to test MCS network management
US5850536A (en) * 1996-05-01 1998-12-15 Mci Communications Corporation Method and system for simulated multi-tasking
US5812826A (en) * 1996-06-27 1998-09-22 Mci Communications Corporation Method and apparatus for emulating a network of state monitoring devices
US5954829A (en) * 1996-12-30 1999-09-21 Mci Communications Corporation System, method, and computer program product for digital cross connect testing
US5854930A (en) * 1996-12-30 1998-12-29 Mci Communications Corporations System, method, and computer program product for script processing
US6256659B1 (en) 1997-12-09 2001-07-03 Mci Communications Corporation System and method for performing hybrid preemptive and cooperative multi-tasking in a computer system
US5974532A (en) * 1997-12-09 1999-10-26 Mci Communications Corporation System and method for generating responses for inputs using a hybrid state engine table
US6065086A (en) * 1998-02-17 2000-05-16 International Business Machines Corporation Demand based sync bus operation
US6112288A (en) * 1998-05-19 2000-08-29 Paracel, Inc. Dynamic configurable system of parallel modules comprising chain of chips comprising parallel pipeline chain of processors with master controller feeding command and data
US6389494B1 (en) * 1998-12-30 2002-05-14 Emc Corporation System for interfacing a data storage system to a host utilizing a plurality of busses for carrying end-user data and a separate bus for carrying interface state data
US7073020B1 (en) 1999-01-04 2006-07-04 Emc Corporation Method for message transfer in computer storage system
US7117275B1 (en) 1999-01-04 2006-10-03 Emc Corporation Data storage system having separate data transfer section and message network
US7007194B1 (en) 2000-06-29 2006-02-28 Emc Corporation Data storage system having point-to-point configuration
US7010575B1 (en) 2000-03-31 2006-03-07 Emc Corporation Data storage system having separate data transfer section and message network having bus arbitration
US7003601B1 (en) 2000-03-31 2006-02-21 Emc Corporation Data storage system having separate data transfer section and message network with plural directions on a common printed circuit board
US6651130B1 (en) 2000-04-28 2003-11-18 Emc Corporation Data storage system having separate data transfer section and message network with bus arbitration
US6779071B1 (en) 2000-04-28 2004-08-17 Emc Corporation Data storage system having separate data transfer section and message network with status register
US7421705B2 (en) * 2003-10-30 2008-09-02 Sprint Communications Company L.P. System and method for asynchronous processing in COBOL
WO2008118613A1 (en) * 2007-03-01 2008-10-02 Microsoft Corporation Executing tasks through multiple processors consistently with dynamic assignments
CN110083339A (zh) * 2018-01-26 2019-08-02 拜椰特(上海)软件技术有限公司 一种新型计算机编程语言

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5493942A (en) * 1978-01-07 1979-07-25 Agency Of Ind Science & Technol High-level language program executing unit
JPS55917A (en) * 1978-06-16 1980-01-07 Japanese National Railways<Jnr> Multiple synchronous operation system

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3614745A (en) * 1969-09-15 1971-10-19 Ibm Apparatus and method in a multiple operand stream computing system for identifying the specification of multitasks situations and controlling the execution thereof
US3662401A (en) * 1970-09-23 1972-05-09 Collins Radio Co Method of program execution
US4073005A (en) * 1974-01-21 1978-02-07 Control Data Corporation Multi-processor computer system
US4229790A (en) * 1978-10-16 1980-10-21 Denelcor, Inc. Concurrent task and instruction processor and method
US4412286A (en) * 1980-09-25 1983-10-25 Dowd Brendan O Tightly coupled multiple instruction multiple data computer system

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5493942A (en) * 1978-01-07 1979-07-25 Agency Of Ind Science & Technol High-level language program executing unit
JPS55917A (en) * 1978-06-16 1980-01-07 Japanese National Railways<Jnr> Multiple synchronous operation system

Also Published As

Publication number Publication date
DE3587218T2 (de) 1993-10-07
EP0191159B1 (en) 1993-03-24
EP0191159A3 (en) 1988-10-12
EP0191159A2 (en) 1986-08-20
US4636948A (en) 1987-01-13
CA1234635A (en) 1988-03-29
DE3587218D1 (de) 1993-04-29
JPS61177566A (ja) 1986-08-09

Similar Documents

Publication Publication Date Title
JPH0223894B2 (ja)
Rajkumar Real-time synchronization protocols for shared memory multiprocessors
US8473906B2 (en) Systems and methods for parallel distributed programming
US5257372A (en) Methods for efficient distribution of parallel tasks to slave processes in a multiprocessing system
US5666523A (en) Method and system for distributing asynchronous input from a system input queue to reduce context switches
Printz et al. Automatic mapping of large signal processing systems to a parallel machine
US20050188177A1 (en) Method and apparatus for real-time multithreading
KR100694212B1 (ko) 다중-프로세서 구조에서 데이터 처리 수행성능을증가시키기 위한 분산 운영 시스템 및 그 방법
Doeppner et al. C++ on a parallel machine
Suzuki et al. Real-time GPU resource management with loadable kernel modules
Dennis Machines and models for parallel computing
Inohara et al. A thread facility based on user/kernel cooperation in the XERO operating system
Ohno et al. Dynamic Task Scheduling Scheme for a GPGPU Programming Framework
Hibbard et al. A language implementation design for a multiprocessor computer system
Thomadakis et al. Runtime Support for Performance Portability on Heterogeneous Distributed Platforms
Kitai et al. Parallel processing architecture for the Hitachi S-3800 shared-memory vector multiprocessor
JP2553526B2 (ja) マルチタスク処理装置
Shoja et al. A control kernel to support Ada intertask communication on a distributed multiprocessor computer system
CN114217915A (zh) 一种异构众核上基于主-从模型的轻量级多线程机制
Ajit COMMUNICATION COROUTINES FOR PARALLEL PROGRAM USING DW26010 MANY CORE PROCESSOR
Shrivastava A view of concurrent process synchronisation
Price Multlprocessmg made easy
Buhr et al. Concurrency
Gabb et al. A fortran 90 application programming interface to the posix threads library
Barbacci Software Support for Heterogeneous Machines