JP2018156267A - 演算処理装置、情報処理装置および演算処理装置の制御方法 - Google Patents

演算処理装置、情報処理装置および演算処理装置の制御方法 Download PDF

Info

Publication number
JP2018156267A
JP2018156267A JP2017051465A JP2017051465A JP2018156267A JP 2018156267 A JP2018156267 A JP 2018156267A JP 2017051465 A JP2017051465 A JP 2017051465A JP 2017051465 A JP2017051465 A JP 2017051465A JP 2018156267 A JP2018156267 A JP 2018156267A
Authority
JP
Japan
Prior art keywords
arithmetic processing
bus
routers
packet
ring
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.)
Pending
Application number
JP2017051465A
Other languages
English (en)
Inventor
武史 石橋
Takeshi Ishibashi
武史 石橋
忠敏 真藤
Tadatoshi Shindo
忠敏 真藤
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
Priority to JP2017051465A priority Critical patent/JP2018156267A/ja
Priority to US15/908,879 priority patent/US11093436B2/en
Publication of JP2018156267A publication Critical patent/JP2018156267A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • 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/17356Indirect interconnection networks
    • G06F15/17368Indirect interconnection networks non hierarchical topologies
    • G06F15/17375One dimensional, e.g. linear array, ring
    • 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/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1605Handling requests for interconnection or transfer for access to memory bus based on arbitration
    • 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/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/24Handling requests for interconnection or transfer for access to input/output bus using interrupt
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/80Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors
    • G06F15/8007Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors single instruction multiple data [SIMD] multiprocessors
    • G06F15/8015One dimensional arrays, e.g. rings, linear arrays, buses

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Multi Processors (AREA)
  • Bus Control (AREA)

Abstract

【課題】 少ないチップ面積の増加で通信性能を向上する。【解決手段】 演算処理装置は、演算処理をそれぞれ行う複数の演算処理部と、複数の演算処理部にそれぞれ接続される複数の第1のルータと、複数の第1のルータをリング状に接続する第1のバスと、複数の第1のルータを、第1のバスにより直接接続される第1のルータを除く第1のルータのいずれかに接続する第2のバスを有する。【選択図】 図1

Description

本発明は、演算処理装置、情報処理装置および演算処理装置の制御方法に関する。
各々がそれぞれ演算処理を行う複数のノード間でデータ等の情報を通信する場合、複数のノードは、リング型、コネクト型またはメッシュ型等のトポロジを有するネットワークにより相互に接続される。ノードに接続される配線の数をメッシュ型に比べて減らしつつ、通信の信頼性および抗堪性を確保するために、リング状に接続された複数のノードのうち、重要度の高いノード間を互いに接続する手法が提案されている(例えば、特許文献1参照)。また、ネットワークに設けられる複数の中継装置の各々が、パケットに含まれる受信装置を識別するアドレスに基づいて、パケットを出力する経路を選択することで、パケットの伝送経路を分散する手法が提案されている(例えば、特許文献2参照)。
特開2002−335250号公報 特開2003−46547号公報
複数のプロセッサコアが搭載されるプロセッサにおいて、各々がそれぞれ演算処理を行う複数のプロセッサコア(ノード)をリング型等のネットワークに接続し、ネットワーク上に配置されたルータを介して複数のプロセッサコア間で情報を送受信するネットワークオンチップが知られている。ネットワークオンチップでは、各ノードに接続されるノードの数が増えるほど、情報の通信性能は向上するが、ネットワークに含まれる配線の数が増えるため、チップサイズは大きくなる。
1つの側面では、本発明は、最小限のチップサイズの増加で通信性能を向上することを目的とする。
一つの実施態様では、演算処理装置は、演算処理をそれぞれ行う複数の演算処理部と、複数の演算処理部にそれぞれ接続される複数の第1のルータと、複数の第1のルータをリング状に接続する第1のバスと、複数の第1のルータを、第1のバスにより直接接続される第1のルータを除く第1のルータのいずれかに接続する第2のバスを有する。
別の実施態様では、演算処理をそれぞれ行う複数の演算処理部と、複数の演算処理部にそれぞれ接続される複数の第1のルータと、複数の第1のルータをリング状に接続する第1のバスと、複数の第1のルータを、第1のバスにより直接接続される第1のルータを除く第1のルータのいずれかに接続する第2のバスを有する演算処理装置の制御方法において、複数の第1のルータのうち第2のバスにより互いに接続される一対の第1のルータは、複数の演算処理部のうち一対の第1のルータに接続される一対の演算処理部から受信した情報を第1のバスまたは第2のバスに出力し、一対の演算処理部以外から受信した情報の第2のバスへの出力を抑止する。
1つの側面では、本発明は、最小限のチップサイズの増加で通信性能を向上することができる。
演算処理装置、情報処理装置および演算処理装置の制御方法の一実施形態を示す図である。 図1に示すCPU0のチップレイアウトの概要を示す図である。 図1に示すCPU0におけるパケットの転送経路の一例を示す図である。 図1に示すCPU0において、インタコネクトコントローラとコアグループとの間の通信と、コアグループ間での通信とが同時に発生する場合の動作の一例を示す図である。 図1に示すCPU0において、インタコネクトコントローラとコアグループとの間の通信と、コアグループ間での通信とが同時に発生する場合の動作の別の例を示す図である。 図1に示すCPU0において、複数のコアグループからパケットが発行される場合の動作の一例を示す図である。 図1に示すCPU0において、同一の宛先への通信が同時に発生した場合の動作の一例を示す図である。 図7に示す動作が繰り返し発生した場合におけるリングストップRSTP0、RSTP0の調停動作の一例を示す図である。 図7に示す動作が繰り返し発生した場合におけるリングストップRSTP0、RSTP0の調停動作の別の例を示す図である。 コアグループCG2、CG3からのパケットを調停するリングストップRSTP2の動作フローの一例を示す図である。 コアグループCG1、CG2、CG3からのパケットを調停するリングストップRSTP0の動作フローの一例を示す図である。 コアグループCG1、CG2、CG3からのパケットを調停するリングストップRSTP0の動作フローの別の例を示す図である。 演算処理装置、情報処理装置および演算処理装置の制御方法の別の実施形態を示す図である。 演算処理装置、情報処理装置および演算処理装置の制御方法の別の実施形態を示す図である。
以下、図面を用いて実施形態を説明する。
図1は、演算処理装置、情報処理装置および演算処理装置の制御方法の一実施形態を示す。図1に示す情報処理装置SVは、例えば、HPC(High Performance Computing)に使用されるスーパーコンピュータやサーバ等の並列計算機であり、ネットワークNWを介して相互に接続された複数のCPU0、CPU1(Central Processing Unit)を有する。CPU0、CPU1は、半導体チップの形態を有する。CPU0、CPU1は、互いに同じ構成であるため、以下では、CPU0について説明する。ネットワークNWは、伝送路の一例であり、CPU0、CPU1は、演算処理装置の一例である。
CPU0は、4つのコアグループCG(CG0、CG1、CG2、CG3)、インタコネクトコントローラICCおよび割り込みコントローラINTを有する。また、CPU0は、コアグループCG0−CG3、インタコネクトコントローラICCおよび割り込みコントローラINTにそれぞれ接続されるリングストップRSTP(RSTP0−RSTP5)を有する。なお、各CPU0−CPU1に搭載されるコアグループCGの数は、4つに限定されない。コアグループCGは、演算処理部の一例である。
各コアグループCGに接続されるリングストップRSTPの符号の末尾には、コアグループCGの符号の末尾と同じ数字が付けられる。以下では、各コアグループCGと、各コアグループCGに対応するリングストップRSTPとは、ノードとも称される。インタコネクトコントローラICCには、リングストップRSTP4が接続され、割り込みコントローラINTには、リングストップRSTP5が接続される。例えば、各コアグループCG、インタコネクトコントローラICCおよび割り込みコントローラINTに入出力される情報は、パケット方式により通信される。
コアグループCG0−CG3の各々に接続されるリングストップRSTP0−RSTP3は、第1のルータの一例である。インタコネクトコントローラICCおよび割り込みコントローラINTの各々に接続されるリングストップRSTP4、RSTP5は、第2のルータの一例である。
リングストップRSTP0−RSTP5は、複数のバスB(B0−B8)から受信するパケットを調停し、調停により選択したパケットをパケットの宛先に向けてバスB(B0−B8)のいずれかに送信する機能を有する。さらに、コアグループCG0−CG3の各々に接続されるリングストップRSTP0−RSTP3は、他ノードのコアグループCGが発行したパケットを、公平に調停して自ノードのコアグループCGに出力する機能を有する。パケットを公平に調停する機能については、図8から図11で説明する。
各コアグループCGは、8つのプロセッサコアCと8つのプロセッサコアCに共有されるキャッシュメモリCMEMとを有する。プロセッサコアCは、図示しない主記憶装置等に格納されたプログラムを実行することで、演算を実行する。キャッシュメモリCMEMは、プロセッサコアCが実行する命令およびプロセッサコアCが演算に使用するデータを記憶する。なお、各コアグループCGに搭載されるプロセッサコアCの数は、8つに限定されない。インタコネクトコントローラICCは、ネットワークNWに接続され、ネットワークNWを介して接続される他のCPU(CPU1等)との間で実行される通信を制御する。割り込みコントローラINTは、コアグループCGからの割り込み要求、または、インタコネクトコントローラICCを介して受信するCPU1等からの割り込み要求に基づいて、割り込み処理を制御する。インタコネクトコントローラICCおよび割り込みコントローラINTは、コアグループCGに入出力される情報の転送を制御する制御部の一例である。
CPU0は、リングストップRSTP間を接続するバスB(B1−B8)を有する。各バスB1−B8は、往路と復路とを独立に有し、バスB1−B8によりネットワークオンチップが構築される。図1に示す例では、バスB3、B5、B6、B4、B8、B7により、リングストップRSTP0、RSTP2、RSTP4、RSTP3、RSTP1、RSTP5をリング状に接続するリングネットワークが構築される。リングネットワークに含まれるバスB3、B5、B6、B4、B8、B7は、第1のバスの一例である。以下の説明では、バスB3、B5、B6、B4、B8、B7をリングネットワークと称する場合がある。
リングストップRSTP0、RSTP1は、バスB1により相互に接続され、リングストップRSTP2、RSTP3は、バスB2により相互に接続される。バスB1は、コアグループCG0、CG1が発行するパケットのみを転送する専用バスであり、バスB2は、コアグループCG2、CG3が発行するパケットのみを転送する専用バスである。以下の説明では、バスB1、B2は、専用バスB1、B2とも称される。バスB1、B2は、第2のバスの一例である。
バスB1において、リングストップRSTP0からリングストップRSTP1への経路(右向きの矢印)は、コアグループCG0が発行するパケットの転送のみに使用される。バスB1において、リングストップRSTP1からリングストップRSTP0への経路(左向きの矢印)は、コアグループCG1が発行するパケットの転送のみに使用される。バスB2において、リングストップRSTP2からリングストップRSTP3への経路(右向きの矢印)は、コアグループCG2が発行するパケットの転送のみに使用される。バスB2において、リングストップRSTP3からリングストップRSTP2への経路(左向きの矢印)は、コアグループCG3が発行するパケットの転送のみに使用される。
各バスB3、B4の往路と復路のそれぞれには、パケットを中継する4つのレジスタRが所定の間隔で配置される。バスB1、B2、B5、B6、B7、B8の長さは、レジスタRの配置間隔より短いため、バスB1、B2、B5、B6、B7、B8には、レジスタRは配置されない。なお、各バスB3、B4の往路と復路のそれぞれに配置されるレジスタRの数は、4つに限定されない。
例えば、リングストップRSTP0、RSTP2間を接続するバスB3は、4つのレジスタRを含むため、リングストップRSTP0、RSTP2間でのパケットの転送は、5クロックサイクル掛かる。これに対して、レジスタRを含まないバスB1、B2、B5、B6、B7、B8の各々に接続された一対のリングストップRSTP間でのパケットの転送は、1クロックサイクルで済む。
図1に示すCPU0では、各コアグループCGに接続されたリングストップRSTP(RSTP0−RSPT3のいずれか)は、自ノードのコアグループCGから受信したパケットを、パケットの宛先にしたがってバスBのいずれかに出力する。各コアグループCGに接続されたリングストップRSTPは、バスBから受信したパケットの宛先が自ノードである場合、受信したパケットを自ノードのコアグループCGに出力する。各コアグループCGに接続された各リングストップRSTPは、バスBから受信したパケットの宛先が自ノードでない場合、受信したパケットをパケットの宛先にしたがって、バスB1、B2を除くバスBのいずれかに出力する。
リングストップRSTP4は、バスBから受信したパケットの宛先がCPU0内のコアグループCGのいずれか、または割り込みコントローラINTである場合、受信したパケットをパケットの宛先にしたがってバスBのいずれかに出力する。リングストップRSTP4は、バスBから受信したパケットの宛先が他のCPU(CPU1等)である場合、受信したパケットをインタコネクトコントローラICCに出力する。
リングストップRSTP5は、バスBから受信したパケットの宛先が割り込みコントローラINTである場合、受信したパケットを割り込みコントローラINTに出力する。リングストップRSTP5は、バスBまたは割り込みコントローラINTから受信したパケットの宛先がCPU0、CPU1内のコアグループCGのいずれかである場合、受信したパケットをパケットの宛先にしたがってバスBのいずれかに出力する。
図1に示すCPU0(またはCPU1)では、1つのコアグループCGが有するプロセッサコアCだけで演算処理(計算処理、データ処理)が実行可能な場合、演算処理は、1つのコアグループCG内で実行される。1つのコアグループCG内のプロセッサコアCだけでは演算資源(計算資源)が足りない場合、バスB1(またはB2)で接続された他ノードのコアグループCG内のプロセッサコアCも使用して、演算処理が実行される。例えば、コアグループCG0で演算資源が足りない場合、コアグループCG0、CG1を使用して演算処理が実行される。コアグループCG2で演算資源が足りない場合、コアグループCG2、CG3を使用して演算処理が実行される。
また、CPU0のコアグループCG0、CG1(またはCG2、CG3)で演算資源が足りない場合、3つのコアグループCGまたは全てのコアグループCG0−CG3を使用して演算処理が実行される。さらに、CPU0のコアグループCG0−CG3で演算資源が足りない場合、図1に示した情報処理装置SV内の他のCPU1のコアグループCGも使用して、演算処理が実行される。
例えば、コアグループCG0内のプロセッサコアCでは演算資源が足りず、コアグループCG1を使用して演算処理を実行する場合、コアグループCG0、CG1間でのパケットを送受信は、専用バスB1を介して実行することができる。専用バスB1を介してのパケットの送受信は、リングネットワークを介してのパケットの送受信に比べて、パケットが競合する可能性が低い。したがって、コアグループCG0がリングネットワークを介してコアグループCG2またはコアグループCG3との間でパケットを転送する場合に比べて、パケットの通信性能を向上することができ、演算処理の性能を向上することができる。これにより、例えば、HPCにおけるパケットの送受信性能の指標の1つであるPingPongレイテンシ性能を所望値まで向上することが可能になる。
さらに、バスB1、B2は、レジスタRが配置されない。このため、コアグループCG0、CG1間でのパケットの送受信に掛かるクロックサイクルを、例えば、バスB3を介したコアグループCG0、CG2間でのパケットの送受信に掛かるクロックサイクルに比べて少なくすることができる。この結果、コアグループCG0、CG1を使用した演算処理の性能を、例えば、コアグループCG0、CG2を使用した演算処理の性能に比べて向上することができる。
同様に、コアグループCG2内のプロセッサコアCで演算資源が足りない場合、コアグループCG3を使用して演算処理を実行することで、コアグループCG2、CG0またはコアグループCG2、CG1を使用する場合に比べて、処理性能を向上することができる。
また、リングストップRSTP0は、リングネットワークで直接接続されないリングストップRSTP1、RSTP3のうち、リングストップRSTP0との距離が短いリングストップRSTP1にバスB1を介して接続される。このため、リングストップRSTP0、RSTP3間を専用バスで接続する場合に比べて、バスB1上に配置されるレジスタRの数を少なくすることができ、バスB1上を転送されるパケットの転送サイクル数を減らすことができる。同様に、リングストップRSTP2は、リングネットワークで直接接続されないリングストップRSTP1、RSTP3のうち、リングストップRSTP2との距離が短いリングストップRSTP3にバスB2を介して接続される。このため、リングストップRSTP2、RSTP1間を専用バスで接続する場合に比べて、バスB2上に配置されるレジスタRの数を少なくすることができ、バスB2上を転送されるパケットの転送サイクル数を減らすことができる。
なお、図1では、リングネットワーク上に配置される一対のリングストップRSTPが、専用バスB1(またはB2)で接続されるが、メッシュネットワーク上に配置される一対のリングストップRSTPが、専用バスで接続されてもよい。あるいは、トーラスネットワーク上に配置される一対のリングストップRSTPが、専用バスで接続されてもよい。
図2は、図1に示すCPU0のチップレイアウトの概要を示す。図1に示すCPU1のチップレイアウトも図2と同じである。図2において、コアグループCG0は、チップの左下側に配置され、コアグループCG1は、チップの右下側に配置され、コアグループCG2は、チップの左上側に配置され、コアグループCG3は、チップの右上側に配置される。リングストップRSTP0は、コアグループCG0の右下側に配置され、リングストップRSTP1は、コアグループCG1の左下側に配置される。リングストップRSTP2は、コアグループCG2の右上側に配置され、リングストップRSTP3は、コアグループCG3の左上側に配置される。
インタコネクトコントローラICCは、チップの上側に配置され、リングストップRSTP4は、インタコネクトコントローラICCの下側において、リングストップRSTP2、RSTP3に近接する位置に配置される。割り込みコントローラINTは、チップの下側に配置され、リングストップRSTP5は、割り込みコントローラINTの上側において、リングストップRSTP0、RSTP1に近接する位置に配置される。
そして、チップの中央部分に、バスB3、B5、B6、B4、B8、B7によりリングネットワークが構築される。また、互いに近接するリングストップRSTP0、RSTP1が、バスB1を介して相互に接続され、互いに近接するリングストップRSTP2、RSTP3が、バスB2を介して相互に接続される。
リングストップRSTP0、RSTP1間の距離、リングストップRSTP0、RSTP5間の距離、およびリングストップRSTP5、RSTP1間の距離は、バスB3、B4上配置されるレジスタRの配置間隔より短い。同様に、リングストップRSTP2、RSTP3間の距離、リングストップRSTP2、RSTP4間の距離、およびリングストップRSTP4、RSTP2間の距離は、バスB3、B4上配置されるレジスタRの配置間隔より短い。このため、バスB1、B7、B8、B2、B5、B6には、レジスタRは配置されない。
チップ上にリングネットワーク等のバスBを設ける場合、基板間をケーブルで接続する場合と異なり、チップ上にバスBの配線領域が確保される。このため、バスBの数が多いほど、チップサイズは大きくなり、チップコストは上昇する。図1および図2では、コアグループCG0−CG3に接続される全てのリングストップRSTP0−RSTP3の間を相互に接続せずに、リングストップRSTPを他のリングストップRSTPのいずれかに専用バスB1(またはB2)で接続する。これにより、最小限のチップサイズの増加で通信性能を向上することができる。
これに対して、例えば、図2に示すバスBに加えて、リングストップRSTP1、RSTP2間と、リングストップRSTP0、RSTP3間とをそれぞれ接続するバスBを設ける場合、図2に比べて、配線領域が増加し、チップサイズが増加する。
図3は、図1に示すCPU0におけるパケットの転送経路の一例を示す。パケットの転送経路は、パケットの送信元毎にパケットの宛先別に予め決められる。各リングストップRSTP0−RSTP3は、自ノードのコアグループCGから受けたパケットの宛先が、リングネットワークを挟んで対向または対角するコアグループCGである場合、専用バスB1またはB2にパケットを出力する。
リングネットワークにバスB1、B2を追加することで、下線で示したバスB1またはバスB2を含むパケットの転送経路を使用する通信では、バスB1、B2を追加しない場合に比べて、パケットの転送レイテンシを小さくすることができる。すなわち、リングネットワークを挟んで対向または対角する位置に配置されるコアグループCGにパケットを転送する場合、パケットが経由するリングストップRSTPの数と、バスBの数とを、バスB1、B2を追加しない場合に比べて減らすことができる。
ここで、レイテンシは、送信元がパケットを発行してから宛先にパケットが届くまでの時間で示される。あるいは、レイテンシは、パケットが通過するリングストップRSTPとレジスタRとの数(ホップ数)で示される。なお、図3において、下線で示したバスB1またはバスB2を含むパケットの転送経路は、リングネットワークを挟んで対向または対角するコアグループCGにパケットを転送する転送経路である。
例えば、コアグループCG0がコアグループCG1(またはCG3)に発行するパケットは、専用バスB1に転送され、コアグループCG3がコアグループCG0(またはCG2)に発行するパケットは、専用バスB2に転送される。すなわち、各リングストップRSTP0−RSTP3は、自ノードのコアグループCGから受けたパケットの専用バスB1またはB2への出力を許可する。
各リングストップRSTP0−RSTP3は、自ノードのコアグループCGから受けたパケットの宛先が、リングネットワークを挟んで対向または対角するコアグループCG以外である場合、リングネットワーク(B3−B8のいずれか)にパケットを出力する。さらに、各リングストップRSTP0−RSTP3は、自ノードのコアグループCG以外からパケットを受けた場合、リングネットワーク(B3−B8のいずれか)にパケットを出力する。
例えば、コアグループCG0がコアグループCG2に発行するパケットは、バスB3に転送され、コアグループCG3がコアグループCG1に発行するパケットは、バスB4に転送される。また、インタコネクトコントローラICCまたは割り込みコントローラINTが発行するパケットは、リングネットワークを介して宛先に届く。すなわち、各リングストップRSTP0−RSTP3は、自ノード以外から受けたパケットの専用バスB1またはB2への出力を抑止する。
リングストップRSTP0−RSTP3が、自ノードが発行したパケットのみを専用バスB1(またはB2)に出力することで、専用バスB1(またはB2)において、他ノードが発行したパケットとの競合がなくなる。これにより、他ノードが発行したパケットが専用バスB1(またはB2)に転送される場合に比べて、リングネットワークを挟んで対向するコアグループCG間でのパケットの通信性能を向上することができる。換言すれば、1つのコアグループCGでは演算資源が足りない場合、リングネットワークを挟んで対向するコアグループCGを使用して演算処理を実行することで、他のコアグループCGを使用する場合に比べて、パケットの通信性能を向上することができる。この結果、処理性能を向上することができる。
図4は、図1に示すCPU0において、インタコネクトコントローラICCとコアグループCGとの間の通信と、コアグループCG間での通信とが同時に発生する場合の動作の一例を示す。すなわち、図4は、演算処理装置の制御方法の一例を示す。図4の右側のかぎ括弧内は、バスB1、B2が設けられない場合の動作を示す。
図4では、コアグループCG2からコアグループCG1への通信(太い破線)と、インタコネクトコントローラICCからコアグループCG0への通信(太い実線)とが同時に発生する。バスB2が設けられる場合、コアグループCG2が発行したパケットは、リングストップRSTP2からバスB2、リングストップRSTP3、バスB4、リングストップRSTP1を介して、コアグループCG1に届く。これに対して、図4の右側では、コアグループCG2が発行したパケットは、バスB5、リングストップRSTP4およびバスB6を経由してリングストップRSTP2からリングストップRSTP3に転送されるため、図4の左側に比べてホップ数が増加する。
さらに、パケットが経由するバスBの数およびパケットが経由するリングストップRSTPの数が増えるほど、他のパケットと競合する可能性が高くなる。例えば、図4の右側において、コアグループCG2から発行されたパケットが、リングストップRSTP4で他のパケットと競合した場合、パケットのバスB6への出力は、リングストップRSTP4で他のパケットと競合しない場合に比べて遅くなる。
図5は、図1に示すCPU0において、インタコネクトコントローラICCとコアグループCGとの間の通信と、コアグループCG間での通信とが同時に発生する場合の動作の別の例を示す。すなわち、図5は、演算処理装置の制御方法の一例を示す。図5の右側のかぎ括弧内は、バスB1、B2が設けられない場合の動作を示す。
図5では、コアグループCG2からコアグループCG3への通信(太い破線)と、インタコネクトコントローラICCからコアグループCG1への通信(太い実線)とが同時に発生する。バスB2が設けられる場合、コアグループCG2が発行したパケットは、リングストップRSTP2からバスB2、リングストップRSTP3を介して、コアグループCG3に届く。これに対して、図5の右側では、コアグループCG2が発行したパケットは、図4の右側に示した経路と同じ経路でリングストップRSTP3に転送されるため、図5の左側に比べてホップ数が増加する。また、図5の右側では、図4の右側に示した経路と同様に、パケットが経由するバスBの数およびパケットが経由するリングストップRSTPの数が増えるほど、他のパケットと競合する可能性が高くなる。例えば、コアグループCG2から発行されたパケットが、インタコネクトコントローラICCから発行されたパケットとリングストップRSTP4で競合した場合、パケットがコアグループCG3に届くまでにレイテンシが図5の左側に比べて大きくなるおそれがある。
図6は、図1に示すCPU0において、複数のコアグループCGからパケットが発行される場合の動作の一例を示す。すなわち、図6は、演算処理装置の制御方法の一例を示す。図6の右側のかぎ括弧内は、バスB1、B2が設けられない場合の動作を示す。
図6では、コアグループCG2からコアグループCG1への通信(太い破線)と、コアグループCG0からインタコネクトコントローラICCへの通信(太い実線)とが同時に発生する。バスB2が設けられる場合、コアグループCG2が発行したパケットは、図4と同様に、バスB2を介してコアグループCG3に届く。これに対して、図6の右側では、コアグループCG2が発行したパケットは、図4の右側に示した経路と同じ経路でリングストップRSTP3に転送されるため、図6の左側に比べてホップ数が増加する。さらに、図6の右側では、コアグループCG2が発行したパケットとコアグループCG0が発行したパケットとが、リングストップRSTP2で競合した場合、パケットがコアグループCG1に届くまでにレイテンシが、図6の左側に比べて大きくなるおそれがある。
図7は、図1に示すCPU0において、同一の宛先への通信が同時に発生した場合の動作の一例を示す。すなわち、図7は、演算処理装置の制御方法の一例を示す。図7では、コアグループCG1、CG2、CG3からコアグループCG0への通信が同時に発生する。コアグループCG1が発行したパケットは、リングストップRSTP1、バスB1、リングストップRSTP0を介してコアグループCG0に届く。コアグループCG2が発行したパケットは、リングストップRSTP2、バスB3、リングストップRSTP0を介してコアグループCG0に届く。コアグループCG3が発行したパケットは、リングストップRSTP3、バスB2、リングストップRSTP2、バスB3、リングストップRSTP0を介してコアグループCG0に届く。
リングストップRSTP2は、コアグループCG2、CG3が発行するパケットを調停し、さらに、リングストップRSTP0は、リングストップRSTP2が調停したパケットと、コアグループCG1が発行するパケットとを調停する。
図8は、図7に示す動作が繰り返し発生した場合におけるリングストップRSTP2、RSTP0の調停動作の一例を示す。すなわち、図8は、演算処理装置の制御方法の一例を示す。図8は、パケットが競合する場合のパケットの調停の公平性を維持する公平性制御を実行する場合の動作の例を示す。図8において、矩形は、コアグループCG1、CG2、CG3が発行するパケットを示し、矩形内に括弧で示す数字は、各コアグループCG1、CG2、CG3でのパケットの発生順を示す。
リングストップRSTP2は、バスB2を介してコアグループCG3からのパケットを順次受信するとともに、自ノードのコアグループCG2からのパケットを順次受信する(図8(a)、(b))。リングストップRSTP2は、コアグループCG2からのパケットとコアグループCG3からのパケットを交互に選択し、選択したパケットをバスB3に出力する(図8(c))。この際、リングストップRSTP2は、パケットの送信元を示す送信元情報(CG3またはCG2)をパケットに付加してバスB3に出力する。リングストップRSTP2から転送されるパケットは、バスB3を介してリングストップRSTP0に供給される(図8(d))。
一方、リングストップRSTP0は、自ノードのコアグループCG0からのパケットを順次受信する(図8(e))。リングストップRSTP0は、バスB3から受けるコアグループCG2、CG3からのパケットと、バスB1から受けるコアグループCG1からのパケットとを調停する。この際、リングストップRSTP0は、バスB3から受けるパケットに付加された送信元情報に基づいて、コアグループCG1−CG3からコアグループCG0にそれぞれ届くパケットの数の比率が、互いに等しくなるように調停動作を実行する(図8(f))。すなわち、リングストップRSTP0は、コアグループCG1−CG3からコアグループCG0に発行されるパケットが競合する場合、コアグループCG1−CG3からのパケットを調停により均等に選択する。これより、コアグループCG1、CG2、CG3からコアグループCG0にそれぞれ届くパケットの比率は、1:1:1になり、パケットが競合する場合のパケットの調停の公平性を維持することができる。
CPU0内でパケットの競合が発生した場合の調停の公平性は、例えば、HPCにおける性能指標の1つであるMPI(Message Passing Interface)性能を満足するために重要である。図8に示すリングストップRSTP0の動作により、例えば、所望のMPI性能を満足するCPU0を実現することが可能になる。なお、図8に示したリングストップRSTP0の機能は、他のリングストップRSTP1、RSTP2、RSTP3にも搭載される。そして、3つのコアグループCGから他の1つのコアグループCGに届くパケットが競合する場合の調停の公平性が、各リングストップRSTP0−RSTP3により維持される。
図9は、図7に示す動作が繰り返し発生した場合におけるリングストップRSTP0、RSTP0の調停動作の別の例を示す。図8と同じ動作については、詳細な説明は省略する。図9は、調停の公平性制御を実行しない場合の動作の例を示す。図9(a)から図9(e)までの動作は、図8(a)から図8(e)までの動作と同じである。
図9(f)において、リングストップRSTP0は、バスB3から受けるコアグループCG2、CG3からのパケットと、バスB1から受けるコアグループCG1からのパケットとを調停する。例えば、リングストップRSTP0は、調停動作により、バスB3から受けるパケットとバスB1から受けるパケットとを交互に選択する。この結果、コアグループCG1、CG2、CG3からコアグループCG0にそれぞれ届くパケットの比率は、2:1:1になり、パケットが競合する場合のパケットの調停の公平性は維持されない。
図10は、コアグループCG2、CG3からのパケットを調停するリングストップRSTP2の動作フローの一例を示す。すなわち、図10は、演算処理装置の制御方法の一例を示す。図10に示すフローは、リングストップRSTP2がパケットを受信した場合に開始される。
まず、ステップS10において、リングストップRSTP2は、コアグループCG2、CG3からコアグループCG0宛のパケットが競合するか否かを判定する。パケットが競合する場合、処理はステップS11に移行され、パケットが競合しない場合、処理はステップS15に移行される。
ステップS11において、リングストップRSTP2は、コアグループCG2からのパケットの前回の送信時刻が、コアグループCG3からのパケットの前回の送信時刻より早い場合、コアグループCG2からのパケットを選択する。一方、リングストップRSTP2は、コアグループCG2からのパケットの前回の送信時刻が、コアグループCG3からのパケットの前回の送信時刻より遅い場合、コアグループCG3からのパケットを選択する。すなわち、リングストップRSTP2は、LRU(Least Recently Used)方式により、コアグループCG0に向けて送信するパケットを選択する。
次に、ステップS12において、リングストップRSTP2は、コアグループCG2からのパケットを選択した場合、処理をステップS13に移行し、コアグループCG3からのパケットを選択した場合、処理をステップS14に移行する。
ステップS13において、リングストップRSTP2は、調停により選択したコアグループCG2からのパケットをバスB3に出力し、処理を終了する。ステップS14において、リングストップRSTP2は、調停により選択したコアグループCG3からのパケットをバスB3に出力し、処理を終了する。一方、ステップS15において、リングストップRSTP2は、パケットの競合が発生していないため、受信したパケットをバスB3に出力し、処理を終了する。
図11は、コアグループCG1、CG2、CG3からのパケットを調停するリングストップRSTP0の動作フローの一例を示す。すなわち、図11は、演算処理装置の制御方法の一例を示す。図11は、リングストップRSTP0がパケットの調停の公平性を維持する公平性制御を実行する場合の動作の例を示す。図11に示すフローは、リングストップRSTP0がパケットを受信した場合に開始される。
まず、ステップS20において、リングストップRSTP0は、リングストップRSTP1、RSTP2からコアグループCG0宛のパケットが競合するか否かを判定する。パケットが競合する場合、処理はステップS21に移行され、パケットが競合しない場合、処理はステップS28に移行される。
ステップS21において、リングストップRSTP0は、リングストップRSTP2からのパケットの送信元がコアグループCG2、CG3のいずれであるかを判定する。リングストップRSTP0は、リングストップRSTP2からのパケットの送信元がコアグループCG2の場合、処理をステップS22に移行し、リングストップRSTP2からのパケットの送信元がコアグループCG3の場合、処理をステップS24に移行する。
コアグループCG2、CG3からコアグループCG0にパケットが転送される場合、

リングストップRSTP2は、コアグループCG2、CG3が発行したコアグループCG0宛のパケットが競合した場合、調停によりパケットのいずれかを選択してバスB3に出力する。以下の説明において、リングストップRSTP2の後に示す”(CG2)”は、リングストップRSTP2が調停により選択したコアグループCG2を示す。リングストップRSTP2の後に示す”(CG3)”は、リングストップRSTP2が調停により選択したコアグループCG3を示す。
ステップS22において、リングストップRSTP0は、リングストップRSTP1からのパケットの前回の送信時刻が、リングストップRSTP2(CG2)からのパケットの前回の送信時刻より早い場合、リングストップRSTP1からのパケットを選択する。一方、リングストップRSTP0は、リングストップRSTP1からのパケットの前回の送信時刻が、リングストップRSTP2(CG2)からのパケットの前回の送信時刻より遅い場合、リングストップRSTP2(CG2)からのパケットを選択する。すなわち、リングストップRSTP0は、LRU方式により、コアグループCG0に向けて送信するパケットを選択する。
次に、ステップS23において、リングストップRSTP0は、リングストップRSTP1からのパケットを選択した場合、処理をステップS26に移行し、リングストップRSTP2(CG2)からのパケットを選択した場合、処理をステップS27に移行する。
ステップS24において、リングストップRSTP0は、リングストップRSTP1からのパケットの前回の送信時刻が、リングストップRSTP2(CG3)からのパケットの前回の送信時刻より早い場合、リングストップRSTP1からのパケットを選択する。一方、リングストップRSTP0は、リングストップRSTP1からのパケットの前回の送信時刻が、リングストップRSTP2(CG3)からのパケットの前回の送信時刻より遅い場合、リングストップRSTP2(CG3)からのパケットを選択する。すなわち、リングストップRSTP0は、LRU方式により、コアグループCG0に向けて送信するパケットを選択する。
次に、ステップS25において、リングストップRSTP0は、リングストップRSTP1からのパケットを選択した場合、処理をステップS26に移行し、リングストップRSTP2(CG3)からのパケットを選択した場合、処理をステップS27に移行する。
ステップS26において、リングストップRSTP0は、調停により選択したリングストップRSTP1からのパケットをコアグループCG0に出力し、処理を終了する。ステップS27において、リングストップRSTP0は、調停により選択したリングストップRSTP2(CG2またはCG3)からのパケットをコアグループCG0に出力し、処理を終了する。一方、ステップS28において、リングストップRSTP0は、パケットの競合が発生していないため、受信したパケットをコアグループCG0に出力し、処理を終了する。コアグループCG1、CG2、CG3からのパケットの調停を図10と図11の動作フローにより実行する場合の調停動作は、図8に示される。
図12は、コアグループCG1、CG2、CG3からのパケットを調停するリングストップRSTP0の動作フローの別の例を示す。図12は、リングストップRSTP0がパケットの調停の公平性を維持する公平性制御を実行しない場合の動作の例を示す。
まず、ステップS30において、リングストップRSTP0は、リングストップRSTP1、RSTP2からコアグループCG0宛のパケットが競合するか否かを判定する。パケットが競合する場合、処理はステップS31に移行され、パケットが競合しない場合、処理はステップS35に移行される。
ステップS31において、リングストップRSTP0は、リングストップRSTP1からのパケットの前回の送信時刻が、リングストップRSTP2からのパケットの前回の送信時刻より早い場合、リングストップRSTP1からのパケットを選択する。一方、リングストップRSTP0は、リングストップRSTP1からのパケットの前回の送信時刻が、リングストップRSTP2からのパケットの前回の送信時刻より遅い場合、リングストップRSTP2からのパケットを選択する。すなわち、リングストップRSTP0は、LRU方式により、コアグループCG0に向けて送信するパケットを選択する。ステップS31では、図11に示すステップS22、S24と異なり、コアグループCG2、CG3からのパケットをリングストップRSTP2からのパケットとして、LRU方式により選択する。
次に、ステップS32において、リングストップRSTP0は、リングストップRSTP1からのパケットを選択した場合、処理をステップS33に移行し、リングストップRSTP2からのパケットを選択した場合、処理をステップS34に移行する。
ステップS33において、リングストップRSTP0は、調停により選択したリングストップRSTP1からのパケットをコアグループCG0に出力し、処理を終了する。ステップS34において、リングストップRSTP0は、調停により選択したリングストップRSTP2からのパケットをコアグループCG0に出力し、処理を終了する。一方、ステップS35において、リングストップRSTP0は、パケットの競合が発生していないため、受信したパケットをコアグループCG0に出力し、処理を終了する。コアグループCG1、CG2、CG3からのパケットの調停を図10と図12の動作フローにより実行する場合の調停動作は、図9に示される。
以上、図1から図12に示す実施形態では、コアグループCGに接続されたリングストップRSTPのうち、リングネットワークで直接接続されていない一対のリングストップRSTPが、パケットの競合が発生しにくい専用バスB1(またはB2)で接続される。したがって、CPUチップ等に構築されるネットワークオンチップにおいて、リングネットワークを介してコアグループCGに接続された一対のリングストップRSTP間でパケットを転送する場合に比べて、パケットの通信性能を向上することができる。この結果、演算処理(計算処理、データ処理)の性能を向上することができる。
また、リングストップRSTP0−RSTP3が、自ノードが発行したパケットのみを専用バスB1(またはB2)に出力することで、専用バスB1(またはB2)において、他ノードが発行したパケットとの競合がなくなる。これにより、他ノードが発行したパケットを専用バスB1(またはB2)に転送する場合に比べて、リングネットワークを挟んで対向するコアグループCG間でのパケットの通信性能を向上することができる。換言すれば、1つのコアグループCGでは演算資源が足りない場合、リングネットワークを挟んで対向するコアグループCGを使用して演算処理を実行することで、他のコアグループCGを使用する場合に比べて、パケットの通信性能を向上することができる。
さらに、距離が他より小さい一対のリングストップRSTPの間を専用バスB1(またはB2)で接続することで、レジスタRを配置することなく専用バスB1(またはB2)を配線することができる。これにより、専用バスB1(またはB2)上を転送されるパケットの転送サイクル数を減らすことができ、パケットの通信性能を向上することができる。この結果、演算処理の性能をさらに向上することができる。
このように、CPUチップ等において、コアグループCGに接続されるリングストップRSTPのいずれかを他のリングストップRSTPのいずれかに専用バスB1(またはB2)で接続することで、最小限のチップサイズの増加で通信性能を向上することができる。
さらに、各コアグループCGに接続されるリングストップRSTPが、パケットの送信元情報に基づいて、他のコアグループCGが発行するパケットを調停することで、パケットが競合する場合のパケットの調停の公平性を維持することができる。
図13は、演算処理装置、情報処理装置および演算処理装置の制御方法の別の実施形態を示す。図1から図12に示す実施形態で説明した要素と同一または同様の要素については、同一の符号を付し、これ等については、詳細な説明は省略する。
図13に示すCPU2は、8つのコアグループCG(CG0−CG7)、インタコネクトコントローラICCおよび割り込みコントローラINTを有する。各コアグループCG0−CG7は、図1に示す各コアグループCG0−CG3と同様に、複数のプロセッサコアCと複数のプロセッサコアCに共有されるキャッシュメモリCMEMとを有する。
また、CPU2は、コアグループCG0−CG7、インタコネクトコントローラICCおよび割り込みコントローラINTにそれぞれ接続されるリングストップRSTP(RSTP0−RSTP9)を有する。コアグループCG0−CG7の各々に接続されるリングストップRSTP0−RSTP7は、第1のルータの一例である。インタコネクトコントローラICCおよび割り込みコントローラINTの各々に接続されるリングストップRSTP8、RSTP9は、第2のルータの一例である。
CPU2は、リングストップRSTP間を接続するバスB(B1−B14)を有する。図13に示す例では、バスB5、B7、B9、B11、B12、B10、B8、B6、B14、B13により、リングネットワークが構築される。リングネットワークは、リングストップRSTP0、RSTP2、RSTP4、RSTP6、RSTP8、RSTP7、RSTP5、RSTP3、RSTP1、RSTP9をリング状に接続する。リングネットワークに含まれるバスB5、B7、B9、B11、B12、B10、B8、B6、B14、B13は、第1のバスの一例である。
リングストップRSTP0、RSTP1は、バスB1により相互に接続され、リングストップRSTP2、RSTP3は、バスB2により相互に接続される。リングストップRSTP4、RSTP5は、バスB3により相互に接続され、リングストップRSTP6、RSTP7は、バスB4により相互に接続される。バスB1は、コアグループCG0、CG1が発行するパケットのみを転送する専用バスであり、バスB2は、コアグループCG2、CG3が発行するパケットのみを転送する専用バスである。バスB3は、コアグループCG4、CG5が発行するパケットのみを転送する専用バスであり、バスB4は、コアグループCG6、CG7が発行するパケットのみを転送する専用バスである。バスB1、B2、B3、B4は、第2のバスの一例である。
各リングストップRSTP0−RSTP7は、図1、図3から図8、図10、図11で説明したリングストップRSTP0−RSTP3と同様に動作する。すなわち、各リングストップRSTP0−RSTP7は、図8、図10、図11に示したように、パケットが競合する場合に、パケットの調停の公平性を維持する制御を実行する。リングストップRSTP8は、図1から図6で説明したリングストップRSTP4と同様に動作し、リングストップRSTP9は、図1で説明したリングストップRSTP5と同様に動作する。
例えば、図13に示すCPU2は、図1に示すCPU0、CPU1の各々の代わりに情報処理装置SVに搭載される。そして、CPU2では、図1に示すCPU0と同様に、1つのコアグループCGが有するプロセッサコアCだけで演算処理が実行可能な場合、演算処理は、1つのコアグループCG内で実行される。1つのコアグループCG内のプロセッサコアCだけでは演算資源が足りない場合、バスB1(またはB2、B3、B4)で接続された他ノードのコアグループCG内のプロセッサコアCも使用して、演算処理が実行される。
また、一対のコアグループCGで演算資源が足りない場合、3以上のコアグループCGを使用して演算処理が実行される。さらに、CPU2のコアグループCG0−CG7で演算資源が足りない場合、CPU2とともに情報処理装置SVに搭載される他のCPU2のコアグループCGも使用して、演算処理が実行される。
一対のコアグループCGが専用バスB1(またはB2、B3、B4)を介してパケットを送受信する場合、リングネットワークを介してパケットを送受信する場合に比べて、パケットが競合する可能性を低くできるため、パケットの通信性能を向上することができる。
以上、図13に示す実施形態においても、図1から図12に示す実施形態と同様の効果を得ることができる。
図14は、演算処理装置、情報処理装置および演算処理装置の制御方法の別の実施形態を示す。図1から図12に示す実施形態で説明した要素と同一または同様の要素については、同一の符号を付し、これ等については、詳細な説明は省略する。
図14に示すCPU3は、リングストップRSTP0、RSTP3の配置が、図2に示したCPU0と異なり、リングストップRSTP0、RSTP3が専用バスB1を介して接続される。また、リングストップRSRT1、RSTP2には、専用バスが接続されず、バスB6、B7にはレジスタRが配置される。CPU3のその他の構成およびチップレイアウトは、図1および図2に示すCPU0と同様である。すなわち、CPU3は、4つのコアグループCG(CG0−CG3)、インタコネクトコントローラICCおよび割り込みコントローラINTを有する。
各コアグループCG0−CG3は、図1と同様に、複数のプロセッサコアCと複数のプロセッサコアCに共有されるキャッシュメモリCMEMとを有する。例えば、図14に示すCPU3は、図1に示すCPU0、CPU1の各々の代わりに情報処理装置SVに搭載される。各リングストップRSTP0−RSTP3の動作は、図3から図8、図10、図11に示した動作と同様である。すなわち、各リングストップRSTP0−RSTP3は、図8、図10、図11に示したように、パケットが競合する場合に、パケットの調停の公平性を維持する制御を実行する。
図14では、バスB1は、コアグループCG0−CG3に接続されるリングストップRSTP0−RSTP3のうち、距離が最も近いリングストップRSTP0、RSTP3を互いに接続する。換言すれば、バスB1は、リングストップRSTP0−RSTP3のうち、リングネットワークにより直接接続されない複数のリングストップ対RSTPのうち、距離が他より短いリングストップ対RSTP0、RSTP3間を接続する。リングストップ対RSTP1、RSTP2間は、リングストップ対RSTP0、RSTP3より距離が大きいため、専用バスでは接続されない。
以上、図14に示す実施形態においても、図1から図12に示す実施形態と同様の効果を得ることができる。
以上の図1から図14に示す実施形態に関し、さらに以下の付記を開示する。
(付記1)
演算処理をそれぞれ行う複数の演算処理部と、
前記複数の演算処理部にそれぞれ接続される複数の第1のルータと、
前記複数の第1のルータをリング状に接続する第1のバスと、
前記複数の第1のルータを、前記第1のバスにより直接接続される第1のルータを除く第1のルータのいずれかに接続する第2のバスを有することを特徴とする演算処理装置。
(付記2)
前記複数の第1のルータのうち前記第2のバスにより互いに接続される一対の第1のルータは、
前記複数の演算処理部のうち前記一対の第1のルータに接続される一対の演算処理部から受信した情報を前記第1のバスまたは前記第2のバスに出力し、
前記一対の演算処理部以外から受信した情報の前記第2のバスへの出力を抑止することを特徴とする付記1記載の演算処理装置。
(付記3)
前記複数の第1のルータのうち前記第2のバスにより互いに接続される一対の第1のルータ間の距離は、前記一対の第1のルータの各々と、前記一対の第1のルータの各々に前記第1のバスで直接接続される第1のルータを除く他の第1のルータとの距離より短いことを特徴とする付記1または付記2記載の演算処理装置。
(付記4)
前記複数の演算処理部の各々に接続される前記複数の第1のルータの各々は、各ルータに接続される演算処理部以外の他の複数の演算処理部から各ルータに接続される演算処理部に発行される情報が競合する場合、前記他の複数の演算処理部からの情報を調停により均等に選択することを特徴とする付記1ないし付記3のいずれか1項記載の演算処理装置。
(付記5)
前記複数の演算処理部、前記複数の第1のルータ、前記第1のバスおよび前記第2のバスは、半導体チップ内に搭載されることを特徴とする付記1ないし付記4のいずれか1項記載の演算処理装置。
(付記6)
前記演算処理装置は、さらに、
前記複数の演算処理部に入出力される情報の転送を制御する少なくとも1つの制御部と、
前記第1のバス上に設けられ、前記制御部に接続される第2のルータを有することを特徴とする付記1ないし付記5のいずれか1項記載の演算処理装置。
(付記7)
前記制御部は、伝送路を介して他の演算処理装置に接続され、前記他の演算処理装置との間での情報の通信を制御することを特徴とする付記6記載の演算処理装置。
(付記8)
前記制御部は、前記複数の演算処理部が発行する割り込み要求に基づいて、割り込み処理を制御することを特徴とする付記6記載の演算処理装置。
(付記9)
前記第1のバスおよび前記第2のバスの各々は、往路と復路とを有することを特徴とする付記1ないし付記8のいずれか1項記載の演算処理装置。
(付記10)
複数の演算処理装置と、複数の演算処理装置を相互に接続する伝送路とを有する情報処理装置において、
前記複数の演算処理装置の各々は、
演算処理をそれぞれ行う複数の演算処理部と、
前記複数の演算処理部にそれぞれ接続される複数の第1のルータと、
前記複数の第1のルータをリング状に接続する第1のバスと、
前記複数の第1のルータを、前記第1のバスにより直接接続される第1のルータを除く第1のルータのいずれかに接続する第2のバスを有することを特徴とする情報処理装置。
(付記11)
演算処理をそれぞれ行う複数の演算処理部と、前記複数の演算処理部にそれぞれ接続される複数の第1のルータと、前記複数の第1のルータをリング状に接続する第1のバスと、前記複数の第1のルータを、前記第1のバスにより直接接続される第1のルータを除く第1のルータのいずれかに接続する第2のバスを有する演算処理装置の制御方法において、
前記複数の第1のルータのうち前記第2のバスにより互いに接続される一対の第1のルータは、
前記複数の演算処理部のうち前記一対の第1のルータに接続される一対の演算処理部から受信した情報を前記第1のバスまたは前記第2のバスに出力し、
前記一対の演算処理部以外から受信した情報の前記第2のバスへの出力を抑止することを特徴とする演算処理装置の制御方法。
(付記12)
前記複数の演算処理部の各々に接続される前記複数の第1のルータの各々は、各ルータに接続される演算処理部以外の他の複数の演算処理部から各ルータに接続される演算処理部に発行される情報が競合する場合、前記他の複数の演算処理部からの情報を調停により均等に選択することを特徴とする付記11記載の演算処理装置の制御方法。
以上の詳細な説明により、実施形態の特徴点および利点は明らかになるであろう。これは、特許請求の範囲がその精神および権利範囲を逸脱しない範囲で前述のような実施形態の特徴点および利点にまで及ぶことを意図するものである。また、当該技術分野において通常の知識を有する者であれば、あらゆる改良および変更に容易に想到できるはずである。したがって、発明性を有する実施形態の範囲を前述したものに限定する意図はなく、実施形態に開示された範囲に含まれる適当な改良物および均等物に拠ることも可能である。
B(B0−B12)…バス;C…プロセッサコア;CG(CG0−CG7)…コアグループ;CMEM…キャッシュメモリ;ICC…インタコネクトコントローラ;INT…割り込みコントローラ;NW…ネットワーク;R…レジスタ;RSTP(RSTP0−RSTP8)…リングストップ;SV…情報処理装置

Claims (8)

  1. 演算処理をそれぞれ行う複数の演算処理部と、
    前記複数の演算処理部にそれぞれ接続される複数の第1のルータと、
    前記複数の第1のルータをリング状に接続する第1のバスと、
    前記複数の第1のルータを、前記第1のバスにより直接接続される第1のルータを除く第1のルータのいずれかに接続する第2のバスを有することを特徴とする演算処理装置。
  2. 前記複数の第1のルータのうち前記第2のバスにより互いに接続される一対の第1のルータは、
    前記複数の演算処理部のうち前記一対の第1のルータに接続される一対の演算処理部から受信した情報を前記第1のバスまたは前記第2のバスに出力し、
    前記一対の演算処理部以外から受信した情報の前記第2のバスへの出力を抑止することを特徴とする請求項1記載の演算処理装置。
  3. 前記複数の第1のルータのうち前記第2のバスにより互いに接続される一対の第1のルータ間の距離は、前記一対の第1のルータの各々と、前記一対の第1のルータの各々に前記第1のバスで直接接続される第1のルータを除く他の第1のルータとの距離より短いことを特徴とする請求項1または請求項2記載の演算処理装置。
  4. 前記複数の演算処理部の各々に接続される前記複数の第1のルータの各々は、各ルータに接続される演算処理部以外の他の複数の演算処理部から各ルータに接続される演算処理部に発行される情報が競合する場合、前記他の複数の演算処理部からの情報を調停により均等に選択することを特徴とする請求項1ないし請求項3のいずれか1項記載の演算処理装置。
  5. 前記複数の演算処理部、前記複数の第1のルータ、前記第1のバスおよび前記第2のバスは、半導体チップ内に搭載されることを特徴とする請求項1ないし請求項4のいずれか1項記載の演算処理装置。
  6. 前記演算処理装置は、さらに、
    前記複数の演算処理部に入出力される情報の転送を制御する少なくとも1つの制御部と、
    前記第1のバス上に設けられ、前記制御部に接続される第2のルータを有することを特徴とする請求項1ないし請求項5のいずれか1項記載の演算処理装置。
  7. 複数の演算処理装置と、複数の演算処理装置を相互に接続する伝送路とを有する情報処理装置において、
    前記複数の演算処理装置の各々は、
    演算処理をそれぞれ行う複数の演算処理部と、
    前記複数の演算処理部にそれぞれ接続される複数の第1のルータと、
    前記複数の第1のルータをリング状に接続する第1のバスと、
    前記複数の第1のルータを、前記第1のバスにより直接接続される第1のルータを除く第1のルータのいずれかに接続する第2のバスを有することを特徴とする情報処理装置。
  8. 演算処理をそれぞれ行う複数の演算処理部と、前記複数の演算処理部にそれぞれ接続される複数の第1のルータと、前記複数の第1のルータをリング状に接続する第1のバスと、前記複数の第1のルータを、前記第1のバスにより直接接続される第1のルータを除く第1のルータのいずれかに接続する第2のバスを有する演算処理装置の制御方法において、
    前記複数の第1のルータのうち前記第2のバスにより互いに接続される一対の第1のルータは、
    前記複数の演算処理部のうち前記一対の第1のルータに接続される一対の演算処理部から受信した情報を前記第1のバスまたは前記第2のバスに出力し、
    前記一対の演算処理部以外から受信した情報の前記第2のバスへの出力を抑止することを特徴とする演算処理装置の制御方法。
JP2017051465A 2017-03-16 2017-03-16 演算処理装置、情報処理装置および演算処理装置の制御方法 Pending JP2018156267A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2017051465A JP2018156267A (ja) 2017-03-16 2017-03-16 演算処理装置、情報処理装置および演算処理装置の制御方法
US15/908,879 US11093436B2 (en) 2017-03-16 2018-03-01 Arithmetic processing device, information processing apparatus, and control method of the arithmetic processing device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017051465A JP2018156267A (ja) 2017-03-16 2017-03-16 演算処理装置、情報処理装置および演算処理装置の制御方法

Publications (1)

Publication Number Publication Date
JP2018156267A true JP2018156267A (ja) 2018-10-04

Family

ID=63519302

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017051465A Pending JP2018156267A (ja) 2017-03-16 2017-03-16 演算処理装置、情報処理装置および演算処理装置の制御方法

Country Status (2)

Country Link
US (1) US11093436B2 (ja)
JP (1) JP2018156267A (ja)

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63289666A (ja) * 1987-05-21 1988-11-28 Toyo Commun Equip Co Ltd コンピュ−タ・システム
US6266797B1 (en) * 1997-01-16 2001-07-24 Advanced Micro Devices, Inc. Data transfer network on a computer chip using a re-configurable path multiple ring topology
JP2005521178A (ja) * 2002-03-22 2005-07-14 ディーリング,マイケル,エフ. スケーラブルな高性能3dグラフィックス
JP2006154943A (ja) * 2004-11-25 2006-06-15 Kawasaki Microelectronics Kk デバイス
JP2007148753A (ja) * 2005-11-28 2007-06-14 Seiko Epson Corp マルチプロセッサシステム
JP2012198819A (ja) * 2011-03-22 2012-10-18 Fujitsu Ltd データ転送装置、並列計算機システムおよびデータ転送装置の制御方法
WO2014045444A1 (ja) * 2012-09-24 2014-03-27 富士通株式会社 並列計算機、ノード装置、及び並列計算機の制御方法
JP2016167726A (ja) * 2015-03-10 2016-09-15 富士通株式会社 演算処理装置,情報処理装置,及び情報処理装置の制御方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5179715A (en) 1987-03-11 1993-01-12 Toyo Communication Co., Ltd. Multiprocessor computer system with process execution allocated by process managers in a ring configuration
US5908468A (en) * 1997-10-24 1999-06-01 Advanced Micro Devices, Inc. Data transfer network on a chip utilizing a multiple traffic circle topology
JP2002335250A (ja) 2001-05-09 2002-11-22 Hitachi Ltd 冗長化ネットワークシステム
JP3748216B2 (ja) 2001-08-02 2006-02-22 日本電信電話株式会社 パケット転送方法およびパケット送受信装置

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63289666A (ja) * 1987-05-21 1988-11-28 Toyo Commun Equip Co Ltd コンピュ−タ・システム
US6266797B1 (en) * 1997-01-16 2001-07-24 Advanced Micro Devices, Inc. Data transfer network on a computer chip using a re-configurable path multiple ring topology
JP2005521178A (ja) * 2002-03-22 2005-07-14 ディーリング,マイケル,エフ. スケーラブルな高性能3dグラフィックス
JP2006154943A (ja) * 2004-11-25 2006-06-15 Kawasaki Microelectronics Kk デバイス
JP2007148753A (ja) * 2005-11-28 2007-06-14 Seiko Epson Corp マルチプロセッサシステム
JP2012198819A (ja) * 2011-03-22 2012-10-18 Fujitsu Ltd データ転送装置、並列計算機システムおよびデータ転送装置の制御方法
WO2014045444A1 (ja) * 2012-09-24 2014-03-27 富士通株式会社 並列計算機、ノード装置、及び並列計算機の制御方法
JP2016167726A (ja) * 2015-03-10 2016-09-15 富士通株式会社 演算処理装置,情報処理装置,及び情報処理装置の制御方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
井口 寧、堀口 進: "超並列計算機用プロセッサ結合網SRT ネットワーク特性と故障回避アーキテクチャ", 情報処理学会研究報告, vol. 96, no. 39, JPN6020051184, 16 May 1996 (1996-05-16), JP, pages 37 - 43, ISSN: 0004514848 *

Also Published As

Publication number Publication date
US20180267926A1 (en) 2018-09-20
US11093436B2 (en) 2021-08-17

Similar Documents

Publication Publication Date Title
Kumar et al. Toward ideal on-chip communication using express virtual channels
US7643477B2 (en) Buffering data packets according to multiple flow control schemes
JP4638216B2 (ja) オンチップバス
US7165131B2 (en) Separating transactions into different virtual channels
US9009648B2 (en) Automatic deadlock detection and avoidance in a system interconnect by capturing internal dependencies of IP cores using high level specification
EP1449100B1 (en) A switching i/o node for connection in a multiprocessor computer system
JP5895153B2 (ja) インタフェース装置およびバスシステム
JPH09506456A (ja) Mppコンピュータのための多次元相互結合・ルーティングネットワーク
KR20170015320A (ko) 네트워크 온 칩 설계를 위한 트랜잭션 트래픽 스펙
WO2017084331A1 (zh) 互连电路的数据处理装置和方法
JP3492852B2 (ja) ネットワークメッセージルート指定装置のための待ち時間短縮及びルート裁定方法
US10547514B2 (en) Automatic crossbar generation and router connections for network-on-chip (NOC) topology generation
KR100905802B1 (ko) 컴퓨터 시스템의 입력/출력 노드에서 태깅 및 중재 매카니즘
Jiang et al. A lightweight early arbitration method for low-latency asynchronous 2D-mesh NoC's
Chen et al. ArSMART: An improved SMART NoC design supporting arbitrary-turn transmission
US20190258573A1 (en) Bandwidth weighting mechanism based network-on-chip (noc) configuration
US9288258B2 (en) Communication using integrated circuit interconnect circuitry
US9258358B2 (en) Parallel computing system and control method of parallel computing system
JP2018156267A (ja) 演算処理装置、情報処理装置および演算処理装置の制御方法
CN115580572A (zh) 路由方法、路由节点、路由装置和计算机可读存储介质
JP2009194510A (ja) 優先調停システム及び優先調停方法
US20080109586A1 (en) System and method for arbitration for virtual channels to prevent livelock in a richly-connected multi-processor computer system
Alimi et al. Network-on-Chip Topologies: Potentials, Technical Challenges, Recent Advances and Research Direction
JP5949312B2 (ja) 並列計算機システム、データ転送装置及び並列計算機システムの制御方法
CN109587056A (zh) 一种异构片上网络自适应路由算法

Legal Events

Date Code Title Description
RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7426

Effective date: 20170803

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20170803

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20170804

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20180214

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20180219

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20180219

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20191212

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20201120

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210105

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210210

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210601

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20211124