2012年4月30日月曜日

z/VMのタスク管理


2009年の記事移植


VMのタスク管理ですが、3つのListによって行われています。
VMにログインした状態ではまず、Dormant List(休眠リスト)にタスクが割り当てられます。


Dormant Listで待機している状態で行う処理が発生すると、Eligible List(適格リスト)へ処理が移動します。


Eligible ListではStorageの確保を行うべく処理は、Listの待ち行列に並びます。Listの先頭で、Storageを確保を行うことができればDispatch List(派遣リスト)へ処理が移動します。


Dispatch Listにて選択された処理は、Dispatch vectorに移動し、プロセッサに処理されます。


処理後は、Dormant Listへ戻ります。


大きい処理の場合は、Dormant Listへもどらず、Eligible Listへ移動し再びStorage確保を行って再処理を行う場合があります。


ちなみにタスク(処理)には重み付けされていて、1から3ランクまで分かれている。


軽い処理(1,2秒のCPU処理時間)
重い処理(1,2秒*6セットのCPU処理時間)
もっとも重い処理(1,2秒*48セットのCPU処理時間)
1の処理はEligible ListからDispatch Listに移動する時間がもっとも小さい。(早い)


3の処理はEligible ListからDispatch Listに移動する時間が最も大きい。(遅い)


※Linuxやz/OSの処理は、3に該当する。


MAINTユーザでの処理などは、1に該当する。

0 件のコメント:

コメントを投稿