JPS6130310B2 - - Google Patents

Info

Publication number
JPS6130310B2
JPS6130310B2 JP57032521A JP3252182A JPS6130310B2 JP S6130310 B2 JPS6130310 B2 JP S6130310B2 JP 57032521 A JP57032521 A JP 57032521A JP 3252182 A JP3252182 A JP 3252182A JP S6130310 B2 JPS6130310 B2 JP S6130310B2
Authority
JP
Japan
Prior art keywords
microprocessor
buffer
control
segment
data processing
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
Application number
JP57032521A
Other languages
English (en)
Other versions
JPS57157368A (en
Inventor
Miruton Furai Sukotsuto
Oo Henpii Harii
Edowaado Kiteingaa Buruusu
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 JPS57157368A publication Critical patent/JPS57157368A/ja
Publication of JPS6130310B2 publication Critical patent/JPS6130310B2/ja
Granted legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5083Techniques for rebalancing the load in a distributed system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/10Program control for peripheral devices
    • G06F13/12Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor
    • G06F13/122Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor where hardware performs an I/O function other than control of data transfer
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/505Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/5022Workload threshold

Description

【発明の詳細な説明】 本発明の技術分野 本発明は多重ユニツト・データ処理システムに
関し、更に具体的にはシステム内の複数のユニツ
ト間で作業負荷をバランスさせることに関する。
本発明は柔軟結合されたデータ処理システムに適
用する場合特に有用であるが、本発明の原理は、
緊密結合されたシステム、対称的システム、主従
型システムなどに適用しても利点がある。
複数のユニツト間でデータ処理の負荷をバラン
スさせる問題は、通常、タスク割当時間に生じ
る。即ち、データ処理の作業が、開始される前
に、制御メカニズムはどのユニツトがタスクを実
行すべきかを決定し、1度タスクがユニツトへ割
当てられるとそのユニツトがシステム中の他のユ
ニツトよりも如何に重い負荷を有しておろうと、
割当てられたユニツトは動作を継続する。このよ
うなタスク割当バランス法の例は、IBM技術開示
報告の第20巻第3号に見出される(IBM
Technical Disclosure Bulletin Vol.20、No.3、
August 1977、pp.937−938、“Load Balancing
Control for a Multi−processor”by J.F.
Baker and D.E.Holst)。この文献は、柔軟結合
された多重プロセツサ制御記憶メモリ・システム
について説明しているが、このシステムは複数の
プロセツサ中に負荷バランス・テーブルを有して
いる。負荷の均衡化は、作業待ち行列の長さの尺
度を示す負荷バランス・テーブルに基いて、割当
時間に達成される。負荷をバランスさせるための
情報は、メモリ・システムの複数のプロセツサの
間で交換される。調時されたプロセスのスケジユ
ーリングも説明されている。割当時間における負
荷バランス法の他の例は、同じくIBM技術開示報
告の第14巻第11号に見出される(IBM Technical
Disclosure Bulletin、Vol.11、April 1972、
“Input/Output Channel/Device Load
Balancing Algorithm”、by L.A.Jaikes、et
al)。この方法によれば、周辺サブシステムは作
業割当時間に作業を均衡化される。
多重処理構成における中央プロセツサ又はホス
トは、タスク割当時間に負荷をバランスさせる場
合が多い。その1つの例は米国特許第3648253号
に示される。この特許において、タスクは、現在
のタスクを実行する時間に基いて、プログラム化
されたスケジユーラにより、多重プロセツサへ割
当てられる。作業負荷の均衡化は、タスクが開始
される前に、タスクを割当てることによつて実現
される。米国特許第4032899号は、全体の処理負
荷についてデータ・トラフイツクをバランスさせ
るデータ交換網を示す。均衡化は、排他的な割当
てを基礎として、個々のプロセツサによりポート
への出力トラフイツクをスケジユールすることに
よつて達成される。即ち、負荷の均衡化は、実行
されるべきタスクが先ず割当てられる時に達成さ
れる。
更に負荷の均衡化は、エラー状態が検出された
時にも達成される。例えば、米国特許第3787816
号において、多重処理システムが制御された態様
で再構成され、ユニツトへ割当てられた機能が再
び指定され、誤動作又はエラーが生じた後にもデ
ータ処理能力の連続性が得られるようになつてい
る。
負荷をバランスさせるために、活動モニタが使
用される場合もある。米国特許第3588837号は、
時間間隔利用サンプリング手法を用いて、全ての
主たるデータ通路の活動を測定するシステムを開
示している。1つの時間間隔におけるサンプル数
と前の時間間隔におけるサンプル数とを比較した
比率を表わすため、サンプルがダイナミツクに記
録され、変動する環境内の全ての潜在的待合せ地
点の活動が記録されて、データ処理兼通信機器の
利用に関する統計的データが得られるようになつ
ている。この米国特許は測定システムを開示して
いるが、そのような測定システムによつて駆動さ
れる負荷均衡化手段を開示していない。
割当時間では、全ての作業負荷の均衡化が達成
されたわけではなかつた。例えば、米国特許第
4099235号は、2つのリアル・タイム・データ・
プロセツサを有するデータ処理システムを動作さ
せる方法を開示しているが、そのデータ処理シス
テムにおいて、タスクの性質に基いて所与のタス
クがデータ・プロセツサの1つで実行され、その
ようなタスク上で動作するように1つのプロセツ
サが予め選択されるようになつている。デーダ・
プロセツサの各々は、各プロセツサの利用率を継
続的に決定するため、継続的に監視される。各プ
ロセツサは利用率の所定の上限値を割当てられて
いるが、この上限値はプロセツサの負荷超過限度
より下に設定される。上限値を超えると、常に1
つのデータ・プロセツサ中で実行されているタス
クが他のデータ・プロセツサへ転移させられ、他
のプロセツサが転移されたタスクを実行するよう
に構成されている。この特許は、或る閾値を利用
して、データ・プロセツサの間で進行中のタスク
を転移する方法を開示している。この方法では、
利用率を表示するに当り、実行されているタスク
から生じた保持時間と自由時間との比率をとるの
が望ましいとされる。更に、この特許は米国特許
第3665404号を参照している。この米国特許にお
いて、データ・プロセツサ間の入出力負荷をバラ
ンスさせるに当り、周辺装置が電子機械的スイツ
チによりプロセツサ間で切換えられる。米国特許
第4099235号によれば、リアル・タイム動作の多
くはバツチ処理動作と同様のものであり、従つ
て、現在動作されていないタスクはプロセツサ間
で容易に転送されることができる。これは、負荷
をバランスさせるため、アクチブでないタスクの
みが転送されることを意味する。
制御用データ・プロセツサの制御を離れて活動
が変化するような動的データ処理システムにおい
て、複数のデータ・プロセツサ/データ処理通路
の間で実行される負荷の均衡化は、後続の予見で
きない活動の動的変化に適合するものでなくては
ならず、データ処理スループツトを最大にするた
め、負荷均衡化のための活動が最小になるように
しなければならない。
本発明の要約 本発明の目的は、複数のデータ処理ユニツト又
はデータ処理通路の間で負荷をバランスさせるに
当り、データ処理ユニツト乃至通路の全体的作業
負荷の一部分を表わす作業を他のユニツト乃至通
路へ移動させ、しかも負荷均衡化活動を最小にす
るとともにデータ処理スループツトを最大にする
ことである。
本発明に従えば、並列のデータ処理通路(例え
ば、複数の入出力チヤネル、周辺サブシステム内
の複数の制御ユニツト、多重処理環境における複
数のデータ処理ユニツト)の間で作業負荷をバラ
ンスさせるため、各通路内のデータ処理が複数の
作業割当へ区分される。更に、本発明は、並列デ
ータ処理通路における上記作業割当ての各々につ
いて、データ処理上の望ましくない遅延を個別的
に計数することを意図する。次に個別的な計数値
は、データ処理通路の各々について総計される。
各通路において、総計された計数値は、望ましく
ない遅延があるかどうかを検査するため、所与の
閾値と比較される。データ処理通路の1つに対す
る総計値がその閾値を超過すると、そのデータ処
理通路における作業割当ての一部が他のデータ処
理通路へ転送される。転送の選択は、全ての作業
割当てに対する望ましくない遅延の選択された百
分率に基いて行われる。例えば、全ての通路にお
ける総計された計数値の差の半分に等しい平均的
遅延数を有する作業割当てが転送され得る。通路
間における計数値の差の最小値を超過するまで、
負荷をバランスさせないのが望ましい。また、遅
延の平均数を有する作業割当てを転送することが
できる。或る通路の計数値が閾値を超過すると、
負荷均衡化用の新しい計数値を形成するため、全
体的な作業割当てが全て再検討される。
本発明の実施例において、データ処理通路は周
辺サブシステムにおける制御ユニツトである。本
発明における作業割当てとは、制御ユニツトに対
する周辺装置の割当てのことであり、望ましくな
い遅延とは、米国特許第3688274号に記載される
ようなホスト・コンピユータへ送られるチヤネル
指令リトライ(CCR)である。
作業割当てを受取るデータ処理ユニツト乃至通
路が、超過した数の作業割当てを有する時、受取
側ユニツト乃至通路は、送出側ユニツト乃至通路
へ作業割当てを再び送出する。そのような作業割
当ては、最少数の遅延を有するものか、最旧時使
用(LRU)に対応するものである。即ち、その
ような作業割当ては、受取側ユニツト乃至通路の
作業負荷へ最も影響を与えないものである。
実施例の説明 ここで第1図及び第2図を参照する。同一の数
字は同一の部分及び構成要素を示す。本発明は一
対の制御ユニツト11,CU−0及びCU−1を有
する記憶サブシステム10へ組込まれている。記
憶サブシステム10は複数のホスト12へ接続可
能である。それは、データ処理技術分野で実施さ
れるように、ホスト動作の制御の下で、データを
ホストから受取り、記憶し、又はホストへ与える
ためである。記憶サブシステム10はデータ信号
をホストのために複数のデータ記憶装置13中に
記憶する。そのようなデータ記憶装置は磁気テー
プ・レコーダ、磁気デイスク・レコーダ、磁気カ
ード・レコーダ、ユニツト・レコード機器などを
含む。ホスト12と記憶サブシステム10との間
の通信は、複数の入出力チヤネル14を介して行
われる。入出力チヤネル14は、米国特許第
3400371号に開示されるような入出力チヤネルに
従つて構成されている。サブシステム動作の能率
を高めるため、制御ユニツト11はデータ・バツ
フア15を含む。データ・バツフア15は半導体
ランダム・アクセス・メモリ素子で構成されるこ
とが望ましい。バツフア15はホスト12と装置
13との間の主たる導管手段である。ホスト12
は、いずれの制御ユニツト11のいずれのバツフ
ア15を介しても所与の装置13と通信すること
ができる。入出力チヤネル14からバツフア15
への通信は、CU−0についてはチヤネル・アダ
プタ80とバス81を介して行われ、CU−1に
ついてはバス96を介して行われる。CU−1は
CU−0と同様の構成を有している。バス97
は、チヤネル・アダプタ回路16を介して、CU
−1のチヤネル・アダプタ14(図示されず)を
CU−0のバツフア15へ接続する。回路16
は、データ処理技術分野で通常の如く使用される
既知の自動的データ転送回路である。複数の装置
13は単一のバツフア15を介して複数のホスト
12と通信するので、バツフア15はダツシ線1
7によつて示される複数のセグメントとしてダイ
ナミツクに管理される。即ち、或る装置13がホ
スト12と通信している時、それはデータ転送を
処理するため、バツフア15の1つのセグメント
を割当てられる。現在データを転送していない装
置は、そのようなセグメントを割当てられる必要
はない。これはバツフア15をして比較的小型に
することを可能にする(例えば、256000個の記憶
バイト)。装置に対するバツフア15の割当て
は、通常、連続したデータ転送の間維持される。
バツフア15と装置13との間の通信は、自動
的データ転送メカニズム(データ・フロー回路)
83を介して行われる。データ・フロー回路83
から装置13への接続は、一対のケーブル90及
び94を介して行われる。同様に、CU−1は他
の一対の93及び95によつて装置13へ接続さ
れる。
記憶サブシステム10の制御は、2つの制御ユ
ニツト11の組合せによつて行われる。制御ユニ
ツトCU−1は制御ユニツトCU−0と同じ構成で
あることに注意されたい。第1図では、本発明に
直接の関連を有しない制御ユニツトの部分は詳細
に示されていない。それぞれの制御ユニツト11
はプログラム・コントロール33を含む。プログ
ラム・コントロール33はプログラム化されたデ
イジタル・コンピユータ(マイクロプロセツサ)
110を含むことが望ましい(第3図)。記憶サ
ブシステム10の制御はCU−0とCU−1との間
で分割されるので、相互接続バス109は、記憶
サブシステムを論理的に制御するのに必要な制御
データを交換するため、2つの制御ユニツト11
の間の通信を可能にする。更に、プログラム・コ
ントロール33は、チヤネル・アダプタ回路1
6、データ・フロー回路83、及びバツフア15
の動作を制御する。接続線81,35,36はこ
の制御を表わしている。
本発明はCU−0及びCU−1における活動及び
作業割当てを測定し、2つの制御ユニツトの間で
作業がダイナミツクにバランスされることを保証
する。CU−0及びCU−1のバツフア15はホス
ト12と装置13との間におけるデータ転送の主
たる導管であるから、ホスト12によつてデータ
のリクエストがなされた時点で、バツフア15の
状況情報は、ホスト12のリクエストを満足させ
るため、各制御ユニツト11の現在の能力を表示
する。例えば、ホスト12が記憶サブシステム1
0からデータを要求し、そのデータがバツフア1
5になければ、その事実は制御ユニツトの作業負
荷の表示を与える。同様に、ホスト12が装置1
3上でデータを記録することを欲する場合、バツ
フア・セグメントがデータで満杯になつていれ
ば、その状態は制御ユニツトの作業負荷の表示を
与える。更にホスト12がバツフア動作を必要と
する装置の使用をリクエストした時、バツフア・
セグメントが装置へ割当てられていなければ、そ
の事実は制御ユニツトの作業負荷の表示を与え
る。このような表示は、ホスト12から与えられ
た入出力チヤネル指令に応答するコントロール3
3によつて与えられ、コントロール33は、線4
0及びチヤネル・アダプタ80を介してリクエス
トを発したホスト12へチヤネル指令リトライ
(CCR)信号を与えることによつて、リクエスト
が直ちには満足されないことを知らせる。チヤネ
ル指令リトライについては、米国特許第3688274
号に詳細に説明されている。本発明に従えば、そ
れぞれの制御ユニツト11は、制御ユニツト間で
負荷のバランスを維持するため、CCR信号を利
用する回路及びコントロールを含んでいる。
バツフア15のそれぞれの割当てられたセグメ
ントのために、CCRの数を計数したカウント
「CCRK」が作られる。これらのカウントはレジ
スタ41,42に保持される。線40上のCCR
信号は、各セグメントのCCRKカウントを増加さ
せるため、レジスタ41,42へ転送される。そ
れぞれのCCR信号は、装置13(レジスタ4
1,42によつて表わされるセグメントが割当て
られた装置)のアドレスに関連している。レジス
タ41,42はそれに従つてアドレスされる。こ
のようにして、割当てられた各バツフア・セグメ
ントのビジイ(使用中)状況は、個別的計数値と
して維持される。これらの計数値は、ホスト12
の動作に対する装置13及び関連したバツフア1
5の相対的応答性を示す。割当てられたバツフ
ア・セグメントと装置(レコーダ)13との組合
せは、論理装置と呼ばれる。即ち、ホスト12に
対しては、装置13とそれに割当てられたセグメ
ントとは、単一のユニツトとして現われる。ホス
ト12が記憶サブシステム10と通信する場合、
常に、ホスト12は装置13をアドレスする。従
つて、バツフア15のセグメントはホスト12に
よつて明示的にアドレスされず、装置13へ割当
てられた時にのみ、装置13のアドレス内で暗黙
的にアドレスされる。
負荷バランスについて調査しなければならない
作業負荷状況にあることを、制御ユニツト11が
決定すると、本発明に従つて、CCRKカウントが
相互に比較され、論理装置活動の範囲に入る所定
の活動を有する装置が決定され、他の(即ち受取
側)制御ユニツト11へ転移される。この決定の
詳細は後に説明する。装置の転移は、送出側の制
御ユニツト11中で転移されつつある装置13へ
割当てられたセグメントの割当解放、転移されつ
つある装置13を送出側の制御ユニツト11から
受取側の制御ユニツト11へ割当てること、受取
側の制御ユニツトへ割当てられたばかりの装置1
3へバツフア15の一部を割当てることを含む。
このような割当てステツプは、受取側の制御ユニ
ツト11内で新しい論理装置を形成する。
記憶サブシステム10の全ての活動は、装置1
3のアドレスに基いて行われる。コントロール3
3は、何時CCRが与えられたかに基いて、ホス
ト12の入出力指令に応答する。コントロール3
3は、アドレスされつつある論理装置を表わすレ
ジスタ41,42の1つを選択するため、バス4
3を介してアドレス信号を与える。本発明の実施
例において、各制御ユニツト11は、CUKレジ
スタ45の中にCCR信号の総数を維持する。線
40を介してCCR信号が与えられる度に、CUK
レジスタ45の内容は1だけ増進される。更に、
CUKレジスタ45が増進される度に、その数値
内容は閾値検出器46にある閾値と比較され、負
荷バランスについて調査すべきかどうかが決定さ
れる。CUKレジスタ45のカウントが上記の閾
値に達すると、それは例えば制御ユニツトCU−
0が「使用中」の状況にあり、負荷をバランスさ
せることによつて記憶サブシステム10の全体的
動作を改善できるかも知れないことを示す。その
時、検出器46は線47を介してコントロール3
3へ負荷バランス信号を与える。この負荷バラン
ス信号は、2つの制御ユニツトの中でカウントの
全てを再調整するため、後で詳細に説明するよう
にして使用される。
線47上の信号はCUKレジスタ45の内容と
ケーブル51を介してCU−1から受取られた
CCR信号の総数とを比較するため差動回路を能
動化する。それは、CU−0及びCU−1における
それぞれのCCR信号の総数の差を決定するため
である。もしこの差が差動回路55で決定された
差分閾値を超過すると、除算回路56へ一群の信
号が与えられる。除算回路56は、CU−0及び
CU−1におけるCUKレジスタの差分値を2で除
算し、数値「デルタ」を作る。デルタ値は「使用
中」状態の差の平均値であり、この値に対応する
遅延活動(デルタ活動)を有する論理装置を転移
することによつて、CU−0とCU−1との間で負
荷をバランスさせることができる。
デルタ活動を有する論理装置を識別するため、
CU−0は走査回路58を能動化して、バス59
を介して受取られたCCRKレジスタ41,42の
内容を走査させる。それはバス57上のデルタ値
に最も近いCCRKカウントを発見するためであ
る。この動作は、所定の基準に合致する値を発見
するための典型的かつ既知の走査である。デルタ
値に最も近いCCRKカウントが識別されると、一
群の信号が転送回路60へ与えられる。転送回路
60はレジスタ41,42で表示されたCCRKカ
ウントと共に装置アドレスを記憶している。上記
のCCRKカウントはバス59を介してバス61へ
与えられる。バス61は、CU−0からCU−1へ
転移されつつある装置のアドレス信号をコントロ
ール33及びCU−1へ送る。コントロール33
は、バス109を介して装置アドレスを中継する
ことができる。コントロール33はバス61の装
置アドレス信号に応答して、バツフア15の指定
されたセグメントの割当てを解放し、制御ユニツ
トCU−0から装置13の割当てを解く。CU−1
は、ケーブル109及びバス61上の信号に応答
して、装置13を受入れ、後に必要に応じて、バ
ツフア15中のセグメントをそのような装置13
へ割当てる。ここで注意すべきは、CU−0のコ
ントロール33は、再割当てされつつある装置1
3の現在の動作状態に関連した一群の状況信号を
有することである。これらの状況信号はケーブル
109を介してCU−1へ与えられ、それによつ
てCU−1は、後に明らかになるように、上記状
況信号をそれ自体のレジスタに記憶することがで
き、再割当てされた装置13の動作は、あたかも
負荷均衡化活動が生じなかつたかの如く、CU−
1中で進行することができる。
ここで注意すべきは、CUKレジスタ45の信
号は閾値検出器46へ送られるだけでなく、線6
2によつて示されるように、CU−1へも転送さ
れることである。CU−1からCU−0への装置1
3の転移については、CU−0は、ケーブル10
9を介してCU−1のコントロール33へ、CU−
1のCUK45の内容をCU−0へ転送するようリ
クエストを出す。更に、CU−0のコントロール
33の他の制御部分は、CU−0からCU−1への
装置13の転移について説明したように、CU−
1から転移されようとしている装置13の動作状
況信号を受取る。他方、差動回路55の差分閾値
を超過しないと、負荷均衡化活動は生じない。即
ち、CU−0及びCU−1における負荷の差は小さ
いので、負荷の均衡化に必要な時間を考えた場
合、均衡化活動は全体としてサブシステム動作に
益とならない。ここで線47に注目すると、コン
トロール33はCCR信号のカウントを再調整す
るために負荷バランス信号に応答し、新しい負荷
バランス検査サイクルが開始される。この再調整
はコントロール33によつて達成される。即ち、
コントロール33は、線48、OR回路50を介
してレジスタ41,42,45へリセツト信号を
与え、これらレジスタの全てをゼロへリセツトす
る。更に、コントロール33は線47上の信号に
応答し、バス109を介してCU−1へ制御信号
を与える。この制御信号は、CU−1をして、バ
ス51を介して差動回路55へ、そのCUKカウ
ントを与えさせる。更に、CU−1は、この制御
信号に応答して、そのCCRKカウント及びCUK
カウントを再調整する。従つて、制御ユニツト1
1のいずれかが所定の閾値を超えるCUKカウン
トを有する時、記憶サブシステム10内の全ての
制御ユニツトが再調整される。この再調整は、負
荷均衡化活動が生じるか否かにかかわりなく生じ
る。更に、CCRKカウント及びCUKカウント
は、コントロール33からOR回路50へ達する
線49によつて示されるように、システム・リセ
ツト信号によつて再調整される。更に、選択的リ
セツト信号によつて全てのカウントを再調整する
ことができる。
複数のホスト12を有する記憶サブシステムの
通常の動作において、レコーダ又は装置13に関
する動作は、検出器46によつて与えられた閾値
が超過される前、又はCCRカウント(CCRKカ
ウント及びCUKカウント)が再調整された後暫
くたつて完了するかも知れない。そのような装置
13はホスト12によつてもはや必要とされない
ので、前に割当てられたセグメント(例えば数字
17によつて示されるもの)が割当てを解かれる。
従つて、割当てを解かれた装置13に関するカウ
ントは、CCRカウントから除かれるべきであ
る。このため、減算回路64はレジスタ45から
のCUKカウントを受取り、割当てを解かれつつ
ある装置に対応するレジスタ41又は42の
CCRKカウントを上記CUKカウントから減算す
る。このCCRKカウントは、バス43上の装置ア
ドレスに従つて、バス65へ与えられる。減算回
路64は、線66上のコントロール33からの制
御信号によつて能動化される。減算及びレジスタ
の選択によるカウントの調整は周知であり、これ
以上の説明を必要としないであろう。
これまで説明した事項の外に、本発明は更に作
業割当状況(即ち、データ処理動作のために、制
御ユニツト11へ割当てられた装置13の数)を
分析することにも関連を有している。例えば、制
御ユニツト11の能力は、所与の1時点でそのバ
ツフア15を介して8個までの装置13を処理す
ることに限られているかも知れない。負荷均衡化
活動の間に転移された装置13を入れるとすれ
ば、制御ユニツト11は9個の装置13を割当て
られることになる。このため、装置13を受取る
制御ユニツト11のコントロール33は、線70
を介して割当カウント71へ制御信号を与える。
割当カウンタ71は受取側の制御ユニツト11へ
割当てられた装置の数を記憶している。或る装置
13の割当てが解かれた時、線70上の別個の制
御信号がカウンタ71を減少させる。そのような
装置活動の各々において、コントロール33から
与えられる線73上の制御信号は、閾値検出器7
2を能動化する(通常、検出器72は8へセツト
されている)。ウンタ71の内容は検出器72に
よつて分析され、現在8個を超える装置13が例
えばCU−0へ割当てられているかどうかば決定
される。もしカウンタ71の内容が8又はそれ以
下であれば、何の動作も取られない。しかしカウ
ンタ71の内容が9であれば、検出器72は2つ
の回路を能動化するため、線77へ能動信号を与
える。能動化される1つの回路はLRU(最旧時
使用)回路74である。LRU回路74は、最も
古い時点で使用された装置13を指定し、かつ線
77上の信号によつて同時に能動化される転送回
路60へ、バス76を介して装置アドレス信号を
与える。受取側制御ユニツト11の転送回路60
は、バス61を介してそのコントロール33、及
び負荷均衡化活動を実行している送出側制御ユニ
ツト11へ装置アドレスを転送する。それは、装
置13を送出側制御ユニツト11へ転移するため
である。ここで注意すべきは、LRU回路74は
装置アドレス順になつた装置のリストをふくみ、
それは、線75で示されるように、既知の方法で
コントロール33によつて更新されることであ
る。LRUリストの構成は周知であり、これ以上
説明する必要はあるまい。他方、コントロール3
3は、レジスタ41及び42に含まれる最小の
CCRKカウントで装置13を選択することができ
る。いずれにせよ、最小の活動を有する装置13
が送出側制御ユニツト11へ戻される。しかしこ
の制御ユニツト11への作業負荷は、全体として
の作業負荷を増加させるものではない。こうし
て、2つの制御ユニツト11の作業割当能力は、
決して超過されないようになつている。
本発明をこれ以上説明する前に、本発明を組込
むのに望ましい環境を第2図乃至第4図を参照し
て説明する。これらの図面は、リール対リール・
テープ駆動装置D1〜D12を使用する記憶ユニ
ツト13を示す。好適な構成としては、2個の制
御ユニツト11,CU−0,CU−1を含む。この
構成は、駆動装置の任意のものが入出力チヤネル
14及び制御ユニツトCU−0又はCU−1のいず
れかを介してホスト12へ接続され得るようにな
つている。制御ユニツト11の各々をホスト12
へ付加することは、複数のチヤネル・アダプタ8
0によつてなされる。それらの各々は個別的に
CAA〜CAHと名称を付される。チヤネル・アダ
プタ80の各々は、2つの制御ユニツト11にあ
るバツフア15と直接に通信することができる。
CU−0及びCU−1の双方は同様の構成を有す
る。従つて同一の番号は2つの制御ユニツトの中
の同様の部分を表わすが、制御ユニツト間の接続
線は別個の番号を有している。チヤネル・アダプ
タCAA〜CADはCU−0に置かれ、CAE〜CAH
はCU−1に置かれる。それぞれのチヤネル・ア
ダプタはケーブル81を介して制御ユニツトのそ
れぞれのバツフア15と通信する。バツフア15
から記憶ユニツト13への通信は、ケーブル8
2、データ・フロー回路83、ケーブル84、複
数の装置アダプタ85を介して行なわれる。装置
アダプタは双方の制御ユニツト11において
DAA及びDABと個別的に示される。データ・フ
ロー回路83は既知の記録回路を含む。プログラ
ム・コントロール33は、それぞれの制御ユニツ
ト11の説明した部分の全てへ電気的に接続さ
れ、米国特許第3654617号に開示されるように、
記憶サブシステムのために既知の態様で動作す
る。
制御ユニツト11と記憶ユニツト13との間の
相互接続は、1次/2次ベースによる。駆動装置
D1〜D7はCU−0に対して1次であり、CU−
1に対して2次である。同様に、駆動装置D8〜
D15(D13〜D15は図示せず)はCU−1
に対して1次であり、CU−0に対して2次であ
る。1次及び2次接続の意味は、制御ユニツト
CU−0又はCU−1のいずれかがそれぞれの駆動
装置のために状況情報を維持するかに関する。即
ち、制御ユニツトCU−0はD1〜D7のために
状況情報を維持し、CU−1はD8〜D15のた
めに1次的に状況情報を維持する。後に明らかに
なるように、双方の制御ユニツトCU−0及びCU
−1は駆動装置の全てのために状況標識を記憶す
る。1次接続において、CU−0のアダプタDAA
はケーブル90を介して駆動装置D1〜D7の全
てへ接続される。同様に、D8〜D15とCU−
1との間の接続は、ケーブル93及びアダプタ
DABを介して行なわれる。CU−0から駆動装置
D8〜D15への2次接続は、ケーブル94を介
して行なわれ、CU−1はケーブル95を介して
駆動装置D1〜D7へ接続される。装置アダプタ
85と駆動装置D1〜D15との間の接続線はタ
ブ制御線及びバス・データ転送線を含む。これら
の線は、制御ユニツト11をして駆動装置を緊密
に制御させる。
先行技術のテープ・サブシステムにおいて、チ
ヤネル・アダプタ80はそれぞれの制御ユニツト
11にあるデータ・フロー回路83とのみ通信す
る点で、データ・フロー通路は完全に多重通路化
されていなかつた。望ましい構成において、チヤ
ネル・アダプタCAA〜CAHはいずれのデータ・
フロー回路83を介しても駆動装置の任意のもの
と通信することができる。チヤネル・アダプタ
CAA〜CADからCU−1のバツフア15への接続
はケーブル96を介して行なわれ、チヤネル・ア
ダプタCAE〜CAHはケーブル97を介してCU−
0のバツフア15へ接続される。従つて、デー
タ・フロー回路83及びバツフア15のいずれも
任意のチヤネル・アダプタ80を介して任意のホ
ストと通信することができる。もちろん、この構
成は制御ユニツト11の間の緊密な協動を必要と
する。
制御ユニツト11において、全体的なサブシス
テム状況は状況ストア100によつて維持され
る。CU−0及びCU−1の状況ストア100は、
データ処理動作と独立して、ケーブル101を介
して相互に通信する。即ち、CU−0が例えばあ
る駆動装置を選択することによつて状況を変更す
ると、CU−0中の状況ストア100は直ちにCU
−1中の状況ストア100と通信する。同様に、
チヤネル・アダプタ80とバツフア15との相互
通信は、直ちに双方の状況ストア100に表示さ
れる。状況ストア100の各々は複数のレジスタ
を含み、これらのレジスタは装置状況、バツフア
状況、チヤネル状況などに関連したビツトを含
む。それらの状況情報は、駆動装置の選択状況、
そのビジイ状況、偶発的接続、及び入出力チヤネ
ル14と共に記憶サブシステムを動作させるのに
必要な全ての状況を反映している。
唯1個だけの制御ユニツト11が所与の1時点
で記憶サブシステム10の構成を変更することが
できる。この点に関して、ケーブル102がそれ
ぞれの状況ストア100からコントロール33へ
延長される。CU−0のコントロール33がある
駆動装置を選択することによつてサブシステム論
理構成を変更したいものとする。コントロール3
3はその状況ストア100と通信し、サブシステ
ム状況を変更してよいかどうかの許可を求める。
状況ストア100は適当なマスター状態にあり、
コントロール33による選択を許す。そうでなけ
れば、CU−0の状況ストア100は、CU−1の
状況ストア100へ、マスター状態を与えること
を要求する。マスター状態を有するいずれかの制
御ユニツト11が、サブシステムの論理構成を変
更することのできる唯一の制御ユニツトである。
マスター状態は、構成変更の必要性に従つて、制
御ユニツト間をシフトされる。更に、状況ストア
100は、ケーブル103を介して制御ユニツト
中のそれぞれのチヤネル・アダプタと通信する。
そのような通信は、状況ストアからチヤネル・ア
ダプタへの装置ビジイ状況の供与、チヤネル・ア
ダプタから状況ストアへの選択要求を含む。即
ち、もしCABがホスト要求のために装置D6を
選択することを欲すれば、ABはCU−0の状況ス
トア100と通信し、装置6が選択されるべきこ
とを要求する。状況ストア100はD6のビジイ
又はノツトビジイ状況をCABへ与える。次に
CABは装置D6に関して直ちにホスト要求に応
答する。これによつて、ホスト12と制御ユニツ
ト11との間の選択及び質問時間間は減少される
ことになる。
コントロール33は異なつた構成をとることが
できる。第2図に示された記憶サブシステムに関
連して使用するのに適した構成は第3図に示され
る。プログラム化されたマイクロプロセツサ11
0は、コントロール・ストア111に記憶された
マイクロコード・プログラム(マイクロプログラ
ム)に従つて動作する。そのようなマイクロプロ
グラムは、マイクロプロセツサ110をして、バ
ツフア15を完全に管理させ、データ・フロー回
路83を監視させ、状況ストア100と通信さ
せ、チヤネル・アダプタ80及び装置アダプタ8
5の選択を監視するとともに能動化する。更に、
2個の制御ユニツト11中のコントロール33の
相互間の通信は、プロセツサ対プロセツサ・ベー
スで行なわれ、それは既知のプロセツサ間通信方
法を使用してケーブル109を介してなされる。
既知の手法を使用して、マイクロプロセツサ11
0はアドレス・バス112を介てコントロール・
ストア111のマイクロプログラムを選択する。
制御データ信号はコントロール・ストア111か
ら与えられるが、その信号はマイクロプログラム
命令ワードを含み、これはバス113を介して与
えられる。もちろん、マイクロプロセツサ110
を動作させるための通常の遊び走査ループがコン
トロール・ストア111に存在している。更に、
各コントロール33はローカル・ストア114を
含む。ローカル・ストア114はマイクロプロセ
ツサ110のために作業コントロール・ストアと
して働く。ローカル・ストア114のアドレス可
能レジスタはバス115によつてアドレスされ
る。バス116は、マイクロプロセツサ110の
制御の下で、ローカル・ストア114からコント
ロール・ストア111へ信号を転送する。即ち、
マイクロプロセツサ110からコントロール・ス
トア111に記憶される制御データ信号は、ロー
カル・ストア114を介して転送されることが望
ましい。コントロール33と制御ユニツト11中
に示される構成要素の全てとの間の通信は、外部
レジスタ群118を介して行なわれる。外部レジ
スタ118は、ローカル・ストア114からバス
117を介して与えられたアドレス信号によつて
アドレスされる。外部レジスタ群118から制御
ユニツト11の各種の構成要素に対する通信は、
一対の単方向性バス119を介して行なわれる。
その電気的接続は通常の方法で実行される。
マイクロプロセツサ110はバス・アウトBO
120及びバス・インBI121を含む。BO及び
BIはローカル・ストア114、外部レジスタ1
18、及び所望される他のユニツトへ接続され
る。マイクロプロセツサ110は複数の割込レベ
ルによつて割込駆動される。これらの割行みはバ
ス122を介して制御ユニツト11の各種の構成
要素によつて与えられる。バス122はレベル0
〜6を有する割込信号を搬送するが、その優先順
位は記憶サプシステム中で実行されるべき機能に
従つて予め割当てられている。制御ユニツト11
の電気信号タイミングはクロツク兼シーケンサ1
23によつて遂行される。クロツク兼シーケンサ
123はタイミング・パルスを与えるのみでな
く、マイクロプロセツサ110を順序付け、コン
トロール33に初期値を与えて、制御ユニツト1
1を正しく動作させる。外部レジスタ118から
出る接線119は、制御ユニツト11の全ての他
の部分へ接続される。
第4図は制御テーブル及びマイクロプログラム
群を示すコントロール・ストア111のマツプで
ある。もちろんテーブルは記憶サブシステムの成
功した動作のために必要な制御情報を表わす信号
を含む。まずテーブルについて説明する。
CUT130は制御ユニツト11の全体に関連
した情報信号を含む制御ユニツト動作テーブルで
ある。このテーブルは個々の制御ユニツトCU−
0及びCU−1の動作状況に関連しており、駆動
装置やチヤネル14に関していない。CST13
1は指令状況テーブルである。このテーブルはア
ドレスされた駆動装置の為に実行されつつある現
在の指令状況を表わす情報信号を含む。ホスト1
2は入出力チヤネル14を介してそれぞれの制御
ユニツト11へチヤネル指令を与える。CST1
31は任意のチヤネル・アダプタ80によつて受
取られたそれら指令の実行に関して現在の状況を
反映する。SDT132は選択された駆動装置の
状況を表わす情報信号を含む。このテーブルは、
制御ユニツト11をして、任意の駆動装置を緊密
に制御させ且つ動作させる。LDT133は論理
装置テーブルである。このテーブルは、駆動装置
が論理的にバツフア15へ拡張された時の各駆動
装置の状況、及び各駆動装置の広範な動作状況を
表わす情報信号を含む。上記の広範囲な動作状況
は、例えばSDT132に現われるものよりも性
格的により一般的なものである。PAT134は
係属割当テーブルであつて、このテーブルは、バ
ツフア・スペースが未だ割当てられていない時、
バツフア・スペースを必要とする駆動装置をそれ
らの各アドレスによつて待合せさせる情報信号を
有する。このテーブルはFIFO(先入れ先出し)
テーブルであることが望ましい。HID135は、
チヤネル・アダプタ80を介して制御ユニツト1
1と通信しているホスト12のためのホスト識別
信号を含む。DOT136は装置動作に関連し、
スケジユール、アクチブな装置動作及び完了した
装置動作を表わす情報信号を含む。そのような動
作としては、テープの搬送、読取り及び書込みな
どがある。BST137はバツフア15の状況に
関連た情報信号を含む。そのような情報信号は、
バツフアへのデータ転送、そこからのデータ転
送、バツフア・スペースの割当て、その他のバツ
フア関連機能に関連している。PDT138は、
バツフア・スペースに関連した活動が終つた時、
駆動装置から割当てを解くことのできるバツフア
15のバツフア・スペースを表わす情報信号を含
む。割当ての解放は、そのような活動がストツプ
するまで生じない。DIA139は装置情報、駆動
装置及び入出力チヤネル14に関連した制御デー
タを表わす情報信号を含む。ケーブル109を介
して実行されるコントロール間通信情報もここに
記憶される。それらの情報は、駆動装置動作及び
チヤネル動作に基づいて発生してよい。DST1
40は装置状況に関連した情報信号を記憶する。
即ち、駆動装置によつて制御ユニツト11へ与え
られた最後の装置状況がこの領域に記憶される。
BRT141はバツフア15の動作に関連してい
る。このテーブルはバツフア15にあるレコード
の状況を表わす。バツフア中の各レコードは
BRT141へ入れられ、バツフア15における
レコードの記憶状況を示す信号を含んでよい。
DIAG142は制御ユニツト11で実行される
診断機能を制御するため使用されるテーブルであ
る。CXT143は、バツフア15と任意の入出
力チヤネル14との間でチヤネル・アダプタ80
を介して実行される信号転送に関連した情報信号
を含む。そのような情報は、転送の方向及び転送
に関連した駆動装置のアドレスを含む。SNS14
4は、ホスト12へ報告されるべき感知データを
表わす情報信号及び装置アデレスによつて配列さ
れたいわゆるバツフア・ログを含む。BCT14
5はバツフア15のダイナミツクな論理アドレス
構成に関連した情報信号を記憶する。そのような
構成は、制御ユニツトへ接続された駆動装置の
数、及び制御ユニツト11が1個であるか2個で
あるかに従つて変動する。PGM146はいわゆ
る通路群マツプである。これは、サブシステムを
1つ又はそれ以上の論理記憶ユニツトへ区分する
ため、どの駆動装置が論理的にチヤネル・アダプ
タ80へ接続されるかを示す。PGT147はそ
れが論理区分を表わす識別信号を含み、且つ各論
理区分中にチヤネル・アダプタ80のいずれが存
在するかを示す点で、PGM146を補足するも
のである。SCT148は、遊び走査に関連した
信号を含むテーブルである。遊び走査は、所与の
駆動装置に関して、活動が生ずべきかどうかを決
定する。多様な動作がSCT148を介して導入
され得る。
数字149は、ここで特に説明されない他のテ
ーブルを表わす。しかし、これらのテーブルは第
2図に示された記憶サブシステムの実施例中で使
用れてよいものである。その様なテーブルは、バ
ツフア15の自由スペースを識別する表示、バツ
フア15のスペースの為の優先順位待ち行列、バ
ツフア15の為のセグメンテーシヨン表示、追跡
状況、タイム・アウトを制御するタイマ・テーブ
ル、及び複数装置記憶サブシステムを構築するの
に必要又は望ましい各種の領域を含んでよい。
各種のマイクロプログラム又は論理群は、バツ
フア15の管理に関連したマイクロコード・プロ
グラムであるCUBM150を含む。CUCB151
は、チヤネル・アダプタ80を介して入出力チヤ
ネル14とバツフア15との間で実行される信号
転送に関連したマイクロコード・プログラム又は
論理を指定する。CUCE152は、入出力チヤネ
ル14を介してホスト12から受取られた指令を
実行する準備として、前述した各種のテーブルを
設定することに関する。CUCH153は、装置選
択の如きチヤネル制御に関連している。CUSV1
54は、割込みの優先順位を決定するに当つてス
キヤン・ベクトルを使用する場合の割込監視プロ
グラムに関連ている。CUCS155は、CUCE1
52によつて設定された指令を実行するマイクロ
コード論理の指令指示セツトである。CUDB15
6は、駆動装置とバツフア15との間の信号転送
を制御し且つ監視することに関連する。CUDI1
57は、動作をスゲジユールする場合などの装置
アダプタ85の制御に関連している。CUER15
9はエラーの検出及び回復に関連している。
CUMD160は、制御ユニツト11によつて実
行される診断手段を含む保守機能に関連してい
る。CUSN161は、例えばSNS144に記憶さ
れた感知データを処理することに関する。数字1
63は、記憶サブシステムのために必要が生じた
時、上記のプログラム群が変更され且つ拡張され
てよいことを示す。
第5図は2つの制御ユニツト11の間における
負荷バランス活動の流れ図を示す。第5図の左方
は送出側ユニツトとしてのCU−0の流れに関連
する。同様に、受取側ユニツトとしてのCU−1
の動作は、第5図の右方に示される。2つの制御
ユニツト11は同じものであるから、第5図にお
けるCU−0及びCU−1の部分は、同じ番号を付
与されており、CU−0についての説明はCU−1
にも等しくあてはまる。先ずCU−0について言
えば、指令は160でホスト12から受取られ
る。その指令の実行中、遅延が生じるかどうかは
161で決定される。もし遅延が生じなければ
(これが大部分の場合であるが)、その指令の実行
はステツプ162で実行される。指令の動作はデ
ータ転送であつてよい。実行の完了は線163で
示される。他方、指令実行中の遅延は線164に
よつて示されるようにCCRを必要とする。更に
線164上の信号は、165でCCRKカウント及
びCUKカウントを1だけ増加する。この増加が
終ると、166でCU−0は、CUKカウントが閾
値T1(検出器46の閾値)に等しいか又はそれ
より大きいかどうかを決定する。もし閾値を超過
しないと、ステツプ167でアドレスされた装置
13が指令による動作のために準備される。その
ような動作としては、装置13から割当てられた
バツフア・セグメントへのデータ信号の転送、バ
ツフア・セグメントからアドレスされた装置13
へのデータ信号の記録などがある。論理装置の準
備が成功裏に完了すると、線168によつて示さ
れるように、装置終了信号がホスト12へ与えら
れる。このような動作は米国特許第3688274号に
教示されている。
もし閾値T1を超過しないと、CU−0は2つの
制御ユニツト11におけるCUKカウントの間の
差を決定する。CU−1のCUKカウントは線17
1を介して受取られ、165で増加されたCUK
カウントと比較される。ステツプ170で、差の
閾値T2(差動回路55の閾値)を超過しない
と、線172により、167で論理装置の準備が
開始される。更に、線172の信号はOR回路1
73を通つて、165でCUK及びCCRKカウン
トをリセツトすることにより、再調整を行う。
CU−1において、線172は対応するCUKカウ
ント及びCCRKカウントがクリアされることを示
す。選択リセツト又はシステム・リセツト指令を
受取つた時に必要となるように、ステツプ162
は線175を介して上記のカウントをクリアして
よい。
CCRKカウント及びCUKカウントの差が閾値
T1及びT2を超過すると、177で、デルタ値に
等しいCCRKカウントが選択される。選択された
装置13はデルタ値に等しいか又はそれより小さ
いCCRKカウントを有する。このCCRKカウント
は全ての装置13の最小のCCRKカウントであ
る。実施例において、デルタ値はCU−0及びCU
−1におけるCUKカウントの差の半分である。
1度CCRKカウントが決定されると、関連した装
置アドレスは、線178を介して装置送出ステツ
プ180へ与えられるとともに、線179へ与え
られて、165からCCRKカウントを除去するよ
うに使用される。即ち、識別された装置アドレス
及び関連したCCRK及びCUKカウントはもはや
165に存在しない。ここで制御ユニツトCU−
1に注目すると、それは装置再割合ステツプ18
3によつてCU−0から装置情報を受取る。ステ
ツプ183は装置13の動作状況を受取り、18
4で比較動作を開始させる。それは、割当てられ
た装置の数(作業割当て)がP(CU−1に対す
る作業割当閾値)より大きいかどうかを決定する
ためである。もし大きくなければ、CU−1は走
査モジユール187で実行すべき作業を走査す
る。
184で、もし装置の数が受取側制御ユニツト
CU−1の作業割当て(即ち、割当閾値P)を超
過すれば、185で最小の活動を有する論理装置
が識別され、その識別信号が線186を介して
CU−1の装置送出ステツプ180へ送られる。
ステツプ180は上記識別信号をCU−0へ送
る。CU−0は装置再割当ステツプ183を介し
て上記識別信号を受取る。
この実施例において、CU−1において装置1
3に対するバツフア割当てはなされない。これ
は、論理装置が不完全であることを意味する。ホ
スト12が新しく割当てられた装置13に関して
データ処理動作を実行するようCU−1へリクエ
ストする時、バツフア15のセグメント(例えば
17)が装置へ割当てられる(即ち、論理装置が
完全となる)まで遅延が生じる。従つて、装置1
3が割当てられた時、論理装置を能動化するため
に遅延が必要であるから、CCRカウントは少な
くとも1である。
負荷バランス活動又は作業割当超過活動を開始
するに当り、装置の転移はバツフア15のセグメ
ントの割当解放を必要とする。従つて、装置送出
ステツプ180は、バツフア・セグメント解放ス
テツプ190を能動化する。データが論理装置の
バツフア・セグメントに存在する場合、線191
により、除去ステツプ192が開始される。書込
動作において、バツフア15のデータは、装置の
転移が起る前に、装置13へ書込まれる。再生動
作において、バツフア中のデータは消去され、テ
ープ・レコーダが再生位置づけされる。それは、
レコーダからバツフア15へ受取られた最初のレ
コードを読取るためである。デイスク記憶装置の
読取動作では、除去動作は必要でない。除去ステ
ツプ192が完了すると、バツフア管理は解放信
号発生ステツプ193へ進む。ステツプ193
は、バツフア・セグメントを実際に解放するた
め、線194を介してセグメント解放ステツプ1
90へ解放信号を与える。
ステツプ162へ戻つて、実行される指令は前
にアドレスされた装置13を切離するものである
かも知れない。テープ・レコーダのそのような指
令は、巻戻兼アンロード・ステツプ197を必要
とするかも知れない。ステツプ197は、線19
8を介して、巻戻されかつアンロードされつつあ
る(即ち、切離されつつある)装置のために
CCRKカウントを除去し、CUKカウントから
CCRKカウントを減算して、適当な負荷バランス
の監視が続くようにする。
第6図は本発明で実行される論理の構成を示
し、第7図乃至第10図乃び第15図は第6図の
論理と関連して使用されるメモリ構成を示す。更
に本発明の動作は、第5図の流れ図に従う。第6
図の論理は第3図のマイクロプロセツサ110に
より実行され、第6図の論理モジユールと、第7
図乃至第10図及び第15図のテーブルはコント
ロール・ストア111の所定のアドレス可能記憶
ロケーシヨンに記憶されている。マイクロプロセ
ツサ110は、データ処理技術分野で周知のよう
に、自動的に作業を走査するように構成されてい
る。この走査は多重レベル割込ベースでなされ、
先ず割込みの最高優先順位部分が走査され、次
に、そのような割込みが存在しない場合、割込み
の次のレベルが走査される。以下、同様である。
これら割込走査の全ては第6図の走査モジユール
187′で実行される。
第6図乃至第24図に示される論理モジユール
はCSDCD200の如く表示される。論理モジユ
ールの左方の2つの文字(例えば、CS)は、第
4図に示されるプログラム150〜161の右方
の2つの文字に対応する。例えばCSDCD200
はCUCS155に含まれる論理モジユールであ
る。
指令はチヤネル・アダプタ80(第2図)を介
して受取られ、バス81を介してコントロール3
3へ転送される。コントロール33はマイクロプ
ロセツサ110及びプログラムを含む。マイクロ
プロセツサ110によつて指令が受取られると
(第6図の線160)、受取られた指令を解読する
ため、論理モジユールCSDCD200が呼出され
る。CSDCD200は、マイクロプロセツサ11
0をして、指令の実行中に遅延が生ずべきか否か
を決定させる。他の遅延は、論理モジユール
CEWRT201、CEERG202又はCEWTM2
03によつて決定されることができる。これら論
理モジユールの各々は、BMIDF205を呼出す
ため、線204へCCR信号を与えることができ
る。論理モジユールCEWRT201は制御ユニツ
ト11内の書込動作に関連する。その場合、論理
装置表示を介して書込動作へ割当てられたバツフ
ア15のセグメントはデータで満たされる。
CEERG202は、記憶エラーからのエラー回復
のため、消去ギヤツプを形成することに関連す
る。CEWTM203は、記録テープ上にテー
プ・マークを書込むことに関連する。いずれにせ
よ、CCR信号は、マイクロプロセツサ110内
で複数の論理モジユールの任意の1つから発生さ
れることができる。この論理モジユールは、マイ
クロプロセツサ110をして、論理装置に関連し
た種々の機能を実行せしめる。
論理モジユールBMIDF205は、線206及
び207によつて示されるように、CCRKカウン
ト及びCUKカウントを増進する。この論理モジ
ユールは、装置故障増進に関連する。即ち、指令
の実行中に遅延を生じることなくバツフア割当て
又は他の論理装置機能が実行され得ない時に、
CCR信号が生じる。第8図に示されるように、
CCRKカウントは全てLDT133に含まれる。
LDT(論理装置テーブル)133を構成するレ
ジスタは、レジスタ41及び42を含み、これら
レジスタはそれぞれCCRKカウントを含む。
LDT133はコントロール・ストア111の一
部であり、ベース・アドレス及び装置13の装置
アドレスによつてアドレス可能である。従つて、
16個までのレジスタがLDT13中に存在する。
BMIDF205は、適当なCCRKカウントを更新
するため、マイクロプロセツサ110をして、受
取られた指令に関連した装置アドレスに従つて、
LDT133のCCRKフイールドを探索する。同
様に、線207によつて示されるように、制御ユ
ニツト・テーブルCUT130は、CUKカウント
のためにアクセスされる。CUT130は、コン
トロール・ストア111中の所定のアドレス可能
レジスタから構成される。
BMIDF205は、マイクロプロセツサ110
をして、CUKカウントがその閾値を超過したか
どうかを決定させる。閾値が超過され、負荷バラ
ンス活動が調査されるべきである時、CU−1か
らCUKカウントをリクエストするため、マイク
ロプロセツサ110がBMIDF205によつて能
動化される。この動作は、第6図でCU−1の走
査モジユール187′へ伸びる線210によつて
示される。線210は、第2図のCU−0からCU
−1へ行く線109上の信号に対応する。
CU−1の中では、論理モジユールBMSFC
(送信故障カウントに関連する)211が走査モ
ジユール187′に呼出される。それは、線17
1によつて示されるように、CU−1のCUKカウ
ントをCU−0へ転送するためである。BMSFC
211は、CU−1のマイクロプロセツサ110
をして、CU−1内のCUKカウント及びCCRKカ
ウントを再調整せしめる。BMIDF205は、マ
イクロプロセツサ110をして、差動回路55の
比較を実行せしめる。もし差(即ち、デルタ値)
が閾値を超過すれば、BMIDF205を実行して
いるマイクロプロセツサ110は、CUT130
内で、負荷バランス開始フイールド212(第7
図)を能動状態へセツトする。このセツトされた
フイールド212は、負荷バランス活動が生ずべ
きであることをCU−0内で記憶する働きをす
る。この時点で、マイクロプロセツサ110は、
より高い優先順位の割込みを探すため、BMIDF
205から走査モジユール187′へ戻る。モジ
ユール187′中で走査しているマイクロプロセ
ツサ110は、CUT130のフイールド212
を走査して、後述するような負荷バランス活動を
開始する。
CUT130は、制御ユニツトの動作シーケン
スを制御するため、CU−0内に設けられた重要
な制御テーブルである。フイールド212の外
に、メツセージ・バツフア満杯フイールド213
は、メツセージがCU−1から受取られたことを
CU−0へ表示する。これは、CU−1がCU−0
のBMIDF205から来る線210上のリクエス
トに応答する場合に使用されるメカニズムであ
る。フイールド213が能動状態へセツトされて
いることを発見されると、コントロール33内の
メツセージ・レジスタ(図示せず)が読出され
て、どのような動作が実行されるべきかを決定し
なければならない。フイールド213によつて示
されるようなメツセージの受取りは、指令を受取
る場合と同じ優先順位を有する。即ち、他の制御
ユニツトは、指令又は同じ優先順位の他の機能に
関連した情報を転送しつつある。第2図に示され
る記憶サブシステムにおける本発明の他の実施型
態では、状況ストア100が、その中にあるメツ
セージ・レジスタ(図示せず)及び接続線101
を介してメツセージを交換することができる。接
続線101は、接続線109と同じように構成す
ることができる。CUT130のフイールド21
4は、制御ユニツトがCU−0であるかCU−1で
あるかを示す。フイールド215は、物理的に存
在している装置の数を示す。即ち、その数は割当
てることのできる装置の最大数である。フイール
ド71は動作している装置の数を示す。即ち、そ
の装置はデータ処理活動のために現在その制御ユ
ニツトへ割当てられている装置13である。検出
器46と関連してBMIDF205によつて使用さ
れる閾値は、CCR閾値フイールド217に含ま
れる。2つの制御ユニツト11は複合マシンであ
る。従つて、制御テーブルCUT130は省略符
号218で示されるように追加的なエントリイを
有する。
マイクロプロセツサ110が作業を走査するに
つれて、それは負荷バランス開始フイールドがア
クチブであることを感知する。次に、マイクロプ
ロセツサ110は、線223によつて示されるよ
うに、負荷バランス論理モジユールBMLBL22
0を能動化する。CUT130の走査は線221
によつて示される。BMLBL220への制御の転
移は、ダツシ線222によつて示される。マイク
ロプロセツサ110はBMLBL220に応答し
て、CU−0及びCU−1におけるCUKの差の半
分に最も近くかつそれより大きくないCCRKカウ
ントを有する装置を発見する。次に、CST13
1の負荷バランス・フイールド224が能動状態
へセツトされる。それは、装置アドレス・フイー
ルド227によつて示される装置が負荷バランス
活動の対象になつていることを示すためである。
LDT133において、プリフエツチ読取フイー
ルド225が1へセツトされ、LDTレジスタに
よつて表わされる装置13がもはやプリフエツチ
読取りを許されないことを示す。即ち、負荷バラ
ンス活動の対象になつているアドレスされた装置
は、その割当てられたバツフア・セグメント中に
追加的なデータを記憶されるべきでない。更に、
マイクロプロセツサ110は、CUT130のフ
イールド212をリセツトし、CUT130の
CUKカウント・フイールド45をゼロにし、
LDT133における全てのCCRKカウント・フ
イールド41の全てをゼロにする。負荷バランス
活動の継続は、CST131のフイールド224
のセツトに基いて行われる。CST131は、受
取側制御ユニツトCU−1へ送られるべき装置を
指定する。更に、転移されるべき装置13は、第
15図に示されるように、SCT148のレジス
タ226に示される。例えば、もし装置5が負荷
均衡化のための装置として送られるべきであれ
ば、レジスタ226のビツト5が、送られるべき
装置であることを示すため、能動状態へセツトさ
れる。更に、CST131のフイールド228
は、フイールド227中で示された装置13が
CU−1へ送られるべき装置であることを示す。
この時点で、マイクロプロセツサ110は、再び
走査モジユール187′へ入る。
動作の優先順位によつて、マイクロプロセツサ
110がCST131フイールド224に基いて
負荷バランス活動へ戻ることを許されると、線2
30で示されるように、論理モジユールBMSDV
180が能動化される。CU−1へ送られるべき
装置の表示は、線231によつて示されるよう
に、SCT148からマイクロプロセツサ110
へ与えられる。BMSDV180は、前に説明した
ように、マイクロプロセツサ110を能動化し
て、CU−1への送出メツセージに基いて、アド
レスされた装置をCU−1へ転移せしめる。第6
図において、この動作は線232によつて表わさ
れる。線232はCU−1の走査モジユール18
7′を能動化して、CU−0からのメツセージを受
取らせる(これについては、後に詳細に説明す
る)。CU−0は、例えば装置5に関連した動作表
示状況信号の全てをCU−0からCU−1へ転送す
る。装置5は、負荷バランス活動を実効化するた
め、CU−1へ転移又は再割当てされつつある装
置である。装置13はCU−1へ転送されつつあ
るから、その装置に関するバツフア15の割当て
は、CU−0のバツフア15から解かれねばなら
ない。この割当ての解放は、線233を介して
BMSDV180から起される。線233は、論理
モジユールBMDBS190を能動化して、適当な
バツフア15のセグメントを解放させる。割当て
られたセグメントにデータが存在していなけれ
ば、マイクロプロセツサ110は線234を通つ
て論理モジユールBMPDT235へ進む。
BMPDT235は、第4図に関して前に説明した
ように、バツフア・セグメントの表示を係属中の
割当解放テーブルPDT138に入れる。バツフ
ア15のセグメントにデータが存在し、転送され
た装置が読取モードであつたならば、論理モジユ
ールCSRAH236が能動化される。装置が、バ
ツフア15のセグメント・データを装置13へ記
憶する書込モードにあつたならば、書込モード論
理モジユールCSCBW237が能動化される。こ
れら2つの論理モジユールは、マイクロプロセツ
サ110をして、バツフア15のセグメントから
データを除去せしめる。マイクロプロセツサ11
0は走査モジユール187′へ戻り、高い優先順
位の割込みが迅速に処理されることを保証する。
事実として、大部分の負荷バランス活動の間に、
割込みが生じる。
第9図はCST131を示す。CST131の各
エントリイは、フイールド227に示された装置
13のアドレスを有する論理装置に対応する。現
在実行されつつある指令は、フイールド241に
表示され、指令を受取らせかつ論理装置と関連し
ていたチヤネル・アダプタ80は、フイールド2
42に表示される。フイールド243は、2つの
制御ユニツト11のうちいずれが、フイールド2
41中に示された指令を受取つたかを表示する。
フイールド244は指令が係属中であること(即
ち、指令の実行が進行中であること)を表示す
る。CCRフイールド245は、チヤネル指令リ
トライ状況が、フイールド227に示された装置
のためにチヤネルによつて受取られたことを示
す。フイールド240はプリフエツチ読取抑止フ
イールドである。このフイールドは、負荷をバラ
ンスさせるため転移されつつある装置13が、デ
ータ信号をバツフア15へ転送することを禁止す
る。更に、フイールド240は、本発明と直接の
関連を有しない記憶サブシステムの他の機能に関
連して使用される。フイールド246は、チヤネ
ル終了信号がチヤネルによつて受取られたことを
示す。従つて、第5図の線168によつて示され
るように、装置終了信号がアドレスされた装置に
ついて必要となる。省略符号247は、CST1
31が記憶サブシステムの他の実施例を構成する
場合に、他のエントリイを有してよいことを示
す。
論理モジユールCSRAH236及びCSCBW2
37は、マイクロプロセツサ110を能動化し
て、CU−1へ転移されつつある装置13に関連
したデータをバツフア15から除去せしめる。こ
の除去に続いて、CST131のフイールド24
4のビツトがリセツトされ、セグメントの割当解
放が生じるようにする。従つて、走査モジユール
187′中で走査を実行しているマイクロプロセ
ツサ110は、論理モジユールBMCBM193を
能動化する。BMCBM193は、後に第18図を
参照して詳細に説明するように、バツフア状況に
基いて割込まれた動作を処理するように設計され
た継続バツフア管理機能である。BMCBM193
は、マイクロプロセツサ110を能動化して、論
理モジユールBMDBS190を能動化せしめる。
BMDBS190は、前述したBMPDT235を能
動化して、負荷バランス活動中に転移されつつあ
る装置13へ割当てられたバツフア15のセグメ
ントの割当を解放するようにスケジユールさせ
る。
論理装置はLDT133を介して指定されると
ともに制御され、それぞれの論理装置に関連した
バツフア15のセグメントはBST137を介し
て制御される。それぞれの制御ユニツト11にお
いてバツフア15のセグメントのそれぞれにつき
1個のレジスタがBST137に存在する。記憶
サブシステム10によつて受取られた全ての指令
は、装置アドレスに基いておりバツフア15のセ
グメント・アドレスには基いていないので、
LDT133はBST137のための間接アドレ
ス・ベースとして使用される。この点に関して、
LDT133の各レジスタにあるフイールド25
3は、BST137中の対応するエントリイのア
ドレスを示す。更に、LDT133において、フ
イールド254は、テープ・マークが書込まれつ
つあるか、又は装置13から読取られたかを示
す。テープ・レコーダを使用しない実施例では、
フイールド254を省略してよい。フイールド2
55は、プリフエツチ読取動作が現在起つている
ことを示すためにセツトされる。スケジユールさ
れたプリフエツチ読取動作は未だ実行されていな
い。装置13と割当てられたバツフア15のセグ
メントとから構成される論理装置に関連した
LDT133のフイールドであつて、本発明と直
接の関連を有しないものは、省略符号256で示
される。
バツフア15のセグメント動作に関連した
BST137は、各セグメントのために複数のフ
イールドを有する。フイールド260は、セグメ
ントが割当てられている装置13のアドレスを含
む。もしそれが割当てられていなければ、フイー
ルド263はゼロへリセツトされる。その時、フ
イールド260の内容は無視される。フイールド
261,262はそれぞれLRUP(最旧時使用ポ
インタ)及びMRUP(最近時使用ポインタ)に関
連している。MRUPは次の最近時に使用されたセ
グメントを指令し、LRUPは次の最旧時使用セグ
メントを指令する。フイールド264は、バツフ
ア15のセグメントが現在約束されていることを
示す。即ち、それは、BST137のエントリイ
に対応するバツフア15のセグメントに関連した
データ処理動作が現在実行されていることを示
す。フイールド265は、セグメントが自由化
(割当解放)のためにスケジユールされているこ
とを示す。フイールド266は、バツフア・セグ
メントが読取モード(ビツト1)にあるか、又は
書込モード(ビツト0)にあるかを示す。フイー
ルド267は、前方又は逆方向動作を示す。省略
符号268は、本発明に直接の関連を有しない他
のフイールドがBST137に含まれてよいこと
を示す。
第6図に戻つて、論理モジユールCERST27
0はホスト12から走査モジユール187′を介
して受取られたリセツト指令に応答し、線271
によつてCUT130,LDT133,CST13
1,SCT148、状況ストア100,BST13
7の内容をリセツトする。ここで理解すべきは、
コントロール・ストア111において他のテーブ
ルもリセツトされることである。本発明の実施例
に関する限り、CCRK及びCUKカウントの各フ
イールドは、論理モジユールCERST270によ
つてリセツト又は再調整されることに注意された
い。
装置13が最初に選択された時、選択要求活動
に続いて最初の指令がホスト12から受取られた
時を除いて、CUKカウント及びCCRKカウント
は変更されない。その時、バツフア・スペースは
割当てられていないから、CCR信号が送られ
る。この時点で、新しく選択された装置のCCRK
カウントは1にされ、CUKカウントは1だけ増
加される。マイクロプロセツサ110は、走査モ
ジユール187′を介して線274をたどり、論
理モジユールBMABS(バツフア・セグメント割
当て)275へ応答する。この論理モジユールの
詳細は第21図に示されている。もしバツフア1
5の単一セグメントが割当てられるべきであれ
ば、BMASE(単一セグメント割当て)276が
能動化される。もしバツフア・セグメントが利用
可能であれば(即ち、自由状態にあれば)、割当
て状況をBST137へ入れること以外に、マイ
クロプロセツサ110による動作は必要とされな
い。他方、バツフア15の全てのセグメントが割
当てられていれば、BMASE276はマイクロプ
ロセツサ110をしてBMDBS190を能動化せ
しめる。それは、バツフア・セグメントの最近時
使用セグメントの割当てを解いて、それを新しく
能動化されかつ選択された装置13へ割当てるた
めである。この活動は、線160で示されるよう
に、指令を受取つた時、論理モジユールCSDCD
200を介して開始される。係属割当テーブル
PAT134は、割当リクエストによつて能動化
される。走査モジユール187′を走査している
マイクロプロセツサ110は、PAT134を読
取り、割当リクエストを発見し、前述したように
BMABS275を能動化する。
受取側のCU−1では、装置の転移は線232
によつて示される。線232は論理モジユール
BMRAD(装置再割当て)183を能動化するた
め走査モジユール187′へ伸長されている。
BMRAD183は、マイクロプロセツサ110を
して受取られたメツセージ(即ち、装置13の転
移)を指令として処理せしめる。従つて、線28
0によつて示されるように、CU−1の論理モジ
ユールCSDCD200は後述するようにして能動
化される。この動作は、CU−1が転移された装
置を動作的に受取るのに必要な活動を起させる。
線281は、CSDCD200に応答してCU−1内
で他の動作が開始されてよいことを示す。
CSDCD200は受取られたCU−0メツセージに
応答する。PAT134は、割当リクエストに対
してCU−1のバツフア・セグメント割当モジユ
ール(図示せず)を能動化するため、アクセスさ
れることができる。更に、BMRAD183は、マ
イクロプロセツサ110をして、BMNLD282
を能動化せしめる。それは、CU−1へ現在割当
てられている論理装置の数を決定するためであ
る。もし論理装置の数が制御ユニツトCU−1の
能力を超えれば、論理モジユールBMSLD(最旧
時活動装置送出)185がマイクロプロセツサを
能動化して、線186で示すように、最旧時活動
装置をCU−0へ戻させる。この転移は、
BMSDV18がCU−0を能動化して装置をCU−
1へ転移したのと同じようにして行われる。
第11図は前述した論理モジユールCSDCD2
00を示す。このモジユールは、160で、指令
又は論理モジユールBMRAD183を通して動作
するマイクロプロセツサ110からの論理的能動
化によつて能動化される。最初の動作は能動化の
源を分析することである。即ち、指令がアダプタ
80から受取られたのか、又はメツセージが他の
制御ユニツト11から受取られたのかを決定す
る。指令コードは、記憶サブシステムによつて何
が実行されるべきかを示す。ハウスキーピング動
作が完了した後、291でマイクロプロセツサ1
10は、BST137(第10図)の内容を感知
し、アドレスされた装置13がエラー又は異常な
状態を有するかどうか、アドレスされた装置13
のために活動を起すことができるかどうかを決定
する。もしそうであれば、292でマイクロプロ
セツサ110は第9図のフイールド241を検査
して、指令が読取指令であるか又は書込指令であ
るかを決定する。読取指令でも書込指令でもなけ
れば、293で本発明に直接の関連を有しない補
助機能が実行される。これらの機能には、論理制
御指令を変更するパラメータのような、チヤネ
ル・アダプタ80から来る指令データを受取るこ
とが含まれる。数字294は、指令の性質が分析
されねばならないことを示す。そのような補助機
能が完了し、又は292で検出された指令が読取
指令又は書込指令であれば、295でマイクロプ
ロセツサはCST131からどの制御ユニツトが
指令を実行すべきかを決定する(フイールド24
3参照)。もし制御ユニツトがCU−1のような他
の制御ユニツトであれば、指令に関連するメツセ
ージがケーブル109(第2図)を介してCU−
1へ転送される。そのようなメツセージは指令デ
ータ及び指令それ自体を含み、296で転送され
る。297では、本発明と直接の関連を有しない
他のハウスキーピング機能が実行される。もし指
令が局部の制御ユニツト(即ち、CU−0)によ
つて実行されるべきであれば、アクシヨンをとる
必要はない。更に、指令を解読するに当つて、本
発明に関連のない他のステツプが298でとられ
る。300では、マイクロプロセツサ110は
BST137を読取り、バツフア15の動作モー
ドを決定する。即ち、それが読取モードであるか
書込モードであるかを決定する(第10図のフイ
ールド266参照)。第11図に示される残りの
ステツプの全ては、指令実行中の遅延の検出に関
連している。例えば、301でマイクロプロセツ
サ110はアドレスされた装置13(転移されつ
つある装置)へ割当てられたバツフア・セグメン
トが満杯であるかどうかを決定する。BST13
7の省略符号268で表わされた1つのフイール
ドは、フイールド260に対応するBST137
のエントリイによつて表わされたバツフア・セグ
メントが満杯であるか空であるかを示す。バツフ
ア・セグメントが満杯でなければ、書込モードに
遅延は生じない。バツフア・セグメントが書込モ
ードにおいて満杯であれば、302でマイクロプ
ロセツサ110は、チヤネル指令リトライ
(CCR)コードをセツトし、ホスト12へ中継す
るため、遅延をチヤネル・アダプタ80へ報告す
る。ステツプ301又は302からは、後述する
ように、ポイント303を通してCCR検査出口
ルーチンへ入る。
ステツプ300で、アドレスされた装置が読取
モードにあることをBSTが示すと、マイクロプ
ロセツサ110は、線306を通つて、アドレス
された装置13に割当てられたバツフア・セグメ
ントが空であるかどうかを検査する。この検査は
4つのステツプで実行される。最初に307で、
マイクロプロセツサ110は、論理装置が前方モ
ードにあるか逆方向モードにあるか(フイールド
267参照)を決定し、かつバツフア・セグメン
トが満杯であるか空であるかを検査する(省略符
号268のフイールドで示される)。もし論理装
置が前方読取モードにあり、バツフア15のセグ
メントが空であれば、308でCCRコードを1
へセツトしホスト12へチヤネル指令リトライを
報告することによつて、遅延がマイクロプロセツ
サ110によつて表示される。同様に310で、
マイクロプロセツサ110はアドレスされた装置
13に関連したBST137のエントリイを検査
し、装置が逆方向読取モードにあるか(フイール
ド267)及びセグメントが空であるか(フイー
ルド268)を決定する。もしバツフア・セグメ
ントが空であれば、311で、チヤネル指令リト
ライが開始される。291へ戻つて、もし装置が
割当てられていなければ(BST137のフイー
ルド263)、マイクロプロセツサは通路313
をたどり、314でチヤネル指令リトライ・コー
ドを1へセツトする。今やマイクロプロセツサ1
10は指令の解読及び他の制御ユニツトからのメ
ツセージの受取りに関する全ての可能な条件を検
査した。上記の他の制御ユニツトは、チヤネル指
令リトライによつて表示される遅延を開始する指
令に関連するものである。
CCR検査ルーチンへは、ポイント303を介
して入る。316で、マイクロプロセツサ110
は、チヤネル指令リトライが前述したオペレーシ
ヨンのいずれかによつて開始されたかどうかを検
査する。もし開始されていなければ、若干のハウ
スキーピング・プログラム・ステツプが317で
実行される。199で走査モジユール187′へ
戻る。他方、遅延が開始されていれば、アドレス
された装置のビジイ状態(CCRKカウントによつ
て表わされる)及び制御ユニツトのビジイ状態
(CUKカウントによつて表わされる)が増加され
ねばならない。これは、ステツプ318で論理モ
ジユールBMIDF205(第6図)を能動化する
ことによつて達成される。
次に第12図を参照すると、204でBMIDF
205がマイクロプロセツサ110によつて能動
化される。遅延の発生は、既にCSDCD200に
よつて決定されたから、320でマイクロプロセ
ツサ110はアドレスされた装置13のために
CCRKカウントを増加する。CCRKカウントは第
8図のLDT133に含まれている。321で、
マイクロプロセツサ110は、CU−0のための
CUT130にあるCUKカウントを更新する。3
22で、マイクロプロセツサ110は、CUKカ
ウントが閾値T1を超過しかたどうかを決定す
る。もし超過していなければ、負荷バランス活動
を開始する必要はない。従つて、マイクロプロセ
ツサ110は323を介してCSDCDへ戻る。3
22で、閾値T1を超過していれば、324でマ
イクロプロセツサ110は負荷バランス活動が禁
止されているかどうかを決定する。実施例におけ
る負荷バランスの禁止は、保守のみを目的とする
ものであつた。従つて、負荷バランスの禁止に関
連するCUT130の制御フイールドは、省略符
号218によつて表わされるフイールドにある。
論理装置は、負荷バランス活動から除外されるよ
うに、特定の制御ユニツトへ束縛されてよい。更
に、2個又はそれ以上の制御ユニツトが記憶サブ
システム中に使用されている場合、1つの制御ユ
ニツトの全体が負荷バランス活動から除外されて
よい。他方、負荷バランスが禁止されていなけれ
ば、325でマイクロプロセツサ110はCUT
130の負荷バランス開始フイールドを感知す
る。もし既に負荷バランスが開始されていれば、
負荷バランスを開始させるためのそれ以上の活動
は必要でない。負荷バランスは、他の制御ユニツ
ト(例えばCU−1)によつて開始されたかも知
れない。もし負荷バランスが開始されていなけれ
ば、326でCU−1のCUKカウントがケーブル
109を介して読取られ、後にBMLBL220に
よつて使用されるために記憶される。327で、
マイクロプロセツサ110は負荷バランス開始フ
イールドを1へセツトし、CSDCD200へ戻
る。
BMIDF205のステツプ326は、論理モジ
ユールBMSFC211(第6図)によつてCUKカ
ウントを送るというCU−1の動作を必要とす
る。第13図はCU−1の論理モジユール
BMSFC211を示す。330で、CU−1のマ
イクロプロセツサ110はCU−1のフイールド
212を調べて、負荷バランスがCU−1によつ
て開始されたかどうかを決定する。もし開始され
ていなければ、331で、CU−1のCUKカウン
トがCU−0へ転送される。これは、第12図の
ステツプ326に関連する実際の転送である。3
32で、CU−1はそのCUT130のCUKカウン
トをクリアする。次に333で、CU−1のLDT
133における全てのCCRKフイールドがゼロへ
クリアされる。他方、330で、負荷バランス開
始フイールドが1に等しかつたならば、334
で、CU−1のマイクロプロセツサ110はその
負荷バランス開始フイールドをゼロへリセツトす
る。この動作は、CU−1からの負荷バランス活
動を禁止する。ここで注意すべきは、2つの制御
ユニツト11が高い負荷を有する時、前述した動
作は負荷バランスを生じないことである。しか
し、CUK及びCCRKカウントは全てゼロへリセ
ツトされることによつて再調整される。従つて、
閾値T1が超過されると、常に制御ユニツト11
において負荷バランスの再調整を生じ、2個の制
御ユニツトの作業負荷に不均衡がある時にのみ負
荷バランスの活動が生じる。
次に第14図について説明する。前述した活動
が完了し、負荷バランスが生ずべきであれば、
CUT130のフイールド212は、CU−0のマ
イクロプロセツサ110へ、負荷バランスが続い
て起ることを教える。マイクロプロセツサ110
は、その走査モジユール187′を介してCUT1
30を感知し、223で示されるようにBMLBL
220を能動化することによつて、負荷バランス
を開始する。先ず340で、CU−0のマイクロ
プロセツサ110は、CU−0のCUKカウントか
らCU−1のCUKカウントを減算して、差のデイ
ジタル信号を発生する(第1図の差動回路55を
参照)。341で、マイクロプロセツサ110は
差のデイジタル信号を2で除算して、デルタ・デ
イジタル信号を発生する。342で、デルタ・デ
イジタル信号が閾値T2で比較され、2つの制御
ユニツト11のCUKカウントの差が負荷バラン
スを必要とするかどうかが決定される。実施例に
おいて、閾値T2との比較は、第1図の差動回路
55の中でではなく、除算の後に実行される。い
ずれにせよ、342で、閾値T2がデルタ信号に
よつて超過されなければ、負荷バランスは開始さ
れず、後述するようにして、CUKカウント、全
てのCCRKカウント、及び負荷バランス開始フイ
ールドがリセツトされる。もし閾値T2が超過さ
れれば、マイクロプロセツサ110は、ステツプ
343及び344でLDT133のCCRKカウン
ト・フイールドを走査し、CUKカウントの差の
半分に略等しくかつそれよりも大きくないCCRK
カウントを有する論理装置が識別される(CCRK
=デルタ/2)。334で適当な論理装置が識別
されると、それは、SDレジスタ226の適当な
ビツトを能動状態へセツトすることによつて、第
15図のSCT148へ記憶される。そうでなけ
れば、CCRKカウントの走査が続く。それは、負
荷バランスを実効化するため、CU−1へ転移す
るための最も近い論理装置が発見されるまで継続
する。345では、ステツプ343,344で識
別された論理装置について、CST131が変更
される。その変更は、フイールド224及び22
8を1へセツトすることによつて行われる。更に
LDT133では、識別された論理装置のための
プリフエツチ読取りが、フイールド225をセツ
トすることによつて禁止される。第14図の最後
の2つのステツプは、ビジイ状態を表わすカウン
トCUK及びCCRKを再調整する。即ち、346
で、CUT130のフイールド212及びCUKカ
ウントがリセツトされる。347では、マイクロ
プロセツサ110はLDT133中の全ての
CCRKカウントをゼロへクリアする。この時点
で、負荷バランスが開始され、マイクロプロセツ
サ110は、より高い優先順位の作業を検査する
ため、走査モジユール187′へ戻る。CU−0の
中により高い優先順位の作業が存在しなければ、
次に説明するようにして、負荷バランスが続く。
負荷バランスの次のステツプは、CU−1へ識
別された装置を「送る」ことである。第25図は
どのようにしてCU−0が装置をCU−1へ転移す
るかを示す。230で、BMSDV180が走査モ
ジユール187′からマイクロプロセツサ110
によつて能動化される。351で、マイクロプロ
セツサはSCT148のSDレジスタ226を感知
して、そこに非ゼロの値が存在するかどうかを調
べる。もし転移すべき装置13がなければ、マイ
クロプロセツサ110は線352をたどり、走査
モジユール187′へ戻る。他方、SDレジスタが
非ゼロであれば、353で、マイクロプロセツサ
110はSDレジスタ226の値をマイクロプロ
セツサ110内の作業レジスタへ転送し、SDレ
ジスタ226をゼロへリセツトする。354で、
マイクロプロセツサ110は、BST137か
ら、バツフア・セグメントがSDレジスタの内容
によつて示された装置へ割当てられているかどう
かを決定する。もしセグメントが現在割当てられ
ていなければ(即ち、フイールド263がゼロで
あれば)、装置13は遅延を生じることなくCU−
1へ送られることができる。本発明の理解に関係
のない若干のハウスキーピング動作が355で実
行される。次に356で、マイクロプロセツサ1
10はケーブル109を介してメツセージをCU
−1へ実際に送る(状況ストア100及びケーブ
ル101を介して送ることもできる)。メツセー
ジは、転移されつつある装置に関連したCST1
31及びBST137の内容を含み、かつCU−1
が転移された装置と共に動作するために必要な他
の情報を含む。そのような他の情報としては、識
別データ(バツフアにおけるデータのブロツク識
別情報)、バツフア・セグメントのブロツク・サ
イズ、他の種々の制御情報がある。357で、
CU−1へ転送されたメツセージがメツセージ領
域で受取られる。次に358で、ハウスキーピン
グ・ルーチンが実行される。このハウスキーピン
グ・ルーチンは、CU−1へ転送された全ての制
御情報をリセツトするルーチンを含む。次に、
CU−0の走査モジユール187′へのリターンが
生じる。
他方、もし転送されつつある装置に関して、バ
ツフア・セグメントが割当てられていれば
(BST137のエントリイで示される)、359
で論理モジユールBMDBS190が能動化され
る。それは、バツフア・セグメントの割当てを解
き、後で詳細説明するように、バツフア・セグメ
ント内のデータを除去するためである。次に36
0で、本発明と関連のないコードが実行され、
CU−0のマイクロプロセツサ110による走査
モジユール187′への戻りが生じる。
第16図は、CU−1のために第6図で実行さ
れるモジユールBMRAD183を示す。このモジ
ユールは、第25図で説明したように、CU−1
のマイクロプロセツサ110をして、CU−0か
ら受取られたメツセージをCU−1のテーブル及
び制御領域へ転送させ、転送された装置13が
CU−1に関して操作可能になるようにする。3
62で、CU−1のマイクロプロセツサ110は
BMRAD183を能動化し、363で、CU−1
のメツセージ領域へ受取られたメツセージがCU
−1のCST131,BST137,LDT133、
及び装置13の操作制御に必要なその他の制御領
域(図示せず)へ転送されるようにする。次に、
364でCU−1の論理モジユールCSDCD200
が能動化される。ここで注意すべきは、CU−1
のマイクロプロセツサ110によるCSDCD20
0の実行は、受取られたメツセージの分析、及び
指令がチヤネル・アダプタ80を介して受取られ
なかつた事実の分析を生じることである。もし事
実として指令が受取られたのであれば、CU−0
がそれを受取つていても、CU−1はその指令を
実行するように進行する。365で、CU−1の
マイクロプロセツサ110は、BMNLD282を
能動化し、CU−1へ割当てられた装置13の数
が8個を超過しないかどうかを調べる。次に、3
66でCU−1は走査モジユール187′へ戻る。
この時点で、CU−1は、転移されたばかりの装
置13に関して、全てのデータ処理活動を処理す
る準備をととのえる。注意すべきは、バツフアの
割当ては生じていないことである。即ち、論理装
置は再構成されていない。従つて、転移された装
置13のために受取られた最初の指令は、
CSDCD200をして、リクエストを出したホス
ト12へCCR信号を送らせる結果となる。
第17図に示される論理モジユールBMDBS1
90は、第6図に示されるように、いくつかの他
の論理モジユールによつて能動化される。この能
動化は第17図の370として集約的に示されて
いる。先ず371で、マイクロプロセツサ110
は、BST137を検査し、バツフア・セグメン
トの割当てを解かれるべき論理装置が約束されて
いるかどうか(即ち、データ処理動作についてア
クチブかどうか)を決定する。この決定はフイー
ルド264を検査することによつて達成される。
もしそれが約束されていれば、372で、リター
ン・コードRCが2にセツトされる。それは、後
に例えば装置アドレスをPDT138へ挿入する
場合のように、取るべき動作を決定する場合に使
用される。もし割当てを解かれるべきバツフア・
セグメントが371で約束されていなければ、3
73で、マイクロプロセツサ110は、割当ての
解放が装置をCU−1へ送つた結果によるもので
あるかどうかを決定する。ステツプ373から3
76までは、アドレスされた装置がマイクロプロ
セツサ110へ予約されるべきかどうかを決定す
る。もし現在の活動が装置送出動作であれば(ス
テツプ373)、マイクロプロセツサ110はア
ドレスされた装置13の上に排他的制御を有すべ
きでない。同様に374で、CCR信号がホスト
12へ送られたかどうかを決定するため、状況ス
トア100が調べられる。CCR信号がホスト1
2へ送られていれば、マイクロプロセツサ110
はアドレスされた装置13の上に排他的制御を有
すべきでない。更に375で、マイクロプロセツ
サ110は、アドレスされた装置が現在マイクロ
プロセツサ110へ予約されているかどうかを決
定する。もしそれがマイクロプロセツサ110へ
予約されていれば、それ以上の予約動作は必要で
ない。376で、マイクロプロセツサ110は、
装置がホスト12の1つのためにチヤネル・アダ
プタ80へ予約されているかどうかを決定する。
もしそれがホスト12へ予約されていれば、37
7でリターン・コードRCが3へセツトされる。
これは、バツフアの割当てを解放する前に、バツ
フア・セグメントのデータ信号内容が除去されね
ばならないことを示す。もしステツプ373から
376までの全てが否定的応答(ゼロ)を与えれ
ば、378で、マイクロプロセツサ110は装置
13及びバツフア15のセグメントを含む論理装
置をマイクロプロセツサへ予約する。それは、作
業レジスタ中のマイクロプロセツサ予約ビツト
(図示されず)を1へセツトし、装置13のアド
レスを有する論理装置がマイクロプロセツサ11
0の排他的制御の下にあることを状況ストア10
0へ報告することによつて行われる。論理装置を
マイクロプロセツサ110へ予約することによつ
て、ホスト12は、CU−0内で割当解放手順が
完了するまで、装置の選択を禁止される。装置1
3は記憶サブシステム活動のために予約される。
380で、マイクロプロセツサ110は状況スト
ア100を感知する。それは、割当てを解かれる
べきバツフア・セグメントが割当てられているも
のとして表示されていることを示す信号を状況ス
トア100が有するかどうかを決定するためであ
る。状況ストアの信号記憶は図示されていない。
なぜならば、メモリ内のマークは周知であり、状
況ストア100は記憶サブシステム10の論理構
成を示す情報をメモリ内に有するからである。も
し割当てを解かれるべきバツフア・セグメントが
割当てられているものとして表示されていれば、
381で、マイクロプロセツサ110は、バツフ
ア・セグメントが割当てを解かれるべきことを表
示するよう、状況ストア100へ命令を与える。
ステツプ380及び381から、マイクロプロセ
ツサ110は線382をたどつてステツプ383
へ達する。383で、マイクロプロセツサ110
はBST137のフイールド266を検査し、装
置が読取モードにあるか書込モードにあるかを決
定する。この時点で、割当てを解かれるべきバツ
フア・セグメントにデータが存在することに注意
されたい。従つて、384及び385で、それぞ
れ読取モードでデータを除去し書込モードでアド
レスされた装置13へデータを記録するため、モ
ジユールCSRAH236及びCSCBW237が能
動化される。これらモジユールの能動化に続い
て、386で、マイクロプロセツサ110はリタ
ーン・コードRCを検査する。もしリターン・コ
ードが2であれば(即ち、BST137のフイー
ルド264によつて、装置が予約されていること
が示されれば)、387でBMPDT235が能動
化されて、バツフア・セグメントの識別情報が
PDT138へ置かれる。ステツプ387から4
01へ達しリターンがなされる。もしリターン・
コード(RC)が2でなければ、390でマイク
ロプロセツサ110は装置動作がスケジユールさ
れているかどうかを決定する。装置動作のスケジ
ユールはDOT136で維持されている。もし装
置13の動作が割当てを解かれようとしているバ
ツフア・セグメントに関してスケジユールされて
いれば、391で、マイクロプロセツサ110
は、フイールド265を1へセツトすることによ
つて、バツフア・セグメントが自由にされるべき
ことをBST137中で表示する。他方、装置動
作がスケジユールされていなければ、392で、
マイクロプロセツサ110は、割当てを解かれる
べきバツフア・セグメントが380で表示された
ように割当てられているかどうかを調べる。もし
割当てられていれば、393で、マイクロプロセ
ツサ110はLDT133をゼロにしてフイール
ド253をゼロにする。これはBST137にお
ける対応するエントリイのアドレス可能性をだめ
にする。即ち、バツフア・セグメントに関連する
BST137の内容が効果的に消去され、それに
よつてバツフア・セグメントの割当てが解かれ
る。394,395,396で空のバツフア・セ
グメントを解放する動作が完了する。394で、
BST137の装置アドレス・フイールドがゼロ
にされ、395で、バツフア・セグメント及び論
理装置に関係するBST137の残りのフイール
ドが全てゼロにされる。396で、割当てを解か
れようとしているバツフア・セグメントが最旧時
使用セグメントにされる。次に397で、本発明
に直接の関連を有しない論理ステツプがマイクロ
プロセツサ110によつて実行される。398
で、マイクロプロセツサ110は、論理装置(即
ち、バツフア・セグメント及び装置13)がマイ
クロプロセツサへ予約されているかどうかを決定
する。もし予約されていれば、399で状況スト
アがアクセスされ、装置の割当解放が表示され
る。これらのステツプは割当解放の機能を完了す
る。即ち、400で、リターン・コードがゼロに
等しくされ、これは後にバツフア・セグメントの
割当解放が成功裏に完了したことをマイクロプロ
セツサ110へ知らせる。401ではリターンが
とられる。
次に第18図を参照すると、そこには論理モジ
ユールCSCBM193が示される。この論理モジ
ユールは、CSRAH236及びCSCBW237が
実行され、それに伴つてデータがバツフア15か
ら除去された後に、バツフア・セグメントの割当
解放を継続するために使用される。先ずマイクロ
プロセツサ110は、410で、CSCBMが係属
中の割当解放を処理しているのか、又は係属中の
割当解放を生じる負荷バランス機能を実行してい
るのかを決定する。この決定は、CST131の
フイールド224を感知することによつて達成さ
れる。もしフイールド224がゼロに等しけれ
ば、411でマイクロプロセツサ110は第17
図で説明したBMDBS190を能動化する。
BMDBS190の実行に続いて、走査モジユール
187′へ戻る前に、412で本発明と無関係の
論理ステツプが実行される。他方、410で負荷
バランス機能が表示されると、第25図に関して
前に説明した機能を実行するため、マイクロプロ
セツサ110は413で論理モジユールBMSDV
180を能動化する。414で、マイクロプロセ
ツサ110は、メツセージがBMSDV180によ
つてCU−1へ成功裏に送られたかどうかを検査
する。もし成功裏に送られたのであれば、マイク
ロプロセツサは走査モジユール187′へ戻る。
他方、メツセージが成功裏に送られなかつたので
あれば(例えば、バツフア・セグメントがまだ除
去されていない場合)、415でマイクロプロセ
ツサ110は割当解放がPDT138で係属中で
あるかどうかを検査する。もし係属中でなけれ
ば、エラー状態が生じたのであり、このエラー状
態は本発明と無関係の論理ステツプ417で処理
される。もしこのバツフア・セグメントに対する
割当解放がPDT138中で係属中であれば、
BST137のフイールド265が能動状態へセ
ツトされ、省略符号268で示されるパラメー
タ・フイールドが割当解放手順の状況を示すコー
ドへセツトされる。次に418で無関係の論理ス
テツプが実行され、走査モジユール187′へ戻
る。
第19図は、論理モジユールBMNLD282の
実行によつて、CU−1へ割当てられた論理装置
の数をCU−1が検査する論理を示す。第19図
に示される論理は、CUT130がフイールド7
1及び215を有していないものと仮定してい
る。もしCUT130がフイールド71及び21
5を有していれば、ステツプ420を実行する代
りに、フイールド71にある動作中の装置の数
と、フイールド215にある装置の数とを比較し
てよい。ステツプ420は、フイールド263が
現在1へセツトされているBST137の数を合
計する。421で、マイクロプロセツサ110は
合計が8に等しいかどうかを検査する(最大値
8)。もしそれが8に等しければ、追加の装置の
受取りはCU−1の作業割当能力を超過し、従つ
て論理モジユールBMSLD185が422で能動
化される。8に等しくなければ、追加の装置の受
取りは何の問題も生じない。従つて、ゼロのリタ
ーン・コードが423で送られ、転移された装置
の受取可能性を示す。注意すべきは、複数の制御
ユニツトを有する記憶サブシステム10におい
て、制御ユニツト11へ割当可能な装置の数は、
バツフア15のサイズに基づかせることができる
ことである。その数は、制御ユニツトを介して成
功裏にアドレスされることができる装置の最大数
よりも少ない。例えば、制御ユニツトCU−1の
バツフア15が制御ユニツトCU−0のバツフア
15より小であれば、制御ユニツトCU−1へ割
当可能な装置の最大数は制御ユニツトCU−0へ
割当可能な装置の最大数よりも小さい。もし制御
ユニツトCU−0が6個のバツフア・セグメント
を有し、このセグメントの数がCU−0をして8
個の装置を処理させるように決定されたのであれ
ば、CU−1が4個のバツフア・セグメントを有
する場合、それは6個の装置を処理することがで
きるに過ぎない。ここで注意すべきは、装置13
の数はバツフア・セグメントの数よりも大きくて
よいことである。なぜならば、装置の多くの機能
はバツフア活動を必要としないかも知れないから
である。バツフア・セグメントは複数の装置の間
でダイナミツクに割当てられ、その場合でも、完
全バツフア式記憶サブシステム10の効率性が得
られる。
次に第20図を参照して、論理モジユール
BMSLD185を説明する。424でマイクロプ
ロセツサ110はBST137を検査する。それ
は、ゼロであるか又は最低位のLRUポインタで
あり、かつ約束ねれていないが割当てられている
LRUポインタを有する装置を識別して、対応す
る論理装置を転移できるようにするためである。
425で、BMSDV180について説明したよう
にメツセージを送ることによつて、装置が転移さ
れる。426では、425で指示された実際のメ
ツセージがCU−0へ送られる。427では、CU
−1のBMDBS190が能動化され、CU−1のバ
ツフア15から装置の割当てが解かれる。この割
当解放は、前に説明したCU−0の割当解放と同
じである。
論理モジユールBMABS275は第21図に示
される。第6図に示されるように、論理モジユー
ルBMABS275へは線274を介して入る。2
80で、マイクロプロセツサ110はPAT13
4が空であるかどうかを決定する。もしPATの
最初のエントリイに対するテーブル・ポインタ
と、最後のエントリイに対するテーブル・ポイン
タとが等しければ、PAT134は空である。
PAT134が空であれば、288でマイクロプ
ロセツサ110は走査モジユール187′へ戻
る。他方、PAT134が空でなければ、281
でマイクロプロセツサ110はLDT133のフ
イールド253がゼロであるかどうかを検査す
る。もしそれがゼロでなければ、論理装置アドレ
スはPAT134及びPDT138の双方にエント
リイを有する。次にマイクロプロセツサ110は
288を介して走査モジユール187′へ戻る。
もしアドレスされた装置に対応するLDTのフイ
ールド253がゼロであれば、バツフア・セグメ
ントの割当ては適当である。282で、マイクロ
プロセツサ110は無関係の論理ステツプを実行
する。例えば、そのような論理ステツプは、論理
装置を形成するため装置13へ割当てられるべき
セグメントのサイズに関連している。説明上の仮
定として、単一のセグメントが割当てられるもの
とする。それは、例えば283でマイクロプロセ
ツサ110によつて実行される。マイクロプロセ
ツサ110は、後に第22図に関して説明するよ
うに、論理モジユールBMASE276を能動化す
る。単一セグメントを割当てる試みが完了する
と、284でマイクロプロセツサ110は論理モ
ジユールBMASE276から送られたリターン・
コードを検査する。リターン・コードが0の時、
バツフア・セグメントはアドレスされた装置13
へ成功裏に割当てられている。次に285で、
PAT134の出力ポインタが1だけ増加され
る。ステツプ284に続く286で、マイクロプ
ロセツサ110は割当てられたばかりのバツフ
ア・セグメントに対応するBST137のエント
リイを変更する。それは、指示されたセグメント
が割当てられかつ約束されていることを示すた
め、フイールド263及び264を1ヘセツトす
ることにより行われる。更に、マイクロプロセツ
サ110はフイールド260をアドレスされた装
置13の装置アドレスへセツトする。287で、
マイクロプロセツサ110は状況ストア100へ
アクセスする。それは、バツフア・セグメントが
BST137のフイールド260に表示された装
置へ割当てられたことを表示するためである。最
後に、マイクロプロセツサ110は288で能動
化した論理モジユールへ戻る。
第22図を参照して、論理モジユールBMABS
275から能動化される論理モジユールBMASE
276を説明する。ステツプ290から295ま
で、及びリターン通路296を含む循環ループ
は、装置13へ割当可能なバツフア・セグメント
を発見するため、BST137を走査する。29
0で、最旧時使用バツフア・セグメントに関連し
たBST137のエントリイがアドレスされる。
最旧時使用セグメントはLRUポインタ162
(第4図)によつて指定される。次の最旧時使用
セグメントは、各論理装置のフイールド261
(MRUポインタ)によつて指定される。BSTの走
査は、MRUポインタのエントリイによつて表示
されたシーケンスに従う。BSTの走査が後述す
るようにして早期に終了しない限り、BSTの走
査はMRUポインタが0の時(LRUリストの終り
を示す)終了する。このリンク手法を用いて、
BST137にある全てのフイールドは、後述す
るループの中で走査される。LRUセグメント又
は現在検査されつつあるBSTエントリイによつ
て表わされる他のバツフア・セグメントについ
て、マイクロプロセツサ110は、291で、セ
グメントが自由なセグメントであることをフイー
ルド265が表示するかどうかを決定する。もし
それが自由なセグメントであれば、割当てが起つ
て走査ループを破る。次にマイクロプロセツサ1
10は、後述するようなステツプ298〜300
を介して、論理モジユールBMABS275へ戻
る。もしBST137中で検査されているセグメ
ント・エントリイによつて、セグメントが自由で
ないことが示されると、292で論理モジユール
BMDBS190が能動化されて、そのセグメント
の割当てを解放しようとする。それは、転移され
た装置13へそのセグメントを再割当てするため
である。論理モジユールBMDBS190が完了す
ると、293で、マイクロプロセツサ110は、
検査されつつあるセグメントがマイクロプロセツ
サへ予約されているかどうかを決定する。もし予
約されていなければ、セグメントを再割当てする
ことができる。これは走査ループを破る。293
で、もしセグメントがマイクロプロセツサへ予約
されていれば、セグメントの解放を行う前に、バ
ツフア・セグメントによつて表わされる論理装置
に関して、或る種の動作が起らねばならない。従
つて、マイクロプロセツサ110は294へ進
み、論理モジユールBMDBS190から来たリタ
ーン・コードを検査する。もしリターン・コード
がゼロであれば、これはBST137のエントリ
イによつて表わされたセグメントが事実として割
当てを解かれたことを意味する。これはループ2
90〜296を破り、後に説明するBMASE27
6の出口へと導く。リターン・コードがゼロ以外
であれば、割当ての解放は生じていない。この場
合、295でマイクロプロセツサ110はDBSの
リターン・コードが1であるかどうかを検査す
る。もし1であれば、除去動作が生じており、セ
グメントは近い将来再割当てが可能である。割当
てはPAT134中で係属中にされる。それは、
全ての要求された割当要件を満足させるためであ
る。他方、マイクロプロセツサ110は295か
ら線296をたどり、ステツプ290で始まるル
ープを繰返す。検査されたばかりのエントリイの
フイールド261によつて表示されるところに従
つて、次のBST137のエントリイが検査され
る。
ループが完了すると、298でマイクロプロセ
ツサ110はリターン・コードをゼロへセツトす
る。これは、バツフア・セグメントが割当てのた
めに成功裏に指定されたことを示す。LDT13
3のフイールド253はBST137のエントリ
イを指定する。299で、リターン・コードの0
と共にバツフア・セグメントの識別表示が戻され
る。従つて、マイクロプロセツサ110は、後に
どのバツフア・セグメントが割当てられるべきか
を容易に指定することができる。300で、マイ
クロプロセツサ110は論理モジユールBMABS
275へ戻る。
走査モジユール187′の一部が第23図に示
される。この図は割込走査の大要を示す。走査ル
ーチンの全ては同じように構成されることができ
る。図示された部分は所謂CHL65と呼ばれ、
他の制御ユニツト11からのメツセージの受取
り、チヤネル・アダプタの動作(例えば指令の受
取り)、故障カウントの送出(論理モジユール
BMSFC211及びBMLBL220の能動化)に
関連する。第23図は2つの走査ループを含む。
ステツプ305は外部レジスタ118の1つ(例
えばXR−0)(図示せず)の走査を表わす。この
外部レジスタはCHL65のために割込み情報を
受取る。ステツプ305でXR−0の内容は、割
込み又は注意リクエストを表わす2進の1を発見
するため、既知のビツト・シフト手法を用いて走
査される。2進の1が検出されると、他の制御ユ
ニツトからメツセージを受取るため、306で論
理モジユールCHRMG(図示されず)が能動化さ
れる。メツセージの受取りは、2つ又はそれ以上
のデータ処理ユニツトの間で制御データを交換す
るための既知のデータ処理技法に従う。割込レベ
ルに対する割込走査は、通常の走査回路(図示せ
ず)によつて行われる。1つのレベル内で他の情
報に対するマイクロコード論理走査は、そのよう
な割込走査回路によつて選択される。
ステツプ307は外部レジスタ118の他の1
つ(例えばXR−1)(図示せず)の走査を示す。
この外部レジスタに1が検出されると、チヤネ
ル・アダプタ80がマイクロプロセツサ110に
よつてアクセスされる。それは、指令を受取つた
り、チヤネル・アダプタへデータを転送するため
である。2つの外部レジスタ118の各々を走査
するステツプ305及び307が完了すると、3
09で出口がとられる。それによつて、低い優先
順位の作業を実行するための低いレベルの走査モ
ジユールが呼出される。割込処理技術の分野で周
知であるように、マイクロプロセツサ110によ
つてステツプ305及び307の走査又は高い優
先順位の走査を実行するため、ハードウエア回路
(図示せず)を使用して、外部レジスタに存在す
る2進の1を検出することができる。
第24図は論理モジユールCSCLT199を示
す。CSCLT199は、装置13がバツフア・セ
グメントの割当てを解かれようとしている時、
CCRK及びCUKカウントを調整することに関連
している。315で、マイクロプロセツサ110
は割当解放のためにCST131の上で動作す
る。それは装置アドレス・フイールド227によ
つて示されるエントリイのいくつかの制御フイー
ルドをリセツトするためである。例えば、指令係
属中フイールド244、CCRフイールド24
5、送出装置フイールド288がリセツトされ
る。チヤネル終了フイールド246は記憶サブシ
ステム10の状況に依存して条件的にリセツトさ
れる。この活動において、もしユニツト・チエツ
ク又はエラー状態がホスト12へ報告されていれ
ば、省略符号247によつて表わされる或るフイ
ールドがセツトされ、エラー状態が報告されたこ
と、及びそのエラー状態に関連した感知データが
ホスト12のために保存されねばならないことを
制御ユニツト11へ戻す。この点に関して、マイ
クロプロセツサ110は、316でアクチブなユ
ニツト・チエツク状態を検査し、317で割当て
を解放されようとしている論理装置に関連したユ
ニツト・チエツク・フイールド(BST137の
省略符号247によつて表わされるフイールドの
1つ)のエントリイを検査する。318で、マイ
クロプロセツサ110は本発明の理解に関係のな
いCST131に関連した制御を実行する。31
9で、マイクロプロセツサ110は、割当てを解
かれるべきバツフア・セグメントが、指令フイー
ルド241に示されたバツフア読取指令に従つ
て、ホスト12によつて読取られつつあるかどう
かを決定する。バツフア読取指令の実行は、装置
13上に書かれるべきデータを、バツフア15か
らホスト12へ(装置13へではなく)転送す
る。バツフア読取指令の場合、バツフアから装置
13へのデータの書込みは、LDT133の省略
符号256によつて表わされるフイールド(図示
せず)をセツトすることによつて禁止される。3
21で、本発明と無関係の他の論理ステツプがマ
イクロプロセツサ110によつて実行される。
322で、マイクロプロセツサ110は、指令
フイールド241中の指令が「巻戻し及びアンロ
ード」であるかどうかを決定する。それは、例え
ば論理モジユールCSCLT199が論理モジユー
ルCERUL197によつて能動化された時に起
る。その場合、323で、マイクロプロセツサ1
10はそれぞれCUT130及びLDT133にあ
るCUKカウント及びCCRKカウントを調整す
る。この調整は、巻戻しの対象になつている装置
に対応するLDT133のCCRKカウントを、
CUTのCUKフイールド45から減算することに
よつて達成される。同時に、「巻戻し及びアンロ
ード」を実行しているアドレスされた装置のため
に、LDT133のCCRKカウントがゼロへリセ
ツトされる。この動作は、CCRカウントのビジ
イ状態の表示を、ホスト12から受取られた「巻
戻し及びアンロード」指令の実行結果によつて新
しく得られた記憶サブシステム10の状態へ調整
する。324で、マイクロプロセツサ110は、
「巻戻し及びアンロード」を実行している装置1
3について、依然として論理装置が存在している
かどうかを決定する。即ち、「巻戻し及びアンロ
ード」指令を実行している装置13へバツフア・
セグメントが依然として割当てられているかどう
かが決定される。もし論理装置が依然としてアク
チブであれば、325で、マイクロプロセツサ1
10は、アドレスされた装置13のためのBST
137へアクセスして、約束フイールド264を
リセツトする。326で、マイクロプロセツサ1
10は、前にこの装置13へ割当てられたバツフ
ア・セグメントの割当てを解くため、BMDBS1
90を能動化する。約束フイールド264がゼロ
である時、バツフア・セグメントは割当てを解か
れることができる。327で、論理モジユール
BMBS190の実行が終ると、マイクロプロセツ
サ110は、本発明の理解に関係のない論理ステ
ツプを実行する。328で、能動化した論理モジ
ユール(第6図では、CERUL197)への戻り
がなされる。これは、第24図に示されるように
ステツプ327,324,322のいずれかから
なされる。
【図面の簡単な説明】
第1図は本発明を使用する周辺サブシステムの
略図であり、第2図は本発明を組込むことのでき
る周辺サブシステムの論理図であり、第3図は第
2図に示された周辺サブシステムの制御部分(プ
ログラム・コントロール)を示す論理図であり、
第4図は第3図に示されたコントロール・ストア
111の制御メモリ部分を示すマツプであり、第
5図は第1図及び第2図に示される周辺サブシス
テムの制御ユニツトの間で作業負荷をバランスさ
せるための流れ図を示し、第6図は負荷バランス
動作のために制御ユニツト内の制御の流れを示す
論理図であり、第7図は本発明の実施例で使用さ
れる制御ユニツト・テーブル(CUT)の略図で
あり、第8図は第1図及び第2図に示した周辺サ
ブシステムにおける論理装置のために或る種の特
性情報及びアドレス情報を記憶する論理装置テー
ブル(LDT)の略図であり、第9図は第1図及
び第2図に示した周辺サブシステムの動作(特
に、複数の制御ユニツト間の負荷均衡化に関連し
た動作)で使用される指令状況テーブル
(CST)の略図であり、第10図は制御ユニツト
が第1図及び第2図に示されるようなバツフアを
含む時本発明を実施するため第3図の制御部分に
よつて使用可能なバツフア状況テーブルの略図で
あり、第11図は第3図の制御部分によつて受取
られた入出力指令を解読するための論理図であ
り、第12図は「論理装置障害」と呼ばれる望ま
しくない遅延の増加を示す論理図であり、第13
図は負荷バランス動作を実行するため「論理装置
障害」カウントを他の制御ユニツトへ送る制御ユ
ニツト動作を示す論理図であり、第14図は負荷
バランス動作において1つの制御ユニツトから他
の制御ユニツトへ装置を転移する論理を示す図で
あり、第15図は第1図及び第2図に示された周
辺サブシステムの制御ユニツトの間で装置を転移
させる場合に使用されるシーケンス制御テーブル
(SCT)を構成する2つのレジスタを示す図であ
り、第16図は受取側の制御ユニツトへ周辺装置
を再割当てする論理の図であり、第17図は装置
へ割当てられたバツフア・セグメントを有する制
御ユニツトから装置を転移することに関連したバ
ツフア・セグメントの割当解放を示す論理図であ
り、第18図は負荷バランスを実効化する前にデ
ータ処理機能の実行を必要とする負荷バランス動
作における制御ユニツト活動を示す論理図であ
り、第19図は制御ユニツトに関して現在アクチ
ブな論理装置の数を計数する論理を示す図であ
り、第20図は1つの制御ユニツトから他の制御
ユニツトへ最もアクチブでない装置を転移する論
理を示す図であり、第21図は負荷均衡化によつ
て装置が転移された時又は論理装置が初期設定さ
れた時バツフア・セグメントを装置へ割当てる論
理を示す図であり、第22図は周辺サブシステム
内で論理装置を形成するため単一のバツフア・セ
グメントを装置へ割当てる論理を示す図であり、
第23図は第1図及び第2図に示される周辺サブ
システムの制御ユニツトの動作と関連して使用さ
れる論理モジユールを能動化する走査技法を示す
論理図であり、第24図は周辺サブシステムの負
荷バランス動作で装置を除去したり非能動化した
りする場合に負荷バランスの遅延を調整する論理
を示す図であり、第25図はシーケンス制御テー
ブルの使用法を示す論理図である。 11……制御ユニツト、12……ホスト、13
……データ記憶装置、14……入出力チヤネル、
15……データ・バツフア、16……チヤネル・
アダプタ回路、33……プログラム・コントロー
ル、41,42……CCRKレジスタ、45……
CUKレジスタ、46……閾値検出器、55……
差動回路、56……除算回路、58……走査回
路、60……転送回路、64……減算回路、71
……割当カウンタ、72……閾値検出器、74…
…LRU回路、80……チヤネル・アダプタ、8
3……データ転送メカニズム(データ・フロー回
路)。

Claims (1)

    【特許請求の範囲】
  1. 1 分散処理ネツトワーク中の他のデータ処理ユ
    ニツトとの間で自動的に作業負荷を均衡化させる
    能力を有するデータ処理ユニツトであつて、該デ
    ータ処理ユニツト中で実行される種々のデータ処
    理動作の各々へ割当て可能なメモリ・セグメント
    より成るメモリと、上記データ処理動作の各々に
    ついてデータ処理上の遅延を表示する手段と、上
    記データ処理動作の各々へ割当てられたメモリ・
    セグメントごとに設けられそれらメモリ・セグメ
    ントを使用するデータ処理動作の遅延の数を計数
    するため上記遅延表示手段へ接続された第1の遅
    延計数手段と、上記メモリ・セグメントの全体に
    ついて全てのデータ処理動作の遅延の数を計数す
    る第2の遅延計数手段と、上記第2の遅延計数手
    段によつて計数された計数値が所定の閾値を超え
    たかどうかを決定する閾値検出器と、上記閾値検
    出器に応答して上記データ処理動作の全ての遅延
    の数の平均値に最も近い遅延数を有する上記第1
    遅延計数手段を決定しそれによつて遅延を計数さ
    れたデータ処理動作を上記他のデータ処理ユニツ
    トへ転移させることによつて2つのデータ処理ユ
    ニツトの間で作業負荷の均衡化を開始させる手段
    とを具備するデータ処理ユニツト。
JP57032521A 1981-03-06 1982-03-03 Data processing unit Granted JPS57157368A (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US06/241,175 US4403286A (en) 1981-03-06 1981-03-06 Balancing data-processing work loads

Publications (2)

Publication Number Publication Date
JPS57157368A JPS57157368A (en) 1982-09-28
JPS6130310B2 true JPS6130310B2 (ja) 1986-07-12

Family

ID=22909557

Family Applications (1)

Application Number Title Priority Date Filing Date
JP57032521A Granted JPS57157368A (en) 1981-03-06 1982-03-03 Data processing unit

Country Status (7)

Country Link
US (1) US4403286A (ja)
EP (1) EP0059828B1 (ja)
JP (1) JPS57157368A (ja)
AU (1) AU551322B2 (ja)
CA (1) CA1171533A (ja)
DE (1) DE3277746D1 (ja)
ES (1) ES8306895A1 (ja)

Families Citing this family (135)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4633387A (en) * 1983-02-25 1986-12-30 International Business Machines Corporation Load balancing in a multiunit system
US4573152A (en) * 1983-05-13 1986-02-25 Greene Richard E Switch matrix test and control system
US4577272A (en) * 1983-06-27 1986-03-18 E-Systems, Inc. Fault tolerant and load sharing processing system
US4603382A (en) * 1984-02-27 1986-07-29 International Business Machines Corporation Dynamic buffer reallocation
US4823256A (en) * 1984-06-22 1989-04-18 American Telephone And Telegraph Company, At&T Bell Laboratories Reconfigurable dual processor system
US4611322A (en) * 1984-08-03 1986-09-09 At&T Bell Laboratories Traffic load control arrangement and method for a packet switching system
JPS61114363A (ja) * 1984-11-07 1986-06-02 Hitachi Ltd 計算機システム間ジヨブ転送方式
JPS61253572A (ja) * 1985-05-02 1986-11-11 Hitachi Ltd 疎結合マルチプロセツサ・システムの負荷配分方式
US5241677A (en) * 1986-12-19 1993-08-31 Nippon Telepgraph and Telehone Corporation Multiprocessor system and a method of load balancing thereof
DE3741953A1 (de) * 1986-12-19 1988-06-30 Nippon Telegraph & Telephone Multiprozessorsystem und verfahren zur arbeitslastverteilung bei einem solchen
JP2550063B2 (ja) * 1987-04-24 1996-10-30 株式会社日立製作所 分散処理システムのシミユレ−シヨン方式
JPS63292747A (ja) * 1987-05-25 1988-11-30 Hitachi Ltd バツフア管理方式
US5237682A (en) * 1987-10-19 1993-08-17 International Business Machines Corporation File management system for a computer
US4982321A (en) * 1987-10-23 1991-01-01 Honeywell Inc. Dual bus system
JP2810043B2 (ja) * 1987-11-13 1998-10-15 株式会社日立製作所 データ処理装置
JPH01229351A (ja) * 1988-03-09 1989-09-13 Hitachi Ltd 負荷均衡制御方式
US5377327A (en) * 1988-04-22 1994-12-27 Digital Equipment Corporation Congestion avoidance scheme for computer networks
US5513332A (en) * 1988-05-31 1996-04-30 Extended Systems, Inc. Database management coprocessor for on-the-fly providing data from disk media to all without first storing data in memory therebetween
JPH0293836A (ja) * 1988-09-30 1990-04-04 Toshiba Corp 分散型データベース管理装置
WO1990007746A1 (en) * 1988-12-29 1990-07-12 Storage Technology Corporation Computer system memory performance improvement apparatus
US5131087A (en) * 1988-12-29 1992-07-14 Storage Technology Corporation Computer system having apparatus for automatically redistributing data records stored therein
US5031089A (en) * 1988-12-30 1991-07-09 United States Of America As Represented By The Administrator, National Aeronautics And Space Administration Dynamic resource allocation scheme for distributed heterogeneous computer systems
JP3155537B2 (ja) * 1989-01-23 2001-04-09 株式会社日立製作所 実記憶管理方法
ES2104580T3 (es) * 1989-02-24 1997-10-16 At & T Corp Planificacion adaptativa de tareas para sistemas multiproceso.
US5155851A (en) * 1989-05-15 1992-10-13 Bell Communications Research, Inc. Routing an incoming data stream to parallel processing stations
US5274772A (en) * 1989-06-28 1993-12-28 International Business Machines Corporation Data processing systems having means for selectively combining records into signal blocks for recording in a record medium
US5200864A (en) * 1989-06-28 1993-04-06 International Business Machines Corporation Combining small records into a single record block for recording on a record media
US5335328A (en) * 1989-06-28 1994-08-02 International Business Machines Corporation Methods for recording and reading data from a record member having data in any one of a plurality of block formats including determining length of records being transferred
US5239649A (en) * 1989-10-30 1993-08-24 International Business Machines Corporation Channel path load balancing, through selection of storage volumes to be processed, for long running applications
US5097261A (en) * 1989-11-22 1992-03-17 International Business Machines Corporation Data compression for recording on a record medium
US5357632A (en) * 1990-01-09 1994-10-18 Hughes Aircraft Company Dynamic task allocation in a multi-processor system employing distributed control processors and distributed arithmetic processors
US5644786A (en) * 1990-11-08 1997-07-01 At&T Global Information Solutions Company Method for scheduling the execution of disk I/O operations
US5978831A (en) * 1991-03-07 1999-11-02 Lucent Technologies Inc. Synchronous multiprocessor using tasks directly proportional in size to the individual processors rates
US5269013A (en) * 1991-03-20 1993-12-07 Digital Equipment Corporation Adaptive memory management method for coupled memory multiprocessor systems
US5333315A (en) * 1991-06-27 1994-07-26 Digital Equipment Corporation System of device independent file directories using a tag between the directories and file descriptors that migrate with the files
CA2067576C (en) * 1991-07-10 1998-04-14 Jimmie D. Edrington Dynamic load balancing for a multiprocessor pipeline
JPH0549058A (ja) * 1991-08-16 1993-02-26 Fujitsu Ltd リソース整合処理方式
US5444848A (en) * 1992-04-30 1995-08-22 Bull Hn Information Systems Inc. Distribution of communications connections over multiple service access points by choosing remote and local access points having lowest number of connections
US5404515A (en) * 1992-04-30 1995-04-04 Bull Hn Information Systems Inc. Balancing of communications transport connections over multiple central processing units
US5579530A (en) * 1992-06-11 1996-11-26 Intel Corporation Method and apparatus for dynamically allocating access time to a resource shared between a peripheral bus and a host bus by dynamically controlling the size of burst data transfers on the peripheral bus
US5506986A (en) * 1992-07-14 1996-04-09 Electronic Data Systems Corporation Media management system using historical data to access data sets from a plurality of data storage devices
DE69332703T2 (de) * 1992-12-10 2003-08-21 Matsushita Electric Ind Co Ltd Server und Klient
EP0701217A1 (en) * 1993-05-25 1996-03-13 Hitachi, Ltd. Distributed control system and method of configurating the system
US5373401A (en) * 1993-06-18 1994-12-13 International Business Machines Corporation Data storage system having multimodal interblock gap detection utilizing a predicted occurance time window
US5363252A (en) * 1993-06-30 1994-11-08 International Business Machines Corporation Method and system for track skew tolerant acquistion burst sequence validation in a data storage system
DK0645702T3 (da) * 1993-09-24 2000-11-06 Siemens Ag Fremgangsmåde til belastningsudligning i et multiprocessorsystem
DE4332993C1 (de) * 1993-09-28 1994-11-24 Siemens Ag Tracer-System zur Fehleranalyse in laufenden Realzeitsystemen
US5619656A (en) * 1994-05-05 1997-04-08 Openservice, Inc. System for uninterruptively displaying only relevant and non-redundant alert message of the highest severity for specific condition associated with group of computers being managed
US5802301A (en) * 1994-05-11 1998-09-01 International Business Machines Corporation System for load balancing by replicating portion of file while being read by first stream onto second device and reading portion with stream capable of accessing
JP3385091B2 (ja) * 1994-05-13 2003-03-10 三菱電機株式会社 計算機間の排他制御装置
US5835953A (en) * 1994-10-13 1998-11-10 Vinca Corporation Backup system that takes a snapshot of the locations in a mass storage device that has been identified for updating prior to updating
US5649152A (en) * 1994-10-13 1997-07-15 Vinca Corporation Method and system for providing a static snapshot of data stored on a mass storage system
CA2159269C (en) * 1995-09-27 2000-11-21 Chaitanya K. Baru Method and apparatus for achieving uniform data distribution in a parallel database system
JP2940450B2 (ja) * 1995-10-26 1999-08-25 日本電気株式会社 クラスタ型コンピュータのジョブスケジュール方法及び装置
US6886167B1 (en) * 1995-12-27 2005-04-26 International Business Machines Corporation Method and system for migrating an object between a split status and a merged status
GB2309558A (en) * 1996-01-26 1997-07-30 Ibm Load balancing across the processors of a server computer
US5997168A (en) * 1997-04-14 1999-12-07 Electronic Data Systems Corporation Optimizing the operation of an equipment control system
JPH1153326A (ja) * 1997-07-30 1999-02-26 Internatl Business Mach Corp <Ibm> 分散処理システム、クライアントノード、サーバノードおよび分散処理方法
US6496823B2 (en) 1997-11-07 2002-12-17 International Business Machines Corporation Apportioning a work unit to execute in parallel in a heterogeneous environment
US6038613A (en) * 1997-11-14 2000-03-14 International Business Machines Corporation Prefetching and storing device work information from multiple data storage devices
US6292822B1 (en) 1998-05-13 2001-09-18 Microsoft Corporation Dynamic load balancing among processors in a parallel computer
US6212617B1 (en) * 1998-05-13 2001-04-03 Microsoft Corporation Parallel processing method and system using a lazy parallel data type to reduce inter-processor communication
US6430622B1 (en) 1999-09-22 2002-08-06 International Business Machines Corporation Methods, systems and computer program products for automated movement of IP addresses within a cluster
US6633940B1 (en) * 1999-10-11 2003-10-14 Ati International Srl Method and apparatus for processing interrupts in a computing system
US6728770B1 (en) * 1999-12-03 2004-04-27 Storage Technology Corporation Method and apparatus for workload balancing along multiple communication paths to a plurality of devices
US6516396B1 (en) * 1999-12-22 2003-02-04 Intel Corporation Means to extend tTR range of RDRAMS via the RDRAM memory controller
US6738818B1 (en) * 1999-12-27 2004-05-18 Intel Corporation Centralized technique for assigning I/O controllers to hosts in a cluster
US7523180B1 (en) * 2000-04-28 2009-04-21 Microsoft Corporation System and method for service chain management in a client management tool
US6850980B1 (en) 2000-06-16 2005-02-01 Cisco Technology, Inc. Content routing service protocol
US6954784B2 (en) * 2000-08-17 2005-10-11 International Business Machines Corporation Systems, method and computer program products for cluster workload distribution without preconfigured port identification by utilizing a port of multiple ports associated with a single IP address
US6996631B1 (en) 2000-08-17 2006-02-07 International Business Machines Corporation System having a single IP address associated with communication protocol stacks in a cluster of processing systems
US6996617B1 (en) 2000-08-17 2006-02-07 International Business Machines Corporation Methods, systems and computer program products for non-disruptively transferring a virtual internet protocol address between communication protocol stacks
US6941384B1 (en) 2000-08-17 2005-09-06 International Business Machines Corporation Methods, systems and computer program products for failure recovery for routed virtual internet protocol addresses
US7120697B2 (en) * 2001-05-22 2006-10-10 International Business Machines Corporation Methods, systems and computer program products for port assignments of multiple application instances using the same source IP address
US7089294B1 (en) 2000-08-24 2006-08-08 International Business Machines Corporation Methods, systems and computer program products for server based type of service classification of a communication request
US7290028B2 (en) * 2000-08-24 2007-10-30 International Business Machines Corporation Methods, systems and computer program products for providing transactional quality of service
US6751683B1 (en) 2000-09-29 2004-06-15 International Business Machines Corporation Method, system and program products for projecting the impact of configuration changes on controllers
US6950888B1 (en) 2000-09-29 2005-09-27 International Business Machines Corporation Method, system and program products for determining whether I/O constraints exist for controllers of a computing environment
US6963917B1 (en) 2000-10-20 2005-11-08 International Business Machines Corporation Methods, systems and computer program products for policy based distribution of workload to subsets of potential servers
US6965930B1 (en) 2000-10-20 2005-11-15 International Business Machines Corporation Methods, systems and computer program products for workload distribution based on end-to-end quality of service
US7340530B2 (en) * 2001-01-17 2008-03-04 International Business Machines Corporation Methods, for providing data from network secure communications in a cluster computing environment
US7426566B2 (en) * 2001-01-17 2008-09-16 International Business Machines Corporation Methods, systems and computer program products for security processing inbound communications in a cluster computing environment
US6941366B2 (en) * 2001-01-17 2005-09-06 International Business Machines Corporation Methods, systems and computer program products for transferring security processing between processors in a cluster computing environment
US7107350B2 (en) * 2001-01-17 2006-09-12 International Business Machines Corporation Methods, systems and computer program products for security processing outbound communications in a cluster computing environment
US7146432B2 (en) * 2001-01-17 2006-12-05 International Business Machines Corporation Methods, systems and computer program products for providing failure recovery of network secure communications in a cluster computing environment
US7089311B2 (en) * 2001-01-31 2006-08-08 International Business Machines Corporation Methods, systems and computer program products for resuming SNA application-client communications after loss of an IP network connection
US20020143954A1 (en) * 2001-04-03 2002-10-03 Aiken John Andrew Methods, systems and computer program products for content-based routing via active TCP connection transfer
US20020152307A1 (en) * 2001-04-12 2002-10-17 Doyle Ronald Patrick Methods, systems and computer program products for distribution of requests based on application layer information
US7711831B2 (en) * 2001-05-22 2010-05-04 International Business Machines Corporation Methods, systems and computer program products for source address selection
US6832260B2 (en) 2001-07-26 2004-12-14 International Business Machines Corporation Methods, systems and computer program products for kernel based transaction processing
US20030110232A1 (en) * 2001-12-11 2003-06-12 International Business Machines Corporation Distributing messages between local queues representative of a common shared queue
US7899879B2 (en) * 2002-09-06 2011-03-01 Oracle International Corporation Method and apparatus for a report cache in a near real-time business intelligence system
US8255454B2 (en) 2002-09-06 2012-08-28 Oracle International Corporation Method and apparatus for a multiplexed active data window in a near real-time business intelligence system
US7401158B2 (en) 2002-09-16 2008-07-15 Oracle International Corporation Apparatus and method for instant messaging collaboration
US7398359B1 (en) * 2003-04-30 2008-07-08 Silicon Graphics, Inc. System and method for performing memory operations in a computing system
US7562145B2 (en) * 2003-08-28 2009-07-14 International Business Machines Corporation Application instance level workload distribution affinities
US7500241B1 (en) * 2003-10-10 2009-03-03 Avaya Inc. Method and apparatus for scheduling tasks
CN100501684C (zh) * 2004-03-19 2009-06-17 "英特尔A/O"股份公司 故障转移和负载平衡
US7760626B2 (en) * 2004-03-31 2010-07-20 Intel Corporation Load balancing and failover
US8131580B2 (en) * 2006-10-04 2012-03-06 Salesforce.Com, Inc. Method and system for load balancing a sales forecast system by selecting a synchronous or asynchronous process based on a type of an event affecting the sales forecast
US8312507B2 (en) 2006-10-17 2012-11-13 A10 Networks, Inc. System and method to apply network traffic policy to an application session
US8584199B1 (en) 2006-10-17 2013-11-12 A10 Networks, Inc. System and method to apply a packet routing policy to an application session
US7912968B2 (en) * 2007-08-29 2011-03-22 International Business Machines Corporation End-to-end (e2e) service level agreement (SLA) compliance across both managed and unmanaged network segments
KR20120037785A (ko) * 2010-10-12 2012-04-20 삼성전자주식회사 부하 균형을 유지하는 시스템 온 칩 및 그것의 부하 균형 유지 방법
US8930781B2 (en) * 2010-11-22 2015-01-06 Marvell World Trade Ltd. Method and apparatus for defect recovery
US8789065B2 (en) * 2012-06-08 2014-07-22 Throughputer, Inc. System and method for input data load adaptive parallel processing
US9448847B2 (en) 2011-07-15 2016-09-20 Throughputer, Inc. Concurrent program execution optimization
US10834820B2 (en) 2013-08-06 2020-11-10 Bedrock Automation Platforms Inc. Industrial control system cable
US8868813B2 (en) * 2011-12-30 2014-10-21 Bedrock Automation Platforms Inc. Communications control system with a serial communications interface and a parallel communications interface
US11144630B2 (en) 2011-12-30 2021-10-12 Bedrock Automation Platforms Inc. Image capture devices for a secure industrial control system
US11314854B2 (en) 2011-12-30 2022-04-26 Bedrock Automation Platforms Inc. Image capture devices for a secure industrial control system
US9437967B2 (en) 2011-12-30 2016-09-06 Bedrock Automation Platforms, Inc. Electromagnetic connector for an industrial control system
US9600434B1 (en) 2011-12-30 2017-03-21 Bedrock Automation Platforms, Inc. Switch fabric having a serial communications interface and a parallel communications interface
US9727511B2 (en) 2011-12-30 2017-08-08 Bedrock Automation Platforms Inc. Input/output module with multi-channel switching capability
US9191203B2 (en) 2013-08-06 2015-11-17 Bedrock Automation Platforms Inc. Secure industrial control system
US9467297B2 (en) 2013-08-06 2016-10-11 Bedrock Automation Platforms Inc. Industrial control system redundant communications/control modules authentication
US10834094B2 (en) 2013-08-06 2020-11-10 Bedrock Automation Platforms Inc. Operator action authentication in an industrial control system
US8971072B2 (en) 2011-12-30 2015-03-03 Bedrock Automation Platforms Inc. Electromagnetic connector for an industrial control system
US9588994B2 (en) * 2012-03-02 2017-03-07 International Business Machines Corporation Transferring task execution in a distributed storage and task network
US9118618B2 (en) 2012-03-29 2015-08-25 A10 Networks, Inc. Hardware-based packet editor
US8984125B2 (en) * 2012-08-16 2015-03-17 Fujitsu Limited Computer program, method, and information processing apparatus for analyzing performance of computer system
US9338225B2 (en) 2012-12-06 2016-05-10 A10 Networks, Inc. Forwarding policies on a virtual service network
US9992107B2 (en) 2013-03-15 2018-06-05 A10 Networks, Inc. Processing data packets using a policy based network path
WO2014179753A2 (en) 2013-05-03 2014-11-06 A10 Networks, Inc. Facilitating secure network traffic by an application delivery controller
US10613567B2 (en) 2013-08-06 2020-04-07 Bedrock Automation Platforms Inc. Secure power supply for an industrial control system
US9772876B2 (en) 2014-01-06 2017-09-26 International Business Machines Corporation Executing an all-to-allv operation on a parallel computer that includes a plurality of compute nodes
US9942152B2 (en) 2014-03-25 2018-04-10 A10 Networks, Inc. Forwarding data packets using a service-based forwarding policy
US10268467B2 (en) 2014-11-11 2019-04-23 A10 Networks, Inc. Policy-driven management of application traffic for providing services to cloud-based applications
US10038640B2 (en) * 2015-04-30 2018-07-31 Amazon Technologies, Inc. Managing state for updates to load balancers of an auto scaling group
US10412020B2 (en) 2015-04-30 2019-09-10 Amazon Technologies, Inc. Background processes in update load balancers of an auto scaling group
US10341426B2 (en) 2015-04-30 2019-07-02 Amazon Technologies, Inc. Managing load balancers associated with auto-scaling groups
US10733165B1 (en) * 2015-07-06 2020-08-04 Workiva Inc. Distributed processing using a node hierarchy
US9952932B2 (en) * 2015-11-02 2018-04-24 Chicago Mercantile Exchange Inc. Clustered fault tolerance systems and methods using load-based failover
US10382380B1 (en) * 2016-11-17 2019-08-13 Amazon Technologies, Inc. Workload management service for first-in first-out queues for network-accessible queuing and messaging services
JP6969295B2 (ja) * 2017-10-31 2021-11-24 富士フイルムビジネスイノベーション株式会社 情報処理装置及び画像処理システム

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3377619A (en) * 1964-04-06 1968-04-09 Ibm Data multiplexing system
FR1587572A (ja) * 1968-10-25 1970-03-20
US3588837A (en) * 1968-12-30 1971-06-28 Comcet Inc Systems activity monitor
US3643227A (en) * 1969-09-15 1972-02-15 Fairchild Camera Instr Co Job flow and multiprocessor operation control system
US3648253A (en) * 1969-12-10 1972-03-07 Ibm Program scheduler for processing systems
US4099235A (en) * 1972-02-08 1978-07-04 Siemens Aktiengesellschaft Method of operating a data processing system
US4183083A (en) * 1972-04-14 1980-01-08 Duquesne Systems, Inc. Method of operating a multiprogrammed computing system
US4050095A (en) * 1973-06-07 1977-09-20 International Standard Electric Corporation Call load sharing system between a plurality of data processing units
US3999163A (en) * 1974-01-10 1976-12-21 Digital Equipment Corporation Secondary storage facility for data processing systems
US4040026A (en) * 1974-05-08 1977-08-02 Francois Gernelle Channel for exchanging information between a computer and rapid peripheral units
CH584488A5 (ja) * 1975-05-05 1977-01-31 Ibm
US4096571A (en) * 1976-09-08 1978-06-20 Codex Corporation System for resolving memory access conflicts among processors and minimizing processor waiting times for access to memory by comparing waiting times and breaking ties by an arbitrary priority ranking
US4080649A (en) * 1976-12-16 1978-03-21 Honeywell Information Systems Inc. Balancing the utilization of I/O system processors

Also Published As

Publication number Publication date
EP0059828B1 (en) 1987-11-25
US4403286A (en) 1983-09-06
ES510175A0 (es) 1983-06-01
EP0059828A3 (en) 1984-10-24
CA1171533A (en) 1984-07-24
JPS57157368A (en) 1982-09-28
ES8306895A1 (es) 1983-06-01
AU8040282A (en) 1982-09-09
DE3277746D1 (en) 1988-01-07
AU551322B2 (en) 1986-04-24
EP0059828A2 (en) 1982-09-15

Similar Documents

Publication Publication Date Title
JPS6130310B2 (ja)
US4603382A (en) Dynamic buffer reallocation
EP0426354B1 (en) Method for channel path load balancing and data processing system employing same
EP0150705B1 (en) Data storage hierarchy and its method of operation
EP0059829B1 (en) Data storage transfer system
EP0671691B1 (en) Storage controller and bus control method for use therewith
US4458316A (en) Queuing commands in a peripheral data storage system
US4123795A (en) Control system for a stored program multiprocessor computer
US5592432A (en) Cache management system using time stamping for replacement queue
US5894583A (en) Variable timeout method for improving missing-interrupt-handler operations in an environment having I/O devices shared by one or more systems
US5832262A (en) Realtime hardware scheduler utilizing processor message passing and queue management cells
JPS6120006B2 (ja)
US20030172234A1 (en) System and method for dynamic processor core and cache partitioning on large-scale multithreaded, multiprocessor integrated circuits
EP0117408A2 (en) Method and mechanism for load balancing in a multiunit system
US5239650A (en) Preemptive demount in an automated storage library
JP5063069B2 (ja) マルチノードコンピュータのメモリ割当て方法、装置、およびプログラム
JPS61109164A (ja) バス制御方法
JPS59180645A (ja) デ−タ・セツト割当て方法
US6202134B1 (en) Paging processing system in virtual storage device and paging processing method thereof
JP2874571B2 (ja) メモリ管理装置
EP0458566B1 (en) Automated storage library
JP3273191B2 (ja) データ転送装置
JPS5856887B2 (ja) マルチプレクサ・チヤネル方式