JP2003099388A - マルチノード・コンピュータ・システムのメモリマップト入出力装置をサポートする方法およびコンピュータシステム - Google Patents
マルチノード・コンピュータ・システムのメモリマップト入出力装置をサポートする方法およびコンピュータシステムInfo
- Publication number
- JP2003099388A JP2003099388A JP2002192029A JP2002192029A JP2003099388A JP 2003099388 A JP2003099388 A JP 2003099388A JP 2002192029 A JP2002192029 A JP 2002192029A JP 2002192029 A JP2002192029 A JP 2002192029A JP 2003099388 A JP2003099388 A JP 2003099388A
- Authority
- JP
- Japan
- Prior art keywords
- mmio
- node
- address space
- granularity
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/06—Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
- G06F12/0615—Address space extension
- G06F12/063—Address space extension for I/O modules, e.g. memory mapped I/O
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Multi Processors (AREA)
Abstract
リマップト装置を動的にサポート可能な方法およびシス
テムを提供する。 【解決手段】中央処理装置(CPU)ノードの一つが全
MMIO装置に必要なMMIOアドレス空間の総量を決
定し、MMIOアドレス空間の総量をサポートするため
の最適粒度を生成する。粒度に基づき、CPUノードコ
ントローラが相互接続内のMMIO範囲レジスタおよび
IOノード、CPUノードコントローラ内の他のMMI
Oレジスタを設定し、システムのMMIOアドレス空間
要求の動的な変化をサポートする。
Description
ースのマルチノード・コンピュータ・システムに関し、
特にマルチノード・コンピュータ・システム用のメモリ
マップト入出力(MMIO)処理へのサポートに関す
る。
は、典型的には、複数の中央処理装置(CPU)、複数
の相互接続および複数の入出力(IO)ノードを有す
る。各IOノードは多くのIO装置、すなわちペリフェ
ラル・コンポーネント・インターコネクト(PCI)、
スモール・コンピュータ・システム・インタフェイス
(SCSI)型装置等の従来の周辺装置、と接続され
る。このようなマルチノード・コンピュータ・システム
では、多数のIO装置と同時に対話する等の複雑な電算
処理タスクを行うことができる。
おいては、IO装置の幾つかもしくは全てがメモリマッ
プトIO(MMIO)装置でも良い。メモリマップトI
O(MMIO)装置は、IOノードおよびCPUノード
内のアドレスおよびデータ線に、メモリ装置の接続に類
似する方法で接続される。IOノード又はCPUノード
がIO装置に対応するアドレスを読み出す又は書き込む
度に、IOノード又はCPUノードはIO装置へ又はI
O装置からデータを転送できる。このようなメモリマッ
プトIO装置の利点の一つは、CPUノード内のプロセ
ッサ又は相互接続が、まずデータをプロセッサに移動
し、データを処理し、その後IO装置ポートへ戻して書
き込むのではなく、メモリ空間にアクセスする1命令だ
けでIO装置ポートへ送信されたデータを操作すること
ができることにある。こうすることにより、メモリマッ
プトIO装置は、典型的にはプロセッサの電算処理負荷
を低減させる。
トIO装置をサポートするためには、CPUノードおよ
びIOノードを含むマルチノード・コンピュータ・シス
テムの構成要素のメモリユニットに大量の物理アドレス
空間を割り当てる必要がある。従来のマルチノード・コ
ンピュータ・システムでは、相互接続は一定数のMMI
O範囲レジスタのみを有し、特定のIOノードに接続さ
れるメモリマップトIO装置へ割り当てるアドレス空間
の範囲を指定している。このような相互接続レジスタは
典型的には「ベース」型および「サイズ」型レジスタで
あり、相互接続と接続される各CPUノードおよびIO
ノードにベースおよびサイズの宣言を要求する。コンピ
ュータシステムにn個のノードがある場合、n個のベー
スレジスタおよびn個のサイズレジスタが必要となる。
従って、従来の「ベース」および「サイズ」型レジスタ
はかなりのリソースを消費する。
型レジスタではマルチノード・コンピュータ・システム
におけるメモリマッピングの拡張性が得られない。IO
ノードが多数のIO装置と接続される場合、マルチノー
ド・コンピュータ・システムに対するMMIOアドレス
空間の要求は不特定多数となる。プログラマが各IO装
置用に相互接続のベースおよびサイズを指定するため
に、一つ一つのMMIO範囲レジスタを設定するのは非
常に効率が悪い。
コンピュータ・システムにおいて動的にMMIO装置を
サポートする効率的で拡張性のある方法およびシステム
を提供することが望まれる。
ースのマルチノード・コンピュータ・システムにおい
て、メモリマップトIO(MMIO)装置を動的にサポ
ートする方法およびシステムを提供する。特に、本方法
およびシステムは、一定数の相互接続範囲レジスタで不
特定多数のMMIOアドレス空間をサポートし、マルチ
ノード・コンピュータ・システムで割り当てられたMM
IOメモリ空間を効率的に使用するものである。ある実
施態様では、この方法は(1)全MMIO装置に対する
MMIOアドレス空間要求の総量を動的に決定し、
(2)総MMIOアドレス空間要求をサポートするため
のMMIO範囲粒度の最適値を算出し、(3)決定され
た粒度に基づいて、相互接続のMMIOレジスタをプロ
グラミングし、そして、(4)決定された粒度に基づい
て、IOノード・コントローラおよびCPUノード・コ
ントローラをプログラミングする、各ステップを含む。
PU)ノードコントローラ103(#1、#2、#3、
…、#n)、相互接続101および複数の入力/出力
(IO)ノード107を典型的に含むマルチノード・コ
ンピュータ・システム100を示す。CPUコントロー
ラ103およびIOノード102は全て相互接続101
に接続される。典型的には、CPUノードコントローラ
103は、拡張ポート105を介して相互接続101と
接続される。マルチノード・コンピュータ・システム1
00は、複数の相互接続101を含んでもよい。各相互
接続101は、システム100内の異なるノードおよび
装置に命令およびデータを送信する。相互接続ベースの
マルチノード・コンピュータ・システムの詳細は、当該
分野ではよく知られており、本発明の明快な説明を分か
りにくくしないために、ここでは説明しない。
Oノードコントローラ107、ブリッジ113およびI
O装置111が含まれる。IO装置111の別々のグル
ープが各ブリッジ113(例、ブリッジ#1、#2、
…、#b)とそれぞれ接続され、ブリッジ113は対応
するハブリンク109を介してIOノードコントローラ
107に接続される。IO装置111は、PCI、SC
SI型装置のような従来の周辺装置である。ある実施態
様では、IOノード102は少なくとも一つのMMIO
装置を含む。IOノード102には、システム100の
運用上の必要性に応じてIOマップトIO装置も接続し
てもよい。
又は他のMMIO構成要素をサポートするために、マル
チノード・コンピュータ・システム100は、システム
全体に渡って分布し、全ての構成要素102、103か
ら全体に渡ってアクセス可能なメモリユニットを含む。
システム100のこれらのメモリユニットによって供給
されるアドレス空間を管理するために、相互接続101
は、図1に示されるように、アドレス・デコーダ107
および複数のMMIOアドレス範囲レジスタ115を含
む。例えば、MMIO装置111に関しては、MMIO
アドレス範囲レジスタ115が、特定の機能およびポー
トに基づき、MMIO装置111に供給されるアドレス
空間の範囲を格納する。
は、MMIO装置111とCPUノードコントローラ1
03の間の対話が行われている間、各IOノード102
からの読み出し又は書き込み(r/w)要求を受け取
る。メモリマッピング処理の一部として、アドレス・デ
コーダ107は、MMIOアドレス範囲レジスタ11
5、例えば範囲レジスタ0、1、…、r、に格納される
アドレス範囲情報に基づき、どのMMIO装置111か
ら要求がくるのか判断する。判断後、アドレス・デコー
ダ107は、メモリマッピング処理のために、対応する
CPUノードコントローラ103にその要求を指示でき
る。
111が必要とするアドレス空間を管理するために、プ
ログラム可能な範囲粒度値を供給する。プログラム可能
な粒度により、システム100は様々な構成要素10
1、102、103のメモリ空間をより効率的な方法で
管理できる。例えば、相互接続101のプロセッサは、
範囲レジスタ115に書き込み、低減したクロックサイ
クル時間を利用して新たに粒度を調整し、マルチノード
・コンピュータ・システム100の性能を向上させるこ
とができる。
O範囲粒度の動的な決定方法を示すフローチャートであ
る。この方法は、システム100のブートストラップ・
プロセッサ(BSP)によって行うことが出来る。シス
テム100の初期設定プロセスの間、CPUノードコン
トローラ103の一つがBSPに指定され、MMIO粒
度決定プロセスを実行する。システム100のMMIO
装置の数に何らかの変化があった場合、BSPは相互接
続107、IOノードコントローラ102および他のB
SPでないCPUノードコントローラ103と通信し、
拡張ポート105を介して、ここに述べるMMIO粒度
決定ルーチンを実行する。以下に詳述するように、BS
Pとして動作するCPUノードコントローラ103は、
IOノード102をスキャンし、相互接続101内の範
囲レジスタ115の粒度を決定し、IOノード102お
よびCPUノードコントローラ103のプログラムを組
み、MMIO装置をサポートするように新たな粒度を調
整する。
のIOノード102に対して要求されるMMIOアドレ
ス空間量の決定201を行う。図3を参照して更に説明
されるように、各IOノード内のメモリマップトIO装
置111用に要求されるMMIOアドレス空間量を集計
し、システム100全体のためのMMIOアドレス空間
の総量を生成する。MMIOアドレス空間の総量が決定
された後、BSPはアドレス範囲レジスタ115によっ
て管理されるMMIOアドレス空間の適切な粒度の算出
203を行う。好ましい実施態様においては、粒度は、
見いだされた全MMIOアドレス空間要求をサポートす
るための、MMIO範囲粒度の最適値である。BSP2
05は粒度に基づき、相互接続101内の範囲レジスタ
115のプログラム205を行う。BSPは粒度に基づ
いてIOノード102によって使用されるMMIOレジ
スタのプログラム207、CPUノードコントローラ1
03内のMMIOレジスタのプログラム209を行う。
ス空間の総量を決定する方法を示す。ある実施態様によ
れば、BSPはシステム100の全MMIO装置111
をスキャンし、各IOノード102内の各MMIO装置
111に必要なMMIOアドレス空間量を集計する。B
SPは、この処理を開始するのに、まずいずれかのIO
ノード102i、例えばi=1、からスキャン301を
行う。各IOノード102iに関し、BSPはIOノー
ドコントローラ107iに接続される各ハブリンク10
9l(例えば、l=1、…、n)のスキャン303を行
う。各ハブリンク109lには、典型的にはIOノード
102i内のIO装置111をIOノードコントローラ
107iに接続するブリッジ113が存在する。IO装
置111は対応するブリッジ113b(b=1、…、
m)に接続される。したがって、各ハブリンク109に
関し、BSPはIOノード102i内の各ブリッジ11
3bのスキャン305を行い、その後ブリッジ113b
に接続されている全MMIO装置に使用されるMMIO
アドレス空間の決定307を行う。BSPは、各IOノ
ード102iのMMIOアドレス空間量の累積309を
行う。一つのIOノード102i内の全ての装置111
をスキャンした後、BSPは次のIOノード102iの
スキャン315を引き続き行い、最後のIOノード10
2iの最後のMMIO装置に至るまで、MMIOサイズ
を累積していく。具体的には、BSPは各IOノード1
02iのMMIOアドレス空間サイズをIO_MMIO
reqArray[i]の配列に格納する。
1に示す。
115によって規定されるMMIOアドレス空間の粒度
決定方法を示す。全MMIO装置111が要求するMM
IOアドレス空間の総量を決定する際、BSPは以下に
述べるようなステップで全MMIOアドレス空間の粒度
を決定する。
ranfieldを格納し、そのgranfieldの
事前値を0に設定する401。以下に述べるように、可
変のgranfieldの最大値は、システム100の
ハードウエア性能に依存する。BSPは以下のようにM
MIOアドレス空間の粒度サイズ(Gran)を規定す
る。 Gran=16メガバイトx2^granfield 式(1)
トは、一つのMMIO装置111に一般的に使用される
最小アドレス空間サイズである。別の実施態様では、シ
ステム100の実際の要求応じて、アドレス空間サイズ
は別の値が設定されてもよい。式(1)によって決定さ
れる粒度値Granに基づいて、BSPはMMIOアド
レス空間要求の総量を満足させるのに必要な範囲レジス
タ数の算出405を行う。ある具体例では、各IOノー
ド102iに必要な範囲レジスタの数は、 範囲レジスタ数[i]=IO_MMIOreqArray[i]/Gran 式(2) によって算出される。
レジスタの総数は各IOノード102iに関する式
(2)の結果を集計することによって得られる。範囲レ
ジスタの総数は、その後、相互接続101によって現在
供給されている範囲レジスタの最大数と比較される(4
07)。システム100の最大性能を超える場合には、
BSPは可変のgranfieldを1増やし409、
式(1)に従って新たに粒度値を再計算する。新たな粒
度値が生成された後、必要な範囲レジスタ数が相互接続
101に提供される最大ハードウエア性能を超えなくな
るまで、ステップ403から407が繰り返される。こ
の結果、対応する粒度値(Gran)は範囲サイズの好
ましい粒度値となる。この粒度値は、その後、相互接続
101、CPUコントローラ103およびIOノード1
02の関連するMMIOファームウエアのプログラムを
組むのに使用される。
2に示す。
は、BSPは始めにステップ203で導き出される粒度
値に基づいて相互接続101内のMMIO範囲レジスタ
のプログラムを作成する。一例を挙げると、相互接続1
01は、典型的には、特定のIOノード102iの特定
のMMIO装置111のメモリマッピングのための開始
アドレスと、そのMMIO装置111に割り当て得るM
MIOアドレス空間の限度を指定するMMIO範囲レジ
スタを含む。ステップ203で決定された粒度は、その
後、MMIOレジスタが各MMIO装置111の開始ア
ドレスおよび対応するアドレス空間長を規定するために
使用できる。
のプログラミング例をアペンディックス3に示す。シス
テム100は複数の相互接続を含むことが可能であり、
そのうちの幾つかはデフォルトでない相互接続であり得
るため、BSPはシステム100に含まれる全ての相互
接続内のMMIO範囲レジスタもプログラムできること
に留意すべきである。
のMMIOレジスタをプログラムした後、BSPは決定
された粒度値に基づき、各IOノードコントローラ10
7iのMMIOレジスタのプログラムも行う。好ましい
実施態様においては、各IOノードコントローラ107
iには、例えばMMIOアドレス空間の基準アドレスを
指定するMMIOBLやメモリマッピングのためにIO
ノード102によって割り当てられたMMIOアドレス
空間の限界を指定するMMIOLLのようなMMIOレ
ジスタが存在する。これらのMMIOレジスタは、特定
のハブリンク109lに接続される各々特定のMMIO
装置111に使用されるアドレス空間も規定できる。粒
度値に基づき、BSPは各特定のMMIO装置を個々に
プログラミングする必要なしに、これらのMMIOレジ
スタを均一な方法で設定できる。決定された粒度によ
り、各MMIO装置にメモリマッピングのために十分な
アドレス空間を確実に割り当てられるようにする。
ラ103内のMMIOレジスタをプログラムできる。従
来のCPUノードコントローラ103も、メモリマッピ
ングに使用されるアドレス空間の開始アドレスおよびサ
イズ限度を規定するMMIOレジスタを含む。粒度値
は、全MMIO装置に使用されるMMIOアドレス空間
の限度を提供する。従って、CPUノードコントローラ
103はこの情報を使用して自身のMMIOレジスタを
設定する。
Uノードコントローラ103内のMMIOレジスタのプ
ログラミング例をアペンディックス4に示す。
ンピュータ・システムのMMIO装置に使用されるMM
IOアドレス空間の動的な変化をサポートする方法およ
びシステムを提供する。本発明は、MMIOアドレス空
間総量の適切な粒度値を決定し、その粒度値を使用して
コンピュータシステムの様々な構成要素内の対応するM
MIOレジスタをプログラムする。このようにして、本
発明ではMMIO装置数の変化した場合に、特定のMM
IO装置用のMMIOレジスタを設定するという複雑で
非効率な方法を避ける。更に、MMIOアドレス空間の
粒度を決定することにより、マルチノード・コンピュー
タ・システムのメモリの効率的な使用が可能となる。
・システムのメモリマップト入出力(MMIO)装置を
サポートする方法であって、前記マルチノード・コンピ
ュータ・システムは、複数のMMIOアドレス空間範囲
レジスタを有する相互接続と、複数の中央処理装置(C
PU)ノードと、それぞれが少なくとも1つのMMIO
装置を含む複数の入出力(IO)ノード、とを備えるも
のにおいて、前記方法は、マルチノード・コンピュータ
・システムによって使用されるMMIOアドレス空間の
総量を決定し、MMIOアドレス空間範囲レジスタの数
に基づいてMMIOアドレス空間の粒度を決定し、さら
に決定された粒度に基づいて前記相互接続の範囲レジス
タを設定する、各ステップを含む、マルチノード・コン
ピュータ・システムのMMIO装置をサポートする方
法。
ために、決定された粒度に基づいて前記IOノードを設
定するステップを更に含む、付記1に記載の方法。
ために、決定された粒度に基づいて前記CPUノードを
設定するステップを更に含む、付記2に記載の方法。
を決定するステップは、各IOノードに含まれる各MM
IO装置をスキャンし、MMIO装置が必要とするMM
IOアドレス空間量を決定し、さらにコンピュータシス
テムに含まれる全MMIO装置が必要とするMMIOア
ドレス空間量を生成する、各ステップを含む、付記1に
記載の方法。
を決定するステップは、事前粒度値を生成し、前記事前
粒度値に基づいて範囲レジスタ数を生成し、前記生成さ
れた範囲レジスタ数をシステムによって提供される範囲
レジスタの最大数と比較し、さらに範囲レジスタの最大
数に基づいて、MMIOアドレス空間の適切な粒度を生
成する、各ステップを含む、付記1に記載の方法。
(MMIO)アドレス空間範囲レジスタを含む相互接続
と、各々が少なくとも1つのMMIO装置を含む複数の
入出力(IO)ノード、および複数の中央処理装置(C
PU)ノードであって、少なくとも1つのCPUノード
がIOノードの全MMIO装置をサポートするのに必要
なMMIOアドレス空間の粒度を決定するように設定さ
れたもの、を含む、コンピュータシステム。
ノードが、MMIO装置のメモリマッピングプロセスを
サポートするために決定された粒度に基づいて、相互接
続の範囲レジスタをプログラムするよう設定されてい
る、付記6に記載のシステム。
ドが、MMIO装置をサポートするために決定された粒
度に基づいて、IOノードをプログラムするよう設定さ
れている、付記7に記載のシステム。
ドが、MMIO装置をサポートするために決定された粒
度に基づいて、CPUノードをプログラムするよう設定
されている、付記8に記載のシステム。
タ・システムのメモリマップト入出力(MMIO)装置
のサポートを可能とするコンピュータプログラムを含む
コンピュータ可読媒体であって、前記マルチノード・コ
ンピュータ・システムは、複数のMMIOアドレス空間
範囲レジスタを有する相互接続と、複数の中央処理装置
(CPU)ノードと、および各々が少なくとも1つのM
MIO装置を含む複数の入出力(IO)ノードとを含
み、前記コンピュータプログラムは、複数のCPUノー
ドのうちの1つで実行された場合に、マルチノード・コ
ンピュータ・システムで使用されるMMIOアドレス空
間の総量を決定し、MMIOアドレス空間範囲レジスタ
の数に基づいてMMIOアドレス空間の粒度を決定し、
決定された粒度に基づいて相互接続の範囲レジスタを設
定し、MMIO装置をサポートするために決定された粒
度に基づいてIOノードを設定し、さらにMMIO装置
をサポートするために決定された粒度に基づいてCPU
ノードを設定する方法を実行する、コンピュータ可読媒
体。
力(MMIO)アドレス空間範囲レジスタを有する相互
接続と、前記相互接続に接続され、各々が少なくとも1
つのMMIO装置を含む複数の入出力(IO)ノード
と、前記相互接続に接続される複数の中央処理装置(C
PU)ノードと、およびMMIOアドレス空間範囲レジ
スタの数に基づいて、システムの全MMIO装置をサポ
ートするのに必要なMMIOアドレス空間の粒度を決定
する手段、とを有するコンピュータシステム。
タ・システムで使用されるMMIOアドレス空間の総量
を決定する手段を更に有する、付記11に記載のシステ
ム。
相互接続の範囲レジスタを設定する手段を更に有する、
付記12に記載のシステム。
るために、決定された粒度に基づきIOノードを設定す
る手段を更に有する、付記13に記載のシステム。
るために、決定された粒度に基づきCPUノードを設定
する手段を更に有する、付記14に記載のシステム。
チノード・コンピュータ・システムを示す概略図。
要求をサポートする方法を示すフローチャート。
IOアドレス空間要求の総量を決定する方法を示すフロ
ーチャート。
度を決定する方法を示すフローチャート。
Claims (10)
- 【請求項1】 マルチノード・コンピュータ・システム
のメモリマップト入出力(MMIO)装置をサポートす
る方法であって、前記マルチノード・コンピュータ・シ
ステムは、複数のMMIOアドレス空間範囲レジスタを
有する相互接続と、複数の中央処理装置(CPU)ノー
ドと、それぞれが少なくとも1つのMMIO装置を含む
複数の入出力(IO)ノード、とを備えるものにおい
て、前記方法は、 マルチノード・コンピュータ・システムによって使用さ
れるMMIOアドレス空間の総量を決定し、 MMIOアドレス空間範囲レジスタの数に基づいてMM
IOアドレス空間の粒度を決定し、さらに 決定された粒度に基づいて前記相互接続の範囲レジスタ
を設定する、 各ステップを含む、マルチノード・コンピュータ・シス
テムのMMIO装置をサポートする方法。 - 【請求項2】 MMIO装置をサポートするために、決
定された粒度に基づいて前記IOノードを設定するステ
ップを更に含む、請求項1に記載の方法。 - 【請求項3】 MMIO装置をサポートするために、決
定された粒度に基づいて前記CPUノードを設定するス
テップを更に含む、請求項2に記載の方法。 - 【請求項4】 MMIOアドレス空間の総量を決定する
ステップは、 各IOノードに含まれる各MMIO装置をスキャンし、 MMIO装置が必要とするMMIOアドレス空間量を決
定し、さらにコンピュータシステムに含まれる全MMI
O装置が必要とするMMIOアドレス空間量を生成す
る、各ステップを含む、請求項1に記載の方法。 - 【請求項5】 MMIOアドレス空間の粒度を決定する
ステップは、 事前粒度値を生成し、 前記事前粒度値に基づいて範囲レジスタ数を生成し、 前記生成された範囲レジスタ数をシステムによって提供
される範囲レジスタの最大数と比較し、さらに前記範囲
レジスタの最大数に基づいて、MMIOアドレス空間の
適切な粒度を生成する、各ステップを含む、請求項1に
記載の方法。 - 【請求項6】 複数のメモリマップト入出力(MMI
O)アドレス空間範囲レジスタを含む相互接続と、 各々が少なくとも1つのMMIO装置を含む複数の入出
力(IO)ノード、および複数の中央処理装置(CP
U)ノードであって、少なくとも1つのCPUノードが
IOノードの全MMIO装置をサポートするのに必要な
MMIOアドレス空間の粒度を決定するように設定され
たもの、 を含む、コンピュータシステム。 - 【請求項7】 前記少なくとも1つのCPUノードが、
MMIO装置のメモリマッピングプロセスをサポートす
るために決定された粒度に基づいて、相互接続の範囲レ
ジスタをプログラムするよう設定されている、請求項6
に記載のシステム。 - 【請求項8】 マルチノード・コンピュータ・システム
のメモリマップト入出力(MMIO)装置のサポートを
可能とするコンピュータプログラムを含むコンピュータ
可読媒体であって、前記マルチノード・コンピュータ・
システムは、複数のMMIOアドレス空間範囲レジスタ
を有する相互接続と、複数の中央処理装置(CPU)ノ
ードと、および各々が少なくとも1つのMMIO装置を
含む複数の入出力(IO)ノードとを含み、前記コンピ
ュータプログラムは、複数のCPUノードのうちの1つ
で実行された場合に、 マルチノード・コンピュータ・システムで使用されるM
MIOアドレス空間の総量を決定し、 MMIOアドレス空間範囲レジスタの数に基づいてMM
IOアドレス空間の粒度を決定し、 決定された粒度に基づいて相互接続の範囲レジスタを設
定し、 MMIO装置をサポートするために決定された粒度に基
づいてIOノードを設定し、さらにMMIO装置をサポ
ートするために決定された粒度に基づいてCPUノード
を設定する方法を実行する、コンピュータ可読媒体。 - 【請求項9】 複数のメモリマップト入出力(MMI
O)アドレス空間範囲レジスタを有する相互接続と、 前記相互接続に接続され、各々が少なくとも1つのMM
IO装置を含む複数の入出力(IO)ノードと、 前記相互接続に接続される複数の中央処理装置(CP
U)ノードと、およびMMIOアドレス空間範囲レジス
タの数に基づいて、システムの全MMIO装置をサポー
トするのに必要なMMIOアドレス空間の粒度を決定す
る手段、とを有するコンピュータシステム。 - 【請求項10】 マルチノード・コンピュータ・システ
ムで使用されるMMIOアドレス空間の総量を決定する
手段を更に有する、請求項9に記載のシステム。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US30195501P | 2001-06-29 | 2001-06-29 | |
US60/301955 | 2001-06-29 | ||
US10/122,043 US7213081B2 (en) | 2001-06-29 | 2002-04-11 | Dynamic determination of memory mapped input output range granularity for multi-node computer system |
US10/122043 | 2002-04-11 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2003099388A true JP2003099388A (ja) | 2003-04-04 |
JP4338363B2 JP4338363B2 (ja) | 2009-10-07 |
Family
ID=26820090
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002192029A Expired - Fee Related JP4338363B2 (ja) | 2001-06-29 | 2002-07-01 | マルチノード・コンピュータ・システムのメモリマップト入出力装置をサポートする方法およびコンピュータシステム |
Country Status (2)
Country | Link |
---|---|
US (1) | US7213081B2 (ja) |
JP (1) | JP4338363B2 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2022502743A (ja) * | 2018-09-28 | 2022-01-11 | ロックウェル コリンズ ドイチェラント ゲーエムベーハー | 複数のプロセッサ装置と複数のインターフェースを有するデータ処理装置 |
Families Citing this family (30)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6961761B2 (en) * | 2001-05-17 | 2005-11-01 | Fujitsu Limited | System and method for partitioning a computer system into domains |
US6754776B2 (en) | 2001-05-17 | 2004-06-22 | Fujitsu Limited | Method and system for logical partitioning of cache memory structures in a partitoned computer system |
US7380001B2 (en) * | 2001-05-17 | 2008-05-27 | Fujitsu Limited | Fault containment and error handling in a partitioned system with shared resources |
US6862634B2 (en) | 2001-06-29 | 2005-03-01 | Fujitsu Limited | Mechanism to improve performance in a multi-node computer system |
US6742101B2 (en) * | 2001-06-29 | 2004-05-25 | Fujitsu Limited | Scalable and flexible method for address space decoding in a multiple node computer system |
US7539832B2 (en) * | 2004-08-23 | 2009-05-26 | Hewlett-Packard Development Company, L.P. | Option ROM code acquisition |
US8200918B2 (en) * | 2004-10-01 | 2012-06-12 | International Business Machines Corporation | Tracking ownership of memory in a data processing system through use of a memory monitor |
US7287128B1 (en) | 2005-01-25 | 2007-10-23 | Seagate Technology Llc | Write on reference mesh |
US7533238B2 (en) * | 2005-08-19 | 2009-05-12 | International Business Machines Corporation | Method for limiting the size of a local storage of a processor |
JP2007233534A (ja) * | 2006-02-28 | 2007-09-13 | Toshiba Corp | 情報処理装置およびメモリアドレス空間割り当て方法 |
US7925842B2 (en) | 2007-12-18 | 2011-04-12 | International Business Machines Corporation | Allocating a global shared memory |
US7921261B2 (en) | 2007-12-18 | 2011-04-05 | International Business Machines Corporation | Reserving a global address space |
US8893126B2 (en) * | 2008-02-01 | 2014-11-18 | International Business Machines Corporation | Binding a process to a special purpose processing element having characteristics of a processor |
US8255913B2 (en) * | 2008-02-01 | 2012-08-28 | International Business Machines Corporation | Notification to task of completion of GSM operations by initiator node |
US8239879B2 (en) * | 2008-02-01 | 2012-08-07 | International Business Machines Corporation | Notification by task of completion of GSM operations at target node |
US8484307B2 (en) * | 2008-02-01 | 2013-07-09 | International Business Machines Corporation | Host fabric interface (HFI) to perform global shared memory (GSM) operations |
US7844746B2 (en) * | 2008-02-01 | 2010-11-30 | International Business Machines Corporation | Accessing an effective address and determining whether the effective address is associated with remotely coupled I/O adapters |
US8146094B2 (en) * | 2008-02-01 | 2012-03-27 | International Business Machines Corporation | Guaranteeing delivery of multi-packet GSM messages |
US8214604B2 (en) * | 2008-02-01 | 2012-07-03 | International Business Machines Corporation | Mechanisms to order global shared memory operations |
US8275947B2 (en) * | 2008-02-01 | 2012-09-25 | International Business Machines Corporation | Mechanism to prevent illegal access to task address space by unauthorized tasks |
US8200910B2 (en) * | 2008-02-01 | 2012-06-12 | International Business Machines Corporation | Generating and issuing global shared memory operations via a send FIFO |
US8055805B2 (en) * | 2009-03-31 | 2011-11-08 | Intel Corporation | Opportunistic improvement of MMIO request handling based on target reporting of space requirements |
US8327055B2 (en) * | 2010-04-12 | 2012-12-04 | International Business Machines Corporation | Translating a requester identifier to a chip identifier |
US9176669B2 (en) * | 2013-03-15 | 2015-11-03 | Silicon Graphics International Corp. | Address resource mapping in a shared memory computer system |
US9459905B2 (en) * | 2014-12-16 | 2016-10-04 | International Business Machines Corporation | Implementing dynamic SRIOV virtual function resizing |
US20160250027A1 (en) * | 2015-02-27 | 2016-09-01 | The Curators Of The University Of Missouri | System and method for improved constrained prosthetic acetabulum |
US10572286B2 (en) | 2017-04-26 | 2020-02-25 | International Business Machines Corporation | Memory access optimization in a processor complex |
US10592451B2 (en) | 2017-04-26 | 2020-03-17 | International Business Machines Corporation | Memory access optimization for an I/O adapter in a processor complex |
US11853209B2 (en) * | 2020-06-30 | 2023-12-26 | Lenovo Enterprise Solutions (Singapore) Pte. Ltd. | Shared memory workloads using existing network fabrics |
CN113032148B (zh) * | 2021-03-24 | 2023-07-18 | 山东英信计算机技术有限公司 | 一种mmio资源的设置方法及相关装置 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6011791A (en) * | 1995-11-15 | 2000-01-04 | Hitachi, Ltd. | Multi-processor system and its network |
US6418492B1 (en) * | 1997-05-13 | 2002-07-09 | Micron Electronics | Method for computer implemented hot-swap and hot-add |
US6170025B1 (en) * | 1997-08-29 | 2001-01-02 | Intel Corporation | Distributed computer system supporting remote interrupts and lock mechanism |
US5999743A (en) * | 1997-09-09 | 1999-12-07 | Compaq Computer Corporation | System and method for dynamically allocating accelerated graphics port memory space |
US6314501B1 (en) * | 1998-07-23 | 2001-11-06 | Unisys Corporation | Computer system and method for operating multiple operating systems in different partitions of the computer system and for allowing the different partitions to communicate with one another through shared memory |
GB9909196D0 (en) * | 1999-04-21 | 1999-06-16 | Texas Instruments Ltd | Transfer controller with hub and ports architecture |
US6678271B1 (en) * | 1999-07-12 | 2004-01-13 | Nortel Networks Limited | High performance system and method having a local bus and a global bus |
US6820164B2 (en) * | 2001-04-17 | 2004-11-16 | International Business Machines Corporation | Peripheral component interconnect bus detection in logically partitioned computer system involving authorizing guest operating system to conduct configuration input-output operation with functions of pci devices |
-
2002
- 2002-04-11 US US10/122,043 patent/US7213081B2/en not_active Expired - Fee Related
- 2002-07-01 JP JP2002192029A patent/JP4338363B2/ja not_active Expired - Fee Related
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2022502743A (ja) * | 2018-09-28 | 2022-01-11 | ロックウェル コリンズ ドイチェラント ゲーエムベーハー | 複数のプロセッサ装置と複数のインターフェースを有するデータ処理装置 |
US11392514B2 (en) | 2018-09-28 | 2022-07-19 | Rockwell Collins Deutschland Gmbh | Data processing apparatus having multiple processors and multiple interfaces |
JP7146075B2 (ja) | 2018-09-28 | 2022-10-03 | ロックウェル コリンズ ドイチェラント ゲーエムベーハー | 複数のプロセッサ装置と複数のインターフェースを有するデータ処理装置 |
Also Published As
Publication number | Publication date |
---|---|
US20030005070A1 (en) | 2003-01-02 |
US7213081B2 (en) | 2007-05-01 |
JP4338363B2 (ja) | 2009-10-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2003099388A (ja) | マルチノード・コンピュータ・システムのメモリマップト入出力装置をサポートする方法およびコンピュータシステム | |
US7661107B1 (en) | Method and apparatus for dynamic allocation of processing resources | |
CN107690622B9 (zh) | 实现硬件加速处理的方法、设备和系统 | |
Raveendran et al. | A framework for elastic execution of existing mpi programs | |
JP2010244563A (ja) | グラフに基づく計算の実行方法、当該方法を実行させる命令を格納するコンピュータ可読記憶媒体、並びに当該方法を実行するためのシステム | |
JP2013544411A (ja) | 処理クラスタ用の共有機能メモリ回路要素 | |
US20160299874A1 (en) | Shared memory eigensolver | |
Wigley et al. | The first real operating system for reconfigurable computers | |
US8615770B1 (en) | System and method for dynamically spawning thread blocks within multi-threaded processing systems | |
JPH1011289A (ja) | 並列処理プロセッサにおける命令数拡張方法および並列処理プロセッサ | |
CN112035397A (zh) | 包括fpga的电子系统及其操作方法 | |
KR100694212B1 (ko) | 다중-프로세서 구조에서 데이터 처리 수행성능을증가시키기 위한 분산 운영 시스템 및 그 방법 | |
CN112955880B (zh) | 用于处理片上系统中的地址解码的装置和方法 | |
JP2002196960A (ja) | ファイル入出力制御方法、ファイル管理サーバ及び並列計算機システム | |
JP2001043180A (ja) | マイクロプロセッサおよびそのための記憶装置 | |
WO2014063329A1 (zh) | 共享闪存的方法、控制器及系统 | |
US8959497B1 (en) | System and method for dynamically spawning thread blocks within multi-threaded processing systems | |
US9176669B2 (en) | Address resource mapping in a shared memory computer system | |
JP7225904B2 (ja) | ベクトル演算処理装置、ベクトル演算処理装置による配列変数初期化方法、及び、ベクトル演算処理装置による配列変数初期化プログラム | |
JP5058116B2 (ja) | ストリーミングidメソッドによるdmac発行メカニズム | |
JP2002007213A (ja) | キャッシュメモリ制御方法及びプログラム処理方法 | |
US6832304B2 (en) | System, method and computer program product for mapping system memory in a multiple node information handling system | |
CN113094099A (zh) | 矩阵数据广播架构 | |
JP3278457B2 (ja) | プログラム実行制御装置及びプログラム実行制御方法 | |
KR102149153B1 (ko) | 이종 메모리를 활용한 범용 gpu에서의 페이징 방법 및 장치 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050606 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20070702 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070717 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070918 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080610 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080811 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20090602 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20090630 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120710 Year of fee payment: 3 |
|
LAPS | Cancellation because of no payment of annual fees |