JP2008033933A - 同時物理プロセッサ再割り当て方法、システム、およびプログラム - Google Patents

同時物理プロセッサ再割り当て方法、システム、およびプログラム Download PDF

Info

Publication number
JP2008033933A
JP2008033933A JP2007192766A JP2007192766A JP2008033933A JP 2008033933 A JP2008033933 A JP 2008033933A JP 2007192766 A JP2007192766 A JP 2007192766A JP 2007192766 A JP2007192766 A JP 2007192766A JP 2008033933 A JP2008033933 A JP 2008033933A
Authority
JP
Japan
Prior art keywords
processor
physical processor
physical
logical
reallocation
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2007192766A
Other languages
English (en)
Other versions
JP5071913B2 (ja
Inventor
Christopher R Conklin
クリストファー・アール・コンクリン
Randall W Philley
ランダル・ダブリュ・フィリー
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 JP2008033933A publication Critical patent/JP2008033933A/ja
Application granted granted Critical
Publication of JP5071913B2 publication Critical patent/JP5071913B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/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
    • 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/461Saving or restoring of program or task context

Abstract

【課題】論理プロセッサを支援する物理プロセッサの再割り当てが、プロセッサの動作と同時に実行されるようにする。
【解決手段】1つの物理プロセッサの動作状態が、他の物理プロセッサ上にロードされ、論理プロセッサが、異なる物理プロセッサにより支援されるようになされる。この再割り当ては、プロセッサ動作と同時に、かつオペレーティング・システムに対してトランスペアレントに実行される。
【選択図】図2

Description

本発明は、一般に、処理環境の中の処理に関し、特に、処理環境の論理プロセッサを支援する物理プロセッサの同時再割り当てに関する。
オペレーティング・システムは、プロセッサを論理プロセッサとみなす。この論理プロセッサは、特定の物理プロセッサにより支援される。プロセッサの物理割り当ては、機械が電源を入れられ、オペレーティング・システムがロードされる前に初期化されるときに決定される。通常、物理プロセッサに対して論理プロセッサの割り当てが行われると、この割り当ては変更されない。
しかしながら、特定の厳しい条件の下では、物理プロセッサに対する論理プロセッサの割り当てを変更できる。特に、プロセッサが故障するとき、処理環境の中に予備プロセッサが存在している場合、割り当てを変更できる。具体的には、プロセッサが故障した状況では、割り当てが変更され、故障したプロセッサの代わりに、予備プロセッサが論理プロセッサを支援するようになされる。
割り当て変更は、故障したプロセッサに対して利用可能であるが、論理プロセッサの物理支援を再割り当てする改良された機能に対する必要性が存在する。一例では、動作中のプロセッサ用の物理プロセッサ再割り当てに対する機能が必要である。例えば、論理プロセッサを支援する物理プロセッサの動作と同時に実行される物理プロセッサ再割り当て機能に対する必要性が存在する。さらに、トランスペアレントに、かつオペレーティング・システム・ソフトウェアを使用するオーバーヘッドなしに実行される再割り当て機能に対する必要性が存在する。
処理環境の物理プロセッサを再割り当てする方法を提供することにより、先行技術の欠点が克服されるとともに、さらなる利点がもたらされる。例えば、方法は、論理プロセッサを支援する物理プロセッサが変更されるべきであることを決定すること、および論理プロセッサに対して他の物理プロセッサを再割り当てすることを含み、再割り当てすることが、物理プロセッサの動作と同時に行われる。
また、上述した方法に対応するシステムおよびコンピュータ・プログラムが、本明細書に説明され、特許請求される。
その他の特徴および利点が、本発明の技術により実現される。本発明の他の実施形態および態様が、本明細書で詳細に説明されるとともに、特許請求する発明の一部とみなされる。
本発明の1つ以上の態様が、特に示されるとともに、本願の特許請求の範囲の中で例として明瞭に特許請求される。本発明の上述の、および他の、目的、特徴、および利点は、詳細な説明を添付図面と照らしあわせて読むことにより、明らかである。
本発明の態様に基づいて、処理環境の1つ以上の論理プロセッサの物理支援が変更される。例えば、現在論理プロセッサに割り当てられている物理プロセッサ(ソース・プロセッサ)は、他の物理プロセッサ(ターゲット・プロセッサ)に置換される。この論理プロセッサに対する他の物理プロセッサの再割り当ては、最初に論理プロセッサを支援する物理プロセッサ(すなわち、ソース・プロセッサ)が動作中(故障、チェック停止、またはクロック停止と対照的に)に実行されるとともに、論理分割ハイパーバイザーを含んで、オペレーティング・システム・ソフトウェアに対してトランスペアレントに、かつオペレーティング・システム・ソフトウェアの関与なしに実行される。再割り当ては、1つ以上の論理プロセッサに対して同時に実行され得る。
本発明の1つ以上の態様が、様々な種類の処理環境において利用される。本発明の1つ以上の態様を取り入れ、かつ使用する処理環境の一実施形態について、図1を参照して説明する。処理環境100は、1つ以上の接続104を介して相互に結合された複数のプロセッサ102を含む。この例の各プロセッサは、インターナショナル・ビジネス・マシーンズ・コーポレーション(IBM(商標))により提供されるz/OS(商標)オペレーティング・システムを実行処理するzSeries(商標)サーバである。例えば、接続104は、トークン・リング、ネットワーク接続、ケーブル、または他の任意の種類の接続である。IBM(商標)、zSeries(商標)、およびz/OS(商標)は、アメリカ合衆国のニューヨーク州アーモンクにあるインターナショナル・ビジネス・マシーンズ・コーポレーションの登録商標である。本明細書で使用される他の名称は、インターナショナル・ビジネス・マシーンズ・コーポレーションまたは他の会社の登録商標、商標または製品名であり得る。
各プロセッサ102は、そのオペレーティング・システムに対する論理プロセッサとみなされる。しかしながら、この論理プロセッサは、それに割り当てられた物理プロセッサにより支援される。例えば、プロセッサの物理割り当ては、プロセッサ・タイプ(すなわち、CPU、SAP)および機器構成(例えば、物理プロセッサのレイアウト、ブックの個数)、もしくは、プロセッサ・タイプ(すなわち、CPU、SAP)または機器構成(例えば、物理プロセッサのレイアウト、ブックの個数)などに基づいて、環境のファームウェア(例えば、ミリコード)により行われる。
1つ以上の論理プロセッサの物理支援を再割り当てすることが必要であるか、または好ましいときがある。すなわち、1つ以上の論理プロセッサの物理支援を変更することが好ましいときがある。例として、割り当て変更は、ブックの置換動作およびプロセッサのアップグレード時、もしくは、ブックの置換動作またはプロセッサのアップグレード時に有益である。ブックの置換動作時に、ブックは、システムから除去されるべき対象とされる。オペレーティング・システムが、除去対象のブック上に物理的に位置する1つ以上のプロセッサを利用しているとき、退避の一環として、論理プロセッサは、システム内に残る他のブック上に物理的に位置するプロセッサに移動される。同様に、プロセッサのアップグレードが行われるとき、新しいプロセッサ資源が割り当てられる。新しいプロセッサ資源は、予備プロセッサの代わりをし、予備プロセッサの物理ロケーションは、既存の構成によっては最適ではない場合がある。したがって、現在割り当てられている物理プロセッサ資源は、再割り当てされる。
物理プロセッサ再割り当てに関連するロジックの一実施形態について、図2を参照して説明する。一実施例では、このロジックは、処理環境の1つ以上のプロセッサのミリコードで実行される。
図2を参照すると、最初に、ステップ200で、再割り当てが呼び出される。再割り当ては、例えば、処理環境の資源の再割り当て、または同時ブック置換動作の実行を含む多くの異なる理由で呼び出され得る。また、再割り当ての他の理由も存在している。一実施形態では、再割り当て表示は、処理環境のすべてのプロセッサ上で受信される。他の実施形態では、再割り当て表示は、プロセッサのサブセット上で受信される。
再割り当ての呼び出しに呼応して、ステップ202で、再割り当てが、1つ以上のプロセッサの各々について実行される。再割り当てを実行するために、ステップ204で、再割り当てされるべき1つ以上の物理プロセッサが決定される(すなわち、1つ以上のソースが決定される)。さらに、ステップ206で、再割り当てのターゲットである物理プロセッサが決定される。特定の物理プロセッサが、ターゲットとソースの両方であるかもしれない。例えば、スワップが行われる予定であるとき(例えば、iPU1/pPU1、iPU2/pPU2→iPU2/pPU1、iPU1/pPU2)、スワップのプロセッサは、ソースとターゲットの両方である。
これらの決定に続いて、ステップ208で、再割り当てが行われる。これは、ソース物理プロセッサの動作状態をターゲット物理プロセッサ上に保存するステップを含む。例えば、上述のスワップの例では、物理プロセッサ2の動作状態は、物理プロセッサ1に再割り当てされ、物理プロセッサ1の動作状態は、物理プロセッサ2に再割り当てされる。
物理プロセッサの同時再割り当ての詳細について、図3〜図6を参照して説明する。特に、図3は、4つのプロセッサを含む処理環境内の同時物理プロセッサ再割り当てに関連するロジックの一実施形態を示し、図4は、再割り当てで使用される新しい構成の決定に関連するロジックの一実施形態を示し、図5は、ソース・プロセッサの状態の保存に関連するロジックの一実施形態を示し、図6は、ターゲット・プロセッサで保存された状態のローディングに関連するロジックの一実施形態を示す。
図3を参照すると、それぞれ論理プロセッサ識別子(iPUx)302、および物理プロセッサ識別子(pPUx)304で示された4つのプロセッサ300がある。ある時点で、同時物理プロセッサ再割り当て技術が、プロセッサ上で呼び出される。一実施例として、処理環境の動作中の各プロセッサ(または、他の実施形態ではプロセッサのサブセット)上で命令を実行処理することにより、再割り当てが呼び出される。例えば、命令は、実行されるべき動作を示す演算コード、および動作を制御するために使用されるパラメータ・ブロックのアドレスを識別するレジスタ内に保存されたアドレスを含む。パラメータ・ブロックは、再割り当てが退避の一環であるかどうかを示す退避フィールド、再割り当てがリバランス機能の一部であるかどうかを示すリバランス・フィールド、予備プロセッサが同じブック内にあり得るかどうかを示す予備フィールド、退避機能に対するブックの個数を示すブック数、リターン・コード、およびトラッキングおよびデバッギングの記録を提供する古い構成データのような多くのフィールドを含むとともに、例えば、プロセスの始めの構成データ(例えば、oper−PPU、oper−CPU、oper−SAPなど)、物理PU番号ごとのプロセッサの種類を記述するベクトル、物理PUから論理PUへのマッピング、および論理PUごとのプロセッサ情報(例えば、種類、状態、物理PU識別番号)を含む。
プロセッサ上の命令の呼び出しに呼応して、命令のファームウェア内の呼び出しの結果、プロセッサ・ファームウェア(例えば、ミリコード)が実行処理することにより、再割り当てが実行される。一実施例として、命令の実行処理に呼応して、ステップ310で、処理環境のプロセッサを同期化する。この例では、予備プロセッサを含む、すべてのプロセッサに対して同期化が行われる。さらに、単一プロセッサが、マスタ・プロセッサとして選定される。この選定は、無作為に、または事前に定義されたいくつかの基準に基づいて行われ得る。この例では、プロセッサ3がマスタとして選定される。マスタは、システム内の任意の予備プロセッサに対して同期するように警報を出す責任を有するとともに、また、プロセスの流れを制御する責任を有する。
処理環境内の、すべての動作中のプロセッサの同期の達成に呼応して、ステップ312で、マスタは、処理環境の新しい構成を決定する。この新しい構成は、例として、処理環境の要件および呼び出しの理由(例えば、ブック退避、プロセッサ再配分など)に基づいて決定される。この決定の一環として、マスタは、再割り当てされるべき1つ以上の物理プロセッサ(ソース)、および詳細に後述するソースに対するターゲットとなるべき1つ以上の物理プロセッサを決定する。この決定に続いて、マスタは、物理プロセッサ割り当てに対する変更について記述する、処理環境の中のグローバル構造(例えば、ハードウェア・システム・エリア・ストレージ・ロケーション)をアップグレードする。例えば、グローバル構造は、どの物理プロセッサが特定の論理プロセッサに再割り当てされるかを示す。この時点で、ステップ314において、各プロセッサは同期点に戻る。
その後、マスタは、プロセッサに対して、同期状態を離れて、新しい物理プロセッサ割り当てについて検査させる。ステップ316で、再割り当てされるべきマスタにより選択された物理プロセッサは、指定されたストレージ内に、それらのマイクロ・アーキテクチャ構成状態を保存し、ステップ318で、同期点に戻る。マイクロ・アーキテクチャ構成状態は、物理プロセッサの動作状態である。それは、例えば、汎用レジスタ、アクセス・レジスタ、浮動小数点レジスタ、制御レジスタ、タイミング機能レジスタ、システム構成レジスタ、命令アドレス・レジスタなどのコンテンツを含むプロセッサ・チェックポイント構成状態の情報を含む。再割り当てされるべきと選択されなかったプロセッサは、ステップ318で、同期点に戻る。
その後、マスタは、プロセッサに対して、同期状態を離れて、再び新しい物理プロセッサ割り当てについて検査させる。後述するように、ステップ320で、ターゲットとなるべきとマスタにより選択された物理プロセッサは、対応するソース物理プロセッサのマイクロ・アーキテクチャ構成状態をロードし、ステップ322で、同期に戻る。また、ステップ322で、ターゲットとなるべきと選択されなかったプロセッサは、同期点に戻る。
プロセッサが同期点に戻ることに呼応して、動作は完了し、マスタは、プロセッサに再割り当て手順を終了させる。再割り当ての結果、この実施形態では、論理プロセッサ1(iPU1)は、物理プロセッサ2により支援され(参照番号324を参照のこと)、論理プロセッサ2(iPU2)は、物理プロセッサ1により支援される(参照番号326を参照のこと)。
再割り当てプロセスの詳細について以下に説明する。例えば、新しい構成の決定(ステップ312)に関連するロジックの一実施形態について、図4を参照して説明する。上述したように、このロジックは、システム内のプロセッサが同期点に達することに呼応して、マスタ・プロセッサ上で実行処理される。
図4を参照すると、問合せ400で、退避のために再割り当てが実行されているかどうかについて判断される。再割り当ての理由が、再割り当てを呼び出す命令により示される。再割り当てが退避のために実行されているとき、ステップ402で、除去対象のブック上に物理的に位置している予備以外のプロセッサを含むソース・プロセッサ・リストが作成される。さらに、ステップ404で、ソース・リスト内の各プロセッサに対して、除去対象ではないブックのうちの1つの上に物理的に位置する予備プロセッサを含むターゲット・プロセッサ・リストが作成される。
しかしながら、再割り当てが退避のために実行されていないとき、この実施形態では、再割り当ては、同時プロセッサ・アップグレード動作の一環として実行されている。したがって、ステップ406で、例として、プロセッサ・タイプ(例えば、CPU、SAPなど)、および機器構成(例えば、1ブックあたりの物理プロセッサの個数、およびシステム内のブックの個数)に基づく所要の物理ロケーション内にないプロセッサを含むソース・プロセッサ・リストが作成される。これは、例えば、内部ストレージ内に保持されたデータ構造(例えば、表)で決定される。
ソース・リストに加えて、ステップ408で、ソース・プロセッサ・リスト内の各プロセッサに対して、その最適な物理ロケーションに位置していないが、ソース・プロセッサ・ロケーションの要件に適合するであろう他のプロセッサが見つけられるターゲット・プロセッサ・リストが作成される。すなわち、各ターゲットは、内部ストレージ内に保持されたデータ構造により決定されるような、プロセッサ・タイプおよび機器構成に基づくその最適の物理ロケーション内にない物理プロセッサである。
ソースおよびターゲット・プロセッサ・リストの作成に続いて、再割り当ての理由にかかわらず、ステップ410で、ソースおよびターゲット・リストが保存される。一実施例では、ソースおよびターゲット・プロセッサ・リストは、ハードウェア・システム・エリア・ストレージの共通領域内に保存され、リストが、システム内のすべてのプロセッサに利用可能であるようになされる。
次に、ステップ412で、構成が更新される。例として、ハードウェア・システム・エリア・ストレージ内のプロセッサ構成情報は、最終的な構成を反映するように更新される。これは、物理から論理へのベクトル、論理から物理へのベクトル、およびプロセッサ・タイプごとのビット・ベクトル(例えば、プロセッサのSAP、CPUなどのタイプを示す)を更新するステップを含む。
マスタが新しい構成を決定した後に、各プロセッサは、新しい物理プロセッサ割り当てを検査しなければならない。この処理の一実施形態について、図5を参照して説明する。最初に、問合せ500で、プロセッサがその同期点を離れるべきかどうかについて、このロジックを実行処理するプロセッサが決定する。プロセッサが、まだ、その同期点を離れるようにトリガーされていないとき、プロセッサはそのまま残る。プロセッサが、その同期点を離れるようにトリガーされたとき、ステップ502で、プロセッサは、ハードウェア・システム・エリア・ストレージからソース・プロセッサ・リストをフェッチする。問合せ504で、プロセッサはリストを調べて、それがソース・プロセッサとして指定されているかどうかを判断する。プロセッサがソース・プロセッサとして指定されていないとき、このプロセッサに対する処理は完了し、ステップ506で、プロセッサは他の同期点に達する。
しかしながら、プロセッサがソース・プロセッサとして指定されているとき、ステップ508で、プロセッサは、本明細書でRunitまたはマイクロ・アーキテクチャ構成状態と呼ばれるそれ自身の動作状態を、ハードウェア・システム・エリア・ストレージ内に保存する。例えば、この動作状態は、ミリコードで表示されるようなプロセッサの完全な状態を含む。一実施例では、保存は、一連のリードRunitレジスタおよびストア命令を用いて達成される。各レジスタは、例えば命令により読み出され、特定のレジスタのコンテンツは、メモリ(例えば、ハードウェア・システム・エリア・ストレージ)のデータ構造内に保存される。その後、ステップ506で、プロセッサは同期点に入る。
プロセッサがRunit状態を保存して、他の同期点に入ることに続いて、図6に関して説明されるように、さらなる処理が実行される。一実施形態では、最初に、問合せ600で、プロセッサが同期点を離れるべきかどうかが決定される。各プロセッサは、それがいつ同期点を離れることができるかについてマスタによりトリガーされる。ソースがそれらの動作状態またはマイクロ・アーキテクチャ構成状態を保存することに続いて、マスタは、プロセッサに対して、同期状態を離れて、新しい物理プロセッサ割り当てについて検査させる。この時点まで、プロセッサは同期点に残る。プロセッサが同期点を離れるべきであると決定されるとき、ステップ602で、プロセッサは、ターゲット・プロセッサ・リストをフェッチする。問合せ604で、プロセッサはリストを調べて、それがターゲットとして指定されているかどうかを判断する。プロセッサが、ターゲット・プロセッサであるとき、ステップ606で、プロセッサは保存されたアーキテクチャ構成状態を更新する。例えば、ターゲット・プロセッサは、このターゲットに対するソースを特定するターゲット・リストに基づいて、ソース・プロセッサの保存された動作状態のハードウェア・システム・エリア・ストレージ内のロケーションを決定する。ターゲット・プロセッサは、新しい物理プロセッサを反映するようにソース・プロセッサの保存された動作状態を更新する。例えば、ターゲット・プロセッサは、ターゲット物理プロセッサ・ユニット数を反映するようにプロセッサ・ユニット数を更新する。
さらに、ステップ608で、ターゲット・プロセッサは、保存されたアーキテクチャ構成状態をターゲットでロードする。一実施例では、ターゲット・プロセッサは、変更されたソース・プロセッサの保存されたRunit状態を対象とするロードR−Unit状態命令を発行する。ロードR−Unit状態命令は、例えば、ミリコードで実行処理し、ターゲット・プロセッサにおいて、対応するソースのR−Unitレジスタを単一のアトミック・オペレーションでロードする。例えば、レジスタは、連続して一度にダブル・ワード、ロードされ、ロード命令のオペランド・フィールド内に指定されるストレージ・ロケーションで始まる。この命令の一実施形態は、2001年2月13日付にて発行されたスレゲル(Slegel)らの「Transparent Processor Sparing(トランスペアレントなプロセッサ・スペアリング)」と題する米国特許第6,189,112号に説明されており、この米国特許を全体として参照されたい。
その後、ステップ610で、処理は同期点に戻る。すべてのプロセッサが同期点に戻ることに呼応して、動作は完了し、マスタは、すべてのプロセッサを通常動作に復帰させる。一実施例では、これは、内部命令を終わらせるためのトリガーを含む。
論理プロセッサの物理支援を同時に再割り当てする機能について、詳細に上述されている。物理プロセッサの動作中に、1つの物理プロセッサの動作状態が、他の物理プロセッサに移される(例えば、どちらの物理プロセッサも故障、チェック停止、またはクロック停止状態ではない)。この再割り当てにより、他の物理プロセッサが、論理プロセッサを支援している。これは、処理環境の1つ以上のプロセッサに対して達成され得る。
本発明の1つ以上の態様が、例えば、コンピュータ使用可能媒体を有する製品(例えば、1つ以上のコンピュータ・プログラム)内に含まれ得る。媒体は、その中に、例えば、本発明の機能を提供しかつ促進するロジックのコンピュータ読み込み可能プログラム・コード手段(例えば、命令、コード、コマンドなど)を有する。製品は、コンピュータ・システムの一部として含まれたり、または別々に販売され得る。
本発明の1つ以上の態様を取り入れた製品またはコンピュータ・プログラムの一実施例について、図7を参照して説明する。コンピュータ・プログラム700は、例えば、本発明の1つ以上の態様を提供しかつ促進するコンピュータ読み込み可能プログラム・コード手段またはロジック704をその上に保存する1つ以上のコンピュータ使用可能媒体702を含む。媒体は、電子的、磁気的、光学的、電磁気的、赤外線式、もしくは半導体のシステム(あるいは装置またはデバイス)または伝搬媒体であり得る。コンピュータ読み込み可能媒体の例としては、半導体またはソリッド・ステート・メモリ、磁気テープ、脱着可能コンピュータ・フレキシブル・ディスク、ランダム・アクセス・メモリ(RAM)、読み出し専用メモリ(ROM)、堅牢な磁気ディスク、および光ディスクなどがある。光ディスクの例としては、読み出し専用メモリ・コンパクト・ディスク(CD−ROM)、読み出し書き込みコンパクト・ディスク(CD−R/W)、およびDVDなどがある。
1つ以上のコンピュータ読み込み可能プログラム・コード手段またはロジックで規定された1つ以上の相関的なモジュールのプログラム命令シーケンスまたは論理アセンブリは、本発明の1つ以上の態様の実行を指示する。
論理プロセッサの物理支援の再割り当ては、物理プロセッサの動作と同時に実行されることが有利である。すなわち、プロセッサは、この再割り当てを実行するために、チェック停止、クロック停止、または故障モードになる必要がない。さらに、ターゲット・プロセッサは、予備プロセッサである必要はない。再割り当ては、オペレーティング・システムおよび論理分割ハイパーバイザー、もしくは、オペレーティング・システムまたは論理分割ハイパーバイザーを含むソフトウェアに対してトランスペアレントに、かつオペレーティング・システムおよび論理分割ハイパーバイザー、もしくは、オペレーティング・システムまたは論理分割ハイパーバイザーを含むソフトウェアの関与なしに実行される。一実施例として、再割り当ては、特定のパフォーマンス強化を提供するミリコードで実行される。しかしながら、再割り当ては、他の実施形態において、ソフトウェア、ハードウェア、ファームウェア、またはそれらの組み合わせで実行され得る。
様々な実施形態について上述されているが、これらは例に過ぎない。例えば、本明細書に図示しかつ説明したもの以外の処理環境が、本発明の1つ以上の態様により利益を得ることができる。例えば、プロセッサは、本明細書に説明したより多くても、少なくてもよく、プロセッサは、zSeries(商標)プロセッサ以外でもよい。さらに、オペレーティング・システムは、z/OS(商標)以外でもよく、異なるプロセッサ内のオペレーティング・システムは、互いに同じか、または異なる場合がある。本発明の要旨を逸脱することなく、処理環境に対して他の多数の変形が行われ得る。
さらなる例として、本明細書に説明した実施形態では、2つのプロセッサのスワップが実行されているが、これは一例に過ぎない。再割り当ては、上述したよりも多い、または少ないプロセッサの間で実行され得る。また、さらなる実施例では、マスタは、ソースまたはターゲットのどちらか、もしくはその両方であり得る。さらなる実施例では、再割り当ての呼び出しを含む特定の機能を実行するために、命令が使用されるが、他の実施形態では、命令以外により、これらの機能が実行され得る。本発明の要旨を逸脱することなく、他の多数の変形が存在し得る。
さらに、プログラム・コードを保存および実行処理、もしくは、保存または実行処理するために適した、システム・バスを介して直接または間接的にメモリ・エレメントに結合された少なくとも1つのプロセッサを含むデータ処理システムが使用可能である。例えば、メモリ・エレメントとしては、プログラム・コードの実際の実行処理時に使用されるローカル・メモリ、大容量記憶装置、および実行処理時に大容量記憶装置からコードを取り出さねばならない回数を減少させるために、少なくともいくつかのプログラム・コードの一時記憶域を提供するキャッシュ・メモリなどがある。
入出力デバイスまたはI/Oデバイス(キーボード、ディスプレイ、ポインティング・デバイスなどを含むが、これらに限らない)は、直接に、または介在するI/Oコントローラを通じてシステムと結合され得る。また、ネットワーク・アダプタをシステムと結合することができ、データ処理システムが、介在する個人通信網または公衆通信網を通じて、他のデータ処理システム、もしくはリモート・プリンタ装置、または記憶デバイスと結合されるようになることを可能にする。モデム、ケーブル・モデム、およびイーサネット(登録商標)・カードは、利用可能な種類のネットワーク・アダプタのうちのほんのいくつかに過ぎない。
本発明の1つ以上の態様の機能は、ソフトウェア、ファームウェア、ハードウェア、またはそれらの何らかの組み合わせで実行され得る。本発明の機能を実行する機械で実行可能な命令のうちの、少なくとも1つのプログラムを実施する機械で読み込み可能な、少なくとも1つのプログラム記憶デバイスを提供できる。
本明細書に図示したフロー・チャートは例に過ぎない。本発明の要旨を逸脱することなく、これらのフロー・チャート、もしくはその中に説明したステップ(または、動作)に対する多数の変形があり得る。例えば、ステップは、異なる順番で実行され、またはステップは、付加され、削除され、または変更され得る。これらの変形のすべては、特許請求する発明の一部とみなされる。
好ましい実施形態は、詳細に図示され、かつ説明されたが、本発明の要旨を逸脱することなく、様々な変更、付加、代替、およびその種の他のものが行われ得るため、これらは、請求項で規定されるような本発明の範囲内にあるとみなされることが当業者に明らかであろう。
本発明の1つ以上の態様を取り入れ、かつ使用する処理環境の一実施形態を示す。 本発明の態様に係る、同時物理プロセッサ再割り当ての実行と関連するロジックの一実施形態を示す。 本発明の態様に係る、同時物理プロセッサ再割り当ての実行の一実施形態と関連する詳細を示す。 本発明の態様に係る、同時物理プロセッサ再割り当て時に使用される新しい構成の決定に関連するロジックの一実施形態を示す。 本発明の態様に係る、再割り当てされるべきソース・プロセッサの動作状態の保存に関連するロジックの一実施形態を示す。 本発明の態様に係る、ターゲット・プロセッサでの保存された動作状態のローディングに関連するロジックの一実施形態を示す。 本発明の1つ以上の態様を取り入れたコンピュータ・プログラムの一実施形態を示す。

Claims (13)

  1. 論理プロセッサを支援する物理プロセッサが変更されるべきであることを決定することと、
    前記物理プロセッサの動作と同時に、前記論理プロセッサに対して他の物理プロセッサを再割り当てすることと、
    を含む、処理環境の物理プロセッサを再割り当てする方法。
  2. 前記再割り当てすることが、前記物理プロセッサと前記他の物理プロセッサのうちの1つ以上のオペレーティング・システムに対してトランスペアレントである、請求項1に記載の方法。
  3. 前記再割り当てすることが、前記他の物理プロセッサ上に、現在前記論理プロセッサに割り当てられている前記物理プロセッサの動作状態をロードすることを含み、前記ロードすることに呼応して、前記他の物理プロセッサが、前記論理プロセッサに割り当てられる、請求項1に記載の方法。
  4. 前記動作状態が、前記物理プロセッサの、
    1つ以上の汎用レジスタと、1つ以上のアクセス・レジスタと、1つ以上の浮動小数点レジスタと、1つ以上の制御レジスタと、1つ以上のタイミング機能レジスタと、1つ以上のシステム構成レジスタと、1つ以上の命令アドレス・レジスタとのうちの少なくとも1つからのコンテンツを含む、請求項3に記載の方法。
  5. 前記再割り当てすることが、
    前記処理環境の新しい構成を決定することと、
    前記物理プロセッサが置換されるべきであることを決定するために、現在前記論理プロセッサに割り当てられている前記物理プロセッサにより前記新しい構成を使用することと、
    前記物理プロセッサで、前記物理プロセッサの動作状態を保存することと、
    前記他の物理プロセッサが、前記論理プロセッサに割り当てられるべきであることを決定するために、前記他の物理プロセッサにより前記新しい構成を調べることと、
    前記他の物理プロセッサ上に、前記物理プロセッサの保存された動作状態をロードすることとを含む、請求項1に記載の方法。
  6. 前記再割り当てすることが、前記物理プロセッサおよび前記他の物理プロセッサの動作と同時であり、前記物理プロセッサおよび前記他の物理プロセッサが、前記再割り当て時に、チェック停止、クロック停止、または故障モードのうちの1つではない、請求項5に記載の方法。
  7. 前記他の物理プロセッサが、前記物理プロセッサを置換するべき前記他の物理プロセッサであることを決定するために、前記新しい構成を使用することをさらに含む、請求項5に記載の方法。
  8. 前記ロードすることが、
    前記物理プロセッサの前記動作状態が保存されているストレージ内のロケーションを決定することと、
    前記決定されたロケーションから、前記物理プロセッサの前記動作状態をロードすることとを含む、請求項7に記載の方法。
  9. 前記ロードすることが、前記他の物理プロセッサのプロセッサ数を反映して前記物理プロセッサの前記動作状態を更新することをさらに含む、請求項8に記載の方法。
  10. 前記新しい構成を前記決定することが、
    再割り当てされるべき前記少なくとも物理プロセッサを含むソース・プロセッサ・リストを作成することと、
    前記代替として使用される前記少なくとも他の物理プロセッサを含むターゲット・プロセッサ・リストを作成することとを含み、前記ソース・プロセッサ・リストおよび前記ターゲット・プロセッサ・リストの前記作成が、前記再割り当ての事由に依存する、請求項5に記載の方法。
  11. 前記再割り当てを制御する前記処理環境のマスタ・プロセッサを選択することをさらに含む、請求項5に記載の方法。
  12. 物理プロセッサにより支援される論理プロセッサと、
    前記論理プロセッサの前記支援として前記物理プロセッサを置換する、前記論理プロセッサに再割り当てされる他の物理プロセッサとを含み、
    前記物理プロセッサの動作と同時に、前記他の物理プロセッサが再割り当てされる、処理環境の物理プロセッサを再割り当てするシステム。
  13. 処理環境の物理プロセッサを再割り当てするためのコンピュータ・プログラムであって、コンピュータに、
    論理プロセッサを支援する物理プロセッサが変更されるべきであることを決定する決定機能と、
    前記物理プロセッサの動作と同時に、前記論理プロセッサに対して他の物理プロセッサを再割り当てする再割り当て機能と、
    を実現させる前記コンピュータ・プログラム。
JP2007192766A 2006-07-31 2007-07-25 同時物理プロセッサ再割り当て方法、システム、およびプログラム Expired - Fee Related JP5071913B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/461153 2006-07-31
US11/461,153 US7461241B2 (en) 2006-07-31 2006-07-31 Concurrent physical processor reassignment method

Publications (2)

Publication Number Publication Date
JP2008033933A true JP2008033933A (ja) 2008-02-14
JP5071913B2 JP5071913B2 (ja) 2012-11-14

Family

ID=38987925

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007192766A Expired - Fee Related JP5071913B2 (ja) 2006-07-31 2007-07-25 同時物理プロセッサ再割り当て方法、システム、およびプログラム

Country Status (3)

Country Link
US (2) US7461241B2 (ja)
JP (1) JP5071913B2 (ja)
CN (1) CN101118503B (ja)

Families Citing this family (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7877358B2 (en) 2006-11-21 2011-01-25 Microsoft Corporation Replacing system hardware
US8473460B2 (en) * 2006-11-21 2013-06-25 Microsoft Corporation Driver model for replacing core system hardware
US7934121B2 (en) * 2006-11-21 2011-04-26 Microsoft Corporation Transparent replacement of a system processor
US8086906B2 (en) 2007-02-15 2011-12-27 Microsoft Corporation Correlating hardware devices between local operating system and global management entity
US8180997B2 (en) * 2007-07-05 2012-05-15 Board Of Regents, University Of Texas System Dynamically composing processor cores to form logical processors
US20090187747A1 (en) * 2008-01-18 2009-07-23 Infineon Technologies Ag System and method for tracing instruction pointers and data access
US8205117B2 (en) * 2009-02-25 2012-06-19 Hewlett-Packard Development Company, L.P. Migratory hardware diagnostic testing
US8910176B2 (en) 2010-01-15 2014-12-09 International Business Machines Corporation System for distributed task dispatch in multi-application environment based on consensus for load balancing using task partitioning and dynamic grouping of server instance
RU2011117765A (ru) * 2011-05-05 2012-11-10 ЭлЭсАй Корпорейшн (US) Устройство (варианты) и способ реализации двухпроходного планировщика задач линейной сложности
US9015025B2 (en) 2011-10-31 2015-04-21 International Business Machines Corporation Verifying processor-sparing functionality in a simulation environment
US9323619B2 (en) 2013-03-15 2016-04-26 International Business Machines Corporation Deploying parallel data integration applications to distributed computing environments
US9401835B2 (en) 2013-03-15 2016-07-26 International Business Machines Corporation Data integration on retargetable engines in a networked environment
US9256460B2 (en) 2013-03-15 2016-02-09 International Business Machines Corporation Selective checkpointing of links in a data flow based on a set of predefined criteria
US9477511B2 (en) 2013-08-14 2016-10-25 International Business Machines Corporation Task-based modeling for parallel data integration
US10191747B2 (en) 2015-06-26 2019-01-29 Microsoft Technology Licensing, Llc Locking operand values for groups of instructions executed atomically
US10169044B2 (en) 2015-06-26 2019-01-01 Microsoft Technology Licensing, Llc Processing an encoding format field to interpret header information regarding a group of instructions
US10346168B2 (en) 2015-06-26 2019-07-09 Microsoft Technology Licensing, Llc Decoupled processor instruction window and operand buffer
US10409606B2 (en) 2015-06-26 2019-09-10 Microsoft Technology Licensing, Llc Verifying branch targets
US10175988B2 (en) 2015-06-26 2019-01-08 Microsoft Technology Licensing, Llc Explicit instruction scheduler state information for a processor
US9952867B2 (en) 2015-06-26 2018-04-24 Microsoft Technology Licensing, Llc Mapping instruction blocks based on block size
US10409599B2 (en) 2015-06-26 2019-09-10 Microsoft Technology Licensing, Llc Decoding information about a group of instructions including a size of the group of instructions
US11755484B2 (en) 2015-06-26 2023-09-12 Microsoft Technology Licensing, Llc Instruction block allocation
US9946548B2 (en) 2015-06-26 2018-04-17 Microsoft Technology Licensing, Llc Age-based management of instruction blocks in a processor instruction window
US10768936B2 (en) 2015-09-19 2020-09-08 Microsoft Technology Licensing, Llc Block-based processor including topology and control registers to indicate resource sharing and size of logical processor
US11016770B2 (en) 2015-09-19 2021-05-25 Microsoft Technology Licensing, Llc Distinct system registers for logical processors
US11126433B2 (en) 2015-09-19 2021-09-21 Microsoft Technology Licensing, Llc Block-based processor core composition register
US10095550B2 (en) 2016-10-19 2018-10-09 International Business Machines Corporation Performance-based reallocating of logical processing units to sockets of a computer system
US11531552B2 (en) 2017-02-06 2022-12-20 Microsoft Technology Licensing, Llc Executing multiple programs simultaneously on a processor core
JP2022537944A (ja) * 2019-06-12 2022-08-31 ニューヨーク ユニバーシティ イン アブダビ コーポレーション マルチコア処理システムに領域分割認識プロセッサを割り当てるためのシステム、方法及びコンピュータアクセス可能媒体

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004318885A (ja) * 2003-04-17 2004-11-11 Internatl Business Mach Corp <Ibm> 故障プロセッサを置き換える方法、媒体およびシステム
JP2004326808A (ja) * 2003-04-28 2004-11-18 Internatl Business Mach Corp <Ibm> Smpにおけるサーバノードの非介入動的ホットプラグおよびホット除去
WO2005109195A2 (en) * 2004-05-08 2005-11-17 International Business Machines Corporation Dynamic migration of virtual machine computer programs
JP2006072591A (ja) * 2004-09-01 2006-03-16 Hitachi Ltd 仮想計算機制御方法

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4807228A (en) * 1987-03-18 1989-02-21 American Telephone And Telegraph Company, At&T Bell Laboratories Method of spare capacity use for fault detection in a multiprocessor system
US5295258A (en) * 1989-12-22 1994-03-15 Tandem Computers Incorporated Fault-tolerant computer system with online recovery and reintegration of redundant components
US5301324A (en) * 1992-11-19 1994-04-05 International Business Machines Corp. Method and apparatus for dynamic work reassignment among asymmetric, coupled processors
US5504859A (en) * 1993-11-09 1996-04-02 International Business Machines Corporation Data processor with enhanced error recovery
US5790850A (en) * 1996-09-30 1998-08-04 Intel Corporation Fault resilient booting for multiprocessor computer systems
US6199179B1 (en) * 1998-06-10 2001-03-06 Compaq Computer Corporation Method and apparatus for failure recovery in a multi-processor computer system
US6189112B1 (en) * 1998-04-30 2001-02-13 International Business Machines Corporation Transparent processor sparing
US6292822B1 (en) * 1998-05-13 2001-09-18 Microsoft Corporation Dynamic load balancing among processors in a parallel computer
US6321344B1 (en) * 1998-12-10 2001-11-20 Lucent Technologies Inc. Reliable distributed processing system
US6519660B1 (en) * 1999-09-28 2003-02-11 International Business Machines Corporation Method, system and program products for determining I/O configuration entropy
US6574748B1 (en) * 2000-06-16 2003-06-03 Bull Hn Information Systems Inc. Fast relief swapping of processors in a data processing system
US7480911B2 (en) * 2002-05-09 2009-01-20 International Business Machines Corporation Method and apparatus for dynamically allocating and deallocating processors in a logical partitioned data processing system
US7290260B2 (en) * 2003-02-20 2007-10-30 International Business Machines Corporation Dynamic processor redistribution between partitions in a computing system
US7496915B2 (en) * 2003-04-24 2009-02-24 International Business Machines Corporation Dynamic switching of multithreaded processor between single threaded and simultaneous multithreaded modes
US20040216101A1 (en) * 2003-04-24 2004-10-28 International Business Machines Corporation Method and logical apparatus for managing resource redistribution in a simultaneous multi-threaded (SMT) processor
US8171480B2 (en) * 2004-01-27 2012-05-01 Network Appliance, Inc. Method and apparatus for allocating shared resources to process domains according to current processor utilization in a shared resource processor
US8984517B2 (en) * 2004-02-04 2015-03-17 Intel Corporation Sharing idled processor execution resources
US7266540B2 (en) * 2004-03-04 2007-09-04 International Business Machines Corporation Mechanism for dynamic workload rebalancing in a multi-nodal computer system

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004318885A (ja) * 2003-04-17 2004-11-11 Internatl Business Mach Corp <Ibm> 故障プロセッサを置き換える方法、媒体およびシステム
JP2004326808A (ja) * 2003-04-28 2004-11-18 Internatl Business Mach Corp <Ibm> Smpにおけるサーバノードの非介入動的ホットプラグおよびホット除去
WO2005109195A2 (en) * 2004-05-08 2005-11-17 International Business Machines Corporation Dynamic migration of virtual machine computer programs
JP2006072591A (ja) * 2004-09-01 2006-03-16 Hitachi Ltd 仮想計算機制御方法

Also Published As

Publication number Publication date
US20090070563A1 (en) 2009-03-12
US7461241B2 (en) 2008-12-02
CN101118503A (zh) 2008-02-06
CN101118503B (zh) 2010-04-14
US20080028413A1 (en) 2008-01-31
US7664940B2 (en) 2010-02-16
JP5071913B2 (ja) 2012-11-14

Similar Documents

Publication Publication Date Title
JP5071913B2 (ja) 同時物理プロセッサ再割り当て方法、システム、およびプログラム
CN101233489B (zh) 自适应进程分派的方法和系统
JP4690988B2 (ja) 持続的なユーザレベルスレッド用の装置、システムおよび方法
US8230201B2 (en) Migrating sleeping and waking threads between wake-and-go mechanisms in a multiple processor data processing system
KR101020392B1 (ko) 논리적 파티션 사이에서의 운용 시스템의 커널 공유
EP2251784B1 (en) Optimizing a distribution of applications executing in a multiple platform system
CN101271409B (zh) 用于迁移逻辑分区的装置和方法以及设备
CN102541619B (zh) 虚拟机管理装置和方法
US7979869B2 (en) Method and system for performing I/O operations using a hypervisor
US20080256530A1 (en) System and Method for Determining Firmware Compatibility for Migrating Logical Partitions
US9703488B2 (en) Autonomous dynamic optimization of platform resources
US7103763B2 (en) Storage and access of configuration data in nonvolatile memory of a logically-partitioned computer
US7802252B2 (en) Method and apparatus for selecting the architecture level to which a processor appears to conform
US7454547B1 (en) Data exchange between a runtime environment and a computer firmware in a multi-processor computing system
CN110275722A (zh) 用于升级应用的方法、装置、设备和存储介质
KR20040028805A (ko) 프로세서로 산출하기 위한 시스템
US8255639B2 (en) Partition transparent correctable error handling in a logically partitioned computer system
US9916215B2 (en) System and method for selectively utilizing memory available in a redundant host in a cluster for virtual machines
CN102667714B (zh) 支持访问由操作系统环境外的资源提供的功能的方法和系统
WO2012131507A1 (en) Running a plurality of instances of an application
JP5476481B2 (ja) ノード故障の対処
KR20090081405A (ko) 파티션 유닛을 교체하는 방법 및 컴퓨터 판독가능 매체
US20130117549A1 (en) Method for executing multiple operating systems and electronic apparatus
US7395403B2 (en) Simulating partition resource allocation
US20120011350A1 (en) Controlling kernel symbol visibility and accessibility across operating system linkage spaces

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100421

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120425

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120508

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120530

RD12 Notification of acceptance of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7432

Effective date: 20120530

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20120531

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20120731

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

RD14 Notification of resignation of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7434

Effective date: 20120804

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120814

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150831

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees