JP4576399B2 - クロスバーのストールした出力キューの情報をクリアするためのシステム及び方法 - Google Patents

クロスバーのストールした出力キューの情報をクリアするためのシステム及び方法 Download PDF

Info

Publication number
JP4576399B2
JP4576399B2 JP2007110164A JP2007110164A JP4576399B2 JP 4576399 B2 JP4576399 B2 JP 4576399B2 JP 2007110164 A JP2007110164 A JP 2007110164A JP 2007110164 A JP2007110164 A JP 2007110164A JP 4576399 B2 JP4576399 B2 JP 4576399B2
Authority
JP
Japan
Prior art keywords
queue
information
crossbar
clearing
exit
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
JP2007110164A
Other languages
English (en)
Other versions
JP2007293851A (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.)
Hewlett Packard Development Co LP
Original Assignee
Hewlett Packard Development Co LP
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 Hewlett Packard Development Co LP filed Critical Hewlett Packard Development Co LP
Publication of JP2007293851A publication Critical patent/JP2007293851A/ja
Application granted granted Critical
Publication of JP4576399B2 publication Critical patent/JP4576399B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4022Coupling between buses using switching circuits, e.g. switching matrix, connection or expansion network
    • 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/90Buffering arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • H04L49/9063Intermediate storage in different physical parts of a node or terminal
    • H04L49/9078Intermediate storage in different physical parts of a node or terminal using an external memory or storage device

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Computer Hardware Design (AREA)
  • General Physics & Mathematics (AREA)
  • Multi Processors (AREA)
  • Bus Control (AREA)
  • Information Transfer Systems (AREA)

Description

実施の形態は、包括的にはコンピュータシステムに関し、より詳細には、クロスバーのストールした出力キューの情報をクリアするためのシステム及び方法に関する。
対称型マルチプロセシング(SMP)システム等のマルチプロセッサシステムは、単一のオペレーティングシステムの管理下でタスクを独立に実行する、多くの並列動作する中央処理装置(CPU)を使用する。1つのタイプのマルチプロセッサシステムは、高帯域幅のポイントツーポイントリンク(従来の共有バスアーキテクチャではない)を使用して、CPUと、入出力(I/O)デバイス、メモリユニット、及び/又は他のCPUとの間の直接接続を提供する複数のCPUに基づいている。
互いに極めて接近して存在するCPUの小さなグループは、同じダイ及び/又はチップボード上に集約することができる。このようなグループ、すなわちクラスタは、さらにパーティション(nPAR)に集約することができる。複数のnPARは、比較的大きなSMPシステムから構成することができる。各nPARには、無関係な機能又はアクティビティを実行するようにタスクを与えることができる。
一方、さまざまなnPARは、入出力(I/O)コントローラ等の他のデバイス、SMPシステム内で遠隔に位置する、そのnPAR内の他のCPU、又は異なるnPAR内の他のCPUへ、SMPシステムの全体にわたって情報を通信することが必要な場合がある。したがって、通信パスをSMPシステムの全体にわたって確立しなければならない。このような通信パスは、クロスバーを使用して確立することができる。通常、パス冗長性の提供及び/又はSMPシステムのモジュール構築の容易化のために多数のクロスバーを使用することができる。
クロスバーは、情報の受信用の入力キュー及び情報の送信用の出力キューを使用する。1つのタイプのSMPシステムは、パケットベースの通信プロトコルを使用する。各パケットは、送信デバイス(SMP CPUの1つ等)を特定する送信元情報と、目的とする宛先デバイスを特定する宛先情報とを含む。
情報は、クロスバーに到着すると、その情報が到着した接続部に結合されている入力キューに記憶される。クロスバーコントローラシステムは、次に、その情報が送信されるクロスバーの出力キューを特定する。この出力キューは、宛先デバイス又は(さらにルーティングが必要とされる場合には)別のクロスバーに結合されている。
宛先デバイスは、無効にされる(disabled)可能性があり、又は当該宛先デバイスが通信結合されているクロスバーの出力キューから情報を受け取ることができない動作モードにある可能性もある。したがって、情報はその出力キューに保持される。出力キューの情報がストールするので、他の情報をその出力キューから外部へ通信することができない。すなわち、出力キューはストールしてしまう。
ストールしたデバイス又は他のデバイスを宛先としている場合がある他の情報が、その後、ストールした出力キュー内に通信される場合、この後続の情報は、ストールのためにそのキューから外部へ通信することができない。さらに、ストールしたデバイスを宛先とする情報が他のキューでストールを引き起こすと、ストールはSMPシステムを通じて伝播するおそれがある。このようなストールのシナリオでは、SMPシステムの他のnPARの動作が悪影響を受けるおそれがある。極端な状況では、SMPシステム全体がストールするおそれがあり、制御されていないシステムシャットダウンに強制的に陥るおそれがある。
クロスバーのストールした出力キューの情報をクリアするさまざまな実施の形態が開示される。一実施の形態は、クロスバーに存在する少なくとも1つの他の時限ポートから少なくとも1つの情報を受信する出力キューと、この出力キューに存在する出口キューと、所定の時間の満了時にこの出口キューの情報のクリアを引き起こすように、この出口キューに結合されて、受信された情報がこの出口キューに存在する時間を監視するキュータイマとを備える。
別の実施の形態は、出力キューに存在する出口キュー内へ1つの情報を通信すること、この1つの情報がこの出口キューに存在する時間を監視すること、及び、この監視された時間が所定の時間を超えた時、出口キューから1つの情報をクリアすることを含む方法である。
図面の構成要素は、必ずしも互いに相対的に同一の縮尺であるとは限らない。同じ参照符号は、いくつかの図を通して対応する部分を示している。
図1は、時限ポートクロスバー(timed port crossbar)102の実施の形態を使用する対称型マルチプロセシング(SMP)システム100のブロック図である。この例示のSMPシステム100は、複数のエレメントクラスタを備える。クラスタは、上述したように、複数のコンポーネントで構成され、これら複数のコンポーネントは、中央処理装置(CPU)、ディレクトリ、入出力(I/O)デバイス、及び/又は他のデバイスを含む。
1つのタイプのマルチプロセッサシステムは、高帯域幅のポイントツーポイントリンク106を使用する、複数の並列動作するCPU及び他のデバイスに基づいている。ポイントツーポイントリンク106は、共有ファブリック108を介して、エレメントクラスタ104間、エレメント110間、又はエレメントクラスタ104とエレメント110との間の接続を提供する(エレメント110は、I/Oデバイス、メモリユニット、及び/又は他のCPU等の単一のエレメントとすることができる)。説明に役立つ一例として、1つのタイプの高帯域幅ポイントツーポイントリンク106は、並直列変換器/直並列変換器(SERDES)リンクである。各SERDESリンクは、1方向当たり2つの計4つの高速ピンを使用して、双方向通信をサポートする。
共有ファブリック108は、複数の時限ポートクロスバー102及びクロスバーファブリック112で構成されている。時限ポートクロスバー102は、接続部114を介してさまざまな接続トポロジーの下で互いに結合されている。いくつかの実施の形態では、接続部114はSERDESリンクである。ただし、さまざまな実施の形態では、任意の適した接続部の形態を使用することができる。
説明の目的のために、簡略化されたSMPシステム100は、パーティションA 116及びパーティションB 118の2つのパーティション(nPAR)に分割されている。上述したように、複数のnPARは、比較的大きなSMPシステムから構成することができる。各nPARには、唯一の機能又はアクティビティを実行するようにタスクを与えることができる。
CPU又は他のデバイスが、共通ファブリック108を介して遠隔のデバイスへ情報を通信する必要がある場合、それらのデバイスが結合されている時限ポートクロスバー102が、クロスバーファブリック112を介して相互間の接続を提供する。いくつかのトポロジーでは、クロスバーファブリック112内にもクロスバー(図示せず)が存在する場合がある(このようなクロスバーは、時限ポートクロスバー102の実施の形態とすることができ、且つ/又は、従来のクロスバーとすることができる)。
いくつかのトポロジーでは、2つ以上のエレメントクラスタ104のコンポーネントを、単一の時限ポートクロスバー102を介して互いに直接結合することができる。たとえば、パーティションAのエレメントは、単一の時限ポートクロスバー102を介してパーティションBのエレメントに結合することができる。又は、パーティションAの第1のクラスタのエレメントを、単一の時限ポートクロスバー102を介してパーティションAの別のクラスタのエレメントに結合することができる。さらに、時限ポートクロスバー102の実施の形態は、共有ファブリック108のクロスバーのすべてに使用することができ、又は共有ファブリック108の選択された部分に限定することもできる(他の部分は従来のクロスバーを使用する)。したがって、nPARを有するSMPシステム又はnPARを有しないSMPシステムのさまざまな可能なトポロジーはほぼ制限がないことが理解され、図1のSMPシステム100は、説明を目的とする非常に簡略化されたブロック図であることが理解される。時限ポートクロスバー102の実施の形態を使用するSMPシステム100のトポロジーのこのようなすべての変形は、本開示の範囲内に含まれることが意図されている。
図2は、時限ポートクロスバー102の一例示の実施の形態をさらに詳細に示すブロック図である。説明の目的のために、時限ポートクロスバー102は、エレメントクラスタ104のエレメント202間の接続を提供するものとして示されている。上述したように、このようなエレメントは、CPU、ディレクトリ、I/Oデバイス、又は他のデバイスとすることができる。さらに、時限ポートクロスバー102は、オプションとして、エレメント110(I/Oデバイス、別の時限ポートクロスバー102、別のクロスバー等であるが、これらに限定されるものではない)への接続を提供することができる。
時限ポートクロスバー102は、以下でさらに詳述する複数の時限ポート204で構成されている。時限ポート204は、接続部208を介し、クロスバー内部接続ファブリック206を通って互いに結合されている。さまざまなタイプの接続部208及びファブリック206、並びに、それらを使用して時限ポート204間の接続を提供する方法が、当該技術分野で理解されており、本明細書では詳細に説明しない。時限ポート204間の結合を提供するこのようなすべてのトポロジー及びハードウェア構成は、本開示の範囲内に含まれるように意図されている。
好ましい一実施の形態では、高速リンク106は、時限ポート204内へ及び時限ポート204外への双方向通信を提供する2つの通信パス210及び212で構成されている。パス210は、時限ポート204内から、時限ポート204が結合されているエレメント202への情報のフローを提供する。パス212は、時限ポート204が結合されているエレメント202から時限ポート204内への情報のフローを提供する。限定ではなく例として、4つの高速ピン(1つの方向当たり2つのピン)を使用して双方向通信をサポートする上述したSERDESリンクでは、パス210がそれらピンのうちの2つに対応し、パス212が他の2つのピンに対応する。
図3は、4つの時限ポート204を有する時限ポートクロスバー102の一実施の形態をさらに詳細に示すブロック図である(この図3では、参照符号A〜Cは、この例示の時限ポートクロスバー102内のエレメントの特定のロケーションを特定するのに使用される)。したがって、時限ポートクロスバー102は、4ポートクロスバーとみなすことができる。時限ポートクロスバー102の代替的な実施の形態は、5つ以上の時限ポート204を有することができることが十分理解される。
各時限ポート204は、入力キュー302、出力キュー304、及びキュータイマ306を備える。入力キュー302及び出力キュー304は、1つ又は複数の情報キュー308、312をそれぞれ備える(4つの情報キューが便宜上示されている)。各情報キュー308、312は、単一の情報を記憶するように構成されている。
一例示の実施の形態では、情報キュー308、312は直列に接続されて、1つの情報が情報キュー308、312の最初のものに到着するようにされている。その後、この1つの情報は、直列に又は順次、情報キュー308、312の最後のものへ伝播される。この情報キュー308、312の最後のものは、以下、「出口」キューと呼ぶ。この1つの情報が出口キューに存在している時、次に、その情報をそのキューに結合された出力接続部上へ通信することができる。
他の実施の形態では、出力キュー(及び入力キュー)は、他のメモリベースの媒体及びアーキテクチャを使用してインプリメントすることができる。たとえば、ランダムアクセスメモリ(RAM)が情報を記憶することができる。その情報のロケーションは、ポインタ又は他の適した識別子によって特定することができる。別の実施の形態では、ラッチアレイ等が使用される。
入力キュー302及び出力キュー304は、情報を受信し、記憶し、そして別のコンポーネントへ通信することができる任意の適した媒体を使用してインプリメントすることができる。便宜上、出力キュー304は、自身の出口キューが参照符号310で特定されている。(シリアルキューの実施の形態では、シリアルキューの実施の形態を図3の説明図と同様に構成することができる。RAM又はラッチの実施の形態では、出口キューは、次にキューから外部へ通信される情報のロケーションを示すポインタ又は他の適した識別子に対応する。)
たとえば、エレメント202Aは、パス210A及び212Aを介して、時限ポート204Aに結合することができる。エレメント202B、202C、及び202Dも同様に、それらの各時限ポート204B〜204Dに結合される。エレメント202Aは、1つの情報をエレメント202Bへ通信する必要があるものと仮定すると、通信プロセスは、この情報が、入力キュー302Aの最初の情報キュー308A内へパス212Aを介して通信されることで開始する。複数の情報キュー308Aが存在する場合、情報は、接続部314A上への通信準備ができるように、キュー308Aの最後のもの(出口キュー)へシリアルにシフトされるか、又は、順次通信される。
さまざまな実施の形態では、時限ポートクロスバー102は、パス314及び316を介して、時限ポート204Aと時限ポート204Bとの間でパスを確立するように自身を構成する。パスが確立されると、1つの情報は、出力キュー304Bの最初の情報キュー312Bへ通信することができる。複数の情報キュー312Bが存在する場合、この情報は、パス210B上への通信準備ができるように、出口キュー310Bへシリアルにシフトされるか、又は、順次通信される。エレメント202Bが情報を受信する準備ができると、情報は、出口キュー310Bから接続部210B上へ通信される。
同様に、エレメント202Aが、エレメント202Cへ1つの情報を通信する必要がある場合、この情報は、入力キュー302A内へ通信される。次に、パス314、318が、時限ポートクロスバー102によって出力キュー304Cへ構成される。情報は、次に、出力キュー304Cへ通信される。エレメント202Cが情報を受け取る準備ができると、情報は、出口キュー310Cから接続部210C上へ出力される。同様に、エレメント202Aがエレメント202Dへ情報を通信する必要がある場合、その情報は、入力キュー302A、パス314、320、出力キュー304Dを介して通信され、エレメント202Dが情報を受け取る準備ができると、その情報は接続部210D上へ出力される。
従来のクロスバーを使用する従来のSMPシステムにおける同様の情報通信を有する上述した例に戻って、いくつかの状況では、エレメント202Bは、エレメント202Aからエレメント202Bへ通信される情報を受信できない場合がある。このような状況において、従来のクロスバーでは、情報は、エレメント202Bに結合されている出力キューに不定期間の間保持される。すなわち、情報はストールする。エレメント202Bが、正しく機能しない場合ないしは故障している場合、情報は、(システムがクラッシュするか、ないしはリセットされるまで)出力キューから外部へ決して通信され得ない。さらに、情報が、エレメント202Bに結合されているキューから出力されない場合、従来のクロスバーの他のキューが、通信される順番を待っている情報で渋滞(backup)するように、他の情報の通信の渋滞が存在する場合がある。すなわち、ストールは、従来のクロスバーの他の入力キュー及び/又は出力キューを通じて伝播する場合がある。他の入力キュー及び/又は出力キューがストールする(もはや情報の受信も通信もできない)と、他のクロスバーの入力キュー及び/又は出力キューは、影響を受ける場合がある。したがって、SMPシステム全体が動作しなくなるおそれがあり、当該技術分野で言及されるように、SMPシステムは、制御されない望ましくない方法で「クラッシュ」することになる。
時限ポートクロスバー102の実施の形態は、出力キュー304のストールした情報の影響を軽減するように構成されている。キュータイマ306の一実施の形態は、その各出口キュー310に通信結合されて、1つの情報が出口キュー310に存在する時間を監視する。出口キュー310から外部への情報の通信がない状態で、所定の期間が満了すると、キュータイマ306は、出口キュー310にストールした情報をクリアさせる。ここで、クリアとは、出口キュー310から情報を廃棄、消去、ないしは削除することを指す。
図4Aは、時限ポート204の一実施の形態のさらに詳細を示すブロック図である。この例示の実施の形態は、状態マシン402及びコントローラ404を備える。状態マシン402は、時間計測動作を実行する。状態マシンは、情報が出口キュー310内に到着すると時間の監視を開始する。このような時間計測は、サイクル、又は、時間に対応する別の適した測定単位でリアルタイムに行うことができる。所定の期間の満了前に、情報が出口キュー310から外部へ通信された場合、時間計測機能はリセットされる。一方、情報が、所定の期間の終了までに出口キュー310から外部へ通信されなかった場合、状態マシン402は、タイムアウト信号をコントローラ404へ通信する。コントローラ404は、次に、出口キュー310の情報をクリアさせる(情報は廃棄、消去、ないしは削除される)。
図4Bは、プロセッサ406及びメモリ408を使用してインプリメントされる一代替的な実施の形態を示している。ここで、プロセッサ406は、上述した状態マシン402によって実行される時間計測と同様に、情報が出口キュー310に存在する期間を計測する。時間計測期間410は、メモリ408の或る領域内に事前にプログラミングされている。情報が出口キュー310においてストールする場合、ロジック412(プロセッサ406による実行のためにメモリ408からすでに取り去られている)は、出口キュー310の情報をクリアさせる制御信号をプロセッサに生成させる。
状態マシン及びコントローラを使用して、又は、プロセッサ及びメモリによってインプリメントされる、キュータイマ306の代替的な実施の形態は、複数の出力キューを監視するとともに制御するように構成できることが十分理解される。出口キュー310(図1〜図3)の時間監視機能及びストールした情報のクリア機能は、時限ポートクロスバー102によって実行される他の機能と共にインプリメントすることができる。たとえば、出口キュー310の時間監視機能及び/又はストールした情報のクリア機能は、時限ポートクロスバー102を通る通信パスを決定するとともに有効にする(enable)同じコンポーネントが実行することができる。さらに、状態コントローラ、プロセッサ、コントローラ、及び/又はメモリの組み合わせを使用して他の実施の形態をインプリメントすることもできる。
上述したように、各キュータイマ306は、情報がその各出口キュー310に存在していた時間の長さを監視するように構成されている。所定の期間の満了後、キュータイマ306は、少なくとも出口キュー310の内容をクリアさせる。したがって、渋滞が時限ポートクロスバー102の他のキューで発生していた場合、情報をクリアすることによって、他の情報が他の入力キュー及び/又は出力キューを通って伝播することが可能になる。
簡略化された仮説的な説明例を提供する。入力キュー302A〜302Cは4つの情報キュー308をそれぞれ有するものと仮定する。すなわち、入力キュー302A〜302Cのそれぞれには、4つの情報についての十分なストレージが存在する。同様に、出力キュー304A〜304Cは、4つの情報についての十分なストレージが存在するように4つの情報キュー(3つの情報キュー312及び出口キュー310)を有する。
仮説的な動作プロセスの或る時点において、エレメント202Aは、5つの情報をエレメント202Bへ通信する必要があり、次に、1つの情報をエレメント202Cへ通信する必要があるものと仮定する。最初の4つの情報は、エレメント202Aから入力キュー302Aを通って出力キュー304B内へシリアル形式又は順次形式で通信される。この時点で、出力キュー304Bはフルになり、出口キュー310Bの最初の情報がエレメント202Bへ通信されるまで、さらに情報を追加して受け取ることができない。
5番目の情報がエレメント202Aによって送信されると、その情報は、情報キュー308Aの最後のもの(出口キュー)に保持され、出力キュー304Bへ通信される順番を待つ。次に、エレメント202Cを宛先とする1つの情報が入力キュー302A内へエレメント202Aによって通信されるものと仮定する。情報が情報キュー308Aを通ってシリアル形式又は順次形式で通信されるので、エレメント202Cを宛先とする情報は、5番目の情報(現在、入力キュー302Aの出口キューに存在する)が接続部314上へ出力された後となるまで、通信することができない。
従来のクロスバーにおけるストールの上述した例と同様に、エレメント202Bは、出力キュー304Bから情報を受信できないものと仮定する。したがって、出力キュー304Bは、接続部210B上へ最初の情報を通信することができない。すなわち、最初の情報は、出口キュー310Bで行き詰る。情報が出力キュー304Bを通って移動しないので、出力キュー304Bはストールする。
さらに、(出力キュー304Bはフルであるから)入力キュー302Aで渋滞している5番目の情報を出力キュー304Bへ通信することができないので、5番目の情報は、入力キュー302Aでストールする。すなわち、入力キュー302Aもストールする。したがって、この簡略化された例では、先に通信された、エレメント202Cを宛先とする最初の情報は、入力キュー302Aから出力キュー304Cへ通信することができない。
エレメント202Aから通信された(エレメント202Bを宛先とする)最初の情報が出口キュー310Bに到着すると、キュータイマ306Bは、その時間計測プロセスを開始する。所定の時間計測期間の満了時に、最初の情報が出口キュー310Bから外部へ通信されていないとの判断がなされる。次に、キュータイマ306Bは、少なくとも最初の情報を出口キュー310Bからクリアさせる。
次に、2番目の情報が出口キュー310B内へ移動することができる。したがって、入力キュー302Aにある5番目の情報を出力キュー304Bへ通信することができる。5番目の情報が入力キュー302Aから外部へ移動された後、エレメント202Cを宛先とする最初の情報は、この簡略化された例では、入力キュー302Aの出口キューの位置へ移動する。次に、エレメント202Cを宛先とするこの最初の情報を出力キュー304Cへ通信することができる。すなわち、入力キュー302Aはもはやストールしていない。
エレメント202Bが出力キュー304Bからの情報を受け取ることができない場合、時限ポートクロスバー102の他のキューへ他の情報を通信できるように、ストールした情報を周期的にクリアすることができる。したがって、他のエレメントへの情報フローの渋滞又はストールは回避され、SMPシステムのオペレーションを継続することを可能にすることができる。
一代替的な実施の形態では、出力キュー310の各キュータイマ306がタイムアウトした場合、出力キュー310のすべての情報がクリアされる。そして、新しい情報が出口キュー310内に到着した時、時間計測プロセスが開始する。このような実施の形態は、遠隔ポートのストールをより迅速にクリアすることができる。
別の実施の形態では、別のシステムが、ストールしたエレメントのステータスを監視するように構成される。エレメントが出力キュー304から情報を受信できない間、時限ポート204は、他の時限ポート204から出力キュー304内に入る、新しく受信された情報を連続的にクリアする。ストールしたエレメントが復旧し、情報を受信可能となると、出力キュー304を通じて情報を通信するプロセスが再開する。
図5は、入力キュー302を通る情報のフローを監視するキュータイマ502を有する時限ポートクロスバー102の一実施の形態を示すブロック図である。上述したキュータイマ306と同様に、キュータイマ502は、その各出口キュー504に通信結合され、その出口キュー504の内外への情報のフローを監視する。出口キュー504から外部への情報の通信がない状態で、第2の所定の期間が満了すると、キュータイマ502は、出口キュー504においてストールした情報をクリアさせる。この実施の形態によれば、情報が出口キュー504から尚早にクリアされないように、キュータイマ502によって使用される第2の期間は、キュータイマ306によって使用される期間よりも長い。
説明に役立つ一例として、複数の時限ポート204が、多くの情報をエレメント202Bへ通信しようと試みている場合がある(上述した仮説的な例を参照)。エレメント202Bは、出口キュー310Bからの情報の受信中でなく、且つ、この例では、多くの情報が、他の時限ポート204において一列に列を成しているので、出力キュー304にのみ結合されるキュータイマを有する上述した実施の形態では、エレメント202Bを宛先とするすべての情報の最終的なクリアには、望ましくない長いクリア時間を要する場合がある。しかしながら、図5に示す実施の形態によって、ストールしたエレメント202Bを宛先とする情報は、入力キュー302においてストールするので、キュータイマ502は、このような情報のストールを検出することが可能になる。したがって、第2の期間の満了後、出口キュー504に存在する(ストールしたエレメント202Bを宛先とする)情報をクリアすることができる。
図6は、時限ポートクロスバー102(図1〜図3)の一実施の形態によって使用されるプロセスを示すフローチャート600を示している。図6のフローチャート600は、ロジック412(図4B)を実施するための一実施の形態のアーキテクチャ、機能、及び動作を示している。一代替的な実施の形態は、図4Aに示すような状態マシンとして構成されたハードウェアで、フローチャート600のロジックをインプリメントする。この点に関して、各ブロックは、指定された論理機能(複数可)を実施するための1つ又は複数の実行可能命令を含むコードモジュール、コードセグメント、又はコード部を表すことができる。代替的な実施の形態では、ブロックで示される機能は、図6に示す順序以外で並べることができるか、又は追加機能を含めることができることにも留意されたい。以下でさらに明確にするように、たとえば、図6に連続して示す2つのブロックを、実際にはほぼ同時に実行することができるか、それらのブロックを、時に逆の順序で実行することができるか、又は関与する機能に応じて、ブロックのいくつかは、すべての場合において実行されるとは限らない場合がある。このようなすべての変更及び変形は、本明細書における本開示の範囲内に含まれるように意図されている。
プロセスは、ブロック602で開始する。ブロック604において、1つの情報が、出力キューに存在する出口キュー内へ通信される。ブロック606において、この1つの情報が出口キューに存在する時間が監視される。ブロック608において、監視された時間が所定の時間を超えると、この1つの情報は、出口キューからクリアされる。プロセスはブロック610で終了する。
メモリ408(図4)においてインプリメントされる時限ポートクロスバー102の実施の形態は、任意の適したコンピュータ可読媒体を使用してインプリメントすることができる。本明細書の文脈において、「コンピュータ可読媒体」は、命令実行システム、命令実行装置、及び/又は命令実行デバイスに関連付けられるデータ、それらの装置等によって使用されるデータ、又はそれらの装置等と共に使用されるデータの記憶、通信、伝播、又は輸送を行うことができる任意の手段とすることができる。コンピュータ可読媒体は、限定ではなく例として、現在知られているか又は今後開発される、電子、磁気、光、電磁気、赤外線、又は半導体のシステム、装置、デバイス、又は伝播媒体とすることができる。
上述した実施の形態は、開示したシステム及び方法の単なる例に過ぎないことが強調されるべきである。上述した実施の形態に対して多くの変形及び変更を行うことができる。このようなすべての変更及び変形は、本明細書における本開示の範囲内に含まれるように意図されている。
時限ポートクロスバーの実施の形態を使用する対称型マルチプロセシング(SMP)システムのブロック図である。 時限ポートクロスバーの一例示の実施の形態をさらに詳細に示すブロック図である。 4つの時限ポートを有する時限ポートクロスバーの一実施の形態をさらに詳細に示すブロック図である。 時限ポートの一実施の形態のさらなる詳細を示すブロック図である。 時限ポートの一実施の形態のさらなる詳細を示すブロック図である。 入力キューを通る情報のフローを監視するキュータイマを有する時限ポートクロスバーの一実施の形態を示すブロック図である。 時限ポートクロスバーの一実施の形態によって使用されるプロセスを示すフローチャートである。
符号の説明
100・・・SMPシステム
102・・・時限ポートクロスバー
104・・・エレメントクラスタ
106・・・ポイントツーポイントリンク
108・・・共有ファブリック
110・・・エレメント
112・・・クロスバーファブリック
114・・・接続部
116・・・パーティションA
118・・・パーティションB
202・・・エレメント
204・・・時限ポート
206・・・クロスバー内部接続ファブリック
208・・・接続部
210,212・・・通信パス
302・・・入力キュー
304・・・出力キュー
306・・・キュータイマ
308,312・・・情報キュー
310・・・出口キュー
314,316,318,320・・・パス
402・・・状態マシン
404・・・コントローラ
406・・・プロセッサ
408・・・メモリ
410・・・時間計測期間
412・・・ロジック
502・・・キュータイマ
504・・・出口キュー

Claims (8)

  1. クロスバー(102)のストールした出力キュー(304)の情報をクリアするシステム(100)であって、
    前記クロスバーは、
    複数の時限ポート(204)
    を備え、
    各時限ポートは、
    前記クロスバーに存在する少なくとも1つの他の時限ポート(204A)から少なくとも1つの情報を受信する出力キュー(304B)と、
    該出力キューに存在する出口キュー(310B)と、
    第1の所定の時間の満了時に該出口キューの前記情報のクリアを引き起こすように、該出口キューに結合されて、前記受信された情報が該出口キューに存在する時間を監視する第1のキュータイマ(306B)と
    或るエレメント(202A)から別の情報を受信する入力キュー(302A)であって、該別の情報は、前記出力キューに結合されている別のエレメント(202B)を宛先とする、入力キュー(302A)と、
    該入力キューに存在する第2の出口キュー(504A)と、
    該第2の出口キューに結合される第2のキュータイマ(502A)であって、前記第1の所定の時間よりも長い第2の所定の時間の満了時に、該第2の出口キューの前記別の情報のクリアを引き起こすように、該受信された別の情報が該第2の出口キューに存在する時間を監視する、第2のキュータイマ(502A)と
    を備える
    システム。
  2. 前記キュータイマは、
    前記所定の時間を計測する状態マシン(402)と、
    前記所定の時間の満了時に前記出口キューから前記情報をクリアさせるコントローラ(404)と
    を備える
    請求項1に記載のシステム。
  3. 前記キュータイマは、
    前記所定の時間を計測し、該所定の時間の満了時に前記出口キューから前記情報をクリアさせるプロセッサ(406)と、
    該プロセッサに結合されて、前記所定の時間が記憶されるメモリ(408)と
    を備える
    請求項1に記載のシステム。
  4. クロスバーのストールした出力キューの情報をクリアするための方法(600)であって、
    前記出力キューに存在する出口キュー内へ1つの情報を通信すること(604)と、
    該1つの情報が該出口キューに存在する時間を監視すること(606)と、
    該監視された時間が第1の所定の時間を超えた時、前記出口キューから前記1つの情報をクリアすること(608)と
    入力キューに存在する第2の出口キュー内へ別の情報を通信することと、
    該別の情報が該第2の出口キューに存在する、前記第1の所定の時間よりも長い第2の時間を監視することと、
    該監視された第2の時間が第2の所定の時間を超えた時、前記別の情報を前記第2の出口キューからクリアすることと
    を含む方法。
  5. 前記監視された時間が前記所定の時間を超えた時、複数の対応する情報キューに存在する複数の他の情報をクリアすること
    をさらに含む請求項に記載の方法。
  6. 前記出口キューに結合されている情報キューに存在する別の情報をクリアした後、該出口キュー内へ該別の情報を通信することと、
    該別の情報が該出口キューに存在する時間を監視することと
    をさらに含む請求項に記載の方法。
  7. 前記監視された時間が前記所定の時間を超えた時、前記別の情報を前記出口キューからクリアすること
    をさらに含む請求項に記載の方法。
  8. 前記クリアすることは、
    前記監視された時間が前記所定の時間を超えた時、複数の他の情報を複数の情報キューから同時にクリアすること
    をさらに含む
    請求項に記載の方法。
JP2007110164A 2006-04-24 2007-04-19 クロスバーのストールした出力キューの情報をクリアするためのシステム及び方法 Expired - Fee Related JP4576399B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US11/409,649 US20070248111A1 (en) 2006-04-24 2006-04-24 System and method for clearing information in a stalled output queue of a crossbar

Publications (2)

Publication Number Publication Date
JP2007293851A JP2007293851A (ja) 2007-11-08
JP4576399B2 true JP4576399B2 (ja) 2010-11-04

Family

ID=38619451

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007110164A Expired - Fee Related JP4576399B2 (ja) 2006-04-24 2007-04-19 クロスバーのストールした出力キューの情報をクリアするためのシステム及び方法

Country Status (2)

Country Link
US (1) US20070248111A1 (ja)
JP (1) JP4576399B2 (ja)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09261274A (ja) * 1996-03-19 1997-10-03 Toshiba Corp Tcp/ipを用いたネットワークシステム
JP2003018187A (ja) * 2001-06-21 2003-01-17 Alcatel Internetworking Inc セル切り換えデータスイッチのための無作為初期廃棄

Family Cites Families (52)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4090239A (en) * 1976-12-30 1978-05-16 Honeywell Information Systems Inc. Interval timer for use in an input/output system
US4829511A (en) * 1987-10-14 1989-05-09 International Business Machines Corporation Switched network of optical buses
US4897833A (en) * 1987-10-16 1990-01-30 Digital Equipment Corporation Hierarchical arbitration system
US4887076A (en) * 1987-10-16 1989-12-12 Digital Equipment Corporation Computer interconnect coupler for clusters of data processing devices
US4845722A (en) * 1987-10-16 1989-07-04 Digital Equipment Corporation Computer interconnect coupler employing crossbar switching
US5088091A (en) * 1989-06-22 1992-02-11 Digital Equipment Corporation High-speed mesh connected local area network
US5168547A (en) * 1989-12-29 1992-12-01 Supercomputer Systems Limited Partnership Distributed architecture for input/output for a multiprocessor system
US5239629A (en) * 1989-12-29 1993-08-24 Supercomputer Systems Limited Partnership Dedicated centralized signaling mechanism for selectively signaling devices in a multiprocessor system
US5197130A (en) * 1989-12-29 1993-03-23 Supercomputer Systems Limited Partnership Cluster architecture for a highly parallel scalar/vector multiprocessor system
US5321813A (en) * 1991-05-01 1994-06-14 Teradata Corporation Reconfigurable, fault tolerant, multistage interconnect network and protocol
US6233702B1 (en) * 1992-12-17 2001-05-15 Compaq Computer Corporation Self-checked, lock step processor pairs
US5867501A (en) * 1992-12-17 1999-02-02 Tandem Computers Incorporated Encoding for communicating data and commands
US5598568A (en) * 1993-05-06 1997-01-28 Mercury Computer Systems, Inc. Multicomputer memory access architecture
US5640504A (en) * 1994-01-24 1997-06-17 Advanced Computer Applications, Inc. Distributed computing network
US5560030A (en) * 1994-03-08 1996-09-24 Texas Instruments Incorporated Transfer processor with transparency
US5524265A (en) * 1994-03-08 1996-06-04 Texas Instruments Incorporated Architecture of transfer processor
US5887146A (en) * 1995-08-14 1999-03-23 Data General Corporation Symmetric multiprocessing computer with non-uniform memory access architecture
KR0169248B1 (ko) * 1996-07-24 1999-02-01 양승택 패킷 상호 연결망에서의 메시지 송신 장치 및 메시지 송신 제어방법
US6321366B1 (en) * 1997-05-02 2001-11-20 Axis Systems, Inc. Timing-insensitive glitch-free logic system and method
JP3628873B2 (ja) * 1998-04-28 2005-03-16 富士通株式会社 半導体装置及びその製造方法
JP3111988B2 (ja) * 1998-06-26 2000-11-27 日本電気株式会社 Atm交換機のスイッチ制御システム
US6393590B1 (en) * 1998-12-22 2002-05-21 Nortel Networks Limited Method and apparatus for ensuring proper functionality of a shared memory, multiprocessor system
US6260099B1 (en) * 1998-12-22 2001-07-10 Unisys Corporation Multi-level priority control system and method for managing concurrently pending data transfer requests
US6233236B1 (en) * 1999-01-12 2001-05-15 Mcdata Corporation Method and apparatus for measuring traffic within a switch
US20030195983A1 (en) * 1999-05-24 2003-10-16 Krause Michael R. Network congestion management using aggressive timers
US6707815B1 (en) * 1999-07-02 2004-03-16 Cisco Technology, Inc. Minimum bandwidth guarantee for input-buffered packet switch
US6715023B1 (en) * 1999-09-23 2004-03-30 Altera Corporation PCI bus switch architecture
DE60120807T2 (de) * 2000-03-06 2006-12-28 International Business Machines Corp. Schaltvorrichtung und Verfahren
US6618825B1 (en) * 2000-04-20 2003-09-09 Hewlett Packard Development Company, L.P. Hierarchy of fault isolation timers
US6738868B2 (en) * 2000-06-10 2004-05-18 Hewlett-Packard Development Company, L.P. System for minimizing directory information in scalable multiprocessor systems with logically independent input/output nodes
US8619793B2 (en) * 2000-08-21 2013-12-31 Rockstar Consortium Us Lp Dynamic assignment of traffic classes to a priority queue in a packet forwarding device
US6985956B2 (en) * 2000-11-02 2006-01-10 Sun Microsystems, Inc. Switching system
US7865596B2 (en) * 2000-11-02 2011-01-04 Oracle America, Inc. Switching system for managing storage in digital networks
JP3526269B2 (ja) * 2000-12-11 2004-05-10 株式会社東芝 ネットワーク間中継装置及び該中継装置における転送スケジューリング方法
US6965602B2 (en) * 2001-01-12 2005-11-15 Peta Switch Solutions, Inc. Switch fabric capable of aggregating multiple chips and links for high bandwidth operation
US20030026267A1 (en) * 2001-07-31 2003-02-06 Oberman Stuart F. Virtual channels in a network switch
US7200144B2 (en) * 2001-10-18 2007-04-03 Qlogic, Corp. Router and methods using network addresses for virtualization
US7050390B2 (en) * 2001-10-25 2006-05-23 Raytheon Company System and method for real-time fault reporting in switched networks
US7958199B2 (en) * 2001-11-02 2011-06-07 Oracle America, Inc. Switching systems and methods for storage management in digital networks
DE60100478T2 (de) * 2001-11-30 2004-05-27 Alcatel IP Plattform für verbesserte Mehrpunkt-Zugriffsysteme
JP3914771B2 (ja) * 2002-01-09 2007-05-16 株式会社日立製作所 パケット通信装置及びパケットデータ転送制御方法
US20040022094A1 (en) * 2002-02-25 2004-02-05 Sivakumar Radhakrishnan Cache usage for concurrent multiple streams
US7382790B2 (en) * 2002-07-02 2008-06-03 Emulex Design & Manufacturing Corporation Methods and apparatus for switching fibre channel arbitrated loop systems
US7630300B2 (en) * 2002-07-02 2009-12-08 Emulex Design & Manufacturing Corporation Methods and apparatus for trunking in fibre channel arbitrated loop systems
US7397788B2 (en) * 2002-07-02 2008-07-08 Emulex Design & Manufacturing Corporation Methods and apparatus for device zoning in fibre channel arbitrated loop systems
US7660316B2 (en) * 2002-07-02 2010-02-09 Emulex Design & Manufacturing Corporation Methods and apparatus for device access fairness in fibre channel arbitrated loop systems
US7307996B2 (en) * 2002-07-30 2007-12-11 Brocade Communications Systems, Inc. Infiniband router having an internal subnet architecture
US7391786B1 (en) * 2002-11-27 2008-06-24 Cisco Technology, Inc. Centralized memory based packet switching system and method
US7564860B2 (en) * 2003-05-08 2009-07-21 Samsung Electronics Co., Ltd. Apparatus and method for workflow-based routing in a distributed architecture router
JP2005045675A (ja) * 2003-07-24 2005-02-17 Fujitsu Ltd フレーム転送方法およびフレーム転送装置
WO2005048501A2 (en) * 2003-10-30 2005-05-26 Teak Technologies, Inc. Nonblocking and deterministic multirate multicast packet scheduling
US7356628B2 (en) * 2005-05-13 2008-04-08 Freescale Semiconductor, Inc. Packet switch with multiple addressable components

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09261274A (ja) * 1996-03-19 1997-10-03 Toshiba Corp Tcp/ipを用いたネットワークシステム
JP2003018187A (ja) * 2001-06-21 2003-01-17 Alcatel Internetworking Inc セル切り換えデータスイッチのための無作為初期廃棄

Also Published As

Publication number Publication date
JP2007293851A (ja) 2007-11-08
US20070248111A1 (en) 2007-10-25

Similar Documents

Publication Publication Date Title
JP4831473B2 (ja) ネットワーク管理方法、プログラム及びシステム
US8792508B2 (en) Subscriber and communication controller of a communication system and method for implementing a gateway functionality in a subscriber of a communication system
US7849235B2 (en) DMA controller, node, data transfer control method and storage medium
EP2975530B1 (en) Requests and data handling in a bus architecture
JP6648298B2 (ja) 双方向通信のための方法および装置
JP6527399B2 (ja) ネットワークを用いた通信システム
JP2002208949A (ja) データパイプ・ルーティング・ブリッジ
WO2015131516A1 (zh) 分布式智能平台管理总线连接方法及atca机框
KR100905802B1 (ko) 컴퓨터 시스템의 입력/출력 노드에서 태깅 및 중재 매카니즘
US6681274B2 (en) Virtual channel buffer bypass for an I/O node of a computer system
CN103577379B (zh) 一种检测片上网络中死锁的方法
US20210357347A1 (en) Performance monitor for interconnection network in an integrated circuit
JP4576399B2 (ja) クロスバーのストールした出力キューの情報をクリアするためのシステム及び方法
JP2009169854A (ja) コンピュータシステム、障害処理方法および障害処理プログラム
JP6291516B2 (ja) リング型ネットワークを用いた通信システム
US9665518B2 (en) Methods and systems for controlling ordered write transactions to multiple devices using switch point networks
US5799015A (en) Recirculation routes in switching networks used with scalable coherent interfaces
JP2006109258A (ja) 通信方法及び通信装置
US20230208776A1 (en) On chip router
CN112398762B (zh) 一种网元及网元中的通信方法
JP2006262386A (ja) 制御システム
JP2006178786A (ja) マルチノードシステム、ノード装置、ノード間クロスバスイッチ及び障害処理方法
KR100798302B1 (ko) 버스 및 네트워크의 복합 통신 수단을 갖는 시스템 온칩
JPS63257052A (ja) マルチプロセツサシステム
WO2023167331A1 (ja) 電池監視システム

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100302

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100526

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: 20100727

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100823

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130827

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees
S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R360 Written notification for declining of transfer of rights

Free format text: JAPANESE INTERMEDIATE CODE: R360

R360 Written notification for declining of transfer of rights

Free format text: JAPANESE INTERMEDIATE CODE: R360

R371 Transfer withdrawn

Free format text: JAPANESE INTERMEDIATE CODE: R371

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350