JP2013507879A - オンチップネットワークにおける高信頼通信 - Google Patents

オンチップネットワークにおける高信頼通信 Download PDF

Info

Publication number
JP2013507879A
JP2013507879A JP2012534183A JP2012534183A JP2013507879A JP 2013507879 A JP2013507879 A JP 2013507879A JP 2012534183 A JP2012534183 A JP 2012534183A JP 2012534183 A JP2012534183 A JP 2012534183A JP 2013507879 A JP2013507879 A JP 2013507879A
Authority
JP
Japan
Prior art keywords
packet
core
network
reliability requirement
packets
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.)
Granted
Application number
JP2012534183A
Other languages
English (en)
Other versions
JP5442129B2 (ja
Inventor
エイチ マンジョーネ−スミス,ウイリアム
ムトル,オヌア
Original Assignee
エンパイア テクノロジー ディベロップメント エルエルシー
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 エンパイア テクノロジー ディベロップメント エルエルシー filed Critical エンパイア テクノロジー ディベロップメント エルエルシー
Publication of JP2013507879A publication Critical patent/JP2013507879A/ja
Application granted granted Critical
Publication of JP5442129B2 publication Critical patent/JP5442129B2/ja
Active 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • G06F15/173Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
    • G06F15/17306Intercommunication techniques
    • G06F15/17325Synchronisation; Hardware support therefor
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/18Automatic repetition systems, e.g. Van Duuren systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Multi Processors (AREA)

Abstract

マルチコアプロセッサのオンチップネットワークにおける高信頼通信のための技法が提供される。パケットに、パケットについての信頼性要件を定義するタグが付けられる。パケットは信頼性要件に従って経路指定される。信頼性要件および信頼性要件を使用した経路指定は、オンチップネットワークにおける高信頼通信を保証することができる。
【選択図】図2

Description

プロセッサなどの超大規模集積(VLSI)回路の設計およびアーキテクチャはきわめて複雑である。一般に認められているが、プロセッサの確実な動作を保証するために性能が犠牲にされることが多い。マルチコアプロセッサの発展と共に、データを確実に受け渡すことができる能力がますます大きな関心事になっている。
マルチコアプロセッサの発展はさらに多くの接続および構造的複雑さをもたらす。コア間のリンクが長くなる可能性があり、電圧レベルの伝搬時間が通常は増加する。加えて、マルチコアプロセッサ内の構成要素の急増、トランジスタの小型化および密度の増加も、例えば、オンチップスイッチおよびリンクが間欠的にまたは永続的に故障することになる可能性を高くする。その結果、マルチコアプロセッサのオンチップネットワークにおいてデータを受け渡すことのできる能力の信頼性がより低くなる。
同時に、高信頼通信を要件とする多くのアプリケーションも存在する。複数のコアによって分配され、実施される並列処理アプリケーションは、多くの場合、タスクがそれらのコアによって実施され先に進む前に完了することに依拠するものである。オンチップネットワークにおいて通信に失敗した場合、システムまたはアプリケーションは異常停止したり、別の形で故障したりする可能性がある。
コア間で確実に通信することができる能力は、マルチコアプロセッサ設計における重要課題である。しかしながら、前述のように、高信頼プロセッサの開発は、性能を犠牲にし、コストを増加させる可能性が高い。性能を改善するために、マルチコアプロセッサ上で動作するアプリケーションは、相対的に信頼性の低いオンチップネットワーク上で高信頼通信を実現するという可能性に直面している。
マルチコアプロセッサの例示的実施形態を示す図である。 マルチコアプロセッサに含まれるコアの例示的実施形態を示すブロック図である。 マルチコアプロセッサにおける発信コアから宛先コアまでの信頼性要件を有するパケットのパスを示す図である。 コアと、コアを含むパスの信頼性要件の従って、またはコアによって受信/送信されるデータの信頼性要件に従って動的に適合され得るコアの設定との例示的実施形態を示すブロック図である。 オンチップネットワークにおいてパケットを経路指定するための方法の例示的実施形態を示す流れ図である。 マルチコアプロセッサのオンチップネットワークにおいてパケットを経路指定するための方法の例示的実施形態を示す流れ図である。 マルチコアプロセッサを含むコンピューティング機器の一例を示す図である。
以下の詳細な説明では、本明細書の一部を形成する添付の図面を参照する。図面において、類似の記号は通常、文脈から別の意味に解されない限り、類似の構成要素を識別する。詳細な説明、図面、および特許請求の範囲に記載される例示的実施形態は限定のためのものではない。本明細書で提示する主題の趣旨または範囲から逸脱することなく、別の実施形態が利用されてもよく、別の変更が加えられてもよい。本明細書に概して記載し、各図に示す本開示の態様は、多種多様な構成として配置し、置換し、結合し、分離し、設計することができ、それらの構成はすべて本明細書において明示的に企図するものであることが容易に理解されるであろう。
本明細書に記載される実施形態は、オンチップネットワークにおいて高信頼通信を提供することに関するものである。高信頼通信は、信頼性要件をオンチップネットワークにおいて送信されるパケットと関連付けられることによって実現することができる。信頼性要件は、例えばパケットについての信頼性要件を定義するタグを使用して、パケットと関連付けることができる。タグと関連付けられた信頼性要件は、送信前、送信中、および/または送信後に解釈し、送信前、送信中、および/または送信後に実施することができる。
代替として、またはタグに加えて、信頼性要件は、マルチコアプロセッサのオンチップネットワークにおけるコアまたは他の構成要素の設定も含むこともできる。設定はパケットの信頼性要件に従って、場合によっては動的に変更することもでき、または信頼性要件を達成するように設定することもできる。オンチップ通信の性能は、タグおよび/またはパケット受渡しについて所望のレベルの性能を達成するための設定を使用して、パケットがオンチップネットワークにおいて送信される際に動的に適合させることができる。
図1に、コンピュータまたは他のコンピューティング機器に含まれ得る、マルチコアプロセッサ100内で高信頼通信を提供するように構成されているマルチコアプロセッサ100の例示的実施形態を示す。マルチコアプロセッサ100は、処理のためにコンピュータおよび他の機器において使用することができる。マルチコアプロセッサ100は、ロードされており、記憶されており、または別の方法でコンピュータからアクセス可能とされているソフトウェアまたは他の実行可能命令を動作させ、または実行する役割を果たす。
図1に示すマルチコアプロセッサ100はマルチコアプロセッサであり、プロセッサコア140を含む。プロセッサコア140は、命令を実行し、計算を行い、別の方法でコンピュータまたはコンピュータシステムに計算処理機能を提供する。プロセッサコア140は、入力/出力モジュール104を介してコンピュータ内の他のモジュールまたは構成要素と通信することができる。入力/出力モジュール104は、多くの場合システムバス106上で実行されるデータの受信/送信を行い、コンピューティングシステムの他の構成要素に接続することができる。入力/出力モジュール104は、それだけに限らないが、ギガビットイーサネット、XAUI、PCIe、JTAG、TWIなどを含む複数のプロトコルに従って構成することができ、または動作することができ、データストリームの直列化/非直列化、非同期伝送などを提供し得る。
入力/出力モジュール104は別々のモジュールを含んでもよく、これらのモジュールはプロトコルごとに構成可能とすることもできる。入力/出力モジュール104は、マルチコアプロセッサ100またはコンピュータが、ローカル・エリア・ネットワーク、インターネットなどといったネットワーク上で他のコンピュータと通信することを可能にし得る。例えば、マルチコアプロセッサ100を有するサーバコンピュータがネットワーク上でクライアントコンピュータと通信してもよい。前述の例において、クライアントコンピュータはマルチコアプロセッサ100を有していてもいなくてもよい。
またマルチコアプロセッサ104はコントローラ102も含む。コントローラ102は、複数のコントローラ102を含んでもよく、様々なキャッシュレベル、RAMなど、またはそれらの任意の組み合わせといったシステムメモリへのアクセスを提供し得る。当然ながら、プロセッサコア140はそれぞれ独自のキャッシュも含んでいてよい。マルチコアプロセッサ100は他のモジュール(例えば、命令復号器、バス・インターフェース・ユニット、アドレスジェネレータ、浮動小数点ユニット、整数実行ユニット、レジスタなど)も含み得ることを当業者は理解することができる。
さらに、マルチコアプロセッサ100は、単一のチップに統合されてもよい。あるいは、マルチコアプロセッサ100のモジュールまたは構成要素の一部が、相互に対話し合う別々のチップに含まれていてもよい。
また図1には、マルチコアプロセッサ100内のプロセッサコア140のより詳細な図も示されている。プロセッサコア140は、オンチップネットワーク130を介して通信するように構成されている。プロセッサコア140、特にオンチップネットワーク130は複数の個別コア150を含み、これにはコア150a、コア150b、および150cが含まれる。状況によっては、コア150といい、またはこれを説明する場合に、それが各コア150a、150b、および150cに該当し得ることもある。同様に、コア150a、コア150b、およびコア150cといい、またはこれらを説明する場合にも、状況に従ってそれ以外のコア150に等しく適用できる場合もある。
各コア150は一般には同じであるが、コア150のうちの一部が他のコアと構造的に異なる場合もあり得る。例えば、コア150の一部が入力/出力モジュール104またはコントローラ102と直接インターフェースし、コアの一部が別のコアを介してこれらのモジュールと通信してもよい。コアの一部が他のコアより多くの処理機能または能力を有してもよい。コア150aは、この例ではコア150に含まれ、プロセッサコア140の内部に位置しており、他のコア150を介してモジュールまたは構成要素と通信し得るが、直接通信もまた可能とし得ることを当業者は理解することができる。
コア150は異なる構成またはトポロジとして配置することもできる。マルチコアプロセッサ100において使用され得るコアトポロジの例としては、メッシュトポロジ、トーラストポロジ、ファットツリートポロジなどがある。
各コア150は、プロセッサコア140内の他のコアとは独立に機能し得るプロセッサを含む。各コア150は通常、必要な場合、独自にコンピュータプログラムを実行することができる。マルチコアプロセッサ100の一利点は、各コア150が、アプリケーションを実行したり命令を実行したりするためにまとまって働くことができることである。
アプリケーションをまとまって実行するときに、各コア150が実行されるアプリケーション内で異なる役割を有する場合もある。その結果、マルチコアプロセッサ100は、同じアプリケーションを単一コアで処理するときよりも、またはシングルコアプロセッサと比べて、より迅速にアプリケーションを実行することができる。加えて、コア150は、同時にコンピューティングシステム内で異なるアプリケーションまたはプロセスに作用することもできる。これは、例えば、コア150の一部が、あるアプリケーションを実施し、同時に他のコア150が別のアプリケーションまたはプロセスを実施し、または実行することを可能にする。加えて、各コア150は、アプリケーションプロセスを切り換えることもできる。よってコア150aといった特定のコアが、1つまたは複数のアプリケーションのための複数のプロセスを実施してもよい。
プロセッサコア140によって示されるようなマルチコア環境においてプロセスまたはアプリケーションを実行するときには、多くの場合、データ(例えば、アプリケーションデータ、アドレス、命令など)がコア150のうちの1つからコア150のうちの別の1つへ(例えばコア150bからコア150cへ)転送される必要が生じる。これは多くの場合オンチップネットワーク130を使用して達成され、オンチップネットワーク130は接続152を含む。
図1において、接続152はコア150を相互に接続するのに使用される。すべてのコア150が相互に直接接続され得るとは限らない(例えばコア150bはコア150aに直接接続され得ない)が、接続152は、任意のコア150が他の任意のコア150と通信し得ることを保証する。
例えば、各コア150がグリッド構成として配置されているとき、各コア150は、上方向、右方向、左方向、および下方向に接続152を有し得る。この例では、各接続152は複数の通信路154を含み得る。通信路154は、コア150間の物理接続を含み得る。この例では、直接接続されたコア150間に複数の通信路が存在し得る。
図2に、マルチコアプロセッサ100に含まれるコア150aの例示的実施形態のブロック図を示す。コア150aはプロセッサコア140のうちの1つである。接続152を使用してデータを受け渡し、または転送することができる能力は、図2にコア150a内のネットワークスイッチ200で示すように、コア150のそれぞれにネットワークスイッチ200を設けることにより実現される。コア150aは、プロセッサ220、キャッシュ222、およびネットワークスイッチ200を含む。ネットワークスイッチ200は、接続152の例である、接続202、接続204、接続206、および接続208で隣接するネットワークスイッチと接続され得る。前述のように、接続152はそれぞれ接続202、204、206、および208を含み、通常は複数の通信路を含む。その結果、コア150aは、隣接する、または直接接続されたコア150と複数の通信路を介して通信することができる。
ネットワークスイッチ200は、ポート210を介して接続202、204、206、および208とインターフェースする。より具体的には、各接続202、204、206、および208で表される通信路は、ポート210に含まれる特定のポートに接続されている。図示の例において、コア150aは他の4つのコアへの直接接続を有する。各接続は、例にすぎないが、5つの通信路を含み得る。その上、接続202、204、206、および208はそれぞれ、より多いまたはより少ない通信路を含んでもよい。加えて、ネットワークスイッチ200も通信路214を介してプロセッサ220にも接続され得る。通信路214は、プロセッサ220とネットワークスイッチ200との間の通信に使用され得る。例えば、コア150aによって処理されるべきパケットが、通信路214を介してコア150aに転送され得る。
またコア150aはキャッシュ222も含む。キャッシュ222は、コア150aに特有のものとすることもでき(例えば、キャッシュ222はプロセッサ220のためのL1およびL2キャッシュとすることもできる)、他のポート150と共用されてもよい。あるいは、キャッシュ222は、ネットワークスイッチ200に含まれてもよく、ネットワークスイッチ200からアクセスすることができてもよい。あるいは、ネットワークスイッチ200は、ネットワークスイッチ200が経路指定機能を果たすことを可能にするコントローラおよびキャッシュを有してもよい。
またネットワークスイッチ200は設定212も含む。設定212は、ネットワークスイッチ200の動作態様の一部を制御するのに使用され得る。例えば、設定212は、ネットワークスイッチ200の電圧レベル、ネットワークスイッチ200のクロック速度、パイプライン制御などを制御するのに使用され得る。また設定212は、場合によっては、プロセッサ220の動作態様を制御するのにも使用され得る。
コア150aの、またはネットワークスイッチ200の所望の性能は、設定212を動的に調整することによって達成することができる。例えば、クロック速度を上げればスループットを増大させることができ、電圧レベルを下げれば電力を節約することができる。設定212は、ネットワークスイッチ200の、またはコア150aの性能を動的に変更するために電圧レベル、クロック速度などを調整するのに使用することができる。
図3に、マルチコアプロセッサ100における発信コア302から宛先コア304までの信頼性要件を有するパケット310のパス306を示す。図3に示す例では、発信コア302(コア150のうちの1つとすることができる)が宛先コア304(やはりコア150のうちの1つとすることができる)にパケット310を送信している。パケット310はパス306上で送信され、パス306は、(i)発信コア302と宛先コア304との間を直接つないでもよく、(ii)マルチコアプロセッサ100内の他のコア150を介する1つまたは複数のホップを含んでもよい。さらにパケット310は、複数のデータパケットのみならず異なる種類のデータも表すものである。例えば、パケット310は、アプリケーションデータ、ストリーミングパケット、命令、アドレス、その他のデータ、制御メッセージなど、またはそれらの組み合わせを表し得る。信頼性要件は、パケット310、パケットのストリーム、ストリーム内の少なくとも1つのパケット、アプリケーション内のパケットのストリームからのすべてのパケット、アプリケーションと関連付けられるすべてのパケット、発信コアからのすべてのパケットなどに適用することができる。
パス306は、パス306が未知であり、パス306内の次のノードまたはホップが各コア150において決定される場合に、パケット310の送信中に動的に決定することができる。パス306内のホップの次のノードは、現在のネットワークスイッチ200において、リアルタイムで、または準リアルタイムで決定されてもよい。宛先コアは知られ得るが、宛先コアまでのパス306は知られ得ず、パケット310の送信中に決定される。
あるいは、パス306は、パケット310の送信の前に仮想パスとして事前に決定され、確立されてもよい。
パケット310はタグ312を含む。タグ312は、パケット310についての少なくとも1つの信頼性要件を特定するための方法としてパケット310に追加することができる。あるいは、タグ312は、パケット310から分離されていて(すなわち、パケット310の一部として含まれていなくて)もよい。例えば、パケット310が宛先コア304に渡されなければならない場合、タグ312はパケット310についてこの要件(例えば受渡し確認など)を表示する。タグ312は、パケット310の受渡しが、基礎をなすオンチップネットワークの信頼性が低い可能性があるときでさえも信頼できることを保証するために使用することができる。
別の例では、タグ312は、パケット310が指定の期間に渡されるべきことを指定し得る。パケット310の通過時間は各ノードにおいて更新し、評価することができる。パケット310が渡される前に指定の期間が終了する場合には、パケット310は廃棄されてもよく、エラーメッセージが発信コアに返されてもよい。
別の例では、タグ312は、パケット310が渡されるまで、パケットのコピーがコア150のうちの1つにおいてキャッシュされ、またはバッファに入れられるべきことを指定し得る。またタグ312は、ネットワークスイッチ200によって使用され得る設定212も指定し得る。タグ312は、クロック速度を下げ、または電圧を上げることによってネットワークスイッチ200の信頼性を高め、よって、パケット310の転送の信頼性を高めるために使用することができる。
別の例では、タグ312は、パス306内の各コアが、前のコアに対して、パス306内の次のまたは後続のコアへのパケット310の正常な受渡しを確認すべきことを要求し得る。あるいは、これは、宛先コア304に、発信コア302またはパス306内の別のコアに対して受信通知を返送させることによって達成されてもよい。また312のタグは、ネットワーク内の信頼できないリンクおよびルータを回避するためにパケットが通るべきネットワーク内の回路をセットアップするのに使用することもできる。
これらの例は、タグ312が、オンチップネットワーク130またはコア150が信頼できない場合の事例を克服し得る所望のレベルの信頼性を指定することができることを示すものである。
パケット310のタグ312において指定され、または定義される信頼性要件は様々な方法で表すことができる。例えばタグ312は、パケット310が所定の期間内に受け渡されるべきことを表示してもよい。タグ312はパス306内の任意のコアにおいて評価することができる。タグ312内の信頼性要件が満たされ得ない場合には、送信が放棄され(または打ち切られ)てもよく、かつ/または、やはりタグ312において特定され得る別の措置または動作を実施することができる。例えば、発信コア302には、パケット310が宛先コア304に渡されなかったこと、またはパケット310が廃棄されたことが知らされてもよい。信頼性要件が満たされず、または満たされ得ないときに発生し得る他の措置には、パケットの受渡しの取消し、パケットの更新されたパケットとの置換などが含まれる。
別の例では、タグ312内の信頼性要件は、単に、パス306または時間要素を考慮しない宛先ノード304への受渡しの通知を必要とし得る。タグ312は、パケット310が所定のパス、例えば、以前に確立されている仮想パスなどをたどることを表示し得る。またタグ312は、後続のパケットについての信頼性要件を特定するのに使用されてもよい。例えば、パケットのストリームにおいて、ストリーム内のすべてのパケットについての信頼性要件を、パケットのストリーム内のパケットの一部に添付され得るタグ312において指定し、または定義することができる。この場合、タグ312は、実際にはすべてのパケットにタグ312を含めずに複数のパケットに適用することができる。
別の例では、タグ312は、パケット310(またはパケットのグループ)の送信について許容できる誤り率を指定し得る。例えば、ビデオデータなどを、パケットのうちの一部が渡されないときでさえも正常に送ることができる。他方オーディオデータはデータ損失によって受ける影響がより著しい。そのため、オーディオデータについて信頼性要件はビデオデータについての信頼性要件とは異なり得る。
またタグ312は時間に関しての信頼性要件も表し得る。タグ312は、パケット310がある一定の期間内に渡されるべきことを表し得る。これは、パス306内の各コアにおいて検査し、かつ/または各コアにおいて更新することができる。
これらの例は、タグ312が、データの種類、要求の種類、誤りの百分率、許容できる誤り率、受渡し期間、パス識別、受渡し期間終了時に講じられる措置、アプリケーション優先度、ユーザ入力など、またはそれらの組み合わせに関して信頼性要件を定義し得ることを示している。
タグ312は、パケット310内のビットまたはビット集合によって表すこともでき、パケット310のヘッダに含めることもでき、別のスキーマとすることもできる。ビットまたはヘッダは、例えば、パケット310の信頼できる伝送が必要とされるかどうか表示することができる。ビットの集合は、特定のレベルを特定し、またはパケット310についての特定の信頼性要件を特定するのに使用することができる。加えて、タグ312は、アプリケーションによっても、オペレーティングシステムによっても、コアによっても、仮想コンピュータモニタによっても設定することができる。タグ312によって定義される信頼性要件の発信は、よって、状況に従って変動し得る。例えば、オペレーティングシステムが、アプリケーションとは独立に、またはアプリケーションとは逆の信頼性要件を設定し得る事例があってもよい。
図4に、コア150aと、コア150aを含むパスをたどるパケットの信頼性要件の従って、またはコア150aによって受信/送信されるパケットの信頼性要件の従って動的に適合され得る(ネットワークスイッチの設定を含む)コアの設定との例示的実施形態のブロック図を示す。図4には、マルチコアプロセッサ100のオンチップネットワーク130の性能の動的調整が示されている。ネットワークスイッチ200を含むコア150aの性能は、設定212を変更することにより変更することができる。
図4には、信頼性要件に従った設定212の確立の一例が示されている。図4には、ポート210に接続する通信路のうちのいくつかが示されている。この例では、これらのポートおよび対応する通信路は、仮想パス402、404、406、および408としてセットアップされている。
コア150aは現在、仮想パス402、404、406、408、および410についてセットアップされているため、設定212は、その信頼性要件が最高である可能性があり、または最も信頼できることを表示し得るパスに従って決定され得る。例えば、仮想パス402において送信されるパケットは、ある一定の割合のデータ損失を許容することができる可能性があるが、仮想パス404はデータ損失を許容することができない可能性があり、またはより低い割合のデータ損失を許容し得る。その結果、コア150aの設定212は、仮想パス404についての信頼性要件に適応するように設定され得る。
設定212は、マルチコアプロセッサ100の性能を変更するように設定することができる。また設定212は、ネットワークスイッチ200のスイッチング速度、クロック速度、電圧レベルなどを選択するのに使用されてもよい。例えば、クロック速度を上げるとデータ伝送の誤り率につながり得るが、誤り率はある状況においては許容できる可能性がある。同様に、電圧レベルの変更も誤り率に影響を及ぼし得る。過渡的障害のわずかな増加と引き換えに、設定212を、クロック速度を上げるように、または動作電圧を低減して電力を節約するように調整することができる。タグ312と関連付けられる信頼性要件は、オンチップネットワークが過渡的障害を被り、または他の理由で信頼できない可能性があるときでさえも所望のレベルの信頼性を提供するように設定212を行い、またはパケット310に関する他の受渡し要件を設定するために使用することができる。タグ312は、信頼性要件に従ってある設定212を特定し、または指定することができる。
図5に、オンチップネットワークにおいてパケットを経路指定するための方法の例示的実施形態の流れ図を示す。ブロック502で、コアはオンチップネットワークにおいて送信されるべきパケットを発信し得る。ブロック504で、コア、オペレーティングシステム、または他の構成要素によってパケットにタグが付けられる。タグは、パケットの受渡しおよび/または送信に関連した信頼性要件を指定し、または定義することができる。ブロック506で、パケットは、タグにより定義される信頼性要件に従って受け渡される。パケットは発信コアにより別のコアに渡される。パス内の各コアは、タグを評価し、タグに指定された信頼性要件に従って動作し得る。最終的に、パケットは宛先コアに渡される。
よってパケットは、タグにおいて反映されている所望レベルの信頼性で経路指定され得る。前述のように、所望のレベルの信頼性はタグに従って実現することができる。
本明細書で開示する上記その他のプロセスおよび方法について、当該プロセスおよび方法において果たされる機能は、異なる順序で実施されてもよいことを当業者は理解するであろう。さらに、概説するステップおよび動作は例として提示するにすぎず、当該ステップおよび動作のうちの一部は、開示の実施形態の本質を損なうことなく、任意選択とすることも、組み合わせてより少ないステップおよび動作にすることも、拡張してさらに別のステップおよび動作とすることもできる。
図6に、マルチコアプロセッサのオンチップネットワークにおいてパケットを経路指定するための方法の例示的実施形態の流れ図を示す。ブロック602で、パケットがマルチコアプロセッサのコアにおいて受信される。ブロック604で、コアまたはコアの構成要素がパケットと関連付けられた信頼性要件を検査する。前述のように、信頼性要件は通常、パケットに付属し得るタグにおいて定義され、または指定される。ブロック606で、コアは次いで信頼性要件に従ってパケットを送信し得る。これは、例にすぎないが前述したように、コアの、またはコアに含まれる構成要素の設定を変更すること、受渡しが確認されるまでパケットをコアのキャッシュに記憶すること、パケットの受信の確認とすることができる受渡し確認メッセージや受渡し失敗メッセージなど、またはその任意の組み合わせを送信することを含み得る。場合によっては、信頼性要件はパケットが送信される前に実施されてもよい。例えば、設定が変更されるときに、パス内のコアが、パケットを受信し始める前に通知を受けてもよい。
さらに、受渡し失敗への応答を、アプリケーション・プログラミング・インターフェース(API)を使用して管理することもできる。これは、アプリケーションにパケットの受渡し失敗を管理させることを可能にする。例えばアプリケーションは、パケットが古すぎると判定し、パケットの経過期間に従って、またはパケットの有効時間もしくは有効期間に従って受渡しを取り消すこともできる。あるいは、アプリケーションは、代替パケットを送出してもよく、当該パケットを再送してもよい。代替または再送パケットをいつ送信するかアプリケーション自体が決定することができる。
またAPIは、過去に発生したパケット受渡し失敗の記録にアクセスすることができてもよい。この記録は、特定のアプリケーションなどについてある期間にわたってアクセスすることができる。この記録は、アプリケーション、または処理コアもしくはオペレーティングシステムが、将来のパケットの信頼性要件を決定することを可能にし得る。また記録は、オンチップネットワーク内の異なるスイッチまたはコアへの異なるタスクのマッピングを調整するのに使用することもできる。これにより異なる設定を使用して性能が改善される可能性がある。例えば、レコードは、あるスイッチが、信頼性要件に従いながら他のスイッチまたはコアより高いクロック速度で動作することができることを解明し得る。よって、タスクのマッピング、またはパケット経路指定がある特定のコアおよび/またはスイッチを使用するよう要求することにより性能を改善することができる。これらのタスクは、マルチコアプロセッサ100のメモリ、アプリケーション、またはオペレーティングシステムにおいて実施することができる。
本開示は、本出願に記載されている特定の実施形態に関して限定されるべきではなく、これらの実施形態は様々な態様の例として意図されるものである。当業者には明らかなように、本開示の趣旨および範囲を逸脱することなく、多くの改変および変形を行うことができる。以上の説明を読めば当業者には、本明細書に挙げられているもの以外の本開示の範囲内の機能的に等価な方法および装置が明らかになるであろう。そのような改変および変形は、添付の特許請求の範囲内に含まれることが意図されている。本開示は、添付の特許請求の範囲の規定と、特許請求の範囲がそれに対して権利を付与される十分な範囲の均等物とによってのみ限定されるべきである。本開示は、特定の方法、試薬、化合物、組成物、または生体系だけに限定されず、当然ながら様々なであり得ることを理解すべきである。また、本明細書において使用される用語は特定の実施形態を説明するためのものにすぎず、限定的であることが意図されていないことも理解すべきである。
図7は、本開示によるマルチコアプロセッサにおけるオンチップネットワーク上の高信頼通信のために構成されているコンピューティング機器の例700を示すブロック図である。非常に基本的な構成702において、コンピューティング機器700は通常、1つまたは複数のコア704およびシステムメモリ706を含む。メモリバス708は、コア704とシステムメモリ706との間の通信に使用され得る。
所望の構成に応じて、各コア704は、それだけに限らないが、マイクロプロセッサ(μP)、マイクロコントローラ(μC)、ディジタル信号プロセッサ(DSP)、またはこれらの組み合わせを含む任意の種類のものとすることができる。コア704は、レベル1キャッシュ710やレベル2キャッシュ712といった1つまたは複数のレベルのキャッシング、プロセッサ714、およびレジスタ716を含み得る。例示的プロセッサ714は、算術論理演算装置(ALU)、浮動小数点ユニット(FPU)、ディジタル信号処理コア(DSP)、またはこれらの任意の組み合わせを含み得る。また例示的メモリコントローラ718は、コア704と共に使用されてもよく、実装形態によっては、メモリコントローラ718はコア704の内部部分とすることもできる。
所望の構成に応じて、システムメモリ706は、それだけに限らないが、揮発性メモリ(RAMなど)、不揮発性メモリ(ROM、フラッシュメモリなど)、またはこれらの任意の組み合わせを含む任意の種類のものとすることができる。システムメモリ706は、オペレーティングシステム720、1つまたは複数のアプリケーション722、プログラムデータ724を含み得る。アプリケーション722は、マルチコアプロセッサのオンチップネットワークにおいてパケットを確実に経路指定し、受け渡すように構成されているアルゴリズム726を含み得る。プログラムデータ724は、以下でさらに説明するように、オンチップネットワークにおいてパケットを確実に送信するのに役立ち得る信頼性要件728を含み、またはこれを定義し得る。実施形態によっては、アプリケーション722は、基礎をなすオンチップネットワークが信頼できない可能性があるときでさえもパケットが信頼性要件に従って受け渡されるように、オペレーティングシステム720上でプログラムデータ724を用いて動作するように構成され得る。前述のこの基本構成702は、図7において、内側の破線内の構成要素で示されている。
コンピューティング機器700は、さらに別の機構または機能と、基本構成702と任意の必要な機器およびインターフェースとの間の通信を円滑化するためのさらに別のインターフェースとを備えていてもよい。例えば、記憶インターフェースバス734を介した基本構成702と1つまたは複数のデータ記憶装置732との間の通信を円滑化するためのバス/インターフェースコントローラ730が使用されてもよい。データ記憶装置732は、取り外し可能記憶装置736、取り外し不能記憶装置738、またはこれらの組み合わせとすることができる。取り外し可能記憶装置および取り外し不能記憶装置の例には、いくつか例を挙げると、フレキシブル・ディスク・ドライブやハード・ディスク・ドライブ(HDD)といった磁気ディスク装置、コンパクトディスク(CD)ドライブやディジタル多用途ディスク(DVD)ドライブといった光ディスクドライブ、ソリッド・ステート・ドライブ(SDD)、テープなどが含まれる。コンピュータ記憶媒体の例には、コンピュータ可読命令、データ構造、プログラムモジュール、その他のデータといった情報の記憶のための任意の方法または技術において実施される揮発性および不揮発性、取り外し可能および取り外し不能の媒体が含まれ得る。
システムメモリ706、取り外し可能記憶装置736および取り外し不能記憶装置738がコンピュータ記憶媒体の例である。コンピュータ記憶媒体には、それだけに限らないが、RAM、ROM、EEPROM、フラッシュメモリまたはその他のメモリ技術、CD−ROM、ディジタル多用途ディスク(DVD)またはその他の光記憶、磁気カセット、磁気テープ、磁気ディスク記憶またはその他の磁気記憶装置、あるいは所望の情報を記憶するのに使用され、コンピューティング機器700によってアクセスされ得る他の任意の媒体が含まれる。そのような任意のコンピュータ記憶媒体をコンピューティング機器700の一部とすることができる。
またコンピューティング機器700は、バス/インターフェースコントローラ730を介した、様々なインターフェース機器(出力機器742、周辺インターフェース744、通信機器746など)から基本構成702への通信を円滑に行わせるためのインターフェースバス740も含み得る。出力装置742の例にはグラフィック・マルチコア・プロセッサ748およびオーディオ・マルチコア・プロセッサ750が含まれ、これらは、1つまたは複数のA/Vポート752を介して、ディスプレイやスピーカといった様々な外部機器と通信するように構成され得る。周辺インターフェース744の例には、シリアル・インターフェース・コントローラ754やパラレル・インターフェース・コントローラ756が含まれ、これらは、1つまたは複数の入出力ポート758を介して、入力機器(例えば、キーボード、マウス、ペン、音声入力機器、タッチ入力機器など)や他の周辺機器(例えば、プリンタ、スキャナなど)といった外部機器と通信するように構成され得る。通信機器746の一例はネットワークコントローラ760を含み、これは、1つまたは複数の通信ポート764を介したネットワーク通信リンク上での1つまたは複数の他のコンピューティング機器762との通信を円滑化するように構成され得る。
ネットワーク通信リンクは、通信媒体の一例とすることができる。通信媒体は通常、搬送波や他の伝送機構といった変調データ信号におけるコンピュータ可読命令、データ構造、プログラムモジュールまたはその他のデータによって実施することができ、任意の情報受渡し媒体を含み得る。「変調データ信号」とは、その特性の1つまたは複数が信号において情報を符号化するように設定され、または変更されている信号とすることができる。例を挙げると、それだけに限らないが、通信媒体には、有線ネットワークや直接配線接続といった有線媒体、ならびに音響、無線周波数(RF)、マイクロ波、赤外線(IR)およびその他の無線媒体といった無線媒体が含まれ得る。コンピュータ可読媒体という語は、本明細書で使用する場合、記憶媒体と通信媒体の両方を含み得る。
コンピューティング機器700は、携帯電話、携帯情報端末(PDA)、パーソナル・メディア・プレーヤ機器、無線ウェブウォッチ(web−watch)機器、パーソナルヘッドセット機器、アプリケーション特有の機器、上記機能のいずれかを含むハイブリッド機器といったスモール・フォーム・ファクタの携帯用(またはモバイル)電子機器の一部として実施され得る。またコンピューティング機器700は、ラップトップコンピュータ構成と非ラップトップコンピュータ構成の両方を含むパーソナルコンピュータとしても実施され得る。
本明細書における実質的にあらゆる複数形および/または単形数の用語の使用について、当業者は、状況および/または用途に適するように、複数形から単数形に、かつ/または単数形から複数形に変換することができる。明確にするために様々な単数形/複数形の変形が本明細書において明示され得る。
一般に、本明細書において、特に添付の特許請求の範囲(例えば、添付の特許請求の範囲の本文など)において使用される語は、一般には、「非限定的な(open)」語として意図されている(例えば、「including(〜を含み)」という語は「それだけに限らないが〜を含み」と解釈すべきであり、「having(〜を有し)」という語は「少なくとも〜を有し」と解釈すべきであり、「includes(〜を含む)」という語は、「それだけに限らないが、〜を含む」と解釈すべきであるなど)ことが当業者には理解されるであろう。さらに、特定の数の導入請求項記載が意図される場合、そのような意図は当該請求項において明示的に記載され、そのような記載がない場合にはそのような意図が存在しないことも当業者には理解されるであろう。例えば、理解の一助として、添付の特許請求の範囲は、請求項記載を導入するために、「少なくとも1つの」および「1つまたは複数の」という導入句の使用を含み得る。しかしながら、そのような句の使用は、同じ請求項が「1つまたは複数の」あるいは「少なくとも1つの」という導入句および「a」や「an」といった不定冠詞を含むときでさえも、不定冠詞「a」または「an」による請求項記載の導入が、そのような導入請求項記載を含む任意の特定の請求項を、ただ1つのそのような記載を含む実施形態だけに限定することを意味するものと解釈されるべきではない(例えば、「a」および/または「an」は「少なくとも1つの」または「1つまたは複数の」を意味するものと解釈されるべきであるなど)。同じことが、請求項記載を導入するのに使用される定冠詞の使用についても当てはまる。加えて、特定の数の導入請求項記載が明示的に記載されている場合でさえも、当業者は、そのような記載が、少なくとも記載される数を意味するものと解釈されるべきであることを理解するであろう(例えば、他の修飾語句を伴わない「2つの記載」という記載だけで、少なくとも2つの記載、または2つ以上の記載を意味するなど)。さらに、「A、B、およびCのうちの少なくとも1つなど」に類似した慣用表現が使用される場合、一般にそのような構造は、当業者が当該慣用表現を理解するはずの意味として意図されるものである(例えば、「A、B、およびCのうちの少なくとも1つを有するシステム」は、それだけに限らないが、Aだけを、Bだけを、Cだけを、AとBとを共に、AとCとを共に、BとCとを共に、かつ/またはA、B、およびCを共に有するシステムを含むはずであるなど)。「A、B、またはCのうちの少なくとも1つなど」に類似した慣用表現が使用される場合、一般にそのような構造は、当業者が当該慣用表現を理解するはずの意味として意図されるものである(例えば、「A、B、またはCのうちの少なくとも1つを有するシステム」は、それだけに限らないが、Aだけを、Bだけを、Cだけを、AとBとを共に、AとCとを共に、BとCとを共に、かつ/またはA、B、およびCを共に有するシステムを含むはずであるなど)。さらに、2つ以上の択一的項目を提示する事実上あらゆる選言的な語および/または句は、本明細書においてであれ、特許請求の範囲においてであれ、図面においてであれ、それらの項目のうちの1つ、それらの項目のうちのどちらか、またはそれらの項目の両方を含む可能性を企図するものと理解すべきであることも当業者には理解されるであろう。例えば、「AまたはB」という句は、「A」または「B」または「AおよびB」の可能性を含むものと理解されるであろう。
加えて、本開示の特徴または態様がマーカッシュグループとして記載される場合、当業者は、本開示が、それによって、マーカッシュグループの任意の個々のメンバまたはメンバの下位グループとしても記載されるものであることを理解するであろう。
当業者には理解されるように、ありとあらゆる目的で、例えば書面による説明を提供することに関して、本明細書において開示されるあらゆる範囲は、そのありとあらゆる可能な下位範囲および下位範囲の組み合わせも包含するものである。あらゆる記載範囲は、その同じ範囲が、少なくとも2等分、3等分、4等分、5等分、10等分などに分割されることを十分に説明し、可能にするものとして容易に理解され得るものである。非限定的例を挙げると、本明細書で論じる各範囲は、下3分の1、中3分の1および上3分の1などに容易に分割することができる。またやはり当業者には理解されるように、「最大〜まで(up to)」、「少なくとも(at least)」などといったすべての表現は、記載される数を含み、後で前述のような下位範囲に分割され得る範囲を指し示すものである。最後に、当業者には理解されるように、範囲は個々の各メンバを含む。よって、例えば、1〜3個のセルを有するグループとは、1個、2個、または3個のセルを有するグループを指す。同様に、1〜5個のセルを有するグループとは、1個、2個、3個、4個または5個のセルを有するグループを指し、以下同様である。
以上から、本明細書では本開示の様々な実施形態が例示のために説明されており、本開示の範囲および趣旨を逸脱することなく様々な改変が行われ得ることが理解されるであろう。したがって、本明細書で開示した様々な実施形態は限定的であることを意図するものではなく、真の範囲および趣旨は添付の特許請求の範囲によって指示される。

Claims (25)

  1. 複数のコア間の通信を提供するオンチップネットワークを有するチップにおいて、前記オンチップネットワークにおいてパケットを受け渡すための方法であって、
    プロセッサとスイッチとを含む、前記オンチップネットワーク内の前記複数のコアに含まれる発信コアにおいて前記パケットを発信するステップと、
    前記パケットに、前記オンチップネットワークにおける前記パケットの受渡しを制御する前記パケットについての信頼性要件を定義するタグを付けるステップと、
    前記オンチップネットワークが前記パケットの前記受渡しに際して前記オンチップネットワークの性能を動的に調整することを可能にする前記信頼性要件に従って前記パケットを宛先コアまで受け渡すステップと
    を含む方法。
  2. 前記信頼性要件は、前記オンチップネットワークにおいて前記パケットについて信頼できる伝送が必要とされるかどうか表示するビットを含む、請求項1に記載の方法。
  3. 前記ビットが、アプリケーション、オペレーティングシステム、前記スイッチ、プロセッサ、または仮想コンピュータモニタのうちの少なくとも1つによって設定される、請求項2に記載の方法。
  4. 前記信頼性要件が、前記パケット、アプリケーションにおけるパケットのストリームからのすべてのパケット、前記アプリケーションと関連付けられるすべてのパケット、または前記発信コアからのすべてのパケットのうちの少なくとも1つに適用される、請求項1に記載の方法。
  5. 前記パケットが前記宛先コアまで受け渡されないときに前記パケットを再送するステップをさらに含む、請求項1に記載の方法。
  6. ネットワークスイッチ、コア、または複数の協働したネットワークスイッチおよびコアのうちの少なくとも1つが前記パケットを再送するステップをさらに含む、請求項6に記載の方法。
  7. パケットエラーに前記コアとのインターフェースを介してアプリケーションで応答するステップをさらに含む、請求項1に記載の方法。
  8. 前記パケットの経過期間に従って前記パケットの受渡しを取り消すステップをさらに含む、請求項7に記載の方法。
  9. 前記パケットを更新されたパケットで置換するステップをさらに含む、請求項8に記載の方法。
  10. スレッドが前記オンチップネットワーク内の他のタスクに作用し、パケットエラーに応答することもできるように前記パケットエラーが非同期である、請求項6に記載の方法。
  11. 後続のパケットについての信頼性要件を決定するのに使用されるパケット受渡し失敗の記録を記憶するステップをさらに含む、請求項1に記載の方法。
  12. オンチップネットワークにおいてパケットを経路指定するための方法であって、
    少なくとも1つのプロセッサとパケットを経路指定するためのスイッチとを含むマルチコアプロセッサのコアにおいて発信コアからパケットを受信するステップと、
    前記オンチップネットワークにおける前記パケットについての受渡しオプションを特定する前記パケットと関連付けられた信頼性要件を検査するステップと、
    前記パケットと関連付けられた前記信頼性要件に従いながら宛先コアまで前記オンチップネットワークにおいて前記パケットを送信するステップと
    を含む方法。
  13. 前記パケットと関連付けられた信頼性要件を検査する前記ステップが、前記信頼性要件に従うステップをさらに含む、請求項12に記載の方法。
  14. 前記信頼性要件は、前記パケットの受信が確認されるまで前記パケットを前記コアのバッファに記憶することを必要とする、請求項13に記載の方法。
  15. 前記信頼性要件は、パケットエラーが発生した場合に前記パケットが再送されるべきことを要求することを必要とする、請求項13に記載の方法。
  16. 前記信頼性要件が、後続のパケットを送信する前に前記パケットの受信の確認を必要とする、請求項12に記載の方法。
  17. パケットエラーが発生した場合に前記パケットの経過期間に従って前記パケットを取り消すステップをさらに含む、請求項12に記載の方法。
  18. パケットエラーが発生した場合に前記パケットを更新されたパケットで置換するステップをさらに含む、請求項12に記載の方法。
  19. パケットエラーと関連付けられるデータを前記オンチップネットワークにおいて記憶するステップと、
    前記データに基づいて後続のパケットの前記信頼性要件を調整するステップと
    をさらに含む、請求項12に記載の方法。
  20. 信頼性要件を調整する前記ステップが、前記オンチップネットワーク内の特定のコアに受渡しタスクをマップするステップを含む、請求項19に記載の方法。
  21. パケットを経路指定するためのオンチップネットワークを有する処理装置であって、
    複数の接続と、
    それぞれが発信コアと宛先コアとを含み、それぞれがプロセッサとネットワークスイッチとを含む、前記複数の接続によって前記オンチップネットワークを形成するように接続された複数のコアと
    を備え、
    前記発信コアが前記パケットを生成し、前記パケットに信頼性要件を定義するタグを付け、前記パケットが前記信頼性要件に従って前記宛先コアまで受け渡される処理装置。
  22. 前記発信コア、前記宛先コア、または前記パケットの受渡しパス内のコアのうちの少なくとも1つが、前記信頼性要件において定義される前記ネットワークスイッチの設定を変更する、請求項21に記載の処理装置。
  23. 前記設定が、前記ネットワークスイッチのクロック速度または前記ネットワークスイッチの電圧レベルのうちの少なくとも1つを含む、請求項22に記載の処理装置。
  24. 前記発信コアから前記宛先コアまでの前記オンチップネットワークにおける前記パケットの受渡しパス内の各コアが、前記信頼性要件を適合しているかどうか評価する、請求項21に記載の処理装置。
  25. 前記受渡しパス内の少なくとも1つのコアのキャッシュに前記パケットを記憶することをさらに含む、請求項24に記載の処理装置。
JP2012534183A 2009-10-12 2010-05-28 オンチップネットワークにおける高信頼通信 Active JP5442129B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/577,378 2009-10-12
US12/577,378 US8473818B2 (en) 2009-10-12 2009-10-12 Reliable communications in on-chip networks
PCT/US2010/036613 WO2011046637A1 (en) 2009-10-12 2010-05-28 Reliable communications in on-chip networks

Publications (2)

Publication Number Publication Date
JP2013507879A true JP2013507879A (ja) 2013-03-04
JP5442129B2 JP5442129B2 (ja) 2014-03-12

Family

ID=43855799

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012534183A Active JP5442129B2 (ja) 2009-10-12 2010-05-28 オンチップネットワークにおける高信頼通信

Country Status (4)

Country Link
US (1) US8473818B2 (ja)
JP (1) JP5442129B2 (ja)
DE (1) DE112010004006T5 (ja)
WO (1) WO2011046637A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014186509A (ja) * 2013-03-22 2014-10-02 Research Organization Of Information & Systems 半導体チップ、半導体チップ接続システム

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110083494B (zh) * 2011-12-30 2023-07-25 英特尔公司 在多核心环境中管理硬件错误的方法和装置
CN104903855B (zh) 2012-11-06 2018-09-18 相干逻辑公司 用于配置多处理器阵列的方法和设备以及开发系统
WO2014081457A1 (en) 2012-11-21 2014-05-30 Coherent Logix Incorporated Processing system with interspersed processors dma-fifo
US9612907B2 (en) * 2014-02-21 2017-04-04 Unisys Corporation Power efficient distribution and execution of tasks upon hardware fault with multiple processors
US9520180B1 (en) 2014-03-11 2016-12-13 Hypres, Inc. System and method for cryogenic hybrid technology computing and memory
US9367370B2 (en) * 2014-08-25 2016-06-14 Empire Technology Development Llc NOC loopback routing tables to reduce I/O loading and off-chip delays
US10740167B2 (en) * 2016-12-07 2020-08-11 Electronics And Telecommunications Research Institute Multi-core processor and cache management method thereof
CN108694441B (zh) * 2017-04-07 2022-08-09 上海寒武纪信息科技有限公司 一种网络处理器和网络运算方法
US11551067B2 (en) * 2017-04-06 2023-01-10 Shanghai Cambricon Information Technology Co., Ltd Neural network processor and neural network computation method
CN107395797A (zh) * 2017-07-14 2017-11-24 惠州Tcl移动通信有限公司 一种移动终端及其控制方法和可读存储介质
KR102590907B1 (ko) * 2017-11-17 2023-10-18 주식회사 아이티엘 차량 통신을 지원하는 무선통신 시스템에서 무선 통신을 수행하는 방법 및 장치
US11902866B2 (en) * 2017-11-17 2024-02-13 Innovative Technology Lab Co., Ltd. Apparatus and method for performing wireless communication in wireless communication system supporting vehicle communication
US10996267B2 (en) * 2019-01-23 2021-05-04 Qualcomm Incorporated Time interleaved scan system
EP3863231B1 (de) * 2020-02-04 2023-11-15 Siemens Aktiengesellschaft Automatisierungsnetzwerk mit paketbasierter kommunikation zwischen host und client sowie verfahren zum betrieb eines automatisierungsnetzwerks

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006041686A (ja) * 2004-07-23 2006-02-09 Fujitsu I-Network Systems Ltd パケット交換機
JP2008541647A (ja) * 2005-05-18 2008-11-20 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ 集積回路及び集積回路上のネットワークにおける調停方法

Family Cites Families (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3665173A (en) * 1968-09-03 1972-05-23 Ibm Triple modular redundancy/sparing
CA2003338A1 (en) * 1987-11-09 1990-06-09 Richard W. Cutts, Jr. Synchronization of fault-tolerant computer system having multiple processors
AU616213B2 (en) * 1987-11-09 1991-10-24 Tandem Computers Incorporated Method and apparatus for synchronizing a plurality of processors
AU625293B2 (en) * 1988-12-09 1992-07-09 Tandem Computers Incorporated Synchronization of fault-tolerant computer system having multiple processors
US4965717A (en) * 1988-12-09 1990-10-23 Tandem Computers Incorporated Multiple processor system having shared memory with private-write capability
US5295258A (en) * 1989-12-22 1994-03-15 Tandem Computers Incorporated Fault-tolerant computer system with online recovery and reintegration of redundant components
DE4129809C2 (de) * 1991-01-28 2000-08-17 Bosch Gmbh Robert Mehrrechnersystem
US5379415A (en) * 1992-09-29 1995-01-03 Zitel Corporation Fault tolerant memory system
US5689689A (en) * 1992-12-17 1997-11-18 Tandem Computers Incorporated Clock circuits for synchronized processor systems having clock generator circuit with a voltage control oscillator producing a clock signal synchronous with a master clock signal
JPH11507777A (ja) * 1995-06-07 1999-07-06 イー−コム・インコーポレーテッド ハンドヘルドリモートコンピュータのコントロールと安全なインタラクティブリアルタイム通信のための方法
JP3481737B2 (ja) * 1995-08-07 2003-12-22 富士通株式会社 ダンプ採取装置およびダンプ採取方法
GB9810512D0 (en) * 1998-05-15 1998-07-15 Sgs Thomson Microelectronics Detecting communication errors across a chip boundary
US6948092B2 (en) * 1998-12-10 2005-09-20 Hewlett-Packard Development Company, L.P. System recovery from errors for processor and associated components
US6611755B1 (en) * 1999-12-19 2003-08-26 Trimble Navigation Ltd. Vehicle tracking, communication and fleet management system
EP1261910A2 (en) * 2000-03-08 2002-12-04 Sun Microsystems, Inc. Vliw computer processing architecture having a scalable number of register files
US7209996B2 (en) * 2001-10-22 2007-04-24 Sun Microsystems, Inc. Multi-core multi-thread processor
US8037224B2 (en) * 2002-10-08 2011-10-11 Netlogic Microsystems, Inc. Delegating network processor operations to star topology serial bus interfaces
US7337334B2 (en) * 2003-02-14 2008-02-26 International Business Machines Corporation Network processor power management
US7200790B2 (en) * 2003-07-08 2007-04-03 Sun Microsystems, Inc. Switch level reliable transmission
US7353362B2 (en) * 2003-07-25 2008-04-01 International Business Machines Corporation Multiprocessor subsystem in SoC with bridge between processor clusters interconnetion and SoC system bus
US7437692B2 (en) * 2003-11-10 2008-10-14 Infineon Technologies Ag Memory debugger for system-on-a-chip designs
US7340548B2 (en) * 2003-12-17 2008-03-04 Microsoft Corporation On-chip bus
US8799706B2 (en) * 2004-03-30 2014-08-05 Hewlett-Packard Development Company, L.P. Method and system of exchanging information between processors
US7590885B2 (en) * 2005-04-26 2009-09-15 Hewlett-Packard Development Company, L.P. Method and system of copying memory from a source processor to a target processor by duplicating memory writes
US7568115B2 (en) 2005-09-28 2009-07-28 Intel Corporation Power delivery and power management of many-core processors
US7624250B2 (en) * 2005-12-05 2009-11-24 Intel Corporation Heterogeneous multi-core processor having dedicated connections between processor cores
US7949887B2 (en) * 2006-11-01 2011-05-24 Intel Corporation Independent power control of processing cores
US20080282005A1 (en) * 2007-05-02 2008-11-13 Edward Chencinski Method and processing unit for inter-chip communication
US8427951B2 (en) * 2007-08-30 2013-04-23 International Business Machines Corporation Method, system, and apparatus for reliable data packet recovery in a link layer of a data center ethernet network
US7839777B2 (en) * 2007-09-27 2010-11-23 International Business Machines Corporation Method, system, and apparatus for accelerating resolution of network congestion
US20090109996A1 (en) * 2007-10-29 2009-04-30 Hoover Russell D Network on Chip
EP2056511B1 (en) * 2007-10-31 2012-06-06 Siemens Aktiengesellschaft Method for transmission of data samples
US10216692B2 (en) * 2009-06-17 2019-02-26 Massively Parallel Technologies, Inc. Multi-core parallel processing system

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006041686A (ja) * 2004-07-23 2006-02-09 Fujitsu I-Network Systems Ltd パケット交換機
JP2008541647A (ja) * 2005-05-18 2008-11-20 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ 集積回路及び集積回路上のネットワークにおける調停方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
CSNG200900468013; 小島悠ほか: 'Network-on-Chipにおけるエラー検出・訂正方式に関する研究' 電子情報通信学会技術研究報告 CPSY2009-24 Vol.109,No.168, 20090728, 第85-90頁, 社団法人電子情報通信学会 *
JPN6013039291; 小島悠ほか: 'Network-on-Chipにおけるエラー検出・訂正方式に関する研究' 電子情報通信学会技術研究報告 CPSY2009-24 Vol.109,No.168, 20090728, 第85-90頁, 社団法人電子情報通信学会 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014186509A (ja) * 2013-03-22 2014-10-02 Research Organization Of Information & Systems 半導体チップ、半導体チップ接続システム

Also Published As

Publication number Publication date
DE112010004006T5 (de) 2013-01-10
JP5442129B2 (ja) 2014-03-12
WO2011046637A1 (en) 2011-04-21
US20110087943A1 (en) 2011-04-14
US8473818B2 (en) 2013-06-25

Similar Documents

Publication Publication Date Title
JP5442129B2 (ja) オンチップネットワークにおける高信頼通信
US10204070B2 (en) Method, device, system and storage medium for implementing packet transmission in PCIE switching network
US10380059B2 (en) Control messaging in multislot link layer flit
US9720838B2 (en) Shared buffered memory routing
US9253287B2 (en) Speculation based approach for reliable message communications
JP5629954B2 (ja) 少なくとも部分的なフレーム送信に対して割り込みが可能な装置、方法、およびプログラム
US8756270B2 (en) Collective acceleration unit tree structure
WO2014065873A1 (en) Control messaging in multislot link layer flit
JP5540954B2 (ja) ブリッジ装置及びインタフェース装置、並びに通信方法
TW201342079A (zh) 於晶載網路上之流量控制技術
US9331935B2 (en) Network device selection
JP2016515361A (ja) アプリケーションにより提供される送信メタデータに基づくネットワーク送信調整
WO2016206635A1 (zh) 一种基于lacp的转发检测方法及系统
CN118056191A (zh) 具有可配置传输的多平面、多协议存储器交换机构造
WO2022000208A1 (zh) 一种数据重传方法和装置
US9893998B2 (en) Packet transfer system
CN113676409B (zh) 一种报文转发方法、装置、电子设备以及存储介质
TW202011715A (zh) 控制器、調整封包通信規則的方法及網路通信系統
US20170295237A1 (en) Parallel processing apparatus and communication control method

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130731

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130807

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20131011

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20131106

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20131217

R150 Certificate of patent or registration of utility model

Ref document number: 5442129

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

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

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250