JPH11316747A - 多数のオペレ―ティングシステムインスタンス及びソフトウェア制御式リソ―ス割り当てを伴うマルチプロセッサコンピュ―タア―キテクチャ - Google Patents

多数のオペレ―ティングシステムインスタンス及びソフトウェア制御式リソ―ス割り当てを伴うマルチプロセッサコンピュ―タア―キテクチャ

Info

Publication number
JPH11316747A
JPH11316747A JP11043629A JP4362999A JPH11316747A JP H11316747 A JPH11316747 A JP H11316747A JP 11043629 A JP11043629 A JP 11043629A JP 4362999 A JP4362999 A JP 4362999A JP H11316747 A JPH11316747 A JP H11316747A
Authority
JP
Japan
Prior art keywords
partition
instance
operating system
memory
computer system
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.)
Abandoned
Application number
JP11043629A
Other languages
English (en)
Inventor
Stephen H Zalewski
エイチ ザレウスキー スティーヴン
Andrew H Mason
エイチ メイソン アンドリュー
Gregory H Jordan
エイチ ジョーダン グレゴリー
Karen L Noel
エル ノエル カレン
James R Kauffman
アール コーフマン ジェームズ
Paul K Harter Jr
ケイ ハーター ジュニア ポール
Frederick G Kleinsorge
ジー クラインソーガ フレデリック
Stephen F Shirron
エフ シャロン スティーヴン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Digital Equipment Corp
Original Assignee
Digital Equipment Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Digital Equipment Corp filed Critical Digital Equipment Corp
Publication of JPH11316747A publication Critical patent/JPH11316747A/ja
Abandoned legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5077Logical partitioning of resources; Management or configuration of virtualized resources

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)
  • Multi Processors (AREA)

Abstract

(57)【要約】 (修正有) 【課題】 プロセッサ及び他のコンピュータハードウェ
アリソースが区画においてグループ編成され、その各々
がオペレーティングシステムインスタンスを有するよう
なマルチプロセッサコンピュータアーキテクチャを提供
する。 【解決手段】 多数の物理的プロセッサ及びリソースを
伴う物理的マシンは、ソフトウェアにより多数の区画に
分割され、その各々は、オペレーティングシステムの個
別のコピー又はインスタンスを実行する。異なる時間
に、異なるオぺレーティングシステムインスタンスが所
与の区画にロードされる。CPU及びメモリのようなリ
ソースは、異なる区画に動的に指定することができ、そ
して構成を変更することによりマシン内で実行されるオ
ペレーティングシステムのインスタンスにより使用する
ことができる。又、区画それ自体も、構成ツリーを変更
することにより、システムを再ブートせずに、変更する
ことができる。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、プロセッサ及び他
のコンピュータハードウェアリソースが区画においてグ
ループ編成され、その各々がオペレーティングシステム
インスタンスを有するようなマルチプロセッサコンピュ
ータアーキテクチャに係り、より詳細には、コンピュー
タハードウェアリソースを区画に割り当てる方法及び装
置に係る。
【0002】
【従来の技術】現在の計算環境における多数のアプリケ
ーションの効率的な動作は、高速で、パワフルなそして
融通性のある計算システムによって左右される。このよ
うなシステムの構成及び設計は、多数の個別の部門や、
多数の異なる問題形式や、常時変化する計算ニーズが存
在する「事業的」商業環境にこのようなシステムを使用
すべきときには非常に複雑なものとなる。このような環
境のユーザは、一般に、システムの容量、その速度及び
その構成を迅速且つ容易に変更できることを希望する。
又、ユーザは、システム上でのアプリケーションプログ
ラムの実行を停止せずにリソースの良好な使用を達成す
るためにシステムの作業容量を拡張しそして構成を変更
することも希望する。更に、ユーザは、リソースの利用
性が最大になるようにシステムを構成して各アプリケー
ションに最適な計算構成をもたせるようにすることも希
望する。
【0003】
【発明が解決しようとする課題】従来、計算速度は、デ
ータ、ビジネスロジック及びグラフィックユーザインタ
ーフェイスが別々の接続体であって、各接続体に専用の
特定の計算リソースを有するような「何も共用しない」
計算アーキテクチャを使用することにより対処された。
最初は、単一の中央処理ユニットが使用され、そしてこ
の単一の中央処理ユニットのクロックレートを高めるこ
とによりこのような計算システムのパワー及び速度が増
加された。最近、1つの大きさプロセッサが単独で動作
するのではなく、チームとして動作する多数のプロセッ
サを使用する計算システムが開発されている。このよう
に、複雑なアプリケーションが単一のプロセッサにより
実行されるのを待機するのではなく、それを多数のプロ
セッサ間に分散させることができる。このようなシステ
ムは、一般に、単一のオペレーティングシステムにより
制御される多数の中央処理ユニット(CPU)で構成さ
れる。「系統的多処理」又はSMPと称するマルチプロ
セッサシステムの形態においては、アプリケーションが
全てのプロセッサにわたって等しく分散される。プロセ
ッサは、メモリも共用する。「非系統的多処理」又はA
MPと称する別の態様においては、1つのプロセッサが
「マスター」として働き、そして他の全てのプロセッサ
が「スレーブ」として働く。それ故、オペレーティング
システムを含む全てのオペレーションは、マスターを通
った後にスレーブプロセッサへ通されねばならない。こ
れら多処理アーキテクチャは、付加的なプロセッサを追
加することにより性能を高められるという利点を有する
が、このようなシステムで実行されるソフトウェアは多
数のプロセッサの利点を取り入れるために入念に書き込
まれねばならず、そしてプロセッサの数が増加するにつ
れてソフトウェアを拡張することが困難であるという欠
点もある。現在の商業的なワークロードは、単一SMP
システムとして8ないし24個のCPUを越えて拡張す
ることができず、その厳密な数は、プラットフォーム、
オペレーティングシステム及びアプリケーションの混合
によって左右される。
【0004】性能を高めることについては、コンピュー
タリソース(マシン)をあるアプリケーション専用とし
てマシンリソースをそのアプリケーションに最適に同調
する別の典型的な回答がある。しかしながら、異なる売
主により開発された多数のアプリケーション及び別々の
データベースがほとんどの場所にあるために、大部分の
ユーザはこのような解決策を採用していない。それ故、
特に、アプリケーションの混合体が常時変化するような
環境においては全てのアプリケーションの間でリソース
を専用化することは困難であり且つ経費がかかる。或い
は又、コンピュータにおけるリソースのサブセットを特
定のアプリケーションに使用できるように、コンピュー
タシステムをハードウェアで区画化することもできる。
この解決策は、区画を変更できるのでリソースの永久的
な専用化を回避するが、区画間のリソースの負荷バラン
ス及びリソースの利用性により性能改善に関する問題は
依然として残される。
【0005】利用性及びメンテナンス性の問題は、ほと
んどのリソースを含む大きな集中型の頑丈なサーバが、
多数の小さな複雑でないクライエントネットワークコン
ピュータとネットワーク形成されてそれらにサービスす
るような「全てを共用する」モデルによって対処されて
いる。或いは、各システム即ち「 ノード」 がそれ自身の
メモリを有しそしてそれ自身のオペレーティングシステ
ムによって制御されるような「クラスター」が使用され
る。システムは、ディスクを共用しそしてある形式の通
信ネットワークを経てそれらの間にメッセージを通すこ
とにより対話する。クラスターシステムは、付加的なシ
ステムをクラスターに容易に追加できるという利点を有
する。しかしながら、ネットワーク及びクラスターは、
共用メモリが欠乏し、そして相互接続帯域巾に限度があ
って、性能上制限を課するという悩みがある。
【0006】多くの事業用計算環境においては、2つの
別々の計算モデルを同時に受け入れて、各モデルを最適
化しなければならないことが明らかである。このような
受け入れを試みるために多数の公知解決策が使用されて
いる。例えば、ニューヨーク州、アーモンクのインター
ナショナル・ビジネス・マシン・コーポレーションによ
り開発されて市場に出された「バーチャルマシン」又は
VMと称する設計は、多数のバーチャルマシンを模擬す
るソフトウェアと組み合わせて1つ以上の物理的なプロ
セッサを伴う単一の物理的なマシンを使用している。こ
れらバーチャルマシンの各々は、原理的に、その基礎と
なるリアルコンピュータの全ての物理的リソースにアク
セスする。各バーチャルマシンへのリソースの指定は、
「ハイパーバイザー」と称するプログラムによって制御
される。システムには1つのハイパーバイザーしかな
く、そしてそれは、全ての物理的なリソースを受け持
つ。従って、他のオペレーティングシステムではなく、
ハイパーバイザーが物理的ハードウェアの割り当てを取
り扱う。ハイパーバイザーは、他のオペレーティングシ
ステムからのリソースの要求をインターセプトし、そし
てそれらの要求を全体的に正しいやり方で取り扱う。
【0007】VMアーキテクチャは、「論理的区画」即
ちLPARの概念をサポートする。各LPARは、その
区画に論理的に指定された使用可能な物理的CPU及び
リソースの幾つかを含む。同じリソースを2つ以上の区
画に指定することができる。LPARは、アドミニスト
レータにより静的に設定されるが、負荷の変化に動的
に、且つ再ブートを伴わずに、多数の仕方で応答し得
る。例えば、各々10個のCPUを含む2つの論理的な
区画が、10個の物理的CPUを含む物理的システムに
共用され、そして論理的な10個のCPUの区画が相補
的なピーク負荷を有する場合には、ワークロードがシフ
トするときに再ブート又はオペレータの介入を伴わずに
各区画が物理的な10個のCPUのシステム全体を引き
継ぐことができる。
【0008】更に、各区画に論理的に指定されたCPU
は、通常のオペレーティングシステムのオペレータコマ
ンドにより再ブートなしに動的にターン「オン」及び
「オフ」にすることができる。唯一の制約は、システム
の初期化時にアクティブなCPUの数が、任意の区画に
おいてターン「オン」することのできるCPUの最大数
である点である。更に、全ての区画の全体的なワークロ
ード需要が、物理的なシステムによって供給できるもの
以上になる場合には、LPARの重みを使用して、全C
PUリソースのいかに多くを各区画に与えるかを定める
ことができる。これらの重みは、何ら障害を伴わずにオ
ペレータがオンザフライで変更することができる。別の
公知システムは、「パラレルシスプレックス(Parallel
Sysplex)」と称するもので、これも、インターナショナ
ル・ビジネス・マシン・コーポレーションにより開発さ
れて市場に出されたものである。このアーキテクチャ
は、各CPUに取り付けられる「カプリング・ファシリ
ティ」と称するハードウェアエンティティを経てクラス
ター化された1組のコンピュータで構成される。各ノー
ドにおけるカプリング・ファシリティは光ファイバリン
クを経て接続され、そして各ノードは、最大10個のC
PUを伴う従来のSMPマシンとして働く。あるCPU
命令は、カプリング・ファシリティを直接的にインボー
クする。例えば、あるノードは、カプリング・ファシリ
ティと共にデータ構造体を登録し、次いで、カプリング
・ファシリティは、各ノードのローカルメモリ内でデー
タ構造体をコヒレントに維持するように注意を払う。
【0009】カリフォルニア州、マウンテンビューのサ
ン・マイクロシステムズにより開発されて市場に出され
たエンタープライズ10000ユニックスサーバは、
「ダイナミック・システム・ドメインズ」と称する区画
化構成体を使用して、単一物理的サーバのリソースを、
各々スタンドアローンサーバとして動作する多数の区画
即ちドメインへと論理的に分割する。各区画は、CP
U、メモリ及びI/Oハードウェアを有する。動的な再
構成は、システムアドミニストレータが、再ブートを伴
わずにドメインをオンザフライで形成し、サイズ変更し
又は削除することができるようにする。各ドメインは、
システム内の他のドメインから論理的に分離されたまま
であり、他のドメインにより発生されるソフトウェアエ
ラー、或いはCPU、メモリ又はI/Oエラーからそれ
を完全に分離する。いずれのドメイン間でもリソースの
共用はない。
【0010】スタンフォード大学で行われたハイブプロ
ジェクト(Hive Project)は、1組のセルとして構成され
たアーキテクチャを使用している。システムがブートす
るときに、各セルには、実行全体にわたってそれが所有
するある範囲のノードが指定される。各セルは、あたか
もそれが独立したオペレーティングシステムであるかの
ように、これらノードにおけるプロセッサ、メモリ及び
I/Oデバイスを管理する。これらのセルは、ユーザレ
ベルプロセスに単一システムの幻覚を与えるように協働
する。ハイブセルは、それらのリソースをローカル要求
とリモート要求との間でいかに分割するかを決定する役
目を負わない。各セルは、その内部リソースを維持しそ
してそれが割り当てられたりソース内で性能を最適化す
るという役目のみを果たす。全体的なリソース割り当て
は、「ワックス(wax) 」と称するユーザレベルプロセス
により行われる。ハイブシステムは、セル間にある欠陥
含有境界を使用することによりデータの崩壊を防止する
ように試みる。セル間の欠陥含有境界にも拘わらずマル
チプロセッサシステムから予想される緊密な共用を実施
するために、種々のセルカーネルの協働によりリソース
共用が実施されるが、そのポリシーは、ワックスプロセ
スにおいてカーネルの外部で実施される。メモリ及びプ
ロセッサの両方を共用することができる。
【0011】カリフォルニア州、マウンテンビューのシ
リコン・グラフィックス・インクにより開発されて市場
に出された「セルラーIRIX」と称するシステムは、
従来の系統的な多処理システムを拡張することによりモ
ジュラー計算をサポートする。セルラーIRIXアーキ
テクチャは、全体的なカーネルテキスト及びデータを最
適なSMPサイズのチャンク即ち「セル」へと分散す
る。セルは、1つ以上のマシンモジュールより成る制御
ドメインを表わし、各モジュールは、プロセッサ、メモ
リ及びI/Oより成る。これらセルにおいて実行される
アプリケーションは、オペレーティングシステムテキス
ト及びカーネルデータ構造体のローカルコピーを含むロ
ーカルオペレーティングシステムサービスの全セットに
大きく依存する。オペレーティングシステムの1つのイ
ンスタンスのみが全システムに存在する。セル間整合
は、アプリケーションイメージが、データコピー又は余
計なコンテクストスイッチのオーバーヘッドを被ること
なく他のセルからの処理、メモリ及びI/Oリソースを
直接的及び透過的に利用できるようにする。
【0012】オレゴン州、ビューバートンのシーケント
・コンピュータ・システム・インクにより開発されて市
場に出されたNUMA―Qと称する別の既存のアーキテ
クチャは、メモリの一部分当たり4つのプロセッサのグ
ループ即ち「クオド」を、NUMA−Q SMPノード
のための基本的なビルディングブロックとして使用して
いる。各クオドにI/Oを追加すると、性能が更に改善
される。それ故、NUMA―Qアーキテクチャは、物理
的メモリを分散するだけでなく、所定数のプロセッサ及
びPCIスロットを各部分の次ぎに入れる。各クオドの
メモリは、慣例的な意味のローカルメモリではない。む
しろ、これは、物理的なメモリアドレス空間の1/3で
あり、特定のアドレス範囲を有する。アドレスマップ
は、メモリにわたって均一に分割され、各クオドはアド
レス空間の隣接部分を含む。オペレーティングシステム
の1つのコピーのみが実行され、そしていずれのSMP
システムの場合とも同様に、それはメモリにあって、1
つ以上のプロセッサにおいて区別なく同時にプロセスを
実行する。
【0013】従って、最大のリソース利用性及び拡張性
を有する融通性のあるコンピュータシステムを提供する
ために多数の試みがなされているが、既存のシステム
は、どれも、著しい欠点を有する。それ故、改良された
融通性、リソース利用性及び拡張性を与える新規なコン
ピュータシステム設計をもつことが要望される。
【0014】
【課題を解決するための手段】本発明の原理によれば、
オペレーティングシステムの多数のインスタンスは、全
てのプロセッサ及びリソースが電気的に互いに接続され
た単一のマルチプロセッサコンピュータにおいて協働的
に実行される。多数の物理的なプロセッサ及びリソース
を伴う単一の物理的なマシンは、ソフトウェアにより、
オペレーティングシステムの個別のコピー又はインスタ
ンスを実行する能力を各々もつ多数の区画に適応式に細
分化される。各区画は、それ自身の物理的なリソース及
び共用されると指示されたリソースにアクセスする。1
つの実施形態によれば、リソースの区画化は、ある構成
内のリソースを指定することにより実行される。より詳
細には、ソフトウェアは、CPU、メモリ及びI/Oポ
ートを一緒に指定することによりそれらを論理的に及び
適応式に区画化する。次いで、オペレーティングシステ
ムのインスタンスが区画にロードされる。異なる時間
に、異なるオぺレーティングシステムインスタンスが所
与の区画にロードされる。システムマネージャーが指令
するところのこの区画化は、ソフトウェアファンクショ
ンであり、ハードウェア境界は必要とされない。各個々
のインスタンスは、それが独立して実行する必要のある
リソースを有する。CPU及びメモリのようなリソース
は、異なる区画に動的に指定され、そして構成を変更す
ることによりマシン内で実行されるオペレーティングシ
ステムのインスタンスにより使用される。又、区画それ
自体は、構成ツリーを修正することにより、システムを
再ブートせずに変更することができる。これにより得ら
れる適応式に区画された多処理(APMP)システム
は、拡張性及び高性能の両方を指示する。
【0015】
【発明の実施の形態】本発明の上記及び更に別の効果
は、添付図面を参照した以下の詳細な説明から良く理解
されよう。本発明の原理により構成されたコンピュータ
プラットホームは、オペレーティングシステムソフトウ
ェアの多数のインスタンスを同時に実行できるように区
画化することのできるマルチプロセッサシステムであ
る。このシステムは、そのメモリ、CPU及びI/Oサ
ブシステムを区画化するためのハードウェアサポートを
必要としないが、あるハードウェアを使用して、欠陥を
分離しそしてソフトウェアエンジニアリングのコストを
最小にするための付加的なハードウェア支援を与えるこ
ともできる。本発明のソフトウェアアーキテクチャをサ
ポートするのに必要なインターフェイス及びデータ構造
体を以下に説明する。ここに述べるインターフェイス及
びデータ構造体は、特定のオペレーティングシステムを
使用しなければならないことを意味するものでもない
し、又、単一形式のオペレーティングシステムのみが同
時に実行することを意味するものでもない。以下に述べ
るソフトウェア要件を実施するオペレーティングシステ
ムは、本発明のシステムオペレーションに関与すること
ができる。
【0016】システムビルディングブロック 本発明のソフトウェアアーキテクチャは、多数のCP
U、メモリ及びI/Oハードウェアを組み込んだハード
ウェアプラットホームにおいて動作する。図1に示すよ
うなモジュラーアーキテクチャを使用するのが好ましい
が、他のアーキテクチャも使用できることが当業者に明
らかであり、これらのアーキテクチャは、モジュラーで
ある必要がない。図1は、4つの基本的なシステムビル
ディングブロック(SBB)100―106で構成され
たコンピュータシステムを示す。ここに示す実施形態で
は、ブロック100のような各ビルディングブロックは
同一のものであり、多数のCPU108―114と、多
数のメモリスロット(メモリ120として集合的に示さ
れている)と、I/Oプロセッサ118と、システムを
別のシステムに接続できるスイッチ(図示せず)を含む
ポート116とを備えている。しかしながら、他の実施
形態では、ビルディングブロックは、同一である必要は
ない。所望数のシステムビルディングブロックをそれら
のポートにより接続することにより大きなマルチプロセ
ッサシステムを構成することができる。バス技術ではな
く、スイッチ技術を用いて、ビルディングブロック要素
を接続し、改良された帯域巾が得られると共に、非均一
なメモリアーキテクチャ(NUMA)を得ることができ
る。
【0017】本発明の原理によれば、ハードウェアスイ
ッチは、ライン122で概略的に示すように構成された
ビルディングブロックの数に拘わりなく各CPUが使用
可能な全てのメモリ及びI/Oポートをアドレスできる
ように構成される。更に、全てのCPUは、プロセッサ
間割り込みのような従来のメカニズムによって全てのS
BBのいずれかの又は全ての他のCPUと通信すること
ができる。従って、CPU及び他のハードウェアリソー
スは、ソフトウェアのみに関連することができる。この
ようなプラットホームアーキテクチャは、本来拡張可能
であり、多量の処理能力、メモリ及びI/Oを単一のコ
ンピュータにおいて得ることができる。ソフトウェアの
観点から本発明の原理に基づいて構成されたAPMPコ
ンピュータシステム200が図2に示されている。この
システムでは、多数のオペレーティングシステムインス
タンス208、210、212を同時に実行できるよう
にハードウェア要素が割り当てられている。
【0018】好ましい実施形態では、この割り当ては、
「コンソール」プログラムと称するソフトウェアプログ
ラムにより実行され、これは、以下で詳細に述べるよう
に、パワーアップ時にメモリにロードされる。コンソー
ルプログラムは、プログラム213、215及び217
として図2に概略的に示されている。コンソールプログ
ラムは、既存のアドミニストレーティブプログラム又は
個別のプログラムの変形であって、これは、オペレーテ
ィングシステムと対話して好ましい実施形態のオペレー
ションを制御する。コンソールプログラムは、システム
リソースを仮想化せず、即ち実行中のオペレーティング
システム208、210及び212と、メモリ及びI/
Oユニット(図2には示さず)のような物理的なハード
ウェアとの間にソフトウェアレイヤを形成しない。又、
同じハードウェアにアクセスするために、実行中のオペ
レーティングシステム208、210及び212がスワ
ップされる状態もない。むしろ、本発明のシステムは、
ハードウェアを区画へと論理的に分割する。オペレーテ
ィングシステムインスタンス208、210及び212
の役割は、リソースを適切に使用して、リソース割り当
て及び共用の整合を与えることである。ハードウェアプ
ラットホームは、リソースを分割するためのハードウェ
ア支援を任意に与えることができ、そしてオペレーティ
ングシステムがメモリを崩壊したり或いは別のオペレー
ティングシステムコピーにより制御されるデバイスに悪
影響を及ぼすおそれを最小にするための欠陥バリアを与
えることもできる。
【0019】コピー208のようなオペレーティングシ
ステムの単一のコピーに対する実行環境は、「区画」2
02と称され、そして区画202における実行中のオペ
レーティングシステム208は、「インスタンス」20
8と称される。各オペレーティングシステムインスタン
スは、コンピュータシステムにおける他の全てのオペレ
ーティングシステムインスタンスとは独立してブート及
び実行することができ、そして以下に述べるように、オ
ペレーティングシステムインスタンス間でにリソースの
共用に協働的に参加することができる。オペレーティン
グシステムインスタンスを実行するために、区画は、ハ
ードウェア再スタートパラメータブロック(HWRP
B)と、コンソールプログラムのコピーと、ある量のメ
モリと、1つ以上のCPUと、コンソールに対する専用
の物理的ポートをもたねばならない少なくとも1つのI
/Oバスとを含まねばならない。HWRPBは、コンソ
ールプログラムとオペレーティングシステムとの間に通
される構成ブロックである。
【0020】コンソールプログラム213、215及び
217の各々は、ポート214、216及び218とし
て各々示されたコンソールポートに接続される。ポート
214、216及び218のようなコンソールポート
は、一般に、シリアルラインポート、又は取り付けられ
るグラフィックス、キーボード及びマウスオプションの
形態である。本発明のコンピュータシステムの説明上、
専用のグラフィックポート及び関連入力デバイスをサポ
ートする能力は必要とされないが、特定のオペレーティ
ングシステムはそれを必要とする。各区画に対してシリ
アルポートで充分であるというように基本的に仮定す
る。個別のターミナル又は独立したグラフィックコンソ
ールを使用して、各コンソールにより発生された情報を
表示することができるが、ワークステーション、PC又
はLAT228に取り付けられた単一のマルチプレクサ
226にシリアルライン220、222及び224を全
て接続してコンソール情報を表示できるのが好ましい。
【0021】区画は、システムビルディングブロックと
同意語ではないことに注意するのが重要である。例え
ば、区画202は、図1のビルディングブロック100
及び106のハードウェアを構成するが、区画204及
び206は、各々、ビルディングブロック102及び1
04のハードウェアを構成してもよい。又、区画は、ビ
ルディングブロックのハードウェアの一部分を含んでも
よい。区画は、「初期化」又は「非初期化」することが
できる。初期化された区画は、オペレーティングシステ
ムインスタンスを実行するのに充分なリソースを有し、
イメージロードされたコンソールプログラムと、使用可
能で且つ実行を行う一次CPUとを有する。初期化され
た区画は、コンソールプログラムの制御下にあってもよ
いし、又はオペレーティングシステムインスタンスを実
行してもよい。初期化された状態においては、区画は、
それに指定されたハードウェア要素の完全な所有権及び
制御権を有し、そして区画それ自体だけがその要素を解
除できる。
【0022】本発明の原理によれば、リソースは、1つ
の初期化された区画から別の区画へ再指定することがで
きる。リソースの再指定は、リソースが現在指定されて
いる初期化された区画でしか実行できない。ある区画が
非初期化状態にあるときには、他の区画は、そのハード
ウェア要素を再指定したり、それを削除したりすること
ができる。非初期化の区画とは、コンソールプログラム
又はオペレーティングシステムの制御下で実行する一次
CPUをもたない区画である。例えば、ある区画は、パ
ワーアップ時に一次CPUを実行するに充分なリソース
がないために非初期化とされるか、又はシステムアドミ
ニストレータがコンピュータシステムを再構成するとき
に非初期化とされる。非初期化状態にあるときは、ある
区画は、そのハードウェア要素を再指定することもでき
るし、その区画を別の区画によって削除することもでき
る。非指定のリソースは、いずれの区画によって指定す
ることもできる。
【0023】区画は、協働リソース共用を許すために個
別の実行コンテクストをグループ分けするための基礎と
なる「コミュニティ」に編成することができる。同じコ
ミュニティ内の区画は、リソースを共用することができ
る。同じコミュニティ内にない区画は、リソースを共用
できない。リソースは、同じコミュニティにない区画間
では、システムアドミニストレータによりリソースを指
定解除し(及び使用を停止し)そしてリソースを手動で
再構成することによって手動で移動するしかない。コミ
ュニティは、独立したオペレーティングシステムドメイ
ンを形成したり、又はハードウェア使用のためのユーザ
ポリシーを実施したりするのに使用できる。図2におい
て、区画202及び204は、コミュニティ230へと
編成されている。区画206は、それ自身のコミュニテ
ィ205にある。これらのコミュニティは、以下に述べ
る構成ツリーを用いて形成することができ、そしてハー
ドウェアにより実施することができる。
【0024】コンソールプログラム 本発明の原理により構成されたコンピュータシステムが
プラットホームにおいてイネーブルされたときには、多
数のHWRPBを形成しなければならず、多数のコンソ
ールプログラムコピーをロードしなければならず、そし
て各HWRPBがシステムの特定の要素に関連するよう
にシステムリソースを指定しなければならない。これを
行うために、実行すべき第1のコンソールプログラム
は、システムないの全てのハードウェアを表わす構成ツ
リー構造体をメモリに形成する。このツリーは、又、ソ
フトウェア区画化情報、及び区画に対するハードウェア
指定も含み、このツリーについては、以下で詳細に述べ
る。より詳細には、APMPシステムがパワーアップさ
れるときには、システムが動作しているプラットホーム
に特有のハードウェアにより、あるCPUが従来のやり
方で一次CPUとして選択される。一次CPUは、次い
で、コンソールプログラムのコピーをメモリにロードす
る。このコンソールコピーは、「マスターコンソール」
プログラムと称される。一次CPUは、最初に、マスタ
ーコンソールプログラムの制御の下で動作し、マシン全
体を所有している単一のシステムが存在するという仮定
でテスト及びチェックを実行する。その後、システム区
画を定義する1組の環境変数がロードされる。最終的
に、マスターコンソールは、環境変数に基づいて区画を
形成しそして初期化する。この後者のプロセスにおい
て、マスターコンソールは、構成ツリーを形成し、付加
的なHWRPBデータブロックを形成し、付加的なコン
ソールプログラムコピーをロードし、そして別のHWR
PBにおけるCPUを始動するように動作する。各区画
は、次いで、そこで実行されるオペレーティングシステ
ムインスタンスを有し、このインスタンスは、これも又
その区画で実行されるコンソールプログラムコピーと協
働する。非構成のAPMPシステムでは、マスターコン
ソールプログラムは、一次CPUと、最低量のメモリ
と、プラットホーム特定のやり方で選択された物理的な
システムアドミニストレータのコンソールとを含む単一
の区画を最初に形成する。コンソールプログラムコマン
ドは、次いで、システムアドミニストレータが付加的な
区画を形成すると共に、各区画に対するI/Oバス、メ
モリ及びCPUを構成できるようにする。
【0025】区画に対するリソースの関連付けがコンソ
ールプログラムによって行われた後に、その関連性が不
揮発性RAMに記憶され、その後のブート中にシステム
を自動的に構成できるようにされる。その後のブート中
に、マスターコンソールプログラムは、新たな要素の追
加及び除去を取り扱うために現在の構成を記憶された構
成で確認しなければならない。新たに追加される要素
は、それらがシステムアドミニストレータによって指定
されるまで非指定状態に入れられる。ハードウェア要素
を除去したときに、区画のもつリソースがオペレーティ
ングシステムを実行するのに不充分なものとなる場合に
は、リソースがその区画に指定され続けるが、付加的な
新たなりソースがそこに指定されるまでオペレーティン
グシステムインスタンスを実行することはできない。
【0026】既に述べたように、コンソールプログラム
は、オペレーティングシステムのブートアップ中にオペ
レーティングシステムへ通されたHWRPBによりオペ
レーティングシステムインスタンスと通信する。コンソ
ールプログラムに対する基本的な要件は、HWRPBそ
れ自体及びその多数のコピーを形成できねばならないこ
とである。コンソールプログラムにより形成された各H
WRPBコピーは、独立したオペレーティングシステム
インスタンスをメモリのプライベート区分へとブートす
ることができ、そしてこのようにブートされる各オペレ
ーティングシステムインスタンスは、HWRPBに入れ
られる独特の値によって識別することができる。この値
は区画を指示し、そしてオペレーティングシステムイン
スタンスIDとしても使用される。
【0027】更に、コンソールプログラムは、区画内で
実行されているオペレーティングシステムによる要求に
応答してその区画内で使用できるCPUからあるCPU
を除去するためのメカニズムを形成するように構成され
る。各オペレーティングシステムインスタンスは、コン
ソールプログラムに制御権が通されるように、遮断、停
止又はさもなくばクラッシュできねばならない。逆に、
各オペレーティングシステムインスタンスは、他のオペ
レーティングシステムインスタンスとは独立して、ある
オペレーションモードへと再ブートできねばならない。
コンソールプログラムにより形成された各HWRPB
は、システム内にあるか又はシステム全体をパワーダウ
ンせずにシステムに追加できる各CPUに対してCPU
スロット特有のデータベースを含む。物理的に存在する
各CPUは、「存在」とマークされるが、特定の区画に
おいて最初に実行するCPUだけは、区画のHWRPB
において「使用可能」とマークされる。ある区画におい
て実行されるオペレーティングシステムインスタンス
は、HWRPBのCPUごとの状態フラグフィールドに
おける「存在」(PP)ビットにより将来のある時間に
CPUを使用できると確認することができ、そしてこれ
を表わすデータ構造体を形成することができる。CPU
ごとの状態フラグフィールドにおける「使用可能」(P
A)ビットは、これがセットされると、その関連CPU
が区画に現在関連されていて、SMPオペレーションに
加えるように案内できることを指示する。
【0028】構成ツリー 既に述べたように、マスターコンソールプログラムは、
ハードウェアの構成と、各区画に対するシステムの各要
素の指定とを表わす構成ツリーを形成する。次いで、各
コンソールプログラムは、HWRPBにツリーのポイン
タを入れることにより構成ツリーをそれに関連したオペ
レーティングシステムインスタンスに識別する。図3に
戻ると、構成ツリー300は、システム内のハードウェ
ア要素と、プラットホームの制約及び最小値と、ソフト
ウェア構成とを表わす。マスターコンソールプログラム
は、以前の初期化中に発生された構成情報を含む不揮発
性RAMに記憶された情報と、ハードウェアの検知とに
より発見された情報を用いてツリーを形成する。
【0029】マスターコンソールは、全てのオペレーテ
ィングシステムインスタンスによってコピーが共用され
るところのツリーの単一コピーを発生することもできる
し、又は各インスタンスごとにツリーを複写することも
できる。ツリーの単一コピーは、独立したメモリを伴う
システムに単一の欠陥点を形成し得るという欠点があ
る。しかしながら、多数のツリーコピーを発生するプラ
ットホームは、コンソールプログラムがツリーに対する
変化を同期状態に保持できることを必要とする。構成ツ
リーは、根ノード、子ノード及び兄弟ノードを含む多数
のノードより成る。各ノードは、固定のヘッダと、オー
バーレイデータ構造体に対する可変長さ延長部とで形成
される。ツリーは、全システムボックスを表わすツリー
根ノード302で出発し、その後に、ハードウェア構成
(ハードウェア根ノード304)、ソフトウェア構成
(ソフトウェア根ノード306)及び最小区画要件(テ
ンプレート根ノード308)を示すブランチが続く。図
3において、矢印は、子供及び兄弟関係を表わす。ある
ノードの子供は、ハードウェア及びソフトウェア構成の
構成要素を表わす。兄弟は、同じ親をもつ意外関係のな
い要素の同等のものを表わす。ツリー300のノード
は、ソフトウェアコミュニティ及びオペレーティングシ
ステムインスタンス、ハードウェア構成、構成制約、性
能境界及びホットスワップ能力に関する情報を含む。
又、これらノードは、ハードウェア対ソフトウェア所有
権の関係又はハードウェア要素の共用も与える。
【0030】これらのノードは、メモリ内に隣接して記
憶され、そしてツリー300のツリー根ノード302か
ら特定ノードへのアドレスオフセットが「ハンドル」を
形成し、これは、オペレーティングシステムインスタン
スにおける同じ要素を明確に識別するためにオペレーテ
ィングシステムインスタンスにより使用することができ
る。更に、本発明のコンピュータシステムの各要素は、
個別のIDを有する。これは、説明上、64ビットの無符
号値である。このIDは、要素の形式及びサブ形式値と
組み合わされたときに独特の要素を特定しなければなら
ない。即ち、所与の形式の要素に対し、IDは、特定の
要素を識別しなければならない。IDは、単純な数字、
例えば、CPU IDであってもよいし、他の何らかの
独特のエンコード又は物理的なアドレスであってもよ
い。要素ID及びハンドルは、任意の数のコンピュータシ
ステムがハードウェア又はソフトウェアの特定の部片を
識別できるようにする。即ち、いずれの特定方法を使用
するいかなる区画も、同じ仕様を用いて同じ結果を得る
ことができねばならない。
【0031】上記のように、本発明のコンピュータシス
テムは、1つ以上のコミュニティより成り、これらコミ
ュニティは、次いで、1つ以上の区画より成る。独立し
たコミュニティにわたって区画を分割することにより、
本発明のコンピュータシステムは、デバイス及びメモリ
の共用を制限し得る構成にすることができる。コミュニ
ティ及び区画は、高密度でパックされるIDを有する。
ハードウェアプラットホームは、システムに存在するハ
ードウェアに基づいて区画の最大数を決定し、そしてプ
ラットホーム最大限界を有する。区画及びコミュニティ
IDは、ランタイム中にこの値を決して越えることがな
い。IDは、削除された区画及びコミュニティに対して
再使用される。コミュニティの最大数は、区画の最大数
と同じである。更に、各オペレーティングシステムイン
スタンスは、独特のインスタンス識別子、例えば、区画
IDと具体的な数字との組み合わせによって識別され
る。
【0032】コミュニティ及び区画は、ソフトウェア根
ノード306により表わされ、これは、コミュニティノ
ード子供(そのコミュニティノード310が示されてい
る)と、区画ノード孫(その2つのノード312及び3
14が示されている)とを有する。ハードウェア要素
は、ハードウェア根ノード304により表わされ、これ
は、コンピュータシステムに現在存在する全てのハード
ウェアのハイアラーキー表示を示す子供を含む。ハード
ウェア要素の「所有権」は、適当なソフトウェアノード
(310、312又は314)を指す関連ハードウェア
ノードにおけるハンドルにより表わされる。これらのハ
ンドルは図4に示されており、これについて、以下に説
明する。特定の区画が所有する要素は、その区画を表わ
すノードを指すハンドルを有する。多数の区画が共用す
るハードウェア(例えば、メモリ)は、その共用が拘束
されるコミュニティを指すハンドルを有する。未所有の
ハードウェアは、ゼロのハンドル(根ノード302を表
わす)を有する。
【0033】ハードウェア要素は、所有権をいかに分割
するかについて構成上の制約を課する。各要素に関連し
た構成ツリーノードにおける「config」ハンドル
は、ハードウェア根ノード304を指すことにより要素
をコンピュータシステムのどこにでも自由に関連させる
べきかどうか決定する。しかしながら、あるハードウェ
ア要素は、祖先ノードに結合することができ、そしてこ
のノードの一部分として構成されねばならない。この例
は、どこで実行するかの制約をもたないが、SBB32
2又は324のようなシステムビルディングブロック
(SBB)の構成要素であるCPUである。この場合
に、たとえCPUがSBBの子供であっても、そのco
nfigハンドルは、ハードウェア根ノード304を指
す。しかしながら、I/Oバスは、そのI/Oプロセッ
サを所有する区画以外の区画が所有することはできな
い。この場合に、I/Oバスを表わす構成ツリーノード
は、I/Oプロセッサを指すconfigハンドルを有
する。ハードウェア構成を支配するルールは、プラット
ホーム特有のものであるから、この情報は、confi
gハンドルによりオペレーティングシステムインスタン
スに与えられる。
【0034】各ハードウェア要素は、「親和力(affinit
y)」ハンドルも有する。この親和力ハンドルは、con
figハンドルと同じであるが、要素の最良の性能を得
る構成を表わす。例えば、CPU又はメモリは、コンピ
ュータシステムのどこででも構成できるようにするco
nfigハンドル(ハードウェア根ノード304を指
す)を有するが、最適な性能のためには、CPU又はメ
モリは、それらが一部分であるところのシステムビルデ
ィングブロックを使用するように構成されねばならな
い。その結果、configポインタは、ハードウェア
根ノード304を指すが、親和力ポインタは、ノード3
22又は324のようなSBBノードを指す。いかなる
要素の親和力もプラットホーム特有のもので、ファーム
ウェアにより決定される。ファームウェアは、「最適」
な自動構成を作るように求めるときに子の情報を使用す
ることができる。
【0035】又、各ノードは、ノードの形式及び状態を
指示する多数のフラグも含む。これらのフラグは、表わ
される要素が「ホットスワップ可能」な要素でありそし
てその親及び兄弟とは独立してパワーダウンできること
を指示するnode hotswapフラグを含む。し
かしながら、このノードの全ての子供は、この要素がパ
ワーダウンする場合にはパワーダウンしなければならな
い。子供がこの要素と独立してパワーダウンできる場合
には、それに対応するノードにおいてこのビットをセッ
トしなければならない。別のフラグは、node un
availableフラグであり、これは、セットされ
ると、ノードにより表わされる要素が使用のために現在
入手できないことを指示する。2つのフラグnode
hardware及びnode templeteは、
ノードの形式を指示する。又、ノードが初期化された区
画を表わすか又は現在の一次CPUであるCPUを表わ
すかを指示するために、node initializ
ed及びnode cpu primaryのような更
に別のフラグを設けることもできる。
【0036】構成ツリー300は、オペレーティングシ
ステムがバスを検知せずにバス及びデバイス構成テーブ
ルを形成できるようにするデバイスコントローラのレベ
ルまで拡張できる。しかしながら、ツリーは任意のレベ
ルで終了してもよい。但し、それより下の全ての要素を
独立して構成できない場合である。システムソフトウェ
アは、ツリーにより与えられないバス及びデバイス情報
を検知することが依然として要求される。コンソールプ
ログラムは、システムの各要素に構成の制約がもしあれ
ばそれを実行及び実施する。一般に、要素は、制約なし
に指定可能である(例えば、CPUは、制約をもたな
い)、又は別の要素の一部分としてのみ構成可能である
(例えば、デバイスアダプタは、そのバスの一部分とし
てのみ構成可能である)。上記のように、CPU、メモ
リ及びI/Oデバイスを独特のソフトウェアエンティテ
ィへとグループ編成したものである区画は、最小要件も
有する。例えば、区画のための最小ハードウェア要件
は、少なくとも1つのCPUと、あるプライベートメモ
リ(プラットホームに従属する最小のもので、コンソー
ルメモリを含む)と、物理的な非共用コンソールポート
を含むI/Oバスとである。
【0037】区画のための最小要素要件は、テンプレー
ト根ノード308に含まれた情報によって与えられる。
テンプレート根ノード308は、ノード316、318
及び320を含み、これは、コンソールプログラム及び
オペレーティングシステムインスタンスを実行すること
のできる区画を形成するために設けなければならないハ
ードウェア要素を表わす。構成エディタは、新たな区画
を形成するためにどんな形式及びどれほど多くのリソー
スを使用できねばならないかを決定するための基礎とし
てこの情報を使用することができる。新たな区画の形成
中に、テンプレートサブツリーは、「ウオーキング」さ
れ、そしてテンプレートサブツリーの各ノードごとに、
新たな区画により所有される同じ形式及びサブ形式のノ
ードがあって、コンソールプログラムをロードしそして
オペレーティングシステムインスタンスをブートするこ
とができねばならない。テンプレートツリーに同じ形式
及びサブ形式のノードが2つ以上ある場合には、新たな
区画にも多数のノードがなければならない。コンソール
プログラムは、コンソールプログラムをロードしそして
初期化オペレーションを試みる前に、テンプレートを使
用して、新たな区画が最小要件を有することを確認す
る。
【0038】構成ツリーノードの特定の実施に関する詳
細な例を以下に示す。これは、単に説明上のものに過ぎ
ず、これに限定されるものではない。各HWRPBは、
現在の構成と、区画に対する要素の指定とを与える構成
ツリーを指さねばならない。HWRPBの構成ポインタ
(CONFIGフィールドにおける)は、構成ツリーを
指すのに使用される。CONFIGフィールドは、ツリ
ーに対するメモリプールのサイズと、メモリの初期チェ
ック和とを含む64バイトヘッダを指す。ヘッダの直後
に、ツリーの根ノードがある。ツリーのヘッダ及び根ノ
ードは、ページ整列される。構成ツリーに割り当てられ
るメモリの全サイズ(バイト)は、ヘッダの第1のクオ
ドワードに位置される。このサイズは、ハードウェアペ
ージサイズの倍数となるように保証される。ヘッダの第
2のクオドワードは、チェック和に指定される。構成ツ
リーを検査するために、オペレーティングシステムイン
スタンスは、ツリーをそのローカルアドレス空間にマッ
プする。オペレーティングシステムインスタンスは、全
てのアプリケーションに許された読み取りアクセスでこ
のメモリをマップするので、特権のないアプリケーショ
ンが、それがアクセスしてはならないコンソールデータ
へのアクセスを得るのを防止するための何らかの構成を
設けねばならない。メモリを適当に割り当てることによ
りアクセスが制限される。例えば、メモリはページ整列
されそして全ページに割り当てられてもよい。通常は、
オペレーティングシステムインスタンスは、構成ツリー
の第1ページをマップし、ツリーサイズを得、そして構
成ツリーの使用のために割り当てられたメモリを再マッ
プする。全サイズは、ツリーへの動的な変化に対してコ
ンソールにより使用される付加的なメモリを含むことが
できる。 好ましくは、構成ツリーノードは固定のヘッ
ダで形成され、そしてその固定のヘッダに続いて形式特
有の情報を任意に含む。サイズフィールドは、ノードの
全長を含み、ノードは、この例では64バイトの倍数で
割り当てられ、そして必要に応じてパッドが付けられ
る。ノードの固定ヘッダにおけるフィールドを以下に一
例として説明する。
【0039】 typedef struct gct node{ unsigned char type; unsigned char subtype; unit16 size; GCT HANDLE owner; GCT HANDLE current owner; GCT ID id; union { unit64 node flags; struct { unsigned node hardware :1; unsigned node hotswap :1; unsigned node unavailable :1; unsigned node hw templete :1; unsigned node initialized :1; unsigned node cpu primary :1; #defineNODE HARDWARE 0x001 #defineNODE HOTSWAP 0x002 #defineNODE UNAVAILAVLE 0x004 #defineNODE HW TEMPLATE 0x008 #defineNODE INITIALIZED 0x010 #defineNODE PRIMARY 0x020 }flag bit; } flag union; GCT HANDLE config; GCT HANDLE affinity; GCT HANDLE parent; GCT HANDLE next sib; GCT HANDLE prev sib; GCT HANDLE child; GCT HANDLE reserved; Unit32 magic }GCT NODE;
【0040】上記定義において、形式定義「unit」
は、適当なビット長さをもつ無符号の整数である。上述
したように、ノードは、ハンドルにより位置決めされ、
識別される(上記定義では、typedef GCT
HANDLEにより識別される)。ここに例示するハン
ドルは、構成ツリーのベースからノードまでの符号付き
32ビットオフセットである。値は、コンピュータシス
テムの全ての区画にわたって独特である。即ち、ある区
画において得られるハンドルは、全ての区画において、
ノードをルックアップするために、又はコンソールコー
ルバックへの入力として有効でなければならない。ma
gicフィールドは、ノードが実際に有効なノードであ
ることを指示する所定のビットパターンを含む。ツリー
根ノードは、システム全体をあらわす。そのハンドルは
常にゼロである。即ち、それは、常に、configヘ
ッダに続く構成ツリーに割り当てられたメモリの第1の
物理的な位置に配置される。これは、次の定義を有す
る。 typedef struct gct root node{ GCT NODE hd; unit64 lock; unit64 transient level; unit64 current level; unit64 console req; unit64 min alloc; unit64 min align; unit64 base alloc; unit64 base align; unit64 max phys address; unit64 mem size; unit64 platform type; int32 platform name; GCT HANDLE primary instance; GCT HANDLE first free; GCT HANDLE high limit; GCT HANDLE lookaside; GCT HANDLE available; unit32 max partition; int32 partitions; int32 communities; unit32 max platform partition; unit32 max fragments; unit32 max desc; char APMX id[16]; char APMX id pad[4]; int32 bindings; } GCT ROOT NODE;
【0041】根ノードにおけるフィールドは、次のよう
に定義される。lockこのフィールドは、ツリーの構
造体への変更を禁止しようとするソフトウェアと、ソフ
トウェア構成とにより単純なロックとして使用される。
この値が―1(全てのビットがオン)であるときには、
ツリーがロック解除され、そしてこの値が0以上である
ときには、ツリーがロックされる。このフィールドは、
原子オペレーションを用いて変更される。ロックルーチ
ンの発呼者は区画IDを送り、これはロックフィールド
に書き込まれる。これは、欠陥追跡を助成しそしてクラ
ッシュ中に回復するのに使用できる。 transient level
【0042】このフィールドは、ツリー更新の始めに増
加される。 current level このフィールドは、ツリー更新の完了時に更新される。 console req このフィールドは、区画のベースメモリセグメントにお
いてコンソールに対して要求されるメモリ(バイト)を
特定する。 min alloc このフィールドは、メモリ断片の最小サイズと、割り当
て単位を保持する(断片サイズは、割り当ての倍数でな
ければならない)。これは、2の累乗でなければならな
い。 min align
【0043】このフィールドは、メモリ断片に対する整
列要求を保持する。これは、2の累乗でなければならな
い。 base alloc このフィールドは、区画のベースメモリセグメントとし
て要求される最小メモリ(バイト)(console
reqを含む)を特定する。これは、区画に対してコン
ソール、コンソール構造体及びオペレーティングシステ
ムがどこでロードされるかである。これは、minal
loc及びminallocの倍数以上でなければなら
ない。 base align
【0044】このフィールドは、区画のベースメモリセ
グメントに対する整列要求を保持する。これは、2の累
乗でなければならず、そして少なくともmin ali
gnの整列を有していなければならない。 max phys address このフィールドは、現在パワーオン及び使用可能でない
メモリサブシステムを含むシステムに存在し得る計算さ
れた最大の物理的アドレスを保持する。 mem size このフィールドは、現在システムにある全メモリを保持
する。 platform type このフィールドは、HWRPBのフィールドから得たプ
ラットホームの形式を記憶する。 platform
name
【0045】このフィールドは、ツリー根ノードのベー
スからプラットホームの名前を表わすストリングまでの
整数オフセットをあらわす。 primary instance このフィールドは、第1のオペレーティングシステムイ
ンスタンスの区画IDを保持する。 first tree このフィールドは、ツリー根ノードから新たなノードに
使用されるメモリプールの第1の空きバイトまでのオフ
セットを保持する。 high limit このフィールドは、構成ツリー内に有効なノードを配置
できるところの最上位アドレスを保持する。これは、ハ
ンドルが適正なものであることを確認するためにコール
バックにより使用される。 lookaside
【0046】このフィールドは、削除されていて再請求
することのできるノードのリンクされたリストのハンド
ルである。コミュニティ又は区画が削除されたときに
は、ノードがこのリストにリンクされ、そして新たな区
画又はコミュニティを形成すると、空きプールからの割
り当ての前にこのリストが探索される。 available このフィールドは、first treeフィールドに
より指示された空きプールに残っているバイト数を保持
する。 max partitions このフィールドは、現在使用できるハードウェアリソー
スの量に基づいてプラットホームにより計算される区画
の最大数を保持する。 partitions
【0047】このフィールドは、根ノードのベースから
ハンドルのアレーまでのオフセットを保持する。各区画
IDは、このアレーへのインデックスとして使用され、
そして区画ノードハンドルは、インデックスされた位置
に記憶される。新たな区画が形成されたときに、このア
レーを検査し、対応する区画ノードハンドルをもたない
第1の区画IDを見つけ、この区画IDは新たな区画に
対するIDとして使用される。 communities このフィールドも、根ノードのベースからハンドルのア
レーまでのオフセットを保持する。各コミュニティID
は、このアレーへのインデックスとして使用され、そし
てコミュニティノードハンドルがこのアレーに記憶され
る。新たなコミュニティが形成されると、このアレーを
検査して、対応するコミュニティノードハンドルをもた
ない第1のコミュニティIDを見つけ、このコミュニテ
ィIDは新たなコミュニティに対するIDとして使用さ
れる。区画以上の多くのコミュニティが存在することは
なく、従って、アレーは、区画の最大数に基づくサイズ
とされる。 max platform partition
【0048】このフィールドは、たとえ付加的なハード
ウェアが追加されても(潜在的にインスワップされる)
プラットホームに同時に存在し得るプラットホームの最
大数を保持する。 max fragment このフィールドは、メモリ記述子を分割できるところの
断片のプラットホーム定義最大数を保持する。これは、
メモリ記述子ノードにおける断片のアレーサイズを決め
るのに使用される。 max desc このフィールドは、プラットホームに対するメモリ記述
子の最大数を保持する。 APMP id このフィールドは、システムソフトウェアによってセッ
トされて不揮発性RAMにセーブされるシステムIDを
保持する。 APMP id pad このフィールドは、APMD IDのパッディングバイ
トを保持する。 bindings
【0049】このフィールドは、「バインディング」の
アレーに対するオフセットを保持する。各バインディン
グエントリは、ハードウェアノードの形式、親でなけれ
ばならないノードの形式、構成バインディング、及びノ
ード形式に対する親和力バインディングを記述する。バ
インディングは、ノード形式がいかに関係しているか及
び構成及び親和力ルールを決定するためにソフトウェア
により使用される。コミュニティは、区画間のリソース
の共用の基礎を与える。ハードウェア要素は、コミュニ
ティのいずれの区画にも指定できるが、メモリのような
デバイスの実際の共用は、コミュニティ内で生じるだけ
である。コミュニティノード310は、APMPデータ
ベースと称する制御区分のポインタを含み、これは、オ
ペレーティングシステムインスタンスがインスタンス間
でメモリ及び通信を共用する目的でコミュニティにおけ
るアクセス及び会員資格を制御できるようにする。AP
MPデータベース及びコミュニティの形成は、以下に詳
細に述べる。コミュニティに対する構成IDは、コンソ
ールプログラムにより指定された符号付き16ビット整
数値である。ID値は、プラットホームにおいて形成で
きる区画の最大数より決して大きくならない。
【0050】ノード312又は314のような区画ノー
ドは、コンソールプログラムの独立コピー及びオペレー
ティングシステムの独立コピーを実行することのできる
ハードウェアの集合をあらわす。このノードに対する構
成IDは、コンソールにより指定される符号月6ビット
整数値である。このIDは、プラットホームにおいて形
成できる区画の最大数より決して大きくならない。ノー
ドは、次の定義を有する。 typedef struct gct partition node{ GCT NODE hd; unit64 hwrpb; unit64 incarnation; unit64 priority; int32 os type; unit32 partition reserved 1; unit64 instance name format; char instance name[128]; } GCT PARTITION NODE; 定義されたフィールドは、次の定義を有する。 hwrpb このフィールドは、この区画に対するハードウェア再ス
タートパラメータブロックの物理的なアドレスを保持す
る。HWRPBの対する変化を最小にするために、HW
RPBは、区画のポインタ又は区画IDを含まない。む
しろ、区画がHWRPBのポインタを含む。従って、シ
ステムソフトウェアは、HWRPBの物理的アドレスを
含む区画に対する区画ノードをサーチすることにより、
それが実行される区画の区画IDを決定することができ
る。 incarnation
【0051】このフィールドは、区画の一次CPUが区
画においてブート又は再スタート動作を実行するたびに
増加される値を保持する。 priority このフィールドは、区画に優先順位を保持する。 os type このフィールドは、区画にロードされるオペレーティン
グシステムの形式を指示する値を保持する。 partition reserved 1 このフィールドは、将来の使用のために指定される。 instance name format このフィールドは、インスタンス名ストリングのフォー
マットを示す値を保持する。 instance name
【0052】このフィールドは、instance
ame formatフィールドを用いて解釈されるフ
ォーマット化ストリングを保持する。このフィールドの
値は、区画において実行されているオペレーティングシ
ステムインスタンスに高レベル経路名を与える。このフ
ィールドは、システムソフトウェアによりロードされ、
そしてパワーサイクルにわたってセーブされない。この
フィールドは、パワーアップ時及び区画形成及び削除時
にクリアされる。ノード322又は324のようなシス
テムビルディングブロックノードは、図2に示すような
モジュラー設計のシステムプラットホームにより使用さ
れるハードウェア又は概念的グループ構成の任意の断片
をあらわす。QBB(クオドビルディングブロック)
は、SBBの特定例であり、図1のユニット100、1
02、104及び106のようなユニットに対応する。
SBBノード322及び324の子供は、入力/出力プ
ロセッサノード326及び340を含む。
【0053】ノード328ないし332及び342ない
し346のようなCPUノードは、SMP動作に対して
一次CPUとして動作できると仮定する。CPUが一次
として動作できない稀なケースにおいては、SMP動作
において一次CPUとして使用できないことを示すSU
BTYPEコードを有する。この情報は、新たな区画を
形成するリソースを構成するときに重要である。又、C
PUノードは、CPUが現在どこで実行するかについて
の情報を搬送する。ある区画の一次CPUは、NODE
FLAGフィールドのNODE CPU PRIMA
RYフラグをセットする。CPUノードは、次の定義を
有する。
【0054】ノード334又は348のようなメモリサ
ブシステムノードは、物理的メモリコントローラと、そ
れらコントローラが与えるメモリの指定とを表わすノー
ドを一緒にグループ構成にする「擬似」ノードである。
このノードの子供は、コンソールが一緒に動作する(イ
ンターリーブされて)ように構成した1つ以上のメモリ
コントローラノード(例えば、ノード336及び35
0)と、メモリの物理的な連続範囲を示す1つ以上の物
理的な記述ノード(例えば、ノード338及び352)
とで構成される。
【0055】メモリコントローラノード(例えば、ノー
ド336又は350)は、物理的なハードウェア要素を
表わすのに使用され、そしてその所有者は、通常は、エ
ラー及び初期化を取り扱う区画である。メモリコントロ
ーラは、初期化、テスト及びエラーに対する特定のオペ
レーティングシステムインスタンスを必要とするので、
コミュニティに指定することはできない。しかしなが
ら、メモリ記述子ノードにより定義されるメモリ記述
は、異なる区画又はコミュニティがメモリ記述子内の特
定のメモリ範囲を所有できるようにする「断片」に分割
することができる。メモリは、同時に共用することがで
きるか又は「プライベート」エリアに分割できるという
点で他のハードウェアリソースとは異なる。各メモリ記
述子ノードは、メモリを区画間で分割できると共に、区
画(コミュニティにより所有された)間で共用できるよ
うにするサブセット範囲のリストを含む。メモリ記述子
ノード(例えば、ノード338又は352)は、次のよ
うに定義される。
【0056】 mem info構造体は、次の定義を有する。 mem flagフィールドは、メモリ記述子ノードの
ベースから、次の定義を有するGCT MEM DES
C構造体のアレーまでのオフセットを保持する。
【0057】 typedef struct gct mem desc{ unit64 pa; unit64 size; GCT HANDLE mem owner; GCT HANDLR mem current owner; union{ unit32 mem flags; struct{ unsigned mem console :1; unsigned mem private :1; unsigned mem shard :1; unsigned base :1; #define CGT MEM CONSOLE 0x1 #define CGT MEM PRIVATE 0x2 #define CGT MEM SHARED 0x4 #define CGT MEM CONSOLE 0x8 }flag bit; } flag union; unit32 mem fill; }GCT MEM DESC;
【0058】メモリ記述ノード(ノード338又は35
2)における断片の数は、プラットホームファームウェ
アにより制限される。これは、メモリ区分の上限を形成
し、そして構成ツリーの無制限成長を制限する。ソフト
ウェアは、ツリー根ノード302(上記した)における
max fragmentsフィールドにより、又は値
を返送するための適当なコンソールコールバックを呼び
出すことにより、断片の最大数を決定することができ
る。各断片は、configバインディングと、メモリ
記述子及びメモリサブシステムノードの所有権とが許す
場合には、いかなる区画に指定することもできる。各断
片は、基本的物理アドレスと、サイズと、所有者フィー
ルドと、使用の形式を指示するフラグとを含む。
【0059】共用メモリアクセスを許すために、メモリ
サブシステムの親ノード及びメモリ記述子ノードは、コ
ミュニティにより所有されねばならない。メモリ記述子
内の断片は、コミュニティ(共用)によるか又はコミュ
ニティ内の任意の区画によって所有される。断片は、ツ
リー根ノード302に与えられる最小割り当てサイズ及
び指定をもつことができる。区画に対する基本的メモリ
(コンソール及びオペレーティングシステムがロードさ
れるところの断片)は、他の断片よりも大きな割り当て
及び指定をもつことができる(上記のツリー根ノード定
義を参照)。メモリ記述子ノードの所有者フィールドが
ある区画である場合には、その区画でしか断片を所有す
ることができない。
【0060】図4は、所有権のパースペクティブから見
たときの図3の構成ツリーを示す。ある区画のコンソー
ルプログラムは、その区画の一次CPUが実行を開始す
るときにその区画において実行されているオペレーティ
ングシステムインスタンスに区画リソースの所有権及び
制御を譲る。「所有権」の概念は、ハードウェアリソー
ス及びCPUがソフトウェア区画及びコミュニティにい
かに指定されるかを決定する。構成ツリーは、図4に示
す所有権ポインタを有し、これは、区画(排他的アクセ
ス)及びコミュニティ(共用アクセス)のようなソフト
ウェアへのハードウェアデバイスのマッピングを決定す
る。尾pレーティングシステムインスタンスは、構成ツ
リーの情報を使用して、それがどのハードウェアリソー
スに対してアクセス及び再構成制御を有するかを決定す
る。
【0061】所有者をもたない受動的なハードウェアリ
ソースは、所有権が確立されるまで使用することができ
ない。構成ツリーを変更することにより所有権が確立さ
れると、オペレーティングシステムインスタンスは、リ
ソースの使用を開始することができる。あるインスタン
スが初期要求を行うと、所有するオペレーティングシス
テムがリソースの使用を停止するようにさせるか、又は
オペレーティングシステムインスタンスが実行されてい
ない区画においてコンソールプログラムがリソースの使
用を停止する動作をとることにより、所有権を変更する
ことができる。次いで、構成ツリーは、リソースの所有
権を別のオペレーティングシステムインスタンスへ移行
するように変更される。オペレーティングシステムがハ
ードウェアリソースの使用を停止するようにさせるに必
要な動作は、オペレーティングシステムに特有のもの
で、変更により影響を受けるオペレーティングシステム
インスタンスの再ブートを必要とする。
【0062】所有されたアクティブな状態から非所有の
インアクティブな状態へのリソースの移行を管理するた
めに、ツリーの各ノードには2つのフィールドが設けら
れる。「owner」フィールドは、リソースの所有者
をあらわし、所有するソフトウェア区画又はコミュニテ
ィのハンドルが設けられる。APMPシステムのパワー
アップ時に、ハードウェアノードの「owner」フィ
ールドは、不揮発性RAMの内容からロードされて、初
期構成を確立する。リソースの所有者を変更するため
に、ハードウェア要素の「owner」フィールドと、
configハンドルにより要素に結合されたハードウ
ェア要素の子孫の「owner」フィールドとにおいて
ハンドル値が変更される。「current owne
r」フィールドは、リソースの現在のユーザを表わす。
「owner」及び「current owner」フ
ィールドが同じ非ゼロ値を保持するときには、そのリソ
ースが所有されそしてアクティブとなる。リソースの所
有者のみがリソースの指定を解除することができる
(「owner」フィールドをゼロにセットする)。ナ
ルの「owner」及び「current owne
r」フィールドをもつリソースは、非所有であり、イン
アクティブである。ナルの「owner」及び「cur
rent owner」フィールドを有するリソースの
みが新たな区画又はコミュニティに指定される。
【0063】リソースが指定解除されるときには、所有
者は、「owner」フィールド又は「owner」及
び「current owner」の両フィールドを指
定解除するように決定することができる。この決定は、
区画において実行される所有のオペレーティングシステ
ムインスタンスが、所有権の指定解除の前に、リソース
の使用を停止できる機能に基づく。所有権を引き継ぐた
めに再ブートが必要とされる場合は、「owner」フ
ィールドがクリアされるが、「current owne
r」フィールドは変更されない。所有のオペレーティン
グシステムインスタンスが再ブートされるときには、コ
ンソールプログラムは、初期化中に所有者をもたないリ
ソースに対していかなる「current owne
r」フィールドもクリアすることができる。
【0064】初期化中に、コンソールプログラムは、そ
れが所有者であり且つ「current owner」
フィールドがナルであるところのいかなるノードについ
ても「owner」フィールドに合致するように「cu
rrent owner」フィールドを変更する。シス
テムソフトウェアは、それが現在所有者であるところの
ハードウェアしか使用してはならない。コミュニティに
より所有されたリソースを指定解除する場合には、状態
間の移行を管理するのはシステムソフトウェアの役割で
ある。ある実施形態では、リソースを別の区画にロード
することができる。この状態において、「owner」
及び「current owner」フィールドは、両
方とも有効であるが、等しくはない。以下のテーブル
は、考えられるリソース状態と、「owner」及び
「current owner」フィールドの値とを要
約するものである。
【0065】 テーブル1 owner フィー current owner リソース ルド値 フィールド値 状態 なし なし 非所有及びインアクティブ なし 有効 非所有であるがまだアクティブ 有効 なし 所有でありまだアクティブでない 有効 所有者に等しい 所有及びアクティブ 有効 所有者に等しくない ローン状態
【0066】CPUは能動的なデバイスであり、そして
CPUの共用は、CPUがその所有者でない区画のコン
テクストにおいて実行し得ることを意味するので、CP
Uの所有権は、受動的なリソースの所有権とは異なる。
構成ツリーにおけるCPUノードは、CPUが通常どの
区画により所有されるかそしてCPUがどの区画で現在
実行しているかを指示する2つのフィールドを備えてい
る。「owner」フィールドは、CPUの公称所有
権、又はより詳細にはシステムパワーアップ時にCPU
が最初に実行するところの区画を示す値を含む。
【0067】初期の所有権が確立されるまで(即ち、
「owner」フィールドが非指定である場合は)、C
PUがマスターコンソールにより指令されたHWRPB
に入れられるが、CPUに対するHWRPBavail
ableビットは、いかなるHWRPBでも送られな
い。この組み合わせは、CPUがSMPオペレーション
においていかなるオペレーティングインスタンスに加わ
ることも防止する。CPUの所有権が確立されると
(「owner」フィールドに有効区画ハンドルが満た
されると)、CPUは、もし必要であれば、所有する区
画へと移動し、その区画に関連したHWRPBの「av
ailable」ビットをセットし、そしてその区画に
おいて実行されているインスタンスのSMPオペレーシ
ョンに加わるか又はSMPモードにおいてコンソールプ
ログラムに加わるように要求する。HWRPBにおける
「present」ビット及び「available」
ビットの組み合わせは、CPUがSMPオペレーション
に使用できることをオペレーティングシステムインスタ
ンスに通知し、そしてオペレーティングシステムインス
タンスは、これらのビットを使用して、適当なCPUご
とのデータ構造体を構築すると共に、SMPオペレーシ
ョンに加わることを要求するメッセージをCPUに送信
する。
【0068】CPUは、HWRPBの「availab
le」ビットをセットするときに、構成ツリーの対応す
るCPUノードにおける「current owne
r」フィールドに値も入力する。この「current
owner」フィールドの値は、CPUが「acti
ve」のHWRPBビットをセットしそしてSMPオペ
レーションに加わることのできる区画のハンドルであ
る。CPUの「current owner」フィール
ドは、コンソールプログラムによってのみセットされ
る。CPUがある区画から別の区画へ移動するとき、又
は非指定状態へ停止されるときは、「availabl
e」ビットがHWRPBにおいてクリアされるのと同時
に、「current owner」フィールドがクリ
アされる(又は新たなハンドル値へと変更される)。
「current owner」フィールドは、システ
ムソフトウェアによって直接書きこまれてはならず、そ
してどのHWRPBがCPUに対して「availab
le」ビットをセットしたかを表わすだけである。
【0069】ランタイム中に、オペレーティングシステ
ムインスタンスは、CPUの公称所有権を変更せずに、
CPUを別の区画に一時的に「ローン」することができ
る。HWRPBの「present」及び「avail
able」ビットを用いた所有権の従来のSMP概念
は、原子的オペレーションにおいてHWRPB及び構成
ツリーを変更することによりCPUの現在実行コンテク
ストを表わすのに使用される。「current ow
ner」フィールドは、更に、1つの区画のシステムソ
フトウェアにより、どの区画においてCPUが現在実行
しているかを決定するのに使用することができる(他の
インスタンスは、構成ツリーを検査することにより特定
のCPUの位置を決定することができる)。又、CPU
を指定解除し、そしていかなるHWRPBにおいても
「available」ビットがセットされず且つCP
Uの構成ツリーノードにおける「current ow
ner」フィールドがクリアされた状態へとCPUを復
帰させることができる。これは、CPUの実行を停止し
そしてコンソールプログラムが構成ツリーノードの「o
wner」フィールド、「current owne
r」フィールド及び「available」HWRPB
ビットをクリアするようにさせることにより、行われ
る。次いで、CPUは、コンソールモードで実行し、そ
して有効な区画ハンドルが書き込まれるのを待機する
「owner」フィールドをポーリングする。次いで、
システムソフトウェアは、新たな所有者を確立すること
ができ、そしてCPUは、新たな区画において実行を開
始する。
【0070】例示的な所有権ポインタが図4に矢印で示
されている。図3の同様のノードに対応する図4の各ノ
ードには、対応する番号が与えられる。例えば、図3に
おいてノード306と示されたソフトウェア根ノード
は、図4ではノード406として示されている。図4に
示すように、コミュニティ410は、ソフトウェア根4
06により「所有」される。同様に、システムビルディ
ングブロック1及び2(422及び425)は、コミュ
ニティ410により所有される。同様に、区画412及
び414も、コミュニティ410により所有されて示さ
れている。区画412は、CPU428―432及びI
/Oプロセッサ426を所有する。メモリコントローラ
436は、区画1(412)の一部分でもある。同様
に、区画2(414)は、CPU442―446、I/
Oプロセッサ440及びメモリコントローラ450を所
有する。
【0071】システムの共通メモリ即ち共用メモリは、
メモリサブシステム434及び448と、メモリ記述子
438及び452とで構成される。これらは、コミュニ
ティ410により所有される。従って、図4は、オペレ
ーティングシステムインスタンスに対して表れるときの
システムのレイアウトを示す。
【0072】オペレーティングシステムの特徴 上述したように、ここに示すコンピュータシステムは、
異なる区画における多数の異なるオぺレーティングシス
テムで動作することができる。しかしながら、従来のオ
ペレーティングシステムは、そのシステムがいかに構成
されているかに基づいて本発明のシステムに合致させる
ように幾つかの観点において変更を行う必要がある。こ
こに示す実施形態の幾つかの変更例を以下に示す。 1.インスタンスは、コンソールを動作するための区画
内の「一次」CPUを選択するメカニズムを含ませるよ
うに変更されると共に、他のインスタンスからの通信の
ターゲットとなることが必要である。一次CPUの選択
は、裁定メカニズム又は他の従来の装置を用いて従来の
やり方で行うことができる。 2.各インスタンスは、そのインスタンスが実行される
区画に使用できるリソースを示す構成データブロックを
形成する役目を果たすコンソールプログラムと通信及び
協働できるようにする変更を必要とする。例えば、イン
スタンスは、そのインスタンスによってどんなインスタ
ンスが使用できるかを決定するためにその基礎となるハ
ードウェアを検知してはならない。むしろ、インスタン
スがどんなリソースにアクセスすることが許されたかを
示す構成データブロックが通過された場合には、指定の
リソースと共に動作することが必要となる。 3.インスタンスは、任意の物理的アドレスでスタート
することができ、そしてその特定のアドレスで実行され
る他のオペレーティングシステムとの競合を回避するた
めに特定の物理的アドレスを指定できないようにする必
要がある。 4.インスタンスは、メモリが区画間で共用されるシス
テム構成の一部分である場合に、多数の任意の物理的ホ
ールをそのアドレス空間にサポートできることが必要で
ある。更に、インスタンスは、メモリの「ホットインス
ワップ」をサポートするためにそのアドレス空間におい
て物理的ホールを取り扱う必要がある。 5.インスタンスは、メッセージを通すと共に、新たな
りソースが区画及びインスタンスに使用できるという通
知を受け取る必要がある。より詳細には、新たなリソー
スをサーチするためのインスタンスを通知するプロトコ
ルが必要とされる。さもなくば、インスタンスは、リソ
ースが到着しそして使用の準備ができることが決して分
からない。 6.インスタンスは、インスタンスがメモリを共用しな
いシステムに使用される場合にその「プライベートメモ
リ」内で完全に実行できることが必要である。或いは
又、インスタンスは、そのインスタンスがメモリを共用
するシステムの一部分である場合にコンピュータ内で実
行される他のインスタンスとデータを通信又は共用する
ための物理的な「共用メモリ」を使用できることが必要
である。このような共用メモリシステムでは、インスタ
ンスは、構成ツリーにおいて識別された物理的な「共用
メモリ」を、その仮想アドレス空間と、そのオペレーテ
ィングシステムインスタンス内で実行される「プロセ
ス」の仮想アドレス空間とにマッピングできることが必
要である。 7.各インスタンスは、コンピュータシステム内の他の
CPUとコンタクトしてそれと通信するための何らかの
メカニズムを必要とする。 8.インスタンスは、たとえCPUがその区画に現在指
定されなくても、そのオペレーションに合致する他のC
PUを確認できることも必要である。例えば、インスタ
ンスは、そのインスタンスが実行されている区画にCP
Uが再指定された場合に、そのCPUと共に動作できる
かどうかを決定するために、コンソール改定数及びクロ
ック速度のようなCPUパラメータを確認できることが
必要である。
【0073】構成ツリーの変更 各コンソールプログラムは、例えば、新たなコミュニテ
ィ又は区画を形成するか又はメモリ断片の所有権を変更
することにより、関連するオペレーティングシステムイ
ンスタンスがAPMPシステムの構成を変更できるよう
にする多数のコールバック機能を与える。更に、他のコ
ールバック機能は、コミュニティ又は区画を除去した
り、或いは新たに形成された区画においてオペレーショ
ンをスタートしたりする能力も与える。しかしながら、
コールバック機能は、実行されているオペレーティング
システムインスタンスに何ら変化を生じさせない。構成
ツリーに生じる変化は、その変化により影響される各イ
ンスタンスによって作用されねばならない。構成ツリー
が変更されるときにインスタンスにおいて行なわねばな
らない動作の形式は、変化の形式及びオペレーティング
システムインスタンスの能力に基づくものである。例え
ば、入力/出力プロセッサをある区画から別の区画へ移
動する場合に、両区画を再ブートする必要がある。一
方、断片のメモリ割り当てを変更することは、再ブート
の必要なくオペレーティングシステムインスタンスによ
って取り扱われる。
【0074】APMPシステムの構成は、コミュニティ
及び区画の形成と、未指定の要素の指定とを伴う。ある
要素がある区画から別の区画へ移動されるときには、現
在所有者がリソースの所有者としてそれ自身を除去し、
そしてリソースの新たな所有者を指示する。次いで、新
たな所有者がリソースを使用することができる。ある区
画で実行されるインスタンスがある要素を解除するとき
には、そのインスタンスはその要素をもはやアクセスし
てはならない。この簡単な手順は、インスタンスからの
要素の盲目的な盗用(blind stealing)を許すのに必要な
複雑な同期と、再構成中にインスタンスをブートする際
に考えられる競合状態とを排除する。構成ツリーノード
は、いったん初期化されると、決して削除又は除去され
ず、即ちそれらのハンドルは常に有効である。従って、
ハードウェアノードアドレスは、ソフトウェアによって
キャッシュ処理することができる。区画又はコミュニテ
ィを削除することを意図するコールバック機能は、実際
には、その関連ノードを削除したり又はツリーからそれ
を除去したりすることはなく、むしろ、ノードにUNA
VAILABLEというフラグを立てると共に、ソフト
ウェア要素により所有されたハードウェアリソースの所
有権フィールドをクリアする。
【0075】構成ツリーへの変更を同期させるために、
ツリーの根ノードは、2つのカウンタ(transie
nt level及びcurrent level)を
維持する。transient levelは、ツリー
への更新の開始に増加され、そしてcurrent
evelカウンタは、更新が完了したときに増加され
る。ソフトウェアは、これらのカウンタを使用して、ツ
リーへの変更がいつ生じたか又は生じるかを決定するこ
とができる。更新がコンソールによって完了したとき
に、APMPシステムの全てのCPUに割り込みを発生
することができる。この割り込みを使用して、システム
ソフトウェアがその状態をツリーへの変更に基づいて更
新するようにすることができる。
【0076】APMPコンピュータシステムの形成 図5は、ここに示す適応的区画化マルチプロセッサ(A
PMP)コンピュータシステムの編成を全体的に示すフ
ローチャートである。このルーチンはステップ500で
スタートし、そしてステップ502へ進み、マスターコ
ンソールプログラムがスタートされる。APMPコンピ
ュータシステムがパワーアップ時に形成される場合に
は、マスターコンソールが動作されるCPUは、裁定又
は他のハードウェアメカニズムのような所定のメカニズ
ムによって選択される。APMPコンピュータシステム
が、既に動作中のハードウェアにおいて形成される場合
には、(非存在の)システムに加わろうと試みる第1区
画のCPUは、以下に述べるようにマスターコンソール
プログラムを実行する。
【0077】次いで、ステップ504において、マスタ
ーコンソールプログラムは、ハードウェアを検知し、そ
して上述したように、ステップ506において構成ツリ
ーを形成する。パワーアップ時にAPMPシステムに2
つ以上の区画が存在する場合には、各区画が初期化され
そしてそのコンソールプログラムがスタートされる(ス
テップ508)。最終的に、オペレーティングシステム
インスタンスは、ステップ510に示されたように、少
なくとも1つの区画においてブートされる。ブートすべ
き第1のオペレーティングシステムインスタンスは、以
下に述べるように、APMPデータベースを形成しそし
てエンティティを充填する。APMPデータベースは、
システムにおけるアクティブなオペレーティングシステ
ムインスタンスの状態に関する情報を記憶する。次い
で、ルーチンは、ステップ512で終了する。インスタ
ンスは、APMPシステムに加入する必要がないことに
注意されたい。インスタンスは、ブートより充分後の時
間に加入すべきか否かを選択することができる。加入し
ないインスタンスは、「共用セット」を形成する。共用
セットに加わると決定した第1のインスタンスは、それ
を形成しなければならない。単一のAPMPシステムに
おいて動作する多数の共用セットがあり、各共用セット
は、それ自身のAPMPデータベースを有する。
【0078】新たなAPMPシステムを形成するか又は
既存のAPMPシステムに加わるかの判断 APMPコンピュータシステムを動作しているプラット
ホーム上で実行されるオペレーティングシステムインス
タンスは、必ずしもAPMPコンピュータシステムのメ
ンバーでなくてもよい。インスタンスは、ブートの後に
いつでもAPMPシステムのメンバーになるよう試みる
ことができる。これは、ブート時に自動的に行われても
よいし、或いはオペレータコマンドが加入を明確に開始
した後に行われてもよい。オペレーティングシステムが
ブート時にロードされた後に、オペレーティングシステ
ム初期化ルーチンが呼び出され、そして記憶されたパラ
メータを検査して、それが即座の加入を指定するかどう
か調べ、もしそうであれば、システムは、APMPコン
ピュータシステムの一部分である加入ルーチンを実行す
る。オペレータコマンドは、同じルーチンの実行を生じ
る。
【0079】APMPデータベース 本発明によるリソースのソフトウェア割り当てをサポー
トする重要なデータ構造体は、共用セットのメンバーで
あるオペレーティングシステムインスタンスを追跡する
APMPデータベースである。APMPコンピュータシ
ステムを設定しようと試みる第1のオペレーティングシ
ステムインスタンスは、APMPデータベースを初期化
し、従って、初期の共用セットに対する本発明のソフト
ウェアリソース割り当てを形成し又はインスタンス生成
する。共用セットの一部分になろうとするその後のイン
スタンスは、その共用セットに関連したAPMPデータ
ベースに登録することにより加入する。APMPデータ
ベースは、共用セットの共用リソースを管理するのに必
要な集中情報を含む共用データ構造体である。又、AP
MPデータベースは、APMPコンピュータシステムが
回復不能なエラーに応答して再形成されるときにも初期
化される。
【0080】より詳細には、各APMPデータベース
は、3部分構造体である。第1部分は、APMPコンピ
ュータシステムを形成するための基本的同期構造体と、
データベースのアドレスマップ情報と、第2部分を形成
するサービス特有セグメントに対するオフセットとを含
む固定サイズヘッダ部分である。第2部分は、各潜在的
なインスタンスに1つのブロックが指定されるデータブ
ロックのアレーである。データブロックは、「ノードブ
ロック」と称する。第3部分は、コンピュータシステム
のサブファシリティの各々により使用されるセグメント
へと分割される。各サブファシリティは、それ自身のセ
グメントの内容及びそこへの同期アクセスについて責任
を負う。APMPデータベースの最初のヘッダ部分は、
加入するオペレーティングシステムインスタンスによっ
てマップされるAPMPデータベースの第1部分であ
る。ヘッダの部分は、インスタンスが共用セットに加入
する前にアクセスされ、そして実際には、APMPコン
ピュータシステムが存在することをインスタンスが知る
前にアクセスされる。
【0081】ヘッダ区分は、次のものを含む。 1.メンバーシップ及び形成同期クオドワード 2.コンピュータシステムのソフトウェアバージョン 3.状態情報、形成時間、インカーネーションカウン
ト、等 4.メンバーシップマスクに対するポインタ(オフセッ
ト) 5.クラッシュインスタンス、クラッシュ確認ビット、
等 6.各サービスに対するビットを含む有効化マスク 7.全APMPデータベースに対するメモリマッピング
情報(ページフレーム番号情報)8.サービスセグメン
トの各々を示すオフセット/長さ対(ページ及びオフセ
ット全ページへと丸められたバイト長さ)であって、共
用メモリサービス、CPU通信サービス、メンバーシッ
プサービス(もし必要であれば)、ロッキングサービ
ス、を含むもの。
【0082】ノードブロックのアレーは、システム区画
ID(現在プラットホームにおいて考えられるインスタ
ンス当たり1つ)によりインデックスされ、そして各ブ
ロックは、次のものを含む。 インスタンスソフトウェアバージョン 割り込み理由マスク インスタンス状態 インスタンスインカーネーション インスタンスハードビート インスタンスメンバーシップタイムスタンプ 弟インスタンスid及びインアクティブ時間;兄インス
タンスid インスタンス有効化終了ビット
【0083】APMPデータベースは、共用メモリに記
憶される。N個の物理的に隣接するページの最初の固定
部分は、ハードウェアの最初の区画化の間に加入するた
めに第1インスタンスにより割り当てられた2つのメモ
リ範囲の一方の最初のNページを占有する。インスタン
スは、構成ツリーにおけるこれら範囲の物理的なスター
トアドレスを記憶するようにコンソールに指令する。2
つの範囲を割り当てる目的は、ハードウェアメモリ欠陥
の場合にフェイルオーバーを許すことである。メモリマ
ネージメントは、物理的メモリをAPMPデータベース
に対する仮想アドレス空間へマッピングする役目を果た
す。オペレーティングシステムインスタンスによって行
われる詳細な動作が図6に示されている。より詳細に
は、オペレーティングシステムインスタンスは、それが
共用セットのメンバーになろうとするときに、非存在の
システムに「加入」しようと試みる第1のインスタンス
である場合に、APMPコンピュータシステムを形成す
るよう準備しなければならない。APMPシステムが既
に存在するかどうかをインスタンスが決定するために、
インスタンスは、上記のように共用メモリの状態を検査
できねばならない。更に、競合する形成試みを防止する
ために、APMPシステム及び共用セットに同時に加入
しようと試みる他のインスタンスとの同期を取ることが
できねばならない。その後、メモリのある領域が、ブー
トのために第1の即ち一次のオペレーティングシステム
インスタンスによって初期化され、そしてこのメモリ領
域をAPMPデータベースに使用することができる。
【0084】APMPデータベースヘッダのマッピング 全てのオペレーティングシステムインスタンスによって
行われる最初の動作の目標は、APMPデータベースの
ヘッダ部分をマップし、そして原始的なインスタンス間
割り込み処理を初期化して、形成又は加入を判断するた
めの基礎を整えることである。使用するルーチンは、図
6に示され、ステップ600から始まる。各インスタン
スにより行われる第1の動作(ステップ602)は、上
記のようにAPMPデータベースの初期セグメントをマ
ップするためにメモリマネージメントに関与することで
ある。このときには、第2のデータベース区分における
ノードブロックのアレーもマップされる。メモリマネー
ジメントは、APMPデータベースの最初のセグメント
及び第2セグメントを一次オペレーティングシステムの
アドレス空間へマップし、そしてスタートアドレス及び
長さを返送する。次いで、インスタンスは、構成ツリー
におけるセグメントの位置及びサイズを記憶するように
コンソールに通知する。
【0085】次いで、ステップ604において、APM
Pデータベースの初期仮想アドレスを使用して、初期化
ルーチンが、現在インスタンスに指定されたノードブロ
ックにおいて割り込み理由マスクをゼロにすることがで
きるようにする。次いで、このノードブロック及び他の
ノードブロックフィールドにおいてインスタンスのハー
トビートフィールドにゼロの初期値が記憶される。ある
場合には、新たなAPMPコンピュータシステムを形成
しようと試みるインスタンスは、以前にAPMPシステ
ムのメンバーであり、APMPシステムから引き出すも
のではない。このインスタンスが、他のインスタンスが
それを除去する前に再ブートする場合には、そのビット
がシステムメンバーシップマップにおいて依然「オン」
である。他の例外的な又はエラーのケースは、システム
メンバーシップマスクに「 廃物」 が記憶される事態を招
く。
【0086】次いで、ステップ608において、APM
Pデータベースの仮想アドレス(VA)は、プロセッサ
間割り込みハンドラーにより検査されるプライベートセ
ルに記憶される。ハンドラーは、このセルを検査して、
行うべき作業に対しAPMPデータベースヘッダにおけ
るインスタンスごとの割り込み理由マスクをテストすべ
きかどうか決定する。このセルがゼロである場合には、
APMPデータベースがマップされず、そしてハンドラ
ーによってそれ以上何も行われない。上述したように、
このマスクを含む全APMPデータベースは、アドレス
が記憶されるまでハンドラーが何も行なわないように初
期化される。更に、クロック割り込みハンドラーは、同
じプライベートセルを検査して、適当なノードブロック
においてこのインスタンスに対しインスタンス特有のハ
ートビートフィールドを増加すべきかどうか決定するこ
とができる。プライベートセルがゼロの場合には、割り
込みハンドラーは、ハートビートフィールドを増加しな
い。
【0087】この点において、ルーチンが終了し(ステ
ップ610)、APMPデータベースヘッダがアクセス
可能となり、そして加入インスタンスは、ヘッダを検査
して、APMPコンピュータシステムが存在しないかど
うか、ひいては、インスタンスがそれを形成しなければ
ならないかどうか、或いはインスタンスが既に存在する
APMPシステムに加わるかどうかを決定する。APM
Pヘッダがマップされたときには、そのヘッダが検査さ
れて、APMPコンピュータシステムがアップでそして
機能するかどうかを決定し、もしそうでなければ、現在
インスタンスがAPMPデータベースを初期化しそして
APMPコンピュータシステムを形成しなければならな
いかどうかを決定する。既存のAPMPシステムに加わ
るという問題は、例えば、APMPコンピュータシステ
ムがあるときに形成されたが現在はメンバーを有してい
ない場合、或いはAPMPシステムがエラーの後に再形
成される場合には更に困難なものとなる。この場合に
は、APMPデータベースメモリの状態が前もって分か
らず、簡単なメモリテストでは不充分である。おそらく
現存するAPMPシステムに加わろうと試みるインスタ
ンスは、APMPシステムが存在するか否かを決定でき
ねばならず、そしてもし存在しなければ、そのインスタ
ンスは、他のインスタンスからの干渉を受けずに、新た
なAPMPシステムを形成できねばならない。この干渉
は、同じインスタンス又は別のインスタンスにおいて実
行されるスレッドから生じ得る。
【0088】このような干渉を防止するために、先ず、
APMPデータベースをロックし、そしてAPMPヘッ
ダを検査して、機能するAPMPコンピュータシステム
が存在するかどうか決定することにより、形成/加入の
判断がなされる。適切に機能しているAPMPシステム
が存在する場合には、インスタンスがシステムに加わ
り、そしてAPMPデータベースのロックを解除する。
或いは又、APMPシステムが存在しないか、又はAP
MPシステムは存在するが、機能していない場合には、
インスタンスは、それ自身がメンバーとして新たなAP
MPシステムを形成し、そしてAPMPデータベースの
ロックを解除する。APMPシステムが移行中であると
考えられる場合には、インスタンスは、APMPシステ
ムが再び動作するか又はデッド状態になるまで待機し、
そして上記のように進行する。システムを形成できない
場合には、加入が失敗となる。
【0089】新たなAPMPコンピュータシステムの形
新たなAPMPシステムを形成しなければならないと仮
定すれば、形成インスタンスは、APMPデータベース
の残りを割り当て、ヘッダを初期化しそしてシステムサ
ービスを呼び出すという役割を果たす。APMPデータ
ベースが上記のようにロックされたと仮定すれば、AP
MPシステムを初期化するために、形成インスタンスに
より次のステップがとられる(これらのステップは、図
7A及び7Bに示す)。 ステップ702 形成インスタンスは、APMPシステ
ム状態及びそのノードブロック状態を「初期化」にセッ
トする。 ステップ704 形成インスタンスは、ヘッダにおける
長さフィールドのアドレスで各システムサービスのサイ
ズルーチンをコールする。 ステップ706 得られた長さフィールドが加算され、
そして形成インスタンスは、メモリマネージメントをコ
ールして、新たなマッピングを形成そして古いマッピン
グを削除することにより全APMPデータベースに対す
るスペースを割り当てる。 ステップ708 形成インスタンスは、各システムサー
ビスセグメントの開始までオフセットを満たす。 ステップ710 各サービスに対する初期化ルーチン
は、APMPデータベースの仮想アドレス、サービスセ
グメント及びセグメント長さでコールされる。 ステップ712 形成インスタンスは、メンバーシップ
マスクを初期化してそれ自身を唯一のメンバーにすると
共に、インカーネーションカウントを増加する。次い
で、形成時間、ソフトウェアバージョン及び他の形成パ
ラメータをセットする。 ステップ714 次いで、インスタンスは、それ自体を
自分の兄弟としてセットする(以下に述べるハートビー
ト監視目的で)。 ステップ716 次いで、インスタンスは、そのインス
タンス状態を「メンバー」として及びAPMPシステム
状態を「動作」として満たす。 ステップ718 最終的に、インスタンスは、APMP
データベースのロックを解除する。 次いで、ルーチンは、ステップ720で終わる。
【0090】既存のAPMPコンピュータシステムへの
加入 インスタンスがAPMPデータベースをロックしたと仮
定すれば、既存のAPMPシステムのメンバーとなるた
めにインスタンスにより次のステップが取られる(図8
A及び8B)。 ステップ802 インスタンスは、そのインスタンス名
が独特であることを保証するためにチェックを行う。別
の現在メンバーがインスタンスの提案する名前を有する
場合には、加入が拒絶される。 ステップ804 インスタンスは、APMPシステム状
態及びそのノードブロック状態を「インスタンス加入」
にセットする。 ステップ806 インスタンスは、APMPデータベー
スの変数部分をそのローカルアドレス空間にマップする
ためにメモリ管理ルーチンをコールする。 ステップ808 インスタンスは、APMPデータベー
スの仮想アドレス、そのセグメント及びそのセグメント
長さで各システムサービスのシステム加入ルーチンをコ
ールする。 ステップ810 全てのシステムサービス加入ルーチン
が成功を報告する場合には、インスタンス加入ルーチン
が継続する。いずれかのシステムサービス加入ルーチン
が失敗した場合には、インスタンス加入ルーチンは、新
たなAPMPコンピュータシステムをスタートしそして
おそらくは形成しなければならない。 ステップ812 ステップ810で成功が得られたと仮
定すれば、インスタンスは、それ自身をシステムメンバ
ーシップマスクに追加する。 ステップ814 インスタンスは、以下に述べるよう
に、兄を選択して、そのインスタンスの健全さを監視す
る。 ステップ816 インスタンスは、そのインスタンス状
態を「メンバー」として満たし、そしてローカルメンバ
ーシップフラグをセットする。 ステップ818 インスタンスは、構成データベースの
ロックを解除する。 次いで、ルーチンは、ステップ820で終了となる。
【0091】インアクティビティ、時間切れ又はクラッ
シュのいずれかによるインスタンスの損失は、APMP
データベースにおいて実施される「ハートビート」メカ
ニズムにより検出される。インスタンスは、最小チェッ
ク及びクリーンアップを行うように試み、そしてインス
タンスクラッシュ中にAPMPシステムの残りに通知す
る。これが可能でない場合には、システムサービスは、
ソフトウェアハートビートメカニズムによりインスタン
スの消失を検出する。特に、「ハートビート」フィール
ドは、各アクティブなインスタンスに対してAPMPデ
ータベースに割り当てられる。このフィールドは、所定
値より短い時間間隔、例えば、2ミリ秒ごとに、対応す
るインスタンスにより書き込まれる。
【0092】いかなるインスタンスも、他のインスタン
スのハートビートフィールドにおいて検査を行い、ある
特定の目的で直接的な決定を行うことができる。インス
タンスは、別のインスタンスのハートビートフィールド
を、2ミリ秒の時間間隔で分離して2回読み取ることに
より、そのハートビートフィールドを読み取る。2つの
読み取り間でハートビートが増加されない場合には、イ
ンスタンスがインアクティブ(終了、コントロールPで
停止、又はクロック割り込み優先順位レベル以上で保
留)とみなされる。インスタンスが所定時間にわたりイ
ンアクティブに保たれる場合には、インスタンスがデッ
ド又は無関心とみなされる。更に、全てのインスタンス
を監視するために特殊な構成が使用される。というの
は、特にAPMPシステムが大きくなるにつれて、各イ
ンスタンスごとに、他の各インスタンスを監視すること
ができないからである。この構成は、「兄―弟」方式を
使用する。より詳細には、インスタンスがAPMPシス
テムに加わるときに、APMPデータベースのロックを
解除する前に、現在メンバーの1つをその兄として取り
上げ、そして加入するインスタンスにわたって監視す
る。加入するインスタンスは、先ず、その選択された兄
の現在の弟に対して兄の義務を仮定し、そしてそれ自身
を、選択されたインスタンスの新たな弟として指定す
る。これとは逆に、インスタンスが依然として動作しな
がらAPMPコンピュータシステムから退出して、退出
処理を実行できる一方、APMPデータベースのロック
を保持するときには、その兄の義務をその現在の兄に指
定した後に、そのハートビートの増加を停止する。
【0093】クロックの刻みごとに、各インスタンス
は、それ自身のハートビートを増加した後に、その弟の
ハートビートを読み取り、そしてそれを最後のクロック
の刻みにおいて読み取った値と比較する。新たな値が大
きいか、又は弟のIDが変化した場合には、その弟がア
クティブであるとみなす。しかしながら、弟のID及び
そのハートビート値が同じである場合には、その弟がイ
ンアクティブとみなされ、現在インスタンスは、その弟
の弟も監視し始める。この責任の累積は、所定の最大値
まで続けられ、1つのインスタンスの欠陥がその弟の欠
陥の欠落を生じないよう確保する。弟もハートビートを
増加し始める場合には、全ての付加的な責任がドロップ
される。メンバーインスタンスがデッド又は無関心と判
断され、そして停止またはクラッシュの意図をAPMP
コンピュータシステムに通知しなかった場合には、その
インスタンスがAPMPシステムから除去される。これ
は、例えば、インスタンスの原子的割り込みマスクの
「バグチェック」ビットをセットしそしてIP割り込み
をインスタンスの全てのCPUに送信することにより行
われる。その結果、共用メモリは、IP割り込みのハー
ドウェア優先順位のもとでのみアクセスされる。これ
は、インスタンスのCPUがIP割り込みより低い優先
順位で実行しようと試みる場合に、IP割り込みが最初
に生じ、従って、CPUが「バグチェック」ビットを見
た後に、それより優先順位の低いスレッドを実行できる
よう保証する。これは、インスタンスがデッドと判断さ
れたときに他の目的で再割り当てされているメモリのよ
うな共用リソースをオペレーティングシステムインスタ
ンスがクラッシュしそしてタッチしないように確保す
る。付加的な又は別のメカニズムとして、コンソールコ
ールバック(もし存在すれば)を呼び出して、インスタ
ンスを除去することもできる。更に、好ましい実施形態
によれば、インスタンスが警報なしにAPMPコンピュ
ータシステムから消え又はドロップしたときに、残りの
インスタンスは、ある公正なチェックを行って、それら
が継続できるかどうか決定する。これらのチェックは、
APMPデータベースの全てのページが依然アクセスで
き、即ちメモリ欠陥がなかったことを照合することを含
む。
【0094】加入後のリソースの指定 CPUは、APMPシステムのパワーアップ寿命におけ
る所与の時間にせいぜい1つの所有者区画をもつことが
できる。しかしながら、その所有権の反映及びそれを制
御する役目を果たすエンティティは、リソース自体が受
けた構成及び状態移行、それが存在する区画、及びその
区画内で実行されるインスタンスの結果として変化し得
る。CPUの所有権は、そのときリソースを管理するエ
ンティティにより指令される多数の方法、多数の構造で
指示される。ほとんどの基本的なケースでは、CPUが
非指定の状態にあり、CPUと同じ共用セットに存在す
る全ての区画に使用できる。最終的に、そのCPUは、
オペレーティングシステムインスタンスを実行してもし
なくてもよい特定の区画に指定される。いずれにせよ、
区画は、その所有権を構成ツリー構造を介して多の全て
の区画に反映すると共に、HWRPBのCPUごとのグ
ラグフィールドにおけるAVAILABLEビットを介
してその区画で実行される全てのオペレーティングシス
テムインスタンスに反映する。
【0095】所有する区画が、そこで実行されるオペレ
ーティングシステムインスタンスをもたない場合には、
そのコンソールが、その中のリソースに対する移行事象
に応答し及びそれを開始する役目を果たす。コンソール
は、リソースが、これを別の区画へ移動できるか又は非
指定の状態へ復帰できる状態にあるかどうかを決定す
る。しかしながら、区画においてインスタンスが現在実
行されている場合に、コンソールは、リソースの移行を
開始する責任を放棄し、そして構成変化が生じるときに
実行中の一次インスタンスにそれを通知する責任を果た
す。これは、依然、基礎となるハードウェア移行を容易
にするが、リソース移行の制御は、オペレーティングシ
ステムインスタンスまで1レベル上げられる。責任の移
行は、一次CPUがシステムブートにおいてコンソール
モードの外部でその第1命令を実行するときに行われ
る。
【0096】オペレーティングシステムインスタンス
は、情報の最も効率的な使用を内部で促進する多数の仕
方で所有権状態情報を維持することができる。例えば、
インスタンス特有の情報を内部及び全体の両方で反映す
る(APMPデータベースを共用する他のメンバーに)
状態ビットベクトルのハイアラーキーを使用することが
できる。内部の表示は、厳密に、インスタンスの使用に
対するものである。これらは、ブート時間に、基礎的な
構成ツリー及びHWRPB情報から形成されるが、オペ
レーティングシステムインスタンスの寿命にわたり厳密
なソフトウェア構成として維持される。これらは、イン
スタンスに使用できる区画リソースのソフトウェア観点
を表わし、そしてソフトウェアルールセットを介して、
構成を、物理的な制約により指示されたもののサブセッ
トに更に制限する。しかし、区画内の全てのリソース
は、オペレーティングシステムの呼び出しがもはや生き
たエンティティでなくなるまで、状態移行を指令するコ
ンソールメカニズムを用いて、インスタンスにより所有
され且つ管理される。この状態は、再ブートなしに復帰
するおそれなく一次CPUを停止して再びコンソールモ
ードへ戻すことにより指示される。
【0097】CPUリソースの所有権は、決してインス
タンスを越えて延びることはない。各個々のインスタン
スの状態情報は、読取専用の判断実行目的でAPMPデ
ータベースにおいて複写されるが、他のインスタンス
は、別のCPUリソースに対し状態移行事象を強制する
ことができない。各インスタンスは、それ自身のリソー
スセットを理解しそして制御する責任を果たし、そのリ
ソースに対する外部要求を受け取るが、リソースを転送
できるようにする判断を行うことしかできない。このよ
うな各CPUが動作状態になると、CPUごとのフラグ
におけるAVAILABLEビットをセットしない。A
VAILABLEビットがセットされないと、SMPオ
ペレーションに加わるようにCPUをスタートさせるか
又はそのように予想するよう試みるインスタンスは存在
しない。むしろ、CPUは、コンソールモードにおい
て、有効な区画が指定されるのを待機する構成ツリーの
所有者フィールドをポーリングする。有効な区画が一次
コンソールにより所有者として指定されると、CPU
は、その区画においてオペレーションを開始する。
【0098】ランタイム中に、current own
erフィールドは、CPUが実行する区画を反映する。
HWRPBのCPUごとのフラグにおけるAVAILA
BLEビットは、オペレーティングシステムインスタン
スとのSMPオペレーションに対しCPUが実際に使用
できるか又は実行できるかの最終的な指示子を保持し、
そして従来のSMPシステムの場合と同じ意味を有す
る。インスタンスは、APMPコンピュータシステムの
多数の再構成特徴に関与するために共用セットのメンバ
ーである必要はないことに注意されたい。インスタンス
は、そのリソースをAPMPシステムの別のインスタン
スへ転送して、共用セットの一部分でないインスタンス
が、共用セットの一部分であるインスタンスへリソース
を転送できるようにする。同様に、共用セットの一部分
でないインスタンスは、共用セットの一部分であるイン
スタンスからリソースを受け取ることができる。
【0099】上記実施形態のソフトウェア具現体は、コ
ンピュータ読み取り可能な媒体、例えば、ディスケッ
ト、CD―ROM、ROMメモリ又は固定ディスクのよ
うな有形媒体に固定される一連のコンピュータ命令、或
いはモデム又は他のインターフェイス装置を経、媒体を
経てコンピュータシステムへ送信できる一連のコンピュ
ータ命令を含む。媒体は、光学又はアナログ通信ライン
を含むがこれに限定されるものでない有形媒体である
か、或いはマイクロ波、赤外線又は他の送信技術を含む
がこれに限定されるものでないワイヤレス技術で実施す
ることもできる。これは、インターネットであってもよ
い。一連のコンピュータ命令は、本発明について上述し
た機能の全部又は一部分を実施する。このようなコンピ
ュータ命令は、多数のコンピュータアーキテクチャー又
はオペレーティングシステムに使用される多数のプログ
ラミング言語で書き込みできることが当業者に明らかで
あろう。更に、このような命令は、半導体、磁気、光学
又は他のメモリ装置を含むがこれに限定されない現在又
は将来のいかなるメモリ技術を用いて記憶することもで
きるし、或いは光学、赤外線、マイクロ波又は他の送信
技術を含むがこれに限定されない現在又は将来のいかな
る通信技術を用いて送信することもできる。このような
コンピュータプログラム製品は、印刷又は電子的文書を
付随する取り外し可能な媒体、例えば、システムROM
又は固定ディスクにコンピュータシステムで予めロード
されたシュリンクラップ式ソフトウェアとして分配され
るか、或いは例えば、インターネット又はワールドワイ
ドウェブのようなネットワークを経てサーバー又は電子
ブルティンボードから分配されることが意図される。
【0100】本発明の実施形態を以上に説明したが、当
業者であれば、本発明の精神及び範囲から逸脱せずに本
発明の幾つかの効果を達成するような修正や変更がなさ
れ得ることが明らかであろう。例えば、上記説明は、特
定のハードウェアシステム及びオペレーティングシステ
ムに向けられたが、他のハードウェア及びオペレーティ
ングシステムソフトウェアも上記と同様に使用できるこ
とが当業者に明らかであろう。特定の機能を達成するの
に使用された特定の命令のような他の観点や、本発明の
概念に対する他の変更は、請求の範囲によって網羅され
るものとする。
【図面の簡単な説明】
【図1】多数のシステムビルディングブロックを示した
ハードウェアプラットホームの概略ブロック図である。
【図2】本発明の原理に基づいて構成されたAPMPコ
ンピュータシステムの概略図で、多数の区画を示す図で
ある。
【図3】ハードウェアリソース構成及びソフトウェア構
成、並びにそれらの構成要素を子供及び兄弟ポインタと
共に示す構成ツリーの概略図である。
【図4】所有権ポインタによりソフトウェアインスタン
スへのハードウェアの指定を示すように再構成した図3
の構成ツリーの概略図である。
【図5】本発明の原理に基づいてAPMPコンピュータ
システムを形成するための例示的ルーチンにおける段階
を示すフローチャートである。
【図6】APMPシステム及びその構成に関連した情報
を維持するAPMPシステムマネージメントデータベー
スのエントリを形成するための例示的ルーチンにおける
段階を示すフローチャートである。
【図7】本発明の原理基づいてAPMPコンピュータシ
ステムを形成するための例示的ルーチンにおける段階を
示すフローチャートの一部分である。
【図8】本発明の原理基づいてAPMPコンピュータシ
ステムを形成するための例示的ルーチンにおける段階を
示すフローチャートの一部分である。
【図9】既に形成されたAPMPコンピュータシステム
に加わるためにオペレーティングシステムインスタンス
がたどる例示的ルーチンにおける段階を示すフローチャ
ートの一部分である。
【図10】既に形成されたAPMPコンピュータシステ
ムに加わるためにオペレーティングシステムインスタン
スがたどる例示的ルーチンにおける段階を示すフローチ
ャートの一部分である。
【符号の説明】
100−106 システムビルディングブロック(SB
B) 108−114 CPU 116 ポート 118 I/Oプロセッサ 120 メモリスロット 200 APMPコンピュータシステム 202、204、206 区画 208、210、212 オペレーティングシステムイ
ンスタンス 213、215、217 コンソールプログラム 230 コミュニティ 300 構成ツリー
─────────────────────────────────────────────────────
【手続補正書】
【提出日】平成11年8月24日
【手続補正1】
【補正対象書類名】明細書
【補正対象項目名】図面の簡単な説明
【補正方法】変更
【補正内容】
【図面の簡単な説明】
【図1】多数のシステムビルディングブロックを示した
ハードウェアプラットホームの概略ブロック図である。
【図2】本発明の原理に基づいて構成されたAPMPコ
ンピュータシステムの概略図で、多数の区画を示す図で
ある。
【図3】ハードウェアリソース構成及びソフトウェア構
成、並びにそれらの構成要素を子供及び兄弟ポインタと
共に示す構成ツリーの概略図である。
【図4】所有権ポインタによりソフトウェアインスタン
スへのハードウェアの指定を示すように再構成した図3
の構成ツリーの概略図である。
【図5】本発明の原理に基づいてAPMPコンピュータ
システムを形成するための例示的ルーチンにおける段階
を示すフローチャートである。
【図6】APMPシステム及びその構成に関連した情報
を維持するAPMPシステムマネージメントデータベー
スのエントリを形成するための例示的ルーチンにおける
段階を示すフローチャートである。
【図7A】本発明の原理基づいてAPMPコンピュータ
システムを形成するための例示的ルーチンにおける段階
を示すフローチャートの一部分である。
【図7B】本発明の原理基づいてAPMPコンピュータ
システムを形成するための例示的ルーチンにおける段階
を示すフローチャートの一部分である。
【図8A】既に形成されたAPMPコンピュータシステ
ムに加わるためにオペレーティングシステムインスタン
スがたどる例示的ルーチンにおける段階を示すフローチ
ャートの一部分である。
【図8B】既に形成されたAPMPコンピュータシステ
ムに加わるためにオペレーティングシステムインスタン
スがたどる例示的ルーチンにおける段階を示すフローチ
ャートの一部分である。
【符号の説明】 100−106 システムビルディングブロック(SB
B) 108−114 CPU 116 ポート 118 I/Oプロセッサ 120 メモリスロット 200 APMPコンピュータシステム 202、204、206 区画 208、210、212 オペレーティングシステムイ
ンスタンス 213、215、217 コンソールプログラム 230 コミュニティ 300 構成ツリー
───────────────────────────────────────────────────── フロントページの続き (72)発明者 アンドリュー エイチ メイソン アメリカ合衆国 ニューハンプシャー州 03049 ホーリス バクスター ロード 61 (72)発明者 グレゴリー エイチ ジョーダン アメリカ合衆国 ニューハンプシャー州 03049 ホーリス ジャンバード ロード 22 (72)発明者 カレン エル ノエル アメリカ合衆国 ニューハンプシャー州 03275 ペンブローク アカデミー ロー ド 238 (72)発明者 ジェームズ アール コーフマン アメリカ合衆国 ニューハンプシャー州 03062 ナシュア ノーマ ドライヴ 31 (72)発明者 ポール ケイ ハーター ジュニア アメリカ合衆国 マサチューセッツ州 01540 グロートン ウィーリー ロード 61 (72)発明者 フレデリック ジー クラインソーガ アメリカ合衆国 ニューハンプシャー州 03031 アムハースト ファーミントン ロード 4 (72)発明者 スティーヴン エフ シャロン アメリカ合衆国 マサチューセッツ州 01720 アクトン パーカー ストリート 123

Claims (19)

    【特許請求の範囲】
  1. 【請求項1】 プロセッサ、メモリ及びI/O回路を含
    む複数のシステムリソースを有するコンピュータシステ
    ムにおいて、 各プロセッサが全てのメモリ及び少なくとも幾つかのI
    /O回路に電気的にアクセスするようにプロセッサ、メ
    モリ及びI/O回路を電気的に相互接続するための相互
    接続メカニズムと、 システムリソースを複数の区画に分割するためのソフト
    ウェアメカニズムと、 複数の区画で実行される少なくとも1つのオペレーティ
    ングシステムインスタンスと、を備えたことを特徴とす
    るコンピュータシステム。
  2. 【請求項2】 上記少なくとも1つのオペレーティング
    システムインスタンスは、異なるオぺレーティングシス
    テムの少なくとも2つのオペレーティングシステムイン
    スタンスを含む請求項1に記載のコンピュータシステ
    ム。
  3. 【請求項3】 少なくとも幾つかのメモリは、各々の区
    画に排他的に指定される請求項1に記載のコンピュータ
    システム。
  4. 【請求項4】 複数のプロセッサが上記区画間で物理的
    に分割され、そして各区画は、その区画のプロセッサを
    制御するコンソールプログラムを含む請求項1に記載の
    コンピュータシステム。
  5. 【請求項5】 複数のシステムリソースのいずれが各区
    画に指定されるかを示す構成情報を維持するための手段
    を更に備えた請求項1に記載のコンピュータシステム。
  6. 【請求項6】 プロセッサの1つは、上記構成情報を発
    生するマスターコンソールプログラムを実行し、各区画
    は、その区画のプロセッサを制御するコンソールプログ
    ラムを含み、そして各区画のコンソールプログラムは、
    マスターコンソールプログラムと通信して構成情報を通
    信するために設けられる請求項5に記載のコンピュータ
    システム。
  7. 【請求項7】 上記相互接続メカニズムはスイッチを含
    む請求項1に記載のコンピュータシステム。
  8. 【請求項8】 コンピュータシステムの一部分である区
    画を指示するメモリに記憶された構成データベースと、
    コンピュータシステムのパワーアップシーケンス中に構
    成データベースを形成するための手段を含むマスターコ
    ンソールとを備え、上記構成データベースは、各オペレ
    ーティングシステムインスタンスがアクティブであるか
    どうかを示す情報を含む請求項1に記載のコンピュータ
    システム。
  9. 【請求項9】 上記オペレーティングシステムインスタ
    ンスは、オペレーティングインスタンスにおける機能不
    良を検出するためのアクティビティを互いに連続的に監
    視する手段を備え、そして各々の上記オペレーティング
    システムインスタンスは、ハートビートメカニズムによ
    り別のオペレーティングシステムインスタンスを監視す
    る手段を備えている請求項8に記載のコンピュータシス
    テム。
  10. 【請求項10】 プロセッサ、メモリ及びI/O回路を
    含む複数のシステムリソースを有するコンピュータシス
    テムを構成する方法において、 (a)各プロセッサが全てのメモリ及び少なくとも幾つ
    かのI/O回路に電気的にアクセスするようにプロセッ
    サ、メモリ及びI/O回路を電気的に相互接続し、 (b)システムリソースを複数の区画に分割し、そして (c)複数の区画において少なくとも1つのオペレーテ
    ィングシステムインスタンスを実行する、という段階を
    備えたことを特徴とする方法。
  11. 【請求項11】 上記段階(c)は、 (c1)複数の区画において少なくとも2つの異なるオぺ
    レーティングシステムインスタンスを実行する段階を含
    む請求項10に記載の方法。
  12. 【請求項12】 上記段階(b)は、 (b1)メモリの少なくとも幾つかを各区画に指定する段
    階を含む請求項10に記載の方法。
  13. 【請求項13】 上記段階(b)は、 (b2)プロセッサを区画間で物理的に分割し、そして (b3)各区画のプロセッサにおいてコンソールプログラ
    ムを実行し、このコンソールプログラムは、その区画の
    プロセッサを制御する、という段階を含む請求項10に
    記載の方法。
  14. 【請求項14】 上記段階(b)は、 (b4)各区画において一次プロセッサを指定する、とい
    う段階を含み、そして上記段階(c)は、 (c1)1つの区画の一次プロセッサにおいて各オペレー
    ティングシステムインスタンスを実行し、そして (c2)その区画に対するコンソールプログラムと通信す
    るために各オペレーティングシステムインスタンスを制
    御する、という段階を含む請求項13に記載の方法。
  15. 【請求項15】 (d)複数のシステムリソースのいず
    れが各区画に指定されるかを示す構成情報を維持する段
    階を更に備えた請求項10に記載の方法。
  16. 【請求項16】 上記段階(d)は、 (d2)プロセッサの1つにおいてマスターコンソールプ
    ログラムを実行し、このマスターコンソールプログラム
    は、構成情報を発生し、そして (d3)各区画においてその区画のプロセッサを制御する
    コンソールプログラムを実行する、という段階を備え、
    上記段階(d3)は、更に、 (d3a )各区画のコンソールプログラムを使用して、マ
    スターコンソールプログラムと通信し、構成情報を交換
    するという段階を含み、更に、 (d4)マスターコンソールプログラムから他のコンソー
    ルプログラムの各々へ構成情報を送信する、という段階
    を備えた請求項15に記載の方法。
  17. 【請求項17】 上記段階(a)は、更に、 (a1)スイッチを使用して、プロセッサ、メモリ及びI
    /O回路を相互接続するという段階を備えた請求項10
    に記載の方法。
  18. 【請求項18】 (e)どの区画がコンピュータシステ
    ムの一部分であるかに関する情報を含む構成データベー
    スを形成するという段階を更に備え、この段階(e)
    は、更に、 (e1)各オペレーティングシステムインスタンスがアク
    ティブであるかどうか指示する情報を含む構成データベ
    ースを形成する段階を含む請求項10に記載の方法。
  19. 【請求項19】 上記段階(c)は、更に、 (c3)オペレーティングシステムインスタンスを使用し
    て、ハートビートメカニズムによりオペレーティングイ
    ンスタンスの機能不良を検出するためのアクティビティ
    をを互いに連続的に監視する、という段階を含む請求項
    18に記載の方法。
JP11043629A 1997-11-04 1999-01-13 多数のオペレ―ティングシステムインスタンス及びソフトウェア制御式リソ―ス割り当てを伴うマルチプロセッサコンピュ―タア―キテクチャ Abandoned JPH11316747A (ja)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US6425097P 1997-11-04 1997-11-04
US09/095,543 US6647508B2 (en) 1997-11-04 1998-06-10 Multiprocessor computer architecture with multiple operating system instances and software controlled resource allocation
US60/064250 1998-06-10
US09/095543 1998-06-10

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP10350660A Division JP2000215189A (ja) 1998-11-04 1998-11-04 多数のオペレーティングシステムインスタンス及びソフトウェア制御式リソース割り当てを伴うマルチプロセッサコンピュータアーキテクチャ

Publications (1)

Publication Number Publication Date
JPH11316747A true JPH11316747A (ja) 1999-11-16

Family

ID=26744317

Family Applications (1)

Application Number Title Priority Date Filing Date
JP11043629A Abandoned JPH11316747A (ja) 1997-11-04 1999-01-13 多数のオペレ―ティングシステムインスタンス及びソフトウェア制御式リソ―ス割り当てを伴うマルチプロセッサコンピュ―タア―キテクチャ

Country Status (4)

Country Link
US (1) US6647508B2 (ja)
EP (1) EP0917057B1 (ja)
JP (1) JPH11316747A (ja)
DE (1) DE69833914T2 (ja)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002032235A (ja) * 2000-05-31 2002-01-31 Internatl Business Mach Corp <Ibm> 区分処理環境のための異種クライアント・サーバ方法、システム、およびプログラム製品
JP2003514270A (ja) * 1999-09-28 2003-04-15 インターナショナル・ビジネス・マシーンズ・コーポレーション コンピュータ環境におけるワークロード管理
JP2006301824A (ja) * 2005-04-19 2006-11-02 Hitachi Ltd 複合型計算機装置および複合型計算機装置の管理方法
US7159216B2 (en) 2001-11-07 2007-01-02 International Business Machines Corporation Method and apparatus for dispatching tasks in a non-uniform memory access (NUMA) computer system
JP2009205687A (ja) * 2001-06-11 2009-09-10 Microsoft Corp 複数装置管理の方法およびシステム
JPWO2008062647A1 (ja) * 2006-11-02 2010-03-04 日本電気株式会社 マルチプロセッサシステム、マルチプロセッサシステムにおけるシステム構成方法及びそのプログラム
US8286161B2 (en) 2004-09-29 2012-10-09 Sony Corporation Apparatus, method, and computer program for setting and updating a relationship between a logical processor and a physical processor
JP2016181014A (ja) * 2015-03-23 2016-10-13 Kddi株式会社 計算機資源提供サービスの管理装置

Families Citing this family (146)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6490693B1 (en) * 1999-08-31 2002-12-03 International Business Machines Corporation Dynamic reconfiguration of a quorum group of processors in a distributed computing system
WO2001020456A1 (fr) * 1999-09-10 2001-03-22 Hitachi, Ltd. Systeme de gestion et procede pour systeme d'exploitation
US6751658B1 (en) * 1999-10-18 2004-06-15 Apple Computer, Inc. Providing a reliable operating system for clients of a net-booted environment
US6938256B2 (en) * 2000-01-18 2005-08-30 Galactic Computing Corporation System for balance distribution of requests across multiple servers using dynamic metrics
US6532538B1 (en) * 2000-02-17 2003-03-11 International Business Machines Corporation Method and system for supporting multiple operating systems on the same disk running on different computers at the same time
US6973447B1 (en) * 2000-03-23 2005-12-06 International Business Machines Corporation System apparatus and method for supporting multiple partitions including multiple systems in boot code
US6799207B1 (en) * 2000-04-10 2004-09-28 International Business Machines Corporation Method and system for downloading software managed trees in a network processing system
JP2001306341A (ja) * 2000-04-26 2001-11-02 Mitsubishi Electric Corp コンピュータシステムおよびコンピュータ読み取り可能な記録媒体
US6725317B1 (en) * 2000-04-29 2004-04-20 Hewlett-Packard Development Company, L.P. System and method for managing a computer system having a plurality of partitions
JP2001331333A (ja) * 2000-05-18 2001-11-30 Hitachi Ltd 計算機システム及び計算機システムの制御方法
US6990663B1 (en) * 2000-06-08 2006-01-24 International Business Machines Corporation Hypervisor virtualization of OS console and operator panel
US6892383B1 (en) * 2000-06-08 2005-05-10 International Business Machines Corporation Hypervisor function sets
US7003771B1 (en) * 2000-06-08 2006-02-21 International Business Machines Corporation Logically partitioned processing system having hypervisor for creating a new translation table in response to OS request to directly access the non-assignable resource
US8538843B2 (en) 2000-07-17 2013-09-17 Galactic Computing Corporation Bvi/Bc Method and system for operating an E-commerce service provider
US6816905B1 (en) 2000-11-10 2004-11-09 Galactic Computing Corporation Bvi/Bc Method and system for providing dynamic hosted service management across disparate accounts/sites
US7529718B2 (en) * 2000-08-14 2009-05-05 Christophe Gerard Lambert Fast computer data segmenting techniques
US6912493B1 (en) 2000-09-29 2005-06-28 International Business Machines Corporation Technique for configuring processors in system with logical partitions
US7245928B2 (en) * 2000-10-27 2007-07-17 Cellemetry, Llc Method and system for improved short message services
US7113963B1 (en) * 2000-11-10 2006-09-26 Palmsource, Inc. Optimized database technique to enable faster data synchronization
US20020059377A1 (en) * 2000-11-14 2002-05-16 Jagadish Bandhole Collaborative computing systems using dynamic computing environments
US7461148B1 (en) * 2001-02-16 2008-12-02 Swsoft Holdings, Ltd. Virtual private server with isolation of system components
JP2002251326A (ja) * 2001-02-22 2002-09-06 Hitachi Ltd 耐タンパ計算機システム
US6820207B2 (en) * 2001-03-01 2004-11-16 International Business Machines Corporation Method for rebooting only a specific logical partition in a data processing system as per a request for reboot
US7293075B2 (en) * 2001-04-12 2007-11-06 Unisys Corporation Method and apparatus for operating a data processing system using multiple console views
US6820221B2 (en) * 2001-04-13 2004-11-16 Hewlett-Packard Development Company, L.P. System and method for detecting process and network failures in a distributed system
US6957435B2 (en) * 2001-04-19 2005-10-18 International Business Machines Corporation Method and apparatus for allocating processor resources in a logically partitioned computer system
DE10124767A1 (de) * 2001-05-21 2002-12-12 Infineon Technologies Ag Anordnung zur Abarbeitung von Datenverarbeitungsprozessen sowie Verfahren zur Ermittlung der optimalen Zugriffsstrategie
JP2003036174A (ja) * 2001-07-25 2003-02-07 Hitachi Ltd 車載端末装置
US7251814B2 (en) 2001-08-24 2007-07-31 International Business Machines Corporation Yield on multithreaded processors
US7428485B2 (en) * 2001-08-24 2008-09-23 International Business Machines Corporation System for yielding to a processor
US7360222B2 (en) * 2001-09-21 2008-04-15 International Business Machines Corporation Extensions to coupling channels to support multiple coupling facility sharing, interrupts, and message passing
US7886306B2 (en) * 2001-09-21 2011-02-08 International Business Machines Corporation Extensions to coupling channels to support multiple coupling facility sharing, interrupts, and message passing
US20030115443A1 (en) * 2001-12-18 2003-06-19 Cepulis Darren J. Multi-O/S system and pre-O/S boot technique for partitioning resources and loading multiple operating systems thereon
KR100441712B1 (ko) * 2001-12-29 2004-07-27 엘지전자 주식회사 확장 가능형 다중 처리 시스템 및 그의 메모리 복제 방법
US7051180B2 (en) * 2002-01-09 2006-05-23 International Business Machines Corporation Masterless building block binding to partitions using identifiers and indicators
US6934835B2 (en) * 2002-01-09 2005-08-23 International Business Machines Corporation Building block removal from partitions
US20030131042A1 (en) * 2002-01-10 2003-07-10 International Business Machines Corporation Apparatus and method of sharing a device between partitions of a logically partitioned computer system
US7543303B2 (en) * 2002-03-29 2009-06-02 International Business Machines Corporation Use of multiple queues in coupling facility to provide zoning capability in a parallel sysplex environment
US7480911B2 (en) * 2002-05-09 2009-01-20 International Business Machines Corporation Method and apparatus for dynamically allocating and deallocating processors in a logical partitioned data processing system
US20030229721A1 (en) * 2002-06-05 2003-12-11 Bonola Thomas J. Address virtualization of a multi-partitionable machine
US20030236852A1 (en) * 2002-06-20 2003-12-25 International Business Machines Corporation Sharing network adapter among multiple logical partitions in a data processing system
US6990656B2 (en) * 2002-06-27 2006-01-24 Microsoft Corporation Dynamic metabase store
US7565398B2 (en) * 2002-06-27 2009-07-21 International Business Machines Corporation Procedure for dynamic reconfiguration of resources of logical partitions
US20040107240A1 (en) * 2002-12-02 2004-06-03 Globespan Virata Incorporated Method and system for intertask messaging between multiple processors
US6915393B2 (en) * 2003-01-07 2005-07-05 Hewlett-Packard Development Company, L.P. Method and apparatus for physical memory partitioning
US7451183B2 (en) * 2003-03-21 2008-11-11 Hewlett-Packard Development Company, L.P. Assembly and method for balancing processors in a partitioned server
US7000051B2 (en) * 2003-03-31 2006-02-14 International Business Machines Corporation Apparatus and method for virtualizing interrupts in a logically partitioned computer system
US7478025B1 (en) * 2003-04-18 2009-01-13 Unisys Corporation System and method to support dynamic partitioning of units to a shared resource
US7281075B2 (en) * 2003-04-24 2007-10-09 International Business Machines Corporation Virtualization of a global interrupt queue
EP1660993B1 (en) 2003-08-28 2008-11-19 MIPS Technologies, Inc. Integrated mechanism for suspension and deallocation of computational threads of execution in a processor
US7418585B2 (en) 2003-08-28 2008-08-26 Mips Technologies, Inc. Symmetric multiprocessor operating system for execution on non-independent lightweight thread contexts
US7376954B2 (en) 2003-08-28 2008-05-20 Mips Technologies, Inc. Mechanisms for assuring quality of service for programs executing on a multithreaded processor
US7870553B2 (en) 2003-08-28 2011-01-11 Mips Technologies, Inc. Symmetric multiprocessor operating system for execution on non-independent lightweight thread contexts
US7594089B2 (en) 2003-08-28 2009-09-22 Mips Technologies, Inc. Smart memory based synchronization controller for a multi-threaded multiprocessor SoC
US7836450B2 (en) 2003-08-28 2010-11-16 Mips Technologies, Inc. Symmetric multiprocessor operating system for execution on non-independent lightweight thread contexts
US9032404B2 (en) 2003-08-28 2015-05-12 Mips Technologies, Inc. Preemptive multitasking employing software emulation of directed exceptions in a multithreading processor
US7849297B2 (en) 2003-08-28 2010-12-07 Mips Technologies, Inc. Software emulation of directed exceptions in a multithreading processor
US7711931B2 (en) 2003-08-28 2010-05-04 Mips Technologies, Inc. Synchronized storage providing multiple synchronization semantics
WO2005022385A1 (en) * 2003-08-28 2005-03-10 Mips Technologies, Inc. Mechanisms for dynamic configuration of virtual processor resources
US7418367B2 (en) 2003-10-31 2008-08-26 Hewlett-Packard Development Company, L.P. System and method for testing a cell
US7587723B2 (en) * 2003-11-13 2009-09-08 International Business Machines Corporation Restarting a shared virtual resource
US7277993B2 (en) * 2003-12-03 2007-10-02 Intel Corporation Write-back disk cache
US20050132362A1 (en) * 2003-12-10 2005-06-16 Knauerhase Robert C. Virtual machine management using activity information
US7913251B2 (en) * 2003-12-12 2011-03-22 International Business Machines Corporation Hypervisor virtualization of OS console and operator panel
US7558911B2 (en) * 2003-12-18 2009-07-07 Intel Corporation Maintaining disk cache coherency in multiple operating system environment
WO2005073846A2 (en) * 2004-01-20 2005-08-11 Broadcom Corporation System and method for supporting multiple users
US7451302B2 (en) * 2004-03-10 2008-11-11 Hewlett-Packard Development Company, L.P. System and method for managing configuration data for a multi-cell computer system
US7383555B2 (en) * 2004-03-11 2008-06-03 International Business Machines Corporation Apparatus and method for sharing a network I/O adapter between logical partitions
JP2005301639A (ja) * 2004-04-12 2005-10-27 Hitachi Ltd Osの障害対応方法およびそのプログラム
US7421533B2 (en) * 2004-04-19 2008-09-02 Intel Corporation Method to manage memory in a platform with virtual machines
US20050283658A1 (en) * 2004-05-21 2005-12-22 Clark Thomas K Method, apparatus and program storage device for providing failover for high availability in an N-way shared-nothing cluster system
US8024726B2 (en) * 2004-05-28 2011-09-20 International Business Machines Corporation System for correct distribution of hypervisor work
US20060021920A1 (en) * 2004-08-02 2006-02-02 Forbes Robert C Pond filters
TW200609721A (en) * 2004-09-03 2006-03-16 Inventec Corp Redundancy control system and method thereof
US7350172B1 (en) * 2004-09-20 2008-03-25 The Mathworks, Inc. Reporting of aspects and partitioning of automatically generated code according to a partitioning scheme
US20060070069A1 (en) * 2004-09-30 2006-03-30 International Business Machines Corporation System and method for sharing resources between real-time and virtualizing operating systems
US7290112B2 (en) * 2004-09-30 2007-10-30 International Business Machines Corporation System and method for virtualization of processor resources
US7496743B1 (en) * 2004-11-08 2009-02-24 Sun Microsystems, Inc. Modeling operating system instances
US20060184938A1 (en) * 2005-02-17 2006-08-17 Intel Corporation Method, apparatus and system for dynamically reassigning memory from one virtual machine to another
US7318126B2 (en) * 2005-04-11 2008-01-08 International Business Machines Corporation Asynchronous symmetric multiprocessing
US7873961B2 (en) * 2005-07-29 2011-01-18 International Business Machines Corporation Supervisory operating system for running multiple child operating systems simultaneously and optimizing resource usage
US8275799B2 (en) * 2005-08-02 2012-09-25 The Boeing Company Methods and apparatus for information modeling
US8402007B2 (en) * 2005-08-02 2013-03-19 The Boeing Company Methods and apparatus for creating and utilizing templates in connection with information modeling
US10140387B2 (en) 2005-08-02 2018-11-27 The Boeing Company Model for managing variations in a product structure for a product
US20070033371A1 (en) * 2005-08-04 2007-02-08 Andrew Dunshea Method and apparatus for establishing a cache footprint for shared processor logical partitions
US7821930B2 (en) 2005-09-12 2010-10-26 Microsoft Corporation Fault-tolerant communications in routed networks
US20070113229A1 (en) * 2005-11-16 2007-05-17 Alcatel Thread aware distributed software system for a multi-processor
US9189291B2 (en) * 2005-12-12 2015-11-17 International Business Machines Corporation Sharing a kernel of an operating system among logical partitions
US20070244244A1 (en) * 2006-04-13 2007-10-18 Franck Bertoux Low oligomer conductive polyamide
US9201703B2 (en) 2006-06-07 2015-12-01 International Business Machines Corporation Sharing kernel services among kernels
US8146089B2 (en) * 2006-06-14 2012-03-27 Intel Corporation Sharing resources of a partitioned system
US8214828B2 (en) * 2006-06-30 2012-07-03 Microsoft Corporation Module state management in a virtual machine environment
US8447936B2 (en) * 2006-06-30 2013-05-21 Microsoft Corporation Module state management in a virtual machine environment
US8112755B2 (en) * 2006-06-30 2012-02-07 Microsoft Corporation Reducing latencies in computing systems using probabilistic and/or decision-theoretic reasoning under scarce memory resources
US8806228B2 (en) * 2006-07-13 2014-08-12 International Business Machines Corporation Systems and methods for asymmetrical performance multi-processors
US9015501B2 (en) * 2006-07-13 2015-04-21 International Business Machines Corporation Structure for asymmetrical performance multi-processors
US8225320B2 (en) * 2006-08-31 2012-07-17 Advanced Simulation Technology, Inc. Processing data using continuous processing task and binary routine
US8648867B2 (en) 2006-09-25 2014-02-11 Neurala Llc Graphic processor based accelerator system and method
JP5068056B2 (ja) * 2006-10-11 2012-11-07 株式会社日立製作所 障害回復方法、計算機システム及び管理サーバ
US8082547B1 (en) * 2006-10-31 2011-12-20 Hewlett-Packard Development Company, L.P. Reallocating hardware resources among workloads in accordance with license rights
CN101535956A (zh) * 2006-11-02 2009-09-16 日本电气株式会社 多处理器系统、多处理器系统中的系统构成方法及其程序
US7877358B2 (en) * 2006-11-21 2011-01-25 Microsoft Corporation Replacing system hardware
US7934121B2 (en) * 2006-11-21 2011-04-26 Microsoft Corporation Transparent replacement of a system processor
US8473460B2 (en) * 2006-11-21 2013-06-25 Microsoft Corporation Driver model for replacing core system hardware
US8156370B2 (en) * 2006-12-22 2012-04-10 Hewlett-Packard Development Company, L.P. Computer system and method of control thereof
CN101211389B (zh) * 2006-12-31 2010-04-07 联想(北京)有限公司 一种硬件安全单元以及其服务请求的处理方法和系统
US8056084B2 (en) * 2007-01-25 2011-11-08 Hewlett-Packard Development Company, L.P. Method and system for dynamically reallocating a resource among operating systems without rebooting of the computer system
US8086906B2 (en) * 2007-02-15 2011-12-27 Microsoft Corporation Correlating hardware devices between local operating system and global management entity
US20080270653A1 (en) * 2007-04-26 2008-10-30 Balle Susanne M Intelligent resource management in multiprocessor computer systems
US8112749B2 (en) * 2007-06-19 2012-02-07 Oracle America, Inc. Dynamic, temporary resource pools for use in virtualization
US8219988B2 (en) 2007-08-02 2012-07-10 International Business Machines Corporation Partition adjunct for data processing system
US8645974B2 (en) * 2007-08-02 2014-02-04 International Business Machines Corporation Multiple partition adjunct instances interfacing multiple logical partitions to a self-virtualizing input/output device
WO2009091829A1 (en) * 2008-01-14 2009-07-23 Bivio Networks, Inc. Systems and methods for asymmetric multiprocessing
US8473918B2 (en) * 2008-01-21 2013-06-25 International Business Machines Corporation Method for singleton process control
US7539987B1 (en) * 2008-03-16 2009-05-26 International Business Machines Corporation Exporting unique operating system features to other partitions in a partitioned environment
JP4609521B2 (ja) * 2008-04-21 2011-01-12 ソニー株式会社 情報処理装置、および情報処理方法、並びにコンピュータ・プログラム
US8032852B1 (en) 2008-06-17 2011-10-04 Xilinx, Inc. Method of automating clock signal provisioning within an integrated circuit
US8015530B1 (en) * 2008-08-05 2011-09-06 Xilinx, Inc. Method of enabling the generation of reset signals in an integrated circuit
US8365170B2 (en) * 2008-11-13 2013-01-29 International Business Machines Corporation Realizing jumps in an executing process instance
US8195859B2 (en) 2008-12-03 2012-06-05 Hitachi, Ltd. Techniques for managing processor resource for a multi-processor server executing multiple operating systems
US8079009B1 (en) 2008-12-08 2011-12-13 Xilinx, Inc. Managing interrupt requests from IP cores
US20100153693A1 (en) * 2008-12-17 2010-06-17 Microsoft Corporation Code execution with automated domain switching
US9086913B2 (en) * 2008-12-31 2015-07-21 Intel Corporation Processor extensions for execution of secure embedded containers
US8195704B2 (en) * 2009-01-06 2012-06-05 International Business Machines Corporation Validation and correction in a distributed namespace
US8676976B2 (en) 2009-02-25 2014-03-18 International Business Machines Corporation Microprocessor with software control over allocation of shared resources among multiple virtual servers
JP5573829B2 (ja) * 2011-12-20 2014-08-20 富士通株式会社 情報処理装置およびメモリアクセス方法
US20150039873A1 (en) * 2012-04-30 2015-02-05 Gregg B. Lesartre Processor providing multiple system images
CN103514043B (zh) * 2012-06-29 2017-09-29 华为技术有限公司 多处理器系统及该系统的数据处理方法
US10019167B2 (en) * 2013-02-20 2018-07-10 Red Hat, Inc. Non-Uniform Memory Access (NUMA) resource assignment and re-evaluation
WO2014204615A2 (en) 2013-05-22 2014-12-24 Neurala, Inc. Methods and apparatus for iterative nonspecific distributed runtime architecture and its application to cloud intelligence
EP2999940A4 (en) 2013-05-22 2017-11-15 Neurala Inc. Methods and apparatus for early sensory integration and robust acquisition of real world knowledge
CN104714924B (zh) * 2013-12-12 2018-07-13 华为技术有限公司 一种资源控制方法和装置
WO2015112614A1 (en) 2014-01-21 2015-07-30 Oracle International Corporation System and method for supporting multi-tenancy in an application server, cloud, or other environment
US9626566B2 (en) 2014-03-19 2017-04-18 Neurala, Inc. Methods and apparatus for autonomous robotic control
EP3120300A4 (en) 2014-03-19 2017-11-22 Neurala Inc. Methods and apparatus for autonomous robotic control
US10951655B2 (en) 2014-09-26 2021-03-16 Oracle International Corporation System and method for dynamic reconfiguration in a multitenant application server environment
US10846115B1 (en) * 2015-08-10 2020-11-24 Amazon Technologies, Inc. Techniques for managing virtual instance data in multitenant environments
US9697048B2 (en) * 2015-08-20 2017-07-04 Sap Se Non-uniform memory access (NUMA) database management system
EP3355188B1 (en) 2017-01-31 2021-08-25 OpenSynergy GmbH Instrument display on a car dashboard by checking frames of a gui by a realtime os
TW201928689A (zh) * 2017-12-21 2019-07-16 晨星半導體股份有限公司 硬體控制系統及硬體控制方法
CN110096457B (zh) * 2018-01-31 2023-05-23 联发科技股份有限公司 硬件控制系统及硬件控制方法
RU185049U1 (ru) * 2018-06-09 2018-11-19 Общество с ограниченной ответственностью "ДЕПО Электроникс" Двухконтурный моноблочный комплекс
US11687400B2 (en) * 2018-12-12 2023-06-27 Insitu Inc., A Subsidiary Of The Boeing Company Method and system for controlling auxiliary systems of unmanned system
US11188490B1 (en) 2019-12-10 2021-11-30 Cisco Technology, Inc. Systems and methods for switching a console connection between CPUs
FR3104770B1 (fr) * 2019-12-17 2021-12-24 Thales Sa Procede de configuration d'un module electronique d'un systeme avionique
CN115269207B (zh) * 2022-09-29 2022-12-23 浙江省公众信息产业有限公司无线运营分公司 一种用于vCPE网元分配资源的方法和系统

Family Cites Families (49)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA1293819C (en) 1986-08-29 1991-12-31 Thinking Machines Corporation Very large scale computer
US4843541A (en) * 1987-07-29 1989-06-27 International Business Machines Corporation Logical resource partitioning of a data processing system
US4853843A (en) 1987-12-18 1989-08-01 Tektronix, Inc. System for merging virtual partitions of a distributed database
EP0321694B1 (en) 1987-12-21 1995-06-07 Bull HN Information Systems Inc. Method for a Data processing system using incompatible central processing unit/operating system combinations
US5450570A (en) 1988-09-09 1995-09-12 Compaq Computer Corp. Computer implemented method and apparatus for dynamic configuration of a computer system and circuit boards including computer resource allocation conflict resolution
US4965717A (en) 1988-12-09 1990-10-23 Tandem Computers Incorporated Multiple processor system having shared memory with private-write capability
US5237566A (en) 1989-03-30 1993-08-17 Ungermann-Bass, Inc. Network hub for maintaining node bandwidth in a single-node network
US5325517A (en) 1989-05-17 1994-06-28 International Business Machines Corporation Fault tolerant data processing system
US5522083A (en) 1989-11-17 1996-05-28 Texas Instruments Incorporated Reconfigurable multi-processor operating in SIMD mode with one processor fetching instructions for use by remaining processors
AU650242B2 (en) 1989-11-28 1994-06-16 International Business Machines Corporation Methods and apparatus for dynamically managing input/output (I/O) connectivity
US5828894A (en) 1990-11-13 1998-10-27 International Business Machines Corporation Array processor having grouping of SIMD pickets
US5537574A (en) 1990-12-14 1996-07-16 International Business Machines Corporation Sysplex shared data coherency method
US5481707A (en) 1991-05-19 1996-01-02 Unisys Corporation Dedicated processor for task I/O and memory management
US5392397A (en) 1992-03-30 1995-02-21 International Business Machines Corporation Command execution system for using first and second commands to reserve and store second command related status information in memory portion respectively
US5414851A (en) 1992-06-15 1995-05-09 International Business Machines Corporation Method and means for sharing I/O resources by a plurality of operating systems
US5428803A (en) 1992-07-10 1995-06-27 Cray Research, Inc. Method and apparatus for a unified parallel processing architecture
US5471609A (en) 1992-09-22 1995-11-28 International Business Machines Corporation Method for identifying a system holding a `Reserve`
CA2100540A1 (en) 1992-10-19 1994-04-20 Jonel George System and method for performing resource reconfiguration in a computer system
US5758157A (en) * 1992-12-31 1998-05-26 International Business Machines Corporation Method and system for providing service processor capability in a data processing by transmitting service processor requests between processing complexes
US5574914A (en) 1993-01-04 1996-11-12 Unisys Corporation Method and apparatus for performing system resource partitioning
US5408649A (en) 1993-04-30 1995-04-18 Quotron Systems, Inc. Distributed data access system including a plurality of database access processors with one-for-N redundancy
US5522069A (en) 1993-04-30 1996-05-28 Zenith Data Systems Corporation Symmetric multiprocessing system with unified environment and distributed system functions
US5761739A (en) 1993-06-08 1998-06-02 International Business Machines Corporation Methods and systems for creating a storage dump within a coupling facility of a multisystem enviroment
US5692193A (en) 1994-03-31 1997-11-25 Nec Research Institute, Inc. Software architecture for control of highly parallel computer systems
GB2290891B (en) 1994-06-29 1999-02-17 Mitsubishi Electric Corp Multiprocessor system
JP2886093B2 (ja) 1994-07-28 1999-04-26 株式会社日立製作所 障害処理方法および情報処理システム
US5526358A (en) 1994-08-19 1996-06-11 Peerlogic, Inc. Node management in scalable distributed computing enviroment
US5481719A (en) 1994-09-09 1996-01-02 International Business Machines Corporation Exception handling method and apparatus for a microkernel data processing system
US5640584A (en) 1994-12-12 1997-06-17 Ncr Corporation Virtual processor method and apparatus for enhancing parallelism and availability in computer systems
US5717942A (en) 1994-12-27 1998-02-10 Unisys Corporation Reset for independent partitions within a computer system
GB9506501D0 (en) 1995-03-30 1995-05-17 Int Computers Ltd Incremental disk backup
WO1997004388A1 (en) 1995-07-19 1997-02-06 Unisys Corporation Partitionable array processor with independently running sub-arrays
US5819020A (en) 1995-10-16 1998-10-06 Network Specialists, Inc. Real time backup system
JP3738787B2 (ja) 1995-10-19 2006-01-25 富士ゼロックス株式会社 資源管理装置及び資源管理方法
US6047323A (en) 1995-10-19 2000-04-04 Hewlett-Packard Company Creation and migration of distributed streams in clusters of networked computers
JPH09167141A (ja) 1995-12-18 1997-06-24 Hitachi Ltd 負荷分散制御方法
US5838968A (en) 1996-03-01 1998-11-17 Chromatic Research, Inc. System and method for dynamic resource management across tasks in real-time operating systems
JP3541335B2 (ja) 1996-06-28 2004-07-07 富士通株式会社 情報処理装置及び分散処理制御方法
EP0827085B1 (en) 1996-08-20 2006-03-29 Compaq Computer Corporation Method and apparatus for distributing interrupts in a scalable symmetric multiprocessor system without changing the bus width or bus protocol
JP3459056B2 (ja) 1996-11-08 2003-10-20 株式会社日立製作所 データ転送システム
US5931938A (en) 1996-12-12 1999-08-03 Sun Microsystems, Inc. Multiprocessor computer having configurable hardware system domains
US6058423A (en) 1996-12-23 2000-05-02 International Business Machines Corporation System and method for locating resources in a distributed network
US5991518A (en) 1997-01-28 1999-11-23 Tandem Computers Incorporated Method and apparatus for split-brain avoidance in a multi-processor system
US5950228A (en) 1997-02-03 1999-09-07 Digital Equipment Corporation Variable-grained memory sharing for clusters of symmetric multi-processors using private and shared state tables
US6065139A (en) * 1997-03-31 2000-05-16 International Business Machines Corporation Method and system for surveillance of computer system operations
US5987621A (en) 1997-04-25 1999-11-16 Emc Corporation Hardware and software failover services for a file server
US6021508A (en) 1997-07-11 2000-02-01 International Business Machines Corporation Parallel file system and method for independent metadata loggin
US5923890A (en) 1997-07-30 1999-07-13 International Business Machines Corporation Method and apparatus for optimizing the handling of synchronous requests to a coupling facility in a sysplex configuration
US6263433B1 (en) * 1998-09-30 2001-07-17 Ncr Corporation Provision of continuous database service and scalable query performance using active redundant copies

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003514270A (ja) * 1999-09-28 2003-04-15 インターナショナル・ビジネス・マシーンズ・コーポレーション コンピュータ環境におけるワークロード管理
JP2002032235A (ja) * 2000-05-31 2002-01-31 Internatl Business Mach Corp <Ibm> 区分処理環境のための異種クライアント・サーバ方法、システム、およびプログラム製品
KR100458104B1 (ko) * 2000-05-31 2004-11-26 인터내셔널 비지네스 머신즈 코포레이션 파티션 처리 환경을 위한 이종 클라이언트 서버 방법,시스템 및 프로그램 제품
JP2009205687A (ja) * 2001-06-11 2009-09-10 Microsoft Corp 複数装置管理の方法およびシステム
US7159216B2 (en) 2001-11-07 2007-01-02 International Business Machines Corporation Method and apparatus for dispatching tasks in a non-uniform memory access (NUMA) computer system
US8122451B2 (en) 2001-11-07 2012-02-21 International Business Machines Corporation Method and apparatus for dispatching tasks in a non-uniform memory access (NUMA) computer system
US8286161B2 (en) 2004-09-29 2012-10-09 Sony Corporation Apparatus, method, and computer program for setting and updating a relationship between a logical processor and a physical processor
JP2006301824A (ja) * 2005-04-19 2006-11-02 Hitachi Ltd 複合型計算機装置および複合型計算機装置の管理方法
JP4595645B2 (ja) * 2005-04-19 2010-12-08 株式会社日立製作所 複合型計算機装置および複合型計算機装置の管理方法
JPWO2008062647A1 (ja) * 2006-11-02 2010-03-04 日本電気株式会社 マルチプロセッサシステム、マルチプロセッサシステムにおけるシステム構成方法及びそのプログラム
US8935510B2 (en) 2006-11-02 2015-01-13 Nec Corporation System structuring method in multiprocessor system and switching execution environment by separating from or rejoining the primary execution environment
JP2016181014A (ja) * 2015-03-23 2016-10-13 Kddi株式会社 計算機資源提供サービスの管理装置

Also Published As

Publication number Publication date
DE69833914T2 (de) 2006-08-24
US20020016892A1 (en) 2002-02-07
EP0917057A3 (en) 2000-08-09
US6647508B2 (en) 2003-11-11
EP0917057B1 (en) 2006-03-22
DE69833914D1 (de) 2006-05-11
EP0917057A2 (en) 1999-05-19

Similar Documents

Publication Publication Date Title
JPH11316747A (ja) 多数のオペレ―ティングシステムインスタンス及びソフトウェア制御式リソ―ス割り当てを伴うマルチプロセッサコンピュ―タア―キテクチャ
US6542926B2 (en) Software partitioned multi-processor system with flexible resource sharing levels
US6260068B1 (en) Method and apparatus for migrating resources in a multi-processor computer system
US6247109B1 (en) Dynamically assigning CPUs to different partitions each having an operation system instance in a shared memory space
US6332180B1 (en) Method and apparatus for communication in a multi-processor computer system
US6226734B1 (en) Method and apparatus for processor migration from different processor states in a multi-processor computer system
US6633916B2 (en) Method and apparatus for virtual resource handling in a multi-processor computer system
US6199179B1 (en) Method and apparatus for failure recovery in a multi-processor computer system
US6381682B2 (en) Method and apparatus for dynamically sharing memory in a multiprocessor system
JP4634548B2 (ja) マルチプロセッサコンピュータシステム及びその動作方法
US20020016891A1 (en) Method and apparatus for reconfiguring memory in a multiprcessor system with shared memory
US8776050B2 (en) Distributed virtual machine monitor for managing multiple virtual resources across multiple physical nodes
KR101159377B1 (ko) 고성능 컴퓨팅 시스템 및 방법
US20050044301A1 (en) Method and apparatus for providing virtual computing services
JP4299473B2 (ja) マルチパーティション・コンピュータシステム
US6681282B1 (en) Online control of a multiprocessor computer system
US6711693B1 (en) Method for synchronizing plurality of time of year clocks in partitioned plurality of processors where each partition having a microprocessor configured as a multiprocessor backplane manager
KR20070006906A (ko) Hpc 환경에서의 토폴로지-인식 작업 스케쥴링 및백필링을 위한 시스템 및 방법
US20050080982A1 (en) Virtual host bus adapter and method
US20070061441A1 (en) Para-virtualized computer system with I/0 server partitions that map physical host hardware for access by guest partitions
US20070028244A1 (en) Computer system para-virtualization using a hypervisor that is implemented in a partition of the host system
JP2006024214A (ja) コンピュータシステムをソフトパーティショニングするシステムおよび方法
US11934886B2 (en) Intra-footprint computing cluster bring-up
JP2002183105A (ja) スケーラブルパラレル処理のためのユニット同期化を処理する方法
WO2006028520A1 (en) Migration of tasks in a computing system

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20051024

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20051024

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20051024

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080623

A762 Written abandonment of application

Free format text: JAPANESE INTERMEDIATE CODE: A762

Effective date: 20081008