JP6853479B2 - 情報処理システム、情報処理装置、及び情報処理システムの制御方法 - Google Patents

情報処理システム、情報処理装置、及び情報処理システムの制御方法 Download PDF

Info

Publication number
JP6853479B2
JP6853479B2 JP2017131270A JP2017131270A JP6853479B2 JP 6853479 B2 JP6853479 B2 JP 6853479B2 JP 2017131270 A JP2017131270 A JP 2017131270A JP 2017131270 A JP2017131270 A JP 2017131270A JP 6853479 B2 JP6853479 B2 JP 6853479B2
Authority
JP
Japan
Prior art keywords
information processing
request
processing device
memory
confirmation 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
JP2017131270A
Other languages
English (en)
Other versions
JP2019016054A (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 JP2017131270A priority Critical patent/JP6853479B2/ja
Priority to US16/003,164 priority patent/US10599347B2/en
Publication of JP2019016054A publication Critical patent/JP2019016054A/ja
Application granted granted Critical
Publication of JP6853479B2 publication Critical patent/JP6853479B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/062Securing storage systems
    • G06F3/0622Securing storage systems in relation to access
    • 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
    • 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
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device

Landscapes

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

Description

本発明は、情報処理システム、情報処理装置、及び情報処理システムの制御方法に関する。
複数の情報処理装置を有する情報処理システムでは、メモリに対するライトリクエスト(書き込み要求)の完了保証がない場合、図7に一例を示すように、当該ライトリクエストにより更新される前のデータへのアクセスが発生しうる。図7には、CPU A701がCPU B702の書いたメモリ704上のデータの読み出しを行う場合を示している。
まず、CPU B702が、メモリ704に対するライトリクエストをメモリコントローラ703に発行し(711)、自身のレジスタ(REG B)に“メモリ更新済み”と書き込む。その後、CPU A701が、CPU B702のレジスタ(REG B)に対するリードリクエスト(読み出し要求)をCPU B702に発行する(712)。そして、リードリクエストを受けたCPU B702が、リードコンプリーションでレジスタ(REG B)の内容“メモリ更新済み”をリードデータとしてCPU A701に返す(713)。
CPU B702から“メモリ更新済み”の応答を受けたCPU A701は、メモリ704上のデータが更新済みであると判断し、メモリ704に対するリードリクエストをメモリコントローラ703に発行する(714)。ここで、CPU A701からのリードリクエスト(714)が、CPU B702からのライトリクエスト(711)より先にメモリコントローラ703に到着したとする。
この場合、メモリコントローラ703は、リードコンプリーションでリードデータをCPU A701に返す(715)が、CPU B702からのライトリクエストがメモリコントローラ703に届いていないのでメモリ704上のデータは更新されていない。つまり、リードコンプリーションではメモリ704上の更新前のデータがCPU A701に返されることとなり、CPU A701は、CPU B702がメモリ704に書く更新後のデータを読むことができない。
このようにメモリに対するライトリクエストの完了保証がないと、更新される前のデータへのアクセスが発生し、データの整合性に問題が生じうる。メモリに対するライトリクエストの完了を保証するには、例えばメモリライト処理の完了を確認すればよい。図8に示す情報処理システムを例に、従来のメモリライト処理完了の確認方法について説明する。
図8には、複数のノードを環状に接続するリングバスを介して複数のノード(情報処理装置)810が接続された情報処理システムを示している。各ノード810は、CPU(Central Processing Unit)811、メモリ812、メモリコントローラ813、及びクロスバ部(XB)814を有する。CPU811は、演算処理を行ったりリクエストを発行したりする。メモリコントローラ813は、受信したリクエストに応じて、メモリ812に対しデータの書き込み(データライト)や読み出し(データリード)を行う。クロスバ部(XB)814は、リングバスを介して伝送されるリクエスト等のパケットの宛先判定を行い、パケットの伝送制御を行う。
図8に示した情報処理システムにおいて、各ノード810内のCPU811が、自ノードのメモリ812及び他ノードのCPU811、メモリ812へアクセスする際には、クロスバ部(XB)814を経由する。また、クロスバ部(XB)814同士がリング状に接続されており、あるノード810から発行されたリクエストは一方の方向のみに伝搬する。本例では、ノードA、B、C、D、E、F、G、H、A、・・・の方向に伝搬するものとする。したがって、例えばノードA810−AからノードH810−Hにリクエストを発行する場合、ノードA810−Aから発行されたリクエストは、ノードA、B、C、D、E、F、G、Hのすべてのクロスバ部(XB)814−A〜814−Hを通過してノードH810−Hに到達する。また、発行元が同じリクエストは順序通り転送される。
例えば、ノードAのCPU811−Aが、ノードB〜Hのメモリ812−B〜812−Hに対するデータのライトリクエスト(書き込み要求)を発行し、メモリライト処理の完了を確認する場合の動作は、図9に示すようになる。まず、ステップS901にて、ノードAのCPU811−Aは、データを書き込むメモリに対するNon−Postedメモリライトリクエストを発行する。
このステップS901の処理は、ステップS902にて、ノードAのCPU811−Aが、データの書き込みを行うすべてのメモリに対して発行済みであると判断するまで繰り返される。この例では、ノードB〜Hのメモリ812−B〜812−Hに対する7つのNon−Postedメモリライトリクエスト821〜827を発行する。なお、Non−Postedメモリライトリクエストは、リクエストを受信したメモリコントローラ813がリクエストの発行元に対してライト完了応答を返すリクエストである。
次に、ステップS903にて、ノードAのCPU811−Aは、発行したNon−Postedメモリライトリクエストのライト完了応答の確認を行う。そして、ライト完了応答を待ち続けて、ステップS904にて、ノードAのCPU811−Aが、対象のすべてのメモリからのライト完了応答(この例では7つのライト完了応答831〜837)を確認したと判断すると、自身が発行したメモリライトリクエストのメモリライト処理が完了したと確認して終了する。
また、複数のモジュールがリングバスで接続されるシステムにおいて、あるリクエストがリングバスを1周するのに必要な最大時間を利用してリクエストの順序を保証する技術が提案されている(例えば、特許文献1)。
特開2011−128989号公報
前述したメモリライト処理完了の確認方法では、メモリライトリクエストの発行元がメモリライト処理完了を確認するには、すべての発行先からのライト完了応答を待つ必要がある。ノード数が増えるほどライト完了応答の数が増え、それらが同一の宛先(リクエストの発行元)に返ってくるので、発行元への伝送経路を占めることになる。つまり、システムが大きくなるほどメモリライト処理完了の確認に要する時間が増大し、他のリクエスト等の伝送を阻害することになる。1つの側面では、本発明の目的は、環状のバスであるリングバスを介して接続される複数の情報処理装置を有する情報処理システムにおいて、高速なメモリライトリクエストの完了保証を実現することにある。
情報処理システムの一態様は、環状のバスであるリングバスを介して接続される複数の情報処理装置を有し、情報処理装置は、メモリと、複数の情報処理装置が有するメモリに対するライトリクエストを発行し、ライトリクエストの発行後に該ライトリクエストの完了確認に用いる確認リクエストを発行する発行部と、確認リクエストに応じた処理を行い、処理の完了応答を発行部に返す処理部と、自身の発行部から受信した確認リクエストを次段の情報処理装置に送信する制御部とを有する。制御部は、さらに前段の情報処理装置から受信したリクエストが、確認リクエストとは異なる他の情報処理装置へのリクエストである場合、次段の情報処理装置に送信し、他の情報処理装置への確認リクエストである場合、該確認リクエストと自身のメモリに対するリクエストとを受信した順序で出力するようにして次段の情報処理装置に送信し、自身への確認リクエストである場合、処理部に送信する。
発明の一態様においては、環状のバスであるリングバスを介して接続される複数の情報処理装置を有する情報処理システムにおいて、メモリライトリクエストの完了保証を高速に行うことが可能となる。
図1は、本実施形態における情報処理システムの構成例を示す図である。 図2は、本実施形態におけるクロスバ部の構成例を示す図である。 図3(A)〜図3(D)は、本実施形態におけるパケットの例を示す図である。 図4は、本実施形態におけるメモリライト処理完了の確認方法を説明する図である。 図5は、本実施形態におけるメモリライト動作の例を示すフローチャートである。 図6は、本実施形態における情報処理システムの動作例を示すフローチャートである。 図7は、メモリに対するライトリクエストの完了保証がない場合の処理例を示す図である。 図8は、リングバスを適用した情報処理システムの例を示す図である。 図9は、図8に示した情報処理システムでのメモリライト動作の例を示すフローチャートである。
以下、本発明の実施形態を図面に基づいて説明する。
図1は、本発明の一実施形態における情報処理システムの構成例を示すブロック図である。本実施形態における情報処理システムは、複数のノードを環状に接続するリングバスを介して接続される複数の情報処理装置としてのノード10を有する。なお、図1には、8つのノード10−A〜10−Hがリングバスを介して接続される構成を示しているが、これに限定されるものではなく、リングバスを介して接続されるノードの数は任意の複数である。
各ノード10は、CPU(Central Processing Unit)11、メモリ12、メモリコントローラ13、及びクロスバ部(XB)14を有する。なお、図1においては、説明の便宜上、各ノード10が有する機能部として、CPU11、メモリ12、メモリコントローラ13、及びクロスバ部(XB)14を示したが、他の機能部を有していてもよい。
CPU11は、演算処理を行ったりリクエストを発行したりする。また、CPU11は、自身が発行したメモリライトアクセスに応じたメモリライト処理完了の確認に使用する確認用レジスタ15を有する。メモリコントローラ13は、受信したリクエストに応じて、メモリ12に対しデータの書き込み(データライト)や読み出し(データリード)を行う。クロスバ部(XB)14は、リングバスを介して伝送されるリクエスト等のパケットの宛先判定を行い、パケットの伝送制御を行う。
本実施形態における情報処理システムにおいて、各ノード10内のCPU11が、自ノードのメモリ12及び他ノードのCPU11、メモリ12へアクセスする際には、クロスバ部(XB)14を経由する。また、クロスバ部(XB)14同士がリング状に接続されており、あるノード10から発行されたリクエストは単方向(一方の方向のみ)に伝搬する。本実施形態では、ノードA、B、C、D、E、F、G、H、A、・・・の方向に伝搬するものとするが、逆であってもよい。また、発行元が同じリクエストは順序通り転送され、システム内部ではリクエストの追い越しは発生しない。
本実施形態におけるCPU11は、自ノードのメモリ12及び他ノードのCPU11、メモリ12に対するリクエストに加え、自ノードの確認用レジスタ15に対するリクエストが発行可能である。確認用レジスタ15に対するリクエストは、自身が発行した先行のメモリに対するリクエストを追い抜かずにリングバスを1周して自ノードに返ってくる。CPU11は、1つ又は複数のメモリライトアクセスを発行した後、確認用レジスタ15に対するリクエストを1つ発行し、リングバスを1周した確認用レジスタ15に対するリクエストに応じた確認用レジスタ15へのアクセスの完了応答により、自身が発行したメモリライトリクエストのメモリライト処理完了を確認する。
図2は、本実施形態におけるクロスバ部(XB)14の構成例を示す図である。クロスバ部(XB)14は、4つの転送部101、102、103、104、及び4つの調停部111、112、113、114を有する。転送部101〜104は、リクエスト等のパケット内の宛先(発行先)情報に基づいてパケットを転送する。なお、転送部101〜104は、1つのパケットを1つの転送先に転送し、複数の転送先に転送することはない。調停部111〜114は、パケット同士の調停を取って、決められた配送先にパケットを配送する。調停部111〜114は、自身のバッファ(キュー)に格納された順序に従ってパケットを出力する。
第1の転送部101は、自ノードのCPU11からのパケットを自ノードのメモリコントローラ13又は次段の(1つ後の)他ノードに転送するための回路である。第1の転送部101は、パケットの宛先が自ノードのメモリコントローラ13又は自ノードの確認用レジスタ15である場合、パケットを第2の調停部112へ転送し、パケットの宛先が他ノードである場合、パケットを第3の調停部113へ転送する。
第2の転送部102は、前段の(1つ前の)他ノードからのパケットを自ノードのCPU11、自ノードのメモリコントローラ13、及び次段の他ノードのいずれかに転送するための回路である。第2の転送部102は、パケットの宛先が自ノードのCPU11又は自ノードの確認用レジスタ15である場合、パケットを第1の調停部111へ転送し、パケットの宛先が自ノードのメモリコントローラ13又は他ノードの確認用レジスタ15である場合、パケットを第2の調停部112へ転送し、パケットの宛先が他ノードである場合、パケットを第3の調停部113へ転送する。
第3の転送部103は、自ノードのメモリコントローラ13からのパケットを自ノードのCPU11又は次段の他ノードに転送するための回路である。第3の転送部103は、パケットの宛先が自ノードのCPU11である場合、パケットを第1の調停部111へ転送し、パケットの宛先が他ノードである場合、パケットを第3の調停部113へ転送する。
第4の転送部104は、第2の調停部112からのパケットを自ノードのメモリコントローラ13又は次段の他ノードに転送するための回路である。第4の転送部104は、パケットの宛先が自ノードのメモリコントローラ13である場合、パケットを自ノードのメモリコントローラ13へ転送し、パケットの宛先が自ノードの確認用レジスタ15又は他ノードである場合、パケットを第4の調停部114へ転送する。
第1の調停部111は、自身のバッファ(キュー)に格納された自ノードのメモリコントローラ13からのパケットと前段の他ノードからのパケットとの調停を取って自ノードのCPU11へ配送する。第2の調停部112は、自身のバッファ(キュー)に格納された自ノードのCPU11からのパケットと前段の他ノードからのパケットとの調停を取って第4の転送部104へ配送する。
第3の調停部113は、自身のバッファ(キュー)に格納された自ノードのCPU11からのパケットと自ノードのメモリコントローラ13からのパケットと前段の他ノードからのパケットとの調停を取って第4の調停部114へ配送する。第4の調停部114は、自身のバッファ(キュー)に格納された第4の転送部114からのパケットと第3の調停部113からのパケットとの調停を取って次段の他ノードに配送する。
図3は、本実施形態において伝送されるパケットの例を示す図である。図3(A)に示すデータが1サイクル目に伝送され、図3(B)に示すデータが2サイクル目に伝送される。また、図3(C)に示すデータが1サイクル目に伝送され、図3(D)に示すデータが2サイクル目に伝送される。
タグ(TAG)フィールドには、パケット種を示す情報が格納される。タグフィールドの情報により、ライトパケットのヘッダであるのかリードパケットのヘッダであるのかや、何サイクル目の情報であるかを判断することが可能である。ノードID(Node−ID)フィールドには、パケットの宛先のノードを示す情報が格納される。モジュールID(Module−ID)フィールドには、パケットの宛先がノード内のCPUであるのかメモリコントローラであるのかクロスバ部であるのかを示す情報が格納され、サブID(Sub−ID)フィールドには、パケットの宛先が確認用レジスタであるか否かを示す情報が格納される。
クロスバ部(XB)14の転送部101〜104は、例えばタグフィールドの情報により1サイクル目のライトパケットであることを判断し、ノードIDフィールド、モジュールIDフィールド、及びサブIDフィールドの情報からパケットの宛先を判定してパケットを転送する。なお、データ長フィールドにはデータ長を示す情報が格納される。また、アドレスフィールドには、アクセス先のアドレスを示す情報が格納され、データフィールドにはアクセスに係るデータが格納される。
次に、本実施形態における情報処理システムの動作について説明する。以下では、図4に示すように、ノードAのCPU11−Aが、ノードB〜Hのメモリ12−B〜12−Hに対するデータのライトリクエスト(書き込み要求)を発行し、メモリライト処理の完了を確認する場合の動作を例に説明する。図5は、本実施形態における情報処理システムでのメモリライト動作の例を示すフローチャートである。
まず、ステップS501にて、ノードAのCPU11−Aは、データを書き込むメモリに対するPostedメモリライトリクエストを発行する。ステップS501の処理は、ステップS502にて、ノードAのCPU11−Aが、データの書き込みを行う対象のすべてのメモリに対してリクエストを発行済みであると判断するまで繰り返される。
この例では、ノードB〜Hのメモリ12−B〜12−Hに対する7つのPostedメモリライトリクエスト(図4に示す401〜407)を発行する。なお、Postedメモリライトリクエストは、リクエストを受信したメモリコントローラ13からリクエストの発行元に対してライト完了応答を返さないリクエストである。
対象のすべてのメモリに対してメモリライトリクエストを発行した後、ステップS503にて、ノードAのCPU11−Aは、自身の確認用レジスタ15に対するNon−Postedレジスタライトリクエストを発行する。このレジスタライトリクエストは、自ノードA内のレジスタへのアクセスを要求するものであるが、自ノードA外に発行される。
そして、ノードA11−Aから発行された確認用レジスタ15に対するレジスタライトリクエストは、ノードB〜Hの各ノードのクロスバ部(XB)14において、メモリコントローラ13宛てのパケット(リクエスト)の調停を行う第2の調停部112を経由してリングバスを1周し、ノード11−Aへ返ってくる。リングバスを1周してノード11−Aへ返ってきたレジスタライトリクエストに応じて確認用レジスタ15に対するライトアクセスが実行され、ステップS504にて、ノードAのCPU11−Aが、確認用レジスタ15からのライト完了応答を確認すると動作を終了する。
ここで、本実施形態では、発行元が同じリクエストは順序通り転送され、システム内部ではリクエストの追い越しは発生しないので、確認用レジスタ15に対するレジスタライトリクエストがリングバスを1周まわって元のノード(この例ではノードA)に到達したときには、それより前に発行したメモリライトリクエストはすべて完了していることとなる。したがって、確認用レジスタ15に対するNon−Postedレジスタライトリクエストのライト完了応答を確認することで、自身が発行したメモリライトリクエストのメモリライト処理完了を確認することができ、メモリライトリクエストの完了保証を高速に行うことが可能になる。また、少ないトラフィック数で高速なメモリライトリクエストの完了保証を実現できることで、伝送経路のトラフィックを削減することができ、情報処理システムの性能を向上させることができる。
図6を参照して、本実施形態における情報処理システムでのクロスバ部(XB)14等の動作について説明する。ステップS601にて、あるノードのCPU11がリクエストを生成する。このとき、そのCPU11は、ステップS602にて、生成するリクエストが自身が過去に発行したメモリライトアクセスの完了確認用のリクエストであるか否かを判断する。
判断の結果、生成するリクエストがメモリライトアクセスの完了確認用のリクエストであれば、ステップS603にて、CPU11は、自CPU11内の確認用レジスタ15を宛先に設定したNon−Postedレジスタライトリクエストを生成して自ノードのクロスバ部(XB)14へ発行する。また、生成するリクエストがメモリライトアクセスの完了確認用のリクエストでなければ、ステップS604にて、CPU11は、リクエストの発行先を宛先にしたリクエストを生成して自ノードのクロスバ部(XB)14へ発行する。
次に、ステップS605にて、自ノードのクロスバ部(XB)14内の第1の転送部101は、自ノードのCPU11から発行されたパケット(リクエスト)の宛先を判別する。このとき、クロスバ部(XB)14内の第1の転送部101は、ステップS606にて、パケットの宛先が自ノードの確認用レジスタ15であるか否かを判別する。
ステップ606での判別の結果、パケットの宛先が自ノードの確認用レジスタ15でないと判別した場合には、ステップS607にて、指定された宛先へパケットが配送されるように各ノードのクロスバ部(XB)14を制御して指定された宛先へパケットを配送する。一方、パケットの宛先が自ノードの確認用レジスタ15であると判別した場合には、ステップS608にて、クロスバ部(XB)14内の第1の転送部101は、第2の調停部112へパケットを転送する。
続いて、ステップS609にて、クロスバ部(XB)14内の第2の調停部112は、ステップS608において転送されたパケットが第4の転送部104へ配送可能であるか否かを判断する。その結果、第4の転送部104へ配送可能と判断されるまで、ステップS609の処理を継続し、第4の転送部104へ配送可能と判断されるとパケットを第4の転送部104へ配送する。
次に、ステップS610にて、第4の転送部104がパケット(リクエスト)の宛先が確認用レジスタ15であると判別すると、ステップS611にて、第4の転送部104は、そのパケットを第4の調停部114へ転送する。続いて、ステップS612にて、第4の調停部114は、パケットの調整を行って、次段の(1つ後の)ノードのクロスバ部(XB)14へ配送する。
前段の(1つ前の)他ノードからパケット(リクエスト)を受信した第2の転送部102は、ステップS613にて、リクエストの宛先が自ノードであるか否かを判別する。その結果、宛先が自ノードでない場合(S614のNO)にはステップS606へ戻り、前述した処理を繰り返す。
一方、ステップS614での判別の結果、リクエストの宛先が自ノードである場合、すなわちリングバスを1周して戻ってきた場合、ステップS615へ進み、第2の転送部102は、自ノードの第1の調停部111へパケットを転送する。そのノードでは、ステップS616にて、第1の調停部111がパケットの調停を取って、自ノードのCPU11へリクエストを配送する。そして、自ノードのCPU11において確認用レジスタ15へのライトアクセスの完了応答が返り、自ノードのCPU11は、メモリライトアクセス処理の完了を確認することができる。
なお、前述した例では、CPU11が有する確認用レジスタ15に対するレジスタライトリクエストの完了応答により、先行して発行したメモリアクセスの処理完了を確認するようにしている。しかし、これに限定されるものではなく、例えば、確認用レジスタ15からの完了応答があれば良いので、確認用レジスタ15に対するNon−Postedレジスタリードアクセスを発行し、その完了応答によりメモリアクセスの処理完了を確認するようにすることも可能である。また、確認用レジスタ15に対するアクセスの完了ではなく、データ書き込みを行うメモリライトリクエストの後に、完了応答の通知を確認するためのメモリアクセスのリクエストを発行しても同様の効果を得ることができる。
なお、前記実施形態は、何れも本発明を実施するにあたっての具体化のほんの一例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその技術思想、またはその主要な特徴から逸脱することなく、様々な形で実施することができる。
10 ノード(情報処理装置)
11 CPU
12 メモリ
13 メモリコントローラ
14 クロスバ部
15 確認用レジスタ
101〜104 転送部
111〜114 調停部

Claims (7)

  1. 環状のバスであるリングバスを介して接続される複数の情報処理装置を有する情報処理システムにおいて、
    前記情報処理装置は、
    メモリと、
    前記複数の情報処理装置が有するメモリに対するライトリクエストを発行し、前記ライトリクエストの発行後に該ライトリクエストの完了確認に用いる確認リクエストを発行する発行部と、
    前記確認リクエストに応じた処理を行い、前記処理の完了応答を前記発行部に返す処理部と、
    自身の前記発行部から受信した前記確認リクエストを次段の情報処理装置に送信し、前段の情報処理装置から受信したリクエストが、前記確認リクエストとは異なる他の情報処理装置へのリクエストである場合、次段の情報処理装置に送信し、他の情報処理装置への前記確認リクエストである場合、該確認リクエストと自身の前記メモリに対するリクエストとを受信した順序で出力するようにして次段の情報処理装置に送信し、自身への前記確認リクエストである場合、前記処理部に送信する制御部とを有することを特徴とする情報処理システム。
  2. 前記制御部は、
    前記確認リクエストと自身の前記メモリに対するリクエストとの調停をとって、受信した順序で出力する調停回路と、
    前記調停回路から出力されたリクエストを受けて、該リクエストが前記確認リクエストである場合、次段の情報処理装置に転送する第1の転送回路と、
    前段の情報処理装置からのリクエストを受信し、受信したリクエストが他の情報処理装置への前記確認リクエスト又は自身の前記メモリに対するリクエストである場合、前記調停回路に転送し、受信したリクエストが自身への前記確認リクエストである場合、前記処理部に転送する第2の転送回路とを有することを特徴とする請求項1記載の情報処理システム。
  3. 前記確認リクエストは、自身が有するレジスタへのアクセスリクエストであることを特徴とする請求項1又は2記載の情報処理システム。
  4. 前記確認リクエストは、自身の前記メモリへのアクセスリクエストであることを特徴とする請求項1又は2記載の情報処理システム。
  5. 前記メモリに対するライトリクエストは、完了応答なしのリクエストであることを特徴とする請求項1〜4の何れか1項に記載の情報処理システム。
  6. 環状のバスであるリングバスを介して他の情報処理装置に接続される情報処理装置において、
    メモリと、
    各情報処理装置が有するメモリに対するライトリクエストを発行し、前記ライトリクエストの発行後に該ライトリクエストの完了確認に用いる確認リクエストを発行する発行部と、
    前記確認リクエストに応じた処理を行い、前記処理の完了応答を前記発行部に返す処理部と、
    前記発行部から受信した前記確認リクエストを前記リングバスを介して接続される次段の情報処理装置に送信し、前記リングバスを介して接続される前段の情報処理装置から受信したリクエストが、前記確認リクエストとは異なる他の情報処理装置へのリクエストである場合、前記リングバスを介して接続される次段の情報処理装置に送信し、他の情報処理装置への前記確認リクエストである場合、該確認リクエストと自身の前記メモリに対するリクエストとを受信した順序で出力するようにして前記リングバスを介して接続される次段の情報処理装置に送信し、自身への前記確認リクエストである場合、前記処理部に送信する制御部とを有することを特徴とする情報処理装置。
  7. 環状のバスであるリングバスを介して接続される複数の情報処理装置を有する情報処理システムの制御方法において、
    前記複数の情報処理装置の内の第1の情報処理装置の発行部が、前記複数の情報処理装置が有するメモリに対するライトリクエストを発行し、前記ライトリクエストの発行後に該ライトリクエストの完了確認に用いる確認リクエストを発行し、
    前記第1の情報処理装置の制御部が、前記発行部からの前記確認リクエストを次段の情報処理装置に送信し、
    前記第1の情報処理装置とは異なる前記複数の情報処理装置の各々の制御部が、前段の情報処理装置から受信したリクエストが、前記確認リクエストとは異なる他の情報処理装置へのリクエストである場合、次段の情報処理装置に送信し、他の情報処理装置への前記確認リクエストである場合、該確認リクエストと自身の前記メモリに対するリクエストとを受信した順序で出力するようにして次段の情報処理装置に送信し、
    前記第1の情報処理装置の前記制御部が、前段の情報処理装置から受信した自身への前記確認リクエストを前記第1の情報処理装置の処理部に送信し、
    前記第1の情報処理装置の前記処理部が、前記確認リクエストに応じた処理を行い、前記処理の完了応答を前記第1の情報処理装置の前記発行部に返すことを特徴とする情報処理システムの制御方法。
JP2017131270A 2017-07-04 2017-07-04 情報処理システム、情報処理装置、及び情報処理システムの制御方法 Active JP6853479B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2017131270A JP6853479B2 (ja) 2017-07-04 2017-07-04 情報処理システム、情報処理装置、及び情報処理システムの制御方法
US16/003,164 US10599347B2 (en) 2017-07-04 2018-06-08 Information processing system, information processing apparatus, and method for controlling information processing system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017131270A JP6853479B2 (ja) 2017-07-04 2017-07-04 情報処理システム、情報処理装置、及び情報処理システムの制御方法

Publications (2)

Publication Number Publication Date
JP2019016054A JP2019016054A (ja) 2019-01-31
JP6853479B2 true JP6853479B2 (ja) 2021-03-31

Family

ID=64903208

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017131270A Active JP6853479B2 (ja) 2017-07-04 2017-07-04 情報処理システム、情報処理装置、及び情報処理システムの制御方法

Country Status (2)

Country Link
US (1) US10599347B2 (ja)
JP (1) JP6853479B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7358878B2 (ja) * 2019-09-25 2023-10-11 日本電気株式会社 データ転送システム、データ転送方法、及び、データ転送プログラム
GB2596102B (en) 2020-06-17 2022-06-29 Graphcore Ltd Processing device comprising control bus
GB2596103B (en) 2020-06-17 2022-06-15 Graphcore Ltd Dual level management

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5155858A (en) * 1988-10-27 1992-10-13 At&T Bell Laboratories Twin-threshold load-sharing system with each processor in a multiprocessor ring adjusting its own assigned task list based on workload threshold
JP3740483B2 (ja) * 2002-10-18 2006-02-01 キヤノン株式会社 電子機器およびその異常を診断する方法
US7206922B1 (en) * 2003-12-30 2007-04-17 Cisco Systems, Inc. Instruction memory hierarchy for an embedded processor
JP2007148753A (ja) * 2005-11-28 2007-06-14 Seiko Epson Corp マルチプロセッサシステム
US8185683B2 (en) * 2006-03-10 2012-05-22 Sony Corporation Bridge, information processing system, and access control method
JP2008066971A (ja) * 2006-09-06 2008-03-21 Olympus Corp データ処理装置
JP5414506B2 (ja) 2009-12-18 2014-02-12 キヤノン株式会社 データ処理装置、データ処理方法、及びプログラム
JP6471021B2 (ja) * 2015-03-30 2019-02-13 本田技研工業株式会社 通信システム

Also Published As

Publication number Publication date
US10599347B2 (en) 2020-03-24
JP2019016054A (ja) 2019-01-31
US20190012102A1 (en) 2019-01-10

Similar Documents

Publication Publication Date Title
US11461617B2 (en) Neural network device
JP6853479B2 (ja) 情報処理システム、情報処理装置、及び情報処理システムの制御方法
JP4818920B2 (ja) 複数のプログラム可能なプロセッサを有する集積データ処理回路
US8285903B2 (en) Requests and data handling in a bus architecture
US10282343B2 (en) Semiconductor device
US7773618B2 (en) System and method for preventing deadlock in richly-connected multi-processor computer system using dynamic assignment of virtual channels
JP2006293969A (ja) データ転送装置
JP5821624B2 (ja) 通信制御装置、並列計算機システム及び通信制御方法
KR100905802B1 (ko) 컴퓨터 시스템의 입력/출력 노드에서 태깅 및 중재 매카니즘
JP2019091333A (ja) データ転送装置、演算処理装置及びデータ転送方法
JP5014362B2 (ja) 情報処理装置及びその制御方法、コンピュータプログラム
JP2007034392A (ja) 情報処理装置及びデータ処理方法
JP2008541276A (ja) 同時読み出し応答確認拡張ダイレクト・メモリ・アクセス・ユニット
KR20040054722A (ko) 컴퓨터 시스템 i/o 노드
EP2405362B1 (en) A connection arrangement
JP4104939B2 (ja) マルチプロセッサシステム
US11621923B2 (en) Queueing system with head-of-line block avoidance
JP2024500477A (ja) ネットワーク通信リンク上の要求パケットのためのタグ
JP2013196509A (ja) 情報処理装置及びその制御方法
JP3683211B2 (ja) ノード間データ転送方法及びノード間データ転送装置
JP2007214981A (ja) データ転送回路、それを利用したマルチプロセッサシステム、及びデータ転送方法
JP4708901B2 (ja) データ処理モジュール及びそのメッセージの送信準備方法
JP3659345B2 (ja) バス・システム及び信号伝送方法
JP2020519996A5 (ja)
JP2020191520A (ja) 撮像装置及び撮像装置の制御方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200310

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20210121

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210222

R150 Certificate of patent or registration of utility model

Ref document number: 6853479

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150