JP5978849B2 - 並列計算機システム、クロスバスイッチ及び並列計算機システムの制御方法 - Google Patents

並列計算機システム、クロスバスイッチ及び並列計算機システムの制御方法 Download PDF

Info

Publication number
JP5978849B2
JP5978849B2 JP2012177390A JP2012177390A JP5978849B2 JP 5978849 B2 JP5978849 B2 JP 5978849B2 JP 2012177390 A JP2012177390 A JP 2012177390A JP 2012177390 A JP2012177390 A JP 2012177390A JP 5978849 B2 JP5978849 B2 JP 5978849B2
Authority
JP
Japan
Prior art keywords
data
arbitration
port
node
request
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.)
Active
Application number
JP2012177390A
Other languages
English (en)
Other versions
JP2014035696A (ja
Inventor
俊 安藤
俊 安藤
新哉 平本
新哉 平本
智宏 井上
智宏 井上
雄太 豊田
雄太 豊田
誠裕 前田
誠裕 前田
雄一郎 安島
雄一郎 安島
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2012177390A priority Critical patent/JP5978849B2/ja
Priority to US13/921,327 priority patent/US9342473B2/en
Publication of JP2014035696A publication Critical patent/JP2014035696A/ja
Application granted granted Critical
Publication of JP5978849B2 publication Critical patent/JP5978849B2/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

Landscapes

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

Description

本発明は、並列計算機システム、クロスバスイッチ及び並列計算機システムの制御方法に関する。
並列計算機などでは、CPU(Central Processing Unit)などのノードを複数接続してシステム全体の性能向上を図ることが行われている。このような複数ノードを有する並列計算機で用いられるネットワークには、複数のノードをスイッチで繋いで構成されるものがある。このスイッチには、クロスバスイッチなどが用いられる場合がある。
クロスバスイッチには、ポートにバッファを有するものと、物量の制限などからポートにバッファを有さないものがある。ポートにバッファを有さないクロスバスイッチを用いた場合、クロスバスイッチのポートとそのポートへデータを供給するノードなどの送信元との間でデータを同期させるなどのハンドシェイクが行われる。ハンドシェイクの方式の一例として、送信元からクロスバスイッチに対して調停リクエストを送信し、それを受信したクロスバスイッチが送信許可を送信元へ応答するという手順を経た後に、送信元がクロスバスイッチに対してデータパケットを送信する方式がある。また、複数のノードがポートに対して順番に一定期間データ送信を許可する方式がある。
調停リクエストを用いる場合、クロスバスイッチは、複数のノードからデータの調停リクエストを受信すると、どのノードからの調停リクエストを受け付けるかを決定する調停処理を行う。選択されたノードは、選択を行ったポートとの間の送信許可を得て、送信許可を受けたポートにデータパケットを送信する。このような調停処理において、あるポートから選択されたノードが他のポートへ出力している調停リクエストを1度削除する方法と、あるポートから選択されたノードが他のポートへ出力した調停リクエストを出し続ける方法とが考えられる。
また、ポート毎に調停までの待ち時間を作成し、調停装置が待ち時間の待機後に調停を行い、クロスバスイッチのデッドサイクルの発生を抑える従来技術が提供されている(例えば、特許文献1参照)。その他にも、データ転送許可信号を発信後にデータの長さをカウンタにセットして定期的にカウンタをデクリメントしカウンタが0になった場合に次の調停処理を行う従来技術などがある(例えば、特許文献2参照)。
特開平11−73403号公報 特開2001−22711号公報
しかしながら、従来の方式では、調停リクエストを出し続ける方法を用いた場合、あるノード(以下では、「特定ノード」という。)が一つのポートから選択されたときに、他のポートも調停を行いその特定ノードを選択してしまうことが考えられる。その場合、特定ノードは、選択を受けた各ポートから送信許可を受けるが、データパケットを送信するのは最初に送信許可を受けたポートに対してである。データパケットの送信は1度に1つのポートに対してしか行えないため、特定ノードは、他の送信を許可したポートに対してデータパケットを送信することはできない。この間、他のポートは既に送信許可を特定ノードに対して発行しているため、他のノードに対して送信許可を発行することができない。そのため、他のポートは、送信可能なノードが他にあるにも関わらず、特定ノードのデータパケットの送信が終わるまで待機する。
特に、通信頻度の高い出力ポートと低い出力ポートとの優劣にあわせて処理を高速に行うために、ノードと出力ポートとで通信頻度が高い組合せをグループとして優先順位を高めることが考えられる。この場合、あるノードに対してグループとされている出力ポートは優先して選択される。そこで、グループのノードが対の出力ポートにデータを送っている場合、他の出力ポートがそのノードに送信許可を出して待機しているにもかかわらず、対の出力ポートが何度も選ばれることが考えられる。この場合、対の出力ポートへのデータ送信全てが完了するまで、他の出力ポートが待機することが考えられる。その結果、データ転送処理が遅滞するおそれがある。
これは、ポート毎に調停までの待ち時間を作成する従来技術でも、通信頻度が高い組合せをグループとした場合を考慮してはおらず、グループとなっているノードと入出力ポートがバスを専有してしまうことを回避することは困難である。また、データの長さをカウンタにセットして、そのカウンタに基づいて調停を行う従来技術でも、通信頻度が高い組合せをグループとした場合を考慮してはおらず、グループとなっているノードと入出力ポートがバスを専有してしまうことを回避することは困難である。
開示の技術は、上記に鑑みてなされたものであって、データ転送処理を効率よく行う並列計算機システム、クロスバスイッチ及び並列計算機システムの制御方法を提供することを目的とする。
本願の開示する並列計算機システム、クロスバスイッチ及び並列計算機の制御方法は、一つの態様において、複数のノードと複数のポートを有するクロスバスイッチとを有する。前記ノードは、前記ポートにデータ送信要求である調停リクエストを送信するリクエスト送信部と、所定の状態にある予め決められた対のポートに対して前記リクエスト送信部が調停リクエストを送信した場合、前記所定ポートに対してデータを送信し、それ以外の場合、前記調停リクエストに対する送信許可を返信した前記ポートに対してデータを送信するデータ送信部と、前記データに基づく待機時間を前記ポートに通知する待機時間通知部とを備える。前記クロスバスイッチの各前記ポートは、前記所定の状態で前記対のノードから調停リクエストを受信すると前記対のノードを選択し、それ以外の場合、前記ノードから前記調停リクエストを受け付け、前記調停リクエストを受け付けたノードから一つを選択して選択したノードに対して送信許可を返信する調停部と、前記調停部により選択されたノードからデータを受信し、他のノードに対して受信したデータを転送するデータ転送部と、前記待機時間を前記ノードから受信し、受信した待機時間が経過した後に前記調停部に対してノードの選択を許可するタイミング調整部とを備える。
本願の開示する並列計算機システム、クロスバスイッチ及び並列計算機システムの制御方法の一つの態様によれば、データ転送処理を効率よく行うことができるという効果を奏する。
図1は、実施例に係る並列計算機の構成図である。 図2は、実施例に係る並列計算機の詳細を表すブロック図である。 図3は、調停リクエストが送信された段階の状態を表す図である。 図4は、通信許可通知が送信された段階の状態を表す図である。 図5は、データ及びサイクル数が送信された段階の状態を表す図である。 図6は、再度調停が行われ調停リクエストが送信された段階の状態を表す図である。 図7は、再度の調停後にデータ及びサイクル数が送信された段階の状態を表す図である。 図8は、実施例に係る並列計算機によるデータ送信処理のタイミングチャートである。 図9は、従来の並列計算機によるデータ送信処理のタイミングチャートである。
以下に、本願の開示する並列計算機システム、クロスバスイッチ及び並列計算機システムの制御方法の実施例を図面に基づいて詳細に説明する。なお、以下の実施例により本願の開示する並列計算機システム、クロスバスイッチ及び並列計算機システムの制御方法が限定されるものではない。
図1は、実施例に係る並列計算機の構成図である。図1に示すように、本実施例に係る並列計算機は、CPU1〜4及びそれらのCPUを接続するクロスバスイッチ5を有する。ここで、本実施例では、4つのCPUを用いて説明するが、並列計算機に設けられるCPUの数はこれに限らず、4つ未満でも5つ以上でもよい。また、本実施例では、クロスバスイッチ5は、CPUの数にあわせて4つの入力ポート及び出力ポートを有しているが、ポート数はこれに限らない。また、クロスバスイッチ5のポート数はCPUの数と異なってもよい。
CPU1は、他のCPUとの間での通信を制御するルータ部10を有している。ルータ部10は、送信部11及び受信部12を有している。送信部11は、クロスバスイッチ5に対する通信の要求である調停リクエスト及び他のCPUへのデータの送信を行う。受信部12は、クロスバスイッチ5からの通信許可通知及び他のCPUから送られてきたデータを受信する。
CPU2〜4は、CPU1と同様の構成を有するので説明を省略する。
クロスバスイッチ5は、入力ポート51〜54及び出力ポート61〜64を有している。入力ポート51と出力ポート61とは一対のポートである。同様に、入力ポート52〜54も、それぞれ出力ポート62〜64と対になっている。
入力ポート51は、対になっている出力ポート61以外の出力ポート62〜64のいずれとも接続することができる。さらに、入力ポート51は、CPU1の送信部11に接続されている。入力ポート51は、CPU1の送信部11から送出されたデータや調停リクエストの入力を受ける。そして、入力ポート51は、出力ポート62〜64のうちの、調停リクエストで通信を要求する通信先のCPUが接続されている出力ポートにデータを転送する。また、入力ポート51は、調停リクエストに対する出力ポートからの応答である通信許可通知を受信し、送信部11へ出力する。さらに、入力ポート51は、出力ポート62〜64のうちの、送信部11から送出されたデータの宛先のCPUが接続されている出力ポートに対して、送信部11から受信したデータを転送する。
入力ポート52〜54も、入力ポート51と同様の機能を有し、同様の動作を行うので説明を省略する。入力ポート51〜54については、後でさらに詳しく説明する。
出力ポート61は、対になっている入力ポート51以外の入力ポート52〜54のいずれとも接続することができる。さらに、出力ポート61は、CPU1の受信部12に接続されている。出力ポート61は、CPU2〜4からの調停リクエストを受信し、データの送信をいずれのCPUに許可するかを決定する調停を行う。そして、出力ポート61は、調停により決定したCPUが接続している入力ポートに対して通信許可通知を出力する。また、出力ポート61は、CPU2〜4から送られてきたデータをCPU1の受信部12へ出力する。
出力ポート62〜64も、出力ポート61と同様の機能を有し、同様の動作を行うので説明を省略する。出力ポート61〜64については、後でさらに詳しく説明する。
出力ポート61がデータ転送を行っていない場合又は調停リクエストを受信していない場合をアイドル状態という。出力ポート61は、アイドル状態でCPU1からの調停リクエストを受信すると、調停を行わずに直ぐにCPU1からのデータ転送を行うように設定されている。このように、出力ポート61とCPU1とは、優先的にデータの転送を行う1対のグループとして設定されている。このグループにおけるCPUに対する出力ポートを以下では、「マスターポート」と呼ぶ。すなわち、出力ポート62は、CPU1のマスターポートに設定されている。また、出力ポート63は、CPU2のマスターポートに設定されている。また、出力ポート64は、CPU3のマスターポートに設定されている。出力ポート61は、CPU4のマスターポートに設定されている。
また、CPU1〜4が、CPU1〜4のうちの他のCPUへデータを送信する場合、データはサイズが大きいため、データを送信する経路は1つのみ確保できる。すなわち、CPU1〜4は、1度のデータ送信において、いずれか1つのCPUに対してデータを送信することになる。これに対して、調停リクエストなどはサイズが小さいため、CPU1〜4は、1度の送信において複数の経路を確保できる。すなわち、CPU1〜4は、複数のCPUに対して同時に調停リクエストを送ることができる。
さらに、図2を参照して、本実施例に係る並列計算機についてさらに詳しく説明する。図2は、実施例に係る並列計算機の詳細を表すブロック図である。ここでは、CPU1がCPU2及び3に対するデータの送信要求を行い、CPU2及び4がCPU3に対するデータの送信要求を行う場合を例に説明する。図2では、説明に使用する送信部、入力ポート及び出力ポートを記載し、他の部分については記載を省略している。
送信部11は、リクエスト送信部111、調停回路112及びデータ送信部113を有している。また、送信部21は、リクエスト送信部121、調停回路122及びデータ送信部123を有している。また、送信部41は、リクエスト送信部141、調停回路142及びデータ送信部143を有している。ここで、送信部31は図には図示していないが、送信部31も同様の機能を有している。
リクエスト送信部111は、CPU1が他のCPU2〜4のいずれかへデータを送信する場合、調停リクエストを入力ポート51へ送出する。リクエスト送信部111からの調停リクエストは同時に複数のCPUに対して送信されてもよい。また、調停リクエストには、データの送信先であるCPUの情報が付加されている。
ここでは、リクエスト送信部111は、CPU2に対するデータ送信の調停リクエストを入力ポート51へ出力する。また、リクエスト送信部111は、CPU3に対するデータ送信の調停リクエストを入力ポート51へ出力する。この後、調停回路112は、調停リクエストを送信した出力ポートから調停リクエストに応じたデータ送信がデータ送信部113により開始されるまで、調停リクエストを同じ出力ポートに対して送信し続ける。調停リクエストに応じたデータ送信が開始した旨の通知をデータ送信部113から受信すると、リクエスト送信部111は、その調停リクエストの送信を停止する。
さらに、リクエスト送信部111は、調停リクエストを送信したという情報を、その調停リクエストで指定しているデータの送信先のCPUの情報と共に調停回路112へ送信する。
また、リクエスト送信部111は、調停リクエストの応答として後述する通信許可通知を返信してきたCPUの中で、調停回路112が自CPUからのデータの送信先として選択しなかったCPUの情報の入力を調停回路112から受ける。以下では、自CPUが通信許可通知を出力ポートから受信したが自CPUからのデータの送信先として選択しなかったCPUを、「未選択CPU」という。例えば、後述するように、自CPUからのデータの送信先としてCPU3が調停回路112によって選択された場合、リクエスト送信部111は、未選択CUPとしてCPU2の情報の入力を調停回路112から受ける。
また、リクエスト送信部111は、現在行っているデータ送信が終了するまでのクロック数であるサイクル数をサイクル数通知部114から受信する。そして、サイクル数を受信した後にそのサイクル数が経過するまでの間に、調停リクエストを送信する場合、リクエスト送信部111は、調停リクエストにサイクル数の情報を付加して送信する。また、サイクル数を受信した時点で、未選択CPUの情報を受信している場合、リクエスト送信部111は、調停リクエストにサイクル数を付加して再度未選択CPUが接続されている出力ポートへ送信する。
リクエスト送信部121は、CPU2に対するデータ送信の調停リクエストを入力ポート52へ出力する。また、リクエスト送信部141は、CPU2に対するデータ送信の調停リクエストを入力ポート54へ出力する。
調停回路112は、出力ポート62がデータの転送を行っていないアイドル状態の場合、マスターポートである出力ポート62からの通信許可通知を入力ポート51から受信し続ける。そして、この状態でリクエスト送信部111からCPU2へのデータ送信の調停リクエストの送信の通知を受けると、調停回路112は、リクエスト送信部111が送信した調停リクエストに対応するデータの送信をデータ送信部113に指示する。
また、出力ポート62がアイドル状態でない場合、調停回路112は、リクエスト送信部111からの調停リクエストへの応答として出力ポート62から送出された通信許可通知を入力ポート51から受ける。また、アイドル状態であるかないかに関わらず、調停回路112は、調停リクエストへの応答としてマスターポート以外の出力ポート63及び64から送出された通信許可通知を入力ポート51から受ける。調停回路112は、複数の通信許可通知を受信した場合、最初に受信した通信許可通知を送信してきた出力ポートに接続されているCPUに対するデータ送信をデータ送信部113に指示する。
例えば、調停回路112は、出力ポート62から送出された通信許可通知を入力ポート51から受ける。次に、出力ポート63から送出された通信許可通知を入力ポート51から受ける。そして、調停回路112は、最初に取得した通信許可通知に対応するCPU2へのデータの送信をデータ送信部113に指示する。さらに、調停回路112は、データの送信を行うCPU2以外のCPUへの調停リクエストが選択されなかったことをリクエスト送信部111へ通知する。ここでは、調停回路112は、CPU3への調停リクエストが選択されなかったこと、すなわちCPU3が未選択CPUであることをリクエスト送信部111へ通知する。そして、調停回路112は、最初に取得した通信許可通知以外の通信許可通知を破棄する。ここでは、調停回路112は、出力ポート63からの通信許可通知を破棄する。
送信部21の調停回路122及び送信部41の調停回路142は、調停回路112と同様の動作を行う。ここでは、送信部21の調停回路122及び送信部41の調停回路142は、出力ポート63が調停によりデータ送信を許可するCPUとしてCPU1を選択したため、通信許可通知を取得しない。
データ送信部113は、データの送信先として選択されたCPUに対するデータ送信の指示を調停回路112から受信する。そして、データ送信部113は、指定されたCPUに対してデータを送信する。さらに、データ送信部113は、送信しているデータのデータ長をサイクル数通知部114へ通知する。
例えば、データ送信部113は、CPU2に対するデータの送信の指示を調停回路112から受信する。そして、データ送信部113は、CPU3宛てのデータを入力ポート51へ送信する。さらに、データ送信部113は、CPU2へ送信するデータのデータ長をサイクル数通知部114に通知する。
また、データ送信部113は、データの送信を開始すると、その旨をリクエスト送信部111に通知する。
サイクル数通知部114は、送信しているデータのデータ長の通知をデータ送信部113から受ける。そして、サイクル数通知部114は、受信したデータ長からデータ送信が終了するまでのクロック数であるサイクル数を算出する。例えば、サイクル数通知部114は、CPU2へ送信するデータのデータ長をデータ送信部113から取得する。そして、サイクル数通知部114は、CPU2へ送信するデータのデータ長から、CPU2へのデータ送信が終了するまでのクロック数であるサイクル数を算出する。ここで、本実施例では、データ長からサイクル数を計算しているが、データの送信が終わるまでの時間が求まれば他の方法でもよく、例えば、リードやライドなどの実行する処理の種類からその処理が終わるまでのサイクル数を求めても良い。
次に、サイクル数通知部114は、求めたサイクル数をリクエスト送信部111に送信する。
入力ポート51は、データの送信先であるCPUに対する調停リクエストをリクエスト送信部111から受信する。そして、入力ポート51は、受信した調停リクエストをデータの送信先のCPUが接続されている出力ポートに送信する。
例えば、入力ポート51は、CPU3に対するデータ送信の調停リクエストをリクエスト送信部111から受信する。そして、入力ポート51は、CPU3が接続されている出力ポート63に調停リクエストを送信する。次に、入力ポート51は、CPU2に対するデータ送信の調停リクエストをリクエスト送信部111から受信する。そして、入力ポート51は、CPU2が接続されている出力ポート62に調停リクエストを送信する。
出力ポート62がデータの転送を行っていないアイドル状態の場合、入力ポート51は、通信許可通知を出力ポート62の調停回路161から受信し続ける。そして、入力ポート51は、調停回路161からの通信許可通知を調停回路112へ送信する。
これに対して、出力ポート62がデータの転送を行っていないアイドル状態でない場合、他の出力ポート63及び64に対して、入力ポート51は、次のような動作を行う。入力ポート51は、調停リクエストを送った出力ポートにおいてデータ送信が許可された場合、通信許可通知をその調停リクエストを送った出力ポートから受信する。例えば、入力ポート51は、出力ポート62の調停回路161から通信許可通知を受信する。そして、入力ポート51は、調停回路161からの通信許可通知を調停回路112へ送信する。また、入力ポート51は、出力ポート63の調停回路163から通信許可通知を受信する。そして、入力ポート51は、調停回路163からの通信許可通知を調停回路112へ送信する。
さらに、入力ポート51は、通信許可通知を受けた調停リクエストに応じた他のCPU宛のデータをデータ送信部113から受信する。そして、入力ポート51は、受信したデータをそのデータの送信先のCPUが接続されている出力ポートへ送信する。例えば、入力ポート51は、CPU2宛てのデータをデータ送信部113から受信する。そして、入力ポート51は、CPU2宛てのデータを出力ポート62のデータ転送部162へ送信する。
出力ポート62は、調停回路161及びデータ転送部162を有する。出力ポート63も同様に、調停回路163及びデータ転送部164を有している。そして、調停回路161及び163は、それぞれタイミング調整部165及び166を有している。
出力ポート62がアイドル状態でない場合、調停回路161は、CPU2を送信先とするデータの送信要求についての調停リクエストを入力ポート51,53及び54から受信する。そして、調停リクエストが複数有る場合、調停回路161は、予め決められた条件を用いて、調停リクエストを送ってきたCPUの中から優先順位が最も高いCPUを選択する。例えば、調停回路161は、CPU1,3及び4の優先順位を予め記憶しておく。そして、調停回路161は、調停リクエストを送信してきたCPUの中で、記憶している優先順位のうち最も高い優先順位を有するCPUを選択する。この他にも、例えば、調停回路161は、一度選択されたCPUの優先順をさげるなどして、CPUの優先順位を変更しながら、優先順位の最も高いCPUを選択してもよい。
調停回路161は、選択したCPUが接続されている入力ポートに通信許可通知を送信する。たとえば、CPU1を選択した場合、調停回路161は、入力ポート51に通信許可通知を送信する。
出力ポート62がアイドル状態の場合、調停回路161は、CPU1への通信許可通知を入力ポート51に対して送信し続ける。この時、CPU1から調停リクエストを受信すると、調停回路161は直ぐにCPU1からのCPU2へのデータ転送を行う指示をデータ転送部162に指示する。一方、CPU1以外からの調停リクエストを受信した場合、出力ポート62は、CPU1への送信許可通知の送信を停止する。そして、調停リクエストを複数受信している場合、調停回路161は、調停を行い、データ送信を許可するCPUを決定する。その後、調停回路161は、決定したCPUへの送信許可通知をそのCPUが接続している入力ポートへ送信する。これに対して、調停リクエストを1つしか受信していなければ、調停回路161は、その調停リクエストを送信したCPUへの送信許可通知をそのCPUが接続している入力ポートへ送信する。
例えば、調停回路161は、アイドル状態で、CPU1,3及び4から調停リクエストを受信した場合、調停回路161は、データ送信を許可するCPUをマスターポートの組であるCPU1に決定する。この場合、CPU3及び4はデータ送信を許可するCPUとしては選択されない。
また、例えば、調停回路161は、アイドル状態でない状態で、CPU1,3及び4から調停リクエストを受信した場合、調停回路161は、調停を行い、データ送信を許可するCPUを決定する。
また、他の出力ポートにおいても同様に調停が行われ、データの送信を許可するCPUが選択され、通信許可通知をそのCPUが接続されている入力ポートにそのCPU宛の通信許可通知が送信される。例えば、同じCPUに対して、異なる出力ポートから通信許可が送信される場合もある。
出力ポート63の調停回路163は、例えば、CPU1から調停リクエストを受信する。そして、調停回路163は、データ送信を許可するCPUとしてCPU1を選択する。そして、調停回路163は、CPU1への通信許可通知を入力ポート51へ送信する。ただし、この場合、調停回路163からの出力許可通知はCPU1の調停回路112へ送信されるが、先に出力ポート62が通信許可通知をCPU1へ送信しているため、CPU3は、データ送信の送信先として選択されない。
その後、送信許可通知をCPU1に送信したが、データの送信先として選ばれなかったCPU2が接続されている出力ポート63の調停回路163は、サイクル数が付加された調停リクエストをそのCPU1のリクエスト送信部111から受信する。
そして、サイクル数が付加された調停リクエストを受信した場合、調停回路163は、送信許可通知を出している調停リクエスト111に対する送信許可通知の送信を停止する。そして、調停回路163は、マスターポートの組となっているCPU2を、データ送信を許可するポートとして選択し、通信許可通知を送信する。
その後、調停回路163は、マスターポートの組になっているCPU2から調停リクエストを受信した場合、CPU2からのデータの転送を行う。一方、マスターポートの組であるCPU2以外のCPU3又は4から調停リクエストを受信した場合、タイミング調整部165は、サイクル数を1つずつデクリメントしながらカウントする。そして、タイミング調整部165は、サイクル数が0になる、すなわちサイクル数分の時間が経過すると、調停回路163にサイクル数の時間の経過を通知する。調停回路163は、サイクル数の時間の経過の通知をタイミング調整部165から受信すると、調停リクエストを送ってきたCPUの間で調停を行い、データ送信を許可するCPUを選択する。
また、調停リクエストがどこからも来なかった場合、調停回路163は、サイクル数の時間の経過の通知をタイミング調整部165から受信すると、データ送信を許可するCPUとしてサイクル数を付加した調停リクエストを送信してきたCPU1を選択する。そして、調停回路163は、選択したCPU1に対して通信許可通知を送信する。
また、タイミング調整部165は、既にサイクル数をいずれかのCPUから受信している状態で、他のCPUからサイクル数を受信した場合、残りの時間が短い、すなわちデータ送信が先に完了するサイクル数を選択する。そして、タイミング調整部165は、選択したサイクル数をカウントし、選択したサイクル数の時間が経過すると、調停回路163にサイクル数の時間の経過を通知する。調停回路163は、サイクル数の時間の経過の通知をタイミング調整部165から受信すると、調停リクエストを送ってきたCPUの間で調停を行い、データ送信を許可するCPUを選択する。そして、調停回路163は、選択したCPU1に対して通信許可通知を送信する。
例えば、出力ポート63が通信許可通知をCPU1に送信したが、CPU1がデータの送信先のCPUとしてCPU2を選んだ場合について説明する。調停回路163は、CPU1がCPU2へのデータ送信が終了するまでのサイクル数が付加された調停リクエストをリクエスト送信部111から入力ポート51を介して再度受信する。そして、調停回路163は、CPU1への通信許可通知の送信を停止する。さらに、調停回路163は、マスターポートの組であるCPU2をデータ送信を許可するCPUとして選択する。そして、タイミング調整部165は、サイクル数を1つずつデクリメントするようにカウントする。この間、いずれのCPUからも調停リクエストが来なければ、カウントが0になった時点で、タイミング調整部165からの通知を受けて、調停回路163は、CPU1に対して再度通信許可通知を送信する。また、カウント中に、他のCPU、例えばCPU4から調停リクエストを受けた場合、タイミング調整部165からの通知を受けて、調停回路163は、CPU4とCPU1との間で調停を行う。そして、調停回路163は、CPU4又はCPU1をデータの送信を許可するCPUとして選択し、選択したCPUに通信許可通知を送信する。
データ転送部162は、送信部11がCPU2へのデータ送信を行う場合、送信部11のデータ送信部113が送信したデータを入力ポート51から受信する。そして、データ転送部162は、受信したデータをCPU2の受信部22へ送信する。
受信部22は、送信部11がCPU2に対してデータ送信を行う場合、送信部11が送信したデータをデータ転送部162から受信する。CPU2は、受信部22で受信したデータを用いて処理を行う。
次に、図3〜図7を参照して、本実施例に係るデータ送信要求の調停の全体の流れについて説明する。図3は、調停リクエストが送信された段階の状態を表す図である。図4は、通信許可通知が送信された段階の状態を表す図である。図5は、データ及びサイクル数が送信された段階の状態を表す図である。図6は、再度調停が行われ調停リクエストが送信された段階の状態を表す図である。図7は、再度の調停後にデータ及びサイクル数が送信された段階の状態を表す図である。各送信部からの信号は対応する入力ポートを介して出力ポートに送信され、出力ポートからの信号は各送信部に対して対応する入力ポートを介して送信されるので、送信部と出力ポートとの間の信号を、入力ポートと出力ポートとの間の信号を用いて説明する。
図3における一点鎖線で囲われた送信部と出力ポートとの組がマスターポートの組みを表している。例えば、送信部11のマスターポートは出力ポート62である。この場合、出力ポート62は、データ送信や調停を行っておらずアイドル状態である。そこで、出力ポート62は、送信部11に対して送信許可通知201を送信し続けている。図3に示すように、送信部11は、出力ポート62〜64に調停リクエスト202〜204を送信する。
この調停リクエスト202〜204を受けて、出力ポート62〜64は調停を行う。ここでは、出力ポート62〜64は、送信部11からの調停リクエストしか受けていないので、データの送信を許可するCPUとして送信部11を有するCPU1を選択する。
ここで、出力ポート62は、マスターポートであり、送信部11から調停リクエストを受けて直ぐにデータを転送できる状態になる。また、送信部11は、調停リクエストを出して直ぐに、受信部22を有するCPU2へのデータの送信を開始する。これに対して、出力ポート63及び64も、図4に示すように送信部11へ送信許可通知205及び206を送信する。しかし、送信部11はマスターポートである出力ポート62に接続されている受信部22を有するCPU2をデータの送信先として選択しているので、出力ポート63及び64の通信許可通知は送信部11で選択されない。
次に、図5に示すように、送信部11は、受信部22へのデータ207を出力ポート62へ送信する。さらに、送信部11は、データ207の送信が完了するまでのサイクル数を求め、求めたサイクル数を負荷した調停リクエスト208及び209を出力ポート63及び64へ送信する。出力ポート63及び64は、送信部11への通信許可通知の送信を停止し、サイクル数のカウントを開始する。この時、送信部31から出力ポート63へ調停リクエスト210が送られたものとする。
そして、サイクル数の経過後、出力ポート63は、送信部11及び送信部31からの調停リクエストに基づいて調停を行う。ここでは、出力ポート63は、送信部31を有するCPU3を選択したものとする。この場合、図6に示すように、出力ポート63は、通信許可通知211を送信部31に送る。一方、出力ポート64は、他の調停リクエストを受け付けていないので、送信部11を有するCPU1を選択する。そして、出力ポート64は、図6に示すように、通信許可通知212を送信部11に送る。
その後、図7に示すように、送信部11は、受信部24へのデータ213を出力ポート64へ送信する。また、送信部31は、受信部23へのデータ214を出力ポート63へ送信する。
次に、図8を参照して、本実施例に係る並列計算機によるデータ送信処理の一連の流れについて説明する。図8は、実施例に係る並列計算機によるデータ送信処理のタイミングチャートである。
グラフ300は、並列計算機の動作クロックを表している。また、グラフ301〜312の左側に記載している調停リクエストは調停リクエストの送信のグラフであることを表しており、調停リクエストに続く数字はどの送信部からどの出力ポートへの調停リクエストの送信かを表している。ここで、調停リクエストは、Highのときに調停リクエストが送られており、Lowのときに調停リクエストが送られていないことを表している。また、次回サイクル数は、次の調停が開始できるようになるまでのサイクル数の遷移のグラフであることを表している。そして、次回サイクル数に続く数字は対応する出力ポートを表している。
具体的には、グラフ301は、送信部11から出力ポート62への調停リクエストの送信を表している。グラフ302は、送信部11からのデータ送信に応じた出力ポート62における次の調停が開始できるようになるまでのサイクル数の遷移を表している。グラフ303は、送信部11から出力ポート63への調停リクエストの送信を表している。グラフ304は、送信部11からのデータ送信に応じた出力ポート63における次の調停が開始できるようになるまでのサイクル数の遷移を表している。グラフ305は、送信部11から出力ポート64への調停リクエストの送信を表している。グラフ306は、送信部11からのデータ送信に応じた出力ポート64における次の調停が開始できるようになるまでのサイクル数の遷移を表している。
また、グラフ307は、送信部11からのデータ送信を表している。グラフ307におけるtoに続く番号はデータを送信している出力ポートの符号を表している。例えば、「
to 62」は、出力ポート62へデータを送信していることを表している。さらに、グラフ307の「0」は、データの送信を行っていないことを表している。
また、グラフ308は、送信部31から出力ポート62への調停リクエストの送信を表している。グラフ309は、送信部31からのデータ送信に応じた出力ポート62における次の調停が開始できるようになるまでのサイクル数の遷移を表している。グラフ310は、送信部31から出力ポート64への調停リクエストの送信を表している。グラフ311は、送信部31からのデータ送信に応じた出力ポート64における次の調停が開始できるようになるまでのサイクル数の遷移を表している。グラフ312は、送信部31から出力ポート61への調停リクエストの送信を表している。グラフ313は、送信部31からのデータ送信に応じた出力ポート61における次の調停が開始できるようになるまでのサイクル数の遷移を表している。
また、グラフ314は、送信部31からのデータ送信を表している。グラフ314におけるtoに続く番号はデータを送信している出力ポートの符号を表している。さらに、グラフ314の「0」は、データの送信を行っていないことを表している。
さらに、グラフ315は、出力ポート62による通信許可通知の送信先を表している。また、グラフ316は、出力ポート63による通信許可通知の送信先を表している。また、グラフ317は、出力ポート64による通信許可通知の送信先を表している。また、グラフ318は、出力ポート61による通信許可通知の送信先を表している。そして、グラフ315〜318の中に記載された数字は、通信許可通知を送信している送信部の符号を表している。さらに、グラフ315〜318の中の「通信中」の記載は、データ転送を行っていることを示している。
出力ポート62〜64は、グラフ315〜318に示すように、最初はマスターポートの組である送信部11〜41にそれぞれ送信許可を出している。
そして、送信部11は、グラフ301,303及び305で示すように、同じタイミング321,322,323で出力ポート62,63及び64に調停リクエストを送信する。
この時、出力ポート62が送信部11のマスターポートであるので、送信部11は、直ちに出力ポート62をデータの送信先として選択し、グラフ307で示すように、タイミング324で出力ポート62対してデータの送信を開始する。これに対して、グラフ316のタイミング325で出力ポート63は、調停を行い送信部11からのデータの送信を許可すると決定する。そして、タイミング326で、出力ポート63は、送信部11に通信許可通知を送信する。グラフ317のタイミング327で出力ポート64は、調停を行い送信部11からのデータの送信を許可すると決定する。そして、タイミング328で、出力ポート64は、送信部11に通信許可通知を送信する。
この通信許可を受けて、送信部11は、出力ポート62へのデータ送信の完了までのサイクル数を求める。そして、送信部11は、求めたサイクル数を出力ポート63及び64に通知し、出力ポート63及び64は次の調停までのサイクル数をカウントする。ここでは、タイミング329及び330で示すように、出力ポート63及び64は、3サイクル後に次回の調停を行うことになる。そして、出力ポート63及び64は、サイクルをカウントダウンしていく。
サイクル数を付加した調停リクエストを送信部11から受けて、グラフ316のタイミング331で、出力ポート63は、送信部11に対する送信許可通知を停止し、マスターポートの組である送信部21に対する送信許可通知の送信を開始する。同様に、グラフ317のタイミング332で、出力ポート64は、送信部11に対する送信許可通知を停止し、マスターポートの組である送信部31に対する送信許可通知の送信を開始する。
さらに、出力ポート63及び64が、送信部11のデータ伝送完了までのサイクル数をカウントしている間に、グラフ308,310及び312で示すように、送信部31は、同じタイミング333,334及び335で出力ポート62,64及び61に調停リクエストを送信する。この時、出力ポート64は、送信部31のマスターポートとなっているので、送信部31は、直ちに出力ポート64をデータの送信先として選択し、グラフ314で示すように、タイミング336で出力ポート64対してデータの送信を開始する。これに対して、グラフ318のタイミング337で出力ポート61は、調停を行い送信部31からのデータの送信を許可すると決定する。
出力ポート61からの通信許可を受けて、送信部31は、出力ポート64へのデータ送信の完了までのサイクル数を求める。そして、送信部11は、求めたサイクル数を出力ポート61及び62に通知し、出力ポート61及び62は次の調停までのサイクル数をカウントする。ここでは、タイミング339及び340で示すように、出力ポート62及び61は、7サイクル後に次回の調停を行うことになる。そして、出力ポート61及び62は、サイクルをカウントダウンしていく。
サイクル数を付加した調停リクエストを送信部31から受けて、グラフ316のタイミング331で、出力ポート63は、送信部11に対する送信許可通知を停止し、マスターポートの組である送信部41に対する送信許可通知の送信を開始する。
出力ポート63は、3サイクルのカウントダウン終了後に、グラフ316のタイミング341で調停を行う。このとき、出力ポート63は、送信部11からのみ調停リクエストを受けているので、タイミング342で送信部11に対して送信許可を送信する。これを受けて、送信部11は、グラフ307のタイミング343で出力ポート63にデータを送信する。一方、タイミング344において、出力ポート62も調停を行い、データの送信を許可する対象として送信部11を選択する。しかし、この場合、すでに出力ポート63が送信部11に通信許可通知を送信している。そのため、出力ポート62は、グラフ315のタイミング345で送信部11に通信許可通知を出すが、その後、送信部11からサイクル数が付加された調停リクエストを再度受信する。この場合、出力ポート62は、送信部11のマスターポートであるので、調停リクエストの再受信による通信許可通知の送信停止は行わず、通信許可通知を送信部11に送り続ける。そして、グラフ315のタイミング346で、送信部11のデータ送信のサイクル数が経過するので、出力ポート62は、調停を行い、送信部11を選択し、タイミング347で送信部11に通信許可通知を送信する。これを受けて、送信部11は、グラフ307のタイミング348で、出力ポート62へのデータ送信を開始する。
また、グラフ318のタイミング349で、送信部31のデータ送信のサイクル数が経過するので、出力ポート61は、調停を行う。そして、出力ポート61は、タイミング350で送信部31に通信許可通知を送信する。これを受けて、送信部31は、グラフ314のタイミング351で出力ポート61へのデータ送信を開始する。
これに対して、図9は、従来の並列計算機によるデータ送信処理のタイミングチャートである。グラフ401〜403は、送信部11から各出力ポートへの調停リクエストの送信を示す。また、グラフ404は、送信部11からのデータ送信を表す。グラフ405〜407は、送信部31から各出力ポートへの調停リクエストの送信を示す。また、グラフ408は、送信部31からのデータ送信を表す。そして、グラフ409〜412は、出力ポート61〜64による送信許可通知の送信先及びデータ転送を表す。
この場合も、グラフ401〜403で示すように、送信部11が出力ポート62〜64に調停リクエストを送信する。出力ポート62は送信部11のマスターポートであるため、送信部11は、グラフ404及び409のように、直ちにデータの送信先として出力ポート62を選択し、データの送信を開始する。この時、出力ポート63及び64は、送信部11の調停リクエストを受けて、グラフ410及び411のタイミング420及び421で調停を行う。そして、出力ポート63及び64は、送信部11に対して通信許可通知を送信する。この後、グラフ405及び406に示すように、送信部31は、出力ポート62及び64へ調停リクエストを送信する。しかし、出力ポート62はデータ転送中であり、また、出力ポート64は送信部31に対して通信許可通知を送信しているので、送信部31は、出力ポート62及び64のいずれからも通信許可通知を得られない。その後、グラフ409のタイミング423で出力ポートのデータ送信が終わり、出力ポート62は、調停を開始するが、この時に、また送信部11に対して通信許可通知を出してしまう場合がある。このようなことにより、グラフ410及び411に示すように、出力ポート63及び64は、長期間に亘ってデータの転送を行えない状態が続くおそれがある。
このように、従来は、図9に示すようにデータを送信してしまっているCPUを選択してしまうことで、長期間に亘ってデータの転送が行えない出力ポートが発生していた。これに対して、本実施例にかかる並列計算機は、図8に示すように、マスターポートを続けて選択することが回避でき、長期間に亘ってデータの転送が行えない出力ポートの発生を軽減できる。
以上に説明したように、本実施例に係る並列計算機システムでは、通信許可通知を受けてもデータの送信ができない場合に、実施しているデータ送信が完了するまでサイクル数を通知し、通知を受けた出力ポートはそのサイクル数後に再度調停を行う。すなわち、指定された調停開始のサイクルにしたがって出力ポートが調停を行うため、マスターポートからの通信許可通知が先に届くことが軽減でき、マスターポートによるバス専有を抑制できる。また、本実施例に係る並列計算機システムは、サイクル数をカウントしている間にマスターポートの組のCPUから調停リクエストを受けた場合には、そのCPUに通信許可通知を送信する。また、データ送信が完了するまでのサイクル数が少ないCPUにあわせて調停を行うことができる。そのため、データを送信しているCPUに対して送信許可通知を送ってしまった場合にも、その送信許可通知を無効にして、他のCPUに対して送信許可通知を送ることができる。このようなことから、本実施例に係る並列計算機システムは、データ転送処理を効率よく行うことができる。
1〜4 CPU
5 クロスバスイッチ
10,20,30,40 ルータ部
11,21,31,41 送信部
12,22,32,42 受信部
51〜54 入力ポート
61〜64 出力ポート
111,121,131,141 リクエスト送信部
112,122,132,142 調停回路
113,123,133,143 データ送信部
114,124,134,144 サイクル数通知部
161,163 調停回路
162,164 データ転送部
165,166 タイミング調整部

Claims (7)

  1. 複数のノードと複数のポートを有するクロスバスイッチとを有する並列計算機システムであって、
    前記ノードは、
    前記ポートにデータ送信要求である調停リクエストを送信するリクエスト送信部と、
    所定の状態にある予め決められた対のポートに対して前記リクエスト送信部が調停リクエストを送信した場合、前記対のポートに対してデータを送信し、それ以外の場合、前記調停リクエストに対する送信許可を返信した前記ポートに対してデータを送信するデータ送信部と、
    前記データに基づく待機時間を前記ポートに通知する待機時間通知部とを備え、
    前記クロスバスイッチの各前記ポートは、
    前記所定の状態で対のノードから調停リクエストを受信すると前記対のノードを選択し、それ以外の場合、前記ノードから前記調停リクエストを受け付け、前記調停リクエストを受け付けたノードから一つを選択し、選択したノードに対して送信許可を返信し、前記待機時間を自装置のポートが受信した場合、前記待機時間の送信元のノードに対するノードの選択及び前記送信許可の返信は、前記待機時間が経過してから実行する調停部と、
    前記調停部により選択されたノードからデータを受信し、他のノードに対して受信したデータを転送するデータ転送部と、
    前記待機時間を前記ノードから自装置のポートが受信した場合、受信した待機時間が経過した後に前記待機時間が経過した旨を前記調停部に通知するタイミング調整部とを備えた
    ことを特徴とする並列計算機システム。
  2. 前記待機時間通知部は、前記データの送信が完了するまでの時間を前記待機時間として求めることを特徴とする請求項1に記載の並列計算機システム。
  3. 前記待機時間通知部は、前記データを送信しているポート以外のポートに前記待機時間を通知することを特徴とする請求項1又は請求項2に記載の並列計算機システム。
  4. 前記タイミング調整部は、前記ノードのうち複数から前記待機時間を受信した場合、受信した待機時間のうち最短の待機時間が経過した後に、前記最短の待機時間が経過した旨を前記調停部に通知することを特徴とする請求項1〜3のいずれか一つに記載の並列計算機システム。
  5. 前記所定の状態とは、前記データ転送部がデータの転送を行っておらず且つ前記調停部が前記調停リクエストを受信していない状態が少なくとも含まれることを特徴とする請求項1〜4のいずれか一つに記載の並列計算機システム。
  6. 複数のポートを有するクロスバスイッチであって、
    前記ポートは
    所定の状態で予め決められた対のノードから調停リクエストを受信すると前記対のノードを選択し、それ以外の場合、各ノードからデータ送信要求である調停リクエストを受け付け、前記調停リクエストを受け付けたノードから一つを選択し、選択したノードに対して送信許可を返信し、データをいずれかのポートに送信するノードから当該送信するデータに基づく待機時間を自装置のポートが受信した場合、前記待機時間の送信元のノードに対するノードの選択及び前記送信許可の返信は、前記待機時間が経過してから実行する調停部と、
    前記調停部により選択されたノードからデータを受信し、他のノードに対して受信したデータを転送するデータ転送部と、
    前記待機時間を自装置のポートが受信した場合、受信した待機時間が経過した後に、前記待機時間が経過した旨を前記調停部に通知するタイミング調整部とを備えた
    ことを特徴とするクロスバスイッチ。
  7. 複数のノードと複数のポートを有するクロスバスイッチとを有する並列計算機システムの制御方法であって、
    前記ノードのうちデータの送信を行っているノードに、前記データに基づく待機時間を前記ポートに通知させ、
    前記ノードに、前記ポートにデータ送信要求である調停リクエストを送信させ、
    前記ポートに、前記ノードから前記調停リクエストを受信させ、
    前記ポートが前記待機時間を受信していない場合、所定の状態で予め決められた対のノードから調停リクエストを受信すると、前記対のノードを選択させ、それ以外では、前記調停リクエストを受け付けたノードから一つを選択させ、選択したノードに対して送信許可を返信させ、
    前記ポートが前記待機時間を受信している場合、当該ポートに前記調停リクエストを送信してきた前記ノードの中から1つのノードを選択させ、選択したノードに対して送信許可を返信させる際に、前記待機時間の送信元のノードに対するノードの選択及び前記送信許可の返信は、前記待機時間が経過してから実行させ、
    前記ノードが前記所定の状態の対となるポートに調停リクエストを送信した場合、前記ノードに前記対となるポートに対してデータを送信させ、
    前記所定の状態の前記対となるポートに調停リクエストを送信する以外の場合、前記ノードに、前記調停リクエストに対する送信許可を返信した前記ポートに対してデータを送信させ、
    前記ポートに、選択したノードからデータを受信させ、他のノードに対して受信したデータを転送させる
    ことを特徴とする並列計算機システムの制御方法。
JP2012177390A 2012-08-09 2012-08-09 並列計算機システム、クロスバスイッチ及び並列計算機システムの制御方法 Active JP5978849B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2012177390A JP5978849B2 (ja) 2012-08-09 2012-08-09 並列計算機システム、クロスバスイッチ及び並列計算機システムの制御方法
US13/921,327 US9342473B2 (en) 2012-08-09 2013-06-19 Parallel computer system, crossbar switch, and method of controlling parallel computer system according to selective transmission of data via ports of the crossbar switch

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012177390A JP5978849B2 (ja) 2012-08-09 2012-08-09 並列計算機システム、クロスバスイッチ及び並列計算機システムの制御方法

Publications (2)

Publication Number Publication Date
JP2014035696A JP2014035696A (ja) 2014-02-24
JP5978849B2 true JP5978849B2 (ja) 2016-08-24

Family

ID=50067069

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012177390A Active JP5978849B2 (ja) 2012-08-09 2012-08-09 並列計算機システム、クロスバスイッチ及び並列計算機システムの制御方法

Country Status (2)

Country Link
US (1) US9342473B2 (ja)
JP (1) JP5978849B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5949312B2 (ja) * 2012-08-16 2016-07-06 富士通株式会社 並列計算機システム、データ転送装置及び並列計算機システムの制御方法
US9992135B2 (en) * 2015-12-11 2018-06-05 Intel Corporation Apparatus and method for fusion of compute and switching functions of exascale system into a single component by using configurable network-on-chip fabric with distributed dual mode input-output ports and programmable network interfaces

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5754792A (en) * 1992-03-19 1998-05-19 Hitachi, Ltd. Switch circuit comprised of logically split switches for parallel transfer of messages and a parallel processor system using the same
JPH05342178A (ja) * 1992-06-10 1993-12-24 Hitachi Ltd 調停回路およびそれを用いたデータ処理装置
US5604735A (en) * 1995-03-15 1997-02-18 Finisar Corporation High speed network switch
KR100205062B1 (ko) * 1996-10-01 1999-06-15 정선종 계층 상호연결망을 위한 크로스바 라우팅 스위치
JPH1173403A (ja) * 1997-08-29 1999-03-16 Fujitsu Ltd クロスバスイッチ制御回路
US6748451B2 (en) * 1998-05-26 2004-06-08 Dow Global Technologies Inc. Distributed computing environment using real-time scheduling logic and time deterministic architecture
JP3569149B2 (ja) * 1999-02-03 2004-09-22 株式会社日立製作所 通信制御装置
JP2001022711A (ja) * 1999-07-08 2001-01-26 Hitachi Ltd クロスバースイッチの制御方法及び並列計算機システム
JP5270077B2 (ja) * 2006-08-18 2013-08-21 富士通株式会社 調停回路、クロスバ、リクエスト選択方法、及び情報処理装置
US8984206B2 (en) * 2012-10-31 2015-03-17 International Business Machines Corporation Weightage-based scheduling for hierarchical switching fabrics

Also Published As

Publication number Publication date
US9342473B2 (en) 2016-05-17
US20140047157A1 (en) 2014-02-13
JP2014035696A (ja) 2014-02-24

Similar Documents

Publication Publication Date Title
US10613616B2 (en) Systems and methods for facilitating low power on a network-on-chip
EP2975529B1 (en) Requests and data handling in a bus architecture
US20170063625A1 (en) Configurable router for a network on chip (noc)
US9185026B2 (en) Tagging and synchronization for fairness in NOC interconnects
JP5978849B2 (ja) 並列計算機システム、クロスバスイッチ及び並列計算機システムの制御方法
JP2012243162A (ja) 情報処理装置、通信方法、及びプログラム
CN105553753A (zh) 一种固定时间片协同流控的片上环网防饥饿处理方法
US20180287963A1 (en) Apparatus and method for using multiple multi-drop buses
JP5949312B2 (ja) 並列計算機システム、データ転送装置及び並列計算機システムの制御方法
US11068423B2 (en) Control device and communication device
EP1187422B1 (en) Method and device for tunable packet arbitration
US10419367B2 (en) Queue buffer de-queuing
JP6468066B2 (ja) 並列演算装置、並列演算システム、集合通信方法及び集合通信プログラム
JP7292044B2 (ja) 制御装置および制御方法
US20240004735A1 (en) Non-blocking ring exchange algorithm
US11093436B2 (en) Arithmetic processing device, information processing apparatus, and control method of the arithmetic processing device
TWI616754B (zh) 快捷外設互聯標準(PCIe)資料交換裝置及傳輸系統
JP6197817B2 (ja) 中継装置、中継方法及び中継システム
JP2016154279A (ja) リングバス転送システム、マスタノード、スレーブノード、リングバス転送方法
JP2004102607A (ja) クロスバー調停システム
Chen et al. Design of key technology in reflective memory network communication module
GB2488681A (en) A method and bus architecture for sending data in a bus architecture from a slave device to master pathways via a bus
GB2488680A (en) A method/architecture for processing requests in a bus architecture that includes at least two master devices an at least one slave device

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150406

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20151228

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160202

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160404

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160419

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160617

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160711

R150 Certificate of patent or registration of utility model

Ref document number: 5978849

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150