JP5533526B2 - チャネル制御装置および方法 - Google Patents

チャネル制御装置および方法 Download PDF

Info

Publication number
JP5533526B2
JP5533526B2 JP2010224610A JP2010224610A JP5533526B2 JP 5533526 B2 JP5533526 B2 JP 5533526B2 JP 2010224610 A JP2010224610 A JP 2010224610A JP 2010224610 A JP2010224610 A JP 2010224610A JP 5533526 B2 JP5533526 B2 JP 5533526B2
Authority
JP
Japan
Prior art keywords
channel
restart
busy
virtual machine
guest
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 - Fee Related
Application number
JP2010224610A
Other languages
English (en)
Other versions
JP2012079143A (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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2010224610A priority Critical patent/JP5533526B2/ja
Publication of JP2012079143A publication Critical patent/JP2012079143A/ja
Application granted granted Critical
Publication of JP5533526B2 publication Critical patent/JP5533526B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は,入出力装置についてのチャネル制御技術に関する。
ホストシステム上に,仮想的なハードウェア(仮想マシン)を複数開設して同時に複数のOSの実行を可能とするコンピュータシステムにおいて,仮想マシンのOSでは複数のアーキテクチャが混在する。
このようなコンピュータシステムで,専用ハードウェア(チャネル装置)を用いて入出力処理を制御するチャネル制御方式が採用されている場合に,チャネル制御を実行するチャネル制御装置が,あるチャネル配下の入出力装置を複数の仮想マシン(ゲスト)に割り当てることにより,チャネルを複数ゲストで共用することがある。
1つのチャネルで2つのゲスト各々から発行された入出力命令(IO命令)が衝突した場合に,チャネル制御装置は,先発のIO命令を処理し,後発のIO命令については,「チャネルビジー」状態として,先発のIO命令の処理完了を待機させる。そして,チャネル制御装置は,先発のIO命令の完了後に「ビジー解除」を行い,待機させていた後発のIO命令処理の再開(リスタート)を行う。
後発のIO命令のリスタートは,ゲストのアーキテクチャによって,「ハードウェア(HW)リスタート」または「OSリスタート」のいずれかとなる。
図8は,「HWリスタート」を説明するための図,図9は,「OSリスタート」を説明するための図である。
「HWリスタート」では,図8に示すように,ゲストOSがIO命令を発行したときに,チャネルβがビジーであれば,チャネル制御装置は,受け付けたIO命令を保持し,ビジーの解除を行った後に保持していたIO命令の処理を再開する。
「OSリスタート」では,図9に示すように,チャネルβがビジーであれば,チャネル制御装置は,IO命令を発行したゲストOSに対してチャネルビジーを通知し,ビジーの解除を行った後にビジー解除をさらに通知して,ゲストOSが再発行したリスタート用のIO命令を受け付けてIO命令の処理を行う。
従来,チャネルで衝突したIO命令を制御するために,低速CPUと高速CPUがドライブを共用する場合に,低速CPUが高速CPUに使用されているドライブにIO命令を発行するとチャネルビジーが通知され,高速CPUがドライブを開放すると,低速CPUのIO命令を優先的に処理する手法が知られている。
また,複数のCPUにチャネルパスを介して接続される入出力制御装置と複数の入出力装置とを有する構成において,1つのCPUからIO命令を受け付けたときに他のCPUがその入出力装置を使用中であればデバイスビジーを通知し,あるCPUが他CPUのIO命令の受付で待たされた回数が規定値を超えたときに,他CPUからそのCPUへ入出力を切り換える手法が知られている。
特開平4−064158号公報 特開平2−267653号公報 特開平4−033149号公報
チャネルを共用する2つのゲストのうち,一方のゲストのI/O負荷が極端に高い場合や,チャネルのリザーブを長期間にわたって保持する状況が生じた場合など,他方のゲストのIO命令が処理されにくくなり,入出力レスポンスが悪くなることがある。
例えば,図10に示すように,「OSリスタート」を採用するゲストと,「HWリスタート」を採用するゲストとがチャネルを共用し,ゲスト各々がIO命令を発行した場合に,双方のゲストがチャネルビジーを認識しているときには,OSリスタートのゲストは,再度チャネルビジーとなる確率が高くなる。これは,OSリスタートのゲストでは,最初のビジー解除からリスタート用のIO命令の再発行までの処理の所要時間が,HWリスタートのゲストに比べて長くかかることから,IO命令の再発行の時点で,チャネルが他のゲストのIO命令発行により再度ビジーとなることがあるからである。
このように,OSリスタートのゲストのリスタート処理が滞りタイムアウトが発生すると,例えば,業務システムでは端末装置での処理が停止したりするなど,深刻な障害となる。
チャネルを共用する各ゲストを,チャネルビジーになった順番でリスタートさせるように制御キューを導入したチャネル制御の場合には,各ゲストのIO命令の発行頻度に対応した順序で制御することができず,結果として,高速なゲストが,低速なゲストの影響を受けてしまい,全体としての処理効率を低下させるという問題が生じる。
さらに,チャネルビジーはデバイスビジーと異なり,マルチパス,すなわちIO命令の実行を他のチャネルを選択して処理できる機能を持つゲストの場合には,ビジーとなったチャネル以外のチャネルにより処理できるため,チャネルビジーを認識したゲストのリスタートが無駄になるという問題がある。
本願において開示されるチャネル制御装置の目的は,異なるアーキテクチャの仮想マシンがチャネルを共用する場合でも,効率よく共用できるチャネル制御を実現することである。
本願において開示されるチャネル制御装置は,複数の仮想マシンの入出力処理をチャネル制御するチャネル制御装置であって,記憶部と,仮想マシンの入出力処理のチャネル制御を行うリスタート制御部とを備える。
前記チャネル制御装置のリスタート制御部は,チャネルを共用する仮想マシン各々の入出力処理およびチャネル制御の状態を示す制御情報を前記記憶部に書き込む処理と,前記チャネルを共用する複数の仮想マシンのいずれかからIO命令を受け付けた場合に,前記チャネルがビジーであるときは,前記制御情報をもとに,該チャネルのビジー解除時にリスタートする仮想マシンの順序を決定する処理と,前記順序にもとづきリスタートする仮想マシンが,ビジー解除の通知を受けてIO命令を再発行するOSリスタートをするものであるときは,該仮想マシンへのビジー解除の通知時から該仮想マシンから受け付けたIO命令の処理完了時までの間,前記チャネルを共用する他の仮想マシンに対するビジー解除およびIO命令の処理を抑止し,前記リスタートする仮想マシンが,チャネルがビジーとなったIO命令を再発行しないハードウェア・リスタートをするものであるときは,該チャネルのビジー解除前に受け付けていたIO命令の処理を実行する。
また,本発明の別の態様として開示するチャネル制御方法は,上記チャネル制御装置で実行される処理を実現する処理ステップを有する。
異なるアーキテクチャの仮想マシンがチャネルを共用する場合でも,効率よく共用できるチャネル制御を実現することができる。
本発明の一実施の形態として開示されるチャネル制御装置の構成例を示す図である。 本発明の一実施の形態における,チャネルごとの制御情報である制御情報テーブルの構成例を示す図である。 本発明の一実施の形態における,チャネル制御装置の処理を概説するための図である。 チャネル制御装置のIO命令発行時の処理フロー例を示す図である。 チャネル制御装置のビジー解除時の処理フロー例を示す図である。 制御情報テーブル再設定処理(ステップS22)の,より詳細な処理フローを示す図である。 チャネル制御装置のリスタートタイマ部の処理フロー例を示す図である。 「HWリスタート」を説明するための図である。 「OSリスタート」を説明するための図である。 「HWリスタート」を採るゲストと「OSリスタート」を採るゲストとが共用するチャネルでの入出力レスポンスの悪化を説明するための図である。
図1は,本発明の一実施の形態として開示されるチャネル制御装置の構成例を示す図である。
チャネル制御装置10は,演算装置(CPU)および一時記憶装置(図示しない),入出力装置2,チャネル3を備えるコンピュータシステム1に備えられる。
コンピュータシステム1では,ホストシステム上に異なるアーキテクチャの仮想マシン(ゲスト)4を構築する環境を実現している。
チャネル3は,入出力装置2へまたは入出力装置2からデータを転送する経路機構であって,ゲスト4と入出力装置2とのインタフェースを司る機構である。チャネル3は,複数のゲスト4で共用することができる。
入出力装置2は,例えば,外部記憶媒体,例えば,ストレージ,レイド等の外部記憶装置である。
チャネル制御装置10は,入出力装置2に対応するチャネル3をゲスト4のOS(ゲストOS)に割り当て,ゲストOSが発行したIO命令の処理を制御する。
より詳しくは,チャネル制御装置10は,ゲスト4が発行したIO命令がチャネルビジーの場合に,そのチャネルビジー解除後に,ビジー解除にかかるIO命令の入力処理をリスタートさせる。
チャネル制御装置10が制御するリスタートは,「OSリスタート」または「HWリスタート」のいずれかである。HWリスタートは,チャネルビジーの解除後に,チャネル制御装置10が,ビジー解除されたチャネル3によるIO命令の入出力処理を再開する処理である。OSリスタートは,チャネルビジーの解除後に,ゲスト4のOSがチャネルビジーとなったIO命令を再発行し,チャネル制御装置10が再発行されたIO命令を受け付けて入出力処理を実行する処理である。なお,チャネル制御装置10はが,再発行されたIO命令を受け付けてその入出力処理を制御する。
チャネル制御装置10は,リスタート制御部11,制御情報記憶部13,およびリスタートタイマ部15を備える。
リスタート制御部11は,チャネル制御装置10内で,チャネル3のチャネルビジーおよびチャネルビジー解除により,ゲスト4が発行したIO命令による,チャネル3を用いる入出力処理を制御する。
より具体的には,リスタート制御部11は,チャネル3を共用するゲスト4各々から,発行されたIO命令を受け付け,受け付けたIO命令による入出力処理およびチャネル3の制御状態を示す制御情報を制御情報記憶部13に格納する。
そして,リスタート制御部11は,共用する複数のゲスト4のいずれかからIO命令を受け付けたチャネル3がビジーである場合に,制御情報記憶部13の制御情報にもとづいて,ゲスト4のリスタートがOSリスタートであるかHWリスタートであるかを判断し,チャネル3のビジー解除時にリスタートさせるゲスト4の順序を決定する。
リスタート制御部11は,ゲスト4のリスタートがOSリスタートであるときは,そのゲスト4へビジー解除を通知し,ゲスト4から受け付けたIO命令の処理を行う一方,ビジー解除の通知時からIO命令の処理完了時までの間,チャネル3を共用する他のゲスト4に対するビジー解除およびIO命令の処理を抑止する。リスタート制御部11は,リスタートするゲスト4が,HWリスタートを行うときは,チャネル3のビジー解除前に受け付けていた,そのゲスト4のIO命令を処理する。
制御情報記憶部13は,各チャネルの制御情報を記憶する。
図2は,チャネルごとの制御情報である制御情報テーブルの構成例を示す図である。
図2に示す制御情報テーブルは,チャネルの識別情報(チャネルa),ビジー解除開始時間,および各ゲストのゲスト情報を含む。
ビジー解除開始時間は,後述するリスタートのタイプがOS型であるゲスト4が,ビジー解除を開始した時刻,すなわち,ビジー解除通知時刻を示す。
ゲスト情報は,ゲストID,リスタート,パス,再開可能数,再開済数,状態,処理数の各項目を有する。
ゲストIDは,ゲスト4を識別する番号である。
リスタートは,ゲスト4の入出力処理のリスタート方法を示す。“OS”は,OSリスタートを示し,“HW”は,HWリスタートを示す。
パスは,ゲスト4のチャネルの利用形態を示す。“マルチパス”は,ゲスト4が入出力装置2へのパスとして他のチャネルを選択できることを示し,“シングルパス”は,ゲスト4が1つのチャネルのみ利用することを示す。
再開可能数は,一定間隔における入出力処理の再開(リスタート)可能な数を示す。例えば,以下の式により求められる。
再開可能数=1+((ゲスト数×3)×(本ゲストの「処理数」÷全ゲストの「処理数」の合計))
また,再開可能数は,ゲスト4のパスの利用形態に応じた重み付けをして,例えば,以下の式により求められるようにしてもよい。
再開可能数=1+((ゲスト数×3)×(本ゲストの「処理数」÷全ゲストの「処理数」の合計))+(本ゲストの「パス」がシングルの場合=1,マルチの場合=0)
再開済数は,一定間隔における入出力処理の再開(リスタート)実施の数を示す。
状態は,チャネルビジーに関する現在の状態を示す。“フリー”は,ゲスト4がチャネルを使用していない状態,“ビジー”は,チャネル3がIO命令を処理中であることを示す。“ビジー解除中”は,ビジー解除の実行中であることを示す。
処理数は,一定間隔における入出力処理の数を示す。
ゲスト情報は,ゲスト4が開設された時または運用中のゲスト4にチャネル3が割り当てられた時に生成される。
リスタートタイマ部15は,リスタートするゲスト4に対するビジー解除通知時から,所定時間の経過を示すタイムアウトを検出する。
リスタートタイマ部15が,制御情報テーブルのビジー解除時間の時刻設定を検出してタイマ処理を行うことにより,OSリスタートのゲスト4がリスタートの対象に選択されている場合に,通知したゲスト4のゲストOSがビジー解除通知に反応するまで他のゲスト4のビジー解除を抑止し,その一方で,ゲスト4がビジー解除通知を認識せず入出力処理が再開されない場合には,リスタートの対象を他のゲスト4へ切り替えることが可能となる。
チャネル制御装置10のリスタート制御部11は,以下のように処理を行う。
処理ステップ1: リスタート制御部11は,チャネル3(3b)を共用しているゲスト4の数と,各ゲスト4(4a,4b)のリスタートが,“OS”であるか“HW”であるかを判断して,制御情報テーブルに書き込む。さらに,リスタート制御部11は,各ゲスト4(4a,4b)のパスの利用形態(シングルパス,マルチパス)を書き込む。
処理ステップ2: リスタート制御部11は,制御情報テーブルを参照して,各ゲスト4(4a,4b)のチャネル3の利用回数を計測する。
処理ステップ3: チャネル3bで,複数のゲスト4がチャネルビジーになった場合に,チャネル3bの利用回数と利用形態(シングルパス・マルチパス)に応じて,ビジー解除時のリスタートするゲストの順番を決定する。
図3に示すように,2つのゲスト4a,4bがチャネル3bを共用している場合に,例えば,HWリスタートのゲスト4aが,ゲスト4bに比べて入出力処理の頻度が多く,シングルパスである場合は,リスタートするゲストの順序を,ゲスト4a,ゲスト4bと決定する。
チャネルの利用形態(シングルパス・マルチパス)を,リスタートの順序決定に用いる理由は,マルチパスの機能を有するゲスト4は,他のチャネルを利用してIO命令が実行される可能性が高いためである。
例えば,図3に示すゲスト4aがマルチパスである場合には,チャネル3bがチャネルビジーであれば,他のチャネル3aを選択して入出力装置2への入出力処理を行うことができるとする。この場合には,チャネル3bのチャネル制御において,ゲスト4aのリスタートの順序を下位としても,チャネル3aを用いてIO命令の処理が実行される可能性が高く,全体としてはチャネルの使用効率がよくなるからである。
リスタート制御部11は,決定した順序に従って,ゲスト4aのリスタートr1を処理し,その処理完了後に,ゲスト4bのリスタートr2を実行する。
一方,リスタート制御部11は,制御情報テーブルの情報から,リスタートするゲストの順序を,ゲスト4b,4aと決定した場合には,OSリスタートのゲスト4bへビジー解除を通知する。そして,リスタート制御部11は,ビジー解除時に,ゲスト4bへビジー解除を通知し,ゲスト4bのリスタート用のIO命令を受け付けて,入出力処理を再開する。リスタート制御部11は,ビジー解除の通知から,ゲスト4bのゲストOSが反応するまで,他のゲスト4aのビジー解除とIO命令の実行を抑止する。
これにより,ビジー解除を通知したゲスト4bのゲストOSが発行するリスタート用のIO命令の実行を保証する。
そして,ゲスト4bが発行したリスタート用のIO命令により,リスタートr2が完了したら,リスタート制御部11は,ゲスト4aのリスタートr1を実行する。
ゲスト4bへビジー解除を通知したが,ゲスト4bのゲストOSが他の処理により一定時間反応しない場合(リスタート用のIO命令の発行がない場合),リスタート制御部11は,ゲスト4bのリスタートr2を中止して,次の順序に決定されたゲスト4aのリスタートr1を実行する。ビジー解除通知後の一定時間の経過は,リスタートタイマ部15が監視する。
以下,チャネル制御装置10の処理をより詳細に説明する。
図4は,IO命令発行時の処理フロー例を示す図である。
リスタート制御部11は,ゲスト4xが発行したIO命令を受け付けると,以下の処理を行う。
リスタート制御部11は,IO命令を発行したゲスト4xが割り当てられているチャネル3を選択して(ステップS10),選択したチャネル3の制御情報テーブルを参照して,チャネルビジーであるかを判断する(ステップS11)。
チャネルビジーではない場合には(ステップS11のN),リスタート制御部11は,制御情報テーブルの「状態」が“ビジー解除中”であるゲストが存在するかを判断する(ステップS12)。チャネルビジーである場合(ステップS11のY)または制御情報テーブルの「状態」が“ビジー解除中”であるゲストが存在する場合には(ステップS12のY),リスタート制御部11は,制御情報テーブル中のゲスト4xの「状態」をビジーにする(ステップS13)。
さらに,リスタート制御部11は,ゲスト4xの「リスタート」がHWであるかを判断して(ステップS14),ゲスト4xの「リスタート」がHWであれば(ステップS14のY),チャネル制御装置10で受け付けたIO命令の実行を保留して(ステップS15),処理を終了する。
ゲスト4xの「リスタート」がHWでなければ(ステップS14のN),リスタート制御部11は,ゲスト4xのゲストOSへチャネルビジーを通知して(ステップS16),処理を終了する。
制御情報テーブルの「状態」が“ビジー解除中”であるゲストが存在しない場合には(ステップS12のN),リスタート制御部11は,制御情報テーブルのゲスト4xの「処理数」を1加算し,「状態」をフリーにし,「ビジー解除開始時間」を初期化して(ステップS17),さらに,受け付けたIO命令による入出力処理を開始して(ステップS18),処理を終了する。
図5は,ビジー解除時の処理フロー例を示す図である。
リスタート制御部11は,チャネル3でビジーが解消された場合に,以下の処理を行う。
リスタート制御部11は,チャネル3の制御情報テーブルの「状態」がビジーであるゲストが存在するかを判断する(ステップS20)。
「状態」がビジーであるゲストが存在する場合には(ステップS20のY),リスタート制御部11は,さらに,制御情報テーブルの「状態」がビジーであって,かつ,「再開済数」<「再開可能数」に該当するゲストが存在するかを判断する(ステップS21)。
「状態」がビジーであって,かつ,「再開済数」<「再開可能数」に該当するゲストが存在しなければ,すなわち,すべてのゲストが「再開済数」=「再開可能数」である場合(ステップS21のN),リスタート制御部11は,制御情報テーブルの再設定処理を行って(ステップS22),ステップS23の処理へ進む。
「状態」がビジーであって,かつ,「再開済数」<「再開可能数」に該当するゲストが存在する場合に(ステップS21のY),リスタート制御部11は,制御情報テーブルの「再開済数÷再開可能数」が最小であるゲストを選択し(ステップS23),制御情報テーブルの選択したゲスト4yの「再開済数」を1加算する(ステップS24)。
そして,リスタート制御部11は,ゲスト4yの「リスタート」がHWであるかを判断する(ステップS25)。ゲスト4yの「リスタート」がHWであれば(ステップS25のY),リスタート制御部11は,制御情報テーブルのゲスト4yの「状態」をフリーにし(ステップS26),入出力処理を開始して(ステップS27),処理を終了する。
選択したゲストの「リスタート」がHWでなければ(ステップS25のN),リスタート制御部11は,制御情報テーブルのゲスト4yの「状態」をビジー解除中にして,「ビジー解除開始時間」に現処理時刻を設定する(ステップS28)。さらに,リスタート制御部11は,選択したゲスト4yのゲストOSへ,ビジー解除を通知して(ステップS29),処理を終了する。
図6は,図5に示す処理フローの制御情報テーブル再設定処理(ステップS22)の,より詳細な処理フローを示す図である。
リスタート制御部11は,チャネル3を共用するゲスト4を1つ選択して(ステップS220),所定の式によって,制御情報テーブルの「再開可能数」を算出し,算出した値を整数化した後,制御情報テーブルへ設定する(ステップS221)。さらに,リスタート制御部11は,制御情報テーブルの「再開数」,「処理数」を初期化する(ステップS222)。
処理したゲスト4がチャネル3を共用している最後のゲストであるかを調べて,最後のゲストであれば(ステップS223のY),リスタート制御部11は,処理を終了する。最後のゲストでなければ(ステップS223のN),リスタート制御部11は,ステップS220の処理へ戻り,次のゲストを選択する(ステップS220)。
図7は,リスタートタイマ部15の処理フロー例を示す図である。
リスタートタイマ部15は,制御情報テーブルのビジー解除時間の設定イベントを検出するパトロール処理を行う(ステップS30)。リスタートタイマ部15は,制御情報テーブルの「ビジー解除開始時間」が設定されているかを判断する(ステップS31)。制御情報テーブルの「ビジー解除開始時間」が設定されていれば(ステップS31のY),リスタートタイマ部15は,さらに,現時点で,設定されているビジー解除開始時間から一定時間経過しているかを調べる(ステップS32)。
ビジー解除開始時間から一定時間経過するかをチェックし,ビジー解除開始時間から一定時間が経過していたら(ステップS32のY),制御情報テーブルの「状態」をフリーにして,「ビジー解除開始時間」を初期化して(ステップS33),ビジー解除時の処理(ステップS20〜S29)へ進む(ステップS34)。
リスタートタイマ部15は,制御情報テーブルの「ビジー解除開始時間」が設定されていなければ(ステップS31のN),または,まだビジー解除開始時間から一定時間が経過していなければ(ステップS32のN),処理を終了する。
上記の実施例では,チャネル制御装置10を,専用ハードウェアとする構成例をもとに説明した。別の実施例として,チャネル制御装置10のリスタート制御部11は,チャネル制御装置10にインストールされるソフトウェアとして構成されてもよい。
以上の説明したように,開示したチャネル制御装置10によれば,次のような効果がある。
・ チャネル制御装置10では,複数のゲストが共用するチャネルで,チャネルビジーが生じた場合に,ビジー解除時にリスタートするゲストの順序を各ゲストの入出力処理回数にもとづいて求めた再開可能数により決定する。よって,各ゲストのチャネル利用回数を考慮して効率的なビジー解除を行うことができる。
・ チャネル制御装置10では,ゲストのリスタートの方式に応じたビジー解除およびリスタートを行う。特に,ビジー解除の対象とするゲストが「OSリスタート」をするものである場合に,チャネル制御装置10は,ビジー解除からIO命令の再処理完了までの間,他のゲストのビジー解除を抑止する。これにより,リスタート完了までの処理時間がより長いゲストに対してもリスタート機会を確保することができる。
・ チャネル制御装置10では,リスタートするゲストがOSリスタートである場合に,そのゲストが,ビジー解除通知を認識せず,一定時間内にリスタート用のIO命令を発行しなかったときは,そのリスタートを中止して,リスタートの対象を他のゲストに切り替える。これにより,リスタート未完了の状態を終了させて,チャネルの使用効率の低下を防ぐことができる。
・ チャネル制御装置10では,リスタートするゲストの順序を,各ゲストのIO命令発行の状態を考慮して決定することができる。これにより,効率的なビジー解除を行うことができる。
したがって,本発明の一態様として開示されたチャネル制御装置によれば,複数の仮想マシンが共用するチャネルでチャネルビジーが生じた場合に,ビジー解除時にリスタートする仮想マシンの順序を,各仮想マシンの入出力処理の状態にもとづいて決定することができるため,各ゲストの入出力処理を考慮した効率的なビジー解除を行うことができる。
また,チャネル制御装置によれば,仮想マシンのリスタートの方式,例えばハードウェア・リスタートまたはOSリスタートなどに応じて,ビジー解除およびリスタートの処理を行うことができるため,各ゲストの処理方式に対応して効率的なビジー解除を行うことができる。
よって,異なるアーキテクチャの仮想マシンが共用するチャネルにおける効率的なチャネル使用を実現することができる。
以上のように,チャネル制御装置は,異なるアーキテクチャの仮想マシンがチャネルを共用する場合に,効率的な共用を実現することができる。
1 コンピュータシステム
2 入出力装置
3 チャネル
4 仮想マシン(ゲスト)
10 チャネル制御装置
11 リスタート制御部
13 制御情報記憶部(制御情報テーブル)
15 リスタートタイマ部

Claims (6)

  1. 制御情報を記憶する記憶部と,
    仮想マシンの入出力処理のチャネル制御を行うリスタート制御部とを備えて,
    前記リスタート制御部は,
    チャネルを共用する仮想マシン各々の入出力処理およびチャネル制御の状態を示す制御情報を前記記憶部に書き込み,
    前記チャネルを共用する複数の仮想マシンのいずれかからIO命令を受け付けた場合に,前記チャネルがビジーであるときは,前記制御情報にもとづいて,該チャネルのビジー解除時にリスタートする仮想マシンの順序を決定し,
    前記順序にもとづきリスタートする仮想マシンが,ビジー解除の通知を受けてIO命令を再発行するOSリスタートをするものであるときは,該仮想マシンへのビジー解除の通知から該仮想マシンから受け付けたIO命令の処理完了までの間,前記チャネルを共用する他の仮想マシンに対するビジー解除およびIO命令の処理を抑止し,前記リスタートする仮想マシンが,チャネルがビジーとなったIO命令を再発行しないハードウェア・リスタートをするものであるときは,該チャネルのビジー解除前に該仮想マシンから受け付けていたIO命令の処理を実行する
    ことを特徴とするチャネル制御装置。
  2. 前記順序にもとづきリスタートする仮想マシンがOSリスタートをするものである場合に,該仮想マシンに対する前記ビジー解除の通知時から所定の時間以上の経過を示すタイムアウトを検出するリスタートタイマ部を備えて,
    前記リスタート制御部は,前記タイムアウトの検出を受け付けた場合に,前記順序にもとづきスタートした仮想マシンの次の順序の仮想マシンを特定して,該特定された仮想マシンが発行したIO命令の処理を実行する
    ことを特徴とする請求項1記載のチャネル制御装置。
  3. 前記制御情報記憶部に,前記チャネルを共用する仮想マシン各々の入出力処理の回数を含む制御情報が記憶されている場合に,
    前記リスタート制御部は,前記リスタートさせる仮想マシンの順序を決定する処理において,前記制御情報の仮想マシンの入出力処理回数をもとに前記チャネルを共用する仮想マシン各々のIO命令処理が再開される可能性を示す再開可能数を計算し,前記入出力処理回数および前記再開可能数をもとに,前記リスタートする仮想マシンの順序を決定する
    ことを特徴とする請求項1または請求項2に記載のチャネル制御装置。
  4. 前記リスタート制御部は,前記リスタートさせる仮想マシンの順序を決定する処理において,前記チャネルを共用する仮想マシンがOSリスタートをするものであるときは,該仮想マシンの再開可能数を,所定の重み付けをして計算する
    ことを特徴とする請求項1ないし請求項3のいずれか一項に記載のチャネル制御装置。
  5. 前記リスタート制御部は,前記リスタートさせる仮想マシンの順序を決定する処理において,前記チャネルを共用する仮想マシンが,パスとして他のチャネルを選択して使用できるものであるときは,該仮想マシンの再開可能数を,所定の重み付けをして計算する
    ことを特徴とする請求項1ないし請求項4のいずれか一項に記載のチャネル制御装置。
  6. 記憶部を備えるチャネル制御装置が,
    チャネルを共用する仮想マシン各々の入出力処理およびチャネル制御の状態を示す制御情報を前記記憶部に書き込む処理ステップと,
    前記チャネルを共用する複数の仮想マシンのいずれかからIO命令を受け付けた場合に,前記チャネルがビジーであるときは,前記制御情報にもとづいて,該チャネルのビジー解除時にリスタートする仮想マシンの順序を決定する処理ステップと,
    前記順序にもとづきリスタートする仮想マシンが,ビジー解除の通知を受けてIO命令を再発行するOSリスタートをするものであるときは,該仮想マシンへのビジー解除の通知時から該仮想マシンから受け付けたIO命令の処理完了時までの間,前記チャネルを共用する他の仮想マシンに対するビジー解除およびIO命令の処理を抑止し,前記リスタートする仮想マシンが,チャネルがビジーとなったIO命令を再発行しないハードウェア・リスタートをするものであるときは,該チャネルのビジー解除前に該仮想マシンから受け付けていたIO命令の処理を実行する処理ステップとを,実行する
    ことを特徴とするチャネル制御方法。
JP2010224610A 2010-10-04 2010-10-04 チャネル制御装置および方法 Expired - Fee Related JP5533526B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010224610A JP5533526B2 (ja) 2010-10-04 2010-10-04 チャネル制御装置および方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010224610A JP5533526B2 (ja) 2010-10-04 2010-10-04 チャネル制御装置および方法

Publications (2)

Publication Number Publication Date
JP2012079143A JP2012079143A (ja) 2012-04-19
JP5533526B2 true JP5533526B2 (ja) 2014-06-25

Family

ID=46239294

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010224610A Expired - Fee Related JP5533526B2 (ja) 2010-10-04 2010-10-04 チャネル制御装置および方法

Country Status (1)

Country Link
JP (1) JP5533526B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110932839B (zh) 2018-09-20 2023-09-22 中兴通讯股份有限公司 一种网卡、时间同步方法、设备及计算机存储介质

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2885640B2 (ja) * 1994-06-14 1999-04-26 三菱電機株式会社 データバス転送方法
JP3227069B2 (ja) * 1994-12-22 2001-11-12 株式会社日立製作所 入出力処理システム
US5894583A (en) * 1996-04-09 1999-04-13 International Business Machines Corporation Variable timeout method for improving missing-interrupt-handler operations in an environment having I/O devices shared by one or more systems
JP4160470B2 (ja) * 2003-07-24 2008-10-01 富士通株式会社 入出力制御装置および入出力制御方法

Also Published As

Publication number Publication date
JP2012079143A (ja) 2012-04-19

Similar Documents

Publication Publication Date Title
JP4603583B2 (ja) プロセッサ、装置、及び方法
JP5469940B2 (ja) 計算機システム、仮想計算機モニタ及び仮想計算機モニタのスケジューリング方法
JP3952992B2 (ja) 情報処理装置、プロセス制御方法、並びにコンピュータ・プログラム
WO2015100878A1 (zh) 一种芯片启动方法及多核处理器芯片、存储介质
RU2437144C2 (ru) Способ устранения исключительной ситуации в одном из ядер многоядерной системы
US9389923B2 (en) Information processing device and method for controlling information processing device
JP2008186209A (ja) 仮想計算機システムのi/oデバイス障害処理方法
JPWO2008023426A1 (ja) タスク処理装置
TWI498820B (zh) 具有用於分支錯誤預測之第二跳躍執行單元的處理器
JP2006099331A5 (ja)
JPWO2008023427A1 (ja) タスク処理装置
WO2016033755A1 (zh) 任务处理装置、电子设备及方法
JP5533526B2 (ja) チャネル制御装置および方法
US20180348840A1 (en) Predictive virtual machine halt
EP3036629B1 (en) Handling time intensive instructions
WO2006030564A1 (ja) プロセッサ
US8997111B2 (en) System and method for deterministic context switching in a real-time scheduler
US20180089012A1 (en) Information processing apparatus for analyzing hardware failure
JP2008204011A (ja) マルチスレッドシステム、スレッド動作異常検知方法
TWI472910B (zh) 節省系統資源之方法及運用其方法之作業系統
JP5332716B2 (ja) 起動制御方法、情報処理装置及びプログラム
JP2010015364A (ja) マルチプロセッサシステム及び情報処理装置
TW201349112A (zh) 用於分支預測錯誤之賦能及去能第二跳越執行單元之技術
WO2022180893A1 (ja) 制御装置及び制御方法
JP5112831B2 (ja) データ処理装置及びデータ処理装置の制御方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130805

TRDD Decision of grant or rejection written
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140319

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20140401

R150 Certificate of patent or registration of utility model

Ref document number: 5533526

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140414

LAPS Cancellation because of no payment of annual fees