JP5304888B2 - 調停方法、調停回路、及び調停回路を備えた装置 - Google Patents

調停方法、調停回路、及び調停回路を備えた装置 Download PDF

Info

Publication number
JP5304888B2
JP5304888B2 JP2011506887A JP2011506887A JP5304888B2 JP 5304888 B2 JP5304888 B2 JP 5304888B2 JP 2011506887 A JP2011506887 A JP 2011506887A JP 2011506887 A JP2011506887 A JP 2011506887A JP 5304888 B2 JP5304888 B2 JP 5304888B2
Authority
JP
Japan
Prior art keywords
arbitration
algorithm
circuit
arbitrary
input port
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.)
Expired - Fee Related
Application number
JP2011506887A
Other languages
English (en)
Other versions
JPWO2010113262A1 (ja
Inventor
誠 畑井田
俊和 植木
貴行 木下
義和 岩見
秀和 小佐野
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Publication of JPWO2010113262A1 publication Critical patent/JPWO2010113262A1/ja
Application granted granted Critical
Publication of JP5304888B2 publication Critical patent/JP5304888B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/10Packet switching elements characterised by the switching fabric construction
    • H04L49/101Packet switching elements characterised by the switching fabric construction using crossbar or matrix
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/25Routing or path finding in a switch fabric
    • H04L49/253Routing or path finding in a switch fabric using establishment or release of connections between ports

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Multi Processors (AREA)

Description

本発明は、調停方法、調停回路、及び調停回路を備えた装置に係り、特に並列計算機等に適した調停方法、調停回路、及び調停回路を備えた装置に関する。
図1は、並列計算機の一例を示すブロック図である。並列計算機1は、図1に示す如く接続された複数のシステムボード(SB:System board)12、クロスバースイッチ14、及び複数の入出力ボード(IOB:Input Output Board)15を有する。各SB12は、複数の中央処理装置(CPU:Central Processing Unit)11及び複数のメモリ13を有する。各IOB15は、複数の入力部及び複数の出力部(又は、入出力インタフェース)を有する。クロスバースイッチ14は、一方のSB12と接続される入力ポートAI及び出力ポートAO、他方のSB12と接続される入力ポートBI及び出力ポートBO、一方のIOB15と接続される入力ポートCI及び出力ポートCI、及び他方のIOB15と接続される入力ポートDI及び出力ポートDOを有する。
クロスバースイッチ14は、上記の如き複数の入力ポート及び複数の出力ポートを有し、SB12やIOB15等の任意のノードからのデータとしてのパケットを他のノードへ転送するためのルーティング(経路制御)を行う。デッドロックを避けるために、クロスバースイッチ14は1つのポートについて複数の仮想的なチャネルを持つ構成を有する。つまり、クロスバースイッチ14は物理的には複数のポートを有し、各ポートは論理的には複数のチャネル(即ち、仮想的なチャネル)を有するが、任意の時点では1つのポートで1つのチャネルのみ選択可能である。
クロスバースイッチ14において、複数のポート及び複数のチャネルからのパケットを調停する調停回路は、全てのポート及び全てのチャネルを平等に扱うことが理想的である。図2は、このような理想的な調停回路を示す図である。図2において、調停回路17は、入力ポートAIからのチャネルC0,C1の入力、入力ポートBIからのチャネルC0,C1の入力、入力ポートCIからのチャネルC0,C1の入力、及び入力ポートDIからのチャネルC0,C1の入力に対して調停処理を行い、調停処理の結果に基づいて1つの入力ポートからのルーティング要求(経路制御要求)を任意の出力ポートへ出力する。
しかし、実際の回路設計では、図2のような構成を有する調停回路17を作成することは物理的に難しく、信号遅延を考慮した設計とすることも難しい。このため、図3のような2段構成の調停回路が提案されている。
図3は、調停回路の一例を示す図である。図3において、キュー調停回路18−1は、各入力ポートAI,BI,CI,DI毎のキューAQ,BQ,CQ,DQからパケットを選択し、ポート間調停回路18−2は、複数の入力ポートAI,BI,CI,DIから1つのポートを選択する。キューAQ,BQ,CQ,DQは、クロスバースイッチ14内の対応するバッファ(図示せず)に保持されており、図3ではキューAQ,BQ,CQ,DQのブロックがこれらのバッファに相当する。このように、調停回路18は、2種類の調停回路18−1,18−2を有する2段構成である。
図4は、キュー調停回路18−1の構成を示す図である。図4に示すように、各チャネルC0,C1毎のキューの集まりに対して、平等な調停となるような調停アルゴリズムが用いられる。図4は、調停アルゴリズムとしてLRU(Least Recently Used)アルゴリズムが用いられる場合を示す。これにより、セレクタ181は、LRUアルゴリズム部180がLRUアルゴリズムに基づいて求めた演算結果に応じてチャネルC0,C1のうち一方のキューを選択出力する。
ポート間調停回路18−2の図示は省略するが、チャネルC0,C1毎のキューの集まりの代わりに、入力ポートAI,BI,CI,DI毎のキューの集まりに対してLRU等のキュー調停回路18−1と同じ調停アルゴリズムを用いて調停を行う。資源枯渇等のために、ポート間調停回路18−1においてキュー調停回路18−1からの経路制御要求(ルーティングリクエスト)が長時間採用されずにストール状態が続く場合には、デッドロックを防止するために一旦上記要求をキャンセルして別の要求を出し直すようなリトライ制御を行う。
上記の如き調停回路18は、全体としては平等に調停を行っているように見えるが、あるパケットに着目して見たときに、キュー調停回路18−1からポート間調停回路18−2へ一向に出力されない状態のキューが発生する可能性があり、このような状態をライブロックと言う。しかし、調停アルゴリズムにLRUアルゴリズムではなく時分割アルゴリズムを用いたのでは、ライブロックは防止できても、調停時間が長くなり、並列計算機1の性能を低下させてしまう。
特開2001−22711号公報
従来の調停方法では、ライブロックを防止しようとすると調停時間が長くなってしまうという問題があり、その結果並列計算機の性能を低下させてしまうという問題もあった。
そこで、本発明は、調停時間の増加を抑制してライブロックを防止することのできる調停方法、調停回路、及び調停回路を備えた装置を提供することを目的とする。
本発明の一観点によれば、各々が論理的には複数の仮想的なチャネルを有する物理的には複数の入力ポートからのデータを複数の出力ポートのうち任意の出力ポートへ転送するための経路制御を行う際に、任意の時点では1つの入力ポートで1つのチャネルのみ選択可能であり、各入力ポートのチャネル間の調停を時分割アルゴリズム以外の任意の調停アルゴリズムに従って行う第1の調停処理と、前記複数の入力ポート間の調停を前記任意の調停アルゴリズムに従って行う第2の調停処理と、トリガに応答して一定期間前記第1及び第2の調停処理で用いる調停アルゴリズムを時分割アルゴリズムに切り替える処理を含む調停方法が提供される。
本発明の一観点によれば、各々が論理的には複数の仮想的なチャネルを有する物理的には複数の入力ポートからのデータを複数の出力ポートのうち任意の出力ポートへ転送するための経路制御を行う際に、任意の時点では1つの入力ポートで1つのチャネルのみ選択可能であり、各入力ポートのチャネル間の調停を時分割アルゴリズム以外の任意の調停アルゴリズムに従って行う第1の調停回路と、前記複数の入力ポート間の調停を前記任意の調停アルゴリズムに従って行う第2の調停回路と、トリガに応答して一定期間前記第1及び第2の調停処理で用いる調停アルゴリズムを時分割アルゴリズムに切り替える調停切替回路を備えた調停回路が提供される。
本発明の一観点によれば、複数のプロセッサ及びメモリを有するシステムと、複数の入出力インタフェースを有する入出力システムを接続する装置であって、各々が論理的には複数の仮想的なチャネルを有する物理的には複数の入力ポートと、複数の出力ポートと、前記複数の入力ポートからのデータを前記複数の出力ポートのうち任意の出力ポートへ転送するための経路制御を行う際に、任意の時点では1つの入力ポートで1つのチャネルのみ選択可能であり、各入力ポートのチャネル間の調停を時分割アルゴリズム以外の任意の調停アルゴリズムに従って行う第1の調停回路と、前記複数の入力ポート間の調停を前記任意の調停アルゴリズムに従って行う第2の調停回路と、トリガに応答して一定期間前記第1及び第2の調停処理で用いる調停アルゴリズムを時分割アルゴリズムに切り替える調停切替回路を備えた装置が提供される。
開示の調停方法、調停回路、及び調停回路を備えた装置によれば、調停時間の増加を抑制してライブロックを防止することが可能となる。
並列計算機の一例を示すブロック図である。 理想的な調停回路を示す図である。 調停回路の一例を示す図である。 キュー調停回路の構成を示す図である。 第1実施例における調停回路の一例を示す図である。 調停切替回路の構成を示す図である。 キュー調停回路の構成を示す図である。 入力ポートAIのキューAQの状態の一例を示す図である。 LRUアルゴリズムに基づくクロック毎の調停結果を示す図である。 時分割アルゴリズムに基づくクロック毎の調停結果を示す図である。 第2実施例における調停回路の一例を示す図である。 キュー調停回路の構成を示す図である。 調停切替回路の構成を示す図である。 第3実施例における調停回路の一例を示す図である。 調停切替回路の構成を示す図である。
符号の説明
1 並列計算機
11 CPU
12 SB
13 メモリ
14 クロスバースイッチ
15 ICB
28,28A,28B 調停回路
28−1,28−1A キュー調停回路
28−2 ポート調停回路
30,30A,30B 調停切替回路
開示の調停方法、調停回路、及び調停回路を備えた装置によれば、各々が論理的には複数の仮想的なチャネルを有する物理的には複数の入力ポートからのデータを複数の出力ポートのうち任意の出力ポートへ転送するためのルーティング(経路制御)を行う際に、任意の時点では1つの入力ポートで1つのチャネルのみ選択可能であり、第1の調停処理により各入力ポートのチャネル間の調停を時分割アルゴリズム以外の任意の調停アルゴリズムに従って行い、第2の調停処理により複数の入力ポート間の調停を前記任意の調停アルゴリズムに従って行う。又、トリガに応答して、一定期間前記第1及び第2の調停処理で用いる調停アルゴリズムを時分割アルゴリズムに切り替える。
これにより、調停時間の増加を抑制してライブロックを防止することが可能となる。
以下に、開示の調停方法、調停回路、及び調停回路を備えた装置の各実施例を、図5以降と共に説明する。
図5は、第1実施例における調停回路の一例を示す図である。図5に示す調停回路28は、例えば図1に示す並列計算機1のクロスバースイッチ14内に設けられているものとする。図5中、図1と同一部分には同一符号を付し、その説明は省略する。
図5に示す調停回路28は、キュー調停回路28−1、ポート調停回路28−2、及び調停切替回路30を有する。キュー調停回路28−1は、各入力ポートAI,BI,CI,DI毎のキューAQ,BQ,CQ,DQからデータとしてのパケットを選択し、ポート間調停回路28−2は、複数の入力ポートAI,BI,CI,DIから1つのポートを選択する。このように、調停回路28は、2種類の調停回路28−1,28−2を有する2段構成である。
キュー調停回路28−1は、調停切替回路30により指示された第1又は第2の調停アルゴリズムに基づいたキューの調停を行う。同様に、ポート調停回路28−2は、調停切替回路30により指示された第1又は第2の調停アルゴリズムに基づいたポートの調停を行う。
キュー調停回路28−1からポート調停回路28−2への調停リクエストがある一定期間採用(又は、選択)されない場合、キュー調停回路28−1はこの調停リクエストを一旦キャンセルして別の調停リクエストを再度要求する。この調停リクエストのキャンセルを通知するのが図5に示すリトライである。
調停切替回路30は、各入力ポートAI,BI,CI,DIにおけるリトライの頻度を監視し、リトライの頻度が閾値に達すると調停回路28−1,28−2の調停アルゴリズムを第1の調停アルゴリズムから第2の調停アルゴリズムに切り替える指示を出力する。調停切替回路30は、キュー調停回路28−1に調停切替信号ARB_EN及び調停アルゴリズムを指示する選択信号ARB_SEL1を供給し、ポート調停回路28−2に調停切替信号ARB_EN及び調停アルゴリズムを指示する選択信号ARB_SEL2を供給する。各入力ポートAI,BI,CI,DIのリトライの頻度が閾値に達すると、調停切替回路30は調停アルゴリズムの切り替えを許可する調停切替信号ARB_ENをアサートすることで調停回路28−1,28−2の調停アルゴリズムを選択信号ARB_SEL1,ARB_SEL2が指示する調停アルゴリズムに切り替えるよう指示する。
第1及び第2の調停アルゴリズムは、互いに異なる調停アルゴリズムであり、本実施例では第1の調停アルゴリズムがLRUアルゴリズムであり、第2の調停アルゴリズムが時分割アルゴリズムである。尚、第1の調停アルゴリズムはLRUアルゴリズムに限定されるものではなく、例えばラウンドロビンで選択を行うラウンドロビンアルゴリズム、固定の優先順位で選択を行う固定プライオリティアルゴリズム等を用いても良いことは言うまでもない。
図6は、調停切替回路30の構成を示す図である。調停切替回路30は、図6に示す如く接続されたフリーランカウンタ31、頻度監視カウンタ32、オア回路33,34、一定時間計測カウンタ35、及びデコーダ36を有する。この例では、カウンタ31,32,35は、夫々10ビットカウンタ、4ビットカウンタ、10ビットカウンタである。
フリーランカウンタ31のカウント値が最大値(例えば1024サイクル)に達すると、フリーランカウンタ31からのクリア信号が頻度監視カウンタ32のクリア端子clrに入力されて頻度監視カウンタ32がクリアされる。各入力ポートAI,BI,CI,DIに対するリトライ指示は、オア回路33を介して頻度監視カウンタ32のカウントアップ端子upに入力され、頻度管理カウンタ32は各入力ポートAI,BI,CI,DIに対するリトライ指示の回数をカウントさせる。カウントしたリトライ指示の頻度がある閾値(例えば15回/1024サイクル)に達すると、頻度監視カウンタ32はオア回路34を介して一定時間計測カウンタ35のカウントアップ端子upに信号を入力して一定時間計測カウンタ35のカウントをスタートさせる。一定時間計測カウンタ35が一定時間をカウントする間(即ち、カウント値が一定値を超えるまで)、出力する調停切替信号ARB_ENをアサートする。調停切替信号ARB_ENがアサートされている期間は調停アルゴリズムがLRUアルゴリズムから時分割アルゴリズムに切り替えられる。一定時間計測カウンタ35が一定時間をカウントすると(カウント値が一定値を超えると)、カウント値が0となり調停切替信号ARB_ENがでデアサートされるので、調停アルゴリズムは元のLRUアルゴリズムに戻される。調停切替信号ARB_ENは、オア回路34にフィードバックされる。一方、調停切替信号ARB_ENは、デコーダ36に入力され、デコーダ36からは選択信号ARB_SEL1,ARB_SEL2が出力される。
図7は、キュー調停回路28−1の構成を示す図である。ポート調停回路28−2は、キュー調停回路28−1と同じ構成の回路で実現できるので、ポート調停回路28−2の構成の図示及び説明は省略する。ただし、図7の調停回路をポート調停回路28−2として使用する場合には、選択信号ARB_SEL1の代わりに選択信号ARB_SEL2が入力されることは言うまでもない。
キュー調停回路28−1は、図7に示す如く接続されたLRUアルゴリズム部281、セレクタ282,283、アンド回路284,285、オア回路286、及びカウンタ287を有する。セレクタ282には、LRUアルゴリズム部281に従った信号及び選択信号ARB_SEL1が入力され、調停切替信号ARB_ENにより出力が選択される。セレクタ283には、例えば入力ポートAIにおけるキューAQが入力され、セレクタ282の出力信号により出力が選択される。各アンド回路284,285には、セレクタ283の出力信号及び出力ポートビジー信号が入力される。アンド回路284からはルーティングリクエスト(経路制御要求)が出力される。
アンド回路285からはストール信号が出力されてオア回路286及びカウンタ287のカウントアップ端子upに入力される。カウンタ287の出力信号はLRUアルゴリズム部281及びオア回路286に入力されると共に、この場合は入力ポートAIに対するリトライ指示として調停切替回路30に入力される。オア回路286の出力信号はカウンタ287のクリア端子clrに入力されるので、カウンタ287のカウント値が一定値に達するとカウンタ287はクリアされる。カウンタ287は、例えば4ビットカウンタである。
これにより、キュー調停回路28−1は、通常時はLRUアルゴリズム部281によるLRUアルゴリズムに従って調停を行うが、アサートされた調停切替信号ARB_EN信号によって時分割アルゴリズムに従った調停に切り替えられる。この調停切替信号ARB_ENが一定時間後にデアサートされると、調停アルゴリズムは時分割アルゴリズムからLRUアルゴリズムに戻される。
次に、本実施例においてどのようにしてライブロックが防止されるかを、図8〜図10と共に説明する。クロスバースイッチ14は物理的には複数のポートを有し、各ポートは論理的には複数のチャネル(即ち、仮想的なチャネル)を有するが、任意の時点では1つのポートで1つのチャネルのみ選択可能である。
図8は、入力ポートAIのキューAQの状態の一例を示す図である。図9は、LRUアルゴリズムに基づくクロック毎の調停結果を示す図であり、図10は、時分割アルゴリズムに基づくクロック毎の調停結果を示す図である。図9及び図10は一例として、出力ポートDOの出力ポートビジー信号、リトライ指示の有無、入力ポートAI,BI,CI、及び調停結果を示す。出力ポートビジー信号は、「1」の場合にその出力ポートがビジーであることを示す。又、リトライ指示の有無は、「1」の場合にリトライ指示が有ることを示す。又、A1x,A2xは入力ポートAIにおけるチャネルC0,C1側のパケット、B1x,B2xは入力ポートBIにおける仮想的なチャネルC0,C1側のパケット、C1x,C2xはは入力ポートCIにおけるチャネルC0,C1側のパケットを示す。
説明の便宜上、例えば図8のように、入力ポートAIのキューAQに全て出力ポートDO向けのチャネルC0側のパケットA10,A11,A12及びチャネルC1側のパケットA20,A21,A22がクロスバースイッチ14内のバッファに滞留しているとする。図8は入力ポートAIのみについて示すが、入力ポートBI,CIについて以下の如き調停が行われることは言うまでもない。
これら各入力ポートAI,BI,CIから出力ポートDOへの調停は、通常時はLRUアルゴリズムに従って図9のように調停される。図9は、サイクル単位の調停を示し、出力ポートビジー信号が「1」であり出力ポートDOがビジーであることを示すサイクルでは、出力ポートDOが資源ビジーのために調停を行うことはできない。又、リトライ指示の有無が「1」でありリトライ指示が有ることを示すサイクルでは、各入力ポートAI,BI,CIのルーティングリクエストを一旦キャンセルしてから再度調停を行う。従って、キャンセルされたパケットはLRUアルゴリズムによれば最低順位を有することになる。図9の例では、出力ポートDOが恒常的に資源ビジーとなっており、一定間隔で1個ずつしかパケットを調停できない状態に陥っている。このような場合、入力ポートAIで見ると、図8のキューAQのチャネルC0側のパケットA1xのみが処理されており、キューAQのチャネルC1側のパケットA2xはクロスバースイッチ14内のバッファに滞留したままの状態に陥っている。更に、後続のパケットがチャネルC0側のパケットA1xのキューに追加投入されると、チャネルC1側のパケットA2xのキューがライブロックしてしまう。
一方、図9と同じような状況下で、図10に示すような、時分割の調停アルゴリズムを用いた場合は、ある一定時間に同一入力ポート及び同一チャネルのキューを固定的に調停し、更にこのような調停を全入力ポートの全チャネルに平等に割り当てる。このため、一部のチャネルのライブロックは発生しないことがわかる。
尚、単に時分割アルゴリズムのみによる調停を行うだけでは並列計算機1の性能が低下してしまうが、ライブロックに陥っていると懸念される場合にのみ調停アルゴリズムをLRUアルゴリズムから時分割アルゴリズムに切り替えることで、並列計算機1の性能低下を抑制しつつライブロックを防止することが可能となる。
上記第1実施例では、調停アルゴリズムの切り替えをリトライ指示の頻度が閾値に達したことをトリガとして行っているが、調停アルゴリズムの切り替えはリトライ指示の頻度以外をトリガとしても良いことは言うまでもない。
図11は、第2実施例における調停回路の一例を示す図である。図11に示す調停回路28Aは、例えば図1に示す並列計算機1のクロスバースイッチ14内に設けられているものとする。図11中、図5と同一部分には同一符号を付し、その説明は省略する。
本実施例では、各入力ポートAI,BI,CI,DI毎のロック情報が対応するキュー調停回路28−1Aから調停切替回路30Aに供給される点が上記第1実施例と異なる。
図12は、キュー調停回路28−1Aの構成を示す図である。図12中、図7と同一部分には同一符号を付し、その説明は省略する。図12において、各アンド回路301,302には、セレクタ282の出力信号、出力ポートビジー信号、及び入力ポートAIにおけるチャネルC0側のパケットA1x(ルーティングリクエスト)が入力される。各アンド回路311,312には、セレクタ282の出力信号、出力ポートビジー信号、及び入力ポートAIにおけるチャネルC1側のパケットA2x(ルーティングリクエスト)が入力される。
図12において、アンド回路301の出力信号は、ハイレベルであると入力ポートAIにおけるチャネルC0側のパケットA1xが調停されなかったことを示し、カウンタ303のカウントタップ端子upに入力される。アンド回路302の出力信号は、ハイレベルであると入力ポートAIにおけるチャネルC0側のパケットA1xが調停されたことを示し、オア回路304を介してカウンタ303のクリア端子clrに入力される。カウンタ303は、例えば4ビットカウンタである。カウンタ303の出力信号は、入力ポートAIにおけるチャネルC0側のパケットA1xをロックするポートA1ロック信号として調停切替回路30Aへ出力されると共に、オア回路304にフィードバックされる。カウンタ303のカウント値が一定値に達すると、カウンタ303の出力信号(ポートA1ロック信号)は、入力ポートAIにおけるチャネルC0側のパケットA1xがデッドロックした状態であることを示す。
アンド回路311の出力信号は、ハイレベルであると入力ポートAIにおけるチャネルC1側のパケットA2xが調停されなかったことを示し、カウンタ313のカウントタップ端子upに入力される。アンド回路312の出力信号は、ハイレベルであると入力ポートAIにおけるチャネルC1側のパケットA2xが調停されたことを示し、オア回路314を介してカウンタ313のクリア端子clrに入力される。カウンタ313は、例えば4ビットカウンタである。カウンタ313の出力信号は、入力ポートAIにおけるチャネルC1側のパケットA2xをロックするポートA2ロック信号として調停切替回路30Aへ出力されると共に、オア回路314にフィードバックされる。カウンタ313のカウント値が一定値に達すると、カウンタ313の出力信号(ポートA2ロック信号)は、入力ポートAIにおけるチャネルC1側のパケットA2xがデッドロックした状態であることを示す。
図13は、調停切替回路30Aの構成を示す図である。図13中、図6と同一部分には同一符号を付し、その説明は省略する。
図13において、調停切替回路30Aは、オア回路330,34、一定時間計測カウンタ35、及びデコーダ36を有する。オア回路330には、各キュー調停回路28−1Aで検出されたロック情報、即ち、入力ポートAIに対するポートA1,A2ロック信号、入力ポートBIに対するポートB1,B2ロック信号、入力ポートCIに対するポートC1,C2ロック信号、及び入力ポートDIに対するポートD1,D2ロック信号が入力される。オア回路330の出力信号は、オア回路34の一方の入力に供給される。
各入力ポートAI,BI,CI,DIからのロック情報が入力されると、一定時間計測カウンタ35が一定時間をカウントする間(即ち、カウント値が一定値を超えるまで)、出力する調停切替信号ARB_ENをアサートする。調停切替信号ARB_ENがアサートされている期間は調停アルゴリズムがLRUアルゴリズムから時分割アルゴリズムに切り替えられる。一定時間計測カウンタ35が一定時間をカウントすると(カウント値が一定値を超えると)、カウント値が0となり調停切替信号ARB_ENがでデアサートされるので、調停アルゴリズムは元のLRUアルゴリズムに戻される。
これにより、本実施例では、調停アルゴリズムの切り替えを少なくとも1つの入力ポートにおけるデッドロックをトリガとして行うことができる。
図14は、第3実施例における調停回路の一例を示す図である。図14に示す調停回路28Bは、例えば図1に示す並列計算機1のクロスバースイッチ14内に設けられているものとする。図14中、図5と同一部分には同一符号を付し、その説明は省略する。
本実施例では、各入力ポートAI,BI,CI,DIのキューAQ,BQ,CQ,DQが空になったことを示すエンプティー信号EMPTY_A,EMPTY_B,EMPTY_C,EMPTY_Dがバッファから調停切替回路30Bに供給されると共に、調停切替回路30Bが調停アルゴリズムをLRUアルゴリズムから時分割アルゴリズムに切り替えている期間はパケットの投入を抑えるインヒビット信号INHを各入力ポートAI,BI,CI,DIに供給する点が上記第1実施例と異なる。
図15は、調停切替回路30Bの構成を示す図である。図15中、図6と同一部分には同一符号を付し、その説明は省略する。
図15において、アンド回路401には、各入力ポートAI,BI,CI,DIのキューAQ,BQ,CQ,DQが空になったことを示すエンプティー信号EMPTY_A,EMPTY_B,EMPTY_C,EMPTY_Dがバッファから入力される。アンド回路401の出力信号は、一定時間計測カウンタ35のクリア端子clrに入力される。これにより、各キューAQ,BQ,CQ,DQからのエンプティー信号EMPTY_A,EMPTY_B,EMPTY_C,EMPTY_Dが全てアサートされると、一定時間計測カウンタ35のカウント値は一定時間の計測を終了する前であっても0にクリアされる。又、一定時間計測カウンタ35が出力する調停切替信号ARB_ENは、バッファ402を介してインヒビット信号INHとして各入力ポートAI,BI,CI,DIに入力される。
これにより、調停切替信号ARB_ENがアサートされている期間は、アサートされたインヒビット信号INHが各入力ポートAI,BI,CI,DIに供給されるので、各入力ポートAI,BI,CI,DIへのパケットの投入が抑えられる。一方、調停切替信号ARB_ENがアサートされている期間は調停アルゴリズムがLRUアルゴリズムから時分割アルゴリズムに切り替えられているが、各入力ポートAI,BI,CI,DIのキューAQ,BQ,CQ,DQが全て空になりエンプティー信号EMPTY_A,EMPTY_B,EMPTY_C,EMPTY_Dが全てアサートされると、一定時間計測カウンタ35のカウント値がその時点で0にクリアされる。一定時間計測カウンタ35のカウント値が0にクリアされると、調停切替信号ARB_ENがでデアサートされるので、調停アルゴリズムは元のLRUアルゴリズムに戻される。
これにより、本実施例では、調停アルゴリズムの切り替えをリトライ指示の頻度が閾値に達したことをトリガとして行い、且つ、各キューQA,QB,QC,QD内のパケットが全て空になったことをトリガとして元の調停アルゴリズムに戻すことができる。
開示の調停方法、調停回路、及び調停回路を備えた装置は、クロスバースイッチや、クロスバースイッチを有する並列計算機等調停処理を要する各種装置に適用可能である。
以上、開示の調停方法、調停回路、及び調停回路を備えた装置を実施例により説明したが、本発明は上記実施例に限定されるものではなく、本発明の範囲内で種々の変形及び改良が可能であることは言うまでもない。

Claims (10)

  1. 各々が論理的には複数の仮想的なチャネルを有する物理的には複数の入力ポートからのデータを複数の出力ポートのうち任意の出力ポートへ転送するための経路制御を行う際に、任意の時点では1つの入力ポートで1つのチャネルのみ選択可能であり、各入力ポートのチャネル間の調停を時分割アルゴリズム以外の任意の調停アルゴリズムに従って行う第1の調停処理と、
    前記複数の入力ポート間の調停を前記任意の調停アルゴリズムに従って行う第2の調停処理と、
    トリガに応答して一定期間前記第1及び第2の調停処理で用いる調停アルゴリズムを時分割アルゴリズムに切り替える処理を含む、調停方法。
  2. 前記第2の調停処理において任意の入力ポートからの経路制御要求が一定期間採用されない場合に前記任意の入力ポートに対して前記任意の入力ポートからの経路制御要求を一旦キャンセルするリトライ指示を出力して前記第1の調停処理で再度調停を行い、前記リトライ指示の頻度が閾値に達したことを前記トリガとする、請求項1記載の調停方法。
  3. 前記複数の入力ポートにおける各キュー内のデータが全て空になったことをトリガとして前記調停アルゴリズムを前記任意の調停アルゴリズムに戻す、請求項2記載の調停方法。
  4. 前記第1の調停処理において少なくとも1つの入力ポートにおけるデッドロックが検出されたことを前記トリガとする、請求項1記載の調停方法。
  5. 各々が論理的には複数の仮想的なチャネルを有する物理的には複数の入力ポートからのデータを複数の出力ポートのうち任意の出力ポートへ転送するための経路制御要求を行う際に、任意の時点では1つの入力ポートで1つのチャネルのみ選択可能であり、各入力ポートのチャネル間の調停を時分割アルゴリズム以外の任意の調停アルゴリズムに従って行う第1の調停回路と、
    前記複数の入力ポート間の調停を前記任意の調停アルゴリズムに従って行う第2の調停回路と、
    トリガに応答して一定期間前記第1及び第2の調停処理で用いる調停アルゴリズムを時分割アルゴリズムに切り替える調停切替回路を備えた、調停回路。
  6. 前記第2の調停回路において任意の入力ポートからの経路制御要求が一定期間採用されない場合に前記任意の入力ポートに対して前記任意の入力ポートからの経路制御要求を一旦キャンセルするリトライ指示が出力されて前記第1の調停回路は再度調停を行い、
    前記調停切替回路は、前記リトライ指示の頻度が閾値に達したことを前記トリガとする、請求項記載の調停回路。
  7. 前記調停切替回路は、前記複数の入力ポートにおける各キュー内のデータが全て空になったことをトリガとして前記調停アルゴリズムを前記任意の調停アルゴリズムに戻す、請求項記載の調停回路。
  8. 前記調停切替回路は、前記第1の調停回路において少なくとも1つの入力ポートにおけるデッドロックが検出されたことを前記トリガとする、請求項記載の調停回路。
  9. 前記任意の調停アルゴリズムは、LRU(Least Recently Used)アルゴリズム、ラウンドロビンアルゴリズム、及び固定プライオリティアルゴリズムからなるグループから選択された1つのアルゴリズムである、請求項乃至のいずれか1項記載の調停回路。
  10. 複数のプロセッサ及びメモリを有するシステムと、複数の入出力インタフェースを有する入出力システムを接続する装置であって、
    各々が論理的には複数の仮想的なチャネルを有する物理的には複数の入力ポートと、
    複数の出力ポートと、
    前記複数の入力ポートからのデータを前記複数の出力ポートのうち任意の出力ポートへ転送するための経路制御を行う際に、任意の時点では1つの入力ポートで1つのチャネルのみ選択可能であり、各入力ポートのチャネル間の調停を時分割アルゴリズム以外の任意の調停アルゴリズムに従って行う第1の調停回路と、
    前記複数の入力ポート間の調停を前記任意の調停アルゴリズムに従って行う第2の調停回路と、
    トリガに応答して一定期間前記第1及び第2の調停処理で用いる調停アルゴリズムを時分割アルゴリズムに切り替える調停切替回路を備えた、装置。

JP2011506887A 2009-03-31 2009-03-31 調停方法、調停回路、及び調停回路を備えた装置 Expired - Fee Related JP5304888B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2009/056671 WO2010113262A1 (ja) 2009-03-31 2009-03-31 調停方法、調停回路、及び調停回路を備えた装置

Publications (2)

Publication Number Publication Date
JPWO2010113262A1 JPWO2010113262A1 (ja) 2012-10-04
JP5304888B2 true JP5304888B2 (ja) 2013-10-02

Family

ID=42827595

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011506887A Expired - Fee Related JP5304888B2 (ja) 2009-03-31 2009-03-31 調停方法、調停回路、及び調停回路を備えた装置

Country Status (4)

Country Link
US (1) US8837505B2 (ja)
EP (1) EP2416254A4 (ja)
JP (1) JP5304888B2 (ja)
WO (1) WO2010113262A1 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5471627B2 (ja) * 2010-03-09 2014-04-16 富士通株式会社 ネットワーク装置、エッジルータ及びパケット通信システム
US9678906B2 (en) * 2014-03-26 2017-06-13 International Business Machines Corporation Oldest link first arbitration between links grouped as single arbitration elements
JP6350098B2 (ja) * 2014-08-11 2018-07-04 富士通株式会社 演算処理装置,情報処理装置,及び情報処理装置の制御方法
CN105099956B (zh) 2015-06-25 2018-08-14 华为技术有限公司 交换网***和数据交换方法
US10877836B2 (en) * 2018-08-29 2020-12-29 Arm Limited Method and apparatus for coherent interconnect recovery with protocol layer re-transmission
JP7508962B2 (ja) 2020-09-15 2024-07-02 富士通株式会社 半導体装置及び転送方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10254843A (ja) * 1997-03-06 1998-09-25 Hitachi Ltd クロスバスイッチ、該クロスバスイッチを備えた並列計算機及びブロードキャスト通信方法
JP2004102607A (ja) * 2002-09-09 2004-04-02 Nec Computertechno Ltd クロスバー調停システム

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001022711A (ja) 1999-07-08 2001-01-26 Hitachi Ltd クロスバースイッチの制御方法及び並列計算機システム
US20020146022A1 (en) * 2000-05-31 2002-10-10 Van Doren Stephen R. Credit-based flow control technique in a modular multiprocessor system
US7359384B2 (en) * 2002-06-10 2008-04-15 Lucent Technologies Inc. Scheduling of guaranteed-bandwidth low-jitter traffic in input-buffered switches
JPWO2005124566A1 (ja) * 2004-06-16 2008-04-17 松下電器産業株式会社 バス調停装置及びバス調停方法
JP4907166B2 (ja) * 2005-01-12 2012-03-28 パナソニック株式会社 リソース管理装置
US7395361B2 (en) * 2005-08-19 2008-07-01 Qualcomm Incorporated Apparatus and methods for weighted bus arbitration among a plurality of master devices based on transfer direction and/or consumed bandwidth

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10254843A (ja) * 1997-03-06 1998-09-25 Hitachi Ltd クロスバスイッチ、該クロスバスイッチを備えた並列計算機及びブロードキャスト通信方法
JP2004102607A (ja) * 2002-09-09 2004-04-02 Nec Computertechno Ltd クロスバー調停システム

Also Published As

Publication number Publication date
EP2416254A1 (en) 2012-02-08
EP2416254A4 (en) 2012-10-17
JPWO2010113262A1 (ja) 2012-10-04
US8837505B2 (en) 2014-09-16
WO2010113262A1 (ja) 2010-10-07
US20120002677A1 (en) 2012-01-05

Similar Documents

Publication Publication Date Title
JP5304888B2 (ja) 調停方法、調停回路、及び調停回路を備えた装置
US5371893A (en) Look-ahead priority arbitration system and method
US10614010B2 (en) Handling queued interrupts in a data processing system based on a saturate value
US7890686B2 (en) Dynamic priority conflict resolution in a multi-processor computer system having shared resources
US9262356B2 (en) Arbiter device and arbitration method
US8234428B2 (en) Arbitration device that arbitrates conflicts caused in data transfers
US8364876B2 (en) Computer system
US20100325327A1 (en) Programmable arbitration device and method therefor
EP0327203B1 (en) NxM arbitrating non-blocking high bandwidth switch
KR100905802B1 (ko) 컴퓨터 시스템의 입력/출력 노드에서 태깅 및 중재 매카니즘
US10740269B2 (en) Arbitration circuitry
US20040103232A1 (en) Arbitration unit
US20030093593A1 (en) Virtual channel buffer bypass for an I/O node of a computer system
US20030097514A1 (en) Computer system I/O node
CN109716719B (zh) 数据处理方法及装置、交换设备
US6839784B1 (en) Control unit of an I/O node for a computer system including a plurality of scheduler units each including a plurality of buffers each corresponding to a respective virtual channel
US6820151B2 (en) Starvation avoidance mechanism for an I/O node of a computer system
JP4852138B2 (ja) 高速交換環境でマルチキャスティングするシステム、方法及び論理
CN104978289A (zh) 具有共享仲裁单元的服务请求中断路由器
JP2000250853A (ja) バス調整制御装置
JP2015069345A (ja) 情報処理装置,データ転送装置,およびデータ転送方法
JPH04326454A (ja) クロスバネットワーク
JP2007026284A (ja) データ処理装置
CN117992371A (zh) 用于共享数据路径的分布式仲裁
JP2014038497A (ja) 並列計算機システム、データ転送装置及び並列計算機システムの制御方法

Legal Events

Date Code Title Description
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: 20130528

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130610

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees