(57)【要約】  (1) パーティションID識別手段と、(2) 複数のシステムボードモジュールのうちのひとつのシステムボードモジュールが属するパーティションと、それ以外のシステムボードモジュールのそれぞれが属するパーティションとが一致しているかを、少なくとも一通りのシステムボードモジュールの組み合わせについてそれぞれ検出する、パーティションID一致検出手段と、(3) パーティションID識別手段の判別結果と、パーティションID一致検出手段の検出結果とに基づき、複数のクロスバユニットのうちの二つのクロスバユニットとの間で競合するパーティションの組み合わせを、少なくとも一通りの二つのクロスバユニットの組み合わせについて検出する、クロスバユニット間競合パーティション検出手段とを含むパーティションプライオリティ制御装置を提供する。
2007099618.tif 000002
【特許請求の範囲】
【請求項１】
複数のパーティションに分割された複数のシステムボードモジュールと、複数のクロスバユニットと、前記複数のクロスバユニットのうちの二つの組み合わせを相互接続するバス装置とを含み、且つ、前記複数のクロスバユニットのそれぞれが前記複数のシステムボードモジュールのうちの少なくともひとつに接続しているような前記コンピュータシステムにおいて、前記バス装置を使用する前記複数のパーティションのプライオリティを制御する、パーティションプライオリティ制御装置であって、
前記複数のシステムボードモジュールのうちのひとつのシステムボードモジュールが属するパーティションと、それ以外のシステムボードモジュールのそれぞれが属するパーティションとが一致しているかを、検出するパーティション一致検出手段と、
前記パーティション一致検出手段の検出結果に基づき、前記複数のクロスバユニットの間で競合するパーティションの組み合わせを、検出するクロスバユニット間競合パーティション検出手段とを含むことを特徴とする、パーティションプライオリティ制御装置。
【請求項２】
前記クロスバユニット間競合パーティション検出手段が、
前記バスで接続された二つのクロスバユニット間で、前記同一パーティションに属していない二つのシステムボードモジュールの組み合わせを競合であると判定する、二クロスバユニット間競合パーティション検出手段
を含むことを特徴とする、請求項２記載のパーティションプライオリティ制御装置。
【請求項３】
前記クロスバユニット間競合パーティション検出手段が、
三つ以上のクロスバユニットが存在しているときに、第１と第２のクロスバユニット間で第１と第２のパーティションが競合し、第１と第３のクロスバユニット間で第２と第３のパーティションが競合する時、第１と第３のパーティションを競合すると判断する多クロスバユニット間競合パーティション検出手段
を含むことを特徴とする、請求項１あるいは２記載のパーティションプライオリティ制御装置。
【請求項４】
複数のパーティションに分割された複数のシステムボードモジュールと、複数のクロスバユニットと、前記複数のクロスバユニットのうちの二つの組み合わせを相互接続するバス装置とを含み、且つ、前記複数のクロスバユニットのそれぞれが前記複数のシステムボードモジュールのうちの少なくともひとつに接続しているような前記コンピュータシステムにおいて、前記バス装置を使用する前記複数のパーティションのプライオリティを制御する、パーティションプライオリティ制御装置であって、
前記複数のシステムボードモジュールのそれぞれがどのパーティションに属するかを判別する、パーティションID識別手段と、
前記パーティションID識別手段に接続されており、前記パーティションID識別手段の判別結果に基づき、前記複数のシステムボードモジュールのうちのひとつのシステムボードモジュールが属するパーティションと、それ以外のシステムボードモジュールのそれぞれが属するパーティションとが一致しているかを、少なくとも一通りの前記システムボードモジュールの組み合わせについてそれぞれ検出する、パーティションID一致検出手段と、
前記パーティションID一致検出手段に接続されており、前記パーティションID識別手段の判別結果と、前記パーティションID一致検出手段の検出結果とに基づき、前記複数のクロスバユニットのうちの二つのクロスバユニットとの間で競合するパーティションの組み合わせを、少なくとも一通りの前記二つのクロスバユニットの組み合わせについて検出する、クロスバユニット間競合パーティション検出手段とを
含むことを特徴とする、パーティションプライオリティ制御装置。
【請求項５】
前記クロスバユニット間競合パーティション検出手段が、
前記複数のクロスバユニットのうち、複数のシステムボードモジュールに接続しているクロスバユニットが存在しているときに、前記複数のシステムボードモジュールに接続しているクロスバユニットに、接続されているシステムボードモジュールのうちの、前記パーティションID識別手段の判別結果に鑑みて同一パーティションに属していない二つのシステムボードモジュールの少なくとも一通りの組み合わせについて、前記同一パーティションに属していない二つのシステムボードモジュールのそれぞれが、前記複数のシステムボードモジュールに接続しているクロスバユニットとは異なるクロスバユニットに接続されたシステムボードモジュールと同一パーティションに属するとき、前記同一パーティションに属していない二つのシステムボードモジュールの組み合わせを直接競合であると判定する、二クロスバユニット間直接競合パーティション検出手段
を含むことを特徴とする、請求項４記載のパーティションプライオリティ制御装置。
【請求項６】
前記クロスバユニット間競合パーティション検出手段が、
前記複数のクロスバユニットのうち、三つ以上のシステムボードモジュールに接続されているクロスバユニットが存在しているときに、前記三つ以上のシステムボードモジュールに接続されているクロスバユニットに接続されたシステムボードモジュールのうちの、前記パーティションID識別手段の判別結果に鑑みて同一パーティションに属していない少なくとも三つのシステムボードモジュールの少なくとも一通りの組み合わせについて、前記同一パーティションに属していない少なくとも三つのシステムボードモジュールのうちの二つのシステムボードモジュールが前記二クロスバユニット間直接競合パーティション検出手段によってひとつのクロスバユニットを介して直接競合していると判定された場合に、前記同一パーティションに属していない少なくとも三つのシステムボードモジュールのうちの前記二つのシステムボードモジュールのうちの少なくとも一方が、前記同一パーティションに属していない少なくとも三つのシステムボードモジュールのうちの前記二つのシステムボードモジュール以外のいずれかのシステムボードモジュールと、前記ひとつのクロスバユニットとは別のクロスバユニットを介して直接競合であると前記二クロスバユニット間直接競合パーティション検出手段によって判定されたときに、前記同一パーティションに属していない少なくとも三つのシステムボードモジュールの組み合わせを間接競合であると判定する、多クロスバユニット間間接競合パーティション検出手段
をさらに含むことを特徴とする、請求項４記載のパーティションプライオリティ制御装置。
【請求項７】
複数のクロスバユニットの個数が四である前記コンピュータシステムに対して使用されることを特徴とする、請求項４，５あるいは６に記載のパーティションプライオリティ制御装置。
【請求項８】
複数のクロスバユニットの個数が五以上である前記コンピュータシステムに対して使用されることを特徴とする、請求項４，５もしくは６に記載のパーティションプライオリティ制御装置。
【請求項９】
p個のパーティションに分割されたn個のシステムボードモジュールと、m個のクロスバユニットと、前記m個のクロスバユニットのうちの二つの組み合わせを相互接続するバス装置とを含むコンピュータシステムであって（ここで、m, n はそれぞれ独立な2以上の整数、 p は自然数である）、前記m個のクロスバユニットをそれぞれ XB#0, XB#1, ……, XB#m-1 と称するとき、それぞれの XB#k が、 SB#{k,0}, SB#{k,1}, ……, SB#{k,f(k)} とそれぞれ称される f(k)個のシステムボードモジュールに接続されている（ここで、k は0以上m-1以下である任意の整数であり、また
【数１】
2007099618.tif 000007
である）ような前記コンピュータシステムにおいて、前記バス装置を使用するパーティションのプライオリティを制御する、パーティションプライオリティ制御装置であって、
前記n個のシステムボードモジュールのそれぞれがどのパーティションに属するかを判別する、パーティションID識別手段と、
前記パーティションID識別手段の判別結果に基づき、前記n個のシステムボードモジュールのうちのひとつのシステムボードモジュールが属するパーティションと、それ以外のシステムボードモジュールのそれぞれが属するパーティションとが一致しているかをそれぞれ検出する、パーティションID一致検出手段と、
前記パーティションID識別手段の判別結果と、前記パーティションID一致検出手段の検出結果とに基づき、 XB#i と XB#j との間で競合するパーティションの組み合わせを検出する（ここで、文中の i, j は、それぞれ独立に、0以上m-1以下の任意の整数である）、クロスバユニット間競合パーティション検出手段とを
含むことを特徴とする、パーティションプライオリティ制御装置。
【請求項１０】
前記クロスバユニット間競合パーティション検出手段が、
前記m個のクロスバユニットのうちの、 f(i) ≧ 2 であるような XB#i が含む f(i) 個のシステムボードモジュールのうちの二つのシステムボードモジュール SB#{i,x},  SB#{i,y} が（ここで、x, y は、それぞれ独立に、 0 以上 f(i) 以下の整数である）、前記パーティションID識別手段の判別結果に鑑みて同一パーティションに属していないときに、 SB#{i,x}, SB#{i,y} の少なくとも一通りの組み合わせについて、 SB#{i,x} もしくは SB#{i,y} が XB#i 以外のクロスバユニット XB#a に含まれるシステムボードモジュールと同一パーティションに属するとき、この SB#{i,x}, SB#{i,y} の組み合わせが XB#a を介した直接競合をしていると判定する、二クロスバユニット間直接競合パーティション検出手段
を含むことを特徴とする、請求項９に記載のパーティションプライオリティ制御装置。（ここで、a は i と等しくない、0以上m-1以下の任意の整数である）
【請求項１１】
前記クロスバユニット間競合パーティション検出手段が、
前記m個のクロスバユニットのうちの、 f(i) ≧ 3 であるような XB#i が含む f(i) 個のシステムボードモジュールのうちの少なくとも三つのシステムボードモジュールの組み合わせ SB#{i,x}, SB#{i,y}, SB#{i,z}, … （ここで、x, y, z は、それぞれ独立に、 0 以上 f(i) 以下の整数である）において、前記二クロスバユニット間直接競合パーティション検出手段によって SB#{i,x}, SB#{i,y} が XB#a を介して直接競合していると判定された場合に、前記システムボードモジュールの組み合わせ SB#{i,x}, SB{i,y}, SB{i,z}, … のうちの SB#{i,x}, SB#{i,y} 以外のシステムモジュールのうちのいずれかが、前記m個のクロスバユニットのうちの、XB#i もしくは XB#a とは異なるクロスバユニット XB#b を介して直接競合していると前記二クロスバユニット間直接競合パーティション検出手段によって判定されたときに、前記システムボードモジュールの組み合わせ SB#{i,x}, SB#{i,y}, SB#{i,z}, … が XB#i - XB#a 間および XB#i - XB#b 間を介した間接競合であると判定する、多クロスバユニット間間接競合パーティション検出手段
をさらに含むことを特徴とする、請求項９のいずれか一項に記載のパーティションプライオリティ制御装置。
【請求項１２】
複数のパーティションに分割された複数のシステムボードモジュールと、複数のクロスバユニットと、前記複数のクロスバユニットのうちの二つの組み合わせを相互接続するバス装置とを含み、且つ、前記複数のクロスバユニットのそれぞれが前記複数のシステムボードモジュールのうちの少なくともひとつに接続しているような前記コンピュータシステムに対して、前記バス装置を使用する前記複数のパーティションのプライオリティを制御する、パーティションプライオリティ制御方法であって、
前記複数のシステムボードモジュールのうちのひとつのシステムボードモジュールが属するパーティションと、それ以外のシステムボードモジュールのそれぞれが属するパーティションとが一致しているかを、検出するパーティション一致検出ステップと、
前記パーティション一致検出ステップの検出結果に基づき、前記複数のクロスバユニットの間で競合するパーティションの組み合わせを、検出するクロスバユニット間競合パーティション検出ステップとを含むことを特徴とする、パーティションプライオリティ制御方法。
【請求項１３】
前記クロスバユニット間競合パーティション検出ステップが、
前記バスで接続された二つのクロスバユニット間で、前記同一パーティションに属していない二つのシステムボードモジュールの組み合わせを競合であると判定する、二クロスバユニット間競合パーティション検出ステップ
を含むことを特徴とする、請求項１２記載のパーティションプライオリティ制御方法。
【請求項１４】
前記クロスバユニット間競合パーティション検出ステップが、
三つ以上のクロスバユニットが存在しているときに、第１と第２のクロスバユニット間で第１と第２のパーティションが競合し、第１と第３のクロスバユニット間で第２と第３のパーティションが競合する時、第１と第３のパーティションを競合すると判断する多クロスバユニット間競合パーティション検出ステップ
を含むことを特徴とする、請求項１２あるいは１３記載のパーティションプライオリティ制御方法。
【請求項１５】
複数のパーティションに分割された複数のシステムボードモジュールと、複数のクロスバユニットと、前記複数のクロスバユニットのうちの二つを、前記クロスバユニットのうちの二つの組み合わせを相互接続するバス装置とを含むコンピュータシステムであって、前記複数のクロスバユニットが前記複数のシステムボードモジュールのうちの少なくともひとつを含み管理しているような前記コンピュータシステムにおいて、
パーティションID識別手段が、前記複数のシステムボードモジュールのそれぞれがどのパーティションに属するかを判別するステップと、
パーティションID一致検出手段が、前記パーティションID識別手段の判別結果に基づき、前記複数のシステムボードモジュールのうちのひとつのシステムボードモジュールが属するパーティションと、それ以外のシステムボードモジュールのそれぞれが属するパーティションとが一致しているかを、少なくとも一通りの前記システムボードモジュールの組み合わせについてそれぞれ検出するステップと、
前記複数のクロスバユニットのうち、システムボードモジュールを複数含んでいるクロスバユニットが存在しているときに、前記システムボードモジュールを複数含んでいるクロスバユニットが含むシステムボードモジュールのうちの、前記パーティションID識別手段の判別結果に鑑みて同一パーティションに属していない二つのシステムボードモジュールの少なくとも一通りの組み合わせについて、前記同一パーティションに属していない二つのシステムボードモジュールのそれぞれが、前記システムボードモジュールを複数含んでいるクロスバユニットとは異なるクロスバユニットに含まれるシステムボードモジュールと同一パーティションに属するとき、前記同一パーティションに属していない二つのシステムボードモジュールの組み合わせを直接競合であると判定するステップと、
前記複数のクロスバユニットのうち、システムボードモジュールを三つ以上含んでいるクロスバユニットが存在しているときに、前記システムボードモジュールを三つ以上含んでいるクロスバユニットが含むシステムボードモジュールのうちの、前記パーティションID識別手段の判別結果に鑑みて同一パーティションに属していない少なくとも三つのシステムボードモジュールの少なくとも一通りの組み合わせについて、前記同一パーティションに属していない少なくとも三つのシステムボードモジュールのうちの二つのシステムボードモジュールが前記二クロスバユニット間直接競合パーティション検出手段によってひとつのクロスバユニットを介して直接競合していると判定された場合に、前記同一パーティションに属していない少なくとも三つのシステムボードモジュールのうちの前記二つのシステムボードモジュールのうちの少なくとも一方が、前記同一パーティションに属していない少なくとも三つのシステムボードモジュールのうちの前記二つのシステムボードモジュール以外のいずれかのシステムボードモジュールと、前記ひとつのクロスバユニットとは別のクロスバユニットを介して直接競合であると前記二クロスバユニット間直接競合パーティション検出手段によって判定されたときに、前記同一パーティションに属していない少なくとも三つのシステムボードモジュールの組み合わせを間接競合であると判定するステップとを
含むことを特徴とする、パーティションプライオリティ制御方法。
【請求項１６】
複数のモジュールと、
それぞれ前記複数のモジュールのうち少なくとも一つに接続されるとともに、バス装置を介して相互に接続される複数のクロスバユニットと、
前記複数のクロスバユニットに含まれる第一のクロスバユニットに接続される、前記複数のモジュールに含まれる第一のモジュールが属するパーティションと、前記複数のクロスバユニットに含まれる第二のクロスバユニットに接続される、前記複数のモジュールに含まれる第二のモジュールが属するパーティションとの対応関係を識別する識別手段と、
前記第一のモジュールが属するパーティションと、前記第二のモジュールが属するパーティションとが一致するか否かに応じて、前記複数のクロスバユニットの間で競合しているパーティションの組み合わせを検出する検出手段と、
を備えることを特徴とする、情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、パーティション構成を可能とするコンピュータシステムに関し、特にシステムボードモジュールの間を相互接続してパケットによる情報を伝送するクロスバモジュールに関する。
【背景技術】
【０００２】
大規模サーバシステムでは、一台のサーバのCPUやメモリなどの計算機資源を複数のグループ（以下、パーティションと呼ぶ）に分割することができる。各パーティションでは、独立してシステムを起動したり停止することができ、各パーティションは全く独立した一台のサーバ機と考えて、システムの運用を行うことができる。各パーティション内で同期的に情報を伝送（Broadcast）する機能においても、その同期伝送範囲はパーティション内に限定され、あるパーティションが他のパーティションの動作に影響を及ぼすことはない。【０００３】
特に、複数のシステムボードモジュール（CPUやメモリ等を搭載した、システム拡張単位モジュールの一種; 以下、SBと略記する）のそれぞれを、複数のパーティションに分けた上で、さらにシステムボードモジュールのいくつかをクロスバモジュールユニット（以下、XBユニットと略記する）が相互接続して管理し、パケットのBroadcastを行うということがある。この場合、各XBユニット間はバス装置で相互接続されることになる。各パーティションは単独のXBユニットにだけ属するとは限らず、複数のXBユニットに分散して属することがある。このため、複数XBユニットを跨いでいるパーティションにBroadcastする場合には、XBユニット間バス装置を使用して行う必要が生じる。しかしながら、コスト面の問題等によって、通常はXBユニット間バス装置を各パーティションごとに資源確保することは難しいために、XBユニット間バス装置の使用にあたっては、競合するパーティションを認識して制御する手法が必要となってくることになる。【０００４】
従来は、上述したXBユニット間バス装置を使用する可能性のあるパーティション（システム構成により一意に決まる）の全てを固定的に競合プライオリティ制御している（競合固定プライオリティ方式）。
【発明の開示】
【０００５】
上述したような従来技術に係る競合固定プライオリティ方式では、XBユニット間バス装置未使用のパーティションも競合に含まれているために、XBユニット間バス装置の使用率が低下するという問題があった。また、XBユニット間バス装置を各パーティションごとに資源確保する必要が無い、XBユニット間バス装置にかかるコストを抑えたシステムであって、且つ、極端な性能低下を招かないシステムを実現可能とする手法も求められてきた。
【０００６】
本発明に係るパーティションプライオリティ制御装置は、
複数のパーティションに分割された複数のシステムボードモジュールと、複数のクロスバユニットと、前記複数のクロスバユニットのうちの二つの組み合わせを相互接続するバス装置とを含み、且つ、前記複数のクロスバユニットのそれぞれが前記複数のシステムボードモジュールのうちの少なくともひとつに接続しているような前記コンピュータシステムにおいて、前記バス装置を使用する前記複数のパーティションのプライオリティを制御する、パーティションプライオリティ制御装置であって、
前記複数のシステムボードモジュールのそれぞれがどのパーティションに属するかを判別する、パーティションID識別手段と、
前記パーティションID識別手段に接続されており、前記パーティションID識別手段の判別結果に基づき、前記複数のシステムボードモジュールのうちのひとつのシステムボードモジュールが属するパーティションと、それ以外のシステムボードモジュールのそれぞれが属するパーティションとが一致しているかを、少なくとも一通りの前記システムボードモジュールの組み合わせについてそれぞれ検出する、パーティションID一致検出手段と、
前記パーティションID一致検出手段に接続されており、前記パーティションID識別手段の判別結果と、前記パーティションID一致検出手段の検出結果とに基づき、前記複数のクロスバユニットのうちの二つのクロスバユニットとの間で競合するパーティションの組み合わせを、少なくとも一通りの前記二つのクロスバユニットの組み合わせについて検出する、クロスバユニット間競合パーティション検出手段とを
含むことを特徴とする、パーティションプライオリティ制御装置である。
【０００７】
また、本発明は、複数のパーティションに分割された複数のシステムボードモジュールと、複数のクロスバユニットと、前記複数のクロスバユニットのうちの二つを、前記クロスバユニットのうちの二つの組み合わせを相互接続するバス装置とを含むコンピュータシステムであって、前記複数のクロスバユニットが前記複数のシステムボードモジュールのうちの少なくともひとつを含み管理しているような前記コンピュータシステムにおいて、
パーティションID識別手段が、前記複数のシステムボードモジュールのそれぞれがどのパーティションに属するかを判別するステップと、
パーティションID一致検出手段が、前記パーティションID識別手段の判別結果に基づき、前記複数のシステムボードモジュールのうちのひとつのシステムボードモジュールが属するパーティションと、それ以外のシステムボードモジュールのそれぞれが属するパーティションとが一致しているかを、少なくとも一通りの前記システムボードモジュールの組み合わせについてそれぞれ検出するステップと、
二クロスバユニット間直接競合パーティション検出手段が、前記複数のクロスバユニットのうち、システムボードモジュールを複数含んでいるクロスバユニットが存在しているときに、前記システムボードモジュールを複数含んでいるクロスバユニットが含むシステムボードモジュールのうちの、前記パーティションID識別手段の判別結果に鑑みて同一パーティションに属していない二つのシステムボードモジュールの少なくとも一通りの組み合わせについて、前記同一パーティションに属していない二つのシステムボードモジュールのそれぞれが、前記システムボードモジュールを複数含んでいるクロスバユニットとは異なるクロスバユニットに含まれるシステムボードモジュールと同一パーティションに属するとき、前記同一パーティションに属していない二つのシステムボードモジュールの組み合わせを直接競合であると判定するステップと、
多クロスバユニット間間接競合パーティション検出手段が、前記複数のクロスバユニットのうち、システムボードモジュールを三つ以上含んでいるクロスバユニットが存在しているときに、前記システムボードモジュールを三つ以上含んでいるクロスバユニットが含むシステムボードモジュールのうちの、前記パーティションID識別手段の判別結果に鑑みて同一パーティションに属していない少なくとも三つのシステムボードモジュールの少なくとも一通りの組み合わせについて、前記同一パーティションに属していない少なくとも三つのシステムボードモジュールのうちの二つのシステムボードモジュールが前記二クロスバユニット間直接競合パーティション検出手段によってひとつのクロスバユニットを介して直接競合していると判定された場合に、前記同一パーティションに属していない少なくとも三つのシステムボードモジュールのうちの前記二つのシステムボードモジュールのうちの少なくとも一方が、前記同一パーティションに属していない少なくとも三つのシステムボードモジュールのうちの前記二つのシステムボードモジュール以外のいずれかのシステムボードモジュールと、前記ひとつのクロスバユニットとは別のクロスバユニットを介して直接競合であると前記二クロスバユニット間直接競合パーティション検出手段によって判定されたときに、前記同一パーティションに属していない少なくとも三つのシステムボードモジュールの組み合わせを間接競合であると判定するステップとを
含むことを特徴とする、パーティションプライオリティ制御方法も提供する。
【０００８】
本発明に係るパーティションプライオリティ制御装置および方法を使用することによって、XBユニット間バス装置の使用率を向上させることができ、且つ、XBユニット間バス装置にかけるコストを抑えつつ、極端な性能低下を招かないシステムを実現可能とする。
【図面の簡単な説明】
【０００９】
【図１】図１は、本発明の原理を説明するためのパーティション構成を示す概要図である。
【図２】図２は、本発明に係る装置の構成を示す概略図である。
【図３】図３は、本発明に係る装置が検出することができる直接競合の例を説明するための概念図である。
【図４】図４は、本発明に係る装置が検出することができる一次的な間接競合の例を説明するための概念図である。
【図５】図５は、本発明に係る装置が検出することができる二次的な間接競合の例を説明するための概念図である。
【図６】図６は、本発明の実施形態１の構成を説明する概略図である。
【図７】図７は、本発明の実施形態２の構成を説明する概略図である。
【図８】図８は、本発明の実施形態２に係る装置の回路を説明する図である。
【発明を実施するための最良の形態】
【００１０】
以下、本発明のパーティションプライオリティ制御装置を実施の形態および図面に基づいて詳細に説明するが、これは本発明を何ら限定するものではない。なお、以下の説明においては、或るXBユニットに接続している或るSBのことを述べるときに、「或るXBに属するSB」と言う表現を用いることがある。また、或るパーティションに分けられている或るSBのことを述べるときに、「或るパーティションに属するSB」と言う表現を用いることがある。また、或る番号sが振られたXBユニットのことを「XB#s」と略記する。また、XB#sに属しており且つ或る番号tが振られたSBのことを「SB#{s,t}」と略記する。また、或るXB#sとXB#uとを接続するXBユニット間バス装置のことを、BUS#{s_u}とも略記する。また、或るID: w が振られたパーティションのことを、PAR#wとも略記する（ここで用いた文字 s, t, u, w は例示のための文字であって、実際に使用される数の条件は後述の説明に準じて理解されたい）。【００１１】
図１は、本発明に係る実施形態１における、パーティション構成認識機構を説明する概略図である。ここでは、一般の場合としてXBユニットがm個、SBがn個存在している（ m, n は自然数である）。なお、ここでは図として示すための都合上、mが4以上になっているが、これは本発明を限定するものではない。それぞれのXBユニットは、 XB #0, XB #1,  … , XB #m-1 と称する。 k番目のXBユニット XB #k （kは自然数、且つ 1≦k≦m ）は、 f(k) 個のSBに接続しており、ここで【００１２】
【数１】
2007099618.tif 000003
である。なお、ここでは説明を簡便にするためにそれぞれのXBユニットが他のすべてのXBユニットと総計 mC2 個のXB間バス装置で組み合わせが重複することなく接続されているものとするが、本発明はこれに限定されない。【００１３】
図１では代表としてXBユニット#0 １００ 、XBユニット#1 １１０ 、XBユニット#m-2 １２０ 、XBユニット#m-1 １３０ を記載している。図１中の白抜き矢印は、クロスバユニット間バス装置 １５０, １５１, １５２, １５３, １５４, １５５である。前述したように、このクロスバユニット間バス装置の数は図を描く上での便宜上のものであって、単なる例であり、本発明を限定するものではない。また、図１のそれぞれのXBユニットはSBに接続されている。ここでは例としてXBユニット#0 １００ がSB#{0,0} １０１ 、SB#{0,1} １０２ 、SB#{0,2} １０３ 、SB#{0,3} １０４ （および、図では省略して示していないさらなるSB）に接続されており、そのSBの数の総計が f(0) 個である。ここで、SBの番号を示すブレース内の数字は、第一の数がSBが接続されているXBユニットの番号であってここでは0以上m以下の整数となり、また、第二の数がそのXBユニットに接続しているSBに対して順番に割り振られた番号であってここでは0以上 f(k) 以下の整数となる。また、その他のクロスバユニット １１０, １２０, １３０ についても同様である。これらのSBは、p個のパーティション（ p は自然数である）に分類され、ここでは例としてパーティションID: A, B, C, D, E, … に分けられている。なお、図では便宜上パーティションIDはA〜Eまでしか表記していないが、これは本発明を限定するものではない。また、図１中の黒棒矢印はXBユニット間バスの使用を巡って競合するSBの存在を示している。この競合を検出する機構の詳細については、以下に改めて後述する。【００１４】
図２は、本発明に係るパーティションプライオリティ制御装置の構成を示す概略図である。本発明に係る装置は、パーティションID識別手段 ２００ と、パーティションID一致検出手段 ２１０ と、クロスバユニット間競合パーティション検出手段 ２２０ とを含む。本発明に係る装置は、図１に示したような構成を有するシステムに接続される。具体的には本発明のパーティションプライオリティ制御装置はXBユニット内にそれぞれ設けられる。【００１５】
パーティションID識別手段 ２００ は、前述のシステムの構成のうち、それぞれのSBが属するパーティションIDを識別する。
パーティションID一致検出手段 ２１０ は、パーティションID識別手段 ２００ の識別結果を承けて、例えばパーティションIDマッチングテーブルを用いることによって、或るSBの属するパーティションIDが、他のSBの属するパーティションIDと一致するかどうかを検出することができる。【００１６】
前述したパーティションIDマッチングテーブルの例を表１に示す。この表１は、各XBユニットが4個ずつのSBに接続している場合の、XB#0についてのものの一部だけを抜粋した例である。【００１７】
【表１】
2007099618.tif 000004
ここで、表１の中央の矢印の左側の列は、等号で結ばれた左辺の変数と、右辺の変数とが等しいかどうかを判定することを意味する。例を挙げて説明すると、左辺の変数 "XB0_SB0_ID" は、「XB#0に属するSB#{0,0}が、属するパーティションのID」を示す値を格納する。図１の例で言うと、 XB0_SB0_ID は A を示す値となる。或る実施形態においては、この値を任意のビットで公知技術に係る方法によって表現することができる。表１の左の列は、この左辺の変数と、右辺の変数（定義は左辺の変数と同様である）とが一致するかどうかを判定することを意味している。【００１８】
また、表１の中央の矢印の右側の列は、検出結果として出力する変数を示している。例を挙げて説明すると、左辺の変数 "XB00_SB00_ID_MCH" は、「XB#0に属するSB#{0,0}の属するパーティションIDと、XB#0に属するSB#{0,0}の属するパーティションIDとが一致するときに真である変数」である（この場合には、自身との比較であるので必ず真である）。一般の場合として上述の条件に適合するような整数 a, b, c, d を用いた汎用例を挙げると、 "XBab_SBcd_ID_MCH" は、「XB#aに属するSB#{a,c}の属するパーティションIDと、XB#bに属するSB#{b,d}の属するパーティションIDとが一致するときに真である変数」のことである。例えば、真であるときには "1" 、偽であるときには "0" とビットを立てることができる（以下の説明においてもこれに準じて理解されたい）。右辺の矢印三つに囲まれた"or"は、左辺の四つの変数（例えば、表１の一番上のカラムでは、 "XB00_SB00_ID_MCH", "XB00_SB01_ID_MCH", "XB00_SB02_ID_MCH", "XB00_SB03_ID_MCH" の四つのことである）のうちの少なくともひとつが真であるときに、右辺の変数 "XB00_SB0_ID_MCH" が真となる、ということを意味する。つまり、この右辺の変数 "XB00_SB0_ID_MCH" は、「XB#0に属するSB#{0,0}が、XB#0に属するいずれかのSBとパーティションが同一であるときに真である変数」である（この場合には、自身との比較であるので必ず真である）。一般の場合として上述の条件に適合するような整数 a, b, c を用いた例を挙げると、 "XBab_SBc_ID_MCH" は、「XB#aに属するSB#{a,c}の属するパーティションIDと、XB#bに属するいずれかのSBの属するパーティションIDとが一致するときに真である変数」のことである。【００１９】
以上に述べたようなパーティションIDマッチングテーブルを例えば用いることによって、パーティションID一致検出手段 ２１０ は、或るXBユニットに属するSBのうちのひとつのSBが属するパーティションと、それ以外のSBのそれぞれが属するパーティションとが一致しているかを、少なくとも一通りの組み合わせについて、それぞれ検出することができる。【００２０】
クロスバユニット間競合パーティション検出手段 ２２０ は、XBユニット間バスの使用を巡るパーティションの競合を検出し判定する。なお、パーティションが競合するのは、Broadcastによってパーティションを構成するすべてのSBに同期してパケット等による情報を送信する必要があるためであり、その詳細については後述する。【００２１】
例えば、XBユニット間バスの使用を巡るパーティションの競合としては、「直接競合」と「間接競合」の二種類に大別することができる。
ここで、「直接競合」とは、或るひとつのXBユニット間バスを介して構成される複数のパーティションが存在し、そのひとつのXBユニット間バスの使用を巡ってその複数のパーティションが競合していることを意味する。図１の例を使って説明すると、パーティションIDがAであるSB#{0,0} １０１ は、SB#{0,1} １０２ 、SB#{1,0} １１１ およびSB#{1,1} １１２ と同一のパーティションIDを有している。このうち、SB#{0,0} １０１ とSB#{0,1} １０２ について、とは同一XBユニットに属しているので、ここでの説明では一旦無視する（処理上は、XB#0とXB#0とが直接競合する扱いにはなるが、説明の上では混乱を避けるために無視するということである）。扨、SB#{0,0} １０１ と、SB#{1,0} １１１ およびSB#{1,1} １１２ は同一パーティションであるので、XB#0とXB#1とを接続するバス装置 BUS#{0_1} １５０ を介してパーティションを構成していることになる。次に、パーティションIDがBであるSB#{0,2} １０３ は、SB#{1,2} １１３ 、SB#{1,0} １１４ およびSB#{m-2,0} １２１ と同一のパーティションIDを有しているので、BUS#{0_1} １５０ およびBUS#{0_m-2} １５１ を介してパーティションを構成していることになる。したがって、 PAR#A と PAR#B とは、BUS#{0_1} １５０ を共有することになるため、このことを指して「 PAR#A と PAR#B とが（BUS#{0_1} １５０ を介して）直接競合している」と判定されることになる。これを前述の変数式で表すと、例えば、 "((XB01_SB0_ID_MCH ・ XB01_SB1_ID_MCH) + (XB02_SB0_ID_MCH ・ XB02_SB1_ID_MCH) + (XB03_SB0_ID_MCH ・XB03_SB1_ID_MCH))" となる。これは、「SB#{0,0}とXB#1に属するいずれかのSBとが同一パーティションに属しており、且つ、SB#{0,1}とXB#1に属するいずれかのSBとが同一パーティションに属しているか、あるいは、SB#{0,0}とXB#2に属するいずれかのSBとが同一パーティションに属しており、且つ、SB#{0,1}とXB#2に属するいずれかのSBとが同一パーティションに属しているか、あるいは、SB#{0,0}とXB#3に属するいずれかのSBとが同一パーティションに属しており、且つ、SB#{0,1}とXB#3に属するいずれかのSBとが同一パーティションに属しているときに真」である（ここで、式中の + は論理式の "or" を、 ・ は論理式の "and" を意味している。以下の説明においてもこれに準じる）。【００２２】
また、「間接競合」とは、或る二つのパーティションが、いずれかのひとつもしくは複数のXBユニットを間接的に介して競合することを意味する。以下、図１を例としてより具体的に説明する。まず、 PAR#A と PAR#C とは、直接競合をしていない組み合わせである。XB#0 １００ について考えると、PAR#Aに属するSB#{0,0} １０１ と、PAR#Cに属するSB#{0,3} １０４ のいずれとも異なるパーティション PAR#B に属しているSB#{0,2} １０３ がXB#0 １００ には接続されている。先に述べたように、このPAR#BはPAR#Aと直接競合の関係にあり、且つ、PAR#BはPAR#Cとも直接競合の関係にある。したがって、このような場合、PAR#AとPAR#Cとは、PAR#Bを介して間接的に競合していることになる。さらに具体的に言えば、BUS#{0_1} １５０ を介して直接競合するPAR#AとPAR#B、ならびにBUS#{0_m-2} １５１ を介して直接競合するPAR#BとPAR#Cがあるために、PAR#AとPAR#Cとは、BUS#{0_1} １５０ およびBUS#{0_m-2} １５１ を介して間接競合の関係と判定される。これを上述の変数式で表すと、 "(((XB01_SB0_ID_MCH ・ XB01_SB2_ID_MCH) + (XB02_SB0_ID_MCH ・ XB02_SB2_ID_MCH) + (XB03_SB0_ID_MCH ・XB03_SB2_ID_MCH)) ・ ((XB01_SB3_ID_MCH ・ XB01_SB2_ID_MCH) + (XB02_SB3_ID_MCH ・ XB02_SB2_ID_MCH) + (XB03_SB3_ID_MCH ・XB03_SB2_ID_MCH)))" となる。これは、「SB#{0,0}とSB#{0,2}とが、XB#1〜3のいずれかを介して直接競合しており、且つ、SB#{0,3}とSB#{0,2}とが、XB#1〜3のいずれかを介して直接競合しているときに真」となる式である。これが真であるときを、「SB#{0,2}を通して間接的に競合」している状態であると言う。さらに、XB#0に属するこの他のSBについても、同様に判定を行うことが好ましい。さらに、本発明に係る装置および方法は、複数のSBを介して間接的に競合する場合についても検出・判定することができる。この詳細については後述する。【００２３】
図３は、上述した直接競合についてさらに説明するための概念図である。図３には、例として二つのXBユニットである XB#0 ３００ 、 XB#1 ３１０ を示している。 XB#0 ３００ は例として二つのSB（ SB#{0,0} ３０２ および SB#{0,1} ３０４ ）を接続している。同様に、 XB#1 ３１０ は二つのSB（ SB#{1,0} ３１２ および SB#{1,1} ３１４ ）を接続している。なお、図中ではわかりやすさを優先するためにXBユニットの中にSBを描いているが、これは本発明の実施の形態を限定するものではない。また、図中のSBの数も単なる例であって、本発明の実施の形態を限定するものではない。ここでは、 SB#{0,0} ３０２ と SB#{1,0} ３１２ とが同一パーティション PAR#A ３２２ に属しており、また同様に SB#{0,1} ３０４ と SB#{1,1} ３１４ とが同一パーティション PAR#B ３２４ に属している。ここでは、 PAR#A ３２２ と PAR#B ３２４ とは異なるパーティションであるとして考える。なお、ここではXBユニット間バス装置については省略して図示していない。【００２４】
図３の構成では、Broadcastによって PAR#A ３２２ に属するSBすべてに同期した情報伝送が行われる動作と、 PAR#B ３２４ に属するSBすべてに同期した情報伝送が行われる動作とが、直接に競合することになる。即ち、 "(XB01_SB0_ID_MCH ・ XB01_SB1_ID_MCH)" が真になる。【００２５】
図４は、上述した間接競合のうちの「一次的な間接競合（ひとつのSBのみを介した間接競合）」についてさらに説明するための概念図である。図４には、例として三つのXBユニットである XB#0 ４００ 、 XB#1 ４１０ 、 XB#2 ４２０ を示している。XB#0 ４００ には、三つのSB（ SB#{0,0} ４０２ および SB#{0,1} ４０４ および SB#{0,2} ４０６ ）が接続されている。また、同様に、XB#1 ４１０ には二つのSB（ SB#{1,0} ４１２ および SB#{1,1} ４１６ ）が接続され、XB#2 ４２０ には二つのSB（ SB#{2,0} ４２４ および SB#{2,1} ４２６ ）が接続されている。ここでは、 SB#{0,0} ４０２ と SB#{1,0} ４１２ とが同一パーティション PAR#A ４４２ に属しており、また同様に SB#{0,1} ４０４ と SB#{2,0} ４２４ とが同一パーティション PAR#B ４４４ に属しており、さらに、SB#{0,2} ４０６ と SB#{1,1} ４１６ と SB#{2,1} ４２６ とが同一パーティション PAR#C ４４６ に属している。ここでは、 PAR#A ４４２ と PAR#B ４４４ と PAR#C ４４６ とは異なるパーティションであるとして考える。なお、ここではXBユニット間バス装置については省略して図示していない。【００２６】
図４の構成においては、 PAR#A ４４２ と PAR#B ４４４ とは直接競合をしていない。しかしながら、 PAR#A ４４２ と PAR#C ４４６ とが直接競合しており、且つ、 PAR#B ４４４ と PAR#C ４４６ とが直接競合している。すると、 PAR#C ４４６ のBroadcastは、 PAR#A ４４２ および PAR#B ４４４ の双方のBroadcastと競合することになる。したがってこの場合には、XB#0 ４００ に属するSB#{0,2} ４０６ を介して、 PAR#A ４４２ と PAR#B ４４４ とが間接競合をすることになる。つまり、 "((XB01_SB0_ID_MCH ・ XB01_SB2_ID_MCH) ・ (XB02_SB1_ID_MCH ・ XB02_SB2_ID_MCH))" が真になる、ということに相当する。【００２７】
図５は、上述した間接競合のうちの、「二次的な間接競合（二つのSBを介した間接競合）」についてさらに説明するための概念図である。図５には、例として四つのXBユニットである XB#0 ５００ 、 XB#1 ５１０ 、 XB#2 ５２０ 、および XB#3 ５３０ を示している。XB#0 ５００ には、四つのSB（ SB#{0,0} ５０２ および SB#{0,1} ５０４ および SB#{0,2} ５０６ および SB#{0,3} ５０８ ）が接続されている。また、同様に、XB#1 ５１０ には二つのSB（ SB#{1,0} ５１２ および SB#{1,1} ５１６ ）が接続され、XB#2 ５２０ には二つのSB（ SB#{2,0} ５２４ および SB#{2,1} ５２８ ）が接続され、さらにXB#3 ５３０ には二つのSB（ SB#{3,0} ５３６ および SB#{3,1} ５３８ ）が接続されている。ここでは、 SB#{0,0} ５０２ と SB#{1,0} ５１２ とが同一パーティション PAR#A ５５２ に属しており、また同様に SB#{0,1} ５０４ と SB#{2,0} ５２４ とが同一パーティション PAR#B ５５４ に属しており、さらに、SB#{0,2} ５０６ と SB#{1,1} ５１６ と SB#{3,0} ５３６ とが同一パーティション PAR#C ５５６ に属しており、さらに、SB#{0,3} ５０８ と SB#{2,1} ５２８ と SB#{3,1} ５３８ とが同一パーティション PAR#D ５５８ に属している。ここでは、 PAR#A ５５２ と PAR#B ５５４ と PAR#C ５５６ と PAR#D ５５８ とはそれぞれ異なるパーティションであるとして考える。【００２８】
図５の構成においては、 PAR#A ５５２ と PAR#B ５５４ とは直接競合をしていない。しかしながら、 PAR#A ５５２ と PAR#C ５５６ とが直接競合しており、且つ、 PAR#C ５５６ と PAR#D ５５８ とが直接競合しており、且つ、 PAR#D ５５８ と PAR#B ５５４ とが直接競合している。すると、 PAR#C ５５６ および PAR#D ５５８ のBroadcastは、 PAR#A ５５２ および PAR#B ５５４ の双方のBroadcastと競合することになる。したがってこの場合には、XB#0 ５００ に属するSB#{0,2} ５０６ および SB#{0,3} ５０８ を介して、 PAR#A ５５２ と PAR#B ５５４ とが間接競合をすることになる。つまり、これは "((XB01_SB0_ID_MCH ・ XB01_SB2_ID_MCH) ・ (XB03_SB2_ID_MCH ・XB03_SB3_ID_MCH) ・ (XB02_SB1_ID_MCH ・ XB02_SB3_ID_MCH))" が真になる、ということに相当する。【００２９】
以上に述べたような競合判定について、表２にある程度まとめて例示した。なお、ここでは簡単のために、XB#0に属するSB#kについては略記して[k]と表している。【００３０】
【表２】
2007099618.tif 000005
表２は、SB#{0,0}とSB#{0,1}の競合について判定するための式の例を示している。ここでは、同パーティションである場合、直接競合である場合、ならびにSB#{0,2}とSB#{0,3}が関連する間接競合である場合のそれぞれを示している。ここで、 "SB0_PRI_ENB[1]" とは、[0]を主体として見たときの、[1]との競合関係を表す値を格納する変数である。また、「[2]を通して間接的に競合」とはSB#{0,2}を介した間接競合であり、また、「[3]を通して間接的に競合」とはSB#{0,3}を介した間接競合であり、「[2][3]を通して間接的に競合」とはSB#{0,2}およびSB#{0,3}を介した間接競合のことを示している。ここで、「[2][3]を通して間接的に競合」とは、「「XB#1〜3のいずれかを介して[0]と[2]とが直接競合」且つ「XB#1〜3のいずれかを介して[1]と[3]とが直接競合」且つ「XB#1〜3のいずれかを介して[2]と[3]とが直接競合」」する場合、あるいは、「「XB#1〜3のいずれかを介して[0]と[3]とが直接競合」且つ「XB#1〜3のいずれかを介して[1]と[2]とが直接競合」且つ「XB#1〜3のいずれかを介して[2]と[3]とが直接競合」」する場合を言う。【００３１】
さらに、以下の表３に、 XB#0 を主体として見た場合の、表内に示した値で限定されるような [x,j,k,l] の組み合わせを例として用いる一般例を示した。この [x,j,k,l] の組み合わせは、 XB#0 が四個のSBに接続する場合の例を表している。
【表３】
2007099618.tif 000006
【００３２】
なお、本発明に係る装置もしくは方法によって検出・判定をすることができる間接競合は、上述した一次的間接競合および二次的間接競合に加えて、さらに多くのXBユニットもしくはSBが関与するような間接競合を含めることが可能である。【００３３】
［実施形態１］
図６は、本発明に係る実施形態１を示す概要図であって、3個のXBユニットが存在し、各XBユニットが3個ずつのSBに接続され、XBユニット間バス装置が 3C2 個のXBの組み合わせについて重複しないように接続をしているようなシステムにおける、本発明に係る装置を実施する場合の図である。ここでは、 XB#0 ６００ 、 XB#1 ６１０ 、および XB#2 ６２０ の三つのXBユニットが存在しているものとする。また、XB#0 ６００ には、 SB#{0,0} ６０１ 、 SB#{0,1} ６０２ 、 SB#{0,2} ６０３ が接続されている。同様に、 XB#1 ６１０ にはSB#{1,0} ６１１ 、 SB#{1,1} ６１２ 、 SB#{1,2} ６１３ が、XB#2 ６２０ には SB#{2,0} ６２１ 、 SB#{2,1} ６２２ 、 SB#{2,2} ６２３ が、それぞれ接続されている。また、XB#0 ６００ とXB#1 ６１０ とはBUS#{0_1} ６４０ で接続され、同様に、XB#0 ６００ とXB#2 ６２０ とはBUS#{0_2} ６４１ で、XB#1 ６１０ とXB#2 ６２０ とはBUS#{1_2} ６４２ で、それぞれ接続されている。図中の黒棒矢印は、XBユニット間バスの使用を巡って競合するSBの存在を示している。【００３４】
このシステムにおいてパーティションのプライオリティを制御するために、競合を検出するにあたっては、パーティションID識別手段が、各SBのパーティションIDを識別する。次に、その識別結果に基づき、パーティションID一致検出手段が、前述した表１に倣って、 "XBab_SBcd_ID_MCH" （ここで、 a, b はそれぞれ独立に0もしくは1もしくは2であり、且つ、 c, d はそれぞれ独立に0もしくは1もしくは2である。）に格納する値（真偽）を、少なくとも一通りの a, b, c, d の組み合わせについて得る。以下の説明では、パーティションID一致検出手段が、すべての可能な組み合わせについてパーティションIDの一致を検出したものとして説明する。【００３５】
さらに、前述で得た "XBab_SBcd_ID_MCH" を、それぞれの d ごとに分け、そのうちの少なくともひとつが真であれば、 "XBab_SBc_ID_MCH" を真とすることによって、以下に挙げるように変数に格納する値を決定する。なお、この実施の形態においては、真であるときを "1" 、偽であるときを "0" と表す。【００３６】
XB00_SB0_ID_MCH = 1
XB01_SB0_ID_MCH = 1
XB02_SB0_ID_MCH = 0
XB00_SB1_ID_MCH = 1
XB01_SB1_ID_MCH = 1
XB02_SB1_ID_MCH = 1
XB00_SB2_ID_MCH = 1
XB01_SB2_ID_MCH = 0
XB02_SB2_ID_MCH = 1
XB10_SB0_ID_MCH = 1
XB11_SB0_ID_MCH = 1
XB12_SB0_ID_MCH = 0
XB10_SB1_ID_MCH = 1
XB11_SB1_ID_MCH = 1
XB12_SB1_ID_MCH = 0
XB10_SB2_ID_MCH = 1
XB11_SB2_ID_MCH = 1
XB12_SB2_ID_MCH = 1
XB20_SB0_ID_MCH = 1
XB21_SB0_ID_MCH = 1
XB22_SB0_ID_MCH = 1
XB20_SB1_ID_MCH = 1
XB21_SB1_ID_MCH = 0
XB22_SB1_ID_MCH = 1
XB20_SB2_ID_MCH = 1
XB21_SB2_ID_MCH = 0
XB22_SB2_ID_MCH = 1
この検出結果を承けて、クロスバユニット間競合パーティション検出手段が含むところの二クロスバユニット間直接競合パーティション検出手段が、同一XBユニットに接続する二つのSBの組み合わせのそれぞれから、直接競合をする組み合わせを検出することによって、直接競合パーティションを検出する。即ち、前述した [a,b] の組み合わせのそれぞれについて、
(XBab_SBc_ID_MCH ・ XBab_SBd_ID_MCH)
のうちのいずれかが真であるかどうかを判定する（ここでは、 c = d の場合は自明であるために除外されている）。具体的には、例えばSB#{0,0} ６０１ と SB#{0,1} ６０２ との組み合わせについて、
((XB01_SB0_ID_MCH ・ XB01_SB1_ID_MCH) + (XB02_SB0_ID_MCH ・ XB02_SB1_ID_MCH)) = 1
と計算される。したがって、SB#{0,0} ６０１ と SB#{0,1} ６０２ とは直接競合すると判定される。その他のSBの組み合わせについても同様に直接競合の有無が判定される。        【００３７】
それぞれの組み合わせについて、上記の手法によって直接競合が判定された結果、XB#0 ６００ から見た場合には、SB#{0,0} ６０１ と SB#{0,1} ６０２ 、ならびに、SB#{0,1} ６０２ と SB#{0,2} ６０３ との組み合わせが直接競合であると判定される。すると、前述したようにそれぞれのSBの属するパーティションはパーティションID識別手段によって識別されているので、SB#{0,0} ６０１ は PAR#1 、SB#{0,1} ６０２ は PAR#2 、 SB#{0,2} ６０３ は PAR#3 に属していることが識別されているので、PAR#1 と PAR#2 とは同一のXBユニット間バス装置を使用する異なるパーティションであることがわかり、また同様にPAR#2 と PAR#3 とが同一のXBユニット間バス装置を使用する異なるパーティションであることも検出されることになる。【００３８】
また、クロスバユニット間競合パーティション検出手段が含むところの多クロスバユニット間間接競合パーティション検出手段が、同一XBユニットに接続する三つ以上のSBの組み合わせのそれぞれについて、間接競合をしている組み合わせを検出することによって、間接競合パーティションを検出する。例えば、三つのSBの組み合わせについて間接競合を検出する場合には、前述した [a,b] の組み合わせのそれぞれについて、
(XBab_SBc_ID_MCH ・ XBab_SBe_ID_MCH)
のうちのいずれかが真であって、且つ
(XBab_SBd_ID_MCH ・ XBab_SBe_ID_MCH)
のうちのいずれかが真であるかどうかを判定する（ここで、 c, d は前述した数であって且つ c ≠ d であり、また、 e は、前述の c, d と同様に選ばれる数であり且つ e ≠ c 、 e ≠ d である）（ここでは、 c = d の場合は自明であるために除外されている）。具体的には、例えばXB#0 ６００ が含む SB#{0,0} ６０１ と SB#{0,1} ６０２ と SB#{0,2} ６０３ との組み合わせについて、「SB#{0,0} ６０１ と SB#{0,2} ６０３ とが、 SB#{0,1} ６０２ を介して間接競合する場合」を考えて判定することになる。即ち、
(
((XB01_SB0_ID_MCH ・ XB01_SB1_ID_MCH) + (XB02_SB0_ID_MCH ・ XB02_SB1_ID_MCH) + (XB03_SB0_ID_MCH ・ XB03_SB1_ID_MCH)) ・ ((XB01_SB2_ID_MCH ・ XB01_SB1_ID_MCH) + (XB02_SB2_ID_MCH ・ XB02_SB1_ID_MCH) + (XB03_SB2_ID_MCH ・ XB03_SB1_ID_MCH))
) = 1
であって、したがって SB#{0,0} ６０１ と SB#{0,2} ６０３ との組み合わせは（一次的に）間接競合すると判定されることになる。【００３９】
同様に、他のSBの組み合わせについても判定することができる。
［実施形態２］
図７は、本発明に係る実施形態２を示す概要図であって、4個のXBユニットが存在し、各XBユニットが4個ずつのSBに接続され、XBユニット間バス装置が 4C2 個のXBの組み合わせについて重複しないように接続をしているようなシステムにおける、本発明に係る装置を実施する場合の図である。【００４０】
ここでは、 XB#0 ７００ 、 XB#1 ７１０ 、 XB#2 ７２０ および XB#3 ７３０ の四つのXBユニットが存在しているものとする。また、XB#0 ７００ には、 SB#{0,0} ７０１ 、 SB#{0,1} ７０２ 、 SB#{0,2} ７０３ 、および SB#{0,3} ７０４ が接続されている。同様に、 XB#1 ７１０ にはSB#{1,0} ７１１ 、 SB#{1,1} ７１２ 、 SB#{1,2} ７１３ および SB#{1,3} ７１４が、XB#2 ７２０ には SB#{2,0} ７２１ 、 SB#{2,1} ７２２ 、 SB#{2,2} ７２３ および SB#{2,3} ７２４が、XB#3 ７３０ には SB#{3,0} ７３１ 、 SB#{3,1} ７３２ 、 SB#{3,2} ７３３ および SB#{3,3} ７３４が、それぞれ接続されている。また、XB#0 ７００ とXB#1 ７１０ とはBUS#{0_1} ７５０ で接続され、同様に、XB#0 ７００ とXB#2 ７２０ とはBUS#{0_2} ７５１ で、XB#0 ７００ とXB#3 ７３０ とはBUS#{0_3} ７５２ で、XB#1 ７１０ とXB#2 ７２０ とはBUS#{1_2} ７５３ で、XB#1 ７１０ とXB#3 ７３０ とはBUS#{1_3} ７５４ で、XB#2 ７２０ とXB#3 ７３０ とはBUS#{2_3} ７５５ で、それぞれ接続されている。図中の黒棒矢印は、XBユニット間バスの使用を巡って競合するSBの存在を示している。【００４１】
このシステムにおいてパーティションのプライオリティを制御するために、競合を検出するにあたっては、パーティションID識別手段が、各SBのパーティションIDを識別する。次に、その識別結果に基づき、パーティションID一致検出手段が、前述した表１に倣って、 "XBab_SBcd_ID_MCH" （ここで、 a, b はそれぞれ独立に0もしくは1もしくは2もしくは3であり、且つ、 c, d はそれぞれ独立に0もしくは1もしくは2もしくは3である。）に格納する値（真偽）を、少なくとも一通りの a, b, c, d の組み合わせについて得る。以下の説明では、パーティションID一致検出手段が、すべての可能な組み合わせについてパーティションIDの一致を検出したものとして説明する。【００４２】
さらに、前述で得た "XBab_SBcd_ID_MCH" を、それぞれの d ごとに分け、そのうちの少なくともひとつが真であれば、 "XBab_SBc_ID_MCH" を真とすることによって、以下に挙げるように変数に格納する値を決定する。なお、この実施の形態においては、真であるときを "1" 、偽であるときを "0" と表す。【００４３】
XB00_SB0_ID_MCH = 1
XB01_SB0_ID_MCH = 1
XB02_SB0_ID_MCH = 0
XB03_SB0_ID_MCH = 0
XB00_SB1_ID_MCH = 1
XB01_SB1_ID_MCH = 1
XB02_SB1_ID_MCH = 0
XB03_SB1_ID_MCH = 0
XB00_SB2_ID_MCH = 1
XB01_SB2_ID_MCH = 1
XB02_SB2_ID_MCH = 1
XB03_SB2_ID_MCH = 0
XB00_SB3_ID_MCH = 1
XB01_SB3_ID_MCH = 0
XB02_SB3_ID_MCH = 1
XB03_SB3_ID_MCH = 0
XB10_SB0_ID_MCH = 1
XB11_SB0_ID_MCH = 1
XB12_SB0_ID_MCH = 0
XB13_SB0_ID_MCH = 0
XB10_SB1_ID_MCH = 1
XB11_SB1_ID_MCH = 1
XB12_SB1_ID_MCH = 0
XB13_SB1_ID_MCH = 0
XB10_SB2_ID_MCH = 1
XB11_SB2_ID_MCH = 1
XB12_SB2_ID_MCH = 1
XB13_SB2_ID_MCH = 0
XB10_SB3_ID_MCH = 1
XB11_SB3_ID_MCH = 1
XB12_SB3_ID_MCH = 1
XB13_SB3_ID_MCH = 0
XB20_SB0_ID_MCH = 1
XB21_SB0_ID_MCH = 1
XB22_SB0_ID_MCH = 1
XB23_SB0_ID_MCH = 0
XB20_SB1_ID_MCH = 1
XB21_SB1_ID_MCH = 0
XB22_SB1_ID_MCH = 1
XB23_SB1_ID_MCH = 0
XB20_SB2_ID_MCH = 0
XB21_SB2_ID_MCH = 0
XB22_SB2_ID_MCH = 1
XB23_SB2_ID_MCH = 1
XB20_SB3_ID_MCH = 0
XB21_SB3_ID_MCH = 0
XB22_SB3_ID_MCH = 1
XB23_SB3_ID_MCH = 1
XB30_SB0_ID_MCH = 0
XB31_SB0_ID_MCH = 0
XB32_SB0_ID_MCH = 1
XB33_SB0_ID_MCH = 1
XB30_SB1_ID_MCH = 0
XB31_SB1_ID_MCH = 0
XB32_SB1_ID_MCH = 1
XB33_SB1_ID_MCH = 1
XB30_SB2_ID_MCH = 0
XB31_SB2_ID_MCH = 0
XB32_SB2_ID_MCH = 0
XB33_SB2_ID_MCH = 1
XB30_SB3_ID_MCH = 0
XB31_SB3_ID_MCH = 0
XB32_SB3_ID_MCH = 0
XB33_SB3_ID_MCH = 1
この検出結果を承けて、クロスバユニット間競合パーティション検出手段が含むところの二クロスバユニット間直接競合パーティション検出手段が、同一XBユニットに接続する二つのSBの組み合わせのそれぞれから、直接競合をする組み合わせを検出することによって、直接競合パーティションを検出する。即ち、前述した [a,b] の組み合わせのそれぞれについて、
(XBab_SBc_ID_MCH ・ XBab_SBd_ID_MCH)
のうちのいずれかが真であるかどうかを判定する（ここでは、 c = d の場合は自明であるために除外されている）。具体的には、例えばSB#{0,0} ７０１ と SB#{0,2} ７０３ との組み合わせについては、
((XB01_SB0_ID_MCH ・ XB01_SB2_ID_MCH) + (XB02_SB0_ID_MCH ・ XB02_SB2_ID_MCH) + (XB03_SB0_ID_MCH ・ XB03_SB2_ID_MCH)) = 1
と計算される。したがって、SB#{0,0} ７０１ と SB#{0,2} ７０３ とは直接競合すると判定される。その他のSBの組み合わせについても同様に直接競合の有無が判定される。【００４４】
それぞれの組み合わせについて、上記の手法によって直接競合が判定された結果、XB#0 ７００ から見た場合には（同一パーティションに属するSB#{0,0} ７０１ と SB#{0,1} ７０２ との組み合わせを除き）、 SB#{0,0} ７０１ と SB#{0,2} ７０３ 、ならびに、 SB#{0,2} ７０３ と SB#{0,3} ７０４ との組み合わせが直接競合であると判定される。すると、前述したようにそれぞれのSBの属するパーティションはパーティションID識別手段によって識別されているので、SB#{0,0} ７０１ と SB#{0,1} ７０２とは PAR#1 、SB#{0,2} ７０３ は PAR#2 、 SB#{0,3} ７０４ は PAR#3 に属していることが識別されているので、PAR#1 と PAR#2 とは同一のXBユニット間バス装置を使用する異なるパーティションであることがわかり、また同様にPAR#2 と PAR#3 とが同一のXBユニット間バス装置を使用する異なるパーティションであることも検出されることになる。【００４５】
さらに、クロスバユニット間競合パーティション検出手段が含むところの多クロスバユニット間間接競合パーティション検出手段が、同一XBユニットに接続する三つ以上のSBの組み合わせのそれぞれについて、間接競合をしている組み合わせを検出することによって、間接競合パーティションを検出する。例えば、三つのSBの組み合わせについて間接競合を検出する場合には、前述した [a,b] の組み合わせのそれぞれについて、
(XBab_SBc_ID_MCH ・ XBab_SBe_ID_MCH)
のうちのいずれかが真であって、且つ
(XBab_SBd_ID_MCH ・ XBab_SBe_ID_MCH)
のうちのいずれかが真であるかどうかを判定することになる（ここで、 c, d は前述した数であって且つ c ≠ d であり、また、 e は、前述の c, d と同様に選ばれる数であり且つ e ≠ c 、 e ≠ d である）（ここでは、 c = d の場合は自明であるために除外されている）。具体的には、例えばSB#{0,0} ７０１ と SB#{0,3} ７０４ との組み合わせについては、「SB#{0,0} ７０１ と SB#{0,3} ７０４ とが、 SB#{0,2} ７０３ を介して間接競合する場合」と、「SB#{0,0} ７０１ と SB#{0,3} ７０４ とが、 SB#{0,1} ７０２ を介して間接競合する場合」とのそれぞれについて考えて判定することになる。即ち、
(
(((XB01_SB0_ID_MCH ・ XB01_SB2_ID_MCH) + (XB02_SB0_ID_MCH ・ XB02_SB2_ID_MCH) + (XB03_SB0_ID_MCH ・ XB03_SB2_ID_MCH)) ・ ((XB01_SB3_ID_MCH ・ XB01_SB2_ID_MCH) + (XB02_SB3_ID_MCH ・ XB02_SB2_ID_MCH) + (XB03_SB3_ID_MCH ・ XB03_SB2_ID_MCH)))
+ (((XB01_SB0_ID_MCH ・ XB01_SB1_ID_MCH) + (XB02_SB0_ID_MCH ・ XB02_SB1_ID_MCH) + (XB03_SB0_ID_MCH ・ XB03_SB1_ID_MCH)) ・ ((XB01_SB3_ID_MCH ・ XB01_SB1_ID_MCH) + (XB02_SB3_ID_MCH ・ XB02_SB1_ID_MCH) + (XB03_SB3_ID_MCH ・ XB03_SB1_ID_MCH)))
) = 1
であって、したがってこの場合、 SB#{0,0} ７０１ と SB#{0,3} ７０４ との組み合わせは（一次的に）間接競合すると判定されることになる。同様に他の三つのSBの組み合わせについても判定することができる。【００４６】
さらに、この実施形態においてはXBユニットが四つ存在するので、多クロスバユニット間間接競合パーティション検出手段は四つのSBの組み合わせについての二次的間接競合についても検出することができる。この場合には、例えば、 SB#{0,0} ７０１ と SB#{0,1} ７０２ と SB#{0,2} ７０３ と SB#{0,3} ７０４ との組み合わせについては、このうちの二つのSBが、残りの二つのSBを介して間接競合している場合を検出することになる。一例として、 SB#{0,1} ７０２ および SB#{0,3} ７０４ を介した、 SB#{0,0} ７０１ と SB#{0,2} ７０３ との二次的間接競合については、
(
(((XB01_SB0_ID_MCH ・ XB01_SB1_ID_MCH) + (XB02_SB0_ID_MCH ・ XB02_SB1_ID_MCH) + (XB03_SB0_ID_MCH ・ XB03_SB1_ID_MCH)) ・ ((XB01_SB1_ID_MCH ・ XB01_SB3_ID_MCH) + (XB02_SB1_ID_MCH ・ XB02_SB3_ID_MCH) + (XB03_SB1_ID_MCH ・ XB03_SB3_ID_MCH)) ・ ((XB01_SB3_ID_MCH ・ XB01_SB2_ID_MCH) + (XB02_SB3_ID_MCH ・ XB02_SB2_ID_MCH) + (XB03_SB3_ID_MCH ・ XB03_SB2_ID_MCH)))
+ (((XB01_SB0_ID_MCH ・ XB01_SB3_ID_MCH) + (XB02_SB0_ID_MCH ・ XB02_SB3_ID_MCH) + (XB03_SB0_ID_MCH ・ XB03_SB3_ID_MCH)) ・ ((XB01_SB3_ID_MCH ・ XB01_SB1_ID_MCH) + (XB02_SB3_ID_MCH ・ XB02_SB1_ID_MCH) + (XB03_SB3_ID_MCH ・ XB03_SB1_ID_MCH)) ・ ((XB01_SB1_ID_MCH ・ XB01_SB2_ID_MCH) + (XB02_SB1_ID_MCH ・ XB02_SB2_ID_MCH) + (XB03_SB1_ID_MCH ・ XB03_SB2_ID_MCH)))
) = 0
となり、このSBの組み合わせにおいては二次的間接競合は無いことが判定される。【００４７】
図８は、本発明の実施形態２に係る装置を構成するための回路図であって、前述の表３に示した内容を行うための回路を示している。図中の「パーティションＩＤマッチ制御部」は、パーティションID一致検出手段の一形態であり、また、「競合パーティション判定制御部」は、クロスバユニット間競合パーティション検出手段の一形態であるということを、当業者は正しく理解することができる。【００４８】
本発明に係るパーティションプライオリティ制御装置および方法を使用することによって、XBユニット間バス装置の使用率を向上させることができ、且つ、XBユニット間バス装置にかけるコストを抑えつつ、極端な性能低下を招かないシステムが実現可能となるという効果が得られる。
【図１】
2007099618.tif 000008
【図２】
2007099618.tif 000009
【図３】
2007099618.tif 000010
【図４】
2007099618.tif 000011
【図５】
2007099618.tif 000012
【図６】
2007099618.tif 000013
【図７】
2007099618.tif 000014
【図８】
2007099618.tif 000015
【手続補正書】
【提出日】平成20年4月30日(2008.4.30)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
複数のパーティションに分割された複数のシステムボードモジュールと、複数のクロスバユニットと、前記複数のクロスバユニットのうちの二つの組み合わせを相互接続するバス装置とを含み、且つ、前記複数のクロスバユニットのそれぞれが前記複数のシステムボードモジュールのうちの少なくともひとつに接続しているような前記コンピュータシステムにおいて、前記バス装置を使用する前記複数のパーティションのプライオリティを制御する、パーティションプライオリティ制御装置であって、
前記複数のシステムボードモジュールのうちのひとつのシステムボードモジュールが属するパーティションと、それ以外のシステムボードモジュールのそれぞれが属するパーティションとが一致しているかを、検出するパーティション一致検出手段と、
前記パーティション一致検出手段の検出結果に基づき、前記複数のクロスバユニットの間で競合するパーティションの組み合わせを、検出するクロスバユニット間競合パーティション検出手段と
を含むことを特徴とする、パーティションプライオリティ制御装置。
【請求項２】
前記クロスバユニット間競合パーティション検出手段が、
前記バスで接続された二つのクロスバユニット間で、前記同一パーティションに属していない二つのシステムボードモジュールの組み合わせを競合であると判定する、二クロスバユニット間競合パーティション検出手段
を含むことを特徴とする、請求項２記載のパーティションプライオリティ制御装置。
【請求項３】
前記クロスバユニット間競合パーティション検出手段が、
三つ以上のクロスバユニットが存在しているときに、第１と第２のクロスバユニット間で第１と第２のパーティションが競合し、第１と第３のクロスバユニット間で第２と第３のパーティションが競合する時、第１と第３のパーティションを競合すると判断する多クロスバユニット間競合パーティション検出手段
を含むことを特徴とする、請求項１あるいは２記載のパーティションプライオリティ制御装置。
【請求項４】
複数のパーティションに分割された複数のシステムボードモジュールと、複数のクロスバユニットと、前記複数のクロスバユニットのうちの二つの組み合わせを相互接続するバス装置とを含み、且つ、前記複数のクロスバユニットのそれぞれが前記複数のシステムボードモジュールのうちの少なくともひとつに接続しているような前記コンピュータシステムにおいて、前記バス装置を使用する前記複数のパーティションのプライオリティを制御する、パーティションプライオリティ制御装置であって、
前記複数のシステムボードモジュールのそれぞれがどのパーティションに属するかを判別する、パーティションID識別手段と、
前記パーティションID識別手段に接続されており、前記パーティションID識別手段の判別結果に基づき、前記複数のシステムボードモジュールのうちのひとつのシステムボードモジュールが属するパーティションと、それ以外のシステムボードモジュールのそれぞれが属するパーティションとが一致しているかを、少なくとも一通りの前記システムボードモジュールの組み合わせについてそれぞれ検出する、パーティションID一致検出手段と、
前記パーティションID一致検出手段に接続されており、前記パーティションID識別手段の判別結果と、前記パーティションID一致検出手段の検出結果とに基づき、前記複数のクロスバユニットのうちの二つのクロスバユニットとの間で競合するパーティションの組み合わせを、少なくとも一通りの前記二つのクロスバユニットの組み合わせについて検出する、クロスバユニット間競合パーティション検出手段と
を含むことを特徴とする、パーティションプライオリティ制御装置。
【請求項５】
前記クロスバユニット間競合パーティション検出手段が、
前記複数のクロスバユニットのうち、複数のシステムボードモジュールに接続しているクロスバユニットが存在しているときに、前記複数のシステムボードモジュールに接続しているクロスバユニットに、接続されているシステムボードモジュールのうちの、前記パーティションID識別手段の判別結果に鑑みて同一パーティションに属していない二つのシステムボードモジュールの少なくとも一通りの組み合わせについて、前記同一パーティションに属していない二つのシステムボードモジュールのそれぞれが、前記複数のシステムボードモジュールに接続しているクロスバユニットとは異なるクロスバユニットに接続されたシステムボードモジュールと同一パーティションに属するとき、前記同一パーティションに属していない二つのシステムボードモジュールの組み合わせを直接競合であると判定する、二クロスバユニット間直接競合パーティション検出手段
を含むことを特徴とする、請求項４記載のパーティションプライオリティ制御装置。
【請求項６】
前記クロスバユニット間競合パーティション検出手段が、
前記複数のクロスバユニットのうち、三つ以上のシステムボードモジュールに接続されているクロスバユニットが存在しているときに、前記三つ以上のシステムボードモジュールに接続されているクロスバユニットに接続されたシステムボードモジュールのうちの、前記パーティションID識別手段の判別結果に鑑みて同一パーティションに属していない少なくとも三つのシステムボードモジュールの少なくとも一通りの組み合わせについて、前記同一パーティションに属していない少なくとも三つのシステムボードモジュールのうちの二つのシステムボードモジュールが前記二クロスバユニット間直接競合パーティション検出手段によってひとつのクロスバユニットを介して直接競合していると判定された場合に、前記同一パーティションに属していない少なくとも三つのシステムボードモジュールのうちの前記二つのシステムボードモジュールのうちの少なくとも一方が、前記同一パーティションに属していない少なくとも三つのシステムボードモジュールのうちの前記二つのシステムボードモジュール以外のいずれかのシステムボードモジュールと、前記ひとつのクロスバユニットとは別のクロスバユニットを介して直接競合であると前記二クロスバユニット間直接競合パーティション検出手段によって判定されたときに、前記同一パーティションに属していない少なくとも三つのシステムボードモジュールの組み合わせを間接競合であると判定する、多クロスバユニット間間接競合パーティション検出手段
をさらに含むことを特徴とする、請求項４記載のパーティションプライオリティ制御装置。
【国際調査報告】
2007099618.tif 000016
2007099618.tif 000017