JPS6272051A - 多重プロセツサ・システム中の多重同時処理制御方法 - Google Patents

多重プロセツサ・システム中の多重同時処理制御方法

Info

Publication number
JPS6272051A
JPS6272051A JP61193003A JP19300386A JPS6272051A JP S6272051 A JPS6272051 A JP S6272051A JP 61193003 A JP61193003 A JP 61193003A JP 19300386 A JP19300386 A JP 19300386A JP S6272051 A JPS6272051 A JP S6272051A
Authority
JP
Japan
Prior art keywords
work
node
queue
storage
block
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
JP61193003A
Other languages
English (en)
Other versions
JPH031697B2 (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.)
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 JPS6272051A publication Critical patent/JPS6272051A/ja
Publication of JPH031697B2 publication Critical patent/JPH031697B2/ja
Granted legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • 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/161Computing infrastructure, e.g. computer clusters, blade chassis or hardware partitioning
    • 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

Abstract

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

Description

【発明の詳細な説明】 以下の順序で本発明を説明する。
Δ、産業上の利用分野 B、従来の技術 C9発明が解決しようとする問題点 り0問題点を解釈するための手段 E、実施例 El、相互接続さ九た階層記憶管理プログラムIH5M
(第1A図) E2.IHSMの理論配列 E3.作業の流れ E4.記憶空間もしくは定義域(第1B図)E5.集中
的要求へのサービス E6.待ち行列データ・セントQDS (第2A、B図
) E 7 、 ?r?理作業要素MWE E8.交互介在非同期待ち行列 E9.管理作業要素の待ち行列化 Elo、初期設定処理(第3.4,5図)EIO−1,
作業ノード−初期設定(第6.7図) EIO−2,記憶ノード−初期設定(第8.9図) E110作業ノード−管理作業要素検索(第10.11
図) E120作業ノード−管理作業要素完成(第12.13
図) E13.記憶ノード−予定作業の検索(第14゜15図
) E14.記憶ノード−管理作業要素の完成(第16.1
7図) F3発明の効果 A、産業上の利用分野 本発明はデータ処理環境におけるデータ記憶空間の機械
管理に関する。
B、従来技術 この分野の参考文献として次のものがある。
(1)特開昭60−147855号公報(2)IBM刊
行物:GH35−0007−6rQS/VS2多tl仮
想記憶装置階層記憶管理プログラムニ一般情報J  (
1lO8/VS 2  MVSl+1erarchic
al Storage Manager: Gener
alInformation” )プログラム番号57
40−XRB、1980 (3)IBM刊行物:5H−0023−1rO3/VS
2多重仮、想記憶装置階層記憶管理プログラム・システ
ムのプログラマの参考及び作業案内」 (“OS / 
V S 2  M V S  Hierarchica
lStorage Manager System P
rogrammer’5Reference and 
0perations Guide” )プログラム番
号5740−XRB、1978 (4)IBM刊行物:5H−0024−1rO3/VS
2多事仮想記憶装置階層記憶プログラム:ユーザ案内」
(○S/VS2  MVS Hierarchical Storage Mana
ger : User’s Guide” )さて、複
雑なデータ処理設備ではホスト・プロセッサは一般に比
較的多数の周辺データ記憶装置を有し、ホスト・プロセ
ッサの動作に関連して使用するデータを記憶している。
データ記憶装置の使用効率を増大するために、種々レベ
ルの優先順位がこれらの周辺記tα装置に割振られてい
る。一群の高パフォーマンス・データ記tα装置は1次
メモリと呼ばれ、ホスト・プロセッサによって、計算機
のユーザ及びオペレーティング・システムが最もしばし
ばアクセスするデータを記憶するのに使用されている。
この様な1次メモリは高パフォーマンスで高価である。
データ記憶装置の第2の群は2次メモリと呼ばれ、低い
優先順位のデータを、この様なデータが1次メモリに昇
格されるか、より低いメモリ階層のレベルにマイグレー
ト(移送)する迄保持している。
マイグレートという用語は相対的に高速アクセス高コス
ト周辺データ記憶装置から低速アクセス低コスト周辺デ
ータ記憶装置I(、へのデータの移動を意味する。マイ
グレーI・されるデータは使用頻度が低く、従って1バ
イト当りの記憶コストが低い。
低パフォーマンス・データ記憶装置にデモ−1〜(降格
)されるデータである。逆の動作「リコール」では、ホ
スト・プロセッサによって処理されるためにデータはア
クセスされた時に高パフォーマンスの高コスト装置に移
動される。そのようなリコールはまた。「データ・プロ
モーション」としても知られている。マイグレート及び
リコールは遂行されるタスクに関連してデータ記憶空間
の利用を最適化するためにホスト計算機システムによっ
て遂行される2つの機能である。この様な最適化は記憶
したデータを組織化するために周辺データ記憶装置の管
理を必要とする。
データはマイグレートされる時、再フォ−マツト化され
、圧縮されてマイグレーション・データ記憶装置の空間
に保持される。このマイグレーションは又マイグレート
されたデータ・セットの断片化を解消する。データがリ
コールされる時、データはその非圧縮形に復元される。
「バックアップ」及び「復元」はデータ処理装置で遂行
される2つの追加的な機能である。1つの記憶媒体中に
存在するデータはシステムの故障もしくはユーザによる
論理的誤りの場合の支援として第2の、より安価な記憶
媒体にしばしばコピーされる1代表的には、この様なバ
ックアップ媒体は安全な場所に保管される磁気テープで
ある。
システムのデータ記憶装置上に記憶したデータを破壊す
るシステムの故障もしくはユーザによる論理誤りが生じ
た場合は、バックアップ・テープを「復元J処理中に記
憶装置に再ロートする。バックアップ動作のためには他
の媒体も適宜使用される。
大きなデータ処理装置では一般に「アクセス方法」とし
て知られた形のシステム・ソフトウェアを使用して、ホ
スト・プロセッサによって実行されるタスクによる周辺
データ記憶装置へのアクサスを制御している1代表的な
場合(IBMによる仮想順次アクセス管理プログラム−
VirtaalSequential Access 
Manager by IIIIM Corporat
ion−VSΔM)の場合には、「ユーザ(User)
 Jとして知られた各タスクは周辺データ記憶装置に記
憶するために成る領域が割振られる。この様な記憶領域
の割振りと割振り解消の副作用が断片化である。
データの断片化は[アクセス方法Jによって記憶空間が
多数回にわたって順次割振られ、割振りが解消された結
果として、データの多くの小さな断片が記憶装置上に分
散した時に生ずる。
データ・セットの断片化が生じた時、データは記憶され
るが、多数の未使用の記憶空間が残り、その多くは比較
的小さい。この結果、データ・セットへのアクセスが非
効率的になり、ホスト・プロセッサのデータ記憶のため
の周辺記憶ロケーションの割振り能力が減少する。それ
は利用可能な空間が小さすぎてデータが記憶出来ないか
らである。従って、断片化は利用可能な空間を減少する
ので周辺データ記憶空間の効率を減少し、記憶したデー
タへのアクセス時間を増大する。データ・セットの断片
化はアクセス時間を増大し、所与のデータ記憶装置上の
空間の使用が非効率的になるだけでなく、装置が磁気デ
ィスクである場合には。
「ヘッド・スラッシング」 (読取り/書込みへツな機
能の中には装置に記憶したデータ・セットの断片化した
ものを定期的に解消して、データ・セットの多くの小領
域を連続した比較的大きな記憶領域に結合して、全体の
システムの効率を改善する事が含まれる。
前述の文献中に説明があるプログラム[階層記憶管理プ
ログラム(Hierarchical Storage
Manager (HS M) ) Jがホスト・プロ
セッサの上述の機能を遂行する。83Mはデータ処理設
備のオペレータが指示した階層に従って種々の周辺デー
タ記憶装置を管理するため、ホスト・プロセッサで連続
的に実行するプログラムである。例えばH5Mは種々の
直接アクセス記憶装置、IBM3850大容址記憶装置
の様な大要址記憶装置及び磁気テープ・データ記録機中
のデータ記憶空間を管理する。
H5Mには、種々のレベルの周辺データ記憶空間が与え
られている。1次記憶装置と呼ばれる1組のデータ記憶
装置dはホスト・プロセッサで実行する種々のアプリケ
ーション・プログラムが必要なデータをアクセスするデ
ータ記憶空間である。
H3Mプログラムは移送と昇格によって1次データ記憶
空間の使用を最適化する。83Mでは、いくつかの制御
データ・セットがホスト・プロセッサによって使用され
る。多重プロセッサ設備では、この様な制御データ・セ
ットは種々の周辺データ記憶装置の管理のため、及び種
々の周辺データ記憶装置に関するホスト・プロセッサの
動作を調整するための制御機能を直列化する。
83Mプログラム中の複数の「ユーザ出口」はHS M
によるホスト計算機の動作を容易にし、その機能を有効
に管理する。さらに、これ等のユーザ出口はHSM内の
ロケーションであり、これらのロケーションから外部シ
ステム・ソフトウェアがアクセス出来る。さらに一群の
データ記憶装置が83Mの制御の外部に存在し、従って
これらの記憶装置は)(SMでは自動的に管理もしくは
制御さ才しない、この様なデータ記憶装置はVSAMの
様な従来のアクセス技術によってアクセスされ続け、H
SMの自動的動作によっては影響を受けない。しかしな
がらオペレータの制御の下では、85Mはこれ等の装置
を介して有効な制御を与えれられ、他の周辺データ記憶
装置と同様にユーザ・データの記憶を管理出来る。
85Mは同様に多重プロセッサ複合システムの周辺デー
タ記憶装置を制御する能力をもち、多重ホスト環境のホ
スト・プロセッサの1つもしくは2以上と同時に及び独
立してデータ記憶ボリュームの管理プログラムを実行出
来る。このH5M環境の下で、実行される管理機能の調
整のために、共通のデータ・セットがホスト・プロセッ
サにより共有されていた。しかしながら、これらの制御
機能はHS Mの標準の単一プロセッサの実行に追加さ
れたものであった。
複数の周辺データ記憶装置を同時に重なり合ってアクセ
ス出来る数台のホスト・プロセッサの動作を調整するた
めにHSMが生成し保持する共通のデータ・セットは[
制御データ・セット」であった。制御データ・セットは
多重プロセッサ複合システムのすへてのホスト・プロセ
ッサによって共通にアクセス可能な周辺データ記憶装置
に存在していた。そして、データ記憶ボリュームを求め
てホスト・プロセッサ間に競合がある時は、この競合は
ロック・アウトされたホスト・プロセッサに別のボリウ
ムを選択させる事によって解決される。成るホスト・プ
ロセッサのリコール・タスクが、現在他のホスト・プロ
セッサの他のマイクレージョン・タスクが使用している
マイグレーション・ボリュームを必要とする時は、その
リコールを求めているホスト・プロセッサは他のホスト
・プロセッサに対してそのボリュームを求めてリコール
・タスクが待っている事を通知する。すると、このボリ
ュームに対してアクセス権を持っていたホスト・プロセ
ッサのマイグレーション・タスクは、リコール・タスク
にこのボリュームを解放し、他のターゲットのマイグレ
ーション・ボリュームを選択してマイクレージョン動作
を続ける。多重プロセッサ環境では85Mの多くのコピ
ーが複合システム中のプロセッサの各々で同時に非同期
的に実行ぎわでいる。この制御過程には本来的な(in
herent) F1a”Miはなく、制御される周辺
データ記憶装置の本来的な一致はない、従って、88M
プログラムの実行コピーの各々を並列的に設置によって
しか、定義域をオーバラップさせる事ができない。
この様な並列処理システムが88Mの多重同時実行の際
の競合を避ける事を保証するために、複合システム内の
トI S Mのすへてのコピーはすべてのプロセッサに
共通なアクセス可能な制御データ・セットを使用する様
に指示されていた。データ・セットのレベルで、このデ
ータ・セットはいくつかのH3Mプログラムの任意の1
つによる更新アクセス中にロックされ、従って多重プロ
セッサ複合システムで実行されるHSMのすべてのコピ
ーの間に調整的リンクが形成された。
従って共通の制御データ・セットを使用する結果として
すべての85Mの処理は動作を行うためにデータ・セッ
トの制御が終るのを待つ必要がある。なぜなら、多重プ
ロセッサ複合システム中で実行中のHSMのコピーの任
意の1つによる更新アクセス中に、すべての他のコピー
はそのデータ・セットへのアクセスを待機しなければな
らないからである。この制御データ・セットへのアクセ
スの直列化は多重マルチプレクサ環境中のHSMの動作
に遅延を生ずるが、従来はシステム内の個別のH5Mプ
ログラムの活動を調整する必要かあったために、このこ
とは不可避であった。さらに118M下の多重プロセッ
サの動作は、常時全マルチプレクサ複合システムにとっ
て真に大域的な周辺データ記憶装置を有していなかった
。1つのホスト・プロセッサに独占的に利用可能なボリ
ューム−Lのデータは、そのデータを他のボリュームに
移を助させる!Irによらないでは他のホスト・プロセ
ッサによって利用可能とはならなかった。成る場合には
、この方法は非効率的であった。
従来技術において複数のホスト・プロセッサで実行され
る多重非同期処理を制御及び調整するための尽力がなさ
れている。通常、この様な尽力は種々の処理間の優先順
位を有する成る種の実行順序指定、もしくはデータ記憶
装置にアクセスを求める複数の処理の動作量の衝突の検
出もしくは回避に関与している。
米国特許第4118771号は工作機械の制御のための
数値制御システムを開示している。この特許では2つの
プロセッサが同時に非同期的に動作して共に機械の成る
部品を位置決めし、工具の作業を制御している。これ等
の活動は案内され、それらのプロセッサは共通の信号バ
スを介して相互接続されている@2つのプロセッサは共
通のランダム・アクセス・メモリだけでなく、キーボー
ド、表示装置及びテープ駆動装置の様な周辺装置を共有
している。
米国特許第4413318号は多重プロセス機械の処理
を一義的に固定するノードを使用する技術を開示してい
る。この特許の多重プロセッサ環境では、任意のプロセ
ッサはタスクを全システムのノー1−もしくはサブノー
ドに割当て、他のプロセッサとデータ・バスを介して通
信している。この特許のシステムでは各プロセッサ(1
次ノード)は1つもしくは複数のサブノードを有し、サ
ブノードの各々は1つのもしくは複数個の処理(タスク
)を含む。ノードはすへての1次ノードによってアクセ
ス可能なシステム・メモリの記憶されているノード・ア
ドレス表を参照してアドレスされる。ノード・アドレス
表はサブノード内の各処理のための複数の処理アドレス
表より成り、その関連処理へのアクセスを制御するロッ
ク制御ブロックと結合されている。
米国特許第4445197号は「送信権要求解決」(b
id resolution)による複数の同時的非同
期的競合の解決方法を開示している。このシステムでは
、計算システム中の特定の共有リソースにアクセスする
必要のある処理は送信権要求と似た信号を共通の送信権
要求解決回路に向けて発生している。発生した処理は送
信権要求解決回路を待つ。この回路は送(i権要求に肯
定応答を与え所定のプロセッサが所望のリソースにアク
セス出来る様にするゆ 最後に、多重プロセッサのデータ処理環境で種々のシス
テムが補助的ジョブ管理、データ管理、並びにジョブの
流れの制御、タスクの発注及びスプーリング等のタスク
管理機能に使用されている。
これらのシステムの中にはHASP、HASPIr、J
ES2及びJES3があり、すべてIBMプロセッサと
共に働いて補助システム管理機能を果している。
ここで、以下で使用される用語を説明しておこう。
自動バックアップ: 83Mにおいて、1次ボリウムも
しくは移送ボリュームから、指定されたバックアップ・
サイクル中にバックアップ・ボリュームへの適格なデー
タ・セットを自動的にコピーする処理。
自動マイグレーション: H8Mでシステムの決定によ
り1次ボリュームから移送レベル1ボリユームへ、もし
くは移送レベル1ボリユームから移送レベル2ボリユー
ムへ適格なデータ・セットを自動的に移動する処理。
バックアップ: 83Mにおいて、1次ボリューム、レ
ベル1ボリユームもしくは、83Mによって管理されな
いボリュームに存在するデータ・セットをバックアップ
・ボリュームにコピーする処理。
バックアップ制御データセットニ一種のVSAM(仮想
記憶アクセス方式)において、データ・セットのバック
アップ版、バンクアンプ・ボリューム及び83Mのバッ
クアンプ機能の制御の下にあるボリュー11に関する情
報を含むキイ順データ・セット。
バックアップ・ボリューム:データ・セットのバンクア
ップ版が書込まれるH S Mが所有するボリューム。
DASD(直接アクセス記憶装置):アクセス時間がデ
ータの位置に依存しない効率的な記憶装置。
データ・セット削除: HS Mで、指定した日数の間
参照されなかった期限切れのデータ・セットを削除する
空間管理技術。
データ・セット回収: 83Mで指定した日数の間参照
されないデータ・セットを削除するが、バックアップ版
は保持する空間管理技術。
レベルOボリューム:1次ボリューム即チH8Mによっ
て管理されないユーザ・ボリューム。
レベル1ボリユームニレベル0のボリュームから移送さ
れるデータ・セットを含む、88Mによって管理される
ボリューム。
レベル2ボリユームニレベル0もしくはレベル1ボリユ
ームからマイグレートされるデータ・セットを含む、8
5Mの制御下にあるボリューム。
管理空間:記憶ノード及び1及至複数のノードに共通に
アクセス可能であり、そこから85Mがデータ・セット
を移送し、バックアップし、そこ八H3Mがデータ・セ
ットを昇格(リコール)及び復元させる一組のボリュー
ム上の記憶空間。
マイグレーション(移行):1次ボリュームからマイグ
レーションレベル1もしくはマイグレーション・レベル
2ボリユームへ、移送レベル1ボリユームからマイグレ
ーション・レベル2ボリユーt1へ、もしくはI−(S
 Mによって管理されていないボリュームから移送レベ
ル1もしくは移送レベル2ボリユームへカタログ式デー
タ・セットを移動させる処理。
マイクレージョン制御セット:統計レコード、制御レコ
ード、ユーザ・レコード、マイグレートされたデータ・
セットのためのレコード及び85Mのマイグレーション
制御の下にあるボリュームのためのレコードを含むVS
AMキー順データ・セット。
移送ボリューム:マイグレートされたデータ・セットを
含むH3M管理ボリューム。
MSS:IBM社製の3850大容量記憶システム。
非H3M管理ボリューム:ユーザが直接アクセスされる
データ・セットを含む、85Mに対して定義されていな
いボリューム。
オフライン制御データ・セット。)(SMで、テープ・
バックアップ・ボリュームに関する情報を含むVSAM
キー順データ・セット。
所有空間: HSMが移送データ・セット及びバンクア
ップ版を割振る事が出来るが、ユーザ・ジョブは割振る
事が出来ない一組のボリューム上の記憶空間。
1次ボリューム:ユーザが直接アクセス可能であるデー
タ・セットを含む、83Mによって管理されるボリュー
ム。
昇格(リコール):マイグレートされたデータ・セット
をレベル1もしくはレベル2からレベル1ボリユームへ
移動させる処理。
復元: 83Mでバックアップ・ボリュームからデータ
・セットのバックアップ版を指定したボリュームへもし
くはバックアップ版を発生したボリュームにコピーする
指令処理。
記憶階層:データを記憶させるためのコスト記憶出来る
データの址そしてデータをアクセスする速度が異なる。
HSMが管理する記憶装置。
用語については、さらにIBM社の刊行物二〇C20−
1699−6−rデータ処理、遠隔通イ8及びオフィス
・システムのための用語集」1981年版(”Voca
bulary for Data Processin
g。
Telecommunications、 and 0
ffice SysteIg”、 1981)を参照さ
れたい。
C0発明が解決しようとする問題点 本発明の目的は、多重プロセッサ計算機システムに関連
する複数の大容量記憶ボリュームを管理するシステム及
び方法を提供することにある。
D0問題点を解決するための手段 本発明によれば、データ記憶ボリュームの共用性が多重
プロセッサ・システム中のプロセッサの1つを記憶ノー
ドとして指定し、残りのプロセッサを1作業ノードに指
定する事によって強化する。
作業ノードがそのホスト・プロセッサ内で実行している
処理から発生したサービス要求を認識し。
記憶ノードがそのサービスを遂行する。
認識されたサービス要求は、作業ノードによって共通に
アクセス可能な記憶媒体に転送される。
記憶ノードは共通にアクセス可能な記憶媒体からサービ
ス要求を検索し、要求されたサービスを遂行する。要求
されたサービスが遂行されると、記憶ノードは完成の通
知を作業ノードに転送する。
従って、作業ノード及び記憶ノード間のすべての通信は
共通にアクセス可能な記憶媒体を介して進行する。
本発明に従えば、データ記憶空間は1)1次のデータ記
憶ボリュームから2次のデータ記憶ボリュームへのデー
タの降格即ちマイグレーション、2)この様な2次デー
タ記憶ボリュームからの昇格即ちリコール3)1次もし
くは2次ボリュームからのデータのバックアップ及び4
)バックアップ・ボリュームから1次及び2次記憶ボリ
ュームへのデータ復元を含む自動的及び明示的指令によ
って管理される。
E、実施例 図面において、同一番号は同一部品及び構造上の特徴を
示す0本発明は種々の型及び能力を有する比較的多数の
周辺データ記憶装置を有する多重ホスト・プロセッサ・
データ処理環境で実施されるものとして説明されるが、
本発明は少数の周辺データ記憶装置を有する単一のホス
ト・プロセッサ環境でも同じ様に実施出来る0本発明の
説明は部分的に上述の参考文献に基づく、これ等の文献
は本発明と共に使用する時に有利に働く多くのリコール
・マイグレーション及び他のデータ記憶管理機能を与え
る現在のプログラムを説明している。
El、相互接続された階造記憶管理プログラムI S 
M 階層記憶管理プログラム(85M)は上述の様にホスト
・プロセッサで連続して実行され、データ処理システム
のオペレータによって、指定出来る階層に従って種々の
周辺データ記憶装置を管理する。H8Mでは多重プロセ
ッサ・システム中の各プロセッサは移送されたデータ・
セット及びバックアップ・データ・セットを含む周辺デ
ータ記憶装置にアクセスする。本発明に従う相互接続階
層記憶管理プログラム(IH8M)においては、第1図
に示したようなマイグレートされたデータ・セラ1へ及
びバックアップ・データ・セットを含むすべての周辺デ
ータ記憶装置の管理する制御がシステムの1つのノード
に集中し、とのノードとシステム中の残りのノードの各
4間のすべての通信が単一の記憶媒体100を介して行
われる。これ等の周辺データ記憶装置を制御するノード
は従来のH9Mプロトコールを使用して制御を行う。従
って183Mは従来のH3Mシステムと多重プロセッサ
・システムのすべての従来のH3M機能をシステム中の
単一ノードによって遂行出来る様にした、85Mより上
位の制御層との組合せであると考える事が出来る。
183Mは第1A図の多重プロセッサ・システム15の
様な多重プロセッサ複合システム中で動作する。多重プ
ロセッサ・システム15は4つの中央処理ユニット、C
PU200.CPU210、CPU220及びCPU2
30 (夫々CPUA、B、C及びD)より成る。さら
に、システム15はDASDIIO1DASD120.
DASDI30、DASD140及びDASD150で
示した1次ボリューム並びに移送空間の2次ボリューム
160,170.175並びにバッファツク空間66中
の複数のバッファツク・ボリュームを含む、バックアッ
プ・ボリュームは取外し可能な非発揮性ボリュームとし
て定義される。空間60.63、及び66については後
に説明する。1次ボリュームは直接アクセスが可能で、
最高の速度を有し1通常記憶単位当りのコストが最高で
あるボリュームである。2次ボリュームは通常1次ボリ
ュームよりも遅速で安価である。
CPU200.210.220.230は種々の方法で
複数の直接アクセス記憶表M (DASD)を相互接続
し、連絡する。例えば、システム15中ではCPU20
0は3つの1次DASD: DASt)100.DAS
DIIO,DASD120と連絡する。 同じ<、CP
U210は4つのDASD:DASDloo、DASD
120.DASD130及びDASD14(’lと接続
している。cpU220は唯2つの1次DASD:DA
SD100及びDASD140と接続している。最後に
、CPU230は2つの1次DASD:DASDI00
及びDASD150並びに多数の2次ボリュームと接続
している。2次ボリュームの一部はDASDで、一部は
大容量記憶システム(MSS)。
テープもしくは類似の装置である。DASD/MSS1
60はCPU230と接続した2次ボリュームの例であ
る。
システム15において、CPU及びDASD間の接続の
相互関係は成る共有記憶の関係を生ずる。
CPU200はCPU230と1次DASDIIOを共
用する。従って1次DASDIIOに存在する情報は(
同時ではないが)CPU200及びCPU20によって
アクセス可能である。同じ様に、DASD120はCP
U220及びCPU210で共用される。1次DASD
140はCPU200及びCPU210で共用され、1
次DASD100すべてのCPU:CPU2oO121
0,20,230によって共用される。1次DASD1
30はCPU210によって独占的にアクセスされ、D
ASD150はCPU230によって独占的にアクセス
される。
CPUとその関連直接アクセス記憶装置との関係のため
に、システムの共用要素が、システム15内のすべてC
PUの間で情報を伝送し得る。この共用要素は1次DA
SD100に存在し、すべてのCPUがアクセス可能な
待ち行列データ・セット(QDS)10である。待ち行
列データ・セット10は多重プロセッサ・システム15
中のすべてのプロセッサによって種々の時間に、書込み
もしくは読取りがなされる。1次DASD100中のQ
DSIO以外の、システム15内のDASDはすべての
CPUにとってアクセス可能ではなく、従って他のDA
SDのどれも汎用通信媒体として働かない。
CPU230も1次DASD150に独占的にアクセス
出来る。IH3Mが種々の制御データ・セットを組立て
て、保持するのはこのDASDI50である。さらにC
PU230だけがH8M所有空間60中のDASDもし
くは大容量記憶装置の2次ボIJI−ム(2°VOLS
)160.2次テープ・ボリューム175及び他のDA
SDもしくは大容量記憶装置の2次ボリューム170を
含む種々の他の記憶装置にアクセス出来、これを制御出
来る。さらに、テープ185、バックアップDADS/
MSS180、スピル(こぼれ)ボリューム及びスピル
・バックアップDASD/MSS190の様なすべてバ
ックアップ・スペース66中にある記憶装置がCPU2
30によって一意的にアクセスされ、制御出来る。従っ
てCPU230は情報のマイグレーション・バックアッ
プ、復元及びリコールのための広範囲なリソースを有す
る。
説明を容易にするために、CPU200.210.22
0及び230は単一のプロセッサとして単一のプログラ
ムを実行する個別の物理的プロセッサであり、仮想オペ
レーティング・システムの下で稼動しないもしくは任意
の仮想装置をシュミレートしないものとする。しかしな
がら、他の実施例では仮想装置としての動作も使用する
。単一の物理的CPUはIBMのVM370の様なオペ
レーティング・アーキテクチュアの制御を受けるいくつ
かの仮想計算機能を含んでいる。従って、例えばシステ
ム15中のCPU200及びCPU230は同じ物理的
CPU内で動作する事が出来る。
同様に、システム15内のDASD、例えばDASDl
lo、120.130,140及び150は物理的に個
別の装置として考える。しかしながら、単一の物理的装
置上には複数の空間があるものと定義出来る。例えば、
DASDIIO及び120は単一の直接アクセス記憶装
置内の2つの個別の区画と考える事が出来る。
E2.IH8Mの論理配列 多重プロセッサ・システム15中のCPU200.21
0,220,230の相互関係とその種々の記憶装置へ
のアクセス可能性及び制御可能性のために、成る論理空
間がIH3Mの制御の下に効果的に発生される、HSM
が所有する空間60はさらに2つの空間、マイグレーシ
ョン空間63及びバックアップ空間66に分割される。
空間63.66は成る論理記憶装置を含む論理定義域で
ある。論理定義域は成る物理的装置の延存部でよいが、
かならずしもそうである必要はない。
システム15でCPU230はH3M所有空間60を排
他的にアクセフし制御する。従ってCPU230は記憶
ノードとして指定される。残りのCPU200.210
,220が作業ノードとして指定される。IHSMはシ
ステム15中のすべてのCPU上で同時に走行し、各C
PU内で記憶ノード機能として走行するか(例えばCP
U230内)、作業ノード機能として走行するか(例え
ばCPU200.210もしくは220)が指定される
IHSMの実行によって定義される第2の空間はHSM
によって管理される空間50である。HSMが管理する
空間50は1次DASD100及び1次DASDIIO
を含む、HSMは空間50をデータ・セットの制御及び
配置換えに使用する。
H8Mi7Ffi空間50内に存在するデータ・セット
はIHSMの制御によってH8M所有空間60へ転送出
来、空間50には空間60からデータ・セットが転送出
来る。H3M所有空間6oにもH3M管理空間50内に
も存有しないDASD (例えばDASD120.13
0.140)は非HSM空間もしくは非H8M装置と呼
ばれ、この様なりASDは自動的にはIHSMによって
制御されず。
アクセスされない。
データ・セットはH8M管理空間5oもしくは非H3M
空間にアクセス出来るCPU200.210.220の
制御によって1つの空間から他の空間に転送出来る。こ
れによってH8M所有空間60もしくはH8M管理空間
50内に存在しないデータ・セットの制御が可能になる
。空間50.60はHSM空間と呼ばれる。それは本発
明のIHSMはこれ等を、HSMがこれ等を定義するの
と同様に定義するからである。
CPU230即ち記憶ノード230はこれだけが一意的
にアクセス出来る、制御データ・セットの保持のための
装置を有する。上述のように、この装置はDASD15
0である。制御データ・セットはIHSMがその活動の
記録を保持するのを助けるディレクトリの働きを有する
。これ等のディレクトリは1次DASD150中に、移
送制御データ・セット(MCDS)、バックアップ制御
データ・セット(BCDS)及びオフライン制御データ
・セット(OCDS)として示されている。
MCDS、BCDS及び0CDSはCPU230及びそ
のIHSMの実行のためにIHSMによって管理される
種々のデータ・セットの位置に関する情報を与える。
E3.作業の流れ 多重プロセッサ・システム15内でH8M管理空間50
内のDASDlooによって構成される記憶媒体は1つ
のCPUから他のCPUヘデータを通信するための唯一
の許可経路である。特に、DASD100上の待ち行列
データ・セット10は作業ノードで実行が指定されたI
H8Mプログラムの実行から記憶ノード中で実行が指定
されたIH3Mプログラムの実行への唯一の通信経路を
与える。システム15中の記憶ノードで実行が指定され
たIH5Mプログラムの実行は上述の如くCPU230
での実行である。
QDSIOによって伝えられる情報はIHSMの記憶ノ
ードの実行によって操作を受ける記憶管理機能もしくは
サービス要求である。これ等の記憶管理機能もしくはサ
ービス要求はCPU200.210.220及び230
内で発生し、QDSIOを通って排他的にCPU230
中で動作している記憶ノードに流れる。この情報は管理
作業要素と呼ばれる通信データ・パケットの形で伝えら
れる。
複数のCPUの各々中で発生してQDS 10に転送さ
れたサービス要求はCPU230中のIHSMの記憶ノ
ードの実行によって読取られる。CPU230中で記憶
ノードとして働いているIHSMは要求されたサービス
を検索して実行する。
要求されたサービスを実行した後に記憶ノードはサービ
ス完成の通知をQDSIOに送り戻す、工H8Mの他の
実行として、サービス要求を発生した作業ノードはこの
通知を検索してこれを発生したCPU内の発生タスクに
渡し、この通知ループを完了する。
従って作業の流れは成るデータ・セットを処理しなけれ
ばならない事を作業ノードが認識する事によって始まる
。例えば前にマイグレートしたデータ・セットに対する
アクセスを要求するCPU200で動作しているユーザ
のプログラムはCPU200内で動作しているIHSM
にそのデータ・セットを必要としている事を通知する。
CPU200内で動作しているIHSMはこのサービス
要求を認識して、このサービス要求を記憶媒体100上
のQDSloに転送する。
非同期的ではあるが、CPU230中で動作しているI
HSMの動作の記憶ノード機能はCPU200によって
QDSlo上に並んでいるサービス要求を検索し、この
要求に応じてこのデータ・セットを適切な位置にリコー
ルし、サービス要求の完成を通知する。データ・セット
の要求及びリコールが実行された後はCPU200内で
作業ノードとして動作しているIHSMはQDSIOか
ら通知を検索して、CPU200内で動作しているユー
ザ・プログラムにデータ・セットがリコールされた事を
知らせる。要求したデータ・セットを必要としていたユ
ーザ・プログラムが次のその処理を続ける。
IH3M内のデータの流れはユーザ・プログラムによっ
て要求出来もしくはIH3M内部でもスケジュールする
事が出来る0例えばシステムを走らせるIHSMは毎日
の特定の時間にもしくは所定のデータ・セットに対して
最後のチクセスがなされもしくは操作が加えられてから
特定の時間が経過した後に、バックアップもしくは復元
機能を遂行する事が出来る。この様な機能の要求も記憶
ノードでの処理では差別されない。この様な要求はQD
SIOに送られ、CPU230上の記憶ノード実行によ
って検索される。これ等のサービスは適切ならば実行さ
れ通知が送られる。
いくつかのプロセッサ内で非同期的に発生した作業の流
れは従って単一の点、QDSIOに向って集中的に送ら
れ、QDSIOから記憶ノード230に送られ、ここで
処理される。この様にしてサービス要求の認識及び転送
は集中化され、成る装置への多重アクセスによって多重
ノードによる努力の重複が除去される。CPU230は
H8M所有空間60を排他的にアクセスし、制御する。
空間60にはすべての2次ボリュームが存在する。
従ってH3M所有空間60に導入され、もしくは空間6
0から出るすべての情報はCPU230によって制御さ
れる。しかしながらH3M管理空間50はDASDIO
o、110の様な多重アクセス装置を有し、これによっ
てCPU間の相互作用間に種々のレベル及びデータ記憶
装置の効率に種々のレベルを与えている。
CPU230が遂行出来るサービス機能は(i)高コス
トもしくは高性能装置から低コストもしくは低性能装置
へのデータの移動であるマイグレーション、 (it)
逆の動作であるリコール、(ni)システムの故障もし
くは論理系りによるデータの喪失を防止するための低コ
ストで安全性の高い装置にデータをコピーするバックア
ップ及び(tv)バックアップの逆動作である復元を含
む。
マイグレーション・サービス要求が記憶ノード230に
よって遂行される時は、データはデータ経路81を介し
てマイグレーション空間63内の2次ボリューム160
,170,175にマイグレートされる。リコール要求
が遂行される時は、データはマイグレーション空間63
からデータ経路83を介してリコールされる。バックア
ップ要求によって記憶ノード230はデータ経路85を
介してデータをバックアップ空間66内のボリューム1
80,185,190,195に転送する。
記憶ノード230によって復元サービス要求が遂行され
る時は、データはデータ経路87を介してバックアンプ
空間66から復元される。
多重プロセッサ・システム15中の作業の流れの中の他
の機能には、IHSMによって定義された種々の領域及
び空間にまたがるデータの断片を制御する機能がある。
単一のデータ・セットが工H8Mによって管理されてこ
の様な断片化が防止される。データ・セットは特定の物
理的装置上の一個所に保持され断片化が防止されもしく
は救済される。この様な断片化の防止もしくは救済は工
HSMの動作の全体の速度に貢献する。
E4.記憶空間もしくは定義域 第1B図を参照すると、IHSMによって定義出来る空
間及び定義域を示す変形ペン図が示されている。第1B
図で空間はA、B、CもしくはDで示され、夫々第1A
図のCPU200.210.220.230と対応して
いる。IHSMを走らせる多重プロセッサ・システムで
は、任意のCPUは独占的にアクセス出来るDASDを
有する。
例えば、システム15(第1A図)でCPU210はD
ASD130に排他的にアクセスしている。
さらに本発明に従ってIHSMを走らせているシステム
内のDASDは任意の2つもしくはそれ以上のCPUに
よって共用される。例えばDASD120はCPU20
0.210によって共用されている。この様にしてIH
SMを実行するシステム内で可能なす入での構成の全体
が大きくなる。
第1B図の範囲内にある構成は、この様な可能な構成の
全体の一部である。さらに第1A図に示したシステム1
5の構成は第1B図の範囲内の構成の一部である。従っ
てシステム15以外のシステムも第1B図の範囲内に含
まれ、第1B図はIHSMによって可能なすべての構成
を示していない。
従って、第1B図はいくつかの論理定義域を示し、その
うちの一部だけが第1A図の特定のアーキテクチェア中
に物理的な対応装置を有する。例えば第1B図はCPU
200 (A)に独占的に使用される記憶定義域を示し
ているが、第1A図にはこの様な物理的装置は存在しな
い、さらにIHSMを走らせるシステムはこのシステム
内のすべてのCPUによって共用される複数のDASD
を含む事が可能であるが、システム15では1つのこの
様な共通にアクセスされるDASDとして、唯一のDA
SDlooが存在するだけである。しかしながら唯一つ
のQDSIOが許容されているのみである。
空間201は1方向にだけ斜線を有し、CPU200だ
けがアクセス可能な空間である。上述の様に、空間20
1はIHSMによっては許容されているがCPU200
がDASDを独占的に制御しないシステム15中には具
体化されていない。
空間211は1方向にだけ斜線を有しCPU210に排
他的にアクセス出来る空間である。空間211はDAS
D130に対応する。2重斜線空間204はCPU20
0.210の両方に利用可能な空間であり、DASD1
20に対応する。
空間221はCPU210によってアクセス可能な空間
の内部に完全に含まれDASD140に対応する。DA
SD140はCPU220にもアクセス可能であり、C
I) U 210にアクセス可能な複数の装置のうちの
1つである。CPU220がそれ自身のDASD (図
示されず)に排他的にアクセス出来るシステムでは、空
間221は完全には他の空間に包まれない、空間231
はCPU230にアクセス可能な空間である。空間20
2はCPU200.230の両方に利用可能であり。
物理的にはDASDIIOに対応する。
空間50はすべてのCPU200.210,220及び
230にアクセス出来る(cPU230の空間231の
斜線の特徴が延長されている事に注意されたい)。H3
M管理空間50はHSMがそこにデータ・セットを配置
し、これから受取る事が出来る空間である。共通にアク
セス出来るDASDであるDASDlooはH8M管理
空間50中にある。DASDlloはCPU230がア
クセス可能であり、従って共通にアクセス可能ではない
がHS M管理空間である。待ち行列データ・セット1
0は空間50の内部に存在しなければならない。2重線
で囲まれた空間60はCPU230だけにアクセス可能
な空間でありHSMの所有空間である。空間60はH3
M移送空間63及びHS Mバックアップ空間66を含
む。第1B図に示した様に記憶空間の成る重なりが可能
であり、記憶空間及び定義域の可能な範囲が大きく出来
る。
しかしながら、HSMが動作出来る条件は(1)すべて
のプロセッサがアクセス可能なシステム15のDASD
looの様な成る領域が存在する事。
(2)記憶ノードとして指定出来るIHSMの実行を含
むプロセッサだけにアクセス可能な1例えば空間60の
様な成る領域が存在する事である。
E5.集中的要求へのサービス 要求に対するサービスは上述の様にシステム15内の種
々の作業ノードが遂行すべき、サービス・タスクを認識
する事から始まる。認識に続き、作業ノード200.2
10.220はそのタスクを遂行する単一の中央サービ
ス遂行装置に連絡する。
IH3Mではこの様な連絡にはサービス要求の発生を含
み、サービス要求がQDSIOを含む記憶媒体100に
送られる。単一のサービス遂行装置。
この場合はCPU230が種々の要求されたタスクを遂
行する。このタスクを遂行して、データを適切な記憶位
置にあずけた後、もしくは適切な記憶位置からデータを
検索した後、CPU230は要求したプロセッサにタス
クの完成を通知する。
この様にして非同期的にサービスの遂行装置とは別個に
動作している多くの処理によって認識される作業の流れ
がこれ等の要求を単一の中央に存在する遂行装置が完成
する様に通信する。
完成に基づいて、完成の非同期的通知が要求した装置に
送られる。従って作業の集中的遂行に続いて多重プロセ
ッサの非同期的環境中での種々の要求装置への非同期的
通知が行われる。
プロセッサ間のすべての通イ8が受渡しされなければな
らない通信装置として記憶媒体100を使用する事はI
 HS Mの重要な特徴である。記tCt媒体100上
に保持されているQDSlo上に通イ8データ・パケッ
トを並べ、解消する事によって、他の類似のシステムに
見られがちな直列化のための遅延が最小になる。要求を
認識して中央の記憶位置に送り、要求されたサービスの
遂行のために必要なすべてのリソースを独占的に制御出
来る、より効率的なプロセッサによって遂行させる事に
よって従来のシステムに固有な多くの遅延及び障害がな
くなる。
中央記憶媒体例えばDASD100内に存在する待ち行
列データ・セット10を使用する主な利点はこの様な記
憶装置の待ち行列が非揮発性であり、非常に故障を生じ
にくく、故障が生じても復元能力が高い点にある。他の
従来の、揮発性の通信技術を使用するシステムはたとえ
点検をしてもこの様な記憶装置をベースとする通信手段
の動作に復元性を与え、動作を容易にする事が出来ない
この場合、発揮性通信技術は故障によって決定不可能な
状態にリセットする媒体に通信データ・パケットを記憶
する技術として定義出来る6非揮発性通信技術はシステ
ムが故障してもその情報を保持している技術を含むもの
として定義される。
E6.待ち行列データ・セット10 第2A、第2B図を参照するに、DASD100内の待
ち行列データ・セット(QDS)10及び管理作業要素
560が示されている。多重プロセッサ・システムの作
業ノード中で動作している非同期的処理はQDS 10
中に管理作業要素560の如き管理作業要素を記憶させ
る事により記憶ノードと通信する。管理作業要素はデー
タ通信パケットの形式をなす。従ってQDSloは共通
に利用可能な記憶媒体に存在する。管理作業要素が記憶
ノードによるサービスを受けた時は、この事は記憶ノー
ドによってQDSIOを介して要求した作業ノードに通
知される。従って作業ノードと記憶ノード間のすべての
通信はQDS I Oを介して行われる。代替実施例(
図示されず)では、単一の装置が第1A図のCPU23
0及びDASDlooの機能を遂行出来従ってQDSI
Oを含んでいる。
第2A図は制御データ・セット10を示している。デー
タ・セット10は複数の待ち行列即ち記憶ノード230
によって検討されるDASD要求待要求列及び作業ノー
ド200.210及び220を含む各作業ノードのため
の一つの作業完成待ち行列を含む仮想記憶アクセス方式
(VSAM)ファイルである。QDSIOはすべてのV
SAMファイルの様に制御レコード500で始まる。制
御レコード500は活動、時間(タイム・スタンプ)フ
ィールド524を含む複数のフィールドを含む。活動時
間フィールド524は記憶ノード230が待ち行列デー
タ・セット10をアクセスする度に記憶ノード230に
よって更新される。記憶ノード230によって活動時間
フィールド524に書込みかなされる度に記憶ノード2
30はQDSIOをアクセスする時間帯に入る。活動時
間フィールド524は各作業ノードによって定期的にチ
ェックされ、記憶ノードが活動しているかどうかが決定
される。この様にして、フィールド524の一番最新の
エントリーの経過時間を決定する事によって記憶ノード
230の誤動作が検出される。例えば5分以上経過した
フィールド524中のエントリーは記憶ノード230の
故障と解釈される。
制御レコード500は又記憶ノード・セグメント502
を含む。記憶ノード・セグメント502は2つのフィー
ルド・記憶ノード・ホストID(S N I D)フィ
ールド510及び予定作業ポインタ(PTR)フィール
ド512を含む。記憶ノード・ホストIDフィールド5
10は多重プロセッサ・システム15内の複数のIH3
M実行のうちどれが記憶ノードとして働くかを決める6
記憶ノードの予定作業ポインタ512は記憶ノードの後
入れ先出しくLIFO)待ち行列に加わった最後の割当
て作業のQDSIO内の位置を示す相対レコード番号ポ
インタである。
システムの各作業ノードに対して構造的に記憶ノード・
セグメント502と似た作業ノード・セグメンI〜が制
御レコード500に存在する。例えば、作業ノードl 
(WNI)のための作業ノード・セグメント504が存
在するゆ作業ノード・セグメント504は作業ノード1
ホストIDフイールド514及び作業ノード1作業完成
ポインタ(1)TR)フィールド516を有する。作業
ノード・ホスl−I Dフィールド514は作業ノード
lに指定された多電プロセッサ・システム内のIH3M
実行手段のIDを含んでいる0作業ノード1作業完成ポ
インタ516は作業ノード1のために、記憶ノード23
0が完成した最新の作業割振り、従って作業ノード1の
LIFO待ち行列中の最後の管理作業要素を含む相対レ
コードを指示する相対レコード番号である。
作業ノード・セグメント506は作業ノード1のための
作業ノード・セグメント504と同様に作業ノード2の
ための情報を含む0作業ノード2ホストIDフィールド
518は作業ノード2に指定されたIH3M実行手段を
固定する。作業ノード2作業完了ポインタ・フィールド
520は作業ノード2の待ち行列のための最新のエント
リを示す。制御レコード500のフィールド508は複
数の追加の作業ノード・セグメントを含む。各セグメン
トはシステム中の追加の作業ノード(図示されず)及び
それ等のLIFO待ち行列に対応する作業ノード・ホス
トIDフィールド及び作業終了ポインタを有する。そし
て、そのような追加的な5個の作業ノード・セグメント
をフィールド508に入れる事が許容され、制御データ
・セット500内の作業ノード・セグメントの数は7個
になる。
E7.管理作業要素(MWE) 第2B図を参照すると、管理作業要素560が示されて
いる。管理作業要素560は制御データ・セット10の
相対レコード中に記憶される複数の管理作業要素の1つ
である。上述の様に、管理作業要素はI I(SMによ
って発生され、記憶ノード230に特定のIH8M機能
が要求されている事を示すデータ通信パケットである。
これ等の機能はリコール、復元、マイグレーションもし
くはバックアップの様な動作を含む。
管理作業要素はIH5Mノードによって待ち行列データ
・セット10中に置かれ、指定した動作の実行及び完成
が要求される。管理作業要素はこれを記憶ノードの予定
作業待ち行列に付加する事によって待ち行列データ・セ
ットに加わる。
管理作業要素560のみならず待ち行列データ・セット
10内の他の管理作業要素は4つのフィールドを含む。
ホストIDフィールド542は作業ノードによって使用
され、作業要求を行って、それ自身を要求の発信者とし
て同定する。相対レコード番号(RRN)フィールド5
44は管理作業要素560を待ち行列にリンクする逆ポ
インタを含んでいる。従って相対レコード番号フィール
ド544は予定作業待ち行列中の管理作業要素560に
直ちに先行する管理作業要素の相対レコード番号を含む
例えば、管理作業要素562は制御データ・セット10
内の制御レコード500に続く第2の管理作業要素であ
る。もし管理作業要素562が管理作業要素560を追
加したい待ち行列の最後である時には、管理作業要素5
62の相対レコード番号である2が管理作業要素560
の相対レコード番号フィールド544中に置かれる。従
って複数の管理作業要素内の相対レコード番号フィール
ド544内の相継ぐ逆ポインタが複数の管理作業要素を
LIFO待ち行列にリンクする。待ち行列(Q)制御フ
ィールド546は管理作業要素が待ち行列の一部として
待ち行列データ・セット10内に記録された事を示す単
一ビットもしくはフラッグである。従って記憶ノード待
ち行列及びすべての作業ノード待ち行列中の管理作業要
素中のすべてのQ制御フィールド546は高レベルにあ
る。
MWEFUNCフィールド548は作業ノードによって
使用され、記憶ノード230に対し、管理作業要素によ
ってどの機能が要求しれたかを示すものである。例えば
MWEFUNCフィールド548中の3は作業ノードに
よって記憶ノードに対しリコールが要求され、5は復元
が要求され。
6はマイクレージョンが要求された事を示す。
I HS M内の各活動状態にあるホスト・プロセッサ
はQDS10内にそれ自身の待ち行列を有する。すべて
の待ち行列はLIFOである。記憶ノードのLIFO待
ち行列は記憶ノード230によって遂行されるべき作業
を定義する0作業ノードのすべては記憶ノードのLIF
O待ち行列に書込む事が出来る。各作業ノードも又それ
自身のLIFO待ち行列を有する。これ等の作業ノード
待ち行列は作業ノードの代りに記憶ノード230が完成
した作業を示す。各作業ノード待ち行列は記憶ノードが
要求された動作を完成した時に記憶ノード230によっ
て書込まれる。
E8.交互介在非同期待ち行列 ここで次の表を参照するに、管理作業要素の3つの待ち
行列を含む待ち行列データ・セット10の例が示されて
いる。3つの待ち行列は記憶ノードの予定作業待ち行列
、作業ノード1の作業完成待ち行列及び作業ノード2の
作業完成待ち行列である。
相対レコード560−14及至592−32は記憶ノー
ド及び作業ノードの両方に利用出来、これ等の待ち行列
が形成される。図示した17個の管理作業要素の数は説
明の目的のためだけに選択されたものである。一般に、
待ち行列データ・セット10は任意の数の管理作業要素
を含む事が出来る。QDSIO内の管理作業要素を記録
もしくは固定する参照番号の最初の3つのディジットは
QDSIO内の位置に関して管理作業要素56〇−14
及至592−32を順番に記録しもしくは固定している
これ等の参照番号の最後の2つのディジットは各管理作
業要素の待ち行列とその待ち行列内の管理作業要素の位
置を固定している。最後の2つのディジットのうち最初
のディジットが1である時は、管理作業要素が記憶ノー
ド待ち行列中にある事、2は管理作業要素が作業ノード
1 (WNI)待ち行列中にある事、3は管理作業要素
が作業ノード2(WN2)待ち行列中にある事を示して
いる。Ql)SIOの管理作業要素を固定する参照番号
の最後のディジットは待ち行列自身内の管理作業要素の
位置を示している。最後のディジットの1はその待ち行
列中の最初の管理作業要素を示し、2は第2の従ってよ
り最近待ち行列中に付は加えられた管理作業要素を示し
ている。
QDS10中の最初の管理作業要素は管理作業要素56
0−14である。この事は管理作業要素560−14が
、参照番号中のダッシュの後の最初の数字が1であるた
めに記憶ノード待ち行列中にあり、ダッシュの後の第2
の数字位置には4があるのでこの要素が記憶ノード待ち
行列内の第4番目の要素である事を示している。同じ様
に、QDSLO中の第8番目の相対レコード中の管理作
業要素574−31はダッシュに続く最初のディジット
3で示した様に作業ノード2待ち行列中にある。この要
素は参照番号の最後のディジット位置の1によって示し
た様に作業ノード2待ち行列中の最初の、従って最も古
い要素である。
記憶ノード待ち行列の内容を決定するためには、待ち行
列レコード500の記憶ノードの予定作業ポインタ・フ
ィールド512中の相対レコード番号に従う、フィール
ド512中のポインタは最も最近記憶ノード待ち行列に
加えられた管理作業要素を示している。制御レコード5
00のフィールド512は15を含んでいるので、QD
S 10中の第15番目の相対レコードを指示している
。QDSIOの15番目の相対レコードは管理作業要素
588−16を含んでいる。
管理作業要素588−16のホストIDフィールド54
2は管理作業要素588−16が作業ノード(WN)2
によって記憶ノード待ち行列中に置かれた事を示してい
る。管理作業要素588−16の待ち行列制御フィール
ド546は1を含み相対レコード15が待ち行列に活動
状態の管理作業要素を含む作を示している。管理作業要
素588−16のMWEFUNCフィールド548は3
を含み、作業ノード2が記憶ノード230にリコールを
遂行する事を要求している事を示している。
管理作業要素588−16の相対レコード番号フィール
ド544は4を含み、記憶ノードの待ち行列中の次の管
理作業要素が待ち行列データ・セット10の相対レコー
ド4にある事を示している。
相対レコード4は管理作業要素566−15を含んでい
る。管理作業要素566−15は参照番号の最後の2デ
イドツト中の15によって示す様に記憶ノード待ち行列
中の第5番目の要素である。
管理作業要素566−15のホストIDフィールド54
2は管理作業要素566−15が作業ノード1によって
記憶ノード待ち行列上に位置付けられた事を示す。管理
作業要素566−15のMWEFUNCフィールド54
8は5を含み、作業ノード1は記憶ノード230に復元
動作を遂行する様に要求した事を示す。管理作業要素5
66−15の相対レコード番号フィールド544は1を
含み、記憶ノード待ち行列の次の管理作業要素が相対レ
コード1に見出される事を示している。
相対レコード1は管理作業要素560−14を含み。こ
れはホストIDフィールド542によって示す様に作業
ノード1によって記憶ノード待ち行列上に置かれたもの
であり、MWEFUNCフィールド548で示した様に
記憶ノードのリコール機能を要求している。管理作業要
f3560−1゛ 4の相対レコード番号フィールド5
44は3を含み、相対レコード3の管理作業要素564
−13が記憶ノード待ち行列中の次の管理作業要素であ
る事を示している。
管理作業要素564−13のホストIDフィールド54
2はこの管理作業要素564−13が作業ノード2によ
って記憶ノード待ち行列上に置かれた事を示している。
管理作業要素564−13のMWEFUNCフィールド
548は7を含み、記憶ノードがバックアップ動作を遂
行する様に作業ノード2が要求した事を示している。相
対レコード番号フィールド544は相対レコード7を指
示し、相対レコード7は管理作業要素572−12を含
んでいる。
管理作業要素572−12はそのホストIDフィールド
542によって示した様に作業ノード1によって記憶ノ
ード待ち行列上に置かれたものである。管理作業要素5
72−12は5を含むMWEFUNCフィールド548
によって示した様に記憶ノードに復元動作を要求してい
る。管理作業要素572−12の相対レコード番号フィ
ールド544は相対レコード番号6を指示するポインタ
6を含んでいる。
相対レコード6は管理作業要素510−11を含む。管
理作業要素570−11の参照番号はこの要素が記憶ノ
ード待ち行列上の最初の管理作業要素である事を示して
いる。この事は参照番号の最後のディジット中の1によ
ってわかる。この要素の相対レコード番号フィールド5
44はOを含み、記憶ノード待ち行列の終りである事を
示している。従って記憶ノードの予定作業待ち行列の6
個の管理作業要素を含んでいる。記憶ノード待ち行列は
6個の管理作業要素を含む6個の相対レコードを最も最
近受取った管理作業要素から最初に受取った要素類に並
べると、相対レコード15.4.1.3.7及び6の順
になる。
上山のQDS表は又作業ノード1のための作業完成待ち
行列を含む。作業ノード1の待ち行列に追加される管理
作業要素は制御レコード500の作業ノード1の作業完
成ポインタ・フィールド516で示した様に相対レコー
ド5中に存在する。
作業ノード1の作業完成ポインタ・フィールド516は
常に作業ノードlの待ち行列の終りを示している。
相対レコード5は管理作業要素568−26を含む。管
理作業要素568−26は作業ノード1の待ち行列であ
る待ち行列2中の6番目の要素である。管理作業要素5
68−26の相対レコード番号フィールドは相対レコー
ド12を指示する逆ポインタを含み、相対レコード12
が作業ノード1のLIFO待ち行列の次の管理作業要素
を含む事を示している。
相対レコード12に存在する管理作業要素582−25
は相対レコード番号フィールド544中に11を含み、
従って相対レコード11に存在する管理作業要素580
−24を指示している。管理作業要J 580−24の
相対レコード番号フィールド544は10を含み、これ
によって作業ノード1の待ち行列の次の管理作業要素で
ある管理作業要素578−23を含む相対レコード10
を指示している。
相対レコード10中に存在する管理作業要素578−2
3の相対レコード番号フィールド544は作業ノード1
の待ち行列中の次の管理作業要素として相対レコード2
を指示するポインタを含んでいる。相対レコード2は管
理作業要素562−22を含んでいる。管理作業要素5
62−22は相対レコード番号フィールド544中に1
4を含み、相対レコード14に存在する管理作業要素5
86−21の相対レコード番号フィールド544はOを
含み、管理作業要素586−21が作業ノード1の待ち
行列の終りである事を示している。
作業ノード2もQDSIO中に待ち行列を有する。作業
ノード2の待ち行列は制御レコード500中の作業ノー
ド2の作業完成ポインタ・フィールド520で示した様
に相対レコード17で開始する8作業ノード2の作業完
成ポインタ・フィールド520は常に作業ノード2の待
ち行列の終りを指示している。管理作業要素592−3
2の相対レコード番号フィールド544は8を含み、こ
の待ち行列中の次の管理作業要素が相対レコード8中の
管理作業要r4574−31である事を示している。管
理作業要素574−31の相対レコード番号フィールド
544はOを含み、この要素が記憶ノードによって作業
ノード2の作業完成待ち行列中に置かれた最初の要素で
あり、この要素が作業ノード2の待ち行列の最後の管理
作業要素である事を示している。作業ノード2の待ち行
列は従って夫々相対レコード17及び8中に記憶された
管理作業要素592−32及び574−31だけを含ん
でいる。
従ってQDSIOは3つの個別の待ち行列、即ち記憶ノ
ードのための予定作業行列、作業ノード1のための作業
完成待ち行列及び作業ノード2のための作業完成待ち行
列を含んでいる。これ等の待ち行列は表に示した様にQ
DSIOの相対レコード1及至17を通る順次進行に関
して介在している。これ等の待ち行列をなす管理作業要
素はポインタによって相互に連結しているので、待ち行
列からはずされもしくはこれに追加される管理作業要素
はQDSIO中の任意の利用可能な記憶位置に置く事が
出来る。従ってQDSIO内の待ち行列は非同期的に形
成される0例えば、相対レコード9.13及び16は上
述の3つの待ち行列のどれにも属さない。これ等の相対
レコードは作業ノードが記憶ノードの待ち行列上に置く
管理作業要素を受取るのに利用出来る。
上述のID作業ノード1、作業ノード2及び作業ノード
3は第1A図のCPU200.210及び220をさす
。しかしながらシステム15内の任意CPUが作業ノー
ド1.2もしくは3として指定出来る。
E9.管理作業要素の待ち行列化 待ち行列に管理作業要素を追加するためには制御レコー
ド500のビット割振りマツプ522を走査する。ビッ
ト割振りマツプ522はQDSIO内の制御レコード5
00を含む各レコードのための1ビツトを含んでいる。
もし対応するレコードが管理作業要素を含んでいるなら
ば、ビット割振りマツプ522中のビットは1であり、
対応するレコードが利用可能であって管理作業要素を受
取る事が出来るならばそのビットはOである。QDSI
Oの最初のレコードは管理作業要素を受取る様には利用
出来ない、それは上述の様に制御レコード500が制御
データのために特別に取っておかれているからである。
従ってビット割振りマツプ522中の最初のビットは常
に1である。
ビット割振りマツプ522の第2のビットは管理作業要
素560−14を含む相対レコード1に対応し、従って
活動状態にある。従ってビット割振りマツプ522の第
2のビットは1である。ビット割振りマツプ522の第
3のビットは相対レコード2に対応する。相対レコード
2は管理作業要素562−22を含み、従ってビット割
振りマツプ522の第3のビットも1である。
ビット割振りマツプ522の第10番目のビットは活動
状態の管理作業要素を含まない相対レコード9に対応す
る。従ってビット割振りマツプ522の第10ビツトは
Oを含み、対応する相対レコード、即ち相対レコード9
は管理作業要素を記憶する事が出来る。この管理作業要
素は作業ノードによって記憶ノード待ち行列上に置く事
が可能である。さらに、相対レコード13に対応するビ
ット割振りマツプ522の第14のビットも0である。
この事は相対レコード13も利用可能である事を示す、
同じ様に、ビット割振りマツプ522の第17のビット
もOであり、相対レコード16が利用可能な事を示して
いる。
管理作業要素を置く事の出来る相対レコードを探索する
ために、作業ノードはビット割振りマツプ522の下位
から2番号のビットから始めて。
0を発見する迄ビット割振りマツプ522の上位のビッ
トに向って探索する。マツプ522中で遭遇する最初の
0に対応する相対レコードが作業ノードによって使用出
来る。上山のQDS表の例では、遭遇する最初のOは相
対レコード9に対応するビット割振りマツプ522の1
0番目のビットである。従って管理作業要素を記憶ノー
ドの予定作業待ち行列に追加する時には1作業ノードは
管理作業要素を相対レコード9に記憶する。管理作業要
素を待ち行列に加えた直後に探索を行っている他の作業
ノードは、その最初のOをビット割振りマツプ522の
14番目のビットに見出し、従ってその管理作業要素を
相対レコード13に記憶する。
管理作業要素を記憶ノード待ち行列の相対レコード9に
追加するために、作業ノードはデータを相対レコード9
の適切なフィールドに記憶する。
このデータはフィールド542中に記憶されるホストI
D及びMWEFUNCフィールド548中に記憶される
要求機能を含む。管理作業要素576−00の相対レコ
ード番号フィールド544に導入されるデータを決定す
るために、作業ノードは制御レコード500の記憶ノー
ド予定作業ポインタフィールド512をアクセスする。
予定作業ポインタ・フィールド512は記憶ノード待ち
行列に追加された最後の管理作業要素を指示するポイン
タを含んでいる。この最後に追加された管理作業要素は
新らしく追加される管理作業要素が指示する事によって
連鎖になる要素である。
従って、予定作業ポインタ・フィールド512が読取ら
れ、その内容が管理作業要素576−00の相対レコー
ド番号フィールド544中に記憶される。管理作業要素
576−00を記憶ノード待ち行列に加える作業ノード
は次に記憶ノードの予定作業ポインタフィールド中に、
作業ノードがその管理作業要素を挿入した相対レコード
の番号を記憶させなければならない、従って作業ノード
は制御レコード500のポインタ・フィールド512に
9を記憶させる。
さらに作業ノードはビット割振りマツプ522の第10
ビツトに1を書込んで、その管理作業要素を記憶した相
対レコードが活動状態にある事を示さなければならない
。作業ノードが管理作業要素を待ち行列に追加した後、
要素の参照番号は576−00から576−17に変る
。それはこの管理作業要素576−17が待ち行列1、
即ち記憶ノード待ち行列の第7番目の要素であるからで
ある。
Elo、初期設定処理 第3図を参照すると、本発明の方法のフローチャートが
示されている。IH3M環境で実行するホスト計算機が
起点600で開始する初期設定処理プロセスを遂行する
。IHSMを呼出す時、オペレータが起点パラメータを
与える。これ等のパラメータはプログラム初期設定兼パ
ラメータ処理ブロック610中で処理される。プログラ
ム初期設定は内部制御ブロックの作成とホスト・プロセ
ッサIDの決定を含む。この初期設定過程は複合システ
ムの各ホスト・プロセッサ毎に独立して実行される。も
しスタートアップがコールド・スタートの時は、任意の
作業ノードの手順の前に記憶ノードの手順をブロック6
10で遂行する。もしコールド・スタートで記憶ノード
の前に作業ノードが開始すると、これは無効条件となり
、終了する。
決定ブロック620で初期設定プログラムを遂行するホ
スト・プロセッサが作業ノード(WN)であるか記憶ノ
ードであるかを示す決定がなされる。ホスト・プロセッ
サが作業ノードである時は、決定ブロック620の決定
は背定(YES)であり、ブロック630が実行される
。ブロック630では、オペレータ通信がセットアツプ
される。
多重プロセッサ複合システム内の各ホスト・プロセッサ
はそれ自身のオペレータ通信を処理する個別のタスクを
有する。従って、各ホスト・プロセッサはそのホスト環
境を正しく同定してI 88Mに伝えなければならない
ブロック640において、オペレータが供給した、初期
設定されつつある作業ノードのための特定の起点パラメ
ータが処理される0例えば、オペレータが供給する1つ
のパラメータは遂行されつつある起点パラメータの型で
ある。起点は待ち行列データ・セット(QDS)10中
の待ち行列の依存してコールド・スタート、ウオーム・
スタートもしくはホット・スタートである。
もしすべての待ち行列は無効である事が推定され、わか
るとコールド・スタートがオペレータによって導入され
る。この処理はQDSIOのすべての管理作業要素をコ
ールド・スタート中に破壊するので、極めて手荒な手段
である。ホット・スタートでは、すべての待ち行列は有
効である事が推定され、わかっている。ウオーム・スタ
ートではQDSIO内の待ち行列は待ち行列内のポイン
タを検査する事によって検証される。ポインタに対する
この検査以外でも、現在の待ち行列有効である事が推定
出来る。ウオーム・スタート中には新らしい待ち行列が
追加出来る。
ブロック640でオペレータによって供給出来る他のパ
ラメータは作業ノードのアクセス・タイマの接続時間で
ある。作業ノードのアクセス・タイマの持続時間はQD
SIOへのアクセス間で作業ノードが待機しなければな
らない時間を決定する。タイマはノードQDSIOを解
き放つ時にスタートし、ノードはタイマが時間切れにな
る迄再びQDSIOをアクセス出来ない、初期設定中の
各ノードのタイマの接続時間を変更する事によってIH
3M内のQDSIOへのアクセスの微調整が出来る。
ブロック650において、作業ノードは待ち行列の初期
設定を遂行する。待ち行列の初期設定を遂行するために
、作業ノードは以下説明される動作の外に、QDSIO
をオープンして、そのホスト・プロセッサIDを空いて
いる作業ノード・セグメント中に置く。例えば、初期設
定中の作業ノードが作業ノード1であるならば、そのホ
ストIDが制御レコード500内の作業ノード1のセグ
メント504の作業ノード1のIDフィールド514へ
書込まれる。
決定ブロック620によって判明する様に、ホスト・プ
ロセッサが記憶ノードである時には、ブロック660が
遂行される。ブロック660では、記憶ノードは3つの
制御データ・セット、即ちバックアップ制御データ・セ
ット(BCDS) 、移送制御データ・セット(MCD
S)及びオフライン制御データ・セット(OCDS)を
オープンする。これ等の制御データ・セットが通常のV
SAMのキイによる順次データ・セットである。ブロツ
ク660の動作は通常の様に既存の制御データ・セット
をオープンするだけである。もしこれ等のファイルが既
存でないか、正しく初期設定されない時は、記憶ノード
が誤りを発生して終了する。
ブロック670で第1A図に関連して説明した空間をセ
ットアツプする。ブロック680で出口リストが処理さ
れる。ブロック670.680の動作は上述の参考文献
に説明された様に従来のH3Mによって遂行される。
ブロック690で、HSM機能のサブタスクが接続され
る。これ等のサブタスクはマイグレーション制御タスク
、リコール、回復、及びバックアップ、復元、削除及び
回収の様な他のタスクにも含まれるタスクを含む、これ
等は実際にはユーザの要求もしくはシステムのプロトコ
ールによって要求される時に1つのボリウムから他のボ
リウムにファイルを移動する機能を遂行する。
ブロック700において、記憶ノードはブロック630
で作業ノードがオペレータの通信をセットアツプした様
にオペレータ通信をセットアツプする。同様に、ブロッ
ク710で、記憶ノードはその起点パラメータを処理す
る。ブロック710で記憶ノードが処理するパラメータ
の範囲はブロック640で事業ノードが処理する範囲よ
りもかなり広い、それは作業ノードが処理するパラメー
タが記憶ノードのパラメータの部分集合だからである。
記憶ノードがブロック710で処理出来る起点パラメー
タの例は、IH3Mが管理するボリウムを決定するAD
VOL指命である。さらに、IH3M内の自動的処理で
処理するルーチンである5ETSYSに関連するパラメ
ータがブロック710で記憶ノードによって処理される
。5ETSYSパラメータの例は2次記憶装置に移送す
る迄はデータ・セットが(アクセスされないで)上位レ
ベルのDASDに存在する日数である。
起点パラメータの処理に続いて、待ち行列(θ)初期設
定がブロック720で遂行される。記憶ノードの待ち行
列初期設定は、以下詳細に説明する様にQDS 10を
オープンし、記憶ノードのホストよりを制御レコード5
00内の記憶ノード・セグメントの記憶ノードIDフィ
ールド510に置く、ブロック720から実行は他頁結
合子730を介して第4図の頁結合子735に続く。
オン頁結合子735に続く決定ブロック740において
、IH3Mを遮断するかどうかの決定がなされる。この
決定はIHSM内の複数の点で種々の理由でセットされ
る終了フラッグを知る事によって行われる。終了フラッ
グをセットする最もありふれた方法は停止指令のオペレ
ータ導入である。オペレータの停止指令は各異なるノー
ドのオペレータ・タスクによってトラップされ、もしタ
スクが遮断モードにあるならばそれ自身の内部制御ブロ
ック・フラッグをセットする。さらに、以下詳細に説明
する様に終了フラッグをセットする種々の誤り条件が存
在する。しかしながら、決定ブロック740では金子フ
ラッグの起点は問題にしない、もしこのフラッグがオン
の時は、ブロック750を遂行する。
ブロック750において、IH8M機能のブロック69
0で接続したIH5M機能サブタスクが消去され、正常
遮断の手順が遂行される。ブロック760で開始して、
BCDS、MCDS及び○CDSを含むすべてのIH3
M制御データ・セットがクローズされる。QDS 10
はブロック770で、IH5Mはブロック780で終了
し、このタスクは停止790で完全に解消する。
決定ブロック740で遮断しないという決定がなされる
と、実行は他頁結合子800から第5図の頁結合子80
5に進行する。オン頁結合子735から決定ブロック7
40のNo経路を通り他頁結合子800に至る経路はホ
スト・プロセッサがH3Mの主ループを実行するたびに
たどる経路である。この経路は通常の処理ループである
第5図を参照するに、実行がオン頁結合子805で導入
すると、決定ブロック810で再びこのホスト・プロセ
ッサが作業ノードであるかもしくは記憶ノードであるか
の決定がなされる。もしホスト・プロセッサが作業ノー
ドならば実行はYES経路をたどり、決定ブロック82
0で作業ノードのなすべき作業があるかどうかの決定が
なされる。
なすべき作業(予定作業)が存在するかどうかの決定は
バッチ・ジョブの様なユーザ・タスクがIH5Mに要求
を提示した時にセットするフラッグを調べる事によって
行われる。これ等の環境の下に、管理作業要素が作成さ
れ、共通の記憶装置中の待ち行列にされ、IH3Mへの
仮想記憶装置間通知がなされる。このIH3Mへの通知
は決定ブロック820でフラッグとして読取られる。こ
のフラッグは又作業ノードのアクセス・タイマによって
もセットされ、作業ノードによるQDS 10の定期的
な検査が保証される。もし作業ノードに遂行する作業が
ない場合には、実行はブロック920に分岐する。決定
ブロック820でこのフラッグを調べる事によって予定
作業がある事が決定されると、作業ノードはブロック8
30で管理作業要素(WNE)を検索して処理する。
以下より詳細に説明する様に、ブロック830中の管理
作業要素の処理は処理すべき管理作業要素をQDS 1
0内の記憶ノード待ち行列中に並べる事を含む、さらに
、作業ノードはQDSloをオープンして管理作業要素
を待ち行列にしている間に、現在完成している管理作業
要素のうち任意のものの待ち行列を解消する(ブロック
850)。
もし決定ブロック810でホスト・プロセッサが作業ノ
ードでない事が決定されると、このポスト・プロセッサ
は記憶ノードでなければならず、決定ブロック860で
記憶ノードが遂行する作業が存在するかどうかの決定が
なされる。記憶ノードに遂行する作業がない場合には、
記憶ノードはブロック920で現在の処理ループ中に導
入されたコンソール指令を処理する。もし記憶ノードに
遂行すべき作業がある時は、記憶ノードはブロック87
0で管理作業要素を検索して処理する。
決定ブロック860で検査して記憶ノードになすべき作
業ノードのための作業が存在するかどうかの決定をする
フラッグは記憶ノードのアクセス・タイマによってセッ
トされ、記憶ノードがQDSloの待ち行列を周期的に
検査出来る様になっている。ブロック870内の管理作
業要素の処理は記憶ノードの予定作業待ち行列から管理
作業要素を検束し、記憶ノードの汎用待ち行列に並べる
事を含む。
管理作業要素はその管理作業要素内の要求に基づいて適
切なサブタスクに指名される。管理作業要素のサブタス
クへの指名はサブタスクの予定作業待ち行列に通知され
る。
サブタスクが管理作業要素によって要求された機能を完
成すると、この事は管理作業要素に通知される。管理作
業要素が完成したものとして通知されると、記憶ノード
がこれ等を検束して、これをブロック910中で記憶ノ
ードの汎用待ち行列中に置く。又ブロック910中で記
憶ノードは記憶ノードの汎用行列から管理作業要素をは
ずし。
これをQDSlo中の発生した作業ノード待ち行列中に
置く。
ブロック910の管理作業要素の検束及び完成に続き、
ブロック920中でコンソールがポーリングされる。こ
れはオペレータからのコンソール指令(cMD)をIH
5Mが受取って、処理する手段である。この段階は処理
ループの各パスを実行し、ループの最後のパスの後にコ
ンソールのオペレータが指令を導入したかどうかを決定
する事によって実行される。
IH5Mはブロック930でなすべき作業1作業完成指
令、そのタイマの時間切れ、もしくは記憶ノード内の予
定作業の発生を待つ。IH3Mがブロック930で待機
している間に記憶タスクは処理を続ける。ブロック93
0に続く他頁結合子737は第4回の上述のオン頁結合
子735に続く。この結合によって主処理ループが完了
する。
EIO−1,作業ノード初期設定 第6図を参照するに、作業ノード初期設定のフローチャ
ートが示されている。この図は第3図の作業ノード待ち
行列初期設定ブロック650の詳細を示すブロック図で
ある。実行はブロック640からブロック940に続き
、ここでQDS 10をオープンする。ブロック940
のQDSIOのオープンはVSAMに関連するレコード
・データ・セットの通常のオープンである。ブロック9
50で、QDSIOはこれをオープンした作業ノードに
よって予約される。QDSの予約は、プロセッサ間の相
互作用を防止する機構であり、作業ノードが初期設定さ
れつつある間にQDSが記憶されているハードウェアへ
の入力及び出力を防止する。
従って作業ノードが、続く初期設定プロセスを完成する
間にすべての他のプロセッサはDASDからブロック・
アウトされる。
初期設定を行っている事業ノードによってすべての他の
プロセッサ間ブロック・アウトされている間に、作業ノ
ードはブロック960でQDSloの相対レコード(R
R)Oを読取る。QDSloの相対レコードOは上記表
に示した様に制御レコード500である。制御レコード
500内のフィールドの1つは記憶ノードIDフィール
ド510である。決定ブロック970で初期設定中の作
業ノードは記憶ノード(SN)IDフィールド510中
にOを含んでいるかどうかを決定する。
記憶ノードIDフィールド510がOを含んでいる場合
には、活動状態ノードは存在せず、ブロック1020に
Oに示した誤り条件が存在する。ブロック1020で、
QDSIOはクローズされ。
解放されて、実行は終了1030で終了する。
もし5NIDが非Oならば、決定ブロック980で処理
の起点がコールド・スタートであるかどうかの決定がさ
れる。決定ブロック980の決定はオペレータが与えブ
ロック640で処理したパラメータに基ずいてセットさ
れるフラッグに基づいている。もしシステムがコールド
・スタートを行っている場合には、作業ノードは決定ブ
ロック1040でその作業ノード(WN)セグメントが
存在するかどうかの決定をする。作業ノード・セグメン
トはQDSlo内の制御レコード500のセグメントで
あり、作業ノードのIDフィールド及びその作業ノード
の待ち行列の最後の管理作業要素を示すポインタを含ん
でいる。
決定ブロック1040で初期設定を行っている作業ノー
ドの作業ノード・セグメントが存在する事が決定される
と、誤りが存在する。それはコールド・スタートでは既
存の作業ノード・セグメントが存在してはいけないから
である0例えば作業ノードがこの時点でそのIDが既に
作業ノード・セグメント中に存在する事を見出すと、こ
の事はホスト・プロセッサIDが2重になっている事を
示す、従ってブロック1020に示した様な誤り条件が
存在し、QDSIOがクローズされ、解放され、実行は
上述の様に終了1030で終了する。
決定ブロック1040で決定した結果1作業ノード・セ
グメントが存在しない場合には、初期設定処理を遂行す
る作業ノードのホストIDが利用可能であり実行は次項
結合子1050へと進む。
もし起点が決定ブロック980によってコールド・スタ
ートでない事がわかると、決定ブロック990で起点が
ホット・スタートであるかどうかの決定がなされる。
決定ブロック1060で起点がホット・スタートである
事が決定されると、決定ブロック1060で初期設定を
行っている作業ノードに対応する作業ノード・セグメン
トが存在するかどうかの決定がなされる。もし作業ノー
ド・セグメントが存在しない場合には誤り条件が存在す
る。それはホット・スタート中には作業ノード・セグメ
ントが既に存在しなければならないからである。従って
実行は上記の場合と同様に、ブロック1020に進む。
そうでない場合には、実行は次頁結合子1070に進む
もし起点が決定ブロック980で決定される様にコール
ド・スタートでもなく、決定ブロック990によって決
定される様にホット・スタートでもない時は、起点はウ
オーム・スタートである。
ウオーム・スタート中に初期設定を行っている作業ノー
ドに対応する作業ノード・セグメントが存在するかどう
かの決定がなされる。この決定は決定ブロック1000
でなされる。作業ノード・セグメントが存在すると、実
行は次頁結合子1070に進む。
もし作業ノード・セグメントが存在しないと、決定ブロ
ック1010で作業ノードがそのホストIDを書込む事
が出来る空きの作業ノード・セグメントが存在するかど
うかの決定がされる。空きのセフメン1−が存在しない
時は1作業ノードはそのIDを置くセグメントがない。
従って実行は上述の様に、ブロック1020に進む。も
し空きのセグメントが存在すると、実行は次頁結合子1
080に進む。
次に第7図を参照するに、第6図のフローチャートの続
きが示されている。第6図の次頁結合子1050は第7
図の頁結合子1055と接続する。
この経路は起点がコールド・スタートで初期設定中の作
業ノードの作業ノード・セグメントが既に存在しない時
に作業ノードかたどる経路である。
従って、ブロック1090において、作業ノードはその
ホスト・プロセッサIDを利用可能な作業ノード(WN
)セグメント中に置く。例えば初期設定中の作業ノード
が作業ノード1である時には、ホスト・プロセッサID
は制御レコード500の作業ノードIDフィールド51
4中に置かれる。
もし、初期設定中の作業ノードが作業ノード2である時
には、そのホスト・プロセッサIDはフィールド518
中に置かれる。
利用可能な作業ノード・セグメント中に新らしい作業ノ
ード・ホストIDを含む更新制御レコード500はブロ
ック1100でQDS IOへ書込まれる。ブロック1
150で、QDSIOはこの作業ノードから解放され、
ブロック940でQDSloをオープンした作業ノード
のアクセス・タイマが始動する。これによってQDSl
 0は複合システム中の他のノードに利用可能になり、
解放した作業ノードはそのアクセス・タイマが時間切れ
になる迄QDS10にアクセス出来なくなる。
第6図の次頁結合子1070は第7図の頁結合子107
5に接続する。この経路は起点がウオームもしくはホッ
ト・スタートであり、初期設定処理を遂行している作業
ノードのための作業ノード・セグメントが既に存在する
時にたどられる。この状態は作業ノードがダウンになり
、記憶ノードが走行を続けている時に再びアップに戻っ
た時に生ずる。この様な情況の下でこの作業ノードのた
めに動作出来る状態になかった記憶ノードは作業を完成
する事が可能になる。
任意の管理作業要素の作業が作業ノードのダウン中に完
成した事を決定するために、初期設定中の作業ノードは
決定ブロック113o中でその作業ノード・セグメント
中のポインタが0であるかどうかを決定する。もしポイ
ンタがOでない場合には除去される作業がその待ち行列
中にある。さらに初期設定中の作業ノードはブロック1
140に示した様に記憶ノード待ち行列に予定作業を通
知する。
決定ブロック1010中で決定される様にウオーム・ス
タートでは空きセグメントが存在し1、実行は次頁結合
子1080からオン頁結合子1085を介してブロック
1110に進む。ブロック1110で作業ノードは上述
の様にそのホストIDを利用可能な作業ノード・セグメ
ントに書込む。
更新制御レコード500 (RR○)がブロック112
0でQDS 10に書込まれ、作業ノードはQDSIO
を解放してのそのアクセス・タイマをブロック1150
中でセットし、終了1160で終了する。
EIO−2,記憶ノード初期設定 第8図を参照するに、記憶ノード初期設定処理のフロー
チャートが示されている。第8図は第3図のブロック7
20をより詳細に示したものである。実行はブロック7
10からブロック1170に進み、ここでQDSは作業
ノード初期設定のブロック940で説明した様にオープ
ンされる。又上述した様に、QDSIOはブロック11
8oで予約され、他のプロセッサが記憶ノード初期設定
中にQDSIOと相互作用するのが妨止される。
QDS 10中の制御レコード500がブロック110
中で読取られる。
決定ブロック1200で起点がコールド・スタートであ
るかどうかの決定がなされる。もし起点がコールド・ス
タートならば、QDSloの制御レコード500はブロ
ック1310で0が充填される。制御レコード500中
の各位置を0にする事によって、前回の使用によって制
御レコード500にあった任意の情報が完全に消去され
る。
ブロック1320で、記憶ノードとして初期設定中のホ
スト・プロセッサのIDが制御レコード500内の記憶
ノード(SN)セグメント502の記憶ノードIDフィ
ールド510に書込まれる。
ブロック1330で、時間(タイム・スタンプ)活動フ
ィールド524の時刻が更新され、制御レコード500
がQDS 10中に書戻される。QDSloが解放され
、記憶ノードのアクセス・タイマがブロック1340で
セットされる。ここでコールド・スタートの場合の記憶
ノードの初期設定が終了1350で終了する。
もし記憶ノードの起点が決定ブロック1200によって
コールド・スタートでない事が判明すると、決定ブロッ
ク1210で起点がウオーム・スター1〜であるかどう
かの決定がなされる。もし起点がウオーム・スタートな
らば、決定ブロック1240で制御レコード500の記
憶ノードIDのフィールド510中にある記憶ノードI
DがホストIDと同じであるかどうかの決定がなされる
決定ブロック1240の決定に対する答がNoの時は、
現在記憶ノードとして初期設定されているホスト・プロ
セッサはウオーム・スタートの前に記憶ノードとして働
いていたホスト・プロセッサと異なる(この様な事は希
である。それは所与の複合システムでは通常一つのホス
ト・プロセッサが記憶ノードとして働いているからであ
る)。従ってオペレータへの応答待ち書込み(WTOR
)がブロック1260で遂行される。WTOR手順で、
タスクはオペレータが応答する迄待機する。
もしオペレータがホスト・プロセッサを記憶ノードに強
制する様に決定ブロック1270で決定しない場合には
ブロック1290で誤りルーチンが遂行され、QDSl
oがクローズされ解放され、この初期設定処理が終了1
300で終了する。この誤りの通常の原因は正しくない
ホスト・プロセッサを記憶ノードとして指定した事によ
る。
もしオペレータがそのホスト・プロセッサを記憶ノード
にしなければならない事を指示した場合には、実行は次
頁結合子1280に進む。もし決定ブロック1240で
制御レコード500の記憶ノードIDフィールド510
中の記憶ノードIDがHS Mホスト・プロセッサID
と同じである事がわかると、実行は次頁結合子1250
に進む。
もし、起点がコールド・スタートでもなく(ブロック1
200)、ウオーム・スタートでもない(ブロック12
10)場合には、起点がホット・スタートでなければな
らない。ホット・スタート中に、これと同じホスト・プ
ロセッサが記憶ノー1へ状態を保持していなければなら
ない。従って決定ブロック1220で制御レコード50
0中の記憶ノードIDがT−I S Mのホスト・プロ
セッサのIDと回しであるかどうかの決定がなされる。
フィールド510の記憶ノードIDがホスト・プロセッ
サIDと同しならば、記憶ノードの初期設定は完了して
いるので終了1230で終了する。
第9図を参照するに、第8図のフローチャートの続きが
示されている。決定ブロック1240において記憶ノー
ドIDが83Mホス1−・プロセッサIDと同じ事か決
定されたウオーム・スタートでは、実行は第8図の次頁
結合子1250からオン頁結合子1255を介して、ブ
ロック1360に進む。決定ブロック1270の決定に
従い、このホスト・プロセッサが記憶ノードになる場合
には、実行は第8図の次頁結合子1280からオン頁結
合子1285を介してブロック1450で記憶ノード・
セグメント中にホストIDが置かれる。
ブロック1360で制御レコード500の割振りビット
・マツプ522を左から右に走査して、制御レコード5
00自体に対応するビットの次の最初の1を発見する。
この最初の1はQDSIOの最初の活動状態にある管理
作業要素の位置を示している。割振りビット・マツプ5
22中のこの1ビツトの位tRは最初の活動状態の管理
作業要素を含むQDSlo内の相対レコードの番号を示
す。
決定ブロック1370中で、管理作業要素(MWE)が
見出されたかどうかの決定がなされる。
従って全割振りビット・マツプを走査して1を発見しな
かった時は決定ブロック137oの決定に対する答えは
NOであり、全QDSIOは空きである。ウオーム・ス
タートでQDS 10が空きであると、活:?l+時間
フィールドの時刻がブロック1420で更新され、制御
レコード500がQDSloの相対レコード0中に11
ト戻される。ブロック1430でQDSIOは解放され
、記憶ノードのアクセス・タイマが始動する。終了14
40はウオーム・スタートに基づく記憶ノードの初期設
定が成功裡に完成した事を示す。
管理作業要素が見出されると(ブロック137・0)、
決定ブロック1380でその管理作業要素が完成した管
理作業要素であるかどうかの決定がなされる。管理作業
要素が完成していると、これはブロック1390で正し
い作業ノード作業完成待ち行列中に置かれる。もし管理
作業要素が完成していないと、管理作業要素は記憶ノー
1−の汎用待ち行列中に置かれる。
管理作業要素が完成していて作業ノード作業完了待ち行
列中に置かれるか、もしくは完成していなくて記憶ノー
ドの汎用待ち行列中に置かれるかにかかわりなく、ブロ
ック1400中で制御レコード500の割振りビット・
マツプ522が走査され、次の管理作業要素が発見され
る。実行は決定フロック1370にループ・バックして
、この中で他の管理作業要素が存在するかどうかの決定
がなされる。他の管理作業要素が存在しない場合には、
実行は上述の様に終了1440に進む。もし管理作業要
素が見出されると、再び決定ブロック1380中でこれ
を作業ノード待ち行列に置くか、記憶ノードの汎用待ち
行列中に置くかの決定°がなされ、再びブロック140
0中で割振りビット・マツプ522が走査される。
このループはQDS 10中のすべての管理作業要素が
探知される迄続く。この動作がウオーム・スタートの記
憶ノード初期設定中になされるのは、QDSlo内の成
る管理作業要素が完成していて、他の管理作業要素は完
成していないが、後の動作のためにすべての完成管理作
業要素を夫々の作業ノード待ち行列中に置き、完成して
いないすべての管理作業要素を記憶ノード待ち行列中に
並へつくすための終結処理が必要だからである。
E111作業ノ作業ノード待要素検索 第10図を参照するに、第5図のブロック830内の動
作の詳細なフローチャートが示されている。ブロック8
30中では1作業ノードが検索され、処理される。実行
は決定ブロック820から決定ブロック1460に進行
し、作業ノードのQDSアクセス・タイマが時間切れに
なっているかどうかが決定される。もし、作業ノードの
アクセス・タイマが時間切れになっていないと、作業ノ
ードはまだQDSIOにアクセス出来ず、終了1540
に出る。
もし作業ノード・アクセス・タイマが時間切れになって
いると、作業ノードはブロック1460に示した様にそ
れ自身の汎用待ち行列をロックしている。これによって
作業ノード内で走行中の他のタスクは作業ノード待ち行
列にアクセス出来ず作業ノード管理作業要素を検索する
。(作業ノードが管理作業要素を検索している間に汎用
待ち行列へのアクセスを許すと、待ち行列にする処理が
遮げられる)。ブロック1480で管理作業要素を検索
する作業ノードはQDSloを予約し、他のホスト・プ
ロセッサをQDS IOからロック・アウトする。ブロ
ック1490で作業ノードはQDSIOから制御コート
500を読取る。
次に作業ノードはQDSIOの制御レコード500内の
作業ノード・セグメントを探索する。決定ブロック15
00中で作業ノードがその作業ノード・セグメントを発
見したかどうかの決定がされる。作業ノードがその作業
ノード・セグメントを見つけ得なかった場合には、誤り
条件が存在し、ブロック1560で作業ノード汎用待ち
行列がロックされ、解放されて、処理は終了1570で
終了する。
上述の様に1作業ノードはQDS 10をアクセスする
毎に、この誤り検査を行い、例えば媒体の故障によるQ
DS 10中の情報の破壊を検出する。
作業ノードが検査した作業ノード・セグメントが正確で
ある事がわかると、QDSlo内の他のデータが正しい
という高い確信がもてる。それは多くの故障は全レコー
ドを破壊し、成るフィールドを破壊して他のフィールド
を完全に残すという様な事がないからである。
作業ノード・セグメントが決定ブロック1500中で見
出されると、決定ブロック1510で制御レコード50
0の記憶ノードIDフィールド510が0を含むかどう
かの決定がなされる。フィールド510のO値は記憶ノ
ードが不活動状態にあり、ブロック1560中で誤り条
件が発生されて作業ノードの汎用待ち行列がクローズさ
れ、解放される。
記憶ノードIDフィールド510が0でない場合には、
ブロック1520で時間活動フィールド524中の時刻
を調べて、経過時間が(例えば)5分以内であるかどう
かを知る。記憶ノードはQDSIOをアクセスする度に
フィールド524中の活動時間を更新しているので、時
間が5分以上経っているという事は記憶ノードがかなり
の時間QDSをアクセスしていない事を示し、記憶ノー
ドの故障の様なシステムの故障がある事を示す。
もし長時間の経過が発見されると(おそらく記憶ノード
待ルド出来ない事を示す)、ブロック1580でオペレ
ータへの返答待ち書込み(WTOR)が行われる。さら
に決定ブロック1520が時間が5分以上経っている事
を決定した時に処理中の管理作業要素があって、オペレ
ータがWTORに取消し指令で応答する時は管理作業要
素は取消さ九る。オペレータの応答が続けよであれば、
管理作業要素は消去されない。時間が5分以上経ってい
ない時は、実行は次頁結合子1530に続く。
第11図を参照するに、頁結合子1535は第10図の
次頁結合子1530に継っている。決定ブロック159
0で、作業ノード汎用待ち行列から受取った管理作業要
素が既にQDSIO内の記憶ノード待ち行列中にあるか
どうかの決定がなされる。作業ノード汎用待ち行列は予
定作業をタスク指名し、完成した作業を受取るための汎
用記憶装置である。従って作業ノード汎用待ち行列内の
種々の管理作業要素は、これを記憶ノード待ち行列中に
It¥<べきか、もしくはこれに戊に置かれているかも
しくは記憶ノードによって既に処理されたかを決定しな
ければならない様な種々の状態にある。
例えば、作業ノード汎用待ち行列内の管理作業要素には
QDS IOに通知されるのを待っているか、QDS 
10に通知されてはいるが完成していないか、完成して
検索されたが、削除されていないものがある。管理作業
要素が既にQDSIOに存在する時には実行は決定ブロ
ック1660に分岐し、ここで作業ノード汎用待ち行列
中にさらに管理作業要素(WNE)が存在するかどうか
を示す決定がなされる。
もし作業ノード汎用待ち行列中の管理作業要素が、決定
ブロック1590で判明する様に、予じめQDS IO
中になければ、決定ブロック1600で管理作業要素が
削除可能であるか、待機型の作業要素であるかどうかが
決定される。要素が削除可能であるならば管理作業要素
はブロック1700において除去され、実行は決定ブロ
ック1660に進み、さらに管理作業要素が存在するか
が決定される。ブロック1700での除去は作業ノード
汎用待ち行列から管理作業要素を取除き、取除かれた管
理作業要素は要求者に戻される。
決定ブロック1600によって判明する様に、管理作業
要素が待機型で削除型でなければ、決定ブロック161
0で作業ノード汎用待ち行列中の管理作業要素がQDS
IO内の記憶ノード予定作業待ち行列中に並べなければ
ならないかどうかの決定がなされる。もし考察中の管理
作業要素が局所的に処理される作業ノード要求であれば
、決定ブロック1610の決定に対する答はNoであり
、実行は上述の如く決定ブロック1660に進む。
考慮中の管理作業要素が、決定ブロック1610で決定
された結果、記憶ノード予定作業待ち行列に加えなけれ
ばならないものである時は、QDSIO内の割振りビッ
ト・マツプ522がブロック1620で走査され、マツ
プ522内の相対ビット位置のOによって示される最初
に利用出来る相対レコードを発見する。ブロック162
0の走査で利用可能なレコードが発見されると、管理作
業要素がブロック1630でその利用可能なレコ−ト中
に保管される。
この管理作業要素はQDS 10中の記憶ノード予定作
業待ち行列中に並べられるが、この時記憶ノード・ポイ
ンタ・フィールド512中に存在する相対レコード番号
を並べられた管理作業要素の相対レコード番号フィール
ド544に書込み、管理作業要素が挿入されたレコード
の相対レコード番号を制御レコード500の記憶ノード
・ポインタ・フィールド512に書込む。ブロック16
30に示す様に管理作業要素を配列した時、実行はブロ
ック1670に進み、更新制御レコード500をQDS
IOに書戻す。この動作が必要なのは。
作業ノードは管理作業要素を記憶ノード待ち行列に加え
た時に、制御レコード500のポインタ・フィールド5
12を更新するが、この情報を変更した時にQDSIO
に書込んで、作業ノード汎用行列の処理が完成する前に
この実行が割込まれた場合にQDSIOの完全性を保持
しなければならないからである。
決定ブロック1640で、記憶ノード予測作業待ち行列
に加えられた管理作業要素が非待機型管理作業要素であ
るかどうかの決定がなされる。管理作業要素が待機型の
管理作業要素である場合には、実行は決定ブロック16
60に進み、上述の様に作業ノード汎用作業要素中にさ
らに管理作業要素が存在するかどうかの決定がなされる
。もし記憶ノード待ち行列に加えられる管理作業要素が
決定ブロック1640で判明する様に非待機型の管理作
業要素である時は、記憶ノード予定作業待ち行列に加え
た管理作業要素はブロック1650で作業ノード汎用待
ち行列からはずされる。管理作業要素が非待機型の要素
である時には、作業ノードはこれを待っていないので、
記憶ノードは作業ノード待ち行列中に応答を置く必要は
ない。
ブロック1650で作業ノード混打待ち行列から管理作
業要素をはずした後、実行は決定ブロック1660に進
みここで作業ノード汎用待ち行列中にさらに管理作業要
素が存在するかどうかの決定がなされる。作業ノード混
打待ち行列中にさらに管理作業要素が存在する時は、ル
ープが繰返されて、決定ブロック1590から始まって
、ここで作業ノード汎用待ち行列中の次の管理作業要素
が既に存在するかどうかが決定される。
このループは記憶ノードの予定作業待ち行列中に置かれ
るべき作業ノード汎用待ち行列のすべての管理作業要素
が処理される迄繰返される。すべてのこの様な管理作業
要素が処理された時、実行は決定ブロック1660から
次頁結合子1680に進む。この時、作業ノードは管理
作業要素を記憶ノード待ち行列中に置き終え、次頁結合
子1680を介して、完成した管理作業要素を記憶ノー
1〜から検索して戻す段階に進む。完成した管理作業要
素は記憶ノードによって各作業ノードの作業完了待ち行
列中に置かれる。
E120作業ノード−管理作業要素の完成第12図を参
照するに、管理作業要素を検索する第5図のブロック8
50の機能のより詳細なフローチャートが示されている
。作業ノードがその管理作業要素を記憶ノード予定作業
待ち行列中に置き、完成した管理作業要素をその作業完
成待ち行列から検索する用意が出来た時、実行は第11
図の次頁結合子1680から頁結合子1950に進む。
ブロック1960で、作業ノードの作業完成ポインタが
保管される。例えば、この処理を実行している作業ノー
ドが作業ノード1である時には、QDSIOの制御レコ
ード500のポインタ・フィールド516が保管される
。この処理を作業ノード2が処理している時は、ポイン
タ・フィールド520が保管される。
決定ブロック1970で保管ポインタが0であるかどう
かの決定がなされる。ポインタがOでない時は、作業ノ
ードの作業完成待ち行列は空でなく、記憶ノードが作業
ノードのためのいくつかの管理作業要素を完成している
事を意味している。
これ等の完成管理作業要素は作業ノードによって検索さ
れなければならない。管理作業要素を検索するために、
ブロック2030において、作業ノードはブロック19
60において保管しておいた制御レコード500の適切
なポインタ・フィールドのポイントが指示する管理作業
要素を読取る。
この要、+3は作業ノードの作業完成待ち行列上に最後
にli’tか九だ完成した管理作業要素である。この管
理作業要素がブロック2040でこれを検索してる作業
ノードの汎用待ち行列にコピーされる。
ブロック2040で作業ノードの汎用待ち行列にコピー
した管理作業要素の相対レコード番号フィールド544
は作業ノードの作業完成待ち行列中の次の管理作業要素
を指摘する。このポインタはブロック205oで保管さ
れ、作業ノードが次の管理作業要素をQDSIOから検
索出来る様にする。
作業ノードのバッファ中にある制御レコード500は作
業ノードの待ち行列の次の管理作業要素の相対レコード
番号を適切なポインタ・フィール1’、例えば作業ノー
ド1のためのフィールド516にg込む事によって更新
される。次に制御レコード500はQDSIOに害戻さ
れる。作業ノー1−がその作業完成待ち行列を検索して
いる間にH3Mの動作を突然停止させる様な誤りが生じ
た場合には、この様な手段でQDSloが更新される。
ブロック2060で管理作業要素の呼出者に要求した機
能が完成した事が知らされる。
次に実行は決定ブロック1970に戻り、ブロック20
301’QDSIOから検索した管理作業要素の相対レ
コード番号フィールド544中から読取ったポインタが
0であるかどうかが決定される。ポインタがOでない時
は作業ノードの作業完成待ち行列は空でなく、ブロック
2030.2040.2050及び2060を含むルー
プが繰返される。待ち行列が空きでOに等しいポインタ
がQDS 10から読取った最後の管理作業要素の相対
レコード番号フィールド544中に存在する時は、ブロ
ック1980で作業ノード汎用待ち行列がアドレスされ
る。次に実行は次頁結合子1990に進む。
次に第13図を参照するに、実行は次頁結合子1990
からオン頁結合子2120に導入する。
決定ブロック2070で、作業ノードの汎用待ち行列中
に管理作業要素が存在するかどうかの決定がなされる。
もし存在しない時は、作業ノードは管理作業要素を記憶
ノード予定作業待ち行列中に並へる処理とそれ自身の作
業完成待ち行列から完成した管理作業要素をはずす処理
の両方を完了している。ブロック2130でQDSIO
及び作業ノードの待ち行列が解放される。さらにブロッ
ク2130で、作業ノードのアクセス・タイマが始動す
る。この処理は終了2140で終わる。
ブロック2070で、作業ノード汎用待ち行列中にまだ
管理作業要素が存在すると、決定ブロック2080中で
管理作業要素が完成してQDSlo中に通知されたかど
うかが決定される。管理作業要素が完成していて通知さ
れていると、決定ブロック2090で完成し通知された
管理作業要素の受取りを呼出者が肯定応答したかどうか
についての決定がなされる。もし受43に肯定応答がな
されていると、管理作業要素は完全にQDSIOから除
去され、ブロック2100に示した様に割振りビット・
マツプ522中の対応するビットがOにされ、更新制御
レコード500がQDSIOにg込まれる。次にブロッ
ク2110で管理作業要素は作業ノードの汎用待ち行列
からはずされる。
第13図に示したループは作業ノード汎用待ち行列中に
もはや管理作業要素がなくなる迄繰返され、終了214
0で通常の終了が生ずる。
E13.記憶ノード−予定作業の検索 第14図を参照するに、記憶ノードが処理すべき管理作
業要素を探索する方法の流れ図が示されている。この図
は第5図のブロック870(MWEの検索、処理〕の詳
細である。実行はブロック860から決定ブロック17
10に進み、ここで記憶ノードのアクセス・タイマが時
間切れになっているかどうかの決定がなされる。もし記
憶ノードのアクセス・タイマが時間切れになっていない
時には、記憶ノードはQDS 10にアクセス出来ず、
終了1780で終了する。
記憶ノードのアクセス・タイマが時間切れであると、記
憶ノードはQDSIOへのアクセスが許容され、ブロッ
ク1720で記憶ノード汎用待ち行列をロックして、記
憶ノードがQDSIOをアクセスしている間に記憶ノー
ドで走行中のタスクが汎用待ち行列を妨害しない様にさ
れる。ブロック1730で記憶ノードQDS IOを予
約し、すへての作業ノードを閉出し、ブロック1740
でQDSIOから制御レコード500を読取る。次に実
行は次頁結合子177oを介して他の図面に移る。
第15図を参照するに、実行は次頁結合子1770から
オン頁結合子1775へ進む。決定ブロック1810で
QDSlo中の制御レコード500の記憶ノード・ポイ
ンタ・フィールド512内の記憶ノードの予定作業ポイ
ンタが0であるかの決定がなされる。ポインタ・フィー
ルド512中の記憶ノードの予定作業ポインタが0の場
合には。
記憶ノードの予定作業待ち行列は空きであり、実行はオ
フ頁結合子1890に進行する。さらに決定ブロック1
810でなされる決定はQDSIOの内容を無効にする
媒体の故障を検出するのを助ける。
決定ブロック1810によって記憶ノードの予定作業待
ち行列中に管理作業要素が存在する事が決定されると、
ブロック1820中で予定作業ポインタが保管され、記
憶ノード予定作業ポインタ・フィールド512にOが置
かれる。ポインタ・フィールド512をOにする事によ
って新らしい記憶ノード予定待ち行列が作業ノードによ
り構築出来、この間に現在の予定作業待ち行列は記憶ノ
ードによって処理可能になる。
さらにブロック1820で活動時間フィールド24の時
間が更新される。QDSloを更新したものがブロック
1830で保管され、ブロック1840でQDS 10
が記憶ノードによって解放される。この解放によって作
業ノードはQDSIOにアクセラが可能になり、他の記
憶ノード予定作業待ち行列を非同期的に構築し、完成し
た管理作業要素の検索が可能になる。ブロック1820
で記憶ノードによって保管された記憶ノード・ポインタ
・フィールド512からのポインタによって指示された
管理作業要素がQDS IOから読取られる。この管理
作業要素はブロック1860で記憶ノードの汎用待ち行
列中に並べられる。記憶ノードがQDS 10にアクセ
スしている間に記憶ノードが予定作業待ち行列の処理を
進める事が出来るのは記憶ノードの待ち行列の処理がポ
インタを変更せず、同期的な解放がないからである。
ブロック1870において、ブロック1860で記憶ノ
ード汎用待ち行列中に並べられた管理作業要素の相対レ
コード番号フィールド544が読取られ、待ち行列中に
さらに管理作業要素が存在するかどうかを決定するのに
使用し、もし存在する時は次の要素がどこに存在するか
が決定される。
従って決定ブロック1880では、相対レコード番号フ
ィールド544がOであるかどうかを決定する。
もしポインタがOでなければ、待ち行列中には少なく共
1つ以上の管理作業要素が存在し、実行ループはブロッ
ク1850に戻って、この管理作業要素を読取る。ブロ
ック1850を決定ブロック188oを介して実行する
時は、前の管理作業要素のフィールド544が使用され
て、次の管理作業要素を読取る。記憶ノード汎用待ち行
列中に並べられた最後の管理作業要素のフィート544
のポインタがOである時は記憶ノード予定作業待ち行列
中にはもはや管理作業要素が存在せず、実行は決定ブロ
ック1880から次頁結合子1890に進む。
E14.記憶ノード−管理作業要素の完成法に第16図
を参照するに、第15図の次頁結合子1890はオン頁
結合子2150に続<、QDSIOはブロック1840
で記憶ノードによって解放されているので、記憶ノード
はQDS 10をブロック2160で再び予約しなけれ
ばならない。記憶ノー1−は、再びブロック2170で
制御レコード500を読取り、ブロック2180で記憶
ノードの汎用待ち行列の最上部をアドレスする。
次に実行は次頁結合子2190で次頁に進む。
第17図を参照するに、第16図の次頁結合子2190
は頁結合子2195に続く。決定ブロック2210で、
記憶ノード汎用待ち行列に管理作業要素が存在するかど
うかが決定される。もし存在する時は決定ブロック22
20で管理作業要素が完成し、QDS I O中に存在
するかどうかの決定がなされる。もし管理作業要素が完
成し、QDSIO中に存在する時はブロック2250で
管理作業要素が待機型管理作業要素であるかどうかの決
定がなされろ。
管理作業要素が待機型作業要素である時は、適切な作業
ノード・セグメントの作業ノードのポインタ・フィール
ド中にポインタはブロック2260でその作業ノードの
作業完成待ち行列に並べられている管理作業要素の相対
レコード番号フィールド544に保存される。さらに、
並べられた管理作業要素の相対レコード番号(RRN)
が適切な作業ノード・セグメントのポインタに書込まれ
る。例えば、管理作業要素が作業ノード1によって通知
された場合には、#、べられた管理作業要素の相対レコ
ード番号はポインタ・フィールド516に3己憶される
ブロック2340で完成した管理作業要素はQDSIO
の作業ノード・ポインタ・フィールドに保存された位置
に書込まれ、更新制御レコード5OOがQDS 10の
相対レコードOに保存される。
管理作業要素はブロック2350で記憶ノードの汎用待
ち行列からはずされる0次に実行は決定ブロック221
0にループし、ここで記憶ノードの汎用待ち行列中にさ
らに管理作業要素が存在するかどうかが決定される。
処理中の管理作業要素が決定ブロック2250によって
決定さる様に待機型の管理作業要素でない時は、管理作
業要素に対応する割振りビット・マツプ522中のビッ
トはブロック2320で0にされる。さらにブロック2
330で記憶ノード汎用待ち行列から管理作業要素が剥
脱される6次に実行は決定ブロック2210にループし
、上述の様に記憶ノードの汎用待ち行列中に追加の管理
作業要素が存在するかどうかが決定される。決定ブロッ
ク2210によって記憶ノード汎用待ち行列中にもはや
管理作業要素が存在しない事がわかると、活動時間フィ
ールド524の時刻がブロック2270で更新され、制
御レコード500がQDSIOの相対レコード0に書込
まれる。ブロック2280″′C″QDSIO及び記憶
ノード汎用待ち行列が記憶ノードよって解放され、記憶
ノードのアクセス・タイマがセットされる。次に実行は
終了2290で終了する。
F0発明の詳細 な説明したように、本発明よにれば、多重プロセッサ・
システムの複数のプロセッサの1つを記憶ノードに指定
し、残りのプロセッサを作業ノ
【図面の簡単な説明】
第1A図は複数の周辺データ記憶装置を有する多重ホス
ト・データ処理システムの簡単なブロック図である。第
1B図は本発明によって定搗される空間及び定義域を示
す変形ペン図である。第2A図はホスト・プロセッサの
ための共通のデータ・セットである待ち行列データ・セ
ットを示す図である。第2B図は第2A図の待ち行列デ
ータ・セットに並べる事が出来る通信データ・パケット
のキー・フィールドを示す図である。第3図、第4図、
第5図は本発明の多重ホスト・データ処理システムのホ
スト・プロセッサで同時に実行される計算機プログラム
の初期設定及びシャットダウン処理を示す簡単なフロー
チャートである。第6図、第7図は移送及びバックアッ
プ空間を独占的に制御しないノードの1つのための待ち
行列初期設定を示す詳細なフローチャートである。第8
図、第9図はマイグレーション及びバックアップ空間を
独占的に制御するノードのための待ち行列初期設定を示
す詳細なフローチャートである。第10図、第11図、
第12図及び第13図は移送及びバックアップ空間を排
他的に制御しないノードの1つのための通信データ・パ
ケットの検索及び処理を示す詳細なフローチャートであ
る。第14図、第15図、第16図及び第17図は移送
及びバックアップ空間を独占的に制御する通信データ・
パケットの検索及び処理を示す詳細なフローチャートで
ある。 10・・・待ち行列データ・システム(QDS)、15
・・・多重プロセッサ・システム、50・・・H8M管
理空間、60・・H8M所有空間、63・・マイクレー
ジョン空間、66・・・バックアップ空間、100.1
10.120,130,140,150 ・直接アクセ
ス記憶表kl (DASD)、200.210.220
.230・CPU、160.170.175・・・移送
空間の2次ボリューム、180,185.190.19
5・・・バックアップ空間のボリューム。 出願人  インターナショナル・ビジネス・マシーンズ
・コーポレーション 代理人  弁理士  山  本  仁  朗(外1名) 多重プロ(?、4jシステム 才3圀 シv91−ダ々ンダソ里70−ティート才4 日 シャ・斗りウン2ffフローテv−l−才 5I¥1 道店テ一り・パγ91〜 キラりRダ匹−刀tフロー手マート プヒ 16 しろ

Claims (1)

  1. 【特許請求の範囲】 多重プロセッサ・システムのプロセッサのすべてにアク
    セス可能な、少なくとも共通にアクセス可能な記憶媒体
    を有する多重プロセッサ・システム中で、サービス要求
    を発生する多くの同時的な処理を制御する方法であって
    、 (a)多重プロセッサ・システムのプロセッサの1つを
    記憶ノードとして指定し、 (b)多重プロセッサ・システムの残りのプロセッサを
    作業ノードとして指定し、 (c)作業ノード中の処理によつて発生したサービス要
    求を認識し、 (d)上記サービス要求を上記共通にアクセス可能な記
    憶媒体に送り、 (e)上記記憶ノードが上記共通にアクセス可能な記憶
    媒体から上記サービス要求を検索して、処理する段階を
    含む、 作業ノードの各々と記憶ノードが記憶媒体だけを通じて
    通信する事を特徴とする多重プロセッサ・システム中の
    多重同時処理制御方法。
JP61193003A 1985-09-24 1986-08-20 多重プロセツサ・システム中の多重同時処理制御方法 Granted JPS6272051A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US77980585A 1985-09-24 1985-09-24
US779805 1985-09-24

Publications (2)

Publication Number Publication Date
JPS6272051A true JPS6272051A (ja) 1987-04-02
JPH031697B2 JPH031697B2 (ja) 1991-01-11

Family

ID=25117630

Family Applications (1)

Application Number Title Priority Date Filing Date
JP61193003A Granted JPS6272051A (ja) 1985-09-24 1986-08-20 多重プロセツサ・システム中の多重同時処理制御方法

Country Status (2)

Country Link
EP (1) EP0216170A3 (ja)
JP (1) JPS6272051A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005293224A (ja) * 2004-03-31 2005-10-20 Hitachi Computer Peripherals Co Ltd バックアップシステム及びバックアップ方法
JP2007243112A (ja) * 2006-03-13 2007-09-20 Disco Abrasive Syst Ltd ウェーハの凹状加工方法及び凹凸吸収パッド

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3130536B2 (ja) * 1993-01-21 2001-01-31 アップル コンピューター インコーポレーテッド 多数のネットワークされたコンピュータ記憶装置からデータを転送し記憶する装置ならびに方法
CA2153770A1 (en) * 1993-01-21 1994-08-04 Charles S. Spirakis Method and apparatus for data transfer and storage in a highly parallel computer network environment

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2023314B (en) * 1978-06-15 1982-10-06 Ibm Digital data processing systems
US4402046A (en) * 1978-12-21 1983-08-30 Intel Corporation Interprocessor communication system
US4449182A (en) * 1981-10-05 1984-05-15 Digital Equipment Corporation Interface between a pair of processors, such as host and peripheral-controlling processors in data processing systems

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005293224A (ja) * 2004-03-31 2005-10-20 Hitachi Computer Peripherals Co Ltd バックアップシステム及びバックアップ方法
JP2007243112A (ja) * 2006-03-13 2007-09-20 Disco Abrasive Syst Ltd ウェーハの凹状加工方法及び凹凸吸収パッド

Also Published As

Publication number Publication date
EP0216170A3 (en) 1989-09-06
EP0216170A2 (en) 1987-04-01
JPH031697B2 (ja) 1991-01-11

Similar Documents

Publication Publication Date Title
EP0130349B1 (en) A method for the replacement of blocks of information and its use in a data processing system
US5093912A (en) Dynamic resource pool expansion and contraction in multiprocessing environments
US6085200A (en) System and method for arranging database restoration data for efficient data recovery in transaction processing systems
US5060144A (en) Locking control with validity status indication for a multi-host processor system that utilizes a record lock processor and a cache memory for each host processor
US6219693B1 (en) File array storage architecture having file system distributed across a data processing platform
JP2941947B2 (ja) 非同期に順序付けされた動作を行うコンピュータ方法及び装置
US6757756B1 (en) Method and apparatus for exchanging data between transactional and non-transactional input/output systems in a multi-processing, shared memory environment
US6018746A (en) System and method for managing recovery information in a transaction processing system
US4924466A (en) Direct hardware error identification method and apparatus for error recovery in pipelined processing areas of a computer system
US6105085A (en) Lock mechanism for shared resources having associated data structure stored in common memory include a lock portion and a reserve portion
EP0466339A2 (en) A method of passing task messages in a data processing system
US5906658A (en) Message queuing on a data storage system utilizing message queuing in intended recipient's queue
US6256704B1 (en) Task management for data accesses to multiple logical partitions on physical disk drives in computer systems
US7529902B2 (en) Methods and systems for locking in storage controllers
EP0071719A2 (en) Data processing apparatus including a paging storage subsystem
US6848021B2 (en) Efficient data backup using a single side file
EP0747832A2 (en) Customer information control system and method in a loosely coupled parallel processing environment
US7577957B1 (en) Multiple jobs per device that are linked via a device record for servicing by different adapters
EP1055173A1 (en) Method and apparatus for transferring data from the cache of one node to the cache of another node
JPH10326262A (ja) コンピュータ使用可能媒体を含む製造品
EP0747813A2 (en) Customer information control system and method with temporary storage queuing functions in a loosely coupled parallel processing environment
EP0747812A2 (en) Customer information control system and method with API start and cancel transaction functions in a loosely coupled parallel processing environment
US6092166A (en) Cross-system data piping method using an external shared memory
US6732194B1 (en) Method and apparatus for multi-sequential data operations
JPS6272051A (ja) 多重プロセツサ・システム中の多重同時処理制御方法