JP2750312B2 - チャネルの使用中時間を測定する手段 - Google Patents

チャネルの使用中時間を測定する手段

Info

Publication number
JP2750312B2
JP2750312B2 JP5132179A JP13217993A JP2750312B2 JP 2750312 B2 JP2750312 B2 JP 2750312B2 JP 5132179 A JP5132179 A JP 5132179A JP 13217993 A JP13217993 A JP 13217993A JP 2750312 B2 JP2750312 B2 JP 2750312B2
Authority
JP
Japan
Prior art keywords
channel
cmf
measurement
time
cec
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
JP5132179A
Other languages
English (en)
Other versions
JPH06110740A (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 JPH06110740A publication Critical patent/JPH06110740A/ja
Application granted granted Critical
Publication of JP2750312B2 publication Critical patent/JP2750312B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring
    • G06F11/3485Performance evaluation by tracing or monitoring for I/O devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3409Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
    • G06F11/3419Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment by assessing time
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring
    • G06F11/349Performance evaluation by tracing or monitoring for interfaces, buses

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、チャネル・サブシステ
ム内にチャネル測定機構(CMF)を設けることによっ
て、本願と同日付けの米国特許願第898867号に開
示されている処の、入出力資源の共用化をサポートする
コンピュータ複合体(CEC)内の共用及び非共用チャ
ネルの動作に関する利用度をプログラムが累算すること
を可能とする。本明細書では、本願と同日付けの、次の
米国特許願の内容を援用する。米国特許願第89886
7号、同第898977号、同第898875号、同0
7/444190号、同第07/754813号、同第
07/676603号、同第07/755246号及び
同第07/693997号。
【0002】
【従来の技術】従来技術では、入出力資源の利用度を測
定するための種々の解決策及び手法が提供されている。
本発明は、これらの従来技術における欠点を解決するた
めの新規な手段を提供する。
【0003】従来技術を評価し且つこれを本発明と比較
するために、入出力資源の活動を測定するための要件を
まとめると、次の通りである。
【0004】−要求元オペレーティング・システム(O
S)のために入出力資源が作業を行っている処の、使用
中(busy)時間の累算値を測定する。 −持続時間が数秒ないし数時間の範囲にわたる適当なイ
ンターバルで、この測定値を提供する。 −任意の測定期間について、適当な開始時刻及び終了時
刻を設定できるようにする。 −或る入出力資源が互いに重複する期間にわたって複数
のOSによって共用されている場合であっても、個々の
OSの使用中時間を表す測定値を提供する。例えば、第
1のOSが、8:00から9:00までの期間中に一の
共用入出力資源の活動を測定している間、第2のOS
は、8:30から9:05までの期間中にその使用に係
るこの共用入出力資源の活動を測定可能でなければなら
ない。一方のOSには、この共用入出力資源の使用に係
る他方のOSの測定値を提供してはならない。 −測定値は、ユーザが指定した限度内で正確でなければ
ならない。 −測定を行うに当たり、CECにおけるオーバヘッド
は、最低限のものでなければならない。 −測定プログラムのプログラミングは、単純でなければ
ならない。
【0005】既存の手法の1つは、チャネル利用度を測
定するために、チャネルの使用中状況を定期的に調べる
とともに、統計的技法に基づいて総使用中時間を推定す
る、というものである。統計的技法の利点は、チャネル
において特別な活動カウンタが必要ないことである。他
方、その欠点は、次の通りである。
【0006】−CEC内の複数のOSのうち一のOSの
ために一のチャネルが入出力活動を行っている場合にお
いて、このチャネルの状態をこのOSに対して関連づけ
る方法がない。 −頻繁なサンプリングが、CPU及びチャネル・サブシ
ステムの利用度の点で、重大なオーバヘッドをもたら
す。 −サンプリング活動に加えて、各OSは、これらの統計
的サンプルを、当該各OS内で走行中の多数のプログラ
ムが使用可能なデータに頻繁に変換して、これらの測定
値を有意にしなければならない。 −もし、CPUのオーバヘッドを最小限のものとするた
めに、サンプリングの頻度が減少されるのであれば、か
かる測定値の精度は疑わしいものとなる。 −サンプリングに基づく測定値は、連続的な測定値に比
較して不正確なものとなる。 −システムの設計によって課される種々の制約に起因し
て、サンプリングがバイアスされることがある。
【0007】従来技術の他のサンプリング技法は、チャ
ネル自体の内部でチャネル利用度をサンプルし、このチ
ャネルの総利用度を推定し、かかる情報を要求元OSが
アクセス可能な記憶域内に定期的に格納する、というも
のである。この技法の利点は、OSがチャネルを頻繁に
サンプルしたり、サンプリングの結果を変換したりする
必要がなくなることである。他方、この技法の欠点は、
各チャネルの活動をその要求元OSと関連づけたり、観
測された使用中時間をそれぞれのOSごとに案分するよ
うに、この技法を拡張できないことである。
【0008】従来技術の3番目の技法は、待ち行列に関
係する制御ユニットの活動を測定するのに現用されてい
る技法であって、チャネル・サブシステムにおいて複数
のカウンタ及び累算器を維持するとともに、一のOSが
要求した場合にだけ測定データを格納する、というもの
である。この技法の利点は、測定データが頻繁に必要と
されない場合には、CECのオーバヘッドが最小限とな
ることである。
【0009】
【発明が解決しようとする課題】他方、この技法の欠点
は、極めて短い期間中に測定データを取得しようとする
と、チャネル・サブシステムからの測定データを要求す
るためにOSが使用する命令を頻繁に実行しなければな
らず、またこれに関連してCPUとチャネル・サブシス
テムとの間の通信量が大きくなるために、CPU及びチ
ャネル・サブシステムのオーバヘッドが過大になること
である。
【0010】従来技術のデバイス接続時間の測定技法
は、各デバイスごとの接続時間をチャネル・サブシステ
ムに累算させ、各入出力動作の完了時に、指定された記
憶位置を増分させる、というものである。この技法の利
点は、デバイス・レベルの細分性及び高精度にある。し
かしながら、この技法の利点、即ちデバイス・レベルの
細分性は、総チャネル利用度の測定値が必要となる場合
には、かえって欠点となる。なぜなら、総チャネル利用
度を決定するためには、一のチャネルに対して構成され
ている複数のデバイスについて、全てのデバイス・レベ
ルの測定値を合計せざるを得ないからである。
【0011】さらに、従来技術のデバイス・レベルのチ
ャネル測定技法は、一のデバイスが構成可能な複数のチ
ャネルの各々ごとに、個々のチャネル利用度を測定する
ことができない。即ち、複数のチャネルが各デバイスご
との各入出力動作に関与することがあり得るから、デバ
イスに関係する情報を単に加算するだけでは、チャネル
利用度に関する所望の測定データを得ることができない
のである。さらに、各入出力動作の完了時に、これに関
与する全てのチャネルからの測定データを格納するよう
にすると、チャネル・サブシステムにおけるオーバヘッ
ドは、受け入れられないものとなる。
【0012】最後に、従来技術の入出力資源測定機構
は、CEC内の複数のOS間で動的に共用可能な各チャ
ネル資源の利用度を、各OSごとに個別に測定する機能
を備えていない。
【0013】次の米国特許出願は、本発明の背景技術を
開示している。米国特許願第07/444190号、同
第07/754813号、同第07/676603号、
同第07/755246号及び同第07/693997
号。
【0014】
【課題を解決するための手段】本発明が提供する解決策
は、次の要件を組み合わせたものである。
【0015】−各チャネルは、これを共用するOSの各
々ごとに、個々のチャネル使用中時間の正確な累算を行
う。 −各チャネルは、この累算済みの測定値をチャネル・サ
ブシステムがアクセス可能な記憶域に定期的に格納す
る。この格納動作の頻度は、実質的なオーバヘッドを引
き起こさないように、十分に低く設定されている。 −累算済みの測定値を格納する場合、チャネル・プロセ
ッサは、測定値に関連するタイム・スタンプも格納す
る。このタイム・スタンプが格納されているために、O
Sによってこの測定値を後で検査することが可能とな
り、この測定値を所望の精度に調整することが可能とな
り、しかも最近のインターバルにおいて正確なチャネル
利用度を反映することが可能となる。もし、かかるタイ
ム・スタンプが提供されなければ、測定値の精度は、こ
れを格納する頻度によって大きく影響されることにな
る。格納頻度が低いと、オーバヘッドが小さくなり、精
度が下がる。他方、頻繁に格納を行うと、オーバヘッド
は大きくなるが、精度が改善される。タイム・スタンプ
は、所望の低い格納頻度と高い精度の両方を可能とする
ものである。 −チャネル・サブシステムは、各チャネル・プロセッサ
によって格納された累算済みの測定値をOS専用の記憶
域へ定期的に移動する。タイム・スタンプが保存されて
いるので、この定期的な移動動作における遅延も前記の
ように考慮される。
【0016】本発明は、CEC内の要求元プログラムが
使用可能なCMFを提供する。CECの異なる論理区画
内にある複数のOSのうち任意のOSがこのCMFを使
用できるようにすると、特に有利となる。各OSに関連
する各CMFは、一の測定期間中に一のチャネルがデバ
イス間で切り換えられるか否かに拘わりなく、またこの
測定期間中にこのチャネルが複数のOS間で切り換えら
れるか否かに拘わりなく、各OSのために動作している
(共用及び非共用チャネルを含む)任意のチャネルの連
続的な使用中時間の測定をサポートする。共用チャネル
の場合、本発明の動作は、米国特許願第898867号
に開示された発明を使用することに依存している。この
米国特許出願には、各入出力資源(チャネル、サブチャ
ネル(デバイス)及び制御ユニット)を、CEC内の複
数のOSによって動的に共用可能にする処の、新規な入
出力資源の制御方法及び手段が開示されている。
【0017】米国特許願第878867号には、CEC
の異なる論理資源区画内で走行する複数のOSに対する
チャネルの接続性を向上させて、これらのOS間でチャ
ネルの共用化を行う方法が開示されている。また、この
米国特許出願には、各入出力資源を異なるOSに割り当
てるために、イメージ識別子(IID)を使用すること
が開示されている。CECのチャネル・サブシステムに
おいて、各共用入出力資源には、制御ブロック(CB)
の共用セットが与えられ、その各制御ブロックは、CE
C内の各OSのIIDにそれぞれ割り当てられる(各制
御ブロックは、そのOS−IIDによって位置決めされ
る)。共用セット内の各制御ブロックは、同一の入出力
資源を使用する各OSに対し、異なるイメージを提供す
る。これらの異なる制御ブロック・イメージは、各OS
が使用する同一の入出力資源の入出力動作ごとに異なる
状態に独立的に設定されるから、複数のOSが同一の入
出力資源を使用する順序に拘わりなく、各OSは、同一
の入出力資源を独立的に動作させることができる。一の
要求元OSによる入出力要求を実行する際に使用される
IIDは、要求されたデバイスをアクセスするために使
用される制御ユニットに転送され、この制御ユニットに
接続する論理パスの一部としてこの制御ユニットによっ
て格納されるから、この制御ユニットは、要求元OSに
応答する際に、このIIDを後で使用することができ
る。
【0018】本発明は、測定期間中に各チャネルの使用
が複数のOSによって共用されているか否かに拘わりな
く、一のOSに関連するチャネル利用度として、当該各
チャネルの使用中時間を測定することに係る。本発明
は、チャネル使用中時間を測定する際に如何なるサンプ
リング手段も使用せずに、チャネル使用中時間を直接的
に且つ正確に測定することを可能にする。このため、本
発明のCMFは、かかる直接的な測定機能を、(測定を
要求している)要求元CPUからチャネル・サブシステ
ム内で非同期的に動作している1つ以上のチャネル・プ
ロセッサへオフロードすることによって、要求元CPU
と非同期的に動作するのである。このような非同期的な
測定動作が完了する場合、これらの測定動作の結果は、
それぞれのOSのために定期的に更新される。
【0019】本発明の好ましい実施例は、要求元OSの
要求元プログラムが、CEC内の何れのOSの制御下で
走行しているか否かに拘わりなく、また測定期間中に所
定のチャネルが他のOSによって共用されているか否か
に拘わりなく、要求元OSに関連するチャネル測定動作
を要求するために、要求元OSの要求元プログラムが使
用する新しいCPU命令を提供する。このCPU命令
は、(1)要求元OSに関連するCMFの測定動作を開
始させるため、(2)要求元OSに関連するCMFの測
定動作を停止させるため、及び(3)要求元OSに関連
するCMFの状況(例えば、このCMFが測定動作中に
活動的であるか、停止状態にあるか又はエラー状態にあ
るか)をテストさせるために、それぞれ使用される。
【0020】チャネル使用中時間の測定自体は、そのチ
ャネルを直接的に制御しているチャネル・プロセッサへ
移管される。その結果、チャネル使用中時間の測定に係
るCPUのオーバヘッドは、一定のままに留まるから、
従来技術のように、チャネル使用中時間のサンプリング
の頻度が増加するにつれて、オーバヘッドが増大するこ
とはない。
【0021】直接的なチャネル使用中時間の測定を効率
的に行うために、各要求元OSに関連するCMFは、チ
ャネル・サブシステムのハードウェア/マイクロコード
内に設けられる。このチャネル・サブシステムは、(各
チャネルの開始及び停止、並びにCMFの状況のテスト
を含む)複数のチャネル動作を制御するための、非同期
的に動作する複数のプロセッサを含んでいる。
【0022】これらのプロセッサは、CPUが要求した
入出力作業を該当するチャネルに渡すための複数の入出
力プロセッサ(IOP)を含み、さらにこれらのIOP
から作業要求を受け取って、該当するチャネルの動作を
直接的に制御するためのチャネル・プロセッサを含むこ
とがある。各チャネル・プロセッサを複数のチャネルの
間で共用することも、各チャネル・プロセッサを一のチ
ャネルに専用化することもできる。本発明の好ましい実
施例は、各チャネルがそれ自体に専用のチャネル・プロ
セッサを有しているという後者の方法を使用しているの
で、このチャネル・プロセッサは、そのチャネルの使用
中状態を連続的に制御及び監視することができる。
【0023】各OSに関連するCMFを開始させ、停止
させ、テストさせるためのCECマイクロコードについ
ては、これをIOP及びチャネル・プロセッサ内に設け
て、各CPUがこのマイクロコードを備えないようにす
ることが好ましい。なぜなら、各CPUには、極めて多
くの機能を遂行するためのマイクロコードがすでに備え
られていて、大きな負担がかかっているからである。
【0024】その結果、本発明が提供するCPU命令
は、チャネル・サブシステムのIOP及びチャネル・プ
ロセッサに対し、開始、停止又はテスト機能を通信する
とともに、完了情報を要求元OSへ戻すように作用する
に過ぎない。かくして、チャネル・サブシステムは、C
PUのオーバヘッドを大きくすることなく、しかも各要
求元OSに対して構成された全てのチャネルのうち任意
のチャネルが他のOSと共用されているか否かに拘わり
なく、これらの全てのチャネルの使用中/非使用中状態
の直接的で且つ連続的な測定値を、非同期的に且つ定期
的に提供することができる。
【0025】好ましい実施例では、前述のCPU命令を
「チャネル測定設定」(SCM)命令と呼ぶ。CECが
共用チャネルに関して動作している場合、チャネル・サ
ブシステムは、SCM命令に応答して、要求元OSによ
る共用チャネルの使用中時間だけを測定するか、又は要
求元OSの制御下で走行中の要求元プログラムの使用中
時間だけを測定する。他の共用OSによる共用チャネル
の使用中時間は、要求元OSには報告されないが、他の
共用OSにはそれぞれ個別に報告可能である。
【0026】共用及び非共用の入出力資源に関してCE
Cが動作するという機能を得ることができるのは、この
CECが、マイクロコード化されたハイパーバイザ又は
ソフトウェア・ハイパーバイザの何れかを使用している
場合である。SCM命令を使用すると、これらの何れか
のタイプのハイパーバイザを有するCEC内の複数のO
Sのうち任意のOSについて、チャネル使用中時間の測
定を開始又は停止させることができる。また、このよう
な環境でSCM命令を使用すると、複数のOSのうち指
定された任意のOSによって、CMFの状況をテストさ
せることができる。
【0027】チャネル・サブシステム内で活動的である
場合、一のCMFは、チャネル・プロセッサにおいて、
チャネル測定データを連続的に累算する。しかしなが
ら、CECの諸資源は、かかる測定データをその要求元
OSに通信する回数によって影響を受ける。経験によれ
ば、かかる測定データをその要求元OSへ連続的に通信
する必要はなく、かかる測定データを比較的長い期間に
わたって定期的に通信するか、又は特別なCPU命令を
使用して要求元OSに関連する更新済みの測定データを
得るようにすれば、それで十分であることが分かった。
定期的な報告技法の利点は、更新プロセスを行うために
定期的に呼び出す必要のあるソフトウェアをOSが備え
なければならないという負担をかけないで済み、またC
PUの命令セットに特別な命令を追加する必要がないこ
とである。他方、定期的な報告技法の欠点は、これが長
いインターバルにわたってタイムリーであることが保証
されないことである。この欠点は、極めてタイムリーに
報告する必要のないチャネル使用中時間の測定技法につ
いては、無視できる程度のものとなる。
【0028】定期的な報告技法については、それぞれの
OSに提供されるチャネル使用中時間を更新するため
に、数秒単位(例えば、4秒)のインターバルを効果的
に使用できることが分かった。
【0029】経験によれば、各チャネル・プロセッサか
らそのチャネル使用中時間をそれぞれのOSに報告させ
るのではなく、まず、CEC内のハードウェア/マイク
ロコードだけがアクセス可能な制御ブロックに報告させ
るのが好ましいことが分かった。例えば、チャネル・プ
ロセッサは、各CMFに関連するチャネル使用中時間の
連続的な測定値を、2秒間のインターバルで報告するこ
とができる。これは、CEC内のチャネル・プロセッサ
にとっても、ハードウェア/マイクロコードにとって
も、さほど重大な負担とはならない。さらに、かかるハ
ードウェア/マイクロコードだけがアクセス可能な制御
ブロック内に格納された更新済みの測定値は、OS専用
の記憶域内にある制御ブロックに対し、4秒ごとに定期
的にコピーされるので、かかる測定値がそれぞれのOS
に使用可能となる。
【0030】また、他の選択されたOSに関連するチャ
ネル測定データを得るように、任意のOSをイネーブル
することができる。この動作は、複数のOS間の全ての
セキュリティ及び許可制御の対象となる。この動作を制
御するためには、一のOSから発行されるSCM命令に
よって、測定を行うべき他のOSを識別すればよい。一
のOSは、他の複数のOSについての測定を同時に行う
ために、複数のSCM命令を発行することができる。
【0031】他のOSによる測定制御 一のOSは、他のOSに関連するチャネル利用度の測定
を制御することができる。これを行うため、一のOS
は、関連するコマンド要求ブロック(CRQB)内の
「OS選択IID」フィールドを、測定が行われるべき
他のOSのIIDに設定した後、SCM命令を発行する
(図3を参照)。
【0032】この場合、このSCM命令の対象となるC
MFを指定するために、CRQB内にある「OS−II
D」フィールド内のIIDの代わりに、「OS選択II
D」フィールド内のIIDが使用されることになる。
【0033】要求元OSを測定が行われるべきOSとし
て指定するために「OS−IID」フィールドが使用さ
れる場合、「OS選択IID」フィールドの値は、ゼロ
に設定される。
【0034】要求元OSのIIDとは異なるIIDが選
択される場合、これに応じたCMFによるコマンド処
理、測定データの収集、測定データの移動及びエラー処
理は、一のOSがその関連するCMFを開始させる場合
と同じようにして行われ、そして次の点を除いて、前述
の全てのステップが行われる。
【0035】一のOSに関連するCMFが停止され、そ
してこのCMFに関連する測定データのために任意のO
Sによって一のSCM開始コマンドが発行される場合、
恰もこの開始コマンドがこのCMFに関連するOSから
発行されたかのようにして、このCMFの測定動作が開
始される。次いで、要求元OSが、このCMFの現在の
測定データの受信先として、一のIOPによって登録さ
れる。
【0036】このIOPは、活動的なCMFを有してい
る全てのOSを登録する。図7のIOP状況ブロック
(IOPSB)は、CMFの測定データを受信すべき各
OSのオプションの登録を示す。このため、IOP状況
ブロックをコピーすることができる。このIOPは、C
MFの測定データの収集元である各OSごとに、別個の
IOP状況ブロックを維持して、CMFの測定データを
受信するように登録されている全てのOSをリストす
る。この登録内容に含まれているCMBアドレスは、要
求元OSが目標OSに関する測定データを受信すること
を望んでいる処の、チャネル測定ブロック(CMB)の
アドレスを指定する。
【0037】一のOSに関連するCMFが開始されて動
作的となり、そして選択されたOSに関連するCMFの
測定データを受信するようにまだ登録されていない任意
のOSによって後続の要求が発行される場合、この要求
元OSは、このCMFの測定データに対する追加の受信
先として登録される。選択されたOSに関連する測定活
動は、影響を受けない。
【0038】IOPは、一のOSに関連する測定データ
を、このOSに関連する測定データの受信先として登録
されている各OSに専用の記憶域内にあるCMBへ、定
期的に移動させる。
【0039】一のOSに関連するCMFが活動的であ
り、そして選択された任意のOSによって一のSCM停
止コマンドが発行される場合、後者の要求元OSは、こ
のCMFの測定データを受信するように登録されている
OSのリストから除去される。もし、その結果として、
選択されたOSに関連するCMFの測定データを受信す
べきOSが全く登録されないことになれば、このOSに
関連するCMFは、前述のようにして停止されることに
なる。
【0040】一のOSが一のSCMテスト・コマンドを
発行して任意のOSを選択する場合、選択されたOSに
関連する測定データの受信先として要求元OSが登録さ
れているときにだけ、格納される結果は、目標OSに関
連するCMFの状況を反映する。さもなければ、このS
CMテスト・コマンドに対する応答コードは、選択され
たOSに関連するCMFが停止されることを示す。
【0041】他のOSによる測定データの取得は、従来
技術のハイパーバイザ許可及びセキュリティ制御機構を
使用して、セキュリティ制御を提供するようになってい
るので、操作員又はシステム管理者は、各論理区画が任
意の又は他の全てのOSに関連するCMFの測定データ
を受信することを許可されているか否かを、個別に指定
することができる。許可されている一のOSが一のSC
M開始コマンドを発行して他のOSを選択する場合、そ
のプロセスは、本節で説明したものとなる。さもなけれ
ば、このSCM開始コマンドは失敗し、この失敗に関連
する特定の応答コードが、コマンド応答ブロック(CR
PB)内に格納される。
【0042】通常、CECの一の論理区画内で走行中の
一のOSは、CECのハイパーバイザによって、それ自
体のIIDを知る必要がないこと、又はこのOSが一の
論理区画環境内で走行していることが保証される。かく
して、各OSが望んでいるのであれば、当該各OSは、
恰もこれがCEC内の唯一のOSであるかのようにして
走行することができる。他のOSの論理区画を知ること
を望んでいる任意のOSは、システム構成を記述し且つ
許可されたOSにだけ使用可能なファイルを介して、従
来技術のCECハイパーバイザのサービスを使用するこ
とにより、そのOS自体のIID及び他のOSの論理区
画のIIDを取得することができる。
【0043】もし、一のOSが、他の複数のOSのチャ
ネル活動を同時に測定することを望んでいるのであれ
ば、この要求元OSは、複数のSCM命令を発行する。
この場合には、各SCM命令は、その関連するコマンド
要求ブロック(CRQB)内の「OS選択IID」フィ
ールドにおいて、他のOSの1つを指定する。このよう
な要求の各々ごとに、別個のCMBが必要である。
【0044】
【実施例】図1には、論理資源区画1ないしNに区画化
された中央演算処理複合体(CPC)の諸資源を有する
CECが示されている。ハイパーバイザは、区画0に配
置され、複数のOS、即ちOS−1ないしOS−Nは、
区画1ないしNにそれぞれ配置されている。各区画は、
CECの主記憶域(MS)資源の一部、即ちMS−1な
いしMS−Nをそれぞれ排他的に割り当てられている。
以下、これらのMS−1ないしMS−Nを、「OS専用
のMS空間」又は「OS記憶域」と称する。
【0045】ハードウェア・マイクロコード化されたハ
イパーバイザは、図1のCEC内で割り当てられている
が、これは可視的なCEC区画を必要としない。もし、
その代わりに、CEC内でソフトウェア・ハイパーバイ
ザが使用されるのであれば、区画0がソフトウェア・ハ
イパーバイザに割り当てられる。
【0046】チャネル・サブシステムの資源(チャネル
資源)は、CPUのようにOS間で区画化されることは
ない。米国特許願第898867号の発明は、全ての入
出力資源(チャネル資源を含む)を異なるCPC区画内
の複数のOSによって共用することを可能とし、また他
の入出力資源を割り当てられたOSへ専用化することに
よって、当該他の入出力資源を非共用化することを可能
とする。本明細書では、この米国特許願第898867
号の実施例に係る記述を援用する。
【0047】チャネル使用中時間を測定するための論理 図16は、各チャネル・プロセッサ内にある回路及びマ
イクロコードによって行われる諸プロセスを表すタイミ
ング図である。CEC内には、最大256個のチャネル
・プロセッサがある。各チャネルごとに1つのチャネル
・プロセッサは、チャネル識別子(CHPID)によっ
て識別される。チャネル・サブシステム内のサブチャネ
ル制御ブロック又は共用サブチャネル制御ブロックは、
当該サブチャネルに対し使用可能な最大8個のCHPI
Dを指定することができる。
【0048】図16において、時刻T0は、任意のチャ
ネル・プロセッサによる動作の開始時刻を表す。
【0049】図16のチャネル・タイミングは、測定用
に使用されているか否かには拘わりなく、発生するもの
である。このタイミングがCMFによる測定のために使
用されるのは、CRQB内に一の開始コマンドを有する
SCM命令がOSによって実行され、チャネルがこのO
Sによって使用されている場合だけである。
【0050】T0からT1までの期間中、チャネルは遊
休(非使用中)状態にあるから、チャネル・プロセッサ
は、チャネル使用中時間の累算を行わない。
【0051】時刻T1が生ずるのは、一の要求元OSに
よって実行されるサブチャネル開始(SSCH)命令な
どによって、一のチャネル通信を行うためにこのチャネ
ルが選択され、そしてこのチャネルを使用している要求
元OSに関連するチャネル使用中時間の測定期間が、こ
のチャネルについて開始する場合である。
【0052】チャネル・プロセッサに設けられている内
部クロックは、一定のレート(例えば、128マイクロ
秒ごとに1回のレート)で、そのクロック時刻を1ずつ
更新する。チャネル・プロセッサのクロック時刻は、ク
ロック・レジスタ(図8のCPCR)内に記入される絶
対時刻値であって、このチャネル・タイミング・プロセ
スによって使用されるものである。
【0053】時刻T1において、チャネル・プロセッサ
は、クロック・レジスタからの絶対クロック時刻を、チ
ャネル・プロセッサ内の「開始時刻レジスタ」(図8の
CPSTR)に格納する。チャネル・プロセッサが、時
刻T2においてその動作を終了し、遊休(非使用中)状
態になる場合、チャネル・プロセッサは、クロック・レ
ジスタからの絶対クロック時刻を、チャネル・プロセッ
サ内の「終了時刻レジスタ(図8のCPETR)に格納
する。次いで、チャネル・プロセッサは、「開始時刻レ
ジスタ」内の値を「終了時刻レジスタ」内の値から減算
することによって、要求元OSに関連するT2−T1=
「使用中時間インターバル」という減算を行う。次に、
チャネル・プロセッサは、この減算結果から得られた
「使用中時間インターバル」を、要求元OSに関連する
「累算された使用中時間」に加算する(図9を参照)。
【0054】それぞれの要求元OSに関連する累算され
た使用中時間を、使用中活動が発生した測定期間と相関
させるために、チャネル・プロセッサは、各要求元OS
がその測定期間中に何らかの活動を有していたことを条
件として、当該各要求元OSに関連する一の「タイム・
スタンプ」値を格納する。例えば、チャネル・プロセッ
サは、2秒ごとに、チャネル・プロセッサ・クロック・
レジスタ(CPCR)の内容を、以前の2秒間のインタ
ーバル中に使用中であった各要求元OSに関連するタイ
ム・スタンプ・フィールドに格納する(図8及び図9を
参照)。この2秒間のインターバル中に、一のOSに関
連する如何なるチャネル活動も生じない場合、そのOS
に関連するタイム・スタンプは更新されない。
【0055】累算された使用中時間及びタイム・スタン
プの組み合わせ(図9を参照)は、一のOSに関連する
測定セットを表す。この測定セットは、「OS−xに対
する累算された使用中時間」レジスタ及び「OS−xに
対するタイム・スタンプ」レジスタとして図示されてい
る。ハイパーバイザ、並びにチャネル・プロセッサを共
用するようにCEC内で構成されているOSの各々ごと
に、別個の測定セットが提供され、かかる測定セットが
チャネル・プロセッサのローカル記憶域内に配置される
ようになっている。
【0056】図9は、各チャネル・プロセッサのローカ
ル記憶域内に配置された「チャネル・プロセッサ測定ブ
ロック」(CHMB)を示す。CHMBは、当該チャネ
ルを使用する各OSに関連する累算された使用中時間及
びタイム・スタンプ値を保持している。チャネル・サブ
システム内には、最大256個のCHMBがあって、C
EC内にある最大256個の関連するチャネル・プロセ
ッサによってサポートされている最大256本の物理チ
ャネルを表している。
【0057】各チャネル・プロセッサのローカル記憶域
内に配置されている各CHMBの内容を、CECのハー
ドウェア・システム領域(HSA)内にあるチャネル・
イメージ測定ブロック(CIMB)の測定セットに対
し、例えば2秒ごとに定期的にコピーすることができ
る。
【0058】また、後者のCIMB内にある測定セット
を、それぞれのOSに専用のMS空間内に配置されてい
るチャネル測定ブロック(CMB)に対し、例えば4秒
ごとに定期的にコピーすることができる。
【0059】HSA内及びOS専用のMS空間内にある
これらの制御ブロックについては、以下で詳細に説明す
る。
【0060】チャネル測定設定(SCM)命令 図2のSCM命令は、任意のOSの制御下で走行してお
り且つそのOSに専用のMS空間内に配置されている一
のプログラムによって使用することができる。このSC
M命令は、各OSに関連する一の「CMF」の開始、停
止及び状況のテストを行うために、一のOSプログラム
によって使用される。CMFは、SCM開始コマンドか
らSCM停止コマンドまでの期間にわたって、そのOS
に対して構成された全ての(共用又は非共用)チャネル
の使用中時間を測定する。即ち、かかる測定が行われる
期間は、CMFを開始させるための第1のSCM命令を
実行した後、CMFを停止させるための第2のSCM命
令を実行することによって制御される。CPUがスーパ
バイザ状態にある場合にだけ、SCM命令を実行するこ
とが好ましい。
【0061】従って、CECハードウェア/マイクロコ
ードから成るチャネル・サブシステム内にCMFが構築
されている環境において、一のチャネル測定コマンドを
CMFに通信してその測定を行わせるために、このSC
M命令がOSプログラムによって使用される。各OSプ
ログラムは、SCM命令などの特別の命令によって提供
される制限された機能による場合を除き、CECハード
ウェア/マイクロコード内の構造をアクセスすることが
できない。
【0062】図2には、1オペランド形式のSCM命令
のフォーマットが示されているが、SCM命令には、1
オペランド、2オペランド又は3オペランド形式の任意
のフォーマットを与えることができる。どのようなフォ
ーマットを使用する場合であれ、SCM命令は、互いに
異なる3つのオペランド、即ち図3の「コマンド要求ブ
ロック」(CRQB)、図4の「コマンド応答ブロッ
ク」(CRPB)及び図5の「チャネル測定ブロック」
(CMB)を位置決めする。SCM命令の実行に先立っ
て、これらのCRQB、CRPB及びCMBは、OSプ
ログラムによって位置決めされ、構築されるようになっ
ている。また、OSプログラムは、これがアクセス不能
なチャネル・サブシステムのハードウェア/マイクロコ
ード内に配置されているCMFへ転送するために、これ
らのブロック内の幾つかのフィールド内に情報を置く。
図2には、1つの明示オペランド及び2つの暗黙オペラ
ンドを指定する処の、SCM命令のフォーマットが示さ
れている。第1の(明示)オペランドは、CPU用のコ
マンド要求ブロック(CRQB)を位置決めする。第2
の(暗黙)オペランド、即ちコマンド応答ブロック(C
RPB)は、第1のオペランドの直後にCPUによって
位置決めされ、第3の(暗黙)オペランド、即ちチャネ
ル測定ブロック(CMB)は、第1のオペランド(CR
QB)内のフィールドから位置決めされる。かくして、
このSCM命令の1オペランド形式は、IBM社のS/
390アーキテクチャに従って、他の暗黙オペランドを
位置決めするための一のブロックを位置決めする。
【0063】CRQBのコマンド・コード・フィールド
内に開始コマンドを有しているSCM命令は、指定され
たOSに関連するCMFの動作を開始させる。各OSに
関連するCMFは、チャネル・プロセッサ、このチャネ
ル・プロセッサを駆動するIOP、並びに各OSがアク
セス不能なHSA内に配置されている関連する制御ブロ
ックを含んでいる。
【0064】一のCMFが開始される場合、このCMF
は、そのチャネル・プロセッサのローカル記憶域内に、
チャネル・イメージの使用中状態に関する測定データを
収集する。この測定データは、HSA内の制御ブロック
である処の、図10のチャネル・イメージ測定ブロック
(CIMB)へ定期的に転送される。次いで、CIMB
内の測定データは、マイクロコード制御されたCMFに
よって、マイクロコードがアクセス可能な制御ブロック
(CIMB)から、OSがアクセス可能な制御ブロック
である処の、図5のチャネル測定ブロック(CMB)へ
定期的に転送される。OSプログラムは、そのOSがア
クセス可能な制御ブロック内にあるこの測定データだけ
を、任意の時点でアクセスすることができる。
【0065】一のSCM命令を実行することにより一の
CMFが開始される場合、このCMFは、次の一の条件
が発生して停止されるまで、活動的に留まる。
【0066】1.CRQBのコマンド・コード・フィー
ルド内に停止コマンドを有する他のSCM命令が、関連
するOSによって実行される。この場合、指定されたO
Sに関連するCMFだけが停止される。他のOSに関連
するCMFは影響を受けず、動作を継続することができ
る。非ハイパーバイザ・モード及びハードウェア・ハイ
パーバイザモードでは、OSイメージ識別子(IID)
を指定する必要はない。他方、ソフトウェア・ハイパー
バイザ・モードでは、OSイメージ識別子は、SCM命
令がパススルー・モードでインタプリタ式に実行される
場合は、要求元OSに対して暗黙的に指定され、SCM
命令がインタプリタ式に実行されない場合には、ハイパ
ーバイザによってCRQB内で明示的に指定される。
【0067】2.CECの電源オン・リセット又はCE
Cのシステム・リセットが行われる場合に、全てのOS
に関連する全てのCMFが停止される。
【0068】3.もし、一のCMFがエラー停止状態に
なれば、チェック停止条件を有するCMFだけが停止さ
れる。
【0069】4.もし、CEC又はそのチャネル・サブ
システムがチェック停止状態になれば、(全てのOSに
関連する)全てのCMFが停止される。
【0070】5.もし、「OSイメージ・リセット」機
能がハイパーバイザによって実行されるのであれば、指
定されたOSに関連するCMFだけが停止される。
【0071】6.もし、チャネル測定ブロック(CM
B)にアクセスを試みたときに、プログラム・チェッ
ク、記憶保護チェック、未訂正の記憶エラー又は未訂正
の記憶キー・エラーがチャネル・サブシステムによって
検出されるのであれば、この条件が発生したOSに関連
するCMFだけが停止される。
【0072】7.もし、1つ以上のチャネルについてエ
ラー条件が検出され、そして当該チャネルを回復するた
めに、関連するタイマ(チャネル使用中時間又はチャネ
ル・タイム・スタンプを計算するために使用される)を
チャネル・サブシステムによって初期化することが必要
であれば、このエラー条件が発生したOSに関連するC
MFだけが停止される。
【0073】8.ハイパーバイザのタイプに依存して、
システム・リセットがCECに対する自動的又は手動的
に開始される回復機能の一部として遂行されるのであれ
ば、全てのOSに関連する全てのCMFが停止される。
【0074】このようにして、本発明は、CEC内の任
意のOSによる入出力資源(共用されているか又は非共
用化されているかを問わない)の使用中時間に係る選択
的な測定値を、このOSの下で走行中のプログラムに使
用可能にすることができる。
【0075】コマンド要求ブロック(CRQB) 図3は、SCM命令の一のオペランドであって、この命
令により実行中のコマンドのタイプを指定する、「コマ
ンド要求ブロック」(CRQB)を示す。CRQBは、
各OSに専用のMS空間内にそれぞれ配置される。各O
Sに専用のMS空間は、そのOS並びにそのOSの下で
走行中の全てのプログラムがアクセス可能な全ての実記
憶域を含んでいる。各OS(及びそのプログラム)は、
他のOSに専用のMS空間をアクセスすることができな
い。
【0076】各OS(又はそのプログラム)は、一のC
RQBを構築し、これをSCM命令の一部としてチャネ
ル・サブシステムに提供することにより、各OSが使用
する入出力資源(チャネルなどの)の利用度を非同期的
に測定させる。図3に示されているCRQB内の諸フィ
ールドは、次の通りである。
【0077】CRQB長:このCRQBの長さ、例えば
32バイトを指定する。
【0078】コマンド・コード:遂行すべきCMFの動
作のタイプを表す値を指定する。それぞれの値の意味
は、次の通りである。 0: CMFの開始 ハイパーバイザ・モードでは、CMFは、OS−IID
フィールド内で指定されたOSだけに対応して開始され
る(OS選択IIDフィールドがゼロの場合、他のOS
に関連するCMFは影響を受けない)。CRQB内で定
義された全てのフィールドは、この開始動作を遂行する
際に使用される。指定されたCMFがすでに活動的とな
っている場合、このCMFは、活動状態に留まり、正常
な命令完了がコマンド応答ブロック(CRPB)内で指
示される。後者の場合、このCRQBの指定された再配
置ゾーン、記憶キー及びチャネル測定ブロック(CM
B)のアドレス値は、指定されたOSに関連する測定ブ
ロックに係る以降の全ての更新に使用される。ただし、
指定された任意の値について、チャネル・サブシステム
がエラー条件を検出した場合には、その例外として、こ
のCMFは活動的に留まって、以前に指定された値(第
2の開始コマンドの実行前に有効であった値)を継続的
に使用する。他方、非ハイパーバイザ・モードでは、関
与しているOSが1つだけであるから、OSイメージ識
別子(IID)を指定する必要はない。
【0079】1: CMFの停止 ハイパーバイザ・モードでは、コマンド・コード・フィ
ールド及びOS−IIDフィールドが、この停止動作を
遂行するのに使用される。指定されたOSに関連するC
MFが停止され、これに関連するチャネル測定ブロック
(CMB)に対するそれ以降のアクセスは行われない。
他のOSに関連する他のCMFは、影響を受けない。こ
の停止コマンドが指定されたとき、指定されたCMFが
活動的でない場合には、このCMFは、停止されたまま
に留まり、正常なコマンド完了がコマンド応答ブロック
(CRPB)内で指示される。他方、非ハイパーバイザ
・モードでは、コマンド・コード・フィールドだけがこ
の停止動作を遂行するのに使用され、また関与している
OSが1つだけであるから、如何なるOSも指定する必
要はない。
【0080】2: CMFの状況テスト 指定されたOSに関連するCMFの状況が、そのコマン
ド応答ブロック(CRPB)を介して、要求元プログラ
ムに戻される。ハイパーバイザ・モードでは、コマンド
・コード・フィールド及びOS−IIDフィールドが、
このテスト動作を遂行するのに使用される。他方、非ハ
イパーバイザ・モードでは、コマンド・コード・フィー
ルドだけが、このテスト動作を遂行するのに使用され
る。
【0081】OS−IID:ハイパーバイザ・モードで
は、このフィールドは、開始、停止又はテストすべきC
MFに関連するOSを識別する処の、区画のIID(イ
メージ識別子)コードを保持している。 :ハイパーバイザを使用しているCECでは、必要に
応じて、ハイパーバイザからOS−IID値を提供させ
ることが好ましい。なぜなら、セキュリティ及び透過性
の理由で、各OSがそのOS−IID値をアクセスしな
いこと、又はハイパーバイザがCECを制御しているこ
とに煩わされないことが望ましいからである。この場
合、OSプログラムは、このフィールド内に全ゼロを指
定する。CECが単一のOSによる非ハイパーバイザ・
モードで動作している場合にも、このフィールド内に全
ゼロが指定される。
【0082】再配置ゾーン:CMFによって使用される
OS用の制御ブロックが配置されているOS専用のMS
空間のうち必要な1つのMS空間をアクセスするため
に、この再配置ゾーンの値が使用される。CECがハイ
パーバイザを使用していない場合には、この再配置ゾー
ンは使用されない。 :ハイパーバイザを使用しているCECでは、必要に
応じて、ハイパーバイザから再配置ゾーンの値を提供さ
せることが好ましい。なぜなら、セキュリティ及び透過
性の理由で、各OSがこの再配置ゾーンの値をアクセス
しないこと、又はハイパーバイザがCECを制御してい
ることに煩わされないことが望ましいからである。この
場合、OSプログラムは、このフィールド内に全ゼロを
指定する。CECが非ハイパーバイザ・モード(単一の
OSによる)で動作している場合にも、このフィールド
内に全ゼロが指定される。
【0083】キー:OS専用のMS空間内に配置されて
いるチャネル測定ブロック(CMB)をアクセスするの
に必要な記憶キーを保持している。
【0084】チャネル測定ブロック(CMB)アドレ
:要求元OSに専用のMS空間内に配置されているチ
ャネル測定ブロック(CMB)のアドレスを保持してい
る。このCMBアドレスは、このCRQB内の再配置ゾ
ーン・フィールドによって指定された関連する再配置ゾ
ーンの起点に関し、相対的なものである。CECがハイ
パーバイザによって制御されていない場合、このCMB
アドレスは、MSの絶対アドレスとなる。このCRQB
内のコマンド・コードが停止又はテスト動作を指定して
いる場合、このフィールドは無視される。
【0085】コマンド応答ブロック(CRPB) 図4は、図3のCRQBと同様に、各OS専用のMS空
間の任意の1つ以上に配置される処の、「コマンド応答
ブロック」(CRPB)を示す。一のOS(又はそのプ
ログラム)は、チャネル・サブシステムに対してSCM
命令を発行することに備えて、CRQBの直後にCRP
B用の空間を提供する。チャネル・サブシステムは、要
求された動作がどのように完了したかを示す値を、この
CRPB内に挿入する。図4のCRQB内にある諸フィ
ールドは、次の通りである。
【0086】CRPB長:このCRPBの長さ、例えば
8バイトを指定する。
【0087】応答コード:SCM命令の実行要求の結果
を示す応答コードを、チャネル・サブシステムから受信
する。有効な応答は、16進の0001、0003、0
004、0102、0103及び0104である。
【0088】状況:ハイパーバイザ・モードでは、指定
されたOSに関連するCMFの状況がチャネル・サブシ
ステムによって提供される。他方、非ハイパーバイザモ
ードでは、単一のCMFの状況が、チャネル・サブシス
テムによって提供される。各状況値の意味は、次の通り
である。
【0089】0: CMFが活動的である。
【0090】1: CMFが停止状態にある。CMFは
開始されていないか、又は停止コマンド(要求元CRQ
B内のコマンド・コード=1)の実行によって停止され
た。
【0091】2: CMFがチャネル測定ブロック(C
MB)の更新を試みたときに、プログラム・チェックに
遭遇し、停止状態となっている。チャネル測定ブロック
(CMB)のアドレスは、指定された再配置ゾーンの範
囲内になく、又は構成された状態にない記憶域の位置に
ある場合には、無効である。
【0092】3: CMFがチャネル測定ブロック(C
MB)の更新を試みたときに、記憶保護チェックに遭遇
し、停止状態となっている。コマンド要求ブロック(C
RQB)内で指定された記憶キーは、チャネル測定ブロ
ック(CMB)の記憶キーと一致していない。
【0093】4: CMFがチャネル測定ブロック(C
MB)の更新を試みたときに、未訂正の記憶エラー又は
記憶キー・エラーに遭遇し、停止状態となっている。
【0094】5: CMFがエラーに遭遇し、停止状態
となっている。このエラーの原因となった条件は、回復
されている。CMFは、開始コマンドを指定するSCM
命令を実行することによって、直ちに再開できる。
【0095】6: CMFがエラーに遭遇し、停止状態
となっている。エラーの原因となった条件は、回復され
ている。しかしながら、所定の長さの時間が経過するま
で、CMFを再開してはならない。例えば、チャネル・
プロセッサの測定クロックが再初期化されて、使用中時
間の測定に再度使用できるようになるまで、CMFを再
開してはならない。
【0096】7: CMFがエラーに遭遇し、チェック
停止状態となっている。エラーの原因となった条件は、
チャネル・サブシステムによって回復できない。CMF
を再開するには、外部介入が必要である。
【0097】CMFの状況が、開始動作、停止動作によ
って変更されるか、入出力システム・リセット機能が実
行されるか、OSイメージ・リセット機能が実行される
か、又は指定されたCMFに影響を及ぼすエラー条件が
認識されるまで、テスト動作の反復的な実行によって、
同じ状況値がCRPB内に示される。
【0098】要求元CRQB内のコマンド・コードが開
始又は停止動作を指定する場合、状況フィールドはゼロ
となる。
【0099】チャネル測定ブロック(CMB) 図5は、図3のCRQB及び図4のCRPBと同様に、
各OS専用のMS空間の任意の1つ以上に配置される処
の、「チャネル測定ブロック」(CMB)を示す。
【0100】各OSが有する一のプログラムは、チャネ
ル・サブシステムに対して一のSCM命令を発行する準
備をするために、CMB(並びにCRQB及びCRP
B)用の位置と空間を提供する。このSCM命令は、一
のOSタスクを遂行するようにディスパッチされたCP
Uによって実行される。
【0101】好ましい実施例では、各チャネル及びチャ
ネル・イメージごとに時間の測定を行うように設けられ
ている各チャネル・プロセッサによって、入出力資源の
測定が定期的に且つ非同期的に行われる。チャネル使用
中時間の測定値がHSA内の測定セットに送られた後、
HSA内の測定値は、各OS専用のMS空間内に配置さ
れている制御ブロックに対し、IOPによって定期的に
コピーされる。
【0102】図5のCMB内にある「サンプル・カウン
ト」フィールドは、CMB内にある全ての測定セットに
対して共通に使用される。このサンプル・カウント・フ
ィールドは、次のように作用する。
【0103】サンプル・カウント:CMBがチャネル・
サブシステムによって更新されるたびに、1だけ増分さ
れる。
【0104】CMB内の各測定セットは、CEC内の各
チャネルに関連するフィールドのセットであって、この
例では、最大256個の共用可能なチャネルに関連する
ように、0ないし255の番号がつけられている。各測
定セットは、一のチャネルが一のOSによって使用され
ている間、このチャネルに関連する「S」フィールド、
「使用中時間」フィールド、「V」フィールド及び「タ
イム・スタンプ」フィールドを保持している。他のN個
のOSの各々も、それに専用のMS空間内に、各チャネ
ルに関連する同様のCMBを有することができる。
【0105】CMB内にある各測定セット内の諸フィー
ルドが有意となるのは、関連するチャネルが各OSに対
しオンラインで構成されている場合だけである。CMB
内にある各測定セット内の諸フィールドは、次のように
作用する。
【0106】:「有効」フィールド。V=1である場
合、関連するチャネルは、要求元OSに対して構成され
ており、チャネル使用中時間が累算されて、チャネル使
用中時間フィールドに定期的に格納される。V=1であ
る場合、関連する「チャネル・タイム・スタンプ」フィ
ールドも有効である。他方、V=0である場合、関連す
るチャネルは、要求元OSに対して構成されておらず、
関連するチャネル使用中時間フィールド及びタイム・ス
タンプ・フィールドの内容は、有意ではない。次の任意
の条件が存在する場合、Vビットは、ゼロとして格納さ
れる。
【0107】 1.関連するチャネルが、CPCによって提供されな
い。 2.関連するチャネルが、チャネル使用中時間の測定値
を提供しない。 3.関連するチャネルが、永続エラー状態にある。
【0108】チャネル使用中時間:関連するチャネルご
とに、測定されたチャネル使用中時間の累算値を保持し
ている。関連するチャネルが使用中となるのは、このチ
ャネルがそれに接続された制御ユニット又はデバイスと
活動的に通信している場合である。関連するチャネルが
共用されていない場合、このフィールドは、全てのチャ
ネル使用中時間の累算値を保持する。他方、関連するチ
ャネルが1つ以上の他のOSによって共用されている場
合、このフィールドは、このチャネル測定ブロック(C
MB)が対応している要求元OSだけの、チャネル使用
中時間の累算値を保持する。関連するチャネルを共用し
ている他のOSに関連するチャネル使用中時間は、かか
る累算値には含まれない(これらのチャネル使用中時間
は、そのチャネル・タイプに該当する分解能を使用し
て、そのチャネルで測定される)。関連するチャネル
は、他のチャネル又はチャネル・イメージとは独立に、
チャネル使用中時間を記録する。
【0109】:共用可能チャネルの標識フィールド。
Sビットが有意となるのは、Vビットが1となる場合だ
けである。S=0及びV=1である場合、関連するチャ
ネルは、対象OSに対して構成されており、他のOSに
よって共用できない。他方、S=1及びV=1である場
合、関連するチャネルは、対象OSに対して構成されて
おり、1つ以上の他のOSによって共用できる。
【0110】チャネル・タイム・スタンプ:関連するチ
ャネルの最新のチャネル使用中時間がチャネル・サブシ
ステムによって記録された時刻を識別する処の、タイム
・スタンプ値を保持している。各タイム・スタンプ値
は、同一の測定セット内の関連するチャネル使用中時間
だけに適用される。
【0111】チャネル測定ブロック(CMB)内の全て
のフィールドは、この測定ブロックがチャネル・サブシ
ステムによって少なくとも1回だけ非同期的に更新され
るまで、有意とはならない。
【0112】CPU−IOP通信ブロック(CICB) 図6は、HSA内のハードウェア/マイクロコードによ
って構築された「CPU−IOP通信ブロック」(CI
CB)を示す。CICBは、HSA内に配置されている
ために、CRQB及びCRPBを構築したOSプログラ
ムには、アクセス不能である。
【0113】CICB内の諸フィールドは、SCM命令
がインタプリタ式に実行されるときに、CRQB内の関
連するフィールド又はSIEの状態記述から充填され
る。ただし、状況及び応答コード・フィールドについて
は、マイクロコードが同一のラベル付きフィールドを図
4のCRPB内に充填するときに、充填されるようにな
っている。
【0114】IOP状況ブロック(IOPSB) 図7は、HSA内に配置されている「IOP状況ブロッ
ク」(IOPSB)のフォーマットを示す。IOPSB
は、CMFの各々ごとに一の項目を有する。ハイパーバ
イザ及びハイパーバイザ・モードで動作しているCEC
内のN個のOSの各々ごとに、一のCMFを設けること
ができる。
【0115】IOPSBの各項目は、「状況」フィール
ド及び「チャネル測定ブロック(CMB)のアドレス」
フィールドを有している。状況フィールドは、次の任意
の状況コードを有することができる。
【0116】 0=CMFが、このOSに対して活動的である。 1=CMFが、このOSに対して停止している。 2=CMFが、プログラム・チェック条件のため、この
OSに対して停止している。 3=CMFが、記憶保護チェック条件のため、このOS
に対して停止している。 4=CMFが、記憶エラー又は記憶キー・エラーのた
め、このOSに対して停止している。 5=CMFが、CMFエラーのため、このOSに対して
停止している。CMFは、プログラムによって、直ちに
再開できる。 6=CMFが、CMFエラーのため、このOSに対して
停止している。CMFを再開する前に、プログラムは、
CECによって規定された所定の時間(例えば、16
秒)の間、待機しなければならない。 7=CMFが、このOSに対してチェック停止状態にあ
る。
【0117】チャネル・プロセッサ・クロック・レジス
タ(CPCR)、チャネル・プロセッサ開始時刻レジス
タ(CPSTR)及びチャネル・プロセッサ終了時刻レ
ジスタ(CPETR) 図8は、各チャネル・プロセッサのローカル記憶域内に
配置された、これらのレジスタを示す。これら3つのレ
ジスタから成る1セットが、各チャネル・プロセッサに
よって制御される各物理チャネルごとに設けられてい
る。これらのレジスタは、一のチャネルを共用している
各OSに関連するチャネル使用中時間を継続的に測定す
るために、各チャネル・プロセッサによって使用され
る。
【0118】チャネル・プロセッサ測定ブロック(CH
MB) 図9は、各チャネル・プロセッサのローカル記憶域内に
配置されている処の、チャネル・プロセッサ測定ブロッ
ク(CHMB)を示す。
【0119】CEC内の各物理チャネルごとに、1つの
CHMBが設けられている。各CHMBは、CEC内で
現に構成されている各OSごとに1つの測定セットを有
し、全体としてN個の測定セットを有している。CHM
B内の各測定セットは、1つのチャネル・イメージに関
する情報(即ち、1つのOSによる物理チャネルの使用
中時間)を累算する。CHMB内にある一の測定セット
内の諸フィールドは、前述のCMB内にある測定セット
内の関連するフィールドと同じに定義されている。
【0120】各チャネル・プロセッサは、(そのローカ
ル記憶域内に配置された)CHMB内の各測定セットに
おいて、各OSごとにその累算されたチャネル使用中時
間を更新するとともに、これを格納することによって、
そのチャネルに対する使用中時間を継続的に測定する。
本発明は、各OSによるチャネル・イメージの使用中時
間を継続的に測定し且つこれを累算するものである。
【0121】各OSによるチャネル・イメージの使用中
時間の継続的な測定及び累算は、累算された使用中時間
をHSAへ定期的に転送する動作によって影響されない
のであり、また後者の定期的な転送動作は、統計的なサ
ンプリング効果を引き起こさない(図16の説明を参
照)。
【0122】チャネル・イメージ測定ブロック(CIM
B) 図10は、HSA内に配置されている処の、チャネル・
イメージ測定ブロック(CIMB)を示す。CECが提
供可能な全てのチャネル・イメージに対応して、1つの
CIMBがHSA内に設けられる。CIMBは、CEC
内で可能な全てのチャネル・プロセッサ、例えば256
個のチャネル・プロセッサに関連する処の、チャネル・
プロセッサ項目を有している。各チャネル・プロセッサ
項目は、CEC内で構成されている各OSイメージごと
に1つの測定セットを有し、全体としてN個の測定セッ
トを有している。各測定セットは、図9のチャネル・プ
ロセッサ測定ブロック(CHMB)内の測定セットと同
様のフィールドを有している。
【0123】全てのCHMB(最大256個)の内容
は、各チャネル・プロセッサのローカル記憶域から、全
てのチャネル・プロセッサに関連するCIMB内の項目
に対し、定期的に(例えば、2秒ごとに)転送される。
即ち、CIMB内の各項目は、各チャネル・プロセッサ
に配置される処の、CHMBからそれぞれコピーされる
のである。
【0124】図10のCIMBは、CECのマイクロコ
ードだけがアクセス可能であって、これをOSがアクセ
スすることはできない。従って、CIMBの内容を、O
S専用のMS空間内にあるチャネル測定ブロック(CM
B)に対し、定期的に(例えば、4秒ごとに)転送し
て、この情報をOSがアクセスできるようにしている。
【0125】正常なコマンド完了 CECがハイパーバイザ・モードで動作している場合、
0001に等しい応答コードは、一のSCM命令の正常
な完了を示す。この応答コードは、要求されたCMF動
作を遂行した後(一のCMFは、このSCM命令に関連
するコマンド要求ブロック(CRQB)内で指定された
コマンド・コード及びIIDによって決定されるよう
に、開始、停止又はテストされている)、このCMFか
ら指定されたOSに対して提供されるようになってい
る。
【0126】CECが非ハイパーバイザ・モードで動作
している場合、0001に等しい応答コードは、このC
MFが、CEC内の1つのOSのためにだけ動作してい
ることを示す。なお、このCMFは、コマンド要求ブロ
ック(CRQB)内で指定されたコマンド・コードによ
って決定されるように、開始、停止又はテストされてい
る。これに対し、ハイパーバイザ・モードでは、000
1に等しい応答コードは、各OSが実行するSCM命令
のコマンド要求ブロック(CRQB)内のOS−IID
フィールドが指定する要求元OSにだけ提供される。ハ
イパーバイザ・モードでは、任意の物理チャネルを複数
のOSによって共用することが可能であるが、各OSに
よる物理チャネルの使用中時間だけがそのOSに報告さ
れる。しかしながら、ハイパーバイザ・モードでは、任
意の物理チャネルを複数のOSによって必ずしも共用す
る必要はなく、この場合には、物理チャネルは1つのO
Sだけによって排他的に使用されるから、CMFは、こ
の物理チャネルの全体的な使用中時間をそのOSに報告
することができる。
【0127】特別な条件 もし、0001に等しくない応答コードが、図4のコマ
ンド応答ブロック(CRPB)内に格納されるのであれ
ば、特別な条件が存在している。0001に等しくない
応答コードは、SCM命令を実行中のOSに対し、この
SCM命令の実行が抑止されていることを示す。この場
合、指定されたCMFは、このSCM命令の実行前に存
在していた状態に留め置かれる。このSCM命令に関連
するコマンド応答ブロック(CRPB)内に置かれる処
の、特別な条件の標識コードは、次の通りである。
【0128】「0003」:0003に等しい応答コー
ドがCRPB内に格納される理由は、次の通りである。
【0129】1.CRQBの長さフィールドが、所定の
バイト数(例えば、32バイト)とは異なる値を保持し
ている。 2.ゼロであると想定されるCRQB内の諸フィールド
が、全ゼロではない。 3.CECがハイパーバイザの制御下になく、CRQB
内のOS−IIDがゼロではない。 4.ハイパーバイザのSIE命令の制御下で開始動作が
実行されており、インタプリタ式の実行に対する一般的
な条件が満たされているが、CRQB内の再配置ゾーン
・フィールドがゼロではない。 5.ハイパーバイザのSIE命令の制御下で開始、停止
又は停止動作が実行されており、インタプリタ式の実行
に対する一般的な条件が満たされているが、CRQB内
のOS−IIDフィールドがゼロではない。 6.CRQB内のコマンド・コードがゼロではない。
【0130】「0004」:もし、SCM命令が提供さ
れていなければ、0004に等しい応答コードがCRP
B内に格納される。
【0131】「0102」:0102に等しい応答コー
ドがCRPB内に格納される理由は、次の通りである。
【0132】1.開始動作が指定され、再配置ゾーン・
フィールドはゼロではないが、指定された再配置ゾーン
がCEC内に提供されていない。 2.開始動作が指定されたが、指定されたチャネル測定
ブロック(CMB)のアドレスが無効である。このチャ
ネル測定ブロック(CMB)のアドレスが無効となるの
は、次の条件のうち任意のものが認識される場合であ
る。 −このアドレスが、4Kバイトの境界のような適切な位
置を指定していない。 −このアドレスが、指定された再配置ゾーンの限界内に
はない位置を指定している。 −このアドレスが、構成されていない位置を指定してい
る。 −このアドレスが、モデルによって提供されていない位
置を指定している。
【0133】「0103」:0103に等しい応答コー
ドがCRPB内に格納される理由は、次の通りである。
【0134】1.指定された記憶キーが、指定されたチ
ャネル測定ブロック(CMB)の記憶キーと一致してい
ない。CRQB内の指定された記憶キーがゼロである場
合は、チャネル測定ブロック(CMB)のキーは、突き
合わせを行うためにテストされない。
【0135】「0104」:0104に等しい応答コー
ドがCRPB内に格納される理由は、次の通りである。
【0136】1.CPCはハイパーバイザ・モードで動
作しているが、指定されたOSイメージが、モデル又は
現行の入出力構成によって提供されていない。
【0137】SCM命令の詳細な動作 図11は、一のCPUがSCM命令を実行するために必
要な諸ステップのシーケンスを示す流れ図である。ま
ず、ステップ91において、SCM命令を実行中のCP
Uが、その命令のオペランドとしてアドレスされたコマ
ンド要求ブロック(CRQB)及びコマンド応答ブロッ
ク(CRPB)を取り出す。CRQBは、SCM命令の
暗黙の第3のオペランドに相当する処の、OSに関連す
るチャネル測定ブロック(CMB)のアドレスを保持し
ている。CRQB内に以前に挿入された情報は、CRQ
Bの長さと、コマンド・コードと、OS専用のMS空間
に割り当てられたOS−IIDと、OS専用のMS空間
に割り当てられた再配置ゾーン番号と、CMBをアクセ
スするためにチャネル・サブシステムが使用する記憶キ
ーと、CMBのアドレスとを含んでいる。
【0138】OS−IID及び再配置ゾーン番号は、O
SによってCRQB内に事前に挿入されるのではなく、
SCM命令がインタプリタ式に実行されるときに、マイ
クロコードによって提供されるか、又はSCM命令がO
Sに代わってハイパーバイザによって代行受信され且つ
再発行されるときに、ハイパーバイザによってCRQB
内に挿入されるのが好ましい。好ましい実施例では、O
Sは、それに割り当てられたOS−IID又はその再配
置ゾーン番号を認識しない。なぜなら、かかるOS−I
ID及び再配置ゾーン番号は、マイクロコード及びハイ
パーバイザによってだけ取り扱われるに過ぎないからで
ある。
【0139】ステップ92において、CPUは、SCM
命令のインタプリタ式の実行をテストするとともに、S
CM命令の諸オペランドによって提供された諸制御ブロ
ックの妥当性検査を行う。ステップ92のプロセスは、
図12に詳細に示されているように、CPUがSCM命
令をSIEのインタプリタ式の実行モードで実行してい
るか否かをテストするためのステップと、前述の種々の
妥当性検査を行うためのステップとを含んでいる。
【0140】ステップ93において、CPUは、CRQ
BのアドレスをCECのハードウェア/マイクロコード
だけがアクセス可能な制御ブロック内に格納する。この
制御ブロックは、図6に示すCPU−IOP通信ブロッ
ク(CICB)であって、HSA内に配置されるもので
ある。前述のように、HSAは、CECのマイクロコー
ドだけがアクセス可能であって、他の如何なるOSも、
特定のタイプのアクセスのためにのみ提供される特別な
命令によらない限り、このHSAをアクセスできないか
らである。
【0141】ステップ94において、CPUは、このS
CM命令の実行を継続するように、CEC内の入出力プ
ロセッサ(IOP)に通知する。図13には、IOPに
おけるSCM命令の実行プロセスが詳細に示されてい
る。この結果、SCM命令に従った開始、停止及びテス
ト動作を行うための負担が、CPUからチャネル・サブ
システムへシフトされることになる。次のステップ95
は、IOPがSCM命令のプロセスを完了するまで、C
PUが待機することを表している。
【0142】IOPがSCM命令のプロセスを完了する
場合、CPUは、図11のステップ96に入り、そこで
ステップ95におけるCPUの待機状態を終了させる。
IOPにおいてSCM命令の実行の一部を行わせる利点
は、SCM命令のマイクロコードを、マイクロコードの
要件が厳しいCPUにではなく、チャネル・サブシステ
ムに置くことができる、という点にある。
【0143】ステップ96において、CPUは、IOP
におけるSCM命令の実行中に生成されたCPU−IO
P通信ブロック(CICB)から、応答コードを取り出
す。次のステップ97において、CPUは、この応答コ
ードを、要求元OSに専用のMS空間内に配置されてい
るコマンド応答ブロック(CRPB)内に格納する。ス
テップ97は、SCM命令の実行の終わり近くで発生す
る。この応答コードは、OSプログラムに対し、SCM
命令の実行が成功したか否かを指示し、成功しなかった
場合には、不成功の理由を指示する。これらの応答コー
ドは、前述の任意の値を有することができる。
【0144】ステップ98において、CPUは、コマン
ド・コードを検査して、テスト動作が実行されたか否か
を決定し、そうであれば、ステップ99において、CI
CBからCMFの状況を取り出し、これをコマンド応答
ブロック(CRPB)内に格納して、CMFの状況をO
Sプログラムに対して指示する。
【0145】図13ないし図15は、SCM命令の実行
の一部として、開始、停止又はテスト動作を実行するた
めのチャネル・サブシステムのプロセスを示す。まず、
ステップ111において、OS専用のMS空間から、C
RQBを取り出す。このCRQBは、その長さと、コマ
ンド・コードと、要求元OSのOS−IIDと、再配置
ゾーン番号と、チャネル測定ブロック(CMB)の記憶
キーと、チャネル測定ブロック(CMB)のアドレスと
を保持している。
【0146】:SCM命令がハイパーバイザによって
実行される場合、CRQBは、OS−IID及び再配置
ゾーン番号だけを保持するに過ぎない。他方、SCM命
令が一のOSによってインタプリタ式に実行される場
合、これらの値は、両方ともHSA内に配置されている
CICB内のCPUマイクロコードによって、IOPへ
渡されることになる。OSプログラムがSCM命令をイ
ンタプリタ式に実行している場合、CRQB内にあるO
S−IIDフィールド及び再配置ゾーン番号フィールド
の両方は、(CECがハイパーバイザの制御下にない場
合と同様に、OSプログラムがSCM命令を実行する前
に)OSプログラムによってゼロに設定されなければな
らない。図12のステップ1010に示すように、CP
Uマイクロコードは、活動的なSIE状況記述からのO
S−IID及び再配置ゾーン番号を、CICB内にコピ
ーすることにより、これらの値をIOPに提供するため
の手段として機能する。
【0147】ステップ112は、CRQB内のコマンド
・コードをテストして、開始動作が指定されているか否
かをテストする。もし、開始動作が指定されていなけれ
ば、プロセスは、図14に進む。他方、開始動作が指定
されていれば、IOPは、CECの動作モードをテスト
して、ハイパーバイザがCECを制御しているか否かを
テストする(ステップ113)。もし、CECを制御し
ているハイパーバイザがなければ、プロセスは、ステッ
プ116に進む。
【0148】他方、一のハイパーバイザがCECを制御
しているのであれば(ステップ113)、IOPは、S
CM命令がパススルー・モードでインタプリタ式に実行
されているか否かをテストする(ステップ114)。ス
テップ114は、CPUマイクロコードによって設定さ
れる処の、CICB内のSCMパススルー・ビットをテ
ストして、SCM命令がSIEの制御下でインタプリタ
式に実行されているか否かをテストする。もし、そうで
あれば、CPUによって渡されたCICB内のOS−I
ID及び再配置ゾーン番号をテストして、これらがCE
Cによって提供された値を指定しているか否かをテスト
する(ステップ115)。もし、これらの値が有効であ
れば、プロセスは、ステップ116に進む。他方、CI
CB内のこれらの値が有効でなければ、前述の適切なエ
ラー応答コードが、HSA内に配置されているCICB
内のコマンド応答コードに格納され(ステップ111
2)、待機中のCPUに対し、IOPがSCM命令の実
行を完了したという通知が行われる(図15のステップ
135)。次いで、IOPは、以前に待ち行列に入れら
れたサブチャネル開始命令に対する入出力要求を実行す
るなどの、遂行すべき他の作業タスクを探す(図15の
ステップ136)。もし、CECがハイパーバイザによ
って制御されていなければ(ステップ114)、これら
のテストは行われず、プロセスは、ステップ116に進
む。
【0149】他方、ハイパーバイザがCECを制御して
いるが、SCM命令がパススルー・モードでインタプリ
タ式に実行されていなければ(ステップ114)、ステ
ップ114Aにおいて、IOPは、CRQB内のフィー
ルドにあるハイパーバイザが指定したOS−IID及び
再配置ゾーン番号が有効であるか否かをテストする。も
し、これらの値が有効であれば、プロセスは、ステップ
117に進む。他方、これらの値がハイパーバイザによ
って正しく指定されていなければ、適切なエラー応答コ
ードが、HSA内に配置されているCICB内のコマン
ド応答コードに格納され(ステップ1112)、そして
CPUに対し、IOPにおけるSCMの実行が終了した
ことが通知される。
【0150】ステップ116では、どのハイパーバイザ
もCECを制御していないか、又はSCM命令がインタ
プリタ式に実行されている場合において、CRQB内の
OS−IID及び再配置ゾーン番号の値が正しくゼロと
指定されているか否かをテストする。もし、OSがこれ
らの値をゼロと正しく指定したのであれば、プロセス
は、ステップ117に進む。他方、これらの値の何れか
がゼロでなければ、適切なエラー・コードが、HSA内
に配置されているCICB内のコマンド応答コードに格
納され(ステップ1112)、そしてCPUに対し、I
OPにおけるSCMの実行が終了したことが通知され
る。
【0151】ステップ117では、OSによって指定さ
れたCMBのアドレスが有効であるか否か、またCRQ
B内の全ての予約フィールドにゼロ値が正しく指定され
ているか否かをテストする。これらのテストの何れかが
失敗した場合には、適切なエラー・コードが、HSA内
に配置されているCICB内のコマンド応答コードに格
納され(ステップ1112)、そしてCPUに対し、I
OPにおけるSCMの実行が終了したことが通知され
る。これらのテストの全てが成功した場合、プロセス
は、ステップ118に進む。
【0152】ステップ118及び119では、OSによ
って指定された記憶キーが、OS専用のMS空間内にあ
るCMBの実際の記憶キーと一致するか否かをテストす
る。IOPは、CRQBからの指定されたキーを使用し
て、CMBのアドレスに対する取り出し要求を発行する
とともに、その取り出し動作の結果をテストする。も
し、この取り出しが成功すれば、キーは一致し、そして
プロセスは、ステップ1111に進む。他方、この取り
出しが成功しなければ、適切なエラー・コードが、CI
CB内のコマンド応答コードに格納され(ステップ11
12)、そしてCPUに対し、IOPにおけるSCMの
実行が終了したことが通知される。:もし、CRQB
内のキー値がゼロであれば、このテストは行われない。
なぜなら、記憶域内にあるCMBの実際のキー値に拘わ
りなく、チャネル測定データがIOPによってCMB内
に定期的に格納される場合は、ゼロ・キーによって、I
OPがCMBの取り出し及び格納を事後的に行うことが
できるからである。
【0153】ステップ1111では、CECがハイパー
バイザの制御下にあるか否かをテストする。もし、そう
でなければ、CEC内で1つのOSだけが動作してお
り、IOPは、「活動的」標識をOSイメージ1に関連
するHSA内のIOPSB項目に格納するとともに、C
RQBからの記憶キー値及びCRQBからのCMBアド
レスをOSイメージ1に関連するIOPSB項目に格納
する。他方、一のハイパーバイザがCECを制御してい
るのであれば、複数のOSが構成可能であり、IOP
は、「活動的」標識、記憶キー値及びCMBアドレス
を、指定されたOSイメージに関連するIOPSB項目
に格納する。次いで、IOPSB内にある状況、キー及
びCMBアドレスは、IOPがそれぞれのOSに関連す
る活動的なCMFのCMBを定期的に更新するときに、
IOPによって事後的に使用されるようになっている。
IOPSBの更新の完了時に、プロセスは、図15のス
テップ134に進み、そこでIOPは正常な完了応答コ
ードをCICB内に格納し(図15のステップ13
4)、そして待機中のCPUに対し、IOPにおけるS
CM命令の実行が完了したことが通知される。
【0154】図14は、「停止」又は「テスト」動作に
必要であり、かつ図13に示されているような「開始」
動作についてIOPによって行われるテストと同様の、
ハイパーバイザ・モード・テスト、SCMインタプリタ
式実行テスト及び適切な予約フィールド・テストを行う
ためのIOPのプロセスを示す。これらのテスト(ステ
ップ122、123、123A及び124)が正常に完
了した場合、CRQB内のコマンド・コード・フィール
ドが、「停止」動作に関してテストされる(ステップ1
25)。もし、コマンド・コードが「停止」動作を指定
していなければ、プロセスは、図15へ進む。他方、コ
マンド・コードが「停止」動作を指定していれば、IO
Pは、CECがハイパーバイザの制御下で動作している
か否かをテストする。もし、そうでなければ、CEC内
で1つのOSだけが走行しており、そしてOSイメージ
1に関連するCMFの状況が、OS−1に関連するHS
A内のIOPSB項目において「停止」状態に設定され
る(ステップ126A)。もし、CECが一のハイパー
バイザの制御下で動作しているのであれば、複数のOS
が走行可能であり、そして指定されたOSイメージに関
連するHSA内のIOPSB項目におけるCMFの状況
が、「停止」状態に設定される(ステップ127)。次
いで、プロセスは、図15のステップ134に進み、そ
こで正常な完了コードをCICB内のコマンド応答コー
ドに格納するとともに、待機中のCPUに対し、IOP
におけるSCM命令の実行が完了したことが通知され
る。
【0155】図15は、「テスト」動作に関するIOP
のプロセスを示す。もし、CRQB内のコマンド・コー
ド・フィールドにおいて、「テスト動作」コードが検出
されるのであれば、ステップ131からステップ132
へのイエス経路が取られる。他方、「テスト動作」コー
ドが検出されなければ、無効なSCMコマンド・コード
がCRQB内に保持され、そしてIOPは、適切なエラ
ー応答コードをCICB内に格納し(ステップ131
B)、待機中のCPUに対し、IOPにおけるSCM命
令の実行が完了したことを通知する。
【0156】ステップ132は、CECがハイパーバイ
ザを使用しているか否かをテストし、使用している場合
には(ステップ133へのイエス経路)、そのOSイメ
ージに関連するCMFの状況を、関連するIOPSB内
のOS項目からCICBにコピーする。次いで、プロセ
スは、ステップ134に進む。
【0157】もし、ステップ132において、如何なる
ハイパーバイザも使用されていないことが検出されるの
であれば、ステップ132Aに入り、そこでIOPSB
内のOS−1項目に存在している状況標識をCICB内
にコピーした後、プロセスは、ステップ134へ進む。
【0158】ステップ134では、正常な完了応答コー
ドがCPUマイクロコードに関連するCICB内に格納
され、そして待機中のCPUに対し、IOPにおけるS
CM命令の実行が完了したことが通知される(ステップ
135)。次いで、IOPは、遂行すべき他の作業タス
クをポーリングする。
【0159】図17及び図18は、活動的なCMFを有
しているそれぞれのOSに専用のMS空間内に配置され
ているチャネル測定ブロック(CMB)を定期的に更新
するための、タイマ駆動ルーチンを示す。例えば、ステ
ップ151への入力を行うために、IOPタイマ割り込
みが4秒ごとに発生する。次いで、IOPは、図17の
ステップ151において、全てのCMFに関連するIO
P状況ブロック(図7のIOPSB)をテストする。ス
テップ151は、任意のCMFが活動的であることをI
OPSBが示しているか否かをテストするためのもので
ある。もし、どのCMFも活動的でなければ、ステップ
159に入り、そこで他の作業を行うようにIOPが解
放される。
【0160】ステップ152では、CECが一のハイパ
ーバイザを使用しているか否かをテストする。もし、ど
のハイパーバイザも使用されていなければ、ステップ1
52Aに入り、そこでループ・カウント=1を設定す
る。他方、一のハイパーバイザが使用されているのであ
れば、ステップ153に入り、そこでループ・カウント
=Nを設定する(ただし、Nは、CEC内で構成されて
いるOSの数である)。次いで、ステップ154におい
て、IOP状況ブロック(IOPSB)のうちOS−1
に関連する第1の状況項目をアクセスする。次いで、図
18のプロセスが実行され、チャネル・イメージ測定ブ
ロック(CIMB、図10を参照)内のそれぞれのチャ
ネル・プロセッサ項目(0ないし255)を走査して、
現に指定されているOS(当初はOS−1である)に関
連する2ワードのセットをアクセスした後、このセット
をそのOS専用のMS空間内に配置されているチャネル
測定ブロック(CMB、図5を参照)内のそのチャネル
に関連する2ワードのセットに書き込む。
【0161】次に、ステップ156に入り、そこでルー
プ・カウントを1だけ減少させた後、ステップ157に
おいて、その結果的なカウントがゼロに達したか否かを
テストする。もし、ゼロに達していれば、全ての2ワー
ドのセットが、システム内の全てのOSに関連するCM
B内にコピーされており(ステップ158を参照)、次
のステップ159において、他の作業を遂行するように
IOPが解放される。
【0162】図18は、図17のステップ155の詳細
を示す。もし、どのCMFも活動的でなければ、このプ
ロセスは、点Bで終了する。他方、任意のCMFが活動
的であれば、プロセスは、ステップ162に進み、そこ
でチャネル0に関連するCIMB(図10)内の最初の
項目を選択した後、ステップ163に進む。
【0163】ステップ163では、選択されたOSに関
連するチャネル測定値を保持している2ワードのセット
を取り出し、その後、ステップ164に入る。
【0164】ステップ164では、CIMB内の任意の
後続チャネル項目を処理すべきか否かをテストする。も
し、そうであれば、プロセスは、ステップ163へ戻
り、そこで次のチャネル項目を処理する。さもなけれ
ば、ステップ165に入り、そこで取り出された全ての
2ワード・セットを、このOS専用のMS空間に配置さ
れているCMB内に格納する。ステップ166では、任
意の例外条件の存否をテストし、例外条件が何も存在し
ていなければ、点Bに達する(点Bは、図17のステッ
プ156に進む)。他方、任意の例外条件が存在すれ
ば、ステップ166Aに入り、そこで適当なOSのCM
Fに関連するIOPSB内に「停止」状況を格納する。
この結果、このOSに関連するCMFが停止されるの
で、IOPが活動的なCMFに関連するCMBを定期的
に更新するたびに、IOPが常に同じ例外条件に遭遇す
ることが防止されることになる。
【図面の簡単な説明】
【図1】複数のCPUと、チャネル・サブシステムと、
論理区画1ないしNに論理的に分割された記憶資源とを
有しているCECを示す図である。
【図2】「チャネル測定設定」(SCM)命令のフォー
マットを示す図である。
【図3】OS専用のMS空間のうち任意の1つ以上に配
置される処の、「コマンド要求ブロック」(CRQB)
を示す図である。
【図4】CRQBと同様に、OS専用のMS空間のうち
任意の1つ以上に配置される処の、「コマンド応答ブロ
ック」(CRPB)を示す図である。
【図5】CRQB及びCRPBと同様に、OS専用のM
S空間のうち任意の1つ以上に配置される処の、「チャ
ネル測定ブロック」(CMB)を示す図である。
【図6】各OSがアクセス不能なHSA(ハードウェア
・システム領域)内に配置される処の、「CPU−IO
P通信ブロック」(CICB)を示す図である。
【図7】全てのチャネル測定機構(CMF)の状況を示
すように、HSA内に配置される処の、「IOP状況ブ
ロック」(IOPSB)を示す図である。
【図8】各チャネル・プロセッサに設けられたチャネル
・プロセッサ・クロック・レジスタ(CPCR)、チャ
ネル・プロセッサ開始時刻レジスタ(CPSTR)及び
チャネル・プロセッサ終了時刻レジスタ(CPETR)
を示す図である。
【図9】各チャネル・プロセッサのローカル記憶域内に
配置される処の、チャネル・プロセッサ測定ブロック
(CHMB)を示す図である。
【図10】チャネル・イメージ測定ブロック(CIM
B)を示す図である。
【図11】「チャネル測定設定」(SCM)命令の諸動
作を提供する諸ステップのシーケンスを示す流れ図であ
る。
【図12】「チャネル測定設定」(SCM)命令を実行
する際に妥当性検査を行うための諸ステップを示す流れ
図である。
【図13】「チャネル測定設定」(SCM)命令の諸動
作を提供するために入出力プロセッサ(IOP)によっ
て行われる諸ステップのサブ・シーケンスを示す流れ図
である。
【図14】「チャネル測定設定」(SCM)命令の諸動
作を提供するために入出力プロセッサ(IOP)によっ
て行われる諸ステップのサブ・シーケンスを示す流れ図
である。
【図15】「チャネル測定設定」(SCM)命令の諸動
作を提供するために入出力プロセッサ(IOP)によっ
て行われる諸ステップのサブ・シーケンスを示す流れ図
である。
【図16】任意のチャネル・プロセッサを共用している
OSの各々ごとにチャネル利用度を測定し且つこれらの
測定値を累算するために、各チャネル・プロセッサ内に
ある回路及びマイクロコードによって行われる諸プロセ
スを示すタイミング図である。
【図17】チャネル測定ブロック(CMB)内の測定デ
ータをHSAからOS専用のMS空間に移動するために
入出力プロセッサ(IOP)によって行われる諸ステッ
プを示す流れ図である。
【図18】チャネル測定ブロック(CMB)内の測定デ
ータをHSAからOS専用のMS空間に移動するために
入出力プロセッサによって行われる諸ステップを示す流
れ図である。
フロントページの続き (72)発明者 スティーブン・ガードナー・グラッセン アメリカ合衆国12589、ニューヨーク州 ウォールキル、シャーウッド・ドライブ 6 (72)発明者 アサーフ・マロン アメリカ合衆国12603、ニューヨーク州 ポーキープシー、ホロー・レーン 1 (72)発明者 ケネス・ジェームズ・オークス アメリカ合衆国12590、ニューヨーク州 ワッピンガーズ・フォールス、ファー ム・ビュー・ロード 13 (72)発明者 デビッド・エメット・スタッキ アメリカ合衆国12603、ニューヨーク州 ポーキープシー、フォックス・ラン 123 (72)発明者 レスリー・ウッド・ワイマン アメリカ合衆国12601、ニューヨーク州 ポーキープシー、ハドソン・ハーバー・ ドライブ 1011 (56)参考文献 特開 昭62−214449(JP,A) 特開 昭59−139469(JP,A)

Claims (2)

    (57)【特許請求の範囲】
  1. 【請求項1】複数のオペレーティング・システム(O
    S)によって共用可能な複数のチャネルをサポートして
    いる一のチャネル・サブシステムと、前記複数のOSに
    関連し且つ複数の中央演算装置(CPU)を含んでいる
    複数の資源区画と、一の主記憶域(MS)とを有する一
    のコンピュータ複合体(CEC)を備え、 各資源区画は、当該各資源区画に関連する一のOSによ
    って専用のOS記憶域として使用されるように、前記M
    Sの一部をそれぞれ排他的に割り当てられ、 前記チャネル・サブシステム内の前記複数のチャネルを
    それぞれ独立に制御するための複数のチャネル・プロセ
    ッサを備え、 各チャネル・プロセッサは、各OSによる各チャネルの
    連続的な使用中時間の量を表す一の時間セグメントを各
    チャネル別及び各OS別に検出し、各チャネルに対する
    複数の前記時間セグメントを各チャネル別及び各OS別
    に累算し、前記累算結果の値を当該各チャネル・プロセ
    ッサのローカル記憶域内に設けられた一のチャネル累算
    項目内に各チャネル別及び各OS別に記録するととも
    に、各チャネルに対する最後の時間セグメントの終了時
    刻を示す一のタイム・スタンプ値を当該各チャネル・プ
    ロセッサのローカル記憶域内に設けられた一のタイム・
    スタンプ項目内に各チャネル別及び各OS別に記録する
    ように構成され、 前記複数のOSによる前記複数のチャネルの使用中時間
    を測定するために前記複数のOSに関連して設けられた
    複数のチャネル測定機構(CMF)を備え、 前記複数のチャネル・プロセッサのローカル記憶域内に
    それぞれ設けられた前記チャネル累算項目及び前記タイ
    ム・スタンプ項目の内容を、各CMFに設けられた対応
    する項目内にそれぞれ定期的に転送することにより、各
    CMFに関連する各OSによって使用された全てのチャ
    ネルに対する前記チャネル累算項目及び前記タイム・ス
    タンプ項目の集合を、各CMFにおいて各チャネル別及
    び各OS別に取得する手段を備え、 各CMF内に設けられた前記項目の各々の内容は、当該
    項目の内容が最後にリセットされた時刻からの各チャネ
    ル別及び各OS別に累算されたチャネル使用中時間及び
    タイム・スタンプを表し、 一のOSのための一のCMF開始命令を一のCPUが実
    行することに応答して、当該一のOSに関連する一のC
    MFの動作を開始させるとともに、前記CMF開始命令
    の実行時刻から一の測定期間を開始するように、前記一
    のCMF内に設けられた全ての前記項目の内容をリセッ
    トし、 前記一のOSのための一のCMF停止命令を前記一のC
    PUが実行することに応答して、前記一のOSに関連す
    る前記一のCMFの動作を停止させるとともに、前記測
    定期間を停止させることにより、当該測定期間の停止後
    に、前記一のCMF内に設けられた前記項目が前記一の
    OSによって使用された全てのチャネルの使用中時間の
    累算値を各チャネル別に保持するようにした、 チャネルの使用中時間を測定する手段。
  2. 【請求項2】前記一のCMFが、前記一のOSに関連す
    る一のOS識別子(IID)によって指定されるように
    した、請求項1記載の手段。
JP5132179A 1992-07-24 1993-06-02 チャネルの使用中時間を測定する手段 Expired - Lifetime JP2750312B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US07/898,623 US5265240A (en) 1992-07-24 1992-07-24 Channel measurement method and means
US898623 1992-07-24

Publications (2)

Publication Number Publication Date
JPH06110740A JPH06110740A (ja) 1994-04-22
JP2750312B2 true JP2750312B2 (ja) 1998-05-13

Family

ID=25409756

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5132179A Expired - Lifetime JP2750312B2 (ja) 1992-07-24 1993-06-02 チャネルの使用中時間を測定する手段

Country Status (2)

Country Link
US (1) US5265240A (ja)
JP (1) JP2750312B2 (ja)

Families Citing this family (49)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5394554A (en) * 1992-03-30 1995-02-28 International Business Machines Corporation Interdicting I/O and messaging operations from sending central processing complex to other central processing complexes and to I/O device in multi-system complex
CA2126740A1 (en) * 1993-07-06 1995-01-07 Naveen Jain Method and system for incorporation of a utility function into an operating system
US5809540A (en) * 1995-12-04 1998-09-15 Unisys Corporation Processor command for prompting a storage controller to write a day clock value to specified memory location
US5617375A (en) * 1995-12-04 1997-04-01 Unisys Corporation Dayclock carry and compare tree
US6442626B1 (en) * 1998-12-28 2002-08-27 Siemens Aktiengesellschaft Copy protection system only authorizes the use of data if proper correlation exists between the storage medium and the useful data
US6324600B1 (en) * 1999-02-19 2001-11-27 International Business Machines Corporation System for controlling movement of data in virtual environment using queued direct input/output device and utilizing finite state machine in main memory with two disjoint sets of states representing host and adapter states
US6963940B1 (en) * 2000-03-30 2005-11-08 International Business Machines Corporation Measuring utilization of individual components of channels
US7000036B2 (en) * 2003-05-12 2006-02-14 International Business Machines Corporation Extended input/output measurement facilities
US7500023B2 (en) 2006-10-10 2009-03-03 International Business Machines Corporation Facilitating input/output processing by using transport control words to reduce input/output communications
DE102006048379B4 (de) * 2006-10-12 2008-11-06 Infineon Technologies Ag Verfahren zur Durchsatzsteuerung einer elektronischen Schaltung sowie entsprechende Durchsatzsteuerung und zugehörige Halbleiterschaltung
US8478915B2 (en) 2008-02-14 2013-07-02 International Business Machines Corporation Determining extended capability of a channel path
US8001298B2 (en) 2008-02-14 2011-08-16 International Business Machines Corporation Providing extended measurement data in an I/O processing system
US8117347B2 (en) 2008-02-14 2012-02-14 International Business Machines Corporation Providing indirect data addressing for a control block at a channel subsystem of an I/O processing system
US7941570B2 (en) 2008-02-14 2011-05-10 International Business Machines Corporation Bi-directional data transfer within a single I/O operation
US7890668B2 (en) 2008-02-14 2011-02-15 International Business Machines Corporation Providing indirect data addressing in an input/output processing system where the indirect data address list is non-contiguous
US9052837B2 (en) 2008-02-14 2015-06-09 International Business Machines Corporation Processing communication data in a ships passing condition
US20090313074A1 (en) * 2008-06-11 2009-12-17 International Business Machines Corporation Enhanced viewing/updating of calendar entries based upon relationships between a viewer and a calendar owner and a relative importance value of the calendar entries
US7958398B2 (en) * 2008-07-16 2011-06-07 International Business Machines Corporation Reference state information generation
US8332542B2 (en) 2009-11-12 2012-12-11 International Business Machines Corporation Communication with input/output system devices
US8639858B2 (en) 2010-06-23 2014-01-28 International Business Machines Corporation Resizing address spaces concurrent to accessing the address spaces
US8650337B2 (en) 2010-06-23 2014-02-11 International Business Machines Corporation Runtime determination of translation formats for adapter functions
US8549182B2 (en) 2010-06-23 2013-10-01 International Business Machines Corporation Store/store block instructions for communicating with adapters
US8478922B2 (en) 2010-06-23 2013-07-02 International Business Machines Corporation Controlling a rate at which adapter interruption requests are processed
US8505032B2 (en) 2010-06-23 2013-08-06 International Business Machines Corporation Operating system notification of actions to be taken responsive to adapter events
US8468284B2 (en) 2010-06-23 2013-06-18 International Business Machines Corporation Converting a message signaled interruption into an I/O adapter event notification to a guest operating system
US8626970B2 (en) 2010-06-23 2014-01-07 International Business Machines Corporation Controlling access by a configuration to an adapter function
US9342352B2 (en) 2010-06-23 2016-05-17 International Business Machines Corporation Guest access to address spaces of adapter
US8621112B2 (en) 2010-06-23 2013-12-31 International Business Machines Corporation Discovery by operating system of information relating to adapter functions accessible to the operating system
US9213661B2 (en) 2010-06-23 2015-12-15 International Business Machines Corporation Enable/disable adapters of a computing environment
US8635430B2 (en) 2010-06-23 2014-01-21 International Business Machines Corporation Translation of input/output addresses to memory addresses
US8572635B2 (en) 2010-06-23 2013-10-29 International Business Machines Corporation Converting a message signaled interruption into an I/O adapter event notification
US8650335B2 (en) 2010-06-23 2014-02-11 International Business Machines Corporation Measurement facility for adapter functions
US9195623B2 (en) 2010-06-23 2015-11-24 International Business Machines Corporation Multiple address spaces per adapter with address translation
US8504754B2 (en) 2010-06-23 2013-08-06 International Business Machines Corporation Identification of types of sources of adapter interruptions
US8566480B2 (en) 2010-06-23 2013-10-22 International Business Machines Corporation Load instruction for communicating with adapters
US8510599B2 (en) 2010-06-23 2013-08-13 International Business Machines Corporation Managing processing associated with hardware events
US8615645B2 (en) 2010-06-23 2013-12-24 International Business Machines Corporation Controlling the selectively setting of operational parameters for an adapter
US9021155B2 (en) 2011-06-01 2015-04-28 International Business Machines Corporation Fibre channel input/output data routing including discarding of data transfer requests in response to error detection
US8677027B2 (en) 2011-06-01 2014-03-18 International Business Machines Corporation Fibre channel input/output data routing system and method
US8583988B2 (en) 2011-06-01 2013-11-12 International Business Machines Corporation Fibre channel input/output data routing system and method
US8364854B2 (en) 2011-06-01 2013-01-29 International Business Machines Corporation Fibre channel input/output data routing system and method
US8738811B2 (en) 2011-06-01 2014-05-27 International Business Machines Corporation Fibre channel input/output data routing system and method
US8473641B2 (en) 2011-06-30 2013-06-25 International Business Machines Corporation Facilitating transport mode input/output operations between a channel subsystem and input/output devices
US8549185B2 (en) 2011-06-30 2013-10-01 International Business Machines Corporation Facilitating transport mode input/output operations between a channel subsystem and input/output devices
US8346978B1 (en) 2011-06-30 2013-01-01 International Business Machines Corporation Facilitating transport mode input/output operations between a channel subsystem and input/output devices
US8918542B2 (en) 2013-03-15 2014-12-23 International Business Machines Corporation Facilitating transport mode data transfer between a channel subsystem and input/output devices
US8990439B2 (en) 2013-05-29 2015-03-24 International Business Machines Corporation Transport mode data transfer between a channel subsystem and input/output devices
US20170220466A1 (en) * 2016-01-30 2017-08-03 Intel Corporation Sharing a guest physical address space among virtualized contexts
EP3497895B1 (en) * 2016-08-11 2022-02-02 Panasonic Intellectual Property Corporation of America Wireless communication method and apparatus

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4497022A (en) * 1982-10-19 1985-01-29 International Business Machines Corporation Method and apparatus for measurements of channel operation
JPS59139469A (ja) * 1983-01-31 1984-08-10 Hitachi Ltd 階層構成計算機システムにおける分散統計処理の方法
JPH0833851B2 (ja) * 1986-03-15 1996-03-29 株式会社日立製作所 仮想計算機のモニタリング方式

Also Published As

Publication number Publication date
US5265240A (en) 1993-11-23
JPH06110740A (ja) 1994-04-22

Similar Documents

Publication Publication Date Title
JP2750312B2 (ja) チャネルの使用中時間を測定する手段
US7886082B2 (en) Extended input/output measurement word facility, and emulation of that facility
US7774647B2 (en) Method for counting instructions for logging and replay of a deterministic sequence of events
EP0671691B1 (en) Storage controller and bus control method for use therewith
US7941803B2 (en) Controlling an operational mode for a logical partition on a computing system
JP2908739B2 (ja) 多重プロセッサ・システムにおけるcpuのモニタリング・システム及び方法
JP2014059909A (ja) 仮想処理環境内のデータの収集を容易にするためのコンピュータ・プログラム、コンピュータによって実行される方法、およびコンピュータ・システム
JPS62298839A (ja) 障害時に計算機システムを再始動する方法
US8516227B2 (en) Set program parameter instruction
US8209683B2 (en) System and method for probing hypervisor tasks in an asynchronous environment
US8209681B1 (en) Method of sampling hardware events in computer system
US6609178B1 (en) Selective validation for queued multimodal locking services
US5386560A (en) Execution of page data transfer by PT processors and issuing of split start and test instructions by CPUs coordinated by queued tokens
JPS63228335A (ja) 計算機システムにおける事象通知・受取処理方式
KR102211853B1 (ko) 이종의 멀티 cpu가 탑재된 시스템-온-칩 및 cpu 리부팅을 제어하는 방법
JP2550708B2 (ja) デバッグ方式
KR20240062498A (ko) 독립적으로 운용되는 계층적인 구조의 도메인들에 대한 에러 처리를 수행하는 시스템온칩 및 그 동작 방법
JPH05100984A (ja) マシン資源管理システム
JPH02211550A (ja) 情報処理システム
JPS622343B2 (ja)
JP2007072958A (ja) イベント同期の遅延検出方法及び装置
JPS648859B2 (ja)