(57)【要約】  マルチプロセッサシステムにおいて、複数のノード２００が個別に接続されるクロスバ・ネットワーク・モジュール３００の出口制御回路部３３０に、ＰＰバッファ３３１におけるＰＰパケット５１０の滞留時間が既定値を超過した時に特殊ＢＣパケット５３０を全ての出口制御回路部３３０に通知する滞留時間監視回路４１０と、特殊ＢＣパケット５３０の到来を検出する特殊ＢＣパケット検出回路４２０と、特殊ＢＣパケット５３０の到来を契機に、ＰＰバッファ３３１のＰＰパケット５１０よりもＢＣバッファ３３２のＢＣパケット５２０を優先してノード２００に送出するＢＣ優先モードＭ１から、ＢＣパケット５２０よりもＰＰバッファ３３１に滞留するＰＰパケット５１０を優先するＰＰ優先モードＭ２に既定時間だけ切り替える優先度変更部４３０と、を含むモード切り替え部４００を設けた。
2007097033.tif 000002
【特許請求の範囲】
【請求項１】
複数のノードの各々が接続される複数のノード接続部を備え、複数の前記ノード間で授受されるパケットの交換を行う情報中継装置であって、
一つの前記ノードから他の一つの前記ノードに向けて転送される第１パケットよりも、全ての前記ノードに転送される第２パケットを優先して前記ノードに送出する第１動作モードと、
一時的に前記第２パケットよりも前記第１パケットを優先して前記ノードに送出する第２動作モードと、
を切り替えるモード制御手段を含むことを特徴とする情報中継装置。
【請求項２】
請求項１記載の情報中継装置において、
前記モード制御手段は、個々の前記ノード接続部に備えられ、
前記ノードに送出すべき前記第１パケットの前記ノード接続部における滞留時間に基づいて、前記第１モードから前記第２モードへの移行を他の前記ノード接続部に通知する第３パケットを発行する滞留時間監視手段と、
他の前記ノード接続部からの前記第３パケットの受信を契機に、既定の期間だけ前記第１モードから前記第２モードへ移行させるモード変更手段と、
を含むことを特徴とする情報中継装置。
【請求項３】
請求項１記載の情報中継装置において、
個々の前記ノード接続部は、前記ノードから到来する前記パケットを受け入れる入口制御回路と、個々の前記ノードに対して前記パケットを送出する複数の出口制御回路を備え、前記出口制御回路に前記モード制御手段を備えたことを特徴とする情報中継装置。
【請求項４】
請求項１記載の情報中継装置において、
前記情報中継装置は、複数の前記ノード接続部を接続するクロスバ・ネットワークを備えたクロスバ・ネットワーク・モジュールであることを特徴とする情報中継装置。
【請求項５】
複数のノードの各々が接続される複数のノード接続部を備え、複数の前記ノード間で授受されるパケットの交換を行う情報中継装置の制御方法であって、
一つの前記ノードから他の一つのノードに向けて転送される第１パケットよりも、全ての前記ノードに転送される第２パケットを優先して前記ノードに送出する第１動作モードで前記情報中継装置を動作させる第１ステップと、
前記ノードに送出すべき前記第１パケットの滞留時間に基づいて、一時的に前記第２パケットよりも前記第１パケットを優先して前記ノードに送出する第２動作モードで前記情報中継装置を動作させる第２ステップと、
を含むことを特徴とする情報中継装置の制御方法。
【請求項６】
請求項５記載の情報中継装置の制御方法において、
前記第２ステップでは、
前記ノードに送出すべき前記第１パケットの滞留時間に基づいて、前記第１モードから前記第２モードへの移行を他の前記ノード接続部に通知する第３パケットを発行し、
個々の前記ノード接続部では、他の前記ノード接続部からの前記第３パケットの受信を契機に、既定の期間だけ前記第１モードから前記第２モードへ移行することを特徴とする情報中継装置の制御方法。
【請求項７】
複数のノードと、前記ノードの各々が接続される複数のノード接続部を備え複数の前記ノード間で授受されるパケットの交換を行う情報中継装置とを含む情報処理システムであって、
前記情報中継装置は、
一つの前記ノードから他の前記ノードに向けて転送される第１パケットよりも、全ての前記ノードに転送される第２パケットを優先して前記ノードに送出する第１動作モードと、
一時的に前記第２パケットよりも前記第１パケットを優先して前記ノードに送出する第２動作モードと、
を切り替えるモード制御手段を含むことを特徴とする情報処理システム。
【請求項８】
請求項７記載の情報処理システムにおいて、
前記モード制御手段は、前記情報中継装置の個々の前記ノード接続部に備えられ、
前記ノードに送出すべき前記第１パケットの前記ノード接続部における滞留時間に基づいて、前記第１モードから前記第２モードへの移行を他の前記ノード接続部に通知する第３パケットを発行する滞留時間監視手段と、
他の前記ノード接続部からの前記第３パケットの受信を契機に、既定の期間だけ前記第１モードから前記第２モードへ移行させるモード変更手段と、
を含むことを特徴とする情報処理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報中継装置、情報中継装置の制御方法、情報処理システムに関し、たとえば、マルチプロセッサシステムにおいて複数のプロセッサの間でパケットを中継するクロスバ・ネットワーク・モジュールの構成および制御技術に関するものである。
【背景技術】
【０００２】
たとえば、特許文献１等に記載されているように、複数のプロセッサ（ノード）を情報伝送路で結合したマルチプロセッサシステムでは、プロセッサ間通信に大きな帯域幅を確保できる等の利点があることから、情報伝送路として、クロスバ・ネットワークを用いることが知られている。また、プロセッサ間ではパケットを単位としてデータ転送が行われる。【０００３】
ところで、マルチプロセッサシステムにおけるノード間の通信では、一つのノードから全ノードに同時に転送されるブロードキャストパケット（以下ＢＣパケットと呼ぶ）と、単一のノードに転送されるユニキャストパケット（以下、ポイント・トゥ・ポイント・パケットの意味でＰＰパケットと呼ぶ）と、がある。【０００４】
ＢＣパケットは、複数のプロセッサ間でキャッシュメモリの一貫性を保証する情報を共有したり、なんらかの計時動作の開始および終了を、複数のプロセッサ間で同期して実行する等の用途のために設けられている。【０００５】
従って、ＢＣパケットは、クロスバ・ネットワークに接続された全ノードにおいて同時に受信されなくてはならない、という規約が存在することになる。ここで、ＢＣパケットを同時に受信する、とは、複数のノード（プロセッサ）が同期したクロックサイクルで動いているマルチプロセッサシステム内において、同一サイクル（時刻）に送信先のノードにＢＣパケットが到着することを言う。【０００６】
このように、ＢＣパケットは全ノードに同時に送出されねばならないため、クロスバ・ネットワークにおいて、あるノードへの出口でＢＣパケット送出が選択されたサイクルには、他のノードへの出口でもやはり同一のＢＣパケット送出が選択されねばならない。あるノードへだけ、単独で違うパケットを送出することは許されない。【０００７】
これにより、クロスバ・ネットワークから任意のノードへＰＰパケットを送出できるタイミングは、自ずとＢＣパケットの送出の有無による制約を受ける。ＰＰパケットは、出口バッファに滞留し、ＢＣパケットの送出されないタイミングを待って送出されることとなる。【０００８】
この場合、単純に、常にＢＣパケットの送出を優先すると、ＢＣパケットの送出が間断なく発生した場合、ＰＰパケットが後回しにされ長時間送出されない、という不都合な事態になりうるため、そうはできない。【０００９】
そこで、クロスバ・ネットワークのバス上をＢＣパケットが通過できる期間をタイムスロット等で制限して、ＢＣパケットが通過しない期間を確保し、ＰＰパケットは少なくともＢＣパケットに割り当てられたタイムスロット以外の期間に通過できることを保証することが考えられる。【００１０】
しかし、この手法は、ＰＰパケットの有無にかかわらず、常にＢＣパケットが使用できるクロスバ・ネットワークのバス帯域を制約することになるため、ＢＣパケットのスループット（単位時間当たりの処理量）が低下する、という技術的課題がある。
【特許文献１】特開２００１−１６７０６７号公報
【発明の開示】
【００１１】
本発明の目的は、全ノードに同時に転送するブロードキャストパケット（ＢＣパケット）と、単一のノードに転送するユニキャストパケット（ＰＰパケット）とが情報中継装置を介して転送される情報処理システムにおいて、ＢＣパケットのスループットを最大限に確保しつつ、ＰＰパケットの転送をも保証することが可能な技術を提供することにある。
【００１２】
本発明の第１の観点は、複数のノードの各々が接続される複数のノード接続部を備え、複数の前記ノード間で授受されるパケットの交換を行う情報中継装置であって、
一つの前記ノードから他の一つの前記ノードに向けて転送される第１パケットよりも、全ての前記ノードに転送される第２パケットを優先して前記ノードに送出する第１動作モードと、
一時的に前記第２パケットよりも前記第１パケットを優先して前記ノードに送出する第２動作モードと、
を切り替えるモード制御手段を含む情報中継装置を提供する。
【００１３】
本発明の第２の観点は、第１の観点に記載の情報中継装置において、
前記モード制御手段は、個々の前記ノード接続部に備えられ、
前記ノードに送出すべき前記第１パケットの前記ノード接続部における滞留時間に基づいて、前記第１モードから前記第２モードへの移行を他の前記ノード接続部に通知する第３パケットを発行する滞留時間監視手段と、
他の前記ノード接続部からの前記第３パケットの受信を契機に、既定の期間だけ前記第１モードから前記第２モードへ移行させるモード変更手段と、
を含む情報中継装置を提供する。
【００１４】
本発明の第３の観点は、第１の観点に記載の情報中継装置において、
個々の前記ノード接続部は、前記ノードから到来する前記パケットを受け入れる入口制御回路と、個々の前記ノードに対して前記パケットを送出する複数の出口制御回路を備え、前記出口制御回路に前記モード制御手段を備えた情報中継装置を提供する。
【００１５】
本発明の第４の観点は、第１の観点に記載の情報中継装置において、
前記情報中継装置は、複数の前記ノード接続部を接続するクロスバ・ネットワークを備えたクロスバ・ネットワーク・モジュールである情報中継装置を提供する。
【００１６】
本発明の第５の観点は、複数のノードの各々が接続される複数のノード接続部を備え、複数の前記ノード間で授受されるパケットの交換を行う情報中継装置の制御方法であって、
一つの前記ノードから他の一つのノードに向けて転送される第１パケットよりも、全ての前記ノードに転送される第２パケットを優先して前記ノードに送出する第１動作モードで前記情報中継装置を動作させる第１ステップと、
前記ノードに送出すべき前記第１パケットの滞留時間に基づいて、一時的に前記第２パケットよりも前記第１パケットを優先して前記ノードに送出する第２動作モードで前記情報中継装置を動作させる第２ステップと、
を含む情報中継装置の制御方法を提供する。
【００１７】
本発明の第６の観点は、第５の観点に記載の情報中継装置の制御方法において、
前記第２ステップでは、
前記ノードに送出すべき前記第１パケットの滞留時間に基づいて、前記第１モードから前記第２モードへの移行を他の前記ノード接続部に通知する第３パケットを発行し、
個々の前記ノード接続部では、他の前記ノード接続部からの前記第３パケットの受信を契機に、既定の期間だけ前記第１モードから前記第２モードへ移行する情報中継装置の制御方法を提供する。
【００１８】
本発明の第７の観点は、複数のノードと、前記ノードの各々が接続される複数のノード接続部を備え複数の前記ノード間で授受されるパケットの交換を行う情報中継装置とを含む情報処理システムであって、
前記情報中継装置は、
一つの前記ノードから他の前記ノードに向けて転送される第１パケットよりも、全ての前記ノードに転送される第２パケットを優先して前記ノードに送出する第１動作モードと、
一時的に前記第２パケットよりも前記第１パケットを優先して前記ノードに送出する第２動作モードと、
を切り替えるモード制御手段を含む情報処理システムを提供する。
【００１９】
本発明の第８の観点は、第７の観点に記載の情報処理システムにおいて、
前記モード制御手段は、前記情報中継装置の個々の前記ノード接続部に備えられ、
前記ノードに送出すべき前記第１パケットの前記ノード接続部における滞留時間に基づいて、前記第１モードから前記第２モードへの移行を他の前記ノード接続部に通知する第３パケットを発行する滞留時間監視手段と、
他の前記ノード接続部からの前記第３パケットの受信を契機に、既定の期間だけ前記第１モードから前記第２モードへ移行させるモード変更手段と、
を含む情報処理システムを提供する。
【００２０】
すなわち、本発明では、たとえば、クロスバ・ネットワークにおけるノードへの出口制御回路において、第２パケット（ＢＣパケット）を優先する第１動作モード（通常状態）と、第１パケット（ＰＰパケット）を優先する第２動作モード（ＰＰ優先状態）のふたつの状態を定義する。
【００２１】
通常状態においてはＢＣパケットを常に優先して送出する。ＢＣパケットの送出タイミングに制限を設けない。一方、ＰＰ優先状態においては、ＢＣパケットの送出に、タイムスロット等による制限を設ける。初期状態は、通常状態である。
【００２２】
また、滞留時間監視手段は、各ノードに、「ＰＰパケットが出口バッファに滞留しており、かつ、ひとつも送出されない」という期間がどのくらい継続したかを観測する。
あるノードに対応した出口制御回路で上記期間が一定時間途切れずに継続した場合、該制御回路からネットワークに、ＢＣパケットおよびＰＰパケットのいずれとも異なる第３パケット（特殊ＢＣパケット）を発行し、長期間送出できないＰＰパケットがいずれかの出口制御回路に存在することを、クロスバ・ネットワーク内の全ノードの出口制御回路に周知せしめる。
【００２３】
各ノードに対応した出口制御回路では、特殊ＢＣパケットを検出した時刻から一定期間、ＰＰ優先状態に遷移する。
なお、特殊ＢＣパケットはノードにとっては無用なものであるので、ノードには送出せず、受信した出口制御回路が破棄する。ＰＰ優先状態においては、ＢＣパケットの送出にはタイムスロットによる制約があるため、ＰＰパケットが通過できる期間が確保されることとなる。
【００２４】
各ノードに対応した出口制御回路は、ＰＰ優先状態に遷移してから一定期間ののち、全ノードにおいて一斉に、通常状態に復帰する。
特殊ＢＣパケットは全ノードの出口制御回路で同時に検出され、また、ＰＰ優先状態の期間もノードによらず一定であるため、本発明の手法によりＢＣパケットの同時送出の規約は遵守される。
【図面の簡単な説明】
【００２５】
【図１】本発明の一実施の形態である情報処理システムの制御方法を実施する情報処理システムの構成の一例を示す概念図である。
【図２】本発明の一実施の形態である情報処理システムの作用の一例を示す概念図である。
【図３】本発明の一実施の形態である情報処理システムを構成するクロスバ・ネットワーク・モジュールの構成をより詳細に例示したブロック図である。
【図４】本発明の一実施の形態である情報処理システムにて用いられるパケットの構成を示す概念図である。
【図５】本発明の一実施の形態である情報処理システムにて用いられるパケットの構成を示す概念図である。
【図６】本発明の一実施の形態である情報処理システムにて用いられるパケットの構成を示す概念図である。
【発明を実施するための最良の形態】
【００２６】
以下、図面を参照しながら、本発明の実施の形態について詳細に説明する。
図１は、本発明の一実施の形態である情報処理システムの制御方法を実施する情報処理システムの構成の一例を示す概念図である。【００２７】
図２は、本実施の形態の情報処理システムの作用の一例を示す概念図である。
図３は、本実施の形態の情報処理システムを構成するクロスバ・ネットワーク・モジュールの構成をより詳細に例示したブロック図である。【００２８】
図４、図５および図６は、本実施の形態の情報処理システムにて用いられるパケットの構成を示す概念図である。
図１に例示されるように、本実施の形態のマルチプロセッサシステム１００は、複数のノード２００と、クロスバ・ネットワーク・モジュール３００を含んでいる。【００２９】
個々のノード２００は、たとえば、中央処理装置（ＣＰＵ）を含むプロセッサモジュールである。あるいは、ノード２００は、プロセッサモジュールに共有されるメモリモジュールである。あるいは、ノード２００は、入出力装置でもよい。【００３０】
また、必要に応じて、複数のクロスバ・ネットワーク・モジュール３００を階層構造をなすように多段に接続することもできる。
なお、以下の説明では、個々のノード２００を区別する場合には、必要に応じてノードＡ，Ｂ，．．，Ｘと記す。【００３１】
個々のノード２００は、送信バス２０１および受信バス２０２を介してクロスバ・ネットワーク・モジュール３００に接続されている。
そして、このクロスバ・ネットワーク・モジュール３００を介して、複数のノード２００の間におけるＰＰパケット５１０（第１パケット）、ＢＣパケット５２０（第２パケット）等の情報の授受が行われる。【００３２】
すなわち、ＰＰパケット５１０は、一つのノード２００から他の一つのノード２００に転送されるユニキャストパケット（ポイント・トゥ・ポイント・パケット）である。
ＢＣパケット５２０は、一つのノード２００から全てのノード２００に同時に転送されるブロードキャスト（ＢＣ）パケットである。【００３３】
クロスバ・ネットワーク・モジュール３００は、個々のノード２００における送信バス２０１および受信バス２０２が接続される複数のノード接続部３１０を備えている。
個々のノード接続部３１０は、送信バス２０１が接続される入口制御回路部３２０、受信バス２０２が接続される出口制御回路部３３０を含んでいる。【００３４】
入口制御回路部３２０は、セレクタ３２１を備えている。このセレクタ３２１は、送信バス２０１を介してノード２００から到来するＰＰパケット５１０またはＢＣパケット５２０と、後述の滞留時間監視回路４１０（滞留時間監視手段）から到来する特殊ＢＣパケット５３０（第３パケット）のいずれかを選択してクロスバ・ネットワーク・モジュール３００に入力する動作を行う。【００３５】
出口制御回路部３３０は、ＰＰバッファ３３１、ＢＣバッファ３３２、セレクタ３３３を含んでいる。
ＰＰバッファ３３１は、ＰＰパケット信号線３４１を介してクロスバ・ネットワーク・モジュール３００に接続され、当該クロスバ・ネットワーク・モジュール３００を介して到来するＰＰパケット５１０を保持する。【００３６】
ＢＣバッファ３３２は、ＢＣパケット信号線３４２を介してクロスバ・ネットワーク・モジュール３００に接続され、当該クロスバ・ネットワーク・モジュール３００から到来するＢＣパケット５２０を保持する。【００３７】
セレクタ３３３は、ＰＰバッファ３３１またはＢＣバッファ３３２を選択して受信バス２０２に接続することにより、当該ＰＰバッファ３３１のＰＰパケット５１０、またはＢＣバッファ３３２のＢＣパケット５２０を対応するノード２００に送出する動作を行う。【００３８】
本実施の形態の場合、通常の動作状態（ＢＣ優先モードＭ１（第１動作モード））では、ＢＣバッファ３３２にＢＣパケット５２０が存在する場合には、ＰＰバッファ３３１におけるＰＰパケット５１０の有無に関係なく、当該ＢＣバッファ３３２を優先してセレクタ３３３に接続し、ＢＣパケット５２０をノード２００（受信バス２０２）に送出する。【００３９】
また、ＢＣバッファ３３２にＢＣパケット５２０がない場合には、ＰＰバッファ３３１にＰＰパケット５１０があれば、当該ＰＰパケット５１０をノード２００の受信バス２０２に送出する。【００４０】
このＢＣ優先モードＭ１の場合、なんらかの要因でＢＣバッファ３３２におけるＢＣパケット５２０の送出が連続して発生すると、ＰＰバッファ３３１に保持されたＰＰパケット５１０の送出が長時間待たされる伝送遅延が発生する。【００４１】
そこで、本実施の形態では、個々の出口制御回路部３３０に、モード切り替え部４００（モード制御手段）を設けることにより、ＰＰバッファ３３１に滞留したＰＰパケット５１０の送出の優先度を、一時的に、ＢＣバッファ３３２のＢＣパケット５２０の送出よりも大きくするＰＰ優先モードＭ２（第２動作モード）を実現する。【００４２】
本実施の形態の場合、このＢＣ優先モードＭ１からＰＰ優先モードＭ２への切り替えの指示は、一つの出口制御回路部３３０から他の出口制御回路部３３０に対して特殊ＢＣパケット５３０を同報送信することによって行われる。【００４３】
図３を参照して、クロスバ・ネットワーク・モジュール３００の個々のノード接続部３１０における出口制御回路部３３０に実装されたモード切り替え部４００の構成例を説明する。【００４４】
本実施の形態のモード切り替え部４００は、滞留時間監視回路４１０、特殊ＢＣパケット検出回路４２０（モード変更手段）、優先度変更部４３０（モード変更手段）を含んでいる。【００４５】
滞留時間監視回路４１０は、滞留時間カウンタ４１１、カウンタ入力セレクタ４１２、滞留時間判定部４１３、特殊ＢＣパケット生成部４１４を含んでいる。
滞留時間カウンタ４１１は、ＰＰバッファ３３１に存在する未送信の先頭のＰＰパケット５１０の滞留時間を監視する。【００４６】
すなわち、ＰＰバッファ３３１は、当該ＰＰバッファ３３１にＰＰパケット５１０が滞留している時に真（“１”）になり、一つでもＰＰパケット５１０の送出が実行されると偽（“０”）になる滞留信号３３１ａを滞留時間監視回路４１０に出力する。【００４７】
滞留時間監視回路４１０のカウンタ入力セレクタ４１２は、滞留信号３３１ａが真の時に“１”を滞留時間カウンタ４１１に入力して加算し、滞留信号３３１ａが偽の時には、“０”を滞留時間カウンタ４１１に入力して初期化する。【００４８】
これにより、滞留時間カウンタ４１１には、ＰＰバッファ３３１におけるＰＰパケット５１０の滞留時間に比例したカウンタ値がセットされる。
滞留時間判定部４１３は、このカウンタ値が、所定の第１閾値Ｎ１を超えた場合に、特殊ＢＣパケット生成部４１４に対して、特殊ＢＣパケット５３０の生成を指示するとともに、当該カウンタ値を０に初期化する。【００４９】
なお、この第１閾値Ｎ１は、外部から任意に設定可能である。
特殊ＢＣパケット生成部４１４は、滞留時間判定部４１３からの指示に基づいて特殊ＢＣパケット５３０を生成し、入口制御回路部３２０のセレクタ３２１に送出する。【００５０】
一方、特殊ＢＣパケット検出回路４２０は、特殊パケット信号線４４１を介してクロスバ・ネットワーク・モジュール３００（ノード接続部３１０）に接続されている。そして特殊ＢＣパケット検出回路４２０は、他の入口制御回路部３２０に設けられた滞留時間監視回路４１０からの特殊ＢＣパケット５３０の到来を検出し、優先度変更部４３０に対して、通常のＢＣ優先モードＭ１からＰＰ優先モードＭ２への動作モードの変更を指示する。【００５１】
ＢＣ優先モードＭ１は、上述のように、ＢＣバッファ３３２のＢＣパケット５２０を優先してノード２００の受信バス２０２に送出する動作状態である。
ＰＰ優先モードＭ２は、ＰＰバッファ３３１に存在するＰＰパケット５１０を、一時的に、ＢＣバッファ３３２のＢＣパケット５２０よりも優先してノード２００の受信バス２０２に送出する動作状態である。【００５２】
優先度変更部４３０は、モード設定レジスタ４３１、期間カウンタ４３２、カウンタ入力セレクタ４３３、帯域制限期間判定部４３４を含んでいる。
モード設定レジスタ４３１は、状態フラグ４３５を保持する。この状態フラグ４３５は、特殊ＢＣパケット検出回路４２０によって真（“１”）（ＰＰ優先モードＭ２が有効）にセットされ、帯域制限期間判定部４３４によって偽（“０”）（ＢＣ優先モードＭ１が有効）にセットされる。初期状態では、状態フラグ４３５は偽である。【００５３】
すなわち、特殊ＢＣパケット検出回路４２０は、特殊ＢＣパケット５３０の到来を検出すると、モード設定レジスタ４３１に真の状態フラグ４３５をセットして、動作状態をＢＣ優先モードＭ１からＰＰ優先モードＭ２に切り替える。【００５４】
一方、カウンタ入力セレクタ４３３は、状態フラグ４３５が真となった時に期間カウンタ４３２に“１”を入力し、状態フラグ４３５が偽の場合は、“０”を入力して初期化する。これにより、期間カウンタ４３２は、状態フラグ４３５が真の間（ＰＰ優先モードＭ２が有効の間）だけカウンタ値が増加する。【００５５】
帯域制限期間判定部４３４は、期間カウンタ４３２のカウンタ値が既定の第２閾値Ｎ２を超過した場合に、モード設定レジスタ４３１の状態フラグ４３５を偽に設定し、動作状態をＰＰ優先モードＭ２から通常のＢＣ優先モードＭ１に戻す。【００５６】
なお、第２閾値Ｎ２は外部から任意に設定可能である。
これにより、特殊ＢＣパケット検出回路４２０に対する特殊ＢＣパケット５３０の到来を契機として、第２閾値Ｎ２によって定まる時間だけ、動作状態がＢＣ優先モードＭ１からＰＰ優先モードＭ２に一時的に切り替える制御が実現される。【００５７】
ここで、図４、図５および図６を参照して、本実施の形態におけるＰＰパケット５１０、ＢＣパケット５２０および特殊ＢＣパケット５３０について説明する。
図４に例示されるように、ＰＰパケット５１０は、タグ部５１１、種別情報部５１２、データ部５１３を含んでいる。【００５８】
タグ部５１１には、“４”または“５”が設定される。すなわち、ＰＰパケット５１０は一つまたは複数の連続したパケットからなり、先頭のパケットではタグ部５１１に“４”が設定され、後続のパケットでは、すべてタグ部５１１に“５”が設定される。【００５９】
種別情報部５１２には、当該パケットがＰＰパケット５１０であることを受信側が識別するための情報や、命令コード、宛先のノード２００の識別情報（ノードＩＤ、アドレス）等の情報が設定される。【００６０】
データ部５１３には、転送データが設定される。
図５に例示されるように、ＢＣパケット５２０は、タグ部５２１、種別情報部５２２、データ部５２３を含んでいる。【００６１】
タグ部５２１には、“２”または“３”が設定される。すなわち、ＢＣパケット５２０は一つのパケット、または二つの連続したパケットからなり、先頭のパケットではタグ部５２１に“２”が設定され、後続のパケットでは、タグ部５２１に“３”が設定される。【００６２】
種別情報部５２２には、当該パケットが複数のノード２００に同報送信されるＢＣパケット５２０であることを受信側が識別するための情報や、命令コード等の情報が設定される。【００６３】
データ部５２３には、同報送信されるデータが設定される。
本実施の形態の場合には、この他に、特殊ＢＣパケット５３０が用いられる。この特殊ＢＣパケット５３０は、スペシャルパケットの一種として実装される。【００６４】
この特殊ＢＣパケット５３０は、クロスバ・ネットワーク・モジュール３００および出口制御回路部３３０の内部で生成および消滅し、ノード２００には伝達されない点で、通常のスペシャルパケット、さらには上述のＰＰパケット５１０およびＢＣパケット５２０とは全く異なる。【００６５】
この特殊ＢＣパケット５３０は、タグ部５３１、種別情報部５３２、データ部５３３を含んでいる。
タグ部５３１には、スペシャルパケットの一種であることを示す“１”が設定される。【００６６】
種別情報部５３２には、当該パケットが特殊ＢＣパケット５３０であることを受信側が識別するための情報や、命令コード等の情報が設定される。
データ部５３３には転送データが設定される。【００６７】
図６は、通常のスペシャルパケットと、本実施の形態の特殊ＢＣパケット５３０との相違を示している。
特殊ＢＣパケット５３０は、種別情報部５３２に、“３”が設定されることによって、通常のスペシャルパケットと区別される。【００６８】
なお、通常のスペシャルパケットでは、一例として、種別情報部５３２の部分に、命令コードとして“１”が設定されると、ノード２００の相互間でキャッシュメモリの情報交換を行うことを示し、データ部５３３には、交換情報が設定される。【００６９】
同様に、種別情報部５３２の部分に、命令コードとして“２”が設定されると、ノード２００の相互間で、計時動作の開始／停止の同期を行うことを示し、データ部５３３には、必要な情報が設定される。【００７０】
以下、本実施の形態の動作の一例について説明する。
まず、初期状態では、個々の出口制御回路部３３０におけるモード切り替え部４００のモード設定レジスタ４３１には偽の状態フラグ４３５が設定されており、ＰＰバッファ３３１のＰＰパケット５１０よりも、ＢＣバッファ３３２のＢＣパケット５２０の送出を優先する通常状態（ＢＣ優先モードＭ１）となっている。【００７１】
この状態で、任意のノード２００で発生したＰＰパケット５１０は、送信バス２０１、入口制御回路部３２０（セレクタ３２１）を経由してクロスバ・ネットワーク・モジュール３００に入力され、さらに、宛先のノード２００に対応した出口制御回路部３３０のＰＰバッファ３３１に到着して保持される。【００７２】
そして、当該出口制御回路部３３０のＢＣバッファ３３２にＢＣパケット５２０が存在しない場合には、セレクタ３３３は、ＰＰバッファ３３１のＰＰパケット５１０を選択して、宛先のノード２００（受信バス２０２）に送出する。【００７３】
また、任意のノード２００で発生したＢＣパケット５２０は、送信バス２０１、入口制御回路部３２０（セレクタ３２１）を経由してクロスバ・ネットワーク・モジュール３００に入力され、全ての出口制御回路部３３０のＢＣバッファ３３２に到着する。【００７４】
そして、全ての出口制御回路部３３０において、ＰＰバッファ３３１におけるＰＰパケット５１０の有無に関係なく、セレクタ３３３は、ＢＣバッファ３３２のＢＣパケット５２０を選択して、同時に、当該出口制御回路部３３０に対応した個々のノード２００（受信バス２０２）に送出する。【００７５】
これにより、ＢＣ優先モードＭ１では、ＢＣパケット５２０の全てのノード２００に対する同期した転送が保証される。
ここで、本実施の形態の場合、個々の出口制御回路部３３０のＰＰバッファ３３１にＰＰパケット５１０が到着すると、滞留時間監視回路４１０では、滞留信号３３１ａによってＰＰバッファ３３１におけるＰＰパケット５１０の存在が検知され、カウンタ入力セレクタ４１２は滞留時間カウンタ４１１に対する入力が“０”から“１”に切り替わり、滞留時間カウンタ４１１の加算が開始される。【００７６】
また、ＰＰパケット５１０の送出が実行された場合には、滞留信号３３１ａは偽となり、滞留時間カウンタ４１１には、カウンタ入力セレクタ４１２を介して“０”が入力され、カウンタ値は“０”に初期化される。【００７７】
そして、ＢＣ優先モードＭ１において、ＰＰバッファ３３１に存在するＰＰパケット５１０よりもＢＣパケット５２０を優先して送出する場合には、滞留時間監視回路４１０では滞留時間カウンタ４１１の加算が継続される。【００７８】
そして、たとえば、図１のノードＡ（ノード２００）に対応したノード接続部３１０の出口制御回路部３３０において、滞留時間カウンタ４１１のカウンタ値が既定の第１閾値Ｎ１を超過した場合に、すなわち、ＰＰバッファ３３１におけるＰＰパケット５１０の滞留時間が所定の長さを超過した場合に（イベント６０１）、滞留時間判定部４１３は、特殊ＢＣパケット生成部４１４に特殊ＢＣパケット５３０の発行を指示する。【００７９】
この発行指示を受けた特殊ＢＣパケット生成部４１４は、特殊ＢＣパケット５３０を生成し、入口制御回路部３２０のセレクタ３２１を経由してクロスバ・ネットワーク・モジュール３００に特殊ＢＣパケット５３０を発行する（イベント６０２）。【００８０】
こうして発行された特殊ＢＣパケット５３０は、図２に例示されるように、全ての出口制御回路部３３０に配信され、個々の特殊ＢＣパケット検出回路４２０において同時に検出される（イベント６０３）。【００８１】
特殊ＢＣパケット５３０の到着を同時に検出した個々の出口制御回路部３３０では、優先度変更部４３０のモード設定レジスタ４３１の状態フラグ４３５が真に設定され、同時に、動作モードがＢＣ優先モードＭ１からＰＰ優先モードＭ２に一斉に切り替わる。【００８２】
そして、セレクタ３３３は、ＰＰ優先モードＭ２になると、ＰＰバッファ３３１のＰＰパケット５１０を優先してノード２００（送信バス２０１）に送り出す。
たとえば、ＰＰ優先モードＭ２では、セレクタ３３３は、ｎサイクルに１パケットの割合で、ＢＣパケット５２０が送り出されるように、ＢＣパケット５２０の送出の帯域を制限し、ＰＰパケット５１０の送出を優先する。【００８３】
また、優先度変更部４３０のカウンタ入力セレクタ４３３は、ＢＣ優先モードＭ１からＰＰ優先モードＭ２への切り替わりを契機として、期間カウンタ４３２に対する入力を“０”から“１”に切り替え、期間カウンタ４３２ではカウンタ値の加算が開始される。【００８４】
そして、帯域制限期間判定部４３４は、期間カウンタ４３２のカウンタ値が既定の第２閾値Ｎ２を超過すると、すなわち、ＰＰ優先モードＭ２が所定の時間だけ継続すると、モード設定レジスタ４３１の状態フラグ４３５を偽に設定して、動作状態を、ＰＰ優先モードＭ２から、通常のＢＣ優先モードＭ１に戻す。【００８５】
このように、本実施の形態では、個々の出口制御回路部３３０において、滞留時間監視回路４１０によって、ＰＰバッファ３３１におけるＰＰパケット５１０の滞留時間を監視し、滞留時間が第１閾値Ｎ１によって定まる所定の長さを超過した場合に、特殊ＢＣパケット５３０を全ての出口制御回路部３３０に発行して、動作状態を、ＢＣ優先モードＭ１から、ＰＰ優先モードＭ２に一時的に（第２閾値Ｎ２で定まる期間だけ）切り替える。【００８６】
これにより、ＢＣバッファ３３２を経由したＢＣパケット５２０の転送が連続する場合でも、ＰＰバッファ３３１内にＰＰパケット５１０が長時間滞留する転送遅延の発生を防止することができる。【００８７】
すなわち、ＢＣパケット５２０のクロスバ・ネットワーク・モジュール３００を経由した転送帯域に常時制限を設けることなく、すなわち、ＢＣパケット５２０のスループットを低下させることなく、ＰＰパケット５１０よりもＢＣパケット５２０を優先して個々のノード２００へ同期して転送する動作と、優先度の低いＰＰパケット５１０の転送遅延の防止とを両立させることが可能になる。【００８８】
換言すれば、クロスバ・ネットワーク・モジュール３００によって提供される転送帯域を有効に活用して、ＰＰパケット５１０およびＢＣパケット５２０を高速に転送することが可能なる。【００８９】
また、ＰＰバッファ３３１におけるＰＰパケット５１０の滞留時間、およびＰＰ優先モードＭ２の継続時間は、それぞれ、第１閾値Ｎ１および第２閾値Ｎ２の設定値を適宜選択することで、任意に変更可能であり、マルチプロセッサシステム１００の運用状態に応じた適切なＢＣ優先モードＭ１およびＰＰ優先モードＭ２の運用条件を設定することが可能となる。
【産業上の利用可能性】
【００９０】
なお、本発明は、上述の実施の形態に例示した構成に限らず、その趣旨を逸脱しない範囲で種々変更可能であることは言うまでもない。
本発明によれば、全ノードに同時に転送するブロードキャストパケット（ＢＣパケット）と、単一のノードに転送するユニキャストパケット（ＰＰパケット）とが情報中継装置を介して転送される情報処理システムにおいて、ＢＣパケットのスループットを最大限に確保しつつ、ＰＰパケットの転送をも保証することが可能となる。
【図３】
2007097033.tif 000003
【図４】
2007097033.tif 000004
【図５】
2007097033.tif 000005
【図６】
2007097033.tif 000006
【図１】
2007097033.tif 000007
【図２】
2007097033.tif 000008
【手続補正書】
【提出日】平成20年5月1日(2008.5.1)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
複数のノードの各々が接続される複数のノード接続部を備え、複数の前記ノード間で授受されるパケットの交換を行う情報中継装置であって、
一つの前記ノードから他の一つの前記ノードに向けて転送される第１パケットよりも、全ての前記ノードに転送される第２パケットを優先して前記ノードに送出する第１動作モードと、
一時的に前記第２パケットよりも前記第１パケットを優先して前記ノードに送出する第２動作モードと、
を切り替えるモード制御手段を含むことを特徴とする情報中継装置。
【請求項２】
請求項１記載の情報中継装置において、
前記モード制御手段は、個々の前記ノード接続部に備えられ、
前記ノードに送出すべき前記第１パケットの前記ノード接続部における滞留時間に基づいて、前記第１モードから前記第２モードへの移行を他の前記ノード接続部に通知する第３パケットを発行する滞留時間監視手段と、
他の前記ノード接続部からの前記第３パケットの受信を契機に、既定の期間だけ前記第１モードから前記第２モードへ移行させるモード変更手段と、
を含むことを特徴とする情報中継装置。
【請求項３】
請求項１記載の情報中継装置において、
個々の前記ノード接続部は、前記ノードから到来する前記パケットを受け入れる入口制御回路と、個々の前記ノードに対して前記パケットを送出する複数の出口制御回路を備え、前記出口制御回路に前記モード制御手段を備えたことを特徴とする情報中継装置。
【請求項４】
複数のノードの各々が接続される複数のノード接続部を備え、複数の前記ノード間で授受されるパケットの交換を行う情報中継装置の制御方法であって、
一つの前記ノードから他の一つのノードに向けて転送される第１パケットよりも、全ての前記ノードに転送される第２パケットを優先して前記ノードに送出する第１動作モードで前記情報中継装置を動作させる第１ステップと、
前記ノードに送出すべき前記第１パケットの滞留時間に基づいて、一時的に前記第２パケットよりも前記第１パケットを優先して前記ノードに送出する第２動作モードで前記情報中継装置を動作させる第２ステップと、
を含むことを特徴とする情報中継装置の制御方法。
【請求項５】
複数のノードと、前記ノードの各々が接続される複数のノード接続部を備え複数の前記ノード間で授受されるパケットの交換を行う情報中継装置とを含む情報処理システムであって、
前記情報中継装置は、
一つの前記ノードから他の前記ノードに向けて転送される第１パケットよりも、全ての前記ノードに転送される第２パケットを優先して前記ノードに送出する第１動作モードと、
一時的に前記第２パケットよりも前記第１パケットを優先して前記ノードに送出する第２動作モードと、
を切り替えるモード制御手段を含むことを特徴とする情報処理システム。
【国際調査報告】
2007097033.tif 000009
2007097033.tif 000010
2007097033.tif 000011