(57)【特許請求の範囲】
【請求項１】
複数のメインプロセッサをプロセッサ間インターフェイスで接続して構成される密結合マルチプロセッサシステムであって、
それぞれの前記メインプロセッサは、
コプロセッサ搭載用の拡張スロットと外部インターフェイスカード搭載用の拡張スロットとのペアを１組以上備える
密結合マルチプロセッサシステム。
【請求項２】
前記コプロセッサ搭載用の拡張スロットのレーン数と前記外部インターフェイスカード搭載用の拡張スロットのレーン数とは同じである
請求項１に記載の密結合マルチプロセッサシステム。
【請求項３】
前記コプロセッサ搭載用の拡張スロットおよび前記外部インターフェイスカード搭載用の拡張スロットのレーン数は、１６レーンである
請求項１または２に記載の密結合マルチプロセッサシステム。
【請求項４】
前記メインプロセッサは、前記コプロセッサ搭載用の拡張スロットが接続される第１の入出力制御部と、前記外部インターフェイスカード搭載用の拡張スロットが接続される第２の入出力制御部とを有する
請求項１乃至３の何れかに記載の密結合マルチプロセッサシステム。
【請求項５】
前記コプロセッサ搭載用の拡張スロットに接続されたコプロセッサと、前記コプロセッサ搭載用の拡張スロットとペアを構成する前記外部インターフェイスカード搭載用の拡張スロットに接続された外部インターフェイスカードにさらに接続された外部機器との間で、ＤＭＡ転送を行う
請求項４に記載の密結合マルチプロセッサシステム。
【請求項６】
前記メインプロセッサは、前記コプロセッサ搭載用の拡張スロットと当該コプロセッサ搭載用の拡張スロットとペアを構成する前記外部インターフェイスカード搭載用の拡張スロットとがそれぞれ異なるダウンストリームポートに接続されている、スイッチを有する
請求項１乃至３の何れかに記載の密結合マルチプロセッサシステム。
【請求項７】
前記メインプロセッサは、前記スイッチのアップストリームポートに接続される入出力制御部を有する
請求項６に記載の密結合マルチプロセッサシステム。
【請求項８】
前記コプロセッサ搭載用の拡張スロットに接続されたコプロセッサと、前記コプロセッサ搭載用の拡張スロットとペアを構成する前記外部インターフェイスカード搭載用の拡張スロットに接続された外部インターフェイスカードを通じて接続された外部機器との間で、前記スイッチを介してＤＭＡ転送を行う
請求項６または７に記載の密結合マルチプロセッサシステム。
【請求項９】
前記コプロセッサは、前記メインプロセッサが実行する命令と同じ命令を実行可能である
請求項５または８に記載の密結合マルチプロセッサシステム。
【請求項１０】
前記コプロセッサは、メインルーチンを実行可能である
請求項５または８に記載の密結合マルチプロセッサシステム。
【請求項１１】
第１のコプロセッサ搭載用の拡張スロットと第１の外部インターフェイスカード搭載用の拡張スロットとを備える第１のメインプロセッサと、
前記第１のメインプロセッサとプロセッサ間インターフェイスで接続され、第２のコプロセッサ搭載用の拡張スロットと第２の外部インターフェイスカード搭載用の拡張スロットとを備える第２のメインプロセッサとから構成される密結合マルチプロセッサシステムの制御方法であって、
前記第１のコプロセッサ搭載用の拡張スロットに接続された第１のコプロセッサと前記第１の外部インターフェイスカード搭載用の拡張スロットに接続された第１の外部インターフェイスカードにさらに接続された第１の外部機器との間で、ＤＭＡ方式による第１のデータ転送を行わせ、
前記第２のコプロセッサ搭載用の拡張スロットに接続された第２のコプロセッサと前記第２の外部インターフェイスカード搭載用の拡張スロットに接続された第２の外部インターフェイスカードにさらに接続された第２の外部機器との間で、ＤＭＡ方式による第２のデータ転送を行わせる
密結合マルチプロセッサシステムの制御方法。
【請求項１２】
前記第１のメインプロセッサは、前記第１のコプロセッサ搭載用の拡張スロットに接続される第１の入出力制御部と、前記第１の外部インターフェイスカード搭載用の拡張スロットに接続される第２の入出力制御部と、前記第１の入出力制御部と前記第２の入出力制御部と前記プロセッサ間インターフェイスとに接続される第１のクロスバスイッチ部とを有し、
前記第２のメインプロセッサは、前記第２のコプロセッサ搭載用の拡張スロットに接続される第３の入出力制御部と、前記第２の外部インターフェイスカード搭載用の拡張スロットに接続される第４の入出力制御部と、前記第３の入出力制御部と前記第４の入出力制御部と前記プロセッサ間インターフェイスとに接続される第２のクロスバスイッチ部とを有し、
前記第１のデータ転送は、前記第１の入出力制御部、前記第１のクロスバスイッチ部、および前記第２の入出力制御部を経由して行われ、
前記第２のデータ転送は、前記第３の入出力制御部、前記第２のクロスバスイッチ部、および前記第４の入出力制御部を経由して行われる
請求項１１に記載の密結合マルチプロセッサシステムの制御方法。
【請求項１３】
前記第１のメインプロセッサは、前記第１のコプロセッサ搭載用の拡張スロットと前記第１の外部インターフェイスカード搭載用の拡張スロットとがそれぞれ異なるダウンストリームポートに接続され、アップストリームポートが前記第１のメインプロセッサの入出力制御部に接続される第１のスイッチを有し、
前記第２のメインプロセッサは、前記第２のコプロセッサ搭載用の拡張スロットと前記第２の外部インターフェイスカード搭載用の拡張スロットとがそれぞれ異なるダウンストリームポートに接続され、アップストリームポートが前記第２のメインプロセッサの入出力制御部に接続される第２のスイッチを有し、
前記第１のデータ転送は、前記第１のスイッチを経由して行われ、
前記第２のデータ転送は、前記第２のスイッチを経由して行われる
請求項１１に記載の密結合マルチプロセッサシステムの制御方法。
【請求項１４】
前記第１のデータ転送と前記第２のデータ転送とを並行して行わせる
請求項１１乃至１３の何れかに記載の密結合マルチプロセッサシステムの制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のメインプロセッサをプロセッサ間インターフェイスで接続して構成される密結合マルチプロセッサシステム、およびその制御方法に関する。
【背景技術】
【０００２】
コンピュータシステムの処理性能を向上させるために、主たる処理を司るプロセッサとは別に、特定分野に特化した演算を高速に実行するコプロセッサをハードウェア的に実装する手法がある。このようなコプロセッサの例として、ＧＰＧＰＵ(General Purpose Graphic Processing Unit)がある。ＧＰＧＰＵは、グラフィック用のＧＰＵを汎用の数値計算に利用できるようにしたものであり、代表的な製品に、Ｔｅｓｌａ（登録商標、ＮＶＩＤＩＡ社）やＲａｄｅｏｎ（登録商標、ＡＭＤ社）がある。通常、ＧＰＧＰＵは、単独では利用できず、必ずＣＰＵ（Central Processing Unit）と組み合わせて利用する。より具体的には、外部機器からデータを主記憶に一旦ロードしてからＣＰＵで処理を開始し、部分的にＧＰＧＰＵに処理をオフロードする。ＧＰＧＰＵによって処理されたデータは、再び主記憶に格納される。しかし、外部機器からのデータを主記憶を経由してＧＰＧＰＵに転送すると、データ転送時のオーバーヘッドが大きくなる。
【０００３】
そこで、外部機器とＧＰＧＰＵ等のコプロセッサ間におけるデータ授受のためのオーバーヘッドを短縮した密結合マルチプロセッサシステムの一例が特許文献１に記載されている。特許文献１に記載の密結合マルチプロセッサシステムは、複数のプロセッサコアを有するメインプロセッサと、主記憶と、外部機器との接続を行う入出力インターフェイス回路と、プロセッサエレメントとを有する（例えば特許文献１の図１参照）。
【０００４】
メインプロセッサが有する複数のプロセッサコアは、内部バスまたはクロスバースイッチにて接続されている。またメインプロセッサは、主記憶とはメモリバスを通じて接続される。さらにメインプロセッサは、入出力インターフェイス回路およびプロセッサエレメントとはＰＣＩ‐Ｅｘｐｒｅｓｓ等の外部インターフェイスを通じて接続される。
【０００５】
プロセッサエレメントは、プロセッサコアからの命令により動作するコプロセッサである。またプロセッサエレメントは、大量のデータを処理するためのローカルメモリを有する。このローカルメモリは、プロセッサエレメントおよび各プロセッサコアから直接アクセスが可能である。またローカルメモリは、外部機器との接続を行う入出力インターフェイス回路との間で大量のデータをＤＭＡ（Direct Memory Access）転送することが可能である。
【０００６】
また特許文献１では、演算性能の一層の向上を図るために、複数のプロセッサエレメントを外部インターフェイスを通じて上記メインプロセッサに接続している（例えば特許文献１の図３参照）。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２０１０−２７２０６６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
特許文献１に記載されるようにＧＰＧＰＵ等のコプロセッサのローカルメモリと外部機器との接続を行う入出力インターフェイス回路との間で主記憶を介さずにデータを直接に転送することにより、外部機器とコプロセッサのローカルメモリとの間のデータ転送のレイテンシを短縮することができる。
【０００９】
しかしながら、性能の向上を図るためにコプロセッサの台数を増やす場合、特許文献１の図３に記載されるようにコプロセッサの数を単に増加させるだけでは、十分な性能の向上は期待できない。その理由は、同じ入出力インターフェイス回路を複数のコプロセッサで使用するため、コプロセッサあたりの転送速度が遅くなるためである。
【００１０】
本発明の目的は、上述したような課題、すなわちコプロセッサの数を単に増加させるだけでは十分な性能向上は望めない、という課題を解決する密結合マルチプロセッサシステムを提供することにある。
【課題を解決するための手段】
【００１１】
本発明の一形態にかかる密結合マルチプロセッサシステムは、
複数のメインプロセッサをプロセッサ間インターフェイスで接続して構成される密結合マルチプロセッサシステムであって、
それぞれの上記メインプロセッサは、
コプロセッサ搭載用の拡張スロットと外部インターフェイスカード搭載用の拡張スロットとのペアを１組以上備える。
また、本発明の他の形態にかかる密結合マルチプロセッサシステムの制御方法は、
第１のコプロセッサ搭載用の拡張スロットと第１の外部インターフェイスカード搭載用の拡張スロットとを備える第１のメインプロセッサと、
上記第１のメインプロセッサとプロセッサ間インターフェイスで接続され、第２のコプロセッサ搭載用の拡張スロットと第２の外部インターフェイスカード搭載用の拡張スロットとを備える第２のメインプロセッサと
から構成される密結合マルチプロセッサシステムの制御方法であって、
上記第１のコプロセッサ搭載用の拡張スロットに接続された第１のコプロセッサと上記第１の外部インターフェイスカード搭載用の拡張スロットに接続された第１の外部インターフェイスカードにさらに接続された第１の外部機器との間で、ＤＭＡ方式による第１のデータ転送を行い、
上記第２のコプロセッサ搭載用の拡張スロットに接続された第２のコプロセッサと上記第２の外部インターフェイスカード搭載用の拡張スロットに接続された第２の外部インターフェイスカードにさらに接続された第２の外部機器との間で、ＤＭＡ方式による第２のデータ転送を行う。
【発明の効果】
【００１２】
本発明は上述したような構成を有するため、外部機器との接続を行う入出力インターフェイスカードとコプロセッサとをペアにして、コンピュータシステムの機能を拡張することができる。このため、コプロセッサ数を増加した場合に、外部機器との接続を行う入出力インターフェイスカードを複数のコプロセッサ間で奪い合うことがなくなり、コンピュータシステムの大幅な性能の向上が期待できる。
【図面の簡単な説明】
【００１３】
【図１】本発明の第１の実施形態にかかるコンピュータシステムのブロック図である。
【図２】本発明の第２の実施形態にかかるコンピュータシステムのブロック図である。
【図３】本発明の第２の実施形態にかかる機能拡張後のコンピュータシステムのブロック図である。
【図４】本発明の第３の実施形態にかかるコンピュータシステムのブロック図である。
【図５】本発明の第３の実施形態にかかるコンピュータシステムがシステム立ち上げ時に実施する入出力制御部のポート設定処理の説明図である。
【図６】本発明の第３の実施形態にかかる機能拡張後のコンピュータシステムのブロック図である。
【図７】本発明の第４の実施形態にかかるコンピュータシステムのブロック図である。
【図８】本発明の第４の実施形態にかかる機能拡張後のコンピュータシステムのブロック図である。
【図９】本発明に関連するコンピュータシステムのブロック図である。
【図１０】本発明に関連する他のコンピュータシステムのブロック図である。
【図１１】本発明に関連する別のコンピュータシステムのブロック図である。
【図１２】本発明に関連する更に別のコンピュータシステムのブロック図である。
【発明を実施するための形態】
【００１４】
次に本発明の実施の形態について図面を参照して詳細に説明する。
[第１の実施形態]
図１を参照すると、本発明の第１の実施形態にかかるコンピュータシステム１０は、メインプロセッサ１１とメインプロセッサ１２とがプロセッサ間インターフェイス１３を通じて接続された密結合マルチプロセッサシステムである。
【００１５】
メインプロセッサ１１、１２は、コンピュータシステム１０の主たる処理を司るプロセッサである。一方のメインプロセッサ１１は、コプロセッサ搭載用の拡張スロット１４と外部インターフェイスカード搭載用の拡張スロット１５とを有する。他方のメインプロセッサ１２は、コプロセッサ搭載用の拡張スロット１６と外部インターフェイスカード搭載用の拡張スロット１７とを有する。
【００１６】
本実施形態にかかるコンピュータシステム１０は、２つのメインプロセッサを接続して構成したが、接続するメインプロセッサの数は２つに限定されず、３つ以上であってもよい。
【００１７】
また本実施形態では、それぞれのメインプロセッサに、コプロセッサ搭載用の拡張スロットと外部インターフェイスカード搭載用の拡張スロットとのペアを１組だけ備えるようにしたが、そのようなペアを２組以上備えるようにしてもよい。
【００１８】
本実施形態にかかるコンピュータシステム１０は、それぞれのメインプロセッサ１１、１２が、コプロセッサ搭載用の拡張スロット１４、１６と外部インターフェイスカード搭載用の拡張スロット１５、１７とのペアを有する。このため、外部機器との接続を行う入出力インターフェイスカードとコプロセッサとをペアにして、コンピュータシステム１０の機能を拡張することができる。従って、コプロセッサの数を増加した場合に、外部機器との接続を行う入出力インターフェイスカードを複数のコプロセッサ間で奪い合うことがなくなり、コンピュータシステムの大幅な性能の向上が期待できる。
【００１９】
[第２の実施形態]
図２を参照すると、本発明の第２の実施形態にかかるコンピュータシステム１００は、メインプロセッサ１１０とメインプロセッサ１２０とがプロセッサ間インターフェイス１３０を通じて接続された密結合マルチプロセッサシステムである。
【００２０】
メインプロセッサ１１０、１２０は、コンピュータシステム１００の主たる処理を司るプロセッサである。一方のメインプロセッサ１１０は、コプロセッサ搭載用の拡張スロット１４０と外部インターフェイスカード搭載用の拡張スロット１５０とを有する。他方のメインプロセッサ１２０は、コプロセッサ搭載用の拡張スロット１６０と外部インターフェイスカード搭載用の拡張スロット１７０とを有する。
【００２１】
メインプロセッサ１１０と拡張スロット１４０、１５０とは外部インターフェイスを介して接続される。同様にメインプロセッサ１２０と拡張スロット１６０、１７０とは外部インターフェイスを介して接続される。外部インターフェイスは、ＰＣＩ‐ＥｘｐｒｅｓｓやＳｅｒｉａｌ  ＲａｐｉｄＩＯ等のシリアル方式であってもよいし、ＰＣＩｂｕｓ等のパラレル方式であってもよい。
【００２２】
外部インターフェイスカード搭載用の拡張スロットとは、外部インターフェイスカードを物理的および電気的に接続して当該外部インターフェイスカードの機能をシステムに組み入れることができるＩ／Ｏ（Input/Output）スロットの意味であり、外部インターフェイスカード専用か否かは問わない。外部インターフェイスカード搭載用の拡張スロットは、外部インターフェイスカードのコネクタ（オスコネクタ）を物理的および電気的に接続するコネクタ（メスコネクタ）と当該外部インターフェイスカード接続用のスペースとから構成される。外部インターフェイスカードには、その名の通り外部のスイッチやデバイスにつながるケーブルが接続される。例えば、イーサネットのネットワークインターフェイス制御カードでは、イーサネットケーブルが接続される。また、インフィニバンド（Infiniband）のホストチャンネルアダプタ（HCA）カードでは、インフィニバンド・ケーブルが接続される。このため、外部インターフェイスカードを接続した状態で当該カードの接続ケーブルを使用するのが困難な拡張スロットは、外部インターフェイスカード搭載用とは言えない。例えば、ラックマウント型サーバコンピュータでは、拡張スロット用のコネクタ（メスコネクタ）に外部インターフェイスカードを接続した場合に、当該外部インターフェイスカード上に設けられた接続ケーブルを接続するためのコネクタがサーバ筐体の前面または背面に接する（対向する）ようになる場合、当該拡張スロットは、外部インターフェイスカード搭載用の拡張スロットとして使用できる。しかし、拡張スロット用のコネクタ（メスコネクタ）に外部インターフェイスカードを接続した場合に、当該外部インターフェイスカード上に設けられた接続ケーブルを接続するためのコネクタがサーバ筐体の前面および背面に接しない（対向しない）場合、当該拡張スロットは、接続ケーブルを外部機器に接続することが困難であるため外部インターフェイスカード搭載用ではない。
【００２３】
また、コプロセッサ搭載用の拡張スロットとは、コプロセッサを物理的および電気的に接続して当該コプロセッサの機能をシステムに組み入れることができるＩ／Ｏスロットの意味であり、コプロセッサ専用か否かは問わない。コプロセッサ搭載用の拡張スロットは、コプロセッサ側のコネクタ（オスコネクタ）を物理的および電気的に接続するコネクタ（メスコネクタ）と当該コプロセッサ接続用のスペースとから構成される。コプロセッサは、外部インターフェイスカードと異なり、外部とつながるケーブルは一般的には接続されていないので、ケーブルの接続に起因する設置場所の制約はない。しかし、コプロセッサは、外部インターフェイスカードに比べて、一般的に縦、横、および奥行ともサイズが大きいため、コプロセッサ搭載用の十分なスペースが確保されている必要がある。従って、十分な空きスペースが確保されていない拡張スロットは、コプロセッサを物理的に接続できないので、コプロセッサ搭載用とは言えない。また、互いに隣接する２つの拡張スロットのうちの何れか一方にコプロセッサを接続すると、その接続したコプロセッサが物理的に干渉して他方の拡張スロットが犠牲になる（使用できなくなる）場合がある。このような２つの拡張スロットは、全体で１つのコプロセッサ搭載用の拡張スロットとして扱うか、或いは２つの外部インターフェイスカード搭載用の拡張スロットとして扱う必要がある。
【００２４】
上述したように本実施形態のコンピュータシステム１００は、メインプロセッサ１１０がコプロセッサ搭載用の拡張スロット１４０と外部インターフェイスカード搭載用の拡張スロット１５０とのペアを有すると共に、メインプロセッサ１２０がコプロセッサ搭載用の拡張スロット１６０と外部インターフェイスカード搭載用の拡張スロット１７０とのペアを有する。このため、外部機器との接続を行う入出力インターフェイスカードとコプロセッサとをペアにして、コンピュータシステムの機能を拡張することができる。
【００２５】
図３は、機能拡張後のコンピュータシステム１００の構成を示す。図３では、メインプロセッサ１１０のコプロセッサ搭載用の拡張スロット１４０にコプロセッサ１４１が接続され、同じメインプロセッサ１１０の外部インターフェイスカード搭載用の拡張スロット１５０に、コプロセッサ１４１と組み合わせて使用する外部インターフェイスカード１５１が接続されている。また、この外部インターフェイスカード１５１の接続ケーブル１５２を通じて外部機器１５３が接続されている。他方、メインプロセッサ１２０のコプロセッサ搭載用の拡張スロット１６０にコプロセッサ１６１が接続され、同じメインプロセッサ１２０の外部インターフェイスカード搭載用の拡張スロット１７０に、コプロセッサ１６１と組み合わせて使用する外部インターフェイスカード１７１が接続されている。また、この外部インターフェイスカード１７１の接続ケーブル１７２を通じて外部機器１７３が接続されている。
【００２６】
コプロセッサ１４１、１６１は、大量のデータを処理するためのローカルメモリ１４２、１６２と、ＤＭＡＣ（Direct Memory Access Controller）１４３、１６３とを有する。また、外部インターフェイスカード１５１、１７１は、ＤＭＡＣ１５４、１７４を有する。コプロセッサ１４１、１６１には、例えば、インテル社のＭＩＣ(Many Integrated Core)を使用することができる。ＭＩＣは、限定された命令しか動作しないＧＰＧＰＵと異なり、ＣＰＵ（Ｘｅｏｎ（登録商標））と同じ命令を実行することができ、且つ、メインルーチンを実行することができる。そのため、ＭＩＣは、ＣＰＵのアクセラレータとしてしか使えないＧＰＧＰＵと違って、小規模なＣＰＵコアとして使用することができる。さらにＭＩＣは、ローカルメモリを有し、このローカルメモリに外部からＤＭＡ転送が行える。但し、本発明で使用するコプロセッサは、ＭＩＣのような種類のコプロセッサに限定されず、ＧＰＧＰＵや特許文献１に記載のプロセッサエレメントのようなＣＰＵからの命令で動作する種類のコプロセッサであってもよい。
【００２７】
コプロセッサ１４１のローカルメモリ１４２は、コプロセッサ１４１からリード命令およびライト命令等によって直接アクセスできると共に、図２の矢印Ｐ１に示すように、外部インターフェイスカード１５１からメインプロセッサ１１０内の図示しない内部バスあるいはクロスバスイッチ等を介してＤＭＡ方式によって直接アクセスすることが可能である。このＤＭＡ転送は、ＤＭＡＣ１４３およびＤＭＡＣ１５４の何れか一方を使用して行うことが可能である。また、メインプロセッサ１１０が有する図示しないＤＭＡＣを使用して上記ＤＭＡ転送を制御することも可能である。
【００２８】
また、コプロセッサ１６１のローカルメモリ１６２は、コプロセッサ１６１からリード命令およびライト命令等によって直接アクセスできると共に、図２の矢印Ｐ２に示すように、外部インターフェイスカード１７１からメインプロセッサ１２０内の図示しない内部バスあるいはクロスバスイッチ等を介してＤＭＡ方式によって直接アクセスすることが可能である。このＤＭＡ転送は、ＤＭＡＣ１６３およびＤＭＡＣ１７４の何れか一方を使用して行うことが可能である。また、メインプロセッサ１２０が有する図示しないＤＭＡＣを使用して上記ＤＭＡ転送を制御することも可能である。
【００２９】
そして、上記２つのＤＭＡ転送は並列に実行することが可能である。このため、コプロセッサ１４１で処理すべき大量のデータを外部インターフェイスカード１５１を通じて外部機器１５３からローカルメモリ１４２に転送する動作と、コプロセッサ１６１で処理すべき大量のデータを外部インターフェイスカード１７１を通じて外部機器１７３からローカルメモリ１６２に転送する動作とを並行して行うことができる。そして、コプロセッサ１４１、１６１は、それぞれのローカルメモリ１４２、１６２に記憶されたデータに対してそれぞれ独立に演算処理を施すことが可能である。
【００３０】
また、コプロセッサ１４１による処理済みの大量のデータを外部インターフェイスカード１５１を通じてローカルメモリ１４２から外部機器１５３に転送する動作と、コプロセッサ１６１による処理済みの大量のデータを外部インターフェイスカード１７１を通じてローカルメモリ１６２から外部機器１７３に転送する動作とを並行して行うことができる。
【００３１】
これに対して、図９に示すコンピュータシステム１００Ａのように、１つのメインプロセッサ１１０に２つのコプロセッサ搭載用の拡張スロット１４０と１つの外部インターフェイスカード搭載用の拡張スロット１５０とを備える構成では、外部機器１５３との接続を行う入出力インターフェイスカード１５１を複数のコプロセッサ１４１が共有して使用しなければならないため、外部機器１５３との接続を行う入出力インターフェイスカード１５１とコプロセッサ１４１との間のデータ転送を並列に実行した場合、それぞれのコプロセッサにとって十分な転送性能を得られないという問題がある。
【００３２】
また、図１０に示すコンピュータシステム１００Ｂのように、一方のメインプロセッサ１１０に２つの外部インターフェイスカード搭載用の拡張スロット１５０を備え、他方のメインプロセッサ１２０に２つのコプロセッサ搭載用の拡張スロット１６０を備える構成では、外部インターフェイスカード１５０とコプロセッサ１６１との間でデータ転送を行う場合、図１０の矢印Ｐ１、Ｐ２に示すように、プロセッサ間インターフェイス１３０を必ず経由しなければならない。このため、プロセッサ間インターフェイス１３０がスループット上のボトルネックになり、データ転送のレイテンシが悪化する。これに対して図２および図３に示す本実施形態にかかるコンピュータシステム１００では、図２の矢印Ｐ１、Ｐ２に示す経路でデータ転送が行われるため、プロセッサ間インターフェイス１３０経由によるレイテンシの悪化を避けることができる。
【００３３】
本実施形態にかかるコンピュータシステム１００は、２つのメインプロセッサを接続して構成したが、接続するメインプロセッサの数は２つに限定されず、３つ以上であってもよい。
【００３４】
また本実施形態では、それぞれのメインプロセッサに、コプロセッサ搭載用の拡張スロットと外部インターフェイスカード搭載用の拡張スロットとのペアを１組だけ備えるようにしたが、そのようなペアを２組以上備えるようにしてもよい。
【００３５】
次に本実施形態の効果を説明する。本実施形態にかかるコンピュータシステム１００は、それぞれのメインプロセッサ１１０、１２０が、コプロセッサ搭載用の拡張スロット１４０、１６０と外部インターフェイスカード搭載用の拡張スロット１５０、１７０とのペアを有する。このため、外部機器１５３、１７３との接続を行う入出力インターフェイスカード１５１、１７１とコプロセッサ１４１、１６１とをペアにして、コンピュータシステム１００の機能を拡張することができる。従って、コプロセッサの数を増加した場合に、外部機器との接続を行う入出力インターフェイスカードを複数のコプロセッサ間で奪い合うことがなくなり、コンピュータシステムの大幅な性能の向上が期待できる。
【００３６】
また本実施形態にかかるコンピュータシステム１００は、拡張スロット１４０、１６０に接続されたコプロセッサ１４１、１６１と、当該拡張スロット１４０、１６０を有するメインプロセッサに設けられた他の拡張スロット１５０、１７０に外部インターフェイスカード１５１、１７１を通じて接続された外部機器１５３、１７３との間で、ＤＭＡ転送を行うため、プロセッサ間インターフェイス１３０経由によるＤＭＡ転送と違ってレイテンシの悪化がない。従って、外部装置のデータをその処理を行うコプロセッサのローカルメモリに転送する場合、およびその反対に処理済みのデータをコプロセッサのローカルメモリから外部装置へ転送する場合のデータ転送のレイテンシが向上する。
【００３７】
[第３の実施形態]
図４を参照すると、本発明の第３の実施形態にかかるコンピュータシステム２００は、ＣＰＵソケット２１０とＣＰＵソケット２２０との２つのＣＰＵソケットを有する２ソケットサーバコンピュータである。
【００３８】
ＣＰＵソケット２１０とＣＰＵソケット２２０とは、ＣＰＵソケット間インターフェイス２３０で接続される。ＣＰＵソケット間インターフェイス２３０は、例えばＱＰＩ（Quickpath Interconnect）を使用することができる。しかし、本発明はそのような特定のＣＰＵソケット間インターフェイスに限定されない。
【００３９】
一方のＣＰＵソケット２１０は、１または複数のプロセッサコア２１１と、このプロセッサコア２１１に接続されたキャッシュメモリ２１２と、主記憶制御部２１３と、複数のＩ／Ｏ制御部２１４、２１５と、サウスブリッジ（South Bridge）用のＩ／Ｏ制御部２１７と、上記キャッシュメモリ２１２、主記憶制御部２１３、Ｉ／Ｏ制御部２１４、２１５、２１７、およびＣＰＵソケット間インターフェイス２３０に接続されたクロスバスイッチ部２１６とを有する。また、ＣＰＵソケット２１０の主記憶制御部２１３にはメモリバスを通じて主記憶メモリ２８０が接続され、Ｉ／Ｏ制御部２１７にはＤＭＩ（Digital Media Interface）等のインターフェイスを通じてサウスブリッジ２１８が接続されている。さらに、ＣＰＵソケット２１０の１つのＩ／Ｏ制御部２１４にはコプロセッサ搭載用の拡張スロット２４０が接続され、他の１つのＩ／Ｏ制御部２１５には外部インターフェイスカード搭載用の拡張スロット２５０が接続されている。サウスブリッジ２１８は、ＣＰＵソケット２１０（メインプロセッサ）と組み合わせてコンピュータシステムを構成するチップで、ＣＰＵソケット２１０が有していない補完的な機能を有する。例えば、ＣＰＵソケット２１０は、コンピュータシステムの起動（ブート）にこのサウスブリッジ２１８の機能を利用する場合がある。なお、サウスブリッジ２１８は、ＣＰＵソケット２１０に内蔵されていてもよいし、あるいは削除されていてもよい。いずれにしても、ＣＰＵソケット２１０は、コンピュータシステムの起動（ブート）を行う機能を持つＣＰＵソケットである。
【００４０】
他方のＣＰＵソケット２２０は、１または複数のプロセッサコア２２１と、このプロセッサコア２２１に接続されたキャッシュメモリ２２２と、主記憶制御部２２３と、複数のＩ／Ｏ制御部２２４、２２５と、上記キャッシュメモリ２２２、主記憶制御部２２３、Ｉ／Ｏ制御部２２４、２２５、およびＣＰＵソケット間インターフェイス２３０に接続されたクロスバスイッチ部２２６とを有する。また、ＣＰＵソケット２２０の主記憶制御部２２３にはメモリバスを通じて主記憶メモリ２９０が接続されている。さらに、ＣＰＵソケット２２０の１つのＩ／Ｏ制御部２２４にはコプロセッサ搭載用の拡張スロット２６０が接続され、他の１つのＩ／Ｏ制御部２２５には外部インターフェイスカード搭載用の拡張スロット２７０が接続されている。
【００４１】
主記憶メモリ２８０、２９０は、例えばＤＩＭＭ（Dual Inline Memory Module）である。ＣＰＵソケット２１０、２２２のプロセッサコア２１１、２２１は、自ＣＰＵソケットに接続された主記憶メモリ２８０、２９０をアクセスすることができると共に、他ＣＰＵソケットに接続された主記憶メモリ２９０、２８０をＣＰＵソケット間インターフェイス２３０を通じてアクセスすることができる。但し、後者のアクセス速度は前者よりも遅い。すなわち、コンピュータシステム２００は、ＮＵＭＡ（Non-Uniform Memory Access）アーキテクチャを採用している。
【００４２】
またコンピュータシステム２００は、ＰＣＩ‐Ｅｘｐｒｅｓｓに準拠した外部インターフェイスを有する。ＰＣＩ‐Ｅｘｐｒｅｓｓでは、送受信の１組の作動ペアをレーンと呼び、１レーン、４レーン、８レーン、１６レーンなどのバリエーションで１つのリンクを構成している。以下、Ｎレーンで構成されたリンクをｘＮリンクと呼ぶ。
【００４３】
ＧＰＧＰＵやＭＩＣなどのコプロセッサは、一般にｘ１６リンクに対応している。他方、イーサネット等のほぼ全ての外部インターフェイスカードは、ｘ４リンクまたはｘ８リンクに対応しており、ｘ１６リンクに対応する外部インターフェイスカードは現時点では存在していない。しかし、コプロセッサがｘ１６リンク対応で、それとペアにして使用する外部インターフェイスカードがｘ４リンク対応あるいはｘ８リンク対応のカードしか増設できない場合、コプロセッサの性能を十分に活用することは困難である。そこで、本実施形態では、ｘ１６リンク対応の外部インターフェイスカードの増設が行えるように、外部インターフェイスカード搭載用の拡張スロットのレーン数を１６とする。但し、本発明は、レーン数が１６の拡張スロットに限定されない。
【００４４】
図５は、ＣＰＵソケット２１０が有する外部インターフェイスのレーンとリンクの関係を示す。ＣＰＵソケット２１０は、レーン＃０からレーン＃３９まで合計４０のレーンを有する。ＣＰＵソケット２１０は、システムの立ち上げ時に静的にＩ／Ｏポートのレーン数を設定することができる。例えば、隣接する４レーンを１個のｘ４リンクのＩ／Ｏポートとして動作するように設定することができる。また、ｘ４リンクを２個分束ねて１個のｘ８リンクのＩ／Ｏポートとして設定することができる。さらに、ｘ８リンクのＩ／Ｏポートを２個分束ねて１個のｘ１６リンクのＩ／Ｏポートとして設定することができる。本実施形態では、ＣＰＵソケット２１０は、ｘ１６リンクのＩ／Ｏポートを２個生成し、その一方のＩ／Ｏポートをコプロセッサ搭載用の拡張スロット２４０を制御するＩ／Ｏ制御部２１４に割り当て、他方を外部インターフェイスカード搭載用の拡張スロット２５０を制御するＩ／Ｏ制御部２１５に割り当てる。
【００４５】
ＣＰＵソケット２２０もＣＰＵソケット２１０と同様に合計４０のレーンを有し、１つのｘ１６リンクのＩ／Ｏポートをコプロセッサ搭載用の拡張スロット２６０を制御するＩ／Ｏ制御部２２４に割り当て、もう１つのｘ１６リンクのＩ／Ｏポートを外部インターフェイスカード搭載用の拡張スロット２７０を制御するＩ／Ｏ制御部２２５に割り当てる。なお、本実施形態では、ＣＰＵソケット２１０、２２０は、合計４０のレーンを有するものとした。しかし、本発明は、１個のＣＰＵソケットが有する外部インターフェイスのレーン数の合計は４０に限定されず、それ以下あるいはそれ以上であってもよく、またそれぞれのＣＰＵソケットのレーン数が相違していてもよい。
【００４６】
このように、本実施形態では、コプロセッサ搭載用の拡張スロット２４０、２６０と外部インターフェイスカード搭載用の拡張スロット２５０、２６０とは、ｘ１６リンクのＩ／Ｏポートを有するＩ／Ｏ制御部２１４、２２４に接続されている。従って、ｘ１６リンクに対応するコプロセッサとｘ１６リンクに対応する外部インターフェイスカードとをペアにしてコンピュータシステム２００の機能の拡張が可能になる。
【００４７】
また一般的に、ｘ４リンクまたはｘ８リンクに対応する外部インターフェイスカードを、ｘ１６リンクに対応する拡張スロットに接続すると、拡張スロットはｘ４リンクまたはｘ８リンクとして動作する。従って、本実施形態では、換言すると、ｘ１６リンクに対応するコプロセッサとｘ４あるいはｘ８あるいはｘ１６リンクに対応する外部インターフェイスカードとをペアにしてコンピュータシステム２００の機能の拡張が可能であると言える。
【００４８】
図６は、機能拡張後のコンピュータシステム２００の構成を示す。図６では、ＣＰＵソケット２１０のコプロセッサ搭載用の拡張スロット２４０にｘ１６リンク対応のコプロセッサ２４０が接続され、同じＣＰＵソケット２１０の外部インターフェイスカード搭載用の拡張スロット２５０に、コプロセッサ２４１と組み合わせて使用するｘ１６リンク対応の外部インターフェイスカード２５１が接続されている。また、この外部インターフェイスカード２５１の接続ケーブル２５２を通じて外部機器２５３が接続されている。他方、ＣＰＵソケット２２０のコプロセッサ搭載用の拡張スロット２６０にｘ１６リンク対応のコプロセッサ２６１が接続され、同じＣＰＵソケット２１０の外部インターフェイスカード搭載用の拡張スロット２７０に、コプロセッサ２６１と組み合わせて使用するｘ１６リンク対応の外部インターフェイスカード２７１が接続されている。また、この外部インターフェイスカード２７１の接続ケーブル２７２を通じて外部機器２７３が接続されている。
【００４９】
コプロセッサ２４１、２６１は、大量のデータを処理するためのローカルメモリ２４２、２６２と、ＤＭＡＣ２４３、２６３とを有する。また、外部インターフェイスカード２５１、２７１は、ＤＭＡＣ２５４、２７４を有する。
【００５０】
コプロセッサ２４１のローカルメモリ２４２は、コプロセッサ２４１からリード命令およびライト命令等によって直接アクセスできると共に、図６の矢印Ｐ１に示すように、外部インターフェイスカード２５１からＣＰＵソケット２１０内のＩ／Ｏ制御部２１４およびクロスバスイッチ部２１５を介してＤＭＡ方式によって直接アクセスすることが可能である。このＤＭＡ転送は、ＤＭＡＣ２４３およびＤＭＡＣ２５４の何れか一方を使用して行うことが可能である。また、ＣＰＵソケット２１０のクロスバスイッチ部２１５に接続された図示しないＤＭＡＣを使用して上記ＤＭＡ転送を制御することも可能である。
【００５１】
また、コプロセッサ２６１のローカルメモリ２６２は、コプロセッサ２６１からリード命令およびライト命令等によって直接アクセスできると共に、図６の矢印Ｐ２に示すように、外部インターフェイスカード２７１からメインプロセッサ２２０内のＩ／Ｏ制御部２２４およびクロスバスイッチ部２２５を介してＤＭＡ方式によって直接アクセスすることが可能である。このＤＭＡ転送は、ＤＭＡＣ２６３およびＤＭＡＣ２７４の何れか一方を使用して行うことが可能である。また、ＣＰＵソケット２２０のクロスバスイッチ部２２５に接続された図示しないＤＭＡＣを使用して上記ＤＭＡ転送を制御することも可能である。
【００５２】
そして、上記２つのＤＭＡ転送は並列に実行することが可能である。このため、コプロセッサ２４１で処理すべき大量のデータを外部インターフェイスカード２５１を通じて外部機器２５３からローカルメモリ２４２に転送する動作と、コプロセッサ２６１で処理すべき大量のデータを外部インターフェイスカード２７１を通じて外部機器２７３からローカルメモリ２６２に転送する動作とを並行して行うことができる。そして、コプロセッサ２４１、２６１は、それぞれのローカルメモリ２４２、２６２に記憶されたデータに対してそれぞれ独立に演算処理を施すことが可能である。
【００５３】
また、コプロセッサ２４１による処理済みの大量のデータをローカルメモリ２４２から外部インターフェイスカード２５１を通じて外部機器２５３に転送する動作と、コプロセッサ２６１による処理済みの大量のデータをローカルメモリ２６２から外部インターフェイスカード２７１を通じて外部機器２７３に転送する動作とを並行して行うことができる。
【００５４】
これに対して、図１１に示すコンピュータシステム２００Ａのように、１つのＣＰＵソケット２１０に２つのコプロセッサ搭載用の拡張スロット２４０と１つの外部インターフェイスカード搭載用の拡張スロット２５０とを備える構成では、外部機器２５３との接続を行う入出力インターフェイスカード２５１を複数のコプロセッサ２４１が同時に使用できないため、外部機器２５３との接続を行う入出力インターフェイスカード２５１とコプロセッサ２４１との間のデータ転送を並列に実行した場合、それぞれのコプロセッサにとって十分な転送性能を得られないという問題がある。
【００５５】
また、図１２に示すコンピュータシステム２００Ｂのように、一方のＣＰＵソケット２１０に２つの外部インターフェイスカード搭載用の拡張スロット２５０を備え、他方のＣＰＵソケット２２０に２つのコプロセッサ搭載用の拡張スロット２６０を備える構成では、外部インターフェイスカード２５１とコプロセッサ２６１との間でデータ転送を行う場合、図１２の矢印Ｐ１、Ｐ２に示すように、ＣＰＵソケット間インターフェイス２３０を必ず経由しなければならない。このため、ＣＰＵソケット間インターフェイス２３０がスループット上のボトルネックになり、データ転送のレイテンシが悪化する。これに対して図６に示す本実施形態にかかるコンピュータシステム２００では、図６の矢印Ｐ１、Ｐ２に示す経路でデータ転送が行われるため、プロセッサ間インターフェイス２３０経由によるレイテンシの悪化を避けることができる。
【００５６】
本実施形態にかかるコンピュータシステム２００は、２つのＣＰＵソケットを接続して構成したが、接続するＣＰＵソケットは２つに限定されず、３つ以上であってもよい。
【００５７】
また本実施形態では、それぞれのＣＰＵソケットに、コプロセッサ搭載用の拡張スロットと外部インターフェイスカード搭載用の拡張スロットとのペアを１組だけ備えるようにしたが、そのようなペアを２組以上備えるようにしてもよい。
【００５８】
次に本実施形態の効果を説明する。本実施形態にかかるコンピュータシステム２００は、それぞれのＣＰＵソケット２１０、２２０が、コプロセッサ搭載用の拡張スロット２４０、２６０と外部インターフェイスカード搭載用の拡張スロット２５０、２７０とのペアを有する。このため、外部機器２５３、２７３との接続を行う入出力インターフェイスカード２５１、２７１とコプロセッサ２４１、２６１とをペアにして、コンピュータシステム２００の機能を拡張することができる。従って、コプロセッサの数を増加した場合に、外部機器との接続を行う入出力インターフェイスカードを複数のコプロセッサ間で奪い合うことがなくなり、コンピュータシステムの大幅な性能の向上が期待できる。
【００５９】
また本実施形態にかかるコンピュータシステム２００は、拡張スロット２４０、２６０に接続されたコプロセッサ２４１、２６１と、当該拡張スロット２４０、２６０を有するＣＰＵソケットと同じＣＰＵソケットの拡張スロット２５０、２７０に外部インターフェイスカード２５１、２７１を通じて接続された外部機器２５３、２７３との間で、ＤＭＡ転送を行うため、ＣＰＵソケット間インターフェイス２３０経由によるレイテンシの悪化がない。従って、外部装置のデータをその処理を行うコプロセッサのローカルメモリに転送する場合、およびその反対に処理済みのデータをコプロセッサのローカルメモリから外部装置へ転送する場合のレイテンシが向上する。
【００６０】
また本実施形態にかかるコンピュータシステム２００は、外部インターフェイスカード搭載用の拡張スロット２５０、２７０のレーン数が、ペアを構成するコプロセッサ搭載用の拡張スロット２４０、２６０のレーン数と同じであるため、コプロセッサの有するレーン数と同じレーン数を有する外部インターフェイスカードを増設することができる。このため、コプロセッサの有する性能を十分に活用することができる機能拡張が可能である。
【００６１】
[第４の実施形態]
図７を参照すると、本発明の第４の実施形態にかかるコンピュータシステム３００は、各ＣＰＵソケットのＩ／Ｏ制御部に接続されたＰＣＩ‐Ｅｘｐｒｅｓｓに準拠するスイッチに、コプロセッサ搭載用の拡張スロットと外部インターフェイスカード搭載用の拡張スロットとのペアが接続される点で、図４に示した本発明の第３の実施形態にかかるコンピュータシステム２００と相違する。
【００６２】
より詳細には、本実施形態のコンピュータシステム３００は、ＣＰＵソケット２１０のＩ／Ｏ制御部２１４にＰＣＩ‐Ｅｘｐｒｅｓｓに準拠するスイッチＳＷ１１が接続され、このスイッチＳＷ１１にコプロセッサ搭載用の拡張スロット２４０−１と外部インターフェイスカード搭載用の拡張スロット２５０−１とのペアが接続される。また、同じＣＰＵソケット２１０の別のＩ／Ｏ制御部２１５にＰＣＩ‐Ｅｘｐｒｅｓｓに準拠するスイッチＳＷ１２が接続され、このスイッチＳＷ１２にコプロセッサ搭載用の拡張スロット２４０−２と外部インターフェイスカード搭載用の拡張スロット２５０−２との別のペアが接続される。図４と相違し、ＣＰＵ２１０にはサウスブリッジが接続されていないが、接続されていてもよい。
【００６３】
さらに、他方のＣＰＵソケット２２０のＩ／Ｏ制御部２２４にＰＣＩ‐Ｅｘｐｒｅｓｓに準拠するスイッチＳＷ２１が接続され、このスイッチＳＷ２１にコプロセッサ搭載用の拡張スロット２６０−１と外部インターフェイスカード搭載用の拡張スロット２７０−１とのペアが接続される。さらにまた、同じＣＰＵソケット２２０の別のＩ／Ｏ制御部２２５にＰＣＩ‐Ｅｘｐｒｅｓｓに準拠するスイッチＳＷ２２が接続され、このスイッチＳＷ２２にコプロセッサ搭載用の拡張スロット２６０−２と外部インターフェイスカード搭載用の拡張スロット２７０−２との別のペアが接続される。
【００６４】
それぞれのスイッチＳＷ１１、ＳＷ１２、ＳＷ２１、ＳＷ２２は、１つのアップストリームポート（Upstream Port）と複数のダウンストリームポート（Downstream
Port）とを有する。アップストリームポートおよびダウンストリームポートのレーン数は１６である。それぞれのスイッチＳＷ１１、ＳＷ１２、ＳＷ２１、ＳＷ２２のアップストリームポートは、ＣＰＵソケットのＩ／Ｏ制御部２１４、２１５、２２４、２２５に接続される。また、それぞれのスイッチＳＷ１１、ＳＷ１２、ＳＷ２１、ＳＷ２２の１つのダウンストリームポートは、コプロセッサ搭載用の拡張スロット２４０−１、２４０−２、２６０−１、２６０−２に接続され、別の１つのダウンストリームポートは外部インターフェイスカード搭載用の拡張スロット２５０−１、２５０−２、２７０−１、２７０−２に接続される。
【００６５】
このように、本実施形態では、コプロセッサ搭載用の拡張スロット２４０、２６０と外部インターフェイスカード搭載用の拡張スロット２５０、２６０とは、ｘ１６リンクのポートを有するＩ／Ｏ制御部２１４、２２４に、ｘ１６リンクのアップストリームポートおよびダウンストリームポートを有するスイッチＳＷ１１、ＳＷ１２、ＳＷ２１、ＳＷ２２を通じて接続されている。従って、ｘ１６リンクに対応するコプロセッサとｘ１６リンクに対応する外部インターフェイスカードとをペアにしてコンピュータシステム３００の機能の拡張が可能になる。
【００６６】
図８は、機能拡張後のコンピュータシステム３００の構成を示す。図８では、スイッチＳＷ１１の１つのダウンストリームポートに接続されたコプロセッサ搭載用の拡張スロット２４０−１にｘ１６リンク対応のコプロセッサ２４１−１が接続され、同じスイッチＳＷ１１の別のダウンストリームポートに接続された外部インターフェイスカード搭載用の拡張スロット２５０−１に、コプロセッサ２４１−１と組み合わせて使用するｘ１６リンク対応の外部インターフェイスカード２５１−１が接続されている。また、この外部インターフェイスカード２５１−１の接続ケーブル２５２−１に外部機器２５３−１が接続されている。
【００６７】
また、スイッチＳＷ１２の１つのダウンストリームポートに接続されたコプロセッサ搭載用の拡張スロット２４０−２にｘ１６リンク対応のコプロセッサ２４１−２が接続され、同じスイッチＳＷ１２の別のダウンストリームポートに接続された外部インターフェイスカード搭載用の拡張スロット２５０−２に、コプロセッサ２４１−２と組み合わせて使用するｘ１６リンク対応の外部インターフェイスカード２５１−２が接続されている。また、この外部インターフェイスカード２５１−２の接続ケーブル２５２−２に外部機器２５３−２が接続されている。
【００６８】
さらに、スイッチＳＷ２１の１つのダウンストリームポートに接続されたコプロセッサ搭載用の拡張スロット２６０−１にｘ１６リンク対応のコプロセッサ２６１−１が接続され、同じスイッチＳＷ２１の別のダウンストリームポートに接続された外部インターフェイスカード搭載用の拡張スロット２７０−１に、コプロセッサ２６１−１と組み合わせて使用するｘ１６リンク対応の外部インターフェイスカード２７１−１が接続されている。また、この外部インターフェイスカード２７１−１の接続ケーブル２７２−１に外部機器２７３−１が接続されている。
【００６９】
またさらに、スイッチＳＷ２２の別の１つのダウンストリームポートに接続されたコプロセッサ搭載用の拡張スロット２６０−２にｘ１６リンク対応のコプロセッサ２６１−２が接続され、同じスイッチＳＷ２２の別のダウンストリームポートに接続された外部インターフェイスカード搭載用の拡張スロット２７０−２に、コプロセッサ２６１−２と組み合わせて使用するｘ１６リンク対応の外部インターフェイスカード２７１−２が接続されている。また、この外部インターフェイスカード２７１−２の接続ケーブル２７２−２に外部機器２７３−３が接続されている。
【００７０】
コプロセッサ２４１−１、２４１−２、２６１−１、２６１−２は、大量のデータを処理するためのローカルメモリ２４２−１、２４２−２、２６２−１、２６２−２と、ＤＭＡコントローラ２４３−１、２４３−２、２６３−１、２６３−２とを有する。また、外部インターフェイスカード２５１−１、２５１−２、２７１−１、２７１−２は、ＤＭＡコントローラ２５４−１、２５４−２、２７４−１、２７４−２を有する。
【００７１】
コプロセッサ２４１−１のローカルメモリ２４２−１は、コプロセッサ２４１−１からリード命令およびライト命令等によって直接アクセスできると共に、図８の矢印Ｐ１１に示すように、スイッチＳＷ１１を介してＤＭＡ方式によって直接アクセスすることが可能である。このＤＭＡ転送は、ＤＭＡＣ２４３−１およびＤＭＡＣ２５４−１の何れか一方を使用して行うことが可能である。
【００７２】
また、コプロセッサ２４１−２のローカルメモリ２４２−２は、コプロセッサ２４１−２からリード命令およびライト命令等によって直接アクセスできると共に、図８の矢印Ｐ１２に示すように、スイッチＳＷ１２を介してＤＭＡ方式によって直接アクセスすることが可能である。このＤＭＡ転送は、ＤＭＡＣ２４３−２およびＤＭＡＣ２５４−２の何れか一方を使用して行うことが可能である。
【００７３】
さらに、コプロセッサ２６１−１のローカルメモリ２６２−１は、コプロセッサ２６１−１からリード命令およびライト命令等によって直接アクセスできると共に、図８の矢印Ｐ２１に示すように、スイッチＳＷ２１を介してＤＭＡ方式によって直接アクセスすることが可能である。このＤＭＡ転送は、ＤＭＡＣ２６３−１およびＤＭＡＣ２７４−１の何れか一方を使用して行うことが可能である。
【００７４】
またさらに、コプロセッサ２６１−２のローカルメモリ２６２−２は、コプロセッサ２６１−２からリード命令およびライト命令等によって直接アクセスできると共に、図８の矢印Ｐ２２に示すように、スイッチＳＷ２２を介してＤＭＡ方式によって直接アクセスすることが可能である。このＤＭＡ転送は、ＤＭＡＣ２６３−２およびＤＭＡＣ２７４−２の何れか一方を使用して行うことが可能である。
【００７５】
そして、上記４つのＤＭＡ転送は並列に実行することが可能である。このため、コプロセッサ２４１−１で処理すべき大量のデータを外部機器２５３−１から外部インターフェイスカード２５１−１を通じてローカルメモリ２４２−１に転送する動作と、コプロセッサ２４１−２で処理すべき大量のデータを外部機器２５３−２から外部インターフェイスカード２５１−２を通じてローカルメモリ２４２−２に転送する動作と、コプロセッサ２６１−１で処理すべき大量のデータを外部機器２７３−１から外部インターフェイスカード２７１−１を通じてローカルメモリ２６２−１に転送する動作と、コプロセッサ２６１−２で処理すべき大量のデータを外部機器２７３−２から外部インターフェイスカード２７１−２を通じてローカルメモリ２６２−２に転送する動作とを並行して行うことができる。そして、コプロセッサ２４１−１、２４１−２、２６１−１、２６１−２は、それぞれのローカルメモリ２４２−１、２４２−２、２６２−１、２６２−２に記憶されたデータに対してそれぞれ独立に演算処理を施すことが可能である。
【００７６】
また、コプロセッサ２４１−１による処理済みの大量のデータをローカルメモリ２４２−１から外部インターフェイスカード２５１−１を通じて外部機器２５３−１に転送する動作と、コプロセッサ２４１−２による処理済みの大量のデータをローカルメモリ２４２−２から外部インターフェイスカード２５１−２を通じて外部機器２５３−２に転送する動作と、コプロセッサ２６１−１による処理済みの大量のデータをローカルメモリ２６２−１から外部インターフェイスカード２７１−１を通じて外部機器２７３−１に転送する動作と、コプロセッサ２６１−２による処理済みの大量のデータをローカルメモリ２６２−２から外部インターフェイスカード２７１−２を通じて外部機器２７３−２に転送する動作とを並行して行うことができる。
【００７７】
本実施形態にかかるコンピュータシステム３００は、２つのＣＰＵソケットを接続して構成したが、接続するＣＰＵソケットの数は２つに限定されず、３つ以上であってもよい。
【００７８】
また本実施形態では、それぞれのＣＰＵソケットに、コプロセッサ搭載用の拡張スロットと外部インターフェイスカード搭載用の拡張スロットとのペアを接続するＰＣＩ‐Ｅｘｐｒｅｓｓ準拠のスイッチを２個接続したが、そのようなペアを接続するＰＣＩ‐Ｅｘｐｒｅｓｓ準拠のスイッチは２個に限定されず、１個だけでもよく、また３組以上備えるようにしてもよい。
【００７９】
また本実施形態では、１つのＰＣＩ‐Ｅｘｐｒｅｓｓ準拠のスイッチに、コプロセッサ搭載用の拡張スロットと外部インターフェイスカード搭載用の拡張スロットとのペアを１組だけ接続したが、１つのＰＣＩ‐Ｅｘｐｒｅｓｓ準拠のスイッチに接続する当該ペアの数は１に限定されず、２以上であってもよい。
【００８０】
次に本実施形態の効果を説明する。本実施形態にかかるコンピュータシステム３００は、それぞれのＣＰＵソケット２１０、２２０が、コプロセッサ搭載用の拡張スロット２４０、２６０と外部インターフェイスカード搭載用の拡張スロット２５０、２７０とのペアを有する。このため、外部機器２５３、２７３との接続を行う入出力インターフェイスカード２５１、２７１とコプロセッサ２４１、２６１とをペアにして、コンピュータシステム３００の機能を拡張することができる。従って、コプロセッサの数を増加した場合に、外部機器との接続を行う入出力インターフェイスカードを複数のコプロセッサ間で奪い合うことがなくなり、コンピュータシステムの大幅な性能の向上が期待できる。
【００８１】
また本実施形態にかかるコンピュータシステム３００は、拡張スロット２４０、２６０に接続されたコプロセッサ２４１、２６１と、当該拡張スロット２４０、２６０が接続されたスイッチＳＷ１１〜ＳＷ２２と同じスイッチＳＷ１１〜ＳＷ２２に接続された拡張スロット２５０、２７０に外部インターフェイスカード２５１、２７１を通じて接続された外部機器２５３、２７３との間で、当該スイッチで折り返す経路を通じてＤＭＡ転送を行う。このため、ＣＰＵソケット間インターフェイス２３０経由に起因するレイテンシの悪化や、ＣＰＵソケット経由に起因するレイテンシの悪化がない。従って、外部装置のデータをその処理を行うコプロセッサのローカルメモリに転送する場合、およびその反対に処理済みのデータをコプロセッサのローカルメモリから外部装置へ転送する場合のレイテンシが向上する。
【００８２】
また本実施形態にかかるコンピュータシステム３００は、外部インターフェイスカード搭載用の拡張スロット２５０、２７０のレーン数が、ペアを構成するコプロセッサ搭載用の拡張スロット２４０、２６０のレーン数と同じであるため、コプロセッサの有するレーン数と同じレーン数を有する外部インターフェイスカードを増設することができる。このため、コプロセッサの有する性能を十分に活用する機能拡張が可能である。
【００８３】
また本実施形態にかかるコンピュータシステム３００は、スイッチＳＷ１１、ＳＷ１２、ＳＷ２１、ＳＷ２２によってＰＣＩ‐Ｅｘｐｒｅｓｓのレーン数を論理的に増加させているため、ＣＰＵソケットの有するレーン数の上限を超える拡張スロットを、コプロセッサ搭載用および外部インターフェイスカード搭載用に装備することが可能である。
【産業上の利用可能性】
【００８４】
本発明は、複数のメインプロセッサをプロセッサ間インターフェイスで接続して構成される密結合マルチプロセッサシステム、特に２ＣＰＵソケットサーバコンピュータの機能拡張に適用可能である。
【符号の説明】
【００８５】
１０、１００、２００、３００…コンピュータシステム
１１、１２、１１０、１２０…メインプロセッサ
１３、１３０…プロセッサ間インターフェイス
１４、１６、１４０、１６０…コプロセッサ搭載用の拡張スロット
１５、１７、１５０、１７０…外部インターフェイスカード搭載用の拡張スロット
【図１】
0005949188.tif 000002
【図２】
0005949188.tif 000003
【図３】
0005949188.tif 000004
【図４】
0005949188.tif 000005
【図５】
0005949188.tif 000006
【図６】
0005949188.tif 000007
【図７】
0005949188.tif 000008
【図８】
0005949188.tif 000009
【図９】
0005949188.tif 000010
【図１０】
0005949188.tif 000011
【図１１】
0005949188.tif 000012
【図１２】
0005949188.tif 000013