JP2011509477A - コンピュータ構成の仮想トポロジの発見 - Google Patents
コンピュータ構成の仮想トポロジの発見 Download PDFInfo
- Publication number
- JP2011509477A JP2011509477A JP2010541796A JP2010541796A JP2011509477A JP 2011509477 A JP2011509477 A JP 2011509477A JP 2010541796 A JP2010541796 A JP 2010541796A JP 2010541796 A JP2010541796 A JP 2010541796A JP 2011509477 A JP2011509477 A JP 2011509477A
- Authority
- JP
- Japan
- Prior art keywords
- topology
- configuration
- cpu
- processor
- 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.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/12—Discovery or management of network topologies
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45545—Guest-host, i.e. hypervisor is an application program itself, e.g. VirtualBox
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5077—Logical partitioning of resources; Management or configuration of virtualized resources
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45566—Nested virtual machines
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Mobile Radio Communication Systems (AREA)
- Hardware Redundancy (AREA)
- Multi Processors (AREA)
- Executing Machine-Instructions (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- Stored Programmes (AREA)
- Devices For Executing Special Programs (AREA)
Abstract
【解決手段】 ホスト・プロセッサ(ホストCPU)を含む論理パーティション化されたホスト・コンピュータ・システムにおいて、ゲスト構成の1つ又は複数のゲスト・プロセッサ(ゲストCPU)のトポロジを発見するためのファシリティ及び命令が、コンピュータ構成のトポロジ情報を取得するSTORE SYSTEM INFORMATION命令をフェッチして実行するゲスト構成のゲスト・プロセッサを含む。トポロジ情報は、構成のプロセッサのネスティング情報と、ホスト・プロセッサが対応するゲスト・プロセッサに提供する専用状態の程度とを含む。情報は、好ましくは、メモリ内の単一のテーブルに格納される。
【選択図】 図23
Description
論理パーティション(LPAR)は、実際には、別個のメインフレームと等しい。
このプロセッサのタイプは、通常のオペレーティング・システム及びアプリケーション・ソフトウェアで利用可能である。
最新のメインフレームはいずれも、少なくとも一つのSAPを有し、より大きなシステムは、いくつかのSAPを有する場合がある。SAPは、内部コードを実行してI/Oサブシステムを提供する。SAPは、例えば、チャネル・パス識別子(CHPID)のデバイス番号及び実アドレス、制御ユニット・アドレス、並びにデバイス番号を変換する。SAPは、制御ユニットへの多数のパスを管理し、一時的エラーのためのエラー回復を行う。オペレーティング・システム及びアプリケーションは、SAPを検出することができず、SAPは、「通常の」メモリのいずれも使用しない。
これは、z/OS(登録商標)によってのみ用いられる、使用不可能な1つ又は2つの命令を伴う通常のプロセッサである。Linuxは、これらの命令を用いることはなく、従って、IFL上で動作することができる。Linuxは、CPによって実行することもできる。両者の違いは、システムのモデル数を特定するときにIFLはカウントされないことである。これによって、ソフトウェアのコストに実質的に違いが生じる可能性がある。
これは、オペレーティング・システム全体がプロセッサ上で動作することができないように、使用不可能な多くの機能(割り込み処理、幾つかの命令)を伴うプロセッサである。しかしながら、z/OSは、zAAPプロセッサの存在を検出することができ、Java(商標)コードを実行するためにこれらのプロセッサを用いる。同じJavaコードは、標準のCP上で実行することができる。同様に、zAAPエンジンは、システムのモデル数を特定するときにカウントされない。IFLのように、zAAPエンジンは、ソフトウェアのコストを抑制するためだけに存在する。
System z9(商標)Integrated Information Processor(zIIP)は、適用可能なデータベース作業負荷を処理することに特化したエンジンである。zIIPは、ビジネス・インテリジェンス(BI)、エンタープライズ・リソース・プラニング(ERP)及びカスタマー・リレーションシップ・マネージメント(CRM)といった、メインフレーム上の選択された作業負荷について、ソフトウェア費用を低減するのを支援するように設計されている。zIIPは、よりコスト効率よくDB2(登録商標)に直接アクセスすることを支援し、データを多数コピーする必要性を減らすことによって、企業のデータ・ハブとしてのメインフレームの役割を強化する。
これらのプロセッサは、ライセンスされた内部コードのみを実行する。これらは、通常のオペレーティング・システム又はアプリケーションには認識されない。例えば、結合ファシリティは、実際には、作業を協働する多数のシステムによって用いられる大きなメモリ・スクラッチ・パッドである。ICFは、後に結合ファシリティになるLPARに割り当てなければならない。
特徴付けられていないPUは、「スペア」として機能する。システム・コントローラが、機能しないCP又はSAPを検出した場合には、それをスペアPUと置き換えることができる。多くの場合、これは、いずれのシステムも、機能しないプロセッサ上で稼働しているアプリケーションであっても、中断することなく行うことができる。
- 「第2のレベルを稼働する」「VM下で稼働する」、又は「VM上で(の上で)稼働する」とは、ゲストとして稼働することを意味する。
多数のCPUによってアクセスされる共有ストレージは、CPUの組により近いキャッシュ内にあることが多い。したがって、キャッシュ間ストレージの使用は、より速いキャッシュ間転送を可能にする、マシン及び構成全体のうちのより小さな一部に限定される。CPU(L1)の最も近いキャッシュにストレージ場所が存在することが極めて発生しやすい。
発明の名称が「Multiprocessor for hardware emulation」であるBeausoleilらの特許文献1(米国特許第5551013号)、発明の名称が「Preprocessing of stored target routines for emulating incompatibleinstructions on a target processor」であるScalziらの特許文献2(米国特許第6009261号)、及び発明の名称が「Decoding guest instruction to directly access emulation routinesthat emulate the guest instructions」であるDavidianらの特許文献3(米国特許5574873号)、発明の名称が「Symmetrical multiprocessing bus and chipset used for coprocessorsupport allowing non-native code to run in a system」であるGorishekらの特許文献4(米国特許6308255号)、発明の名称が「Dynamic optimizing object code translator for architecture emulationand dynamic optimizing object code translation method」であるLethinらの特許文献5(米国特許6463582号)、発明の名称が「Method for emulating guest instructions on a host computer throughdynamic recompilation of host instructions」であるEric Trautの特許文献6(米国特許5790825号)、及び他の多くの特許を含むがこれらに限定されない、種々のソフトウェア及びハードウェア・エミュレーション特許は、当業者が利用可能なターゲット・マシンについて異なるマシンのためのアーキテクチャ化された命令フォーマットのエミュレーションを実現する種々の公知の方法、並びに、上述の文献によって用いられる市販のソフトウェアの技術を示す。
新たなIBM eSeriesメインフレームの出現とともに、及びそれ以前でも、マシン編成をノード構造にすることによって、不均一なメモリアクセス(NUMA)挙動(「ランピネス(lumpiness)」と呼ばれることもある)が生じていた。従来技術であるSTSI(STORE SYSTEM INFORMATION)命令の新たなSYSIB 15.1.2機能及び新たなPERFORM TOPOLOGY FUNCTION(PTF)命令の目的は、(キャッシュ-ヒット率の向上を含む)一定の最適化を行い、それにより全体の性能を改善することができるように、付加的なマシン・トポロジをプログラムに認識させることである。マルチ・プロセッシング(MP)ゲスト構成に割り当てられるホストCPUリソースの量は、一般に、構成されたゲストCPUの数に対して均等に配分されてきた。(ゲストCPUは、プログラムに提供される論理CPUであり、全てのゲストCPUは、実際のホストCPU上にパーティション化されたソフトウェア/ハードウェアによってサポートされる。) こうした均等な配分は、特定のゲストCPU(又は、複数のCPU)のいずれも、他の任意に決定されたどのゲストCPUよりもいずれかの予備のホストCPUプロビジョニングに対する権利があるわけではないことを意味する。ゲスト構成のこの条件は、この構成における全てのCPUに影響を及ぼすものであり、「水平極性(horizontalpolarization)」と呼ばれる。水平極性の下においては、ゲストCPUに対するホストCPUの割り当ては、ゲストCPUごとに概ね同量のプロビジョニングである。プロビジョニングが専用ではないときには、ゲストCPUをプロビジョニングする同じホストCPUを用いて、別のゲストのゲストCPUをプロビジョニングすることもできるし、同じゲスト構成の他のゲストCPUをプロビジョニングすることさえできる。
CPUリソースについて、2種類のスラックCPUリソースが存在する。
リモート・スラックは、構成の論理/仮想CPUが権利を有する全てのリソースを使用していないときに利用可能となり、こうしたスラックは、そのCPUの構成外で用いられる。リモート・スラックは、キャッシュにおけるヒット率が低いことが予想されるが、論理/仮想CPUを全く稼働させないよりはましである。
・高−垂直CPUは、その平均稼働率(AU)が100パーセント(100−AU)を下回るとき、スラックに寄与する。
・ホストCPUのMパーセントの割り当てプロビジョニングを有する中−垂直CPUは、その平均稼働率(AU)がMパーセント(M−AU>0)を下回るとき、スラックに寄与する。
・低−垂直CPUは、スラックに寄与しない。
・高−垂直CPUは、スラックを消費しない。
STORE SYSTEM INFORMATION命令のフォーマットの例示的な実施形態である図3は、オペコード・フィールド「B27D」と、ベース・レジスタ・フィールドB2と、符号付き置換フィールドD2とを含む。命令オペコードは、命令と関連付けられた暗黙汎用レジスタ「0」及び「1」が存在することを、その命令を実行するマシンに知らせる。アドレスは、ベース・フィールドによって特定される汎用レジスタの内容に符号付き置換フィールド値を追加することによって、第2オペランドから得られる。一実施形態においては、ベース・レジスタ・フィールドが「0」であるときには、置換フィールドの符号拡張値は、第2オペランドを特定するために直接用いられる。汎用レジスタ0における機能コードに応じて、STORE SYSTEM INFORMATION命令がフェッチされ実行されるときに、プログラムを実行する構成のレベルの識別情報が汎用レジスタ0に置かれるか、又は、構成の1つ又は複数のコンポーネントに関する情報がシステム情報ブロック(SYSIB)に格納される。1つ又は複数のコンポーネントに関する情報が要求されたときには、その情報は、汎用レジスタ0の更なる内容と、汎用レジスタ1の内容とによって、特定される。SYSIBがある場合には、SYSIBは第2オペランド・アドレスによって指定される。マシンは、1つ、2つ、又は3つのレベルの構成を提供すると考えられる。レベルは以下の通りである。
2.マシンがLPAR(論理パーティション)モードにおいて作動している場合に提供される論理パーティション。論理パーティションは、マシンの一部であるLPARハイパーバイザによって提供される。ベーシック・マシンは、マシンがLPARモードにおいて作動しているときにも存在する。
3.ベーシック・マシンによって実行されるか又は論理パーティションにおいて実行される仮想マシン(VM)制御プログラムによって提供される仮想マシン。仮想マシン自体は、レベル3構成とも見なされるより高レベルの(ベーシック・マシンからより離れた)仮想マシンを提供するVM制御プログラムを実行することができる。ベーシック・モード、LPARモード、論理パーティション、ハイパーバイザ、及び仮想マシンという用語、並びにそれらの用語に特に関連する他のいずれかの用語は、本公開において定義されず、それらの用語は、マシン・マニュアルにおいて定義される。レベル1構成(ベーシック・マシン)によって実行されているプログラムは、その構成に関する情報を要求することができる。レベル2構成(論理パーティションにおける)によって実行されているプログラムは、論理パーティション及び下層のベーシック・マシンに関する情報を要求することができる。レベル3構成(仮想マシン)によって実行されているプログラムは、仮想マシン及び1つ又は2つの下層レベルに関する情報を要求することができる。すなわち、ベーシック・マシンは常に下層にあり、論理パーティションは、ベーシック・マシンと仮想マシンとの間に存在することもあるし、存在しないこともある。仮想マシンに関する情報が要求されたときには、プログラムを実行する構成に関する情報、及び、仮想マシンの下層にあるいずれか1つ又は複数のレベルに関する情報が提供される。これらの場合のいずれにおいても、レベルが命令を実施する場合に限り、そのレベルに関する情報が提供される。
機能コード 要求される情報
0 現在の構成のレベルの数
1 レベル1に関する情報(ベーシック・マシン)
2 レベル2に関する情報(論理パーティション)
3 レベル3に関する情報(仮想マシン)
4−14 なし;コードは未使用である
15 現在の構成のレベルの情報
プログラムを実行する構成のレベルは、現在レベル(current level)と呼ばれる。ゼロ以外の機能コードによって特定される構成のレベルは、特定レベル(specified level)と呼ばれる。特定レベルの番号が現在レベルより大きいときには、機能コードは無効と呼ばれ、条件コードは3に設定され、(チェックを含む)他のアクションは行われない。
機能コードは、現在レベルの数字と等しいか又はそれより小さいときには、有効と呼ばれる。この場合には、汎用レジスタ0のビット36−55及び汎用レジスタ1のビット32−47は、ゼロ又は15でなければならず、さもなければ、指定例外(specification exception)が認識される。汎用レジスタ0及び1のビット0−31は、常に無視される。機能コードが0のときには、現在の構成のレベルを特定する符号なし2進整数(ベーシック・マシンの1、論理パーティションの2、又は仮想マシンの3)は、汎用レジスタ0のビット位置32−35に置かれ、条件コードは0に設定され、さらなるアクションは行われない。機能コードが有効で、ゼロ以外のときには、汎用レジスタ0及び1は、以下のように、要求される情報に関する追加の指定を含む。
・汎用レジスタ1のビット位置48−63は、要求される情報のタイプを特定する、セレクタ2と呼ばれる符号なし2進整数を含む。
汎用レジスタ0及び1の内容は、図4に示される。
セレクタ1 要求される情報
0 なし;セレクタは未使用である
1 機能コードによって特定される構成レベルに関する情報
2 特定される構成レベルにおける1つ又は複数のCPUに関する情報
3−255 なし;セレクタは未使用である
セレクタ1が1の
ときのセレクタ2 要求される情報
0 なし;セレクタは未使用である
1 特定される構成レベルに関する情報
2 特定される構成レベルに関するトポロジ情報
3−65,535 なし;セレクタは未使用である
セレクタ1が2の
ときのセレクタ2 要求される情報
0 なし;セレクタは未使用である
1 特定される構成レベルにおいてプログラムを実行するCPUに関 する情報
2 特定される構成レベルにおける全てのCPUに関する情報
3−65,535 なし;セレクタは未使用である
図5に示されるように、機能コード、セレクタ1、及びセレクタ2の特定の組み合わせのみが有効である。
SYSIBは、「fc」、「s1」、及び「s2」をそれぞれ機能コード、セレクタ1、及びセレクタ2の値とすると、「SYSIB fc.s1.s2」を用いて参照において識別することができる。
SYSIB 1.1.1は、図6に示されるフォーマットを有し、フィールドは以下の意味を有する。
未使用(reserved):ワード0−7、13−15、及び29−63の内容は、未使用であり、ゼロとして格納される。ワード64−1023の内容は未使用であり、ゼロとして格納するか又は不変とすることができる。
製造者(Manufacturer):ワード8−11は、構成の製造者の16文字(0−9又は大文字A−Z)EBCDIC名を含む。この名前は、必要に応じて末尾の空白を用いて左詰めされる。
タイプ:ワード12は、構成の4文字(0−9)EBCDICタイプ番号を含む。(これは、STORE CPU IDの定義においてマシンタイプ番号と呼ばれる。)
モデル・キャパシティ識別子(Model-Capacity Identifier):ワード16−19は、構成の16文字(0−9又は大文字A−Z)EBCDICモデル・キャパシティ識別子を含む。モデル・キャパシティ識別子は、必要に応じて末尾の空白を用いて左詰めされる。
連続コード(Sequence Code):ワード20−23は、構成の16文字(0−9又は大文字A−Z)EBCDIC連続コードを含む。連続コードは、必要に応じて先頭のEBCDICゼロを用いて右詰めされる。
製造プラント(Plant of Manufacture):ワード24は、構成の製造プラントを識別する4文字(0−9又は大文字A−Z)EBCDICコードを含む。コードは、必要に応じて末尾の空白を用いて左詰めされる。
モデル(Model):ワード25が2進数のゼロではないときに、ワード25−28は、構成の16文字(0−9又は大文字A-Z)EBCDICモデル識別情報を含む。モデル識別情報は、必要に応じて末尾の空白を用いて左詰めされる。(これは、STORE CPU IDのページ10−111のプログラミング・ノート4においてモデル番号と呼ばれる。) ワード25が2進数のゼロのときには、ワード16−19の内容は、モデル・キャパシティ識別子及びモデルの両方を表す。
1.SYSIB 1.1.1のフィールドは、刊行物 Common I/O-Device Commands and Self Descriptionに記載されるノード記述子のフィールドと類似している。しかしながら、SYSIBフィールドの内容は、SYSIBフィールドが、
・より多くの文字を許容する
・許容される文字のタイプに関して、より融通性がある
・フィールド内部で異なって揃えられる情報を提供する
・連続コード・フィールドのようなフィールドの内容を決定するために同一の方法を用いることができない
という理由により、対応するノード記述子フィールドの内容と同一ではない場合がある。
2.ノード記述子におけるモデル・フィールドは、STSIモデル・フィールドの内容に対応し、STSIモデル・キャパシティ識別子フィールドには対応しない。
3.モデル・フィールドは、マシンのモデル(即ち、物理モデル)を特定し、モデル・キャパシティ識別子フィールドは、モデルについてのシステム・ライブラリのパブリケーションにキャパシティ又は性能の命令文を配置するのに用いることができるトークンを特定する。
SYSIB 1.2.1は、図7に示されるフォーマットを有し、フィールドは以下の意味を有する。
未使用:ワード0−19、ワード25のバイト0及び1、並びに26−63の内容は、未使用であり、ゼロとして格納される。ワード64−1023の内容は、未使用であり、ゼロとして格納するか又は不変することができる。
連続コード:ワード20−23は、構成の16文字(0-9又は大文字A-Z)EBCDIC連続コードを含む。コードは、必要に応じて先頭のEBCDICゼロを用いて右詰めされる。
製造プラント:ワード24は、構成の製造プラントを識別する4文字(0-9又は大文字A-Z)EBCDICコードを含む。コードは、必要に応じて末尾の空白を用いて左詰めされる。
CPUアドレス:ワード25のバイト2及び3はCPUアドレスを含み、そのアドレスによって、このCPUがマルチ・プロセッシング構成において識別される。CPUアドレスは、16ビット符号なし2進整数である。CPUアドレスは、プログラムがベーシック・モードで動作しているマシンによって実行されるときにSTORE CPU ADDRESSによって格納されるものと同一である。
同一の構成における多数のCPUは、同一の連続コードを有しており、固有のCPU識別を確立するために、CPUアドレスのような他の情報を用いることが必要である。ベーシック・マシンCPU及び論理パーティションCPUについて戻される連続コードは、同一であり、ベーシック・マシン構成について戻される連続コードと同一の値を有する。
ワード0のバイト0におけるフォーマット・フィールドは、SYSIBのフォーマットを決定する。フォーマット・フィールドがゼロの値を持つときには、SYSIB 1.2.2は、図8に示されるようなフォーマット−0レイアウトを有する。フォーマット・フィールドが1の値を持つときには、SYSIB 1.2.2は、図9に示されるようなフォーマット−1レイアウトを有する。
フォーマット・フィールドがゼロの値を含むとき、ワード0及びワード1−6のバイト1−3の内容は、未使用であり、ゼロとして格納される。フォーマット・フィールドが1の値を含むとき、ワード0及びワード1−6のバイト1の内容は、未使用であり、ゼロとして格納される。全てのCPUについての情報を含むために64ワードより少ないワードで十分であるときには、フォーマット−0 SYSIBにおける調整因子リストに続くワード63までのSYSIBの部分、又は、フォーマット−1 SYSIBにおける代替調整因子リストに続くワード63までのSYSIBの部分は、未使用であり、ゼロとして格納される。ワード64−1023の内容は、未使用であり、ゼロとして格納するか又は不変とすることができる。全てのCPUについての情報を含むために64ワード又はそれ以上のワードが必要なときには、フォーマット−0 SYSIBにおける調整因子リストに続くワード1023までのSYSIBの部分、又は、フォーマット−1 SYSIBにおける代替調整因子リストに続くワード1023までのSYSIBの部分は、未使用であり、ゼロとして格納するか又は不変とすることができる。
ワード0のバイト0は、SYSIB 1.2.2のフォーマットを特定する8ビット符号なし2進整数を含む。
フォーマット・フィールドが1の値を持つとき、ワード0のバイト2−3は、SYSIBにおける代替CPU能力フィールドのバイトのオフセットを特定する16ビット符号なし2進整数を含む。
ワード7は、ゼロではないときに構成における特定のタイプのCPUに適用することができる第2の能力を特定する、32ビット符号なし2進整数を含む。この整数を生成するのに用いられるアルゴリズムの公式的な記述は、CPU能力を生成するのに用いられるアルゴリズムと同一ものを除いて存在しない。この整数は、他のCPUモデルの能力及びモデル内の他のCPUタイプの能力と比較した、CPUの能力の指標として用いられる。能力の値は、構成における1つ又は複数の適用可能なCPUタイプのCPUの各々に適用する。すなわち、適用可能な1つ又は複数のタイプの構成における全てのCPUは、同一の能力を有する。値がゼロのときには、構成におけるいずれかのCPUタイプの全てのCPUは、CPU能力によって特定される能力と同一の能力を有する。第2のCPU能力は、CPU能力の値と同一の値の場合もあるし、そうでない場合もある。マルチ・プロセッシングCPU能力調整因子は、能力が第2のCPU能力によって特定されるCPUにも適用される。
ワード8のビット0−8がゼロの場合には、ワードは、構成におけるCPUの1つの能力を特定する範囲0<I<223の32ビット符号なし2進整数(I)を含む。ワード8のビット0−8がゼロ以外の場合には、ワードは、32ビット符号なし2進整数の代わりに、32ビット2進浮動小数点ショート・フォーマット数を含む。符号化に関わらず、より低い値は、比例的により高いCPU能力を示す。その上、この値を生成するのに用いられるアルゴリズムの公式的な記述は存在しない。値は、他のCPUモデルの能力と比較したCPUの能力の指標として用いられる。能力の値は、構成における第2のCPU以外の各々に適用される。すなわち、構成における第2のCPU以外の全ては、同一の能力を有する。
ワード9のバイト0及び1は、構成におけるCPUの全数を特定する16ビット符号なし2進整数を含む。この数は、構成状態(configured state)、待機状態(standby state)、又は未使用状態(reserved state)にある全てのCPUを含む。
ワード9のバイト2及び3は、構成状態にあるCPUの数を特定する16ビット符号なし2進整数を含む。CPUは、構成内に存在し、プログラムを実行するのに用いることが可能であるとき、構成状態にある。
ワード10のバイト0及び1は、待機状態にあるCPUの数を限定する16ビット符号なし2進整数を含む。CPUは、構成内にあり、プログラムを実行するのに用いられることができず、構成状態にする命令を発行することによって利用可能にすることができるときには、待機状態にある。
ワード10のバイト2及び3は、未使用状態にあるCPUの数を特定する16ビット符号なし2進整数を含む。CPUは、構成内にあり、プログラムを実行するのに用いられることができず、構成状態にする命令を発行することによって利用可能にすることができないときには、未使用状態にある。(マニュアル動作によって未使用CPUを待機状態又は構成状態にすることが可能である)
SYSIBは、ワード11のバイト0及び1で始まり、一連の連続する2バイト・フィールドを含み、各々のフィールドは、CPU能力フィールドに含まれる値についての調整因子(分数)を形成するのに用いられる16ビット符号なし2進整数を含む。そのような分数は、以下の方法の一つに従って、最初の2バイト・フィールドの値(V)を用いることによって作られる。
・Vが0<V≦100の範囲にある場合には、分母100が示され、分数V/100を生成する。
・Vが101≦V<255の範囲にある場合には、分母255が示され、分数V/255を生成する。
・Vが255≦V≦65,536の範囲にある場合には、分母65,536が示され、分数V/65,536を生成する。
フォーマット・フィールドが値1を有するとき、ワードNのビット0-8がゼロの場合には、ワードは、構成におけるCPUの一つの公表された能力を特定する0≦I<223の範囲の32ビット符号なし2進整数(I)を含む。ワードNのビット0-8がゼロ以外の場合には、ワードは、32ビット符号なし2進整数の代わりに、32ビット2進浮動小数点ショート・フォーマット数を含む。符号化に関わらず、より低い値は、比例的により高いCPU能力を示す。その上、この値を生成するのに用いられるアルゴリズムの公式的な記述は存在しない。値は、他のCPUモデルの公表された能力と比較した、CPUの公表された能力の指標として用いられる。代替能力の値は、構成におけるCPUの各々に適用する。すなわち、構成における全てのCPUは、同一の代替能力を有する。
SYSIBは、ワードN+1のバイト0及び1で始まり、一連の連続する2バイト・フィールドを含み、各々のフィールドは、代替CPU能力フィールドに含まれる値についての調整因子(分数)を形成するのに用いられる16ビット符号なし2進整数を含む。そのような分数は、以下の方法の一つに従って、最初の2バイト・フィールドの値(V)を用いることによって作られる。
・Vが0<V≦100の範囲にある場合には、分母100が示され、分数V/100を生成する。
・Vが101≦V<255の範囲にある場合には、分母255が示され、分数V/255を生成する。
Vが255≦V≦65,536の範囲にある場合には、分母65,536が示され、分数V/65,536が生成される。
SYSIB 15.1.2は、図10に示されるフォーマットを有する。フィールドは、以下の意味を有する。
未使用:ワード0のバイト0-1、ワード2のバイト2、及びワード3の内容は、未使用であり、ゼロとして格納される。ワードN-1023の内容は未使用であり、ゼロとして格納するか又は不変とすることができる。
長さ:ワード0のバイト2-3は、16ビット符号なし2進整数を含み、その値は、SYSIB 15.1.2全体のバイトのカウントである。トポロジ・リストのみの長さは、ワード0のバイト2−3における長さの値から16を引くことによって求められる。図10におけるNは、式N=長さ/4の値を求めることによって決定される。
Mag1-6: ワード及びワードのバイト0-1は、6つの1バイト・フィールドを構成し、各々のバイトの内容は、対応するネスティング・レベルにおけるコンテナ・タイプ・トポロジ・リスト・エントリ(TLE)又はCPUタイプTLEの最大数を示す。CPUタイプTLEは、常に、Mag1レベルのみにおいてみられる。さらに、Mag1の値は、Mag2レベルのコンテナ・タイプTLEによって表すことができるCPUの最大数も特定する。ネスティング・レベルの値が1より大きいときには、Mag1レベルより上の含んでいるネスティング・レベルは、コンテナ・タイプTLEのみによって占有される。トポロジの動的変更によって、Mag1レベルにおけるTLEの数とCPUの数とが変わることがあるが、Mag1-6フィールドの値によって表される上限は、マシンのモデル・ファミリー内で変化しない。
MNestの値は、可能な最大のネスティングである。いかなる動的構成変更も、この上限を越えない。
ネスティング・レベル(NL):ワード0のバイト0は、TLEのネスティング・レベルを特定する。
NL 意味
────────────────────────────────────────
0 TLEはCPUタイプTLEである。
1−5 TLEはコンテナ・タイプTLEである。トポロジ・リスト又は親コンテナ(parentcontainer)に格納された第1のコンテナ・タイプTLEは、1−255の範囲においてコンテナIDを有する。同じ親コンテナの中に兄弟コンテナ(sibling container)が存在する場合には、それらのコンテナは、連続する場合もしない場合もあるコンテナIDの昇順に最大値255まで進む。
06−FF 未使用
コンテナ・タイプTLEのワード1のバイトは、ゼロ以外の8ビット符号なし2進整数を特定し、その値は、コンテナの識別子である。TLEについてのコンテナIDは、同一の親コンテナ内部で一意である。
CPUタイプTLEのワード1のビット5は、1のとき、TLEによって表される1つ又は複数のCPUが専用であることを示す。Dがゼロのときには、TLEの1つ又は複数のCPUは専用ではない。
CPUタイプTLEのワード1のビット6−7は、極性の値を特定し、極性が垂直のときには、TLEによって表される対応する1つ又は複数のCPUの権利(高、中、低)とも呼ばれる垂直極性の程度を特定する。以下の値が用いられる。
PP 意味
0 TLEにより表される1つ又は複数のCPUは水平極性である。
1 TLEにより表される1つ又は複数のCPUは垂直極性である。権利は低である。
2 TLEにより表される1つ又は複数のCPUは垂直極性である。権利は中である。
3 TLEにより表される1つ又は複数のCPUは垂直極性である。権利は高である。
CPUタイプTLEのワード1のバイト1は、8ビット符号なし2進整数を特定し、その値は、TLEによって表される1つ又は複数のCPUのCPUタイプである。CPUタイプの値は、一次CPUタイプ、又は、可能な二次CPUタイプのうちのいずれか1つのどちらか一方を特定する。
CPUタイプTLEのワード1のバイト2−3は、16ビット符号なし2進整数を特定し、その値は、CPUマスクによって表されるCPUの範囲における最初のCPUのCPUアドレスであり、その存在は、CPUマスクにおけるビット位置0の値によって表される。CPUアドレス起点は、64で均等に分けられる。CPUアドレス起点の値は、CPUマスクにおけるビット位置0によって表されるCPU上で実行されたときにSTORE CPU ADDRESS(STAP)命令によって格納される値と同一である。
CPUタイプTLEのワード2-3は、各々のビット位置がCPUを表す64ビット・マスクを特定する。CPUアドレス起点フィールドの値と、CPUマスクにおけるビット位置とを加えたものは、対応するCPUについてのCPUアドレスと等しい。CPUマスク・ビットがゼロのときには、対応するCPUはTLEによって表されない。CPUは、構成に存在しないか、又は、別のCPUタイプTLEによって表されなければならない。CPUマスク・ビットが1のときには、対応するCPUは、TLEによって特定される修飾子属性値を有し、構成のトポロジに存在しており、トポロジの他のいずれのTLEにも存在しない。
CPUタイプTLEに適用される修飾子の属性は、CPUタイプ、極性、権利、及び専用状態である。極性及び(垂直極性の場合の)権利は、4つの可能な値(水平、垂直−高、垂直−中、及び垂直−低)を持つが、単一の属性と見なされる。
1.CPUタイプ
a.最も低いCPUタイプ値
b.最も高いCPUタイプ値
2.極性−権利
a.垂直高
b.垂直中
c.垂直低
d.水平
3.専用(適用可能の場合)
a.専用
b.非専用
1.最低CPUタイプ値のCPU-TLEセット,垂直高,専用
2.最低CPUタイプ値のCPU-TLEセット,垂直高,非専用
3.最低CPUタイプ値のCPU-TLEセット,垂直中,非専用
4.最低CPUタイプ値のCPU-TLEセット,垂直低,非専用
5.最低CPUタイプ値のCPU-TLEセット,水平,専用
6.最低CPUタイプ値のCPU-TLEセット,水平,非専用
7.最高CPUタイプ値のCPU-TLEセット,垂直高,専用
8.最高CPUタイプ値のCPU-TLEセット,垂直高,非専用
9.最高CPUタイプ値のCPU-TLEセット,垂直中,非専用
10.最高CPUタイプ値のCPU-TLEセット,垂直低,非専用
11.最高CPUタイプ値のCPU-TLEセット,水平,専用
12.最高CPUタイプ値のCPU-TLEセット,水平,非専用
コンテナ・タイプTLEは、1-5の範囲のネスティング・レベルに位置する。
CPUタイプTLEは、ネスティング・レベル0に位置する。
TLEがコンテナ・タイプTLEである場合には、その内容は、1つ又は複数の子TLEを含む親TLEに直接続くリストであり、各々の子TELは、親TLE又はトポロジ・リストの最後のネスティング・レベルより1少ないネスティング・レベルを有する。TLEがCPUタイプTLEの場合には、その内容は、CPU TLEの他のフィールドによって識別される1つ又は複数のCPUである。
トポロジ・リストの可能な検査プロセスを説明する。トポロジ・リストの検査が開始される前に、現行TLE(currnetTLE)ポインタが、トポロジ・リストの最初すなわち一番上のTLEを参照するように初期化され、先行TLE(priorTLE)ポインタがヌルに初期化され、上から下の順にTLEが検査される。
1.現行TLEのネスティング・レベルがゼロであり、先行TLEのネスティング・レベルがヌル又は1である場合には、現行TLEは、1つ又は複数のCPUタイプTLEのグループのうち第1のCPUタイプTLEを表す。プログラムは、1つ又は複数のCPUの新しいグループが最初に見つかったときに適したいかなるアクションも行うべきである。ステップ5に進む。
除外することによって、これは、現行TLEのネスティング・レベルがゼロではなく、先行TLEのネスティング・レベルがゼロでない場合である。現行TLEのネスティング・レベルが先行TLEのネスティング・レベルより小さい場合には、トポロジ・リスト・トラバーサルの方向は、CPUタイプTLEに向かう方向である。現行TLEのネスティング・レベルが先行TLEのネスティング・レベルより大きい場合には、トポロジ・リスト・トラバーサルの方向は、CPUタイプTLEから離れる方向である。コンテナ・タイプTLEは、トラバースされ、以下のいずれか、すなわち、(1)トポロジ全体における別個のグループであるCPUタイプの別のグループ、又は、(2)トポロジ・リストの最後、に至る。いずれの場合においても、次のTLEに進む以外には、特定の処理は必要とされない。
a.いずれのタイプのTLEもそれ以上存在しない。
b.先行TLEのネスティング・レベルがゼロの場合には、プログラムは、1つ又は複数のCPUの既存のグループが完了したときに適したいかなるアクションも行うべきである。
c.検査は完了する。
そうでなければ、ステップ1に進む。
Mag2フィールドは、2つの第2レベル(モジュール)のコンテナが利用可能であることを示す2に設定される。
Mag3フィールドは、2つの第3レベル(ボード)が利用可能であることを示す2に設定される。
Mag4フィールドは、2つの第4レベル(フレーム)が利用可能であることを示す2に設定される。
1.NL=1;CtnrID=1(コンテナ6)
2.NL=0;CPUタイプ=1(CPUのタイプ);CPU Addr Origin =0;CPU Mask 0......11(アドレス指定されたCPUのうちのCPU1及びCPU2)
3.NL=1;CtnrID=2(コンテナ7)
4.NL=0;CPUタイプ=1(CPUのタイプ);CPU Addr Origin =4;CPU Mask 0......10(アドレス指定されたCPUのうちのCPU3)
このように、プログラムは、コンテナ及び戻されたCPU TLEに基づく物理トポロジの表現を有する
図13を参照すると、PERFORM TOPOLOGY FUNCTION(PTF)命令は、好ましくは、オペコードと、第1オペランドを識別するレジスタ・フィールド R1とを含む。R1によって識別される汎用レジスタの内容は、図14に示されるように、ビット位置56-63における機能コードを特定する。
FC 意味
0 水平極性を要求する
1 垂直極性を要求する
2 トポロジ変更の状態をチェックする
0-255の範囲において定義されていない機能コードは、将来の拡張のために未使用とされる。
実行は、以下の理由及び(理由コード)のいずれかについての条件コードを伴って終了する。
特定される理由なし(0)
要求している構成はすでに水平極性である(1)
トポロジ変更がすでに進行中である(2)
それ以外の場合には、構成における全てのCPUが水平極性に置かれるようにプロセスが開始される。
プロセスの終了は、命令の実行とは非同期であり、命令の実行が終了したときに終了する場合もあるし、終了しない場合もある。
0 トポロジ変更の開始
1 −
2 要求拒否
3 −
実行は、以下の理由及び(理由コード)のいずれかについての条件コード2を伴って終了する。
特定される理由なし(0)
要求している構成はすでに垂直極性である(1)
トポロジ変更がすでに進行中である(2)
それ以外の場合には、構成における全てのCPUが垂直極性に置かれるようにプロセスが開始される。プロセスの終了は、命令の実行とは非同期であり、命令の実行が終了したときに終了する場合もあるし、終了しない場合もある。
0 トポロジ変更の開始
1 −
2 要求拒否
3 −
トポロジ変更報告保留条件(topology-change-report-pendingcondition)がチェックされ、命令は、条件コードの組を伴って終了する。
0 トポロジ変更報告非保留トポロジ
1 変更報告保留
2 -
3 -
SYSIB 15.1.2についてのSTORE SYSTEM INFORMATIONの実行が、構成におけるいずれかのCPUによって成功する。
サブシステムのリセットが行われる。
汎用レジスタR1のビット位置0−55がゼロの場合には、指定例外が認識される。定義されていない機能コードが特定された場合には、指定例外が認識される。
動作(構成トポロジ・ファシリティがインストールされていない)
特権的動作
仕様
ハイエンド・サーバ・アーキテクチャが物理プロセッサの数を増やし、プロセッサ速度が上がり続けるにつれて、大きなマシンを構築するのに必要なプロセッサの「ネスト」は、本来はよりノード的である、より小さな構成単位から作られ続ける。例えば、z990又はz9マシンのL2キャッシュは、完全なキャッシュ・コヒーレントである一方、完全実装モデル(fully populated model)は、実際には、単一のL2キャッシュに見えるようにファブリックによって接続された4つの(4)別個のL2を有する。キャッシュ・ミスを解決するためにノードの使用を停止する不利益は増大し続ける。例えば、リモートL2におけるL1ミスを解決することは、ローカルL2におけるL1ミスを解決することに比べて、より費用がかかる。通常はチップ上のCPのプライベートにおいてミスが発生すると、L1キャッシュで開始するのは費用がかかり、わざわざメモリまで行かなけらばならないことは、永遠にも思えることがある。メモリの速度及びメモリへの接続の増加は、プロセッサ速度の増加に対応しない。全てを近づけて「チップ上」などに一緒にパックしよう試みることが求められているが、電力消費及び冷却の問題がこれに逆行する。
・論理パーティション・ノード・トポロジについての基盤を確立する
・有効なトポロジを提供するのに必要な既存の水平パーティションについて、LPARのノード割り当てアルゴリズムに必要ないずれかの変更を行う
・論理パーティション・ノード・トポロジを論理パーティションに与えるSTORE SYSTEM INFORMATION(STSI)命令のための新たな構成トポロジ情報ブロックについて命令シミュレーションを行う
・トポロジ変更が必要かどうかを判断するために、物理又は論理構成の変更を検査する。これらは以下のときに行われる。
・物理CPが構成に加えらるか又は構成から除かれる
・論理CPが構成に加えらるか又は構成から除かれる
・論理パーティションがアクティブにされる
・論理パーティションが非アクティブにされる
・論理パーティションの重みがHMC/SEから変更される
・論理パーティションの重みを変更するソフトウェアが起動する
・論理パーティションがリセットされる(水平に切り替わる)
・論理パーティションがESA/390モードに切り替わる(水平に切り替わる)
トポロジは、論理パーティションが最初にアクティブにされたときに論理パーティションに割り当てられなければならず、論理パーティションに割り当てられたノード・トポロジのいずれかの変更は、論理パーティションに通知されなければならない。ノード・トポロジの結果は、構成の変更が行われたときに新たなSTSI処理並びに制限処理によるより簡単なクエリをできるだけ可能にするように、適当な新しいデータ構造に保持されなければならない。この新たな構造は、トポロジの矛盾するビューを論理パーティションにもたらすことなく、ステップごとに必要なシリアライゼーションを伴う多数のステップにおいて終了するトポロジ変更処理も可能にする。
どのように論理トポロジが選択されるかということは、本開示にとって重要ではない。各々のタイプの論理プロセッサがいくつ必要とされるか、及び、それらがどのノード又はブックに割り当てられる必要があるかという判断が行われなければならないと言うにとどめておく。垂直モード・パーティションの場合には、これは、プロセッサ・タイプごとの垂直高プロセッサ、垂直中プロセッサ、及び垂直低プロセッサのカウントを意味する。
上述のカウントが求められると、CPタイプのうち最も低いオンライン論理CPアドレスから最も高いものに向かって、(1)全て垂直高、(2)全て垂直中、及び(3)全て垂直低の順序で、垂直割り当てが行われる。これが行われる順序は任意であり、他の選択順序も可能である。
15.1.2応答をマッピングするために3つの構造を追加する。
1.STSI 15.1.2についてのマッピング、トポロジをマッピングする応答ブロック
Dcl 1 syibk1512 char(4096) based (*),
3 * char(2),
3 syibk1512_length fixed(16), length
3 syibk1512_mag6 fixed(8), 6th level nest
3 syibk1512_mag5 fixed(8), 5th
3 syibk1512_mag4 fixed(8), 4th
3 syibk1512_mag3 fixed(8), 3rd
3 syibk1512_mag2 fixed(8), 2nd, nodes
3 syibk1512_mag1 fixed(8), 1st, cpus
3 * char(1),
3 syibk1512_mnest fixed(8), nesting level
3 * char(4),
3 syibk1512_topology_list char(0); topology list
Dcl 1 syibk_vcm_container char(8) based(*),
3 syibknl fixed(8) nesting level
3 * char(3),
3 * char(1),
3 * char(2),
3 syibk_container_id fixed(8); node id
Dcl 1 syibk_vcm_cpu char(16) based(*),
3 syibknl2 fixed(8), nesting level
3 * char(3),
3 syibk_ded_polarization bit(8), vcm byte
5 * bit(5),
5 syibk_dedicated bit(1), dedicated bit
5 syibk_polarization bit(2), polarization bits
3 syibk_cputype fixed(8), cpu type
3 syibk_cpuaddrorg fixed(16), address origin
3 syibk_cpumask bit(64); cpu mask entry
論理パーティションのトポロジのサマリは、ノード割り当てルーチンによってこのブロックにおいて新しい状態に保たれる。このブロック内のデータは、STSI処理が、プログラムへの論理パーティション・トポロジ応答を生成するために構造全体の1つのパスを作り、アーキテクチャによって要求されるとおりにCPUエントリの順序及び分離を保存するように、順序付けられる。
DECLARE
1 TOPBKBASED BDY(DWORD),
3 TOP_CURRENT ,
5TOPCPUMASK(1:MAXNODE, /* 1−4ノードの各々
*/
0:CPUTMAX, /* CPタイプのインデックス
*/
0:3) /* 論理パーティションが垂直のときの4つの可能なトポロジ分類。パーティションが水平のときには2つの分類のみである。
*/
BIT(64), /* この分類に入る論理CPUのマスク
*/
3 TOP_WORKING CHAR(LENGTH(TOP_CURRENT)); /* 新たなトポロジを構築するための作業領域
*/
これらの「一定の」変換テーブルは、(TOPBKによってマッピングされた)トポロジを構築するノード割り当てルーチンと、トポロジを読み出すSTSI処理とによって、用いられる。
/****************************/
/* STSI変換アレイ: */
/****************************/
DECLARE
1TOPVERT(0:3) BIT(8) /* 垂直パーティションの場合には、分類インデックスを、STSIデータにおけるCPのこのグループについて戻されるアーキテクチャ化されたD(専用状態)及びPP(極性)に変換する
*/
STATIC INIT('00000'b||'1'b||PPVH,/* 分類0:専用、垂直高 */
'00000'b||'0'b||PPVH, /*分類1:共有、垂直高 */
'00000'b||'0'b||PPVM, /*分類2:共有、垂直中 */
'00000'b||'0'b||PPVL), /*分類2:共有、垂直低 */
3* BIT(5), /* 不使用、ビット・アレイのためのバイト整列を要する*/
3TOPDPP BIT(3), /* 用いる実際のD、PP値*/
1TOPHOR(0:1) BIT(8) /* 水平パーティションの場合には、分類インデックスを、STSIデータにおけるCPのこのグループについて戻されるアーキテクチャ化されたD(専用状態)及びPP(極性)に変換する。水平極性の場合は最初の2つの分類のみを用いることができることに留意。
*/
STATIC INIT('00000'b||'1'b||PPH,/*分類0:専用、水平 */
'00000'b||'0'b||PPH), /*分類1:共有、水平*/
3 *BIT(5), /*不使用、ビット・アレイのためのバイト整列を要する*/
3 TOPDPP BIT(3),/*用いる実際のD、PP値*/
/* NDI変換アレイ */
/*************************/
1TOPDPP2CLASS(0:7) FIXED /* トポロジ情報を生成するためにノード割り当てルーチンによって用いられる。LPDPPは、論理CPがどの分類インデックスを用いるべきか判断するために、このアレイ内のインデックスとして用いられる。この1つのアレイは、水平パーティション及び垂直パーティションの両方に用いられる。*/
STATIC INIT(1,/* 共有、水平*/
3, /* 共有、垂直低*/
2, /* 共有、垂直中*/
1, /* 共有、垂直高*/
0, /* 専用、水平*/
0, /* 不適用*/
0, /* 不適用*/
0), /* 専用、垂直高*/
3 * CHAR(4); /* 強制的に非単純項目になる */
各々の論理プロセッサについてパーティション極性の2ビット符号化を追跡して、その極性を反映することができる。専用の1ビット表示を用いてこれをグループ分けすることによって、論理プロセッサについて3ビットの完全な極性図が可能になる。
・・・・・
3 LPDPP BIT(3), /*極性,専用状態を含む */
4 LPDED BIT(1), /* =1、論理CPは専用である*/
4 LPPP BIT(2), /* プロセッサ極性 */
・・・・・
/* プロセッサ極性のための符号化 */
PPHBIT(2) CONSTANT(‘00’B), /* 水平極性 */
PPVLBIT(2) CONSTANT(‘01’B), /* 垂直極性−低 */
PPVMBIT(2) CONSTANT(‘10’B), /* 垂直極性−中 */
PPVHBIT(2) CONSTANT(‘11’B), /* 垂直極性−高 */
CPUトポロジ・マスクのローカル・コピーをクリア
DO ターゲット論理パーティションにおける全ての論理CPについて
IF 論理CPがオンライン THEN
DO
極性インデックス = 極性インデックス・アレイへの極性値の変換に応じて論理CP極性値に適した極性インデックス
CPUトポロジ・マスク(CPUアドレス、ノード、CPタイプ、極性インデックス)のローカル・コピー = ON
END
END
IF 新たなトポロジ・ブロック NOT= パーティションについてのカレント・トポロジ・ブロック THEN
トポロジ変更報告を設定し、新たなトポロジをカレントにコピー
STSI 15.1.2応答ブロックのためのsyibkマッピング内に、コンテナ・タイプTLE及びCPUタイプTLEが加えられた。原則として、データは、最も低いレベルにおけるエントリがCPUタイプTLEである1つ又は複数のコンテナで戻されなければならない。これは、論理パーティションのリソースがどのように小分割又は割り当てされたかに基づいて、アレイのうちの1つのアレイとして考えることができる。好ましい実施形態の場合には、各々のコンテナは、原則的にネスティング・レベル1を有するノードであり、各々がネスティング・レベル0を有する1つ又は複数のCPUタイプTLEを含む。CPU TLEは、CPUタイプによって順序付けられ、次にそれらの分類によって順序付けられる。垂直パーティションは4つの分類(垂直専用、垂直高共有、垂直中共有、及び、垂直小共有)を有し、水平パーティションは2つの分類(専用及び共有)を有する。
現在の実施形態の場合には、最大4つのノード及び64のプロセッサが仮定される。
topbkにおける分類0は垂直専用であり、PPに11を格納し、Dに1を格納する
topbkにおける分類1は垂直高共有であり、PPに11を格納し、Dに0を格納する
topbkにおける分類2は垂直中共有であり、PPに10を格納し、Dに0を格納する
topbkにおける分類3は垂直低共有であり、PPに01を格納し、Dに0を格納する
topbkにおける分類0は水平専用であり、PPに00を格納し、Dに1を格納する
topbkにおける分類1は水平共有であり、PPに00を格納し、Dに0を格納する
1.次の値はCPUアドレス起点である。この値は、64が現在の実施形態において利用可能なCPUの最大数であるので、明示的に0として格納される。
2.syibk_vcm_cpuにおける最後の値は、TOPCPUMASKアレイのネストされたアレイに格納されるゼロではない64ビット・マスクである、CPUマスクである。
3.ノード内の最初のゼロではないビット・マスクに続く各々のゼロ以外のマスクについて、別個のCPUタイプTLEエントリを生成し、このプロセスを4つのノード全てについて繰り返す。
構成−トポロジ・ファシリティがインストールされて使用可能にされ(ECB.7は1である)、ゲストCPUについてのSCAアドレスがゼロ以外の場合には、ビット位置0を用いて、構成についてのトポロジ変更報告保留条件を記憶する。トポロジ変更報告保留のリセット状態はゼロである。
Claims (24)
- ホスト・プロセッサ(ホストCPU)を含む論理パーティション化されたホスト・コンピュータ・システムにおいて、ゲスト構成の1つ又は複数のゲスト・プロセッサ(ゲストCPU)のトポロジを発見するための方法であって、
ゲスト構成のゲスト・プロセッサが、実行するために、コンピュータ・アーキテクチャのために定められたSTORE SYSTEM INFORMATION命令をフェッチするステップと、
前記STORE SYSTEM INFORMATION命令を実行するステップであって、
前記STORE SYSTEM INFORMATION命令のトポロジ情報要求に基づいて、コンピュータ構成のプロセッサのネスティング情報を含む、前記コンピュータ構成のトポロジ情報を取得することと、
前記トポロジ情報を構成トポロジ・テーブルに格納することと、
を含む、当該ステップと、
を含む方法。 - 前記トポロジ情報は、ゲスト・プロセッサの識別情報と、前記ゲスト・プロセッサをプロビジョニングする前記ホスト・プロセッサの前記トポロジと関連するネスティング・レベルとを含む、請求項1に記載の方法。
- 前記トポロジ情報は、ゲスト構成のゲスト・プロセッサに関する情報と、前記ゲスト構成をプロビジョニングする前記ホスト・プロセッサの前記トポロジと関連するネスティング・レベルとを含む、請求項2に記載の方法。
- 前記構成トポロジ・テーブルは、プロセッサのうち同様の属性を持つネストされたプロセッサの各々のグループについてのトポロジ・リスト・プロセッサ・エントリを含む、請求項3に記載の方法。
- 前記トポロジ・リスト・プロセッサ・エントリは、ネストされたプロセッサの前記グループのプロセッサが論理パーティションのゲスト構成に専用化されている程度を示す標識子を更に含む、請求項4に記載の方法。
- 前記構成トポロジ・テーブルは、前記ネストされたプロセッサを有する1つ又は複数のネスティング・レベルの階層について各々のネスティング・レベルのトポロジ・リスト・コンテナ・エントリを更に含む、請求項5に記載の方法。
- 前記STORE SYSTEM INFORMATION命令は、オペコード・フィールドと、ベース・レジスタ・フィールドと、符号付き置換フィールドとを含み、トポロジ発見命令は、機能コード・フィールド及びセレクタ−1フィールドを含む第1の暗黙汎用レジスタと、セレクタ−2フィールドを含む第2の暗黙汎用レジスタとをさらに含み、前記機能コード・フィールドは、前記トポロジ情報要求を特定し、前記ベース・レジスタ・フィールド及び前記符号付き置換フィールドは、前記構成トポロジ・テーブルを含むシステム情報ブロック(SYSIB)のメモリ内の場所を特定し、前記セレクタ−1フィールド及び前記セレクタ−2フィールドの値の組み合わせが、実行される前記トポロジ情報要求を決定する、請求項1に記載の方法。
- 前記コンピュータ・アーキテクチャについて定められた前記STORE SYSTEM INFORMATION命令は、代替コンピュータ・アーキテクチャの中央処理ユニットによってフェッチされて実行され、
前記STORE SYSTEM INFORMATION命令の動作をエミュレートする所定のソフトウェア・ルーチンを特定するために、前記STORE SYSTEM INFORMATION命令を翻訳するステップをさらに含み、
前記STORE SYSTEM INFORMATION命令を実行する前記ステップは、前記STORE SYSTEM INFORMATION命令を実行する前記方法のステップを行うために前記所定のソフトウェア・ルーチンを実行することを含む、
請求項1に記載の方法。 - ホスト・プロセッサ(ホストCPU)を含む論理パーティション化されたホスト・コンピュータ・システムにおいて、ゲスト構成の1つ又は複数のゲスト・プロセッサ(ゲストCPU)のトポロジを発見するためのコンピュータ・プログラム製品であって、前記コンピュータ・プログラム製品は、処理回路によって読み取り可能な、方法を実施するために前記処理回路によって実行される命令を格納する有形のストレージ媒体を含み、前記方法は、
ゲスト構成のゲスト・プロセッサが、実行するために、コンピュータ・アーキテクチャのために定められたSTORE SYSTEM INFORMATION命令をフェッチするステップと、
前記STORE SYSTEM INFORMATION命令を実行するステップであって、
前記STORE SYSTEM INFORMATION命令のトポロジ情報要求に基づいて、コンピュータ構成のプロセッサのネスティング情報を含む、前記コンピュータ構成のトポロジ情報を取得することと、
前記トポロジ情報を構成トポロジ・テーブルに格納することと、
を含む、当該ステップと、
を含む、コンピュータ・プログラム製品。 - 前記トポロジ情報は、ゲスト・プロセッサの識別情報と、前記ゲスト・プロセッサをプロビジョニングする前記ホスト・プロセッサの前記トポロジと関連するネスティング・レベルとを含む、請求項9に記載のコンピュータ・プログラム製品。
- 前記トポロジ情報は、ゲスト構成のゲスト・プロセッサに関する情報と、前記ゲスト構成のゲスト・プロセッサをプロビジョニングする前記ホスト・プロセッサの前記トポロジと関連するネスティング・レベルとを含む、請求項10に記載のコンピュータ・プログラム製品。
- 前記構成トポロジ・テーブルは、プロセッサのうちのネスト化されたプロセッサの各々のグループについてのトポロジ・リスト・プロセッサ・エントリを含む、請求項11に記載のコンピュータ・プログラム製品。
- 前記トポロジ・リスト・プロセッサ・エントリは、ネストされたプロセッサの前記グループのプロセッサが論理パーティションのゲスト構成に専用化されている程度を示す標識子を更に含む、請求項12に記載のコンピュータ・プログラム製品。
- 前記構成トポロジ・テーブルは、前記ネストされたプロセッサを有する1つ又は複数のネスティング・レベルの階層について各々のネスティング・レベルのトポロジ・リスト・コンテナ・エントリを更に含む、請求項13に記載のコンピュータ・プログラム製品。
- 前記STORE SYSTEM INFORMATION命令は、オペコード・フィールドと、ベース・レジスタ・フィールドと、符号付き置換フィールドとを含み、トポロジ発見命令は、機能コード・フィールド及びセレクタ−1フィールドを含む第1の暗黙汎用レジスタと、セレクタ−2フィールドを含む第2の暗黙汎用レジスタとをさらに含み、前記機能コード・フィールドは、前記トポロジ情報要求を特定し、前記ベース・レジスタ・フィールド及び前記符号付き置換フィールドは、前記構成トポロジ・テーブルを含むシステム情報ブロック(SYSIB)のメモリ内の場所を特定し、前記セレクタ−1フィールド及び前記セレクタ−2フィールドの値の組み合わせが、実行される前記トポロジ情報要求を決定する、請求項9に記載のコンピュータ・プログラム製品。
- 前記コンピュータ・アーキテクチャについて定められた前記STORE SYSTEM INFORMATION命令は、代替コンピュータ・アーキテクチャの中央処理ユニットによってフェッチされて実行され、
前記方法は、前記STORE SYSTEM INFORMATION命令の動作をエミュレートする所定のソフトウェア・ルーチンを特定するために、前記STORE SYSTEM INFORMATION命令を翻訳するステップをさらに含み、
前記STORE SYSTEM INFORMATION命令を実行する前記ステップは、前記STORE SYSTEM INFORMATION命令を実行する前記方法のステップを行うために前記所定のソフトウェア・ルーチンを実行することを含む、
請求項9に記載のコンピュータ・プログラム製品。 - メモリと、
前記メモリと通信するホスト・プロセッサ(ホストCPU)を含む論理パーティション化されたホスト・コンピュータ・システムと、
を含み、
前記コンピュータ・システムは、ゲスト構成の1つ又は複数のゲスト・プロセッサ(ゲストCPU)のトポロジを発見するための方法を実施するように構成されており、
前記方法は、
前記ゲスト構成の前記ゲスト・プロセッサが、実行するために、コンピュータ・アーキテクチャのために定められたSTORE SYSTEM INFORMATION命令をフェッチするステップと、
前記STORE SYSTEM INFORMATION命令を実行するステップであって、
前記STORE SYSTEM INFORMATION命令のトポロジ情報要求に基づいて、コンピュータ構成のプロセッサのネスティング情報を含む、前記コンピュータ構成のトポロジ情報を取得することと、
前記トポロジ情報を構成トポロジ・テーブルに格納することと、
を含む、当該ステップと、
を含む、コンピュータ・システム。 - 前記トポロジ情報は、ホスト・プロセッサの識別情報と、前記ホスト・プロセッサの前記トポロジと関連するネスティング・レベルとを含む、請求項17に記載のコンピュータ・システム。
- 前記トポロジ情報は、ゲスト構成のホスト・プロセッサに関する情報と、前記ゲスト構成の前記ホスト・プロセッサの前記トポロジと関連するネスティング・レベルとを含む、請求項18に記載のコンピュータ・システム。
- 前記構成トポロジ・テーブルは、プロセッサのうちのネスト化されたプロセッサの各々のグループについてのトポロジ・リスト・プロセッサ・エントリを含む、請求項19に記載のコンピュータ・システム。
- 前記トポロジ・リスト・プロセッサ・エントリは、ネストされたプロセッサの前記グループのプロセッサが論理パーティションのゲスト構成に専用化されている程度を示す標識子を更に含む、請求項20に記載のコンピュータ・システム。
- 前記構成トポロジ・テーブルは、前記ネストされたプロセッサを有する1つ又は複数のネスティング・レベルの階層について各々のネスティング・レベルのトポロジ・リスト・コンテナ・エントリを更に含む、請求項21に記載のコンピュータ・システム。
- 前記STORE SYSTEM INFORMATION命令は、オペコード・フィールドと、ベース・レジスタ・フィールドと、符号付き置換フィールドとを含み、トポロジ発見命令は、機能コード・フィールド及びセレクタ−1フィールドを含む第1の暗黙汎用レジスタと、セレクタ−2フィールドを含む第2の暗黙汎用レジスタとをさらに含み、前記機能コード・フィールドは、前記トポロジ情報要求を特定し、前記ベース・レジスタ・フィールド及び前記符号付き置換フィールドは、前記構成トポロジ・テーブルを含むシステム情報ブロック(SYSIB)のメモリ内の場所を特定し、前記セレクタ−1フィールド及び前記セレクタ−2フィールドの値の組み合わせが、実行される前記トポロジ情報要求を決定する、請求項17に記載のコンピュータ・システム。
- 前記コンピュータ・アーキテクチャについて定められた前記STORE SYSTEM INFORMATION命令は、代替コンピュータ・アーキテクチャの中央処理ユニットによってフェッチされて実行され、
前記方法は、前記STORE SYSTEM INFORMATION命令の動作をエミュレートする所定のソフトウェア・ルーチンを特定するために、前記STORE SYSTEM INFORMATION命令を翻訳するステップをさらに含み、
前記STORE SYSTEM INFORMATION命令を実行する前記ステップは、前記STORE SYSTEM INFORMATION命令を実行する前記方法のステップを行うために前記所定のソフトウェア・ルーチンを実行することを含む、
請求項17に記載のコンピュータ・システム。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/972,802 | 2008-01-11 | ||
US11/972,802 US7734900B2 (en) | 2008-01-11 | 2008-01-11 | Computer configuration virtual topology discovery and instruction therefore |
PCT/EP2009/050250 WO2009087232A2 (en) | 2008-01-11 | 2009-01-12 | Computer configuration virtual topology discovery |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2011509477A true JP2011509477A (ja) | 2011-03-24 |
JP4768083B2 JP4768083B2 (ja) | 2011-09-07 |
Family
ID=40851709
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010541796A Active JP4768083B2 (ja) | 2008-01-11 | 2009-01-12 | ゲスト構成の1つ又は複数のゲスト・プロセッサのトポロジを発見するための方法 |
Country Status (13)
Country | Link |
---|---|
US (4) | US7734900B2 (ja) |
EP (2) | EP2223214B1 (ja) |
JP (1) | JP4768083B2 (ja) |
KR (1) | KR101231557B1 (ja) |
CN (1) | CN101911018B (ja) |
AT (2) | ATE514130T1 (ja) |
CY (1) | CY1112463T1 (ja) |
DK (2) | DK2223214T3 (ja) |
ES (2) | ES2380450T3 (ja) |
PL (2) | PL2223214T3 (ja) |
PT (2) | PT2223214E (ja) |
SI (2) | SI2290539T1 (ja) |
WO (1) | WO2009087232A2 (ja) |
Families Citing this family (35)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8122230B2 (en) * | 2007-12-28 | 2012-02-21 | Intel Corporation | Using a processor identification instruction to provide multi-level processor topology information |
US7734900B2 (en) | 2008-01-11 | 2010-06-08 | International Business Machines Corporation | Computer configuration virtual topology discovery and instruction therefore |
US7739434B2 (en) | 2008-01-11 | 2010-06-15 | International Business Machines Corporation | Performing a configuration virtual topology change and instruction therefore |
US9032101B1 (en) | 2008-12-10 | 2015-05-12 | Nvidia Corporation | Chipset support for binding and migrating hardware devices among heterogeneous processing units |
US9015446B2 (en) * | 2008-12-10 | 2015-04-21 | Nvidia Corporation | Chipset support for non-uniform memory access among heterogeneous processing units |
US8171176B2 (en) * | 2010-08-31 | 2012-05-01 | Lsi Corporation | Method for selective replication of physical devices on a virtual self-configuring zoning expander |
JP5354108B2 (ja) * | 2010-09-01 | 2013-11-27 | 富士通株式会社 | 情報処理プログラム、情報処理装置及び情報処理方法 |
US20120131154A1 (en) * | 2010-11-23 | 2012-05-24 | Wulf Kruempelmann | Synchronous Transport of Business Configuration Data in a Distributed Computing System Environment |
WO2012083012A1 (en) * | 2010-12-15 | 2012-06-21 | Advanced Micro Devices, Inc. | Device discovery and topology reporting in a combined cpu/gpu architecture system |
DE102011107169A1 (de) * | 2011-07-13 | 2013-01-17 | Kuka Roboter Gmbh | Steuerung eines Roboter |
US9646278B2 (en) | 2011-07-14 | 2017-05-09 | International Business Machines Corporation | Decomposing a process model in an enterprise intelligence (‘EI’) framework |
US8566345B2 (en) | 2011-07-14 | 2013-10-22 | International Business Machines Corporation | Enterprise intelligence (‘EI’) reporting in an EI framework |
US9659266B2 (en) | 2011-07-14 | 2017-05-23 | International Business Machines Corporation | Enterprise intelligence (‘EI’) management in an EI framework |
US9639815B2 (en) | 2011-07-14 | 2017-05-02 | International Business Machines Corporation | Managing processes in an enterprise intelligence (‘EI’) assembly of an EI framework |
JP5836042B2 (ja) * | 2011-10-04 | 2015-12-24 | 株式会社日立製作所 | 管理サーバプログラム |
US9069598B2 (en) | 2012-01-06 | 2015-06-30 | International Business Machines Corporation | Providing logical partions with hardware-thread specific information reflective of exclusive use of a processor core |
US9292318B2 (en) * | 2012-11-26 | 2016-03-22 | International Business Machines Corporation | Initiating software applications requiring different processor architectures in respective isolated execution environment of an operating system |
WO2014141419A1 (ja) * | 2013-03-14 | 2014-09-18 | 株式会社日立製作所 | 仮想計算機システムおよびスケジューリング方法 |
US9582295B2 (en) | 2014-03-18 | 2017-02-28 | International Business Machines Corporation | Architectural mode configuration |
US9916185B2 (en) | 2014-03-18 | 2018-03-13 | International Business Machines Corporation | Managing processing associated with selected architectural facilities |
US9588774B2 (en) | 2014-03-18 | 2017-03-07 | International Business Machines Corporation | Common boot sequence for control utility able to be initialized in multiple architectures |
US9218185B2 (en) * | 2014-03-27 | 2015-12-22 | International Business Machines Corporation | Multithreading capability information retrieval |
US9594660B2 (en) | 2014-03-27 | 2017-03-14 | International Business Machines Corporation | Multithreading computer system and program product for executing a query instruction for idle time accumulation among cores |
US9921848B2 (en) | 2014-03-27 | 2018-03-20 | International Business Machines Corporation | Address expansion and contraction in a multithreading computer system |
US9804846B2 (en) | 2014-03-27 | 2017-10-31 | International Business Machines Corporation | Thread context preservation in a multithreading computer system |
US9417876B2 (en) | 2014-03-27 | 2016-08-16 | International Business Machines Corporation | Thread context restoration in a multithreading computer system |
US10102004B2 (en) | 2014-03-27 | 2018-10-16 | International Business Machines Corporation | Hardware counters to track utilization in a multithreading computer system |
US9354883B2 (en) | 2014-03-27 | 2016-05-31 | International Business Machines Corporation | Dynamic enablement of multithreading |
KR102269452B1 (ko) * | 2014-09-18 | 2021-06-28 | 인텔 코포레이션 | 컨텐츠 변환 없는 컴퓨팅 디바이스에서의 다중 운영 체제 환경들의 지원 |
CN104539684B (zh) * | 2014-12-23 | 2018-07-06 | 广州亦云信息技术有限公司 | 一种用户机器资源抽取整合方法及系统 |
CN107301034A (zh) * | 2017-08-09 | 2017-10-27 | 葛松芬 | 一种并行处理器阵列结构 |
US10956358B2 (en) * | 2017-11-21 | 2021-03-23 | Microsoft Technology Licensing, Llc | Composite pipeline framework to combine multiple processors |
US11042398B2 (en) | 2018-07-09 | 2021-06-22 | Samsung Electronics Co., Ltd. | System and method for guest operating system using containers |
US11256531B2 (en) * | 2019-06-20 | 2022-02-22 | International Business Machines Corporation | Isolating physical processors during optimization of VM placement |
CN110990054B (zh) * | 2019-12-03 | 2023-03-21 | 北京明略软件系统有限公司 | 一种开源框架的配置处理方法及装置 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006178933A (ja) * | 2004-12-21 | 2006-07-06 | Microsoft Corp | 仮想マシンについてのプロセッサ・トポロジをエクスポーズするためのシステムおよび方法 |
Family Cites Families (36)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3825895A (en) * | 1973-05-14 | 1974-07-23 | Amdahl Corp | Operand comparator |
US3982229A (en) * | 1975-01-08 | 1976-09-21 | Bell Telephone Laboratories, Incorporated | Combinational logic arrangement |
US4713750A (en) * | 1983-03-31 | 1987-12-15 | Fairchild Camera & Instrument Corporation | Microprocessor with compact mapped programmable logic array |
US4569016A (en) * | 1983-06-30 | 1986-02-04 | International Business Machines Corporation | Mechanism for implementing one machine cycle executable mask and rotate instructions in a primitive instruction set computing system |
US4578750A (en) * | 1983-08-24 | 1986-03-25 | Amdahl Corporation | Code determination using half-adder based operand comparator |
IT1179386B (it) * | 1984-07-05 | 1987-09-16 | Silvano Bellapadrona | Sospensione oleopneumatica per veicoli in genere, in particolare per motociclette |
US5113523A (en) * | 1985-05-06 | 1992-05-12 | Ncube Corporation | High performance computer system |
JPS6382513A (ja) * | 1986-09-26 | 1988-04-13 | Toshiba Corp | バレルシフタ |
US5859994A (en) * | 1992-08-10 | 1999-01-12 | Intel Corporation | Apparatus and method for modifying instruction length decoding in a computer processor |
WO1994027215A1 (en) | 1993-05-07 | 1994-11-24 | Apple Computer, Inc. | Method for decoding guest instructions for a host computer |
US6067613A (en) * | 1993-11-30 | 2000-05-23 | Texas Instruments Incorporated | Rotation register for orthogonal data transformation |
US5551013A (en) | 1994-06-03 | 1996-08-27 | International Business Machines Corporation | Multiprocessor for hardware emulation |
US5748950A (en) * | 1994-09-20 | 1998-05-05 | Intel Corporation | Method and apparatus for providing an optimized compare-and-branch instruction |
EP0730220A3 (en) * | 1995-03-03 | 1997-01-08 | Hal Computer Systems Inc | Method and device for quickly executing branch instructions |
US5632028A (en) | 1995-03-03 | 1997-05-20 | Hal Computer Systems, Inc. | Hardware support for fast software emulation of unimplemented instructions |
US5732242A (en) * | 1995-03-24 | 1998-03-24 | Silicon Graphics, Inc. | Consistently specifying way destinations through prefetching hints |
US5790825A (en) | 1995-11-08 | 1998-08-04 | Apple Computer, Inc. | Method for emulating guest instructions on a host computer through dynamic recompilation of host instructions |
JP3790607B2 (ja) | 1997-06-16 | 2006-06-28 | 松下電器産業株式会社 | Vliwプロセッサ |
US6223256B1 (en) * | 1997-07-22 | 2001-04-24 | Hewlett-Packard Company | Computer cache memory with classes and dynamic selection of replacement algorithms |
US6112293A (en) * | 1997-11-17 | 2000-08-29 | Advanced Micro Devices, Inc. | Processor configured to generate lookahead results from operand collapse unit and for inhibiting receipt/execution of the first instruction based on the lookahead result |
US6009261A (en) | 1997-12-16 | 1999-12-28 | International Business Machines Corporation | Preprocessing of stored target routines for emulating incompatible instructions on a target processor |
US6308255B1 (en) | 1998-05-26 | 2001-10-23 | Advanced Micro Devices, Inc. | Symmetrical multiprocessing bus and chipset used for coprocessor support allowing non-native code to run in a system |
US6463582B1 (en) | 1998-10-21 | 2002-10-08 | Fujitsu Limited | Dynamic optimizing object code translator for architecture emulation and dynamic optimizing object code translation method |
EP1256039B1 (en) | 1999-09-28 | 2004-11-24 | International Business Machines Corporation | Workload management in a computing environment |
US6446197B1 (en) * | 1999-10-01 | 2002-09-03 | Hitachi, Ltd. | Two modes for executing branch instructions of different lengths and use of branch control instruction and register set loaded with target instructions |
US6763327B1 (en) * | 2000-02-17 | 2004-07-13 | Tensilica, Inc. | Abstraction of configurable processor functionality for operating systems portability |
US6738895B1 (en) * | 2000-08-31 | 2004-05-18 | Micron Technology, Inc. | Method and system for substantially registerless processing |
US7165101B2 (en) * | 2001-12-03 | 2007-01-16 | Sun Microsystems, Inc. | Transparent optimization of network traffic in distributed systems |
US7493480B2 (en) * | 2002-07-18 | 2009-02-17 | International Business Machines Corporation | Method and apparatus for prefetching branch history information |
US7140021B2 (en) * | 2002-09-13 | 2006-11-21 | Microsoft Corporation | Dynamic TCP partitioning |
US7337442B2 (en) * | 2002-12-03 | 2008-02-26 | Microsoft Corporation | Methods and systems for cooperative scheduling of hardware resource elements |
WO2005022385A1 (en) | 2003-08-28 | 2005-03-10 | Mips Technologies, Inc. | Mechanisms for dynamic configuration of virtual processor resources |
US8335810B2 (en) * | 2006-01-31 | 2012-12-18 | Qualcomm Incorporated | Register-based shifts for a unidirectional rotator |
US7693811B2 (en) | 2006-02-28 | 2010-04-06 | International Business Machines Corporation | Generating unique identifiers for logical partitions |
US7734900B2 (en) * | 2008-01-11 | 2010-06-08 | International Business Machines Corporation | Computer configuration virtual topology discovery and instruction therefore |
US8352950B2 (en) * | 2008-01-11 | 2013-01-08 | International Business Machines Corporation | Algorithm to share physical processors to maximize processor cache usage and topologies |
-
2008
- 2008-01-11 US US11/972,802 patent/US7734900B2/en active Active
-
2009
- 2009-01-12 PT PT09701347T patent/PT2223214E/pt unknown
- 2009-01-12 EP EP20090701347 patent/EP2223214B1/en active Active
- 2009-01-12 JP JP2010541796A patent/JP4768083B2/ja active Active
- 2009-01-12 EP EP20100184363 patent/EP2290539B1/en active Active
- 2009-01-12 ES ES10184363T patent/ES2380450T3/es active Active
- 2009-01-12 DK DK09701347T patent/DK2223214T3/da active
- 2009-01-12 PT PT10184363T patent/PT2290539E/pt unknown
- 2009-01-12 ES ES09701347T patent/ES2368684T3/es active Active
- 2009-01-12 AT AT09701347T patent/ATE514130T1/de active
- 2009-01-12 KR KR1020107015025A patent/KR101231557B1/ko active IP Right Grant
- 2009-01-12 SI SI200930190T patent/SI2290539T1/sl unknown
- 2009-01-12 CN CN2009801017609A patent/CN101911018B/zh active Active
- 2009-01-12 SI SI200930066T patent/SI2223214T1/sl unknown
- 2009-01-12 WO PCT/EP2009/050250 patent/WO2009087232A2/en active Application Filing
- 2009-01-12 DK DK10184363T patent/DK2290539T3/da active
- 2009-01-12 PL PL09701347T patent/PL2223214T3/pl unknown
- 2009-01-12 PL PL10184363T patent/PL2290539T3/pl unknown
- 2009-01-12 AT AT10184363T patent/ATE540355T1/de active
-
2010
- 2010-05-13 US US12/779,232 patent/US7984275B2/en active Active
-
2011
- 2011-06-15 US US13/160,536 patent/US8832689B2/en active Active
- 2011-09-21 CY CY20111100912T patent/CY1112463T1/el unknown
-
2014
- 2014-09-05 US US14/478,247 patent/US9137120B2/en active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006178933A (ja) * | 2004-12-21 | 2006-07-06 | Microsoft Corp | 仮想マシンについてのプロセッサ・トポロジをエクスポーズするためのシステムおよび方法 |
Also Published As
Publication number | Publication date |
---|---|
US20100223448A1 (en) | 2010-09-02 |
CY1112463T1 (el) | 2015-12-09 |
PL2223214T3 (pl) | 2011-11-30 |
KR20100106462A (ko) | 2010-10-01 |
US20150026680A1 (en) | 2015-01-22 |
ES2368684T3 (es) | 2011-11-21 |
SI2290539T1 (sl) | 2012-04-30 |
DK2223214T3 (da) | 2011-08-01 |
EP2290539A1 (en) | 2011-03-02 |
DK2290539T3 (da) | 2012-02-06 |
US20110246752A1 (en) | 2011-10-06 |
WO2009087232A3 (en) | 2009-11-05 |
KR101231557B1 (ko) | 2013-02-08 |
ATE514130T1 (de) | 2011-07-15 |
CN101911018B (zh) | 2013-08-28 |
US20090182979A1 (en) | 2009-07-16 |
EP2223214B1 (en) | 2011-06-22 |
US9137120B2 (en) | 2015-09-15 |
PT2223214E (pt) | 2011-09-19 |
SI2223214T1 (sl) | 2011-10-28 |
ES2380450T3 (es) | 2012-05-11 |
WO2009087232A2 (en) | 2009-07-16 |
EP2223214A2 (en) | 2010-09-01 |
ATE540355T1 (de) | 2012-01-15 |
US7984275B2 (en) | 2011-07-19 |
US7734900B2 (en) | 2010-06-08 |
US8832689B2 (en) | 2014-09-09 |
EP2290539B1 (en) | 2012-01-04 |
CN101911018A (zh) | 2010-12-08 |
PT2290539E (pt) | 2012-02-15 |
PL2290539T3 (pl) | 2012-06-29 |
JP4768083B2 (ja) | 2011-09-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10621007B2 (en) | Execution of an instruction for performing a configuration virtual topology change | |
JP4768083B2 (ja) | ゲスト構成の1つ又は複数のゲスト・プロセッサのトポロジを発見するための方法 | |
EP2430532B1 (en) | Function virtualization facility for blocking instruction function of a multi-function instruction of a virtual processor | |
CN102906692A (zh) | 用于执行有选择地修改适配器功能参数的指令的方法、用于相同操作的计算机系统和计算机程序产品 | |
CN102906722A (zh) | 将消息信号中断转换为i/o适配器事件通知 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20110428 |
|
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: 20110531 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20110615 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4768083 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140624 Year of fee payment: 3 |