IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ インターナショナル・ビジネス・マシーンズ・コーポレーションの特許一覧

特表2024-528832コアのトポロジー・マッピングへのアクセス
<>
  • 特表-コアのトポロジー・マッピングへのアクセス 図1
  • 特表-コアのトポロジー・マッピングへのアクセス 図2A
  • 特表-コアのトポロジー・マッピングへのアクセス 図2B
  • 特表-コアのトポロジー・マッピングへのアクセス 図2C
  • 特表-コアのトポロジー・マッピングへのアクセス 図3A
  • 特表-コアのトポロジー・マッピングへのアクセス 図3B
  • 特表-コアのトポロジー・マッピングへのアクセス 図4A
  • 特表-コアのトポロジー・マッピングへのアクセス 図4B
  • 特表-コアのトポロジー・マッピングへのアクセス 図5A
  • 特表-コアのトポロジー・マッピングへのアクセス 図5B
  • 特表-コアのトポロジー・マッピングへのアクセス 図6
  • 特表-コアのトポロジー・マッピングへのアクセス 図7
  • 特表-コアのトポロジー・マッピングへのアクセス 図8
  • 特表-コアのトポロジー・マッピングへのアクセス 図9
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-08-01
(54)【発明の名称】コアのトポロジー・マッピングへのアクセス
(51)【国際特許分類】
   G06F 9/50 20060101AFI20240725BHJP
【FI】
G06F9/50 120Z
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2024502485
(86)(22)【出願日】2022-07-27
(85)【翻訳文提出日】2024-01-16
(86)【国際出願番号】 IB2022056915
(87)【国際公開番号】W WO2023012595
(87)【国際公開日】2023-02-09
(31)【優先権主張番号】17/394,070
(32)【優先日】2021-08-04
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】390009531
【氏名又は名称】インターナショナル・ビジネス・マシーンズ・コーポレーション
【氏名又は名称原語表記】INTERNATIONAL BUSINESS MACHINES CORPORATION
【住所又は居所原語表記】New Orchard Road, Armonk, New York 10504, United States of America
(74)【代理人】
【識別番号】100112690
【弁理士】
【氏名又は名称】太佐 種一
(74)【代理人】
【識別番号】100120710
【弁理士】
【氏名又は名称】片岡 忠彦
(72)【発明者】
【氏名】ジャヴェリ、オムカール、ウルハス
(72)【発明者】
【氏名】ドリーバー、ピーター、ダナ
(72)【発明者】
【氏名】ウェイド、ブライアン、キース
(72)【発明者】
【氏名】レデラー、セス
(57)【要約】
方法、コンピュータ・プログラム製品、およびシステムは、プロセッサが、コンピューティング・システムのプロセッシング・コア(論理コアまたは物理コアあるいはその両方)の位置を含むプロセッシング・コア情報と、オペレータの選択とを含む命令を発行することを含む。プロセッサは、物理コアへの論理コアのマッピングに関するトポロジー情報である、命令によって返された情報の、セキュリティ・パラメータを設定する。プロセッサは、トポロジー情報を取得し、オペレーティング・システムを利用して論理コアを物理コアにマッピングする。
【特許請求の範囲】
【請求項1】
コンピュータ実装方法であって、
コンピューティング・システムの1つまたは複数のプロセッサによって、プロセッシング・コア情報を含んでいる命令を発行することであって、前記プロセッシング・コア情報が、前記コンピューティング・システムの1つまたは複数のプロセッシング・コアの位置を含み、前記コンピューティング・システムの前記プロセッシング・コアが、論理コアおよび物理コアを含み、前記命令が、オペレータの選択をさらに含む、前記発行することと、
前記1つまたは複数のプロセッサによって、前記オペレータの選択に基づいて、前記命令によって返された情報のセキュリティ・パラメータを設定することであって、前記返された情報が、前記物理コアへの前記論理コアのマッピングに関するトポロジー情報を含む、前記設定することと、
前記1つまたは複数のプロセッサによって、前記位置および前記セキュリティ・パラメータを含んでいる前記情報に基づいて、前記トポロジー情報を取得することと、
前記1つまたは複数のプロセッサによって、前記コンピューティング・システム上で実行されているオペレーティング・システムを介して、前記トポロジー情報を利用して前記論理コアを前記物理コアにマッピングすることとを含む、コンピュータ実装方法。
【請求項2】
前記セキュリティ・パラメータに基づいて、前記コンピューティング・システム内のすべての論理パーティションのグローバルな表示を提供する情報、および前記コンピューティング・システム内の1人または複数のユーザの論理パーティションの表示を提供する情報から成る群から、前記トポロジー情報が選択される、請求項1に記載のコンピュータ実装方法。
【請求項3】
前記コンピューティング・システム内の前記プロセッシング・コアの前記位置を含んでいる前記情報が、前記論理コアの好ましいディスパッチ位置を表すデータを含む、請求項1に記載のコンピュータ実装方法。
【請求項4】
前記コンピューティング・システム内の前記プロセッシング・コアの前記位置を含んでいる前記情報が、前記物理コアの実際の位置を表すデータを含む、請求項1に記載のコンピュータ実装方法。
【請求項5】
前記命令が情報ブロックを含み、前記情報ブロックが、前記コンピューティング・システム内の前記プロセッシング・コアの前記位置を含んでいる前記情報を含む、請求項1に記載のコンピュータ実装方法。
【請求項6】
前記コンピューティング・システム内の前記プロセッシング・コアの前記位置を含んでいる前記情報が、プロセッシング・コアごとに、特定のトポロジー・ネスト・レベルでの位置を含む、請求項1に記載のコンピュータ実装方法。
【請求項7】
前記プロセッシング・コア情報が、前記コンピューティング・システム内のトポロジー・ネスト・レベルの最大数を含む、請求項6に記載のコンピュータ実装方法。
【請求項8】
前記1つまたは複数のプロセッサによって、前記コンピューティング・システムの内部のインターフェイスに前記マッピングを表示することをさらに含む、請求項1に記載のコンピュータ実装方法。
【請求項9】
前記トポロジー情報が所与のグループの論理パーティションに関連し、前記所与のグループ内のメンバーシップが、前記プロセッシング・コア情報において定義される、請求項1に記載のコンピュータ実装方法。
【請求項10】
前記所与のグループがハードウェア・グループを含む、請求項6に記載のコンピュータ実装方法。
【請求項11】
前記トポロジー情報を取得することが、前記コンピューティング・システムの内部のインターフェイスを介して前記トポロジー情報を取得することを含む、請求項1に記載のコンピュータ実装方法。
【請求項12】
コンピューティング・システムを備えている共有されたコンピューティング環境の1つまたは複数のプロセッサによって読み取り可能な、方法を実行するために前記1つまたは複数のプロセッサによって実行されるための命令を格納しているコンピュータ可読ストレージ媒体を備えているコンピュータ・プログラム製品であって、前記方法が、
前記コンピューティング・システムの前記1つまたは複数のプロセッサによって、プロセッシング・コア情報を含んでいる命令を発行することであって、前記プロセッシング・コア情報が、前記コンピューティング・システムの1つまたは複数のプロセッシング・コアの位置を含み、前記コンピューティング・システムの前記プロセッシング・コアが、論理コアおよび物理コアを含み、前記命令が、オペレータの選択をさらに含む、前記発行することと、
前記1つまたは複数のプロセッサによって、前記オペレータの選択に基づいて、前記命令によって返された情報のセキュリティ・パラメータを設定することであって、前記返された情報が、前記物理コアへの前記論理コアのマッピングに関するトポロジー情報を含む、前記設定することと、
前記1つまたは複数のプロセッサによって、前記位置および前記セキュリティ・パラメータを含んでいる前記情報に基づいて、前記トポロジー情報を取得することと、
前記1つまたは複数のプロセッサによって、前記コンピューティング・システム上で実行されているオペレーティング・システムを介して、前記トポロジー情報を利用して前記論理コアを前記物理コアにマッピングすることとを含む、コンピュータ・プログラム製品。
【請求項13】
前記セキュリティ・パラメータに基づいて、前記コンピューティング・システム内のすべての論理パーティションのグローバルな表示を提供する情報、および前記コンピューティング・システム内の1人または複数のユーザの論理パーティションの表示を提供する情報から成る群から、前記トポロジー情報が選択される、請求項12に記載のコンピュータ・プログラム製品。
【請求項14】
前記コンピューティング・システム内の前記プロセッシング・コアの前記位置を含んでいる前記情報が、前記論理コアの好ましいディスパッチ位置を表すデータを含む、請求項12に記載のコンピュータ・プログラム製品。
【請求項15】
前記コンピューティング・システム内の前記プロセッシング・コアの前記位置を含んでいる前記情報が、前記物理コアの実際の位置を表すデータを含む、請求項12に記載のコンピュータ・プログラム製品。
【請求項16】
前記命令が情報ブロックを含み、前記情報ブロックが、前記コンピューティング・システム内の前記プロセッシング・コアの前記位置を含んでいる前記情報を含む、請求項12に記載のコンピュータ・プログラム製品。
【請求項17】
前記コンピューティング・システム内の前記プロセッシング・コアの前記位置を含んでいる前記情報が、プロセッシング・コアごとに、特定のトポロジー・ネスト・レベルでの位置を含む、請求項12に記載のコンピュータ・プログラム製品。
【請求項18】
前記プロセッシング・コア情報が、前記コンピューティング・システム内のトポロジー・ネスト・レベルの最大数を含む、請求項17に記載のコンピュータ・プログラム製品。
【請求項19】
前記方法が、
前記1つまたは複数のプロセッサによって、前記コンピューティング・システムの内部のインターフェイスに前記マッピングを表示することをさらに含む、請求項12に記載のコンピュータ・プログラム製品。
【請求項20】
メモリと、
前記メモリと通信する1つまたは複数のプロセッサと、
方法を実行するために前記メモリを介してコンピューティング・システムの共有されたコンピューティング環境内の前記1つまたは複数のプロセッサによって実行可能なプログラム命令とを備えているコンピュータ・システムであって、前記方法が、
前記コンピューティング・システムの前記1つまたは複数のプロセッサによって、プロセッシング・コア情報を含んでいる命令を発行することであって、前記プロセッシング・コア情報が、前記コンピューティング・システムの1つまたは複数のプロセッシング・コアの位置を含み、前記コンピューティング・システムの前記プロセッシング・コアが、論理コアおよび物理コアを含み、前記命令が、オペレータの選択をさらに含む、前記発行することと、
前記1つまたは複数のプロセッサによって、前記オペレータの選択に基づいて、前記命令によって返された情報のセキュリティ・パラメータを設定することであって、前記返された情報が、前記物理コアへの前記論理コアのマッピングに関するトポロジー情報を含む、前記設定することと、
前記1つまたは複数のプロセッサによって、前記位置および前記セキュリティ・パラメータを含んでいる前記情報に基づいて、前記トポロジー情報を取得することと、
前記1つまたは複数のプロセッサによって、前記コンピューティング・システム上で実行されているオペレーティング・システムを介して、前記トポロジー情報を利用して前記論理コアを前記物理コアにマッピングすることとを含む、コンピュータ・システム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、コアのトポロジー・マッピングにアクセスすることに関連している。
【背景技術】
【0002】
物理コア(プロセッシング・ユニットとも呼ばれる)またはコアは、プロセッサ(例えば、汎用マイクロプロセッサにおける中央処理装置)のすべての機能を独立して実行することができる、論理の十分に分割された要素である。単一の論理コアが、1つまたは複数の物理コアに割り当てられてよい。物理コアとは、実際のハードウェア・コンポーネントのことを指す。論理コア(論理プロセッサとも呼ばれる)は、物理的サーバの処理能力を分割し、並列処理を可能にする。オペレーティング・システム(OS:operating system)は、論理コアまたは論理プロセッサをプロセッサと見なし、したがって、命令のそれ自身のストリームを同時に実行することができると見なす。したがって、OSは、同時に起こる独立した作業の単位を論理コアに割り当てることができる。論理パーティション(LPAR:logical partition)は、別々のコンピュータとして仮想化された、コンピュータのハードウェア・リソースのサブセットである。事実上、物理マシンは、OSの別々のインスタンスをそれぞれホストする、複数の論理パーティションに分割され得る。
【発明の概要】
【0003】
ハイパーバイザ全体にわたる、物理コアへの論理コアのマッピングのグローバルな表示のための情報を取得するための方法の提供によって、従来技術の欠点が対処され、追加の利点がもたらされる。この方法は、例えば、コンピューティング・システムの1つまたは複数のプロセッサによって、プロセッシング・コア情報を含んでいる命令を発行することを含み、プロセッシング・コア情報は、コンピューティング・システムの1つまたは複数のプロセッシング・コアの位置を含み、コンピューティング・システムのプロセッシング・コアは、論理コアおよび物理コアを含み、この命令は、オペレータの選択をさらに含む。この方法は、1つまたは複数のプロセッサによって、オペレータの選択に基づいて、命令によって返された情報のセキュリティ・パラメータを設定することも含み、返された情報は、物理コアへの論理コアのマッピングに関するトポロジー情報を含む。この方法は、1つまたは複数のプロセッサによって、位置およびセキュリティ・パラメータを含んでいる情報に基づいて、トポロジー情報を取得することも含む。この方法は、1つまたは複数のプロセッサによって、コンピューティング・システム上で実行されているオペレーティング・システムを介して、トポロジー情報を利用して論理コアを物理コアにマッピングすることも含む。
【0004】
一部の例では、セキュリティ・パラメータに基づいて、コンピューティング・システム内のすべての論理パーティションのグローバルな表示を提供する情報、およびコンピューティング・システム内の1人または複数のユーザの論理パーティションの表示を提供する情報から成る群から、トポロジー情報が選択される。
【0005】
一部の例では、コンピューティング・システム内のプロセッシング・コアの位置を含んでいる情報は、論理コアの好ましいディスパッチ位置を表すデータを含む。
【0006】
一部の例では、コンピューティング・システム内のプロセッシング・コアの位置を含んでいる情報は、物理コアの実際の位置を表すデータを含む。
【0007】
一部の例では、命令は情報ブロックを含み、この情報ブロックは、コンピューティング・システム内のプロセッシング・コアの位置を含んでいる情報を含む。
【0008】
一部の例では、コンピューティング・システム内のプロセッシング・コアの位置を含んでいる情報は、プロセッシング・コアごとに、特定のトポロジー・ネスト・レベル(topological nesting level)での位置を含む。
【0009】
一部の例では、プロセッシング・コア情報は、コンピューティング・システム内のトポロジー・ネスト・レベルの最大数を含む。
【0010】
一部の例では、この方法は、1つまたは複数のプロセッサによって、コンピューティング・システムの内部のインターフェイスにマッピングを表示することも含む。
【0011】
一部の例では、トポロジー情報が所与のグループの論理パーティションに関連し、所与のグループ内のメンバーシップが、プロセッシング・コア情報において定義される。
【0012】
一部の例では、所与のグループは、ハードウェア・グループを含む。
【0013】
一部の例では、トポロジー情報を取得することは、コンピューティング・システムの内部のインターフェイスを介してトポロジー情報を取得することを含む。
【0014】
ハイパーバイザ全体にわたる、物理コアへの論理コアのマッピングのグローバルな表示のための情報を取得するためのコンピュータ・プログラム製品の提供によって、従来技術の欠点が対処され、追加の利点がもたらされる。コンピュータ・プログラム製品は、1つまたは複数のプロセッサによって読み取り可能な、方法を実行するために1つまたは複数のプロセッサによって実行される命令を格納しているストレージ媒体を備える。この方法は、例えば、コンピューティング・システムの1つまたは複数のプロセッサによって、プロセッシング・コア情報を含んでいる命令を発行することを含み、プロセッシング・コア情報は、コンピューティング・システムの1つまたは複数のプロセッシング・コアの位置を含み、コンピューティング・システムのプロセッシング・コアは、論理コアおよび物理コアを含み、この命令は、オペレータの選択をさらに含む。コンピュータ・プログラム製品は、1つまたは複数のプロセッサによって実行された場合に、この方法が、1つまたは複数のプロセッサによって、オペレータの選択に基づいて、命令によって返された情報のセキュリティ・パラメータを設定することも含み、返された情報が、物理コアへの論理コアのマッピングに関するトポロジー情報を含む、命令も含む。コンピュータ・プログラム製品は、1つまたは複数のプロセッサによって実行された場合に、この方法が、1つまたは複数のプロセッサによって、位置およびセキュリティ・パラメータを含んでいる情報に基づいて、トポロジー情報を取得することも含む、命令も含む。コンピュータ・プログラム製品は、1つまたは複数のプロセッサによって実行された場合に、この方法が、1つまたは複数のプロセッサによって、コンピューティング・システム上で実行されているオペレーティング・システムを介して、トポロジー情報を利用して論理コアを物理コアにマッピングすることも含む、命令も含む。
【0015】
コンピュータ・プログラム製品の一部の例では、セキュリティ・パラメータに基づいて、コンピューティング・システム内のすべての論理パーティションのグローバルな表示を提供する情報、およびコンピューティング・システム内の1人または複数のユーザの論理パーティションの表示を提供する情報から成る群から、トポロジー情報が選択される。
【0016】
コンピュータ・プログラム製品の一部の例では、コンピューティング・システム内のプロセッシング・コアの位置を含んでいる情報は、論理コアの好ましいディスパッチ位置を表すデータを含む。
【0017】
コンピュータ・プログラム製品の一部の例では、コンピューティング・システム内のプロセッシング・コアの位置を含んでいる情報は、物理コアの実際の位置を表すデータを含む。
【0018】
コンピュータ・プログラム製品の一部の例では、命令は情報ブロックを含み、この情報ブロックは、コンピューティング・システム内のプロセッシング・コアの位置を含んでいる情報を含む。
【0019】
コンピュータ・プログラム製品の一部の例では、コンピューティング・システム内のプロセッシング・コアの位置を含んでいる情報は、プロセッシング・コアごとに、特定のトポロジー・ネスト・レベルでの位置を含む。
【0020】
コンピュータ・プログラム製品の一部の例では、プロセッシング・コア情報は、コンピューティング・システム内のトポロジー・ネスト・レベルの最大数を含む。
【0021】
コンピュータ・プログラム製品の一部の例では、この方法は、1つまたは複数のプロセッサによって、コンピューティング・システムの内部のインターフェイスにマッピングを表示することも含む。
【0022】
コンピュータ・プログラム製品の一部の例では、トポロジー情報が所与のグループの論理パーティションに関連し、所与のグループ内のメンバーシップが、プロセッシング・コア情報において定義される。
【0023】
コンピュータ・プログラム製品の一部の例では、所与のグループは、ハードウェア・グループを含む。
【0024】
コンピュータ・プログラム製品の一部の例では、トポロジー情報を取得することは、コンピューティング・システムの内部のインターフェイスを介してトポロジー情報を取得することを含む。
【0025】
ハイパーバイザ全体にわたる、物理コアへの論理コアのマッピングのグローバルな表示のための情報を取得するためのシステムの提供によって、従来技術の欠点が対処され、追加の利点がもたらされる。このシステムは、メモリと、このメモリと通信する1つまたは複数のプロセッサと、方法を実行するためにメモリを介して1つまたは複数のプロセッサによって実行可能なプログラム命令とを含む。この方法は、例えば、コンピューティング・システムの1つまたは複数のプロセッサによって、プロセッシング・コア情報を含んでいる命令を発行することを含み、プロセッシング・コア情報は、コンピューティング・システムの1つまたは複数のプロセッシング・コアの位置を含み、コンピューティング・システムのプロセッシング・コアは、論理コアおよび物理コアを含み、この命令は、オペレータの選択をさらに含む。システムによって実行される方法は、1つまたは複数のプロセッサによって、オペレータの選択に基づいて、命令によって返された情報のセキュリティ・パラメータを設定することも含み、返された情報は、物理コアへの論理コアのマッピングに関するトポロジー情報を含む。システムによって実行される方法は、1つまたは複数のプロセッサによって、位置およびセキュリティ・パラメータを含んでいる情報に基づいて、トポロジー情報を取得することも含む。システムによって実行される方法は、1つまたは複数のプロセッサによって、コンピューティング・システム上で実行されているオペレーティング・システムを介して、トポロジー情報を利用して論理コアを物理コアにマッピングすることも含む。
【0026】
システムの一部の例では、セキュリティ・パラメータに基づいて、コンピューティング・システム内のすべての論理パーティションのグローバルな表示を提供する情報、およびコンピューティング・システム内の1人または複数のユーザの論理パーティションの表示を提供する情報から成る群から、トポロジー情報が選択される。
【0027】
システムの一部の例では、コンピューティング・システム内のプロセッシング・コアの位置を含んでいる情報は、論理コアの好ましいディスパッチ位置を表すデータを含む。
【0028】
システムの一部の例では、コンピューティング・システム内のプロセッシング・コアの位置を含んでいる情報は、物理コアの実際の位置を表すデータを含む。
【0029】
システムの一部の例では、命令は情報ブロックを含み、この情報ブロックは、コンピューティング・システム内のプロセッシング・コアの位置を含んでいる情報を含む。
【0030】
システムの一部の例では、コンピューティング・システム内のプロセッシング・コアの位置を含んでいる情報は、プロセッシング・コアごとに、特定のトポロジー・ネスト・レベルでの位置を含む。
【0031】
システムの一部の例では、プロセッシング・コア情報は、コンピューティング・システム内のトポロジー・ネスト・レベルの最大数を含む。
【0032】
システムの一部の例では、この方法は、1つまたは複数のプロセッサによって、コンピューティング・システムの内部のインターフェイスにマッピングを表示することも含む。
【0033】
システムの一部の例では、トポロジー情報が所与のグループの論理パーティションに関連し、所与のグループ内のメンバーシップが、プロセッシング・コア情報において定義される。
【0034】
システムの一部の例では、所与のグループは、ハードウェア・グループを含む。
【0035】
システムの一部の例では、トポロジー情報を取得することは、コンピューティング・システムの内部のインターフェイスを介してトポロジー情報を取得することを含む。
【0036】
1つまたは複数の態様に関連する方法、コンピュータ・プログラム製品、およびシステムも本明細書に記載され、請求される。さらに、1つまたは複数の態様に関連するサービスも本明細書に記載され、請求されてよい。
【0037】
さらなる特徴が、本明細書に記載された技術によって実現される。他の実施形態および態様は、本明細書において詳細に説明され、請求される態様の一部と見なされる。
【0038】
1つまたは複数の態様は、本明細書の最後にある特許請求の範囲において例として具体的に指摘され、明確に請求される。前述の内容、ならびに1つまたは複数の態様の目的、特徴、および利点は、添付の図面と併せて行われる以下の詳細な説明から明らかになる。
【図面の簡単な説明】
【0039】
図1】本発明の一部の実施形態のさまざまな態様を含むワークフローを示す図である。
図2A】本発明の態様が実装され得る技術的環境のさまざまな要素を示す図である。
図2B】本発明の態様が実装され得る技術的環境のさまざまな要素を示す図である。
図2C】本発明の態様が実装され得る技術的環境のさまざまな要素を示す図である。
図3A】本発明の態様が実装され得る技術的環境のさまざまな要素を示す図である。
図3B】本発明の態様が実装され得る技術的環境のさまざまな要素を示す図である。
図4A図1のワークフローで発行された命令の例のさまざまな態様を示す図である。
図4B図1のワークフローで発行された命令の例のさまざまな態様を示す図である。
図5A図1のワークフローで発行された命令の例のさまざまな態様を示す図である。
図5B図1のワークフローで発行された命令の例のさまざまな態様を示す図である。
図6】本発明の一部の実施形態のさまざまな態様を含むワークフローを示す図である。
図7】クラウド・コンピューティング環境内で利用され得るコンピューティング・ノードの実施形態を示す図である。
図8】本発明の実施形態に従ってクラウド・コンピューティング環境を示す図である。
図9】本発明の実施形態に従って抽象モデル・レイヤを示す図である。
【発明を実施するための形態】
【0040】
個々の図を通じて類似する参照番号が同一の要素または機能的に類似する要素を参照している、本明細書に包含されてその一部を形成する添付の図面は、本発明の詳細な説明と共に本発明をさらに示し、本発明の原理を説明するのに役立つ。当業者によって理解されるように、添付の図面は、本発明の特定の実施形態の態様の理解を容易にするために提供され、それらの態様を説明する。本発明は、図に示された実施形態に限定されない。
【0041】
当業者によって理解されるように、本出願全体を通じて参照されているプログラム・コードは、ソフトウェアとハードウェアの両方を含む。例えば、本発明の特定の実施形態におけるプログラム・コードは、固定された機能のハードウェアを含むが、他の実施形態は、説明された機能のソフトウェアベースの実装を使用している。特定の実施形態は、両方の種類のプログラム・コードを組み合わせる。1つまたは複数のプログラムとも呼ばれるプログラム・コードの1つの例が、プログラム・モジュール42のセット(少なくとも1つ)を含んでいるプログラム/ユーティリティ40として図7に示されており、メモリ28に格納されてよい。
【0042】
「ネスト・レベル」という用語は、本明細書において、ハードウェアの階層レベルを表すために使用される。
【0043】
本発明の実施形態は、ユーザが内部インターフェイスを介して論理パーティション(LPAR)のトポロジー・データを取得できるようにするコンピュータ実装方法、コンピュータ・プログラム製品、およびコンピュータ・システムを含む。本発明の実施形態では、プログラム・コード(1つまたは複数のプロセッサ上で実行される)は、内部インターフェイスを介して、コンピュータ・システム内の物理プロセッシング・コアへの論理プロセッシング・コアのマッピングに関するトポロジー情報をユーザに提供する。本明細書においてより詳細に説明されるように、この情報を提供するために、プログラム・コードは、(1)中央処理装置(CPU:central processing unit)に提供する情報ブロック、またはコア情報、あるいはその両方を含む命令を実行し、返された情報のセキュリティ・パラメータを設定し(例えば、情報ブロックに基づいて、セキュリティが、特定のパーティション(例えば、ユーザ専用のパーティション)またはすべてのパーティションあるいはその両方へのアクセスを許可する)、(2)この命令に応答して、オペレーティング・システム(OS)によって使用されるトポロジー・データのマッピングに関する情報を提供し、(3)この情報を内部インターフェイスに表示する。本明細書において説明されるように、本発明の実施形態では、1つまたは複数のプロセッサが、望ましいグローバルな表示を提供するデータを取得することが、特定の情報ブロックを含む命令を実行することによって可能にされる。この特定の情報ブロックに関するさまざまな選択肢が存在するが、本明細書において説明される選択肢は、拡張CPU/コア情報ブロックおよび拡張物理CPU/コア情報ブロックと呼ばれる。本明細書において例示されるように、これらの情報ブロックに値を含めるために、データの単位(例えば、ワード)が予約されている。拡張CPU/コア情報ブロックの場合、論理コアの好ましいディスパッチ位置の座標のために、データの単位が予約されている。拡張物理CPU/コア情報ブロックの場合、物理コアの実際の位置の情報の座標のために、データの単位が予約されている。命令にこの情報を含むことに少なくとも部分的に基づいて、プログラム・コードは、望ましいトポロジー・データを取得する。
【0044】
本発明のさまざまな実施形態の態様は、それらの態様が、コンピュータ固有の要素を利用して計算することに固有である問題に対処するような計算に、密接に関係している。現在、ハイパーバイザ全体にわたって、物理コアへの論理コアのマッピングのグローバルな表示に関する情報を取得することは、使用可能でない。この問題に対処することには、ハイパーバイザ、仮想マシン(VM:virtual machines)、論理パーティション(LPAR)、およびLPARを生成して維持するシステム、プロセッサ・リソース/システム管理機構(PR/SM:processors resources/system managers)(TM)(ハイパーバイザの一種であるとも見なされ得る)が関与する。PR/SM(TM)は、International Business Machines Corporation(ニューヨーク州アーモンク市)によって提供される。PR/SMは、少なくとも1つの管轄区域内のInternational Business Machines Corporationの商標または登録商標である。ハイパーバイザは、複数のオペレーティング・システム(OS)が、同じ物理的計算リソースを共有しながら、互いに並行して実行することを可能にする(小さい)ソフトウェア層である。これらの動作するリソースは、仮想マシン(VM)を含む。VMは、ハードウェア・コンピューティング環境をシミュレートすることができるソフトウェアである。ハイパーバイザは、仮想マシン・モニタ(VMM:virtual machine monitors)とも呼ばれる。ハイパーバイザは、(VMが互いに並行して実行するときに)VMを互いに分離し、各VMに、計算能力、メモリ、およびストレージ容量を含むが、これらに限定されない、基礎になる物理的計算リソースのVM自身のスライスを論理的に割り当てることによって、VMを管理する。ハイパーバイザは、VMが互いに干渉することを防ぐ。したがって、非限定的な例では、特定のOSに問題が発生した(例えば、セキュリティが侵害された、OSがクラッシュした)場合に、問題が発生したOSを実行していない他のVMは、機能し続けることができる。システム・リソースが分割される1つの方法は、論理パーティション(LPAR)を作成して維持することによる。LPARは、特定のOSをサポートするために定義されるプロセッサ・ハードウェアのサブセットである。各LPARは、プロセッサ、メモリ、入出力(I/O:input/output)デバイスなどを含むが、これらに限定されない、さまざまな計算リソースを含み、各LPARは、独立したシステムとして動作する。メインフレーム・ハードウェア・コンピューティング・システムは、複数のLPARを含むことができる。プロセッサ・リソースおよびシステム管理機構(PR/SM)の両方と見なされるシステムは、LPARの分割を提供するハードウェアおよびファームウェアの組合せを含む。詳細には、PR/SMの機能は、LPARを作成して実行する。LPARを生成して維持するのはPR/SMであるが、LPARは、パーティションを作成する機能および機能の結果のことを両方とも指す方法で使用されることもある。
【0045】
本発明の実施形態、およびコンピューティングとの実施形態の密接な関係に戻り、前述したように、ハイパーバイザ全体にわたるマッピングのグローバルな表示を提供するための情報は、現在使用できない。(コンピューティング・システムの)外部のインターフェイスを利用してこの情報を提供することは、セキュリティ・リスクを意味し、したがって、内部のリソースを利用して、これらのデータの送信および取得の両方を行うのが望ましい。本発明の実施形態では、内部のリソース上で実行されているプログラム・コードは、セキュリティ制御を使用して、すべての論理パーティションのグローバルな表示を提供する。本発明の実施形態は、ユーザがシステム全体で物理コアを特定することを可能にすることに加えて、ハイパーバイザと共に論理コアが実行されているときに、論理コアの物理的配置を取得するための、すべてのLPARのすべての論理コアの位置をユーザに提供することによって、コンピューティング・システム自体の機能も改善する。セキュリティ手順が実施されて、このデータを内部で取得することが、これまで可能でなかったため、コンピューティング・システムの機能が全体として改善され、これらのデータを取得することは、コンピュータ・システムの機能に対するさらなる改善も可能にする。この位置情報は、(1)改善された(情報に基づく)スケジューリングの決定を可能にすること、(2)(論理コアの)好ましい位置へのディスパッチを可能にすること、(3)コンピューティング・システムの改良された性能分析のためのデータを提供すること、または(4)改良された診断情報を提供することによって、コンピューティングの問題を識別するための機会を改善すること、あるいはその組合せを含むが、これらに限定されない、利点を提示する。この追加の改善には、コンピューティング環境内の実用的応用がある。したがって、本発明の実施形態の態様は、さまざまなデータへの安全な内部のアクセスを可能にし、これらのデータが関連するコンピューティング・システムの機能をさらに改善するために、これらのデータが利用され得る。
【0046】
本発明のさまざまな実施形態の態様は、コンピューティング・システム内の論理コアおよび物理コアをマッピングするデータを取得する既存の方法を上回る大幅な改善も表す。既存の手法は、本発明の実施形態とは異なり、内部インターフェイスを介して、すべてのLPARおよび物理コアへのLPARのマッピングのグローバルな表示を提供しない。現在、コンピューティング・システムのハードウェア管理コンソール(HMC:hardware management console)へのインターフェイスを利用して、いくつかのデータ(ただし、本明細書において説明されているような、すべてのデータではない)が取得され得る。この既存の手法では、HMCが、プロセッサ・リソース/システム管理機構(PR/SM)とHMCの間の内部インターフェイスを介して、(PR/SM)から制限されたデータを抽出する。しかし、LPARのダンプから制限された情報を抽出する能力のみを提供するこの手法に加えて、この種の外部インターフェイスを実装することは、多くの既存のコンピューティング・システムのセキュリティ・ポリシーに違反するセキュリティ・リスクを意味する。本明細書における例の態様は、下でさらに詳細に説明されるように、これらのデータを要求または取得するための外部インターフェイスが存在しないため、改善を表す。むしろ、本発明の実施形態では、1つまたは複数の処理リソース上で実行されているプログラム・コードは、内部の命令を介してLPARのトポロジー情報を取得する(内部インターフェイスにおいて、制限されたデータより多くのデータを提供する)。既存の手法を使用してトポロジー情報を取得することに伴う別の問題は、ユーザのセキュリティ・アクセスが、提供されるデータを制限するべきであるということである。しかし、現在の手法は、内部ソフトウェア・インターフェイスを利用せず、本発明の実施形態において提供されるデータの幅広さを欠いているため、コンピューティング・システムのセキュリティが、可能な回避方法のいずれとも統合されない。したがって、本発明の実施形態は、内部ソフトウェア・インターフェイスを介してこれらのデータを提供するだけでなく、本発明の実施形態は、基礎になるシステム要素を取り囲むセキュリティ・ポリシーも実施して、これらのデータを提供する。本明細書において述べられているように、これらの既存の手法が、個別のパーティションが通常はどの物理コアを使用しているかを特定するための個別のパーティションの能力のみを提供するため、マッピングにアクセスするための既存の手法は、制限されたデータを提供する。既存の方法によって、グローバルなトポロジー・データは提供されていない。本発明の実施形態は、少なくとも提供されるグローバルな表示のため、大幅な改善をもたらす。
【0047】
本発明の一部の実施形態の態様は、少なくとも、本発明の実施形態において返されるトポロジー情報が、既存の手法における情報よりも網羅的で詳細であるため、トポロジー・データを取得する既存の方法を超える大幅な改善をもたらす。例えば、一部の既存の手法では、単一のCPUが、特定のコンピューティング環境の物理的トポロジー内のその単一のCPUの位置を表す何らかの(制限された)情報を返す命令を発行することができる。しかし、本発明の一部の実施形態は、新しい命令または既存の命令に対する拡張あるいはその両方を利用することを含む、内部インターフェイスを介して特定のコンピューティング環境に関するLPARのトポロジー・データを取得する態様を含む。本発明の実施形態では、オペレータが、返される情報(例えば、すべての発行するパーティションに関する情報またはすべての定義されたパーティションに関する情報あるいはその両方)の幅を決定する選択を(例えば、インターフェイスを介して)行うことができるため、LPARのトポロジー・データを取得することの柔軟性は、CPUが制限された単一の命令を発行することより優れている。したがって、本発明の一部の実施形態の態様は、システム全体のコアの物理的位置に加えて、すべてのパーティションのグローバルな表示または特定の論理パーティションの表示あるいはその両方を提供することができる。本明細書において説明されているように、本発明の一部の実施形態は、(1)構成のすべての物理プロセッサの位置、または(2)ハイパーバイザが構成の論理プロセッサをディスパッチする(すなわち、実行する)ことを好むハイパーバイザのトポロジー内の位置、あるいはその両方のうちの1つまたは複数を返すことをハイパーバイザに要求するために、ハイパーバイザへのアプリケーション・プログラミング・インターフェイス(API:application programming interface)呼び出しを含む。
【0048】
本発明の実施形態の態様は、リソースの共有のために物理コアを論理コアに単に割り当てる、関連する他の態様よりも、大幅に多くのことを提供する。本明細書において説明されているように、単に割り当てを行うのではなく、本発明の一部の実施形態では、プログラム・コードは、ハードウェアの階層レベル全体にわたる論理コアおよび物理コアの座標を提供する。これらの座標は、論理パーティションの物理コアへの、論理コアに関する使用可能な動的マッピング情報、または特定のコンピューティング・アーキテクチャ内のすべての論理パーティションのセキュリティ制御、あるいはその両方を構成する。
【0049】
図1および図6は、コンピューティング・システム内の論理コアおよび物理コアをマッピングするデータを取得する1つまたは複数のプロセッサによって実行されるプログラム・コードを含む、本発明の一部の実施形態のさまざまな態様の概要を示すワークフロー100、600である。図1のワークフロー100の説明全体を通じて、さまざまな態様に関する詳細の例を提供するために、さまざまな他の図が参照される。例えば、図2A図2C図3A図3B、および図7図9は、図1の態様が実装され得る一部のコンピューティング環境のさまざまな態様を示すアーキテクチャ図である。一方、図4A図4Bおよび図5A図5Bは、プログラム・コードが物理コアへの論理コアのグローバルなトポロジー・マッピングを生成できるように、LPARデータを取得するために、本発明の実施形態においてプログラム・コードによって利用される命令のさまざまな態様を詳細に示している。
【0050】
図1を参照すると、ワークフロー100では、1つまたは複数のプロセッサ上で実行されているプログラム・コードが、命令を発行する(110)。この命令は、(1)拡張CPUまたはコア情報ブロック、または(2)拡張物理CPUまたはコア情報ブロック、あるいはその両方のうちの1つまたは複数を含む。この命令を発行すること(110)によって、プログラム・コードは、コンピューティング・システム内の論理コアおよび物理コアをマッピングするデータを(図1にさらに示されているように)最終的に取得し、このデータは、(セキュリティ制御を伴う)すべての論理パーティション、すべての論理パーティションのすべての論理コアの位置およびハイパーバイザと共に実行されている論理コアの物理的配置、ならびにシステム全体のコアの物理的位置のグローバルな表示を提供する情報を含む。
【0051】
命令を実行すること(110)に加えて、本発明の他の態様が、多くの種類のコンピューティング環境内で実施されてよい。本明細書における例では、プログラム・コードがコンピューティング・システム内の論理コアおよび物理コアをマッピングするデータを取得すると仮定すると、これらの態様が統合されるコンピューティング環境は、ハイパーバイザ、VM、論理LPAR、およびLPARを生成して維持するシステム(ハイパーバイザの一種であるとも見なされ得る)を含んでいる要素を含むが、これらに限定されない。どのような制限も示唆するためでなく、単に例示の目的で、図2A図2Cは、本発明の一部の実施形態の態様が組み込まれ得る、コンピューティング環境およびコンピューティング環境の要素の例である。
【0052】
図2Aのコンピューティング環境は、International Business Machines Corporation(ニューヨーク州アーモンク市)によって提供されるz/Architecture(R)命令セット・アーキテクチャに基づく。しかし、z/Architecture命令セット・アーキテクチャは1つの例示的なアーキテクチャにすぎず、International Business Machines Corporationまたは他の実体あるいはその両方の、他のアーキテクチャまたは他の種類のコンピューティング環境あるいはその両方が、本発明の1つまたは複数の態様を含むか、または使用するか、あるいはその両方であってよい。z/ArchitectureおよびIBMは、少なくとも1つの管轄区域内のInternational Business Machines Corporationの商標または登録商標である。コンピューティング環境は、Intel(R)x86アーキテクチャ、International Business Machines Corporationの他のアーキテクチャ、または他の企業のアーキテクチャ、あるいはその組合せを含むが、これらに限定されない、他のアーキテクチャに基づいてよい。Intelは、米国および他の国における、Intel Corporationまたはその子会社の商標または登録商標である。
【0053】
図2Aに戻り、1つの例では、コンピューティング環境10は中央電子処理装置(CEC:central electronics complex)11を含む。中央電子処理装置11は、例えば、1つまたは複数の汎用プロセッサ(中央処理装置(CPU)13としても知られている)および1つまたは複数の専用プロセッサ(例えば、ニューラル・ネットワーク・プロセッサ31)などの1つまたは複数のプロセッサおよび入出力(I/O)サブシステム14に結合された、メモリ12(システム・メモリ、メイン・メモリ、主記憶装置、中央記憶装置、ストレージとしても知られている)などの、複数のコンポーネントを含んでいる。
【0054】
例として、1つまたは複数の専用プロセッサは、1つまたは複数の汎用プロセッサから分離していてよく、または少なくとも1つの専用プロセッサは、少なくとも1つの汎用プロセッサ内に埋め込まれてよく、あるいはその両方であってよい。他の変形も可能である。
【0055】
I/Oサブシステム14は、中央電子処理装置の一部であるか、または中央電子処理装置から分離することができる。I/Oサブシステム14は、主記憶装置12と、中央電子処理装置に結合された入出力制御ユニット15および入出力(I/O)デバイス16との間の情報の流れを方向付ける。
【0056】
多くの種類のI/Oデバイスが使用されてよい。1つの特定の種類は、データ・ストレージ・デバイス17である。データ・ストレージ・デバイス17は、1つまたは複数のプログラム18、1つまたは複数のコンピュータ可読プログラム命令19、またはデータ、あるいはその組合せなどを格納することができる。コンピュータ可読プログラム命令は、本発明の態様の実施形態の機能を実行するように構成され得る。
【0057】
中央電子処理装置11は、取り外し可能/取り外し不可、揮発性/不揮発性のコンピュータ・システム・ストレージ媒体を含むか、またはそのようなコンピュータ・システム・ストレージ媒体に結合されるか、あるいはその両方であることができる。例えば、中央電子処理装置11は、取り外し不可、不揮発性の磁気媒体(通常は、「ハード・ドライブ」と呼ばれる)、取り外し可能、不揮発性の磁気ディスク(例えば、「フロッピー(R)・ディスク」)に対する読み取りと書き込みを行うための磁気ディスク・ドライブ、あるいはCD-ROM、DVD-ROM、または他の光媒体などの取り外し可能、不揮発性の光ディスクに対する読み取りまたは書き込みを行うための光ディスク・ドライブ、あるいはその組合せを含むか、またはこれらに結合されるか、あるいはその両方であることができる。他のハードウェア・コンポーネントまたはソフトウェア・コンポーネントあるいはその両方を、中央電子処理装置11と併用できるということが理解されるべきである。その例として、マイクロコードまたはミリコード、デバイス・ドライバ、冗長プロセッシング・ユニット、外部ディスク・ドライブ・アレイ、RAIDシステム、テープ・ドライブ、およびデータ・アーカイブ・ストレージ・システムなどが挙げられるが、これらに限定されない。
【0058】
さらに、中央電子処理装置11は、他の多数の汎用または専用のコンピューティング・システム環境または構成で運用され得る。中央電子処理装置11での使用に適し得る周知のコンピューティング・システム、環境、または構成、あるいはその組合せの例としては、パーソナル・コンピュータ(PC:personal computer)システム、サーバ・コンピュータ・システム、シン・クライアント、シック・クライアント、ハンドヘルドまたはラップトップ・デバイス、マイクロプロセッサ・システム、マイクロプロセッサベース・システム、セット・トップ・ボックス、プログラマブル・コンシューマ・エレクトロニクス、ネットワークPC、マイクロコンピュータ・システム、メインフレーム・コンピュータ・システム、およびこれらのシステムまたはデバイスのいずれかを含む分散クラウド・コンピューティング環境などが挙げられるが、これらに限定されない。
【0059】
中央電子処理装置11は、1つまたは複数の実施形態では、論理分割または仮想化あるいはその両方のサポートを提供する。1つの実施形態では、図2Bに示されているように、メモリ12は、例えば、1つまたは複数の論理パーティション20、論理パーティションを管理するハイパーバイザ21、およびプロセッサ・ファームウェア22を含んでいる。前述したように、ハイパーバイザ21の例は、PR/SM(TM)である。一部の実施形態では、CEC11は、物理的に分割され得る。物理パーティションのために、その物理パーティションに関するトポロジー情報を取得することができる。この実施形態では、物理パーティションの各々が、別々のマシンとして機能する。
【0060】
各論理パーティション20は、別々のシステムとして機能することができる。すなわち、各論理パーティションは、独立してリセットされて、International Business Machines Corporation(ニューヨーク州アーモンク市)によって提供されるz/OS(R)オペレーティング・システムなどのゲスト・オペレーティング・システム23、または結合機能制御コード(CFCC:coupling facility control code)などの他の制御コード24を実行し、異なるプログラム25と共に動作することができる。論理パーティション内で実行されるオペレーティング・システムまたはアプリケーション・プログラムは、完全なシステム全体にアクセスできるように見えるが、実際は、その一部のみが利用可能である。z/OSオペレーティング・システムが例として提供されているが、本発明の1つまたは複数の態様に従って、International Business Machines Corporationまたは他の企業あるいはその両方によって提供される他のオペレーティング・システムが使用されてよい。z/OSは、少なくとも1つの管轄区域内のInternational Business Machines Corporationの商標または登録商標である。
【0061】
メモリ12は、論理パーティションに割り当てられ得る物理プロセッサ・リソースである、例えばCPU13(図2A)に結合される。例えば、論理パーティション20は、1つまたは複数の論理プロセッサを含んでよく、それらの論理プロセッサの各々は、論理パーティションに動的に割り当てられ得る物理プロセッサ・リソース13のすべてまたは一部を表す。
【0062】
さらなる実施形態では、中央電子処理装置は、(論理分割をサポートするか、またはサポートしない)仮想マシンのサポートを提供する。図2Cに示されているように、中央電子処理装置11のメモリ12は、例えば、1つまたは複数の仮想マシン26、仮想マシンを管理する仮想マシン・マネージャ(ハイパーバイザ27など)、およびプロセッサ・ファームウェア28を含んでいる。ハイパーバイザ27の1つの例は、International Business Machines Corporation(ニューヨーク州アーモンク市)によって提供されるz/VM(R)ハイパーバイザである。ハイパーバイザは、ホストと呼ばれることがある。z/VMは、少なくとも1つの管轄区域内のInternational Business Machines Corporationの商標または登録商標である。
【0063】
中央電子処理装置の仮想マシンのサポートは、多数の仮想マシン26を操作する能力を提供し、各仮想マシン26は、異なるプログラム29と共に動作し、Linux(R)オペレーティング・システムなどのゲスト・オペレーティング・システム30を実行することができる。各仮想マシン26は、別々のシステムとして機能することができる。すなわち、各仮想マシンは、独立してリセットされ、ゲスト・オペレーティング・システムを実行し、異なるプログラムと共に動作することができる。仮想マシン内で実行されるオペレーティング・システムまたはアプリケーション・プログラムは、完全なシステム全体にアクセスできるように見えるが、実際は、その一部のみが利用可能である。z/VM(R)およびLinuxが例として提供されているが、本発明の1つまたは複数の態様に従って、他の仮想マシン・マネージャまたはオペレーティング・システムあるいはその両方が使用されてよい。Linux Foundation(世界規模での商標の所有者であるLinus Torvaldsの専用実施権者)からのサブライセンスに従って、登録商標Linux(R)が使用される。
【0064】
本発明の1つまたは複数の態様を組み込んで使用するためのコンピューティング環境の別の実施形態が、図3A図3Bを参照して説明される。図3Aは、特定のコンピューティング環境の一般的な態様を示しており、図3Bは、この環境内の命令実行(例えば、図1の110)のさらなる詳細を示している。この例では、コンピューティング環境は、International Business Machines Corporation(ニューヨーク州アーモンク市)によって提供されるz/Architecture(R)命令セット・アーキテクチャに基づく。z/Architecture命令セット・アーキテクチャの1つの実施形態は、“z/Architecture Principles of Operation," IBM Publication No.SA22-7832-12, Thirteenth Edition, September 2019という公開文献に記載されている。
【0065】
図3Aを参照すると、コンピューティング環境100は、例えば、汎用コンピューティング・デバイスの形態で示されるコンピュータ・システム102を含んでいる。コンピュータ・システム102は、1つまたは複数のバスまたは他の接続あるいはその両方を介して互いに結合された1つまたは複数の汎用プロセッサまたはプロセッシング・ユニット104(例えば、中央処理装置(CPU))、ニューラル・ネットワーク・プロセッサ105などの少なくとも1つの専用プロセッサ、メモリ106(例えば、システム・メモリ、メイン・メモリ、主記憶装置、中央記憶装置、またはストレージとしても知られている)、および1つまたは複数の入出力(I/O)インターフェイス108を含んでよいが、これらに限定されない。例えば、プロセッサ104、105およびメモリ106は、1つまたは複数のバス110を介してI/Oインターフェイス108に結合され、プロセッサ104、105は、1つまたは複数のバス111を介して互いに結合される。
【0066】
バス111は、例えば、メモリまたはキャッシュ・コヒーレンス・バスであり、バス110は、例えば、メモリ・バスまたはメモリ・コントローラ、ペリフェラル・バス、アクセラレーテッド・グラフィックス・ポート、およびさまざまなバス・アーキテクチャのいずれかを使用するプロセッサまたはローカル・バスを含む、複数の種類のバス構造のいずれかの1つまたは複数を表す。例として、そのようなアーキテクチャは、ISA(Industry Standard Architecture)、MCA(Micro Channel Architecture)、EISA(Enhanced ISA)、VESA(Video Electronics Standards Association)ローカル・バス、およびPCI(Peripheral Component Interconnects)を含むが、これらに限定されない。
【0067】
例えば、メモリ106は、例えば1つまたは複数のバス111を介して、プロセッサ104またはニューラル・ネットワーク・プロセッサ105あるいはその両方のローカル・キャッシュ114に結合されてよい、共有キャッシュなどのキャッシュ112を含んでよい。さらに、メモリ106は、1つまたは複数のプログラムまたはアプリケーション116および少なくとも1つのオペレーティング・システム118を含んでよい。例示的なオペレーティング・システムは、International Business Machines Corporation(ニューヨーク州アーモンク市)によって提供されるz/OS(R)オペレーティング・システムを含む。z/OSは、少なくとも1つの管轄区域内のInternational Business Machines Corporationの商標または登録商標である。International Business Machines Corporationまたは他の実体あるいはその両方によって提供される他のオペレーティング・システムが使用されてもよい。メモリ106は、本発明の態様の実施形態の機能を実行するように構成され得る1つまたは複数のコンピュータ可読プログラム命令120を含んでもよい。
【0068】
さらに、1つまたは複数の実施形態では、メモリ106はプロセッサ・ファームウェア122を含む。プロセッサ・ファームウェアは、例えば、プロセッサのマイクロコードまたはミリコードを含む。プロセッサ・ファームウェアは、例えば、上位レベルのマシン・コードの実装において使用される、ハードウェア・レベルの命令またはデータ構造あるいはその両方を含む。1つの実施形態では、プロセッサ・ファームウェアは、例えば、信頼できるソフトウェアを含んでいるマイクロコードまたはミリコード、基盤になるハードウェアに固有のマイクロコードまたはミリコードとして通常は提供され、システムのハードウェアへのオペレーティング・システムのアクセスを制御する、独自のコードを含む。
【0069】
コンピュータ・システム102は、例えばI/Oインターフェイス108を介して、ユーザ端末、テープ・ドライブ、ポインティング・デバイス、ディスプレイ、および1つまたは複数のデータ・ストレージ・デバイス134などの、1つまたは複数の外部デバイス130と通信してよい。データ・ストレージ・デバイス134は、1つまたは複数のプログラム136、1つまたは複数のコンピュータ可読プログラム命令138、またはデータ、あるいはその組合せなどを格納してよい。コンピュータ可読プログラム命令は、本発明の態様の実施形態の機能を実行するように構成されてよい。
【0070】
コンピュータ・システム102は、例えばI/Oインターフェイス108を介してネットワーク・インターフェイス132と通信してもよく、ネットワーク・インターフェイス132は、コンピュータ・システム102が、ローカル・エリア・ネットワーク(LAN:local area network)、一般的な広域ネットワーク(WAN:wide area network)、またはパブリック・ネットワーク(例えば、インターネット)、あるいはその組合せなどの1つまたは複数のネットワークと通信できるようにし、他のコンピューティング・デバイスまたはシステムとの通信を実現する。
【0071】
コンピュータ・システム102は、取り外し可能/取り外し不可、揮発性/不揮発性のコンピュータ・システム・ストレージ媒体を含むか、またはそのようなコンピュータ・システム・ストレージ媒体に結合されるか、あるいはその両方であってよい。例えば、コンピュータ・システム102は、取り外し不可、不揮発性の磁気媒体(通常は、「ハード・ドライブ」と呼ばれる)、取り外し可能、不揮発性の磁気ディスク(例えば、「フロッピー・ディスク」)に対する読み取りと書き込みを行うための磁気ディスク・ドライブ、またはCD-ROM、DVD-ROM、もしくは他の光媒体などの取り外し可能、不揮発性の光ディスクに対する読み取りと書き込みを行うための光ディスク・ドライブ、あるいはその組合せを含むか、またはこれらに結合されるか、あるいはその両方であってよい。他のハードウェア・コンポーネントまたはソフトウェア・コンポーネントあるいはその両方を、コンピュータ・システム102と併用できるということが理解されるべきである。その例として、マイクロコードまたはミリコード、デバイス・ドライバ、冗長プロセッシング・ユニット、外部ディスク・ドライブ・アレイ、RAIDシステム、テープ・ドライブ、およびデータ・アーカイブ・ストレージ・システムなどが挙げられるが、これらに限定されない。
【0072】
コンピュータ・システム102は、他の多数の汎用または専用のコンピューティング・システム環境または構成で運用されてよい。コンピュータ・システム102での使用に適し得る周知のコンピューティング・システム、環境、または構成、あるいはその組合せの例としては、パーソナル・コンピュータ(PC:personal computer)システム、サーバ・コンピュータ・システム、シン・クライアント、シック・クライアント、ハンドヘルドまたはラップトップ・デバイス、マイクロプロセッサ・システム、マイクロプロセッサベース・システム、セット・トップ・ボックス、プログラマブル・コンシューマ・エレクトロニクス、ネットワークPC、マイクロコンピュータ・システム、メインフレーム・コンピュータ・システム、およびこれらのシステムまたはデバイスのいずれかを含む分散クラウド・コンピューティング環境などが挙げられるが、これらに限定されない。
【0073】
図1を参照すると、本発明の代替の実施形態では、命令が発行される(110)。図3Aのコンピューティング環境に実装されるように、プロセッサ(例えば、プロセッサ104またはプロセッサ105あるいはその両方)は、命令を実行するために使用される複数の機能コンポーネント(またはそれらのサブセット)を含む。図3Bに示されているように、これらの機能コンポーネントは、例えば、実行される命令をフェッチするための命令フェッチ・コンポーネント150と、フェッチされた命令をデコードするため、およびデコードされた命令のオペランドを取得するための命令デコード・ユニット152と、デコードされた命令を実行するための1つまたは複数の命令実行コンポーネント154と、必要な場合に、命令を実行するためにメモリにアクセスするためのメモリ・アクセス・コンポーネント156と、実行された命令の結果を提供するための書き戻しコンポーネント158とを含む。コンポーネントのうちの1つまたは複数は、命令処理において1つまたは複数のレジスタ160にアクセスするか、または1つまたは複数のレジスタ160を使用するか、あるいはその両方を実行してよい。
【0074】
図1に戻り、前述したように、プログラム・コード(110)によって発行された命令が、ヘッダーおよび1つまたは複数の(拡張パーティション時間(extended partition-time))情報ブロックを含む。前述したように、これらの情報ブロックは、(1)拡張CPUまたはコア情報ブロック、または(2)拡張物理CPUまたはコア情報ブロック、あるいはその両方のうちの1つまたは複数を含むことができる。一部の例では、拡張物理時間情報ブロック(extended physical-time-information block)は、拡張物理ヘッダーを含み、その後に、マシン内、またはマシンが物理的に分割されている場合は物理パーティション内で構成された物理CPU/コアごとの96バイトの拡張物理CPU/コア情報ブロックが続く。本発明の一部の実施形態では、命令がヘッダーを含み、その後に、1つまたは複数の情報ブロックが続く。利用されるヘッダーは、さまざまな形式を取ることができるが、この例の目的では、説明を簡単にするために、ヘッダーは2つの異なる部分から成る。本発明の一部の実施形態では、ヘッダーは、拡張時間情報ブロック・ヘッダーおよび拡張パーティション・ヘッダーを含む。一部の実施例では、ヘッダー内の値(例えば、本明細書において後で説明される物理データ・フラグ)が、命令内で指名されたパーティションのデータが存在することを示す場合、拡張物理時間情報ブロックが使用可能である。本発明の一部の実施形態では、各拡張パーティション時間情報ブロックは拡張パーティション・ヘッダーを含み、その後に、パーティション内で認識された論理CPU/コアごとに、拡張CPU/コア情報ブロックが続く。本発明の一部の実施形態では、本明細書においてより詳細に説明される、この拡張物理時間情報ブロックは、最後の拡張パーティション時間情報ブロックの後に続く。
【0075】
図4A図4Bおよび図5A図5Bは、OSによって利用され得るトポロジー・データをマッピングするための情報を取得するため、およびプログラム・コードによって内部インターフェイスを介してこの情報の表示を提供するために、1つまたは複数のプロセッサによって発行された命令内で利用されるヘッダーおよび情報ブロックの例のさまざまな態様を示している。図4A図4Bは、本発明の実施形態において利用され得る命令ヘッダーの一部の例である。詳細には、図4Aは、拡張時間情報ブロック・ヘッダーの少なくとも一部の例であり、図4Bは、拡張パーティション・ヘッダーの少なくとも一部の例である。一方、図5Aは、拡張物理CPUまたはコア情報ブロックの少なくとも一部の例であり、図5Bは、拡張CPUまたはコア情報ブロックの少なくとも一部の例である。ヘッダーおよび情報ブロックは、プロセッサによって実行された場合に、OSによって使用するためのトポロジー・データを取得する、命令を含むことができる(例えば、図1の110)。
【0076】
本発明の実施形態では、本明細書において開示された命令内で、拡張時間情報ブロックが拡張時間情報ブロック・ヘッダーを含み、その後に、1つまたは複数の拡張パーティション時間情報ブロックが続く。一方、拡張パーティション時間情報ブロックは拡張パーティション・ヘッダーを含み、その後に、パーティション内で認識された論理CPU/コアごとに、拡張CPU/コア情報ブロックが続く。一部の例では、1つまたは複数のヘッダーは、情報が提供される論理パーティションの数、データが特定の物理パーティションに存在するかどうか、マシン内もしくはシステムが物理的に分割されている場合は物理パーティション内で構成されているCPU/コアの数、命令内の値の位置を示す情報、パーティション数、構成されている論理CPU/コアの数、または認識された論理CPU/コアの数、あるいはその組合せを含むが、これらに限定されない、(拡張CPU/コアまたは拡張物理CPU/コア)情報ブロックに関連する値を含むが、これらに限定されない、さまざまな値を含むことができる。
【0077】
最初に図4Aを参照すると、図4Aは、物理コアへの論理コアのマッピングのためのトポロジー情報を生成する命令の一部として、本発明の実施形態において利用され得る拡張時間情報ブロック・ヘッダーの少なくとも一部を示している。単に例示の目的で、非限定的な例として提供された図4Aの特定の詳細を再検討すると、図4Aの例では、Npar410フィールドが、情報が提供される論理パーティションの数を表す値を含んでいる。この例では、この値は同じままである。Flags412フィールドは、(例えば、1に設定されることによって)物理パーティションのデータが存在するかどうかを示す、物理データ・フラグである。これらのデータは、拡張物理時間情報ブロックに含まれる。マシン内またはシステムが物理的に分割されている場合は物理パーティション内で構成されているCPU/コアの数が、Physcpus416フィールドに含まれる。この数は、返された拡張パーティション時間情報ブロック内で報告された、論理パーティションをサポートするために使用されているマシン構成の報告におけるすべての物理CPU/コアを含むことができる。したがって、Physcpus416は、マシン内またはシステムが物理的に分割されている場合は物理パーティション内で構成されているCPU/コアの数を表す数を保持することができる。本発明の一部の実施形態では、この数は、返された拡張パーティション時間情報ブロック内で報告された、論理パーティションをサポートするために使用されているマシン構成の報告におけるすべての物理CPU/コアを含む。命令が発行された(例えば、図1の110)パーティションの拡張パーティション時間情報ブロックの拡張時間情報ブロック内のバイト・オフセットが、Thispart418フィールドに含まれる。
【0078】
図4Bは、前述したように、拡張パーティション・ヘッダーと呼ばれるヘッダーの少なくとも一部の例である。本発明の実施形態では、拡張パーティション時間情報ブロックは拡張パーティション・ヘッダー(図4B)を含み、その後に、パーティション内で認識された論理CPU/コアごとに、拡張CPU/コア情報ブロック(例えば、図5A図5B)が続く。そのため、拡張パーティション・ヘッダーは、パーティション番号(例えば、図4BのPN426)、構成された二次CPU/コアの数を含むこともできる、構成された論理CPU/コアの数(例えば、図4BのCpus428)、構成された二次CPU/コアの数を含むこともできる、認識された論理CPU/コアの数(例えば、図4BのRcpus430)を含むが、これらに限定されない、特定のパーティションに固有の情報を含むフィールドを含む。汎用CPUは、一次型CPU/コア(CP)を含む。二次型CPU/コアは、System z Integrated Information Processor(zIIP)および統合結合機能(ICF:integrated coupling facilities)などのようなものを含むが、これらに限定されない、専用エンジンである。
【0079】
図1に戻り、プロセッサが、情報ブロックを含んでいる命令を発行し(110)、これらの情報ブロックの特徴の例が、図5A図5Bに示されている。前述し、図5A図5Bに示されたように、拡張CPUまたはコア情報ブロックは、論理コアの好ましいディスパッチ位置を含めるための空間(図5Bを参照)またはデータ要素(例えば、ワード)を含み、一方、拡張物理CPUまたはコア情報ブロックは、物理コアの実際の位置を含めるための空間(図5Aを参照)またはデータ要素(例えば、ワード)を含む。命令にこの情報を含むことに少なくとも部分的に基づいて、プログラム・コードは、望ましいトポロジー・データを取得する(例えば、図1の130)。
【0080】
図5A図5Bを参照すると、ブロック内で提供されるいくつかの値は、コンピューティング・システムの特徴に依存する。例えば、Cpuadd510は、CPUの論理CPUアドレスまたはコアの論理コア識別情報のいずれかである。本発明の一部の実施形態では、拡張物理CPUまたはコア情報ブロックおよび拡張CPUまたはコア情報ブロックは、特定のネスト・レベル(すなわち、ハードウェアの階層レベル)での論理コアの好ましいディスパッチ位置または物理コアの実際の位置のいずれかを記述するインジケータを含む。ここで、図5A図5BのCordL(1~6)522フィールドおよびMNestC524フィールドを参照すると、示された例では、これらのデータ要素(例えば、ワード)は、本発明の実施形態において、論理コアの好ましいディスパッチ位置または物理コアの実際の位置を命令情報ブロックに含めるために利用される(この命令に応答して、オペレーティング・システムによって使用されるトポロジー・データのマッピングのための情報が提供される)。CordL(1~6)522は、特定のネスト・レベル(すなわち、ハードウェアの階層レベル)での論理コアの好ましいディスパッチ位置(図5B)または物理コアの実際の位置(図5A)を含む。情報ブロックの両方の例では、MNestC524の値は、構成の可能性のあるトポロジー・ネスト・レベルの数を示す。前述のz/Architectureを利用するコンピューティング環境を含むが、これらに限定されないコンピューティング環境では、特定のコンピューティング・システムが、ドロワーごとに2つのノードを含む4つのドロワー、ノードごとに3つのチップ、およびチップごとに10個のコアを含む場合、CordL(X)フィールド(例えば、図5A図5Bの522)は、記述されたコアのトポロジー位置を提供する。例えば、フィールド522は、特定のコアがドロワー3、ノード2、チップ1、コア8にあることを示してよい。
【0081】
図5A図5Bを参照すると、CordL(1~6)522フィールド(論理コアの好ましいディスパッチ位置(図5B)または物理コアの実際の位置(図5A))は、より詳細な情報(または、あまり詳細でない情報)を含むことができる。
【0082】
本発明の一部の実施形態において提供され得るより詳細な情報の例として、特定のネスト・レベルでの位置で、8ビットの符号なし2進整数をそれぞれ含んでいる6つの1バイト・フィールドを構成する。したがって、各要素の値は、特定のトポロジー・ネスト・レベルでの論理コアの好ましいディスパッチ位置の座標を示す。この例では、座標の値は1を原点とする。0の値は、(1)トポロジーにおいて特定のネスト・レベルが定義されていないこと、(2)マシンが値を提供できないこと、または(3)論理コアが、このネスト・レベルで好ましいディスパッチ位置を有していないこと、あるいはその組合せを示す。
【0083】
前述したように、本発明のさまざまな実施形態では、命令内の1つまたは複数のフィールドは、トポロジーの最大ネスト・レベルを指定する値を示してもよい。命令ブロック(例えば、図5A図5B)の示された部分は、両方とも、トポロジーの最大ネスト・レベルを指定する値を含む。前述したように、図5A図5Bに示された例では、構成のトポロジー・ネスト・レベルの最大数は、MNestC524フィールドに含まれている値によって定義される。構成によって定義された場合、CordL(1)は、最高のトポロジー・ネスト・レベルでの座標を示す。MNestC524フィールドにおいて定義されたトポロジー・ネストのレベルに応じて、CordL(2)~CordL(6)によって、ネストの減少するレベルでの座標がそれぞれ与えられ得る。したがって、MNestC524の値は、CordL(1)フィールド~CordL(6)フィールド(例えば、図5A図5Bの522)に含まれている、構成に関して示された可能性のあるトポロジー・ネスト・レベルの数を示す。
【0084】
MNestC524フィールドの機能が、以下の非限定的な例においてさらに説明される。この例では、MNestC524フィールドには、符号なし2進整数値を含むことができる。この値は、最大値を6として、モデルに依存する。前に説明されたように、この値は、トポロジーの最大ネスト・レベルを指定する。この非限定的な例では、特定の値(例えば、0)は、モデルが、この命令によってトポロジー・ネスト・レベルに関する情報を提供せず、ネスト・レベルの座標が定義されていないということを示す。この非限定的な例では、異なる特定の値(例えば、1)は、CordL(1)が、有効な、ゼロ以外の値を含むことができる唯一のフィールドであり、すべての要素が同じネスト・レベルにあるように、実際のトポロジー・ネスト構造が存在しないということを示す。特定の値は、フィールド(CordL(1))から始まり、CordL(2)、CordL(3)などの値に進むトポロジー・ネスト・レベルを示すことができ、最大で、MNestCに示された値までが提供されてよい。一部の例では、xがMNestC値のレベルより大きい場合に、CordL(x)フィールドが0として格納される。
【0085】
図1に戻り、1つまたは複数のプロセッサ上で実行されているプログラム・コードが命令を発行した(110)後に、拡張CPUまたはコア情報ブロックあるいは拡張物理CPUまたはコア情報ブロックのうちの1つを含んでいる命令のうちの1つの受信に基づいて、プログラム・コードが、セキュリティ・プロトコルを適用して、ユーザがアクセスできるパーティション(例えば、ユーザ専用のパーティションまたはすべてのパーティション)を決定する(120)。本発明の一部の実施形態では、オペレータの選択に基づいて、プログラム・コードが、実行された命令を受信することに応答して、論理パーティションに関する情報、またはすべての定義された論理パーティションに関する情報のどちらを発行するべきかを決定する。次に、プログラム・コードは、命令に含まれている関連するセキュリティ情報を含んでいる命令に応答して、論理コアを物理コアにマッピングするためにOSによって使用されるトポロジー情報を提供する(130)。返された情報が、(命令に応じて)すべての論理パーティションまたはユーザの論理パーティションのいずれかのグローバルな表示を提供するため、このマッピングが有効化される。
【0086】
本発明の実施形態は、コンピュータ・システムの内部にある方法で、トポロジー情報の取得および提供の両方が行われるように、トポロジー情報を取得して提供するための特定の命令が実行される、コンピュータ実装方法、システム、およびコンピュータ・プログラム製品を含む。図6は、本発明の一部の実施形態の特定の態様を示すワークフローである。本発明の実施形態では、コンピューティング・システム内の1つまたは複数のプロセッサ上で実行されているプログラム・コードが、プロセッシング・コア情報(論理コアおよび物理コア)およびオペレータの選択の両方を含んでいる命令を実行する(610)。プログラム・コードは、オペレータの選択に基づいて、命令によって返された情報のセキュリティ・パラメータを設定する(620)。返された情報は、物理コアへの論理コアのマッピングに関するトポロジー情報を含む。プログラム・コードは、位置およびセキュリティ・パラメータを含んでいる情報に基づいてトポロジー情報を取得する(630)。例えば、プログラム・コードは、コンピューティング・システムの内部のインターフェイスを介してトポロジー情報を取得する。プログラム・コードは、コンピューティング・システム上で実行されているオペレーティング・システムを介してトポロジー・システムを利用し、論理コアを物理コアにマッピングする(640)。一部の例では、プログラム・コードは、コンピューティング・システムの内部のインターフェイスにマッピングを表示する(650)。
【0087】
一部の例では、セキュリティ・パラメータに応じて、トポロジー情報は、コンピューティング・システム内のすべての論理パーティションのグローバルな表示を提供する情報、およびコンピューティング・システム内の1人または複数のユーザの論理パーティションの表示を提供する情報、あるいはその両方を含むことができるが、これらに限定されない。
【0088】
一部の例では、コンピューティング・システム内のプロセッシング・コアの位置を含んでいる情報は、論理コアの好ましいディスパッチ位置を表すデータを含む。
【0089】
一部の例では、コンピューティング・システム内のプロセッシング・コアの位置を含んでいる情報は、物理コアの実際の位置を表すデータを含む。
【0090】
一部の例では、命令は情報ブロックを含み、この情報ブロックは、コンピューティング・システム内のプロセッシング・コアの位置を含んでいる情報を含む。
【0091】
一部の例では、コンピューティング・システム内のプロセッシング・コアの位置を含んでいる情報は、プロセッシング・コアごとに、特定のトポロジー・ネスト・レベルでの位置を含む。
【0092】
一部の例では、プロセッシング・コア情報は、コンピューティング・システム内のトポロジー・ネスト・レベルの最大数を含む。
【0093】
一部の例では、トポロジー情報が特定のグループの論理パーティションに関連し、特定のグループ内のメンバーシップが、プロセッシング・コア情報において定義される。この特定のグループは、ハードウェア・グループであることができる。
【0094】
ここで図7を参照すると、この図は、クラウド・コンピューティング・ノード10であることができるコンピューティング・ノードの例の概略図である。クラウド・コンピューティング・ノード10は、適切なクラウド・コンピューティング・ノードの一例にすぎず、本明細書に記載された本発明の実施形態の使用または機能の範囲に関して、いかなる制限を示唆することも意図されていない。いずれにせよ、クラウド・コンピューティング・ノード10は、前述した機能のいずれかを実装すること、または実行すること、あるいはその両方を行うことができる。本発明の実施形態では、1つまたは複数のプロセッサ104を含むが、これに限定されない、図2Aのコンピューティング・システム102の要素のうちの1つまたは複数は、クラウド・コンピューティング・ノード10(図7)、およびクラウド・コンピューティング・ノード10でない場合は、クラウド・コンピューティング・ノード10の特徴を含む1つまたは複数の一般的コンピューティング・ノードを、それぞれ備えることができる。
【0095】
クラウド・コンピューティング・ノード10内には、他の多数の汎用または専用のコンピューティング・システム環境または構成で運用できるコンピュータ・システム/サーバ12が存在する。コンピュータ・システム/サーバ12での使用に適し得る周知のコンピューティング・システム、環境、または構成、あるいはその組合せの例は、パーソナル・コンピュータ・システム、サーバ・コンピュータ・システム、シン・クライアント、シック・クライアント、ハンドヘルドまたはラップトップ・デバイス、マルチプロセッサ・システム、マイクロプロセッサベース・システム、セット・トップ・ボックス、プログラマブル・コンシューマ・エレクトロニクス、ネットワークPC、ミニコンピュータ・システム、メインフレーム・コンピュータ・システム、およびこれらの任意のシステムまたはデバイスを含む分散クラウド・コンピューティング環境などを含むが、これらに限定されない。
【0096】
コンピュータ・システム/サーバ12は、コンピュータ・システムによって実行されているプログラム・モジュールなどの、コンピュータ・システムによって実行可能な命令との一般的な関連において説明されてよい。通常、プログラム・モジュールは、特定のタスクを実行するか、または特定の抽象データ型を実装するルーチン、プログラム、オブジェクト、コンポーネント、論理、データ構造などを含んでよい。コンピュータ・システム/サーバ12は、通信ネットワークを介してリンクされたリモート処理デバイスによってタスクが実行される、分散クラウド・コンピューティング環境内で実践されてよい。分散クラウド・コンピューティング環境において、プログラム・モジュールは、メモリ・ストレージ・デバイスを含む、ローカルおよびリモートの両方のコンピュータ・システム・ストレージ媒体に配置されてよい。
【0097】
図7に示されているように、クラウド・コンピューティング・ノード10として利用され得るコンピュータ・システム/サーバ12は、汎用コンピューティング・デバイスの形態で示されている。コンピュータ・システム/サーバ12のコンポーネントは、1つまたは複数のプロセッサまたはプロセッシング・ユニット16、システム・メモリ28、およびシステム・メモリ28を含むさまざまなシステム・コンポーネントをプロセッサ16に結合するバス18を含んでよいが、これらに限定されない。
【0098】
バス18は、メモリ・バスまたはメモリ・コントローラ、ペリフェラル・バス、アクセラレーテッド・グラフィックス・ポート、およびさまざまなバス・アーキテクチャのいずれかを使用するプロセッサまたはローカル・バスを含む、複数の種類のバス構造のいずれかのうちの1つまたは複数を表す。例として、そのようなアーキテクチャは、ISA(Industry Standard Architecture)バス、MCA(Micro Channel Architecture)バス、EISA(Enhanced ISA)バス、VESA(Video Electronics Standards Association)ローカル・バス、およびPCI(Peripheral Component Interconnects)バスを含むが、これらに限定されない。
【0099】
コンピュータ・システム/サーバ12は、通常、さまざまなコンピュータ・システム可読媒体を含む。そのような媒体は、コンピュータ・システム/サーバ12によってアクセスできる任意の使用可能な媒体であってよく、揮発性および不揮発性媒体、取り外し可能および取り外し不可の媒体を含む。
【0100】
システム・メモリ28は、ランダム・アクセス・メモリ(RAM:random access memory)30またはキャッシュ・メモリ32あるいはその両方などの、揮発性メモリの形態でのコンピュータ・システム可読媒体を含むことができる。コンピュータ・システム/サーバ12は、他の取り外し可能/取り外し不可、揮発性/不揮発性のコンピュータ・システム・ストレージ媒体をさらに含んでよい。単に例として、取り外し不可、不揮発性の磁気媒体(図示されておらず、通常は「ハード・ドライブ」と呼ばれる)に対する読み取りと書き込みを行うために、ストレージ・システム34を提供することができる。図示されていないが、取り外し可能、不揮発性の磁気ディスク(例えば、「フロッピー(R)・ディスク」)に対する読み取りと書き込みを行うための磁気ディスク・ドライブ、およびCD-ROM、DVD-ROM、または他の光媒体などの取り外し可能、不揮発性の光ディスクに対する読み取りまたは書き込みを行うための光ディスク・ドライブが提供され得る。そのような例では、それぞれを、1つまたは複数のデータ媒体インターフェイスによってバス18に接続することができる。下で詳細に示され、説明されているように、メモリ28は、本発明の実施形態の機能を実行するように構成された一連の(例えば、少なくとも1つの)プログラム・モジュールを備える少なくとも1つのプログラム製品を含んでよい。
【0101】
例えば、一連の(少なくとも1つの)プログラム・モジュール42を含んでいるプログラム/ユーティリティ40がメモリ28に格納されてよいが、これに限定されず、オペレーティング・システム、1つまたは複数のアプリケーション・プログラム、他のプログラム・モジュール、およびプログラム・データも格納されてよい。オペレーティング・システム、1つまたは複数のアプリケーション・プログラム、他のプログラム・モジュール、およびプログラム・データ、またはこれらの組合せの各々は、ネットワーク環境の実装を含んでよい。プログラム・モジュール42は、通常、本明細書に記載された本発明の実施形態の機能または方法あるいはその両方を実行する。
【0102】
コンピュータ・システム/サーバ12は、キーボード、ポインティング・デバイス、ディスプレイ24などの1つまたは複数の外部デバイス14、ユーザがコンピュータ・システム/サーバ12と情報をやりとりできるようにする1つまたは複数のデバイス、またはコンピュータ・システム/サーバ12が1つまたは複数の他のコンピューティング・デバイスと通信できるようにする任意のデバイス(例えば、ネットワーク・カード、モデムなど)、あるいはその組合せと通信してもよい。そのような通信は、入出力(I/O)インターフェイス22を介して発生することができる。さらに、コンピュータ・システム/サーバ12は、ローカル・エリア・ネットワーク(LAN)、一般的な広域ネットワーク(WAN)、またはパブリック・ネットワーク(例えば、インターネット)、あるいはその組合せなどの1つまたは複数のネットワークと、ネットワーク・アダプタ20を介して通信することができる。図示されているように、ネットワーク・アダプタ20は、バス18を介してコンピュータ・システム/サーバ12の他のコンポーネントと通信する。図示されていないが、他のハードウェア・コンポーネントまたはソフトウェア・コンポーネントあるいはその両方を、コンピュータ・システム/サーバ12と併用できるということが理解されるべきである。その例として、マイクロコード、デバイス・ドライバ、冗長プロセッシング・ユニット、外部ディスク・ドライブ・アレイ、RAIDシステム、テープ・ドライブ、およびデータ・アーカイブ・ストレージ・システムなどが挙げられるが、これらに限定されない。
【0103】
本開示にはクラウド・コンピューティングに関する詳細な説明が含まれているが、本明細書において列挙された内容の実装は、クラウド・コンピューティング環境に限定されないと理解されるべきである。本発明の実施形態は、現在既知であるか、または今後開発される任意の他の種類のコンピューティング環境と組み合わせて実装され得る。
【0104】
クラウド・コンピューティングは、構成可能な計算リソース(例えば、ネットワーク、ネットワーク帯域幅、サーバ、処理、メモリ、ストレージ、アプリケーション、仮想マシン、およびサービス)の共有プールへの便利なオンデマンドのネットワーク・アクセスを可能にするためのサービス提供モデルであり、管理上の手間またはサービス・プロバイダとのやりとりを最小限に抑えて、これらのリソースを迅速にプロビジョニングおよび解放することができる。このクラウド・モデルは、少なくとも5つの特徴、少なくとも3つのサービス・モデル、および少なくとも4つのデプロイメント・モデルを含んでよい。
【0105】
特徴は、次のとおりである。
【0106】
オンデマンドのセルフ・サービス:クラウドの利用者は、サーバの時間およびネットワーク・ストレージなどの計算能力を一方的に、サービス・プロバイダとの人間的なやりとりを必要とせず、必要に応じて自動的にプロビジョニングすることができる。
【0107】
幅広いネットワーク・アクセス:能力は、ネットワークを経由して利用可能であり、標準的なメカニズムを通じてアクセスできるため、異種のシン・クライアントまたはシック・クライアント・プラットフォーム(例えば、携帯電話、ラップトップ、およびPDA)による利用を促進する。リソース・プール:プロバイダの計算リソースは、プールされて、マルチテナント・モデルを使用して複数の利用者に提供され、さまざまな物理的および仮想的リソースが、要求に従って動的に割り当ておよび再割り当てされる。場所に依存しないという感覚があり、利用者は通常、提供されるリソースの正確な場所に関して管理することも知ることもないが、さらに高いレベルの抽象化では、場所(例えば、国、州、またはデータセンター)を指定できることがある。迅速な順応性:能力は、迅速かつ柔軟に、場合によっては自動的にプロビジョニングされ、素早くスケールアウトし、迅速に解放されて素早くスケールインすることができる。プロビジョニングに使用できる能力は、利用者には、多くの場合、任意の量をいつでも無制限に購入できるように見える。
【0108】
測定されるサービス:クラウド・システムは、計測機能を活用することによって、サービスの種類(例えば、ストレージ、処理、帯域幅、およびアクティブなユーザのアカウント)に適した抽象レベルで、リソースの使用を自動的に制御および最適化する。リソースの使用状況は、監視、制御、および報告されることが可能であり、利用されるサービスのプロバイダと利用者の両方に透明性を提供する。
【0109】
サービス・モデルは、次のとおりである。
【0110】
サービスとしてのソフトウェア(SaaS):利用者に提供される能力は、クラウド・インフラストラクチャ上で稼働しているプロバイダのアプリケーションの利用である。それらのアプリケーションは、Webブラウザ(例えば、Webベースの電子メール)などのシン・クライアント・インターフェイスを介して、さまざまなクライアント・デバイスからアクセスできる。利用者は、ネットワーク、サーバ、オペレーティング・システム、ストレージ、または個々のアプリケーション機能を含む基盤になるクラウド・インフラストラクチャを、限定的なユーザ固有のアプリケーション構成設定を行う可能性を除き、管理することも制御することもない。
【0111】
サービスとしてのプラットフォーム(PaaS):利用者に提供される能力は、プロバイダによってサポートされるプログラミング言語およびツールを使用して作成された、利用者が作成または取得したアプリケーションをクラウド・インフラストラクチャにデプロイすることである。利用者は、ネットワーク、サーバ、オペレーティング・システム、またはストレージを含む基盤になるクラウド・インフラストラクチャを管理することも制御することもないが、デプロイされたアプリケーション、および場合によってはアプリケーション・ホスティング環境の構成を制御することができる。
【0112】
サービスとしてのインフラストラクチャ(IaaS):利用者に提供される能力は、処理、ストレージ、ネットワーク、および他の基本的な計算リソースのプロビジョニングであり、利用者は、オペレーティング・システムおよびアプリケーションを含むことができる任意のソフトウェアをデプロイして実行できる。利用者は、基盤になるクラウド・インフラストラクチャを管理することも制御することもないが、オペレーティング・システム、ストレージ、デプロイされたアプリケーションを制御することができ、場合によっては、選ばれたネットワーク・コンポーネント(例えば、ホスト・ファイアウォール)を限定的に制御できる。
【0113】
デプロイメント・モデルは、次のとおりである。
【0114】
プライベート・クラウド:このクラウド・インフラストラクチャは、組織のためにのみ運用される。この組織またはサード・パーティによって管理することができ、オンプレミスまたはオフプレミスに存在することができる。
【0115】
コミュニティ・クラウド:このクラウド・インフラストラクチャは、複数の組織によって共有され、関心事(例えば、任務、セキュリティ要件、ポリシー、およびコンプライアンスに関する考慮事項)を共有している特定のコミュニティをサポートする。これらの組織またはサード・パーティによって管理することができ、オンプレミスまたはオフプレミスに存在することができる。
【0116】
パブリック・クラウド:このクラウド・インフラストラクチャは、一般ユーザまたは大規模な業界団体が使用できるようになっており、クラウド・サービスを販売する組織によって所有される。
【0117】
ハイブリッド・クラウド:このクラウド・インフラストラクチャは、データとアプリケーションの移植を可能にする標準化された技術または独自の技術(例えば、クラウド間の負荷バランスを調整するためのクラウド・バースト)によって固有の実体を残したまま互いに結合された2つ以上のクラウド(プライベート、コミュニティ、またはパブリック)の複合である。
【0118】
クラウド・コンピューティング環境は、ステートレス性、低結合性、モジュール性、および意味的相互運用性に重点を置いたサービス指向の環境である。クラウド・コンピューティングの中心になるのは、相互接続されたノードのネットワークを含んでいるインフラストラクチャである。
【0119】
ここで図8を参照すると、例示的なクラウド・コンピューティング環境50が示されている。図示されているように、クラウド・コンピューティング環境50は、クラウドの利用者によって使用されるローカル・コンピューティング・デバイス(例えば、パーソナル・デジタル・アシスタント(PDA:personal digital assistant)または携帯電話54A、デスクトップ・コンピュータ54B、ラップトップ・コンピュータ54C、または自動車コンピュータ・システム54N、あるいはその組合せなど)が通信できる1つまたは複数のクラウド・コンピューティング・ノード10を含んでいる。ノード10は、互いに通信してよい。ノード10は、1つまたは複数のネットワーク内で、本明細書において前述されたプライベート・クラウド、コミュニティ・クラウド、パブリック・クラウド、またはハイブリッド・クラウド、あるいはこれらの組合せなどに、物理的または仮想的にグループ化されてよい(図示されていない)。これによって、クラウド・コンピューティング環境50は、クラウドの利用者がローカル・コンピューティング・デバイス上でリソースを維持する必要のないインフラストラクチャ、プラットフォーム、またはソフトウェアあるいはその組合せをサービスとして提供できる。図8に示されたコンピューティング・デバイス54A~Nの種類は、例示のみが意図されており、コンピューティング・ノード10およびクラウド・コンピューティング環境50は、任意の種類のネットワークまたはネットワーク・アドレス可能な接続(例えば、Webブラウザを使用した接続)あるいはその両方を経由して任意の種類のコンピュータ制御デバイスと通信することができると理解される。
【0120】
ここで図9を参照すると、クラウド・コンピューティング環境50(図8)によって提供される機能的抽象レイヤのセットが示されている。図9に示されたコンポーネント、レイヤ、および機能は、例示のみが意図されており、本発明の実施形態がこれらに限定されないということが、あらかじめ理解されるべきである。図示されているように、次のレイヤおよび対応する機能が提供される。
【0121】
ハードウェアおよびソフトウェア・レイヤ60は、ハードウェア・コンポーネントおよびソフトウェア・コンポーネントを含む。ハードウェア・コンポーネントの例としては、メインフレーム61、RISC(Reduced Instruction Set Computer)アーキテクチャベースのサーバ62、サーバ63、ブレード・サーバ64、ストレージ・デバイス65、ならびにネットワークおよびネットワーク・コンポーネント66が挙げられる。一部の実施形態では、ソフトウェア・コンポーネントは、ネットワーク・アプリケーション・サーバ・ソフトウェア67およびデータベース・ソフトウェア68を含む。
【0122】
仮想化レイヤ70は、仮想サーバ71、仮想ストレージ72、仮想プライベート・ネットワークを含む仮想ネットワーク73、仮想アプリケーションおよびオペレーティング・システム74、ならびに仮想クライアント75などの仮想的実体を提供できる抽象レイヤを備える。
【0123】
1つの例では、管理レイヤ80は、以下で説明される機能を提供してよい。リソース・プロビジョニング81は、クラウド・コンピューティング環境内でタスクを実行するために利用される計算リソースおよび他のリソースの動的調達を行う。計測および価格設定82は、クラウド・コンピューティング環境内でリソースが利用される際のコスト追跡、およびそれらのリソースの利用に対する請求書またはインボイスの送付を行う。1つの例では、それらのリソースは、アプリケーション・ソフトウェア・ライセンスを含んでよい。セキュリティは、クラウドの利用者およびタスクのID検証を行うとともに、データおよび他のリソースの保護を行う。ユーザ・ポータル83は、クラウド・コンピューティング環境へのアクセスを利用者およびシステム管理者に提供する。サービス・レベル管理84は、必要なサービス・レベルを満たすように、クラウドの計算リソースの割り当てと管理を行う。サービス水準合意(SLA:Service Level Agreement)計画および実行85は、今後の要求が予想されるクラウドの計算リソースの事前準備および調達を、SLAに従って行う。
【0124】
ワークロード・レイヤ90は、クラウド・コンピューティング環境で利用できる機能の例を示している。このレイヤから提供されてよいワークロードおよび機能の例としては、マッピングおよびナビゲーション91、ソフトウェア開発およびライフサイクル管理92、仮想クラスルーム教育の配信93、データ解析処理94、トランザクション処理95、およびハイパーバイザ全体にわたる物理コアへの論理コアのマッピングのグローバルな表示に関する情報の取得96が挙げられる。
【0125】
本発明は、任意の可能な統合の技術的詳細レベルで、システム、方法、またはコンピュータ・プログラム製品、あるいはその組合せであってよい。コンピュータ・プログラム製品は、プロセッサに本発明の態様を実行させるためのコンピュータ可読プログラム命令を含んでいる1つまたは複数のコンピュータ可読ストレージ媒体を含んでよい。
【0126】
コンピュータ可読ストレージ媒体は、命令実行デバイスによって使用するための命令を保持および格納できる有形のデバイスであることができる。コンピュータ可読ストレージ媒体は、例えば、電子ストレージ・デバイス、磁気ストレージ・デバイス、光ストレージ・デバイス、電磁ストレージ・デバイス、半導体ストレージ・デバイス、またはこれらの任意の適切な組合せであってよいが、これらに限定されない。コンピュータ可読ストレージ媒体のさらに具体的な例の非網羅的リストは、ポータブル・フロッピー(R)・ディスク、ハード・ディスク、ランダム・アクセス・メモリ(RAM:random access memory)、読み取り専用メモリ(ROM:read-only memory)、消去可能プログラマブル読み取り専用メモリ(EPROM:erasable programmable read-only memoryまたはフラッシュ・メモリ)、スタティック・ランダム・アクセス・メモリ(SRAM:static random access memory)、ポータブル・コンパクト・ディスク読み取り専用メモリ(CD-ROM:compact disc read-only memory)、デジタル・バーサタイル・ディスク(DVD:digital versatile disk)、メモリ・スティック、フロッピー(R)・ディスク、命令が記録されているパンチカードまたは溝の中の隆起構造などの機械的にエンコードされるデバイス、およびこれらの任意の適切な組合せを含む。本明細書において使用されるとき、コンピュータ可読ストレージ媒体は、電波または他の自由に伝搬する電磁波、導波管または他の送信媒体を伝搬する電磁波(例えば、光ファイバ・ケーブルを通過する光パルス)、あるいはワイヤを介して送信される電気信号などの、それ自体が一過性の信号であると解釈されるべきではない。
【0127】
本明細書に記載されたコンピュータ可読プログラム命令は、コンピュータ可読ストレージ媒体から各コンピューティング・デバイス/処理デバイスへ、あるいはネットワーク(例えば、インターネット、ローカル・エリア・ネットワーク、広域ネットワーク、またはワイヤレス・ネットワーク、あるいはその組合せ)を介して外部コンピュータまたは外部ストレージ・デバイスへダウンロードされ得る。このネットワークは、銅伝送ケーブル、光伝送ファイバ、ワイヤレス送信、ルータ、ファイアウォール、スイッチ、ゲートウェイ・コンピュータ、またはエッジ・サーバ、あるいはその組合せを備えてよい。各コンピューティング・デバイス/処理デバイス内のネットワーク・アダプタ・カードまたはネットワーク・インターフェイスは、コンピュータ可読プログラム命令をネットワークから受信し、それらのコンピュータ可読プログラム命令を各コンピューティング・デバイス/処理デバイス内のコンピュータ可読ストレージ媒体に格納するために転送する。
【0128】
本発明の動作を実行するためのコンピュータ可読プログラム命令は、アセンブラ命令、命令セット・アーキテクチャ(ISA:instruction-set-architecture)命令、マシン命令、マシン依存命令、マイクロコード、ファームウェア命令、状態設定データ、集積回路のための構成データ、あるいはSmalltalk(R)、C++などのオブジェクト指向プログラミング言語、および「C」プログラミング言語または同様のプログラミング言語などの手続き型プログラミング言語を含む1つまたは複数のプログラミング言語の任意の組合せで記述されたソース・コードまたはオブジェクト・コードであってよい。コンピュータ可読プログラム命令は、ユーザのコンピュータ上で全体的に実行すること、ユーザのコンピュータ上でスタンドアロン・ソフトウェア・パッケージとして部分的に実行すること、ユーザのコンピュータ上およびリモート・コンピュータ上でそれぞれ部分的に実行すること、あるいはリモート・コンピュータ上またはサーバ上で全体的に実行することができる。後者のシナリオでは、リモート・コンピュータは、ローカル・エリア・ネットワーク(LAN:local area network)または広域ネットワーク(WAN:wide area network)を含む任意の種類のネットワークを介してユーザのコンピュータに接続されてよく、または接続は、(例えば、インターネット・サービス・プロバイダを使用してインターネットを介して)外部コンピュータに対して行われてよい。一部の実施形態では、本発明の態様を実行するために、例えばプログラマブル・ロジック回路、フィールドプログラマブル・ゲート・アレイ(FPGA:field-programmable gate arrays)、またはプログラマブル・ロジック・アレイ(PLA:programmable logic arrays)を含む電子回路は、コンピュータ可読プログラム命令の状態情報を利用することによってコンピュータ可読プログラム命令を実行し、電子回路をカスタマイズしてよい。
【0129】
本発明の態様は、本明細書において、本発明の実施形態に従って、方法、装置(システム)、およびコンピュータ・プログラム製品のフローチャート図またはブロック図あるいはその両方を参照して説明される。フローチャート図またはブロック図あるいはその両方の各ブロック、ならびにフローチャート図またはブロック図あるいはその両方に含まれるブロックの組合せが、コンピュータ可読プログラム命令によって実装され得るということが理解されるであろう。
【0130】
これらのコンピュータ可読プログラム命令は、コンピュータまたは他のプログラム可能なデータ処理装置のプロセッサを介して実行される命令が、フローチャートまたはブロック図あるいはその両方の1つまたは複数のブロックに指定される機能/動作を実施する手段を作り出すべく、汎用コンピュータ、専用コンピュータ、または他のプログラム可能なデータ処理装置のプロセッサに提供されてマシンを作り出すものであってよい。これらのコンピュータ可読プログラム命令は、命令が格納されたコンピュータ可読ストレージ媒体がフローチャートまたはブロック図あるいはその両方の1つまたは複数のブロックに指定される機能/動作の態様を実施する命令を含んでいる製品を備えるように、コンピュータ可読ストレージ媒体に格納され、コンピュータ、プログラム可能なデータ処理装置、または他のデバイス、あるいはその組合せに特定の方式で機能するように指示できるものであってもよい。
【0131】
コンピュータ可読プログラム命令は、コンピュータ上、他のプログラム可能な装置上、または他のデバイス上で実行される命令が、フローチャートまたはブロック図あるいはその両方の1つまたは複数のブロックに指定される機能/動作を実施するように、コンピュータ、他のプログラム可能なデータ処理装置、または他のデバイスに読み込まれてもよく、それによって、一連の動作可能なステップを、コンピュータ上、他のプログラム可能な装置上、またはコンピュータ実装プロセスを生成する他のデバイス上で実行させる。
【0132】
図内のフローチャートおよびブロック図は、本発明のさまざまな実施形態に従って、システム、方法、およびコンピュータ・プログラム製品の可能な実装のアーキテクチャ、機能、および動作を示す。これに関連して、フローチャートまたはブロック図内の各ブロックは、規定された論理機能を実装するための1つまたは複数の実行可能な命令を備える、命令のモジュール、セグメント、または部分を表してよい。一部の代替の実装では、ブロックに示された機能は、図に示された順序とは異なる順序で発生してよい。例えば、連続して示された2つのブロックは、実際には、含まれている機能に応じて、実質的に同時に実行されるか、またはブロックは場合によっては逆の順序で実行されてよい。ブロック図またはフローチャート図あるいはその両方の各ブロック、ならびにブロック図またはフローチャート図あるいはその両方に含まれるブロックの組合せは、規定された機能または動作を実行するか、あるいは専用ハードウェアとコンピュータ命令の組合せを実行する専用ハードウェアベースのシステムによって実装され得るということにも注意する。
【0133】
本明細書で使用される用語は、特定の実施形態を説明することのみを目的としており、制限することを意図していない。本明細書において使用されるとき、単数形「a」、「an」、および「the」は、文脈で特に明示的に示されない限り、複数形も含むよう意図されている。「備える」または「備えている」あるいはその両方の用語は、本明細書で使用される場合、記載された機能、整数、ステップ、動作、要素、またはコンポーネント、あるいはその組合せの存在を示すが、1つまたは複数の他の機能、整数、ステップ、動作、要素、コンポーネント、またはこれらのグループ、あるいはその組合せの存在または追加を除外していないということが、さらに理解されるであろう。
【0134】
下の特許請求の範囲内のすべての手段またはステップおよび機能要素の対応する構造、材料、動作、および等価なものは、もしあれば、具体的に請求されるとき、他の請求される要素と組み合わせて機能を実行するための任意の構造、材料、または動作を含むことが意図されている。1つまたは複数の実施形態の説明は、例示および説明の目的で提示されているが、網羅的であることは意図されておらず、開示された形態に限定されない。多くの変更および変形が、当業者にとって明らかであろう。さまざまな態様および実際的な適用を最も適切に説明するため、および他の当業者が、企図されている特定の用途に適しているようなさまざまな変更を伴う多様な実施形態を理解できるようにするために、実施形態が選択されて説明された。
図1
図2A
図2B
図2C
図3A
図3B
図4A
図4B
図5A
図5B
図6
図7
図8
図9
【手続補正書】
【提出日】2024-04-02
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
コンピュータ実装方法であって、
コンピューティング・システムの1つまたは複数のプロセッサによって、プロセッシング・コア情報を含んでいる命令を発行することであって、前記プロセッシング・コア情報が、前記コンピューティング・システムの1つまたは複数のプロセッシング・コアの位置を含み、前記コンピューティング・システムの前記プロセッシング・コアが、論理コアおよび物理コアを含み、前記命令が、オペレータの選択をさらに含む、前記発行することと、
前記1つまたは複数のプロセッサによって、前記オペレータの選択に基づいて、前記命令によって返された情報のセキュリティ・パラメータを設定することであって、前記返された情報が、前記物理コアへの前記論理コアのマッピングに関するトポロジー情報を含む、前記設定することと、
前記1つまたは複数のプロセッサによって、前記位置および前記セキュリティ・パラメータを含んでいる前記情報に基づいて、前記トポロジー情報を取得することと、
前記1つまたは複数のプロセッサによって、前記コンピューティング・システム上で実行されているオペレーティング・システムを介して、前記トポロジー情報を利用して前記論理コアを前記物理コアにマッピングすることとを含む、コンピュータ実装方法。
【請求項2】
前記セキュリティ・パラメータに基づいて、前記コンピューティング・システム内のすべての論理パーティションのグローバルな表示を提供する情報、および前記コンピューティング・システム内の1人または複数のユーザの論理パーティションの表示を提供する情報から成る群から、前記トポロジー情報が選択される、請求項1に記載のコンピュータ実装方法。
【請求項3】
前記コンピューティング・システム内の前記プロセッシング・コアの前記位置を含んでいる前記情報が、前記論理コアの好ましいディスパッチ位置を表すデータを含む、請求項1に記載のコンピュータ実装方法。
【請求項4】
前記コンピューティング・システム内の前記プロセッシング・コアの前記位置を含んでいる前記情報が、前記物理コアの実際の位置を表すデータを含む、請求項1に記載のコンピュータ実装方法。
【請求項5】
前記命令が情報ブロックを含み、前記情報ブロックが、前記コンピューティング・システム内の前記プロセッシング・コアの前記位置を含んでいる前記情報を含む、請求項1に記載のコンピュータ実装方法。
【請求項6】
前記コンピューティング・システム内の前記プロセッシング・コアの前記位置を含んでいる前記情報が、プロセッシング・コアごとに、特定のトポロジー・ネスト・レベルでの位置を含む、請求項1に記載のコンピュータ実装方法。
【請求項7】
前記プロセッシング・コア情報が、前記コンピューティング・システム内のトポロジー・ネスト・レベルの最大数を含む、請求項6に記載のコンピュータ実装方法。
【請求項8】
前記1つまたは複数のプロセッサによって、前記コンピューティング・システムの内部のインターフェイスに前記マッピングを表示することをさらに含む、請求項1に記載のコンピュータ実装方法。
【請求項9】
前記トポロジー情報が所与のグループの論理パーティションに関連し、前記所与のグループ内のメンバーシップが、前記プロセッシング・コア情報において定義される、請求項1に記載のコンピュータ実装方法。
【請求項10】
前記所与のグループがハードウェア・グループを含む、請求項6に記載のコンピュータ実装方法。
【請求項11】
前記トポロジー情報を取得することが、前記コンピューティング・システムの内部のインターフェイスを介して前記トポロジー情報を取得することを含む、請求項1に記載のコンピュータ実装方法。
【請求項12】
ンピュータ・プログラであって、コンピューティング・システムを備えている共有されたコンピューティング環境の1つまたは複数のプロセッサに、請求項1ないし11のいずれか一項に記載のコンピュータ実装方法を実行させる、コンピュータ・プログラム。
【請求項13】
メモリと、
前記メモリと通信する1つまたは複数のプロセッサと、
方法を実行するために前記メモリを介してコンピューティング・システムの共有されたコンピューティング環境内の前記1つまたは複数のプロセッサによって実行可能なプログラム命令とを備えているコンピュータ・システムであって、前記方法が、
前記コンピューティング・システムの前記1つまたは複数のプロセッサによって、プロセッシング・コア情報を含んでいる命令を発行することであって、前記プロセッシング・コア情報が、前記コンピューティング・システムの1つまたは複数のプロセッシング・コアの位置を含み、前記コンピューティング・システムの前記プロセッシング・コアが、論理コアおよび物理コアを含み、前記命令が、オペレータの選択をさらに含む、前記発行することと、
前記1つまたは複数のプロセッサによって、前記オペレータの選択に基づいて、前記命令によって返された情報のセキュリティ・パラメータを設定することであって、前記返された情報が、前記物理コアへの前記論理コアのマッピングに関するトポロジー情報を含む、前記設定することと、
前記1つまたは複数のプロセッサによって、前記位置および前記セキュリティ・パラメータを含んでいる前記情報に基づいて、前記トポロジー情報を取得することと、
前記1つまたは複数のプロセッサによって、前記コンピューティング・システム上で実行されているオペレーティング・システムを介して、前記トポロジー情報を利用して前記論理コアを前記物理コアにマッピングすることとを含む、コンピュータ・システム。
【国際調査報告】