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

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

Info

Publication number
JP2018182688A
JP2018182688A JP2017084451A JP2017084451A JP2018182688A JP 2018182688 A JP2018182688 A JP 2018182688A JP 2017084451 A JP2017084451 A JP 2017084451A JP 2017084451 A JP2017084451 A JP 2017084451A JP 2018182688 A JP2018182688 A JP 2018182688A
Authority
JP
Japan
Prior art keywords
divided data
data
information processing
information
packet
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
JP2017084451A
Other languages
English (en)
Other versions
JP6822297B2 (ja
Inventor
新哉 平本
Shinya Hiramoto
新哉 平本
祐史 近藤
Yuji Kondo
祐史 近藤
雄一郎 安島
Yuichiro Yasujima
雄一郎 安島
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 JP2017084451A priority Critical patent/JP6822297B2/ja
Priority to US15/944,278 priority patent/US10609188B2/en
Publication of JP2018182688A publication Critical patent/JP2018182688A/ja
Application granted granted Critical
Publication of JP6822297B2 publication Critical patent/JP6822297B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/324Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the data link layer [OSI layer 2], e.g. HDLC
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/36Flow control; Congestion control by determining packet size, e.g. maximum transfer unit [MTU]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • H04L49/9057Arrangements for supporting packet reassembly or resequencing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

【課題】 転送対象データを分割した各分割データをそれぞれ含む複数のパケットを複数の経路を介して転送する場合に、最終の分割データの受信順序にかかわりなく全ての分割データを受信したことを保証する。【解決手段】 情報処理装置が有する通信装置の受信部は、分割データのいずれかと、分割データの数を示す分割数情報と、最終分割データを含むかを示す最終データ情報とをそれぞれ含む複数のパケットを他の情報処理装置からそれぞれ受信する。通信装置の処理部は、受信部が受信したパケットに含まれる分割データを記憶装置に格納するとともに、受信部が受信したパケットに含まれる分割数情報と最終データ情報とに基づいて、最終分割データを他の分割データのいずれかより先に受信したことを判定した場合、分割数情報が示す数の分割データを受信部が受信するまで最終分割データの記憶装置への格納を抑止する。【選択図】 図1

Description

本発明は、情報処理装置、情報処理システムおよび情報処理システムの制御方法に関する。
パケットを使用した通信において、送信するデータのサイズが1つのパケットに格納可能なサイズを超える場合、データは、複数のパケットに分割されて送信される。複数に分割された分割後の各分割データをそれぞれ含む複数のパケットの各々は、データ毎に共通の値と、パケットの順序を示す情報と、最後のパケットであるかを示す情報とを含む(例えば、特許文献1参照)。
また、データを複数のパケットに分割して送信する場合、パケットを送信する送信ノードは、パケットを受信する受信ノードで正常な受信を確認するための確認情報を各パケットに付加して送信する。受信ノードは、確認情報に基づいてパケットを正常に受信したかを確認する(例えば、特許文献2参照)。
一方、複数の経路を介してパケットを転送する場合、パケットの到着順を保証するインオーダ方式による転送と、パケットの到着順を保証しないアウトオブオーダ方式による転送とを識別するフラグをパケットに付加することで、インオーダ方式とアウトオブオーダ方式とによる通信が実行可能になる。例えば、インオーダ方式による通信では、シーケンス番号を順次インクリメントしてパケットが送信され、アウトオブオーダ方式による通信では、シーケンス番号を固定してパケットが送信される(例えば、特許文献3参照)。
特開平10−341247号公報 特開2001−202345号公報 米国特許第6,493,343号明細書
データを複数の分割データに分割し、分割された各分割データをそれぞれ含むパケットを複数の経路を介して受信ノードに向けて送信する場合、受信ノードでのパケットの到着順は保証されない。このため、受信ノードは、最終の分割データを含むパケットを受信した後に他の分割データを含むパケットを受信する場合がある。受信ノードが、最終の分割データの受信に基づいて全ての分割データの受信を判断し、分割データを使用してデータ処理等を開始する場合、未受信の分割データが存在すると、データ処理は正常に実行できない。
1つの側面では、本発明は、転送対象データを分割した各分割データをそれぞれ含む複数のパケットを、複数の経路を介してそれぞれ転送する場合に、最終の分割データの受信順序にかかわりなく全ての分割データを受信したことを保証することを目的とする。
一つの実施態様では、演算処理を実行する演算処理装置と、データを記憶する記憶装置と、複数の経路を介して接続される他の情報処理装置との間でパケットを転送する通信装置とを有する情報処理装置において、通信装置は、転送の対象である転送対象データを分割した分割データのいずれかと、複数の分割データの数を示す分割数情報と、複数の分割データのうち最後に分割された最終分割データを含むかを示す最終データ情報とをそれぞれ含む複数のパケットを他の情報処理装置からそれぞれ受信する受信部と、受信部がそれぞれ受信したパケットに含まれる分割データを記憶装置にそれぞれ格納するとともに、受信部がそれぞれ受信したパケットに含まれる分割数情報と最終データ情報とに基づいて、最終分割データを他の分割データのいずれかより先に受信したことを判定した場合、分割数情報が示す数の分割データを受信部が受信するまで最終分割データの記憶装置への格納を抑止する処理部とを有する。
1つの側面では、本発明は、転送対象データを分割した各分割データをそれぞれ含む複数のパケットを、複数の経路を介してそれぞれ転送する場合に、最終の分割データの受信順序にかかわりなく全ての分割データを受信したことを保証することができる。
情報処理装置、情報処理システムおよび情報処理システムの制御方法の一実施形態を示す図である。 図1に示す情報処理システムにおけるネットワーク構成の一例を示す図である。 図1に示す情報処理システムで使用されるパケットのフォーマットの一例を示す図である。 図1に示す情報処理システムにおけるパケットの送信動作の一例を示す図である。 図1に示す情報処理システムにおけるパケットの受信動作の一例を示す図である。 図5に示すパケットの受信動作の続きを示す図である。 図1に示す情報処理システムの動作の一例を示す図である。 図1に示す各ノードにおけるパケットの受信フローの一例を示す図である。 情報処理システムの別の実施形態における動作の一例を示す図である。 図9に示すノードND2におけるパケットの受信フローの一例を示す図である。 情報処理装置、情報処理システムおよび情報処理システムの制御方法の別の実施形態を示す図である。 図11に示す情報処理システムで使用されるパケットのフォーマットの一例を示す図である。 図11に示す情報処理システムにおけるパケットの送信動作の一例を示す図である。 図11に示す情報処理システムにおけるパケットの受信動作の一例を示す図である。 図14に示すパケットの受信動作の続きを示す図である。 図11に示す情報処理システムの動作の一例を示す図である。 図11に示す各ノードにおけるパケットの受信フローの一例を示す図である。
以下、図面を用いて実施形態を説明する。
図1は、情報処理装置、情報処理システムおよび情報処理システムの制御方法の一実施形態を示す。図1に示す情報処理システム100は、複数の経路NPを介して互いに接続される複数の情報処理装置10を有する。各情報処理装置10は、CPU(Central Processing Unit)等のプロセッサ20、主記憶装置30およびネットワークインタフェース40を有する。プロセッサ20、主記憶装置30およびネットワークインタフェース40は、バスBUSを介して相互に接続される。
プロセッサ20は、例えば、主記憶装置30に保持されたプログラムを実行することで動作し、主記憶装置30に保持されたデータを使用して演算処理等を実行する。主記憶装置30は、データおよびプログラム等を記憶する。なお、プロセッサ20の代わりに、プロセッサコアが配置されてもよい。
ネットワークインタフェース40は、複数の経路NPを介して接続される他の情報処理装置10との間でパケットPKTを転送する。以下の説明では、情報処理装置10は、ノードND(ND1、ND2)とも称される。プロセッサ20は、演算処理を実行する演算処理装置の一例であり、主記憶装置30は、データを記憶する記憶装置の一例であり、ネットワークインタフェース40は、通信装置の一例である。
ネットワークインタフェース40は、パケット生成部50、送信部60、受信部70および受信処理部80を有する。受信処理部80は、処理部の一例である。パケット生成部50は、パケットPKTを生成し、生成したパケットPKTを送信部60に出力する。パケット生成部50は、転送の対象である転送対象データのサイズが、パケットPKTに格納可能なサイズを超える場合、転送対象データを分割した複数の分割データの各々を含むパケットPKTを生成し、生成したパケットPKTを送信部60に出力する。
送信部60は、パケット生成部50から出力される複数のパケットPKTの各々を保持する複数の送信バッファ62を有し、送信バッファ62に保持したパケットPKTを、パケットPKTの送信先のノードNDに送信する。パケット生成部50および送信部60の動作の詳細は、図4に示される。
受信部70は、複数の受信バッファ72を有し、他のノードNDが送信するパケットPKTを受信し、受信したパケットPKTに含まれる分割データおよび各種情報を受信バッファ72に格納する。受信処理部80は、受信バッファ72に保持された分割データを主記憶装置30に格納する。受信部70および受信処理部80の動作の詳細は、図5から図8に示される。
なお、ネットワークインタフェース40は、受信したパケットPKTの宛先が自ノードNDでない場合、パケットPKTを宛先のノードNDに向けて転送する中継ノードとして機能する。パケットPKTの中継処理は、図示しないインタコネクト部により実行される。
図2は、図1に示す情報処理システム100におけるネットワーク構成の一例を示す。図1に示す情報処理システム100は、メッシュ型の2次元ネットワークにより相互に接続された複数のノードNDを有し、例えば、並列計算機として動作する。なお、ネットワークの次元数、ネットワークのトポロジ(メッシュ、トーラス等)およびネットワークに接続されるノードNDの数は、図2に限定されない。例えば、図1に示すノードND1、ND2は、図2の左下のノードNDと図2の右上のノードNDであり、ノードND1、ND2は、複数の経路NPを経路を介して接続される。
図3は、図1に示す情報処理システム100で使用されるパケットPKTのフォーマットの一例を示す。パケットPKTは、パケットヘッダPHEADとデータが格納されるペイロードPYLDとを含む。パケットヘッダPHEADは、パケットタイプTYPEと、分割数情報Dnと、最終データ情報Lとを格納する領域を含む。
パケットタイプTYPEの領域には、例えば、要求パケットまたは応答パケット等のパケットの種別を識別する情報が格納される。分割数情報Dnの領域には、転送対象データを複数の分割データに分割して転送する場合の分割数(すなわち、分割データの数)が格納される。最終データ情報Lの領域には、最終の分割データである最終分割データを含む場合に”1”に設定され、最終分割データ以外の分割データを含む場合に”0”に設定される。転送対象データを分割せずに転送する場合、分割数情報Dnは”1”に設定され、最終データ情報Lは”1”に設定される。なお、最終分割データは、最後に分割される分割データである。
なお、パケットヘッダPHEADは、図3に示す以外にも、パケットPKTの送信元を識別する送信元情報を格納する領域と、パケットPKTの送信先を識別する送信先情報を格納する領域とを有する。また、パケットPKTがデータを含む場合、パケットヘッダPHEADは、データのサイズを格納する領域と、データの転送先のアドレスを格納する領域とを有する。データの転送先のアドレスは、パケットPKTの転送先のノードNDの主記憶装置30においてデータを格納する記憶領域32のアドレス(先頭アドレス)である。
図4は、図1に示す情報処理システム100におけるパケットPKTの送信動作の一例を示す。以下では、転送対象データは、メッセージMSGとも称される。図4に示す例では、メッセージMSGは、6つの分割データDDT(DDT−A、DDT−B、DDT−C、DDT−D、DDT−E、DDT−F)に分けて、ノードND1からノードND2に転送される。ノードND1は、パケットの送信元の第1の情報処理装置の一例であり、ノードND2は、パケットの送信先の第2の情報処理装置の一例である。
まず、ノードND1のパケット生成部50は、主記憶装置30に保持された分割データDDTを順次読み出す。パケット生成部50は、読み出した分割データDDTと、分割数情報Dnと、最終データ情報Lとを含むパケットPKT(PKT−A、PKT−B、PKT−C、PKT−D、PKT−E、PKT−F)を順次生成する。
メッセージMSGは、6つに分割されて転送されるため、各パケットPKTの分割数情報Dnは、”6”に設定される。また、最終分割データDDT−Fを含むパケットPKT−Fの最終データ情報Lは、”1”に設定され、最終分割データDDT−F以外の分割データDDTを含むパケットPKTの最終データ情報Lは、”0”に設定される。そして、パケット生成部50は、生成したパケットPKTを送信部60の送信バッファ62に順次格納する。
送信部60は、送信バッファ62に格納されたパケットPKTを複数の経路NPを介して、ノードND2に向けて順次送信する。複数のパケットPKTの各々を複数の経路NPのいずれに送信するかは、例えば、プロセッサ20により決められる。なお、図2に示すネットワーク内でのパケットPKTの転送経路は、ネットワークの混み具合または故障個所に基づいて、パケットPKTを中継するノードNDのネットワークインタフェース40により決められてもよい。
図5および図6は、図1に示す情報処理システム100におけるパケットPKTの受信動作の一例を示す。まず、ノードND2の受信部70は、パケットPKT−A、PKT−B、PKT−Cを順次受信する。受信部70は、受信したパケットPKT−A、PKT−B、PKT−Cの各々に含まれる分割データDDT−A、DDT−B、DDT−Cと、分割数情報Dnおよび最終データ情報L等の各種情報とを受信バッファ72に格納する(図示せず)。
パケットPKT−A、PKT−B、PKT−Cに含まれる最終データ情報Lは、”0”である。このため、受信処理部80は、パケットPKT−A、PKT−B、PKT−Cに含まれる分割データDDT−A、DDT−B、DDT−Cを受信した順次に主記憶装置30に格納する(図5(a))。
また、受信処理部80は、パケットPKTに含まれる分割数情報Dnが、”2”以上の分割数を示すため、受信部70によるパケットPKT−A、PKT−B、PKT−Cの受信数(=”3”)をカウントする。カウントした計数値で示される受信数は、各パケットPKTに含まれる分割数情報Dnが示す分割数(=”6”)より少ない。このため、受信処理部80は、メッセージMSGを分割した6つの分割データDDTのうち、3つの分割データDDTを含む3つのパケットPKTを受信していないと判断する。このように、パケットPKTの受信数をカウントした計数値を、各パケットPKTに含まれる分割数情報Dnが示す分割数と比較することで、メッセージMSGが様々な数に分割される場合にも、受信していない分割データDDTの有無を判定することができる。
次に、受信部70は、パケットPKT−Fを受信し、パケットPKT−Fに含まれる分割データDDT−Fと各種情報とを受信バッファ72に格納する。受信処理部80は、パケットPKT−Fに含まれる最終データ情報Lが”1”であるため、パケットPKT−Dに含まれる分割データDDT−Dが、メッセージMSG中の最終分割データであると判断する。また、受信処理部80は、受信部70によるパケットPKT−Fの受信に基づいて、パケットPKTの受信数をカウントアップして”4”に設定する。
受信処理部80は、パケットPKTの受信数(=”4”)が、分割数情報Dnが示す分割数”6”より少ないため、メッセージMSGを分割した分割データDDTを含む2つのパケットPKTを受信していないと判断する。このため、受信処理部80は、受信したパケットPKT−Fに含まれる分割データDDT−Fを主記憶装置30に格納せずに、受信バッファ72に保持させる。すなわち、受信処理部80は、未受信の分割データDDTがある場合、受信した最終分割データDDT−Fの主記憶装置30への格納を抑止する(図5(b))。
このように、受信処理部80は、最終データ情報Lと分割数情報Dnとに基づいて、メッセージMSGに対応する分割データDDTの主記憶装置30への格納を制御する。したがって、複数の経路NPを介して転送される複数のパケットPKTの到着順が保証されない場合にも、最終分割データDDT−Fが他の分割データDDTのいずれかより先に主記憶装置30に格納されることを抑止することができる。
次に、図6において、受信部70は、パケットPKT−D、PKT−Eを順次受信し、受信したパケットPKT−D、PKT−Eのそれぞれに含まれる分割データDDT−D、DDT−Eと各種情報とを受信バッファ72に格納する。受信処理部80は、受信部70によるパケットPKT−D、PKT−Eの受信に基づいて、パケットPKTの受信数をカウントアップして”6”に設定する。
受信処理部80は、パケットPKTの受信数(=”6”)が、分割数情報Dnが示す分割数”6”と一致するため、メッセージMSGを分割した分割データDDTを全て受信したと判断する(図6(a))。このため、受信処理部80は、まず、パケットPKT−D、PKT−Eに含まれる分割データDDT−D、DDT−Eを主記憶装置30に順次格納する(図6(b))。次に、受信処理部80は、パケットPKT−Fに含まれる最終分割データDDT−Fを主記憶装置30に格納し、メッセージMSGの受信処理を完了する。
以上により、複数の分割データDDTを複数の経路NPを介して転送することで分割データDDTの到着順序が保証されない場合にも、最終分割データDDT−Fを他の分割データDDTより後に主記憶装置30に格納することができる。したがって、最終分割データDDT−Fの主記憶装置30への格納によって、全ての分割データDDTが受信済みであることを保証することができる。換言すれば、複数の分割データDDTの各々をそれぞれ含む複数のパケットPKTを、複数の経路NPを介して転送する場合に、最終分割データDDT−Fの受信順序にかかわりなく全ての分割データDDTを受信したことを保証することができる。
ノードND2のプロセッサ20は、例えば、最終分割データDDT−Fが格納される主記憶装置30の記憶領域をモニタし、分割データDDT−Fが主記憶装置30に保持されたことを検出した場合、メッセージMSGを主記憶装置30から読み出す。すなわち、プロセッサ20は、最終分割データDDT−Fが主記憶装置30に保持されたことを検出することで、メッセージMSGの全体が受信されたことを確認することができる。そして、プロセッサ20は、読み出したメッセージMSGを使用してデータ処理を開始する。
例えば、受信処理部80が、受信部70で受信した順に分割データDDTを主記憶装置30に格納する場合、最終分割データDDT−Fは、分割データDDT−D、DDT−Eが主記憶装置30に格納される前に、主記憶装置30に格納される。この場合、プロセッサ20は、最終分割データDDT−Fが主記憶装置30に格納されたことに基づいて、分割データDDT−D、DDT−Eが格納される記憶領域から誤ったデータを読み出し、データ処理を開始してしまう。
換言すれば、最終分割データDDT−Fの主記憶装置30への格納を、他の全ての分割データDDTの受信が完了するまで抑止することで、プロセッサ20が誤ったデータを使用してデータ処理を実行することを抑止することができる。この結果、情報処理装置10および情報処理システム100の誤動作を抑止することができる。
図7は、図1に示す情報処理システム100の動作の一例を示す。まず、ノードND1のパケット生成部50は、分割データDDT−A、DDT−B、DDT−C、DDT−D、DDT−E、DDT−Fと、分割数情報Dnと、最終データ情報Lとを含む6つのパケットPKTを順次生成する(図7(a))。最終分割データDDT−Fを含むパケットPKT−Fは、最終データ情報L(=”1”)を含み、それ以外のパケットPKT−A、PKT−B、PKT−C、PKT−D、PKT−Eは、最終データ情報L(=”0”)を含む。また、全てのパケットPKT−A、PKT−B、PKT−C、PKT−D、PKT−E、PKT−Fは、分割数情報Dn(=”6”)を含む。送信部60は、パケットPKT−A、PKT−B、PKT−C、PKT−D、PKT−E、PKT−Fを、複数の経路NPを介して、ノードND2に向けて順次送信する(図7(b))。
ノードND2の受信部70は、最終データ情報L(=”0”)を含むパケットPKT−A、PKT−B、PKT−Cを順次受信する(図7(c))。受信処理部80は、最終データ情報L(=”0”)に基づいて、パケットPKT−A、PKT−B、PKT−Cが最終分割データDDT−Fを含まないと判断する。このため、受信処理部80は、パケットPKT−A、PKT−B、PKT−Cに含まれる分割データDDT−A、DDT−B、DDT−Cを主記憶装置30に順次格納する(図7(d))。
次に、受信部70は、最終データ情報L(=”1”)を含むパケットPKT−Fを受信する(図7(e))。受信処理部80は、最終データ情報L(=”1”)に基づいてパケットPKT−Fが最終分割データDDT−Fを含むと判断し、パケットPKT−Fに含まれる分割数情報Dn(=”6”)に基づいて、未受信のパケットPKTが2つあると判断する。このため、受信処理部80は、受信したパケットPKT−Fに含まれる分割データDDT−Fの主記憶装置30への格納を抑止する(図7(f))。
この後、受信部70は、パケットPKT−Dを受信する(図7(g))。パケットPKT−Dの受信は、パケットPKT−Dに含まれる分割数情報Dn(=”6”)より小さい5番目であるため、受信処理部80は、受信バッファ72に保持された分割データDDT−F、DDT−Dの主記憶装置30への格納を抑止する(図7(h))。
次に、受信部70は、パケットPKT−Eを受信する(図7(i))。パケットPKT−Eの受信は、パケットPKT−Eに含まれる分割数情報Dn(=”6”)と等しい6番目である。このため、受信処理部80は、メッセージMSGを分割した全ての分割データDDT−A、DDT−B、DDT−C、DDT−D、DDT−E、DDT−Fを受信したと判断する。そして、受信処理部80は、パケットPKT−Dに含まれる分割データDDT−Dと、パケットPKT−Eに含まれる分割データDDT−Eとを主記憶装置30に格納する(図7(j))。次に、受信処理部80は、パケットPKT−Fに含まれる最終分割データDDT−Fを主記憶装置30に順次格納する(図7(k))。この後、プロセッサ20は、最終分割データDDT−Fが主記憶装置30に保持されたことを検出することで、メッセージMSGの全体が受信されたことを確認する。そして、プロセッサ20は、分割データDDT−A、DDT−B、DDT−C、DDT−D、DDT−E、DDT−Fを使用して演算を実行することでデータ処理を開始する(図7(l))。
なお、受信部70が、送信部60が送信した順序でパケットPKT−A、PKT−B、PKT−C、PKT−D、PKT−E、PKT−Fを受信したとする。この場合、受信処理部80は、各パケットPKTに含まれる分割データDDT−A、DDT−B、DDT−C、DDT−D、DDT−E、DDT−Fを順次に主記憶装置30に格納する。すなわち、受信処理部80は、分割数情報Dn(=”6”)と等しい6番目に最終分割データDDT−Fを含むパケットPKT−Fを受信した場合、未受信のパケットPKTが存在しないと判断し、最終のデータDDT−Fを主記憶装置30に格納する。
図8は、図1に示す各ノードNDにおけるパケットPKTの受信フローの一例を示す。図8に示すフローは、メッセージMSG単位で実行される。
まず、ステップS10において、受信処理部80は、パケットPKTの受信数を示す変数Iを”0”にリセットする。変数Iは、カウンタの計数値として保持されてもよく、レジスタにより保持されてもよい。次に、ステップS12において、受信部70は、パケットPKTを受信するまで待ち、パケットPKTを受信した場合、動作をステップS14に移行する。
ステップS14において、受信部70は、受信したパケットを受信バッファ72に格納する。次に、ステップS16において、受信処理部80は、変数Iを”1”増加する。次に、ステップS18において、受信処理部80は、受信したパケットPKTに含まれる最終データ情報Lが”1”の場合、動作をステップS24に移行し、受信したパケットPKTに含まれる最終データ情報Lが”0”の場合、動作をステップS20に移行する。
ステップS20において、受信処理部80は、最終データ情報Lが”1”のパケットPKTを受信済みの場合、動作をステップS24に移行し、最終データ情報Lが”1”のパケットPKTを受信していない場合、動作をステップS22に移行する。すなわち、最終分割データDDTを受信済みの場合、動作はステップS24に移行され、最終分割データDDTを受信していない場合、動作はステップS22に移行される。
ステップS22において、受信処理部80は、受信バッファ72に保持された分割データDDTを主記憶装置30に格納し、動作をステップS12に戻す。一方、ステップS24において、受信処理部80は、変数Iが、受信したパケットPKTに含まれる分割数情報Dnに等しいか否かを判定する。変数Iが、受信したパケットPKTに含まれる分割数情報Dnに等しい場合、全ての分割データDDTが受信されたため、動作はステップS26に移行される。変数Iが、受信したパケットPKTに含まれる分割数情報Dnが示す数より小さい場合、未受信の分割データDDTがあるため、パケットPKTの受信動作を継続するために動作はステップS12に戻される。ステップS26において、受信処理部80は、受信バッファ72に保持された分割データDDTを主記憶装置30に格納し、メッセージMSGの受信動作を終了する。
以上、図1から図8に示す実施形態では、複数のパケットPKTの到着順が保証されない場合にも、最終分割データDDTの主記憶装置30への格納によって、全ての分割データDDTが受信済みであることを保証することができる。換言すれば、メッセージMSGを分割した複数の分割データDDTのいずれかをそれぞれ含む複数のパケットPKTを、複数の経路NPを介して転送する場合に、最終分割データDDTの受信順序にかかわりなく全ての分割データDDTを受信したことを保証することができる。したがって、メッセージMSGを処理するプロセッサ20は、最終分割データDDTが主記憶装置30に保持されたことを検出することで、メッセージMSGの全体が受信されたことを確認することができる。
最終分割データDDTの主記憶装置30への格納を、他の全ての分割データDDTの受信が完了するまで抑止することで、プロセッサ20が誤ったデータを使用してデータ処理を実行することを抑止することができる。この結果、情報処理装置10および情報処理システム100の誤動作を抑止することができる。
図9は、情報処理システムの別の実施形態における動作の一例を示す。すなわち、図9は、情報処理システムの制御方法の一例を示す。図7に示す動作と同一または同様の動作については、詳細な説明は省略する。図9に示す動作を実現する情報処理システム100Aの構成は、図1に示す情報処理システム100の構成と同様である。
すなわち、情報処理システム100Aは、複数の経路NPを介して互いに接続される複数の情報処理装置10(ノードND)を有し、各情報処理装置10は、プロセッサ20、主記憶装置30およびネットワークインタフェース40を有する。ネットワークインタフェース40は、パケット生成部50、送信部60、受信部70および受信処理部80を有する。情報処理システム100Aの動作は、受信処理部80の動作の一部が、図7と異なることを除き、図7に示す情報処理システム100の動作と同様である。例えば、情報処理システム100Aは、図2と同様に、メッシュ型の2次元ネットワークにより相互に接続された複数のノードNDを有し、並列計算機として動作する。
図9(a)から図9(g)までの動作は、図7(a)から図7(g)までの動作と同じである。受信部70は、パケットPKT−D、PKT−Eを順次受信する(図7(g))。受信処理部80は、最終分割データDDTが他の分割データDDTのいずれかより先に受信された場合、分割データDDTを受信部70が受信する毎に、受信した分割データDDTを主記憶装置30に格納する(図9(h))。
パケットPKT−Eの受信は、パケットPKT−Eに含まれる分割数情報Dn(=”6”)と等しい6番目である。このため、受信処理部80は、メッセージMSGを分割した全ての分割データDDT−A、DDT−B、DDT−C、DDT−D、DDT−E、DDT−Fを受信したと判断する。そして、受信処理部80は、パケットPKT−Fに含まれる最終分割データDDT−Fを主記憶装置30に格納する(図9(i))。この後、プロセッサ20は、分割データDDT−A、DDT−B、DDT−C、DDT−D、DDT−E、DDT−Fを使用してデータ処理を開始する(図9(j))。
図9に示す動作では、最終分割データDDTの受信後、パケットPKTを受信する毎に、受信したパケットPKTに含まれる分割データDDTを主記憶装置30に格納する。これにより、全ての分割データDDTを受信した後に、受信した分割データDDT(最終分割データDDTを含む)を主記憶装置30に格納する場合に比べて、主記憶装置30への分割データDDTの格納を早く完了することができる。この結果、プロセッサ20は、図7に比べて、データ処理を早く開始することができ、情報処理システム100Aの処理性能を、情報処理システム100の処理性能に比べて向上することができる。
図10は、図9に示すノードND2におけるパケットの受信フローの一例を示す。図8に示す動作と同じ動作については、同じステップ番号を付し、詳細な説明は省略する。図10に示すフローは、図8のステップS24の代わりにステップS24A、S24Bを設けたことを除き、図8に示すフローと同様である。
ステップS18において、受信処理部80は、受信したパケットPKTに含まれる最終データ情報Lが”1”の場合、動作をステップS24Aに移行し、受信したパケットPKTに含まれる最終データ情報Lが”0”の場合、動作をステップS20に移行する。ステップS20において、受信処理部80は、最終データ情報Lが”1”のパケットPKTを受信済みの場合、動作をステップS24Bに移行し、最終データ情報Lが”1”のパケットPKTを受信していない場合、動作をステップS22に移行する。
ステップS24Aにおいて、受信処理部80は、変数Iが、受信したパケットPKTに含まれる分割数情報Dnに等しい場合、全ての分割データDDTが受信されたため、動作をステップS26に移行する。一方、受信処理部80は、変数Iが、受信したパケットPKTに含まれる分割数情報Dnが示す数より小さい場合、未受信の分割データDDTがあるため、動作をステップS12に戻す。
ステップS24Bにおいて、受信処理部80は、変数Iが、受信したパケットPKTに含まれる分割数情報Dnに等しい場合、全ての分割データDDTが受信されたため、動作をステップS26に移行する。一方、受信処理部80は、変数Iが、受信したパケットPKTに含まれる分割数情報Dnが示す数より小さい場合、未受信の分割データDDTがあるため、動作をステップS22に移行する。
ステップS22では、受信処理部80は、受信バッファ72に保持された分割データDDTを主記憶装置30に格納する。ステップS26の動作は、図8に示すステップS26の動作と同じである。すなわち、図10では、最終分割データDDTを受信した後、パケットPKTを受信する毎に、パケットPKTに含まれる分割データDDTを主記憶装置30に格納する。
以上、図9および図10に示す実施形態においても、図1から図8に示す実施形態と同様の効果を得ることができる。例えば、メッセージMSGを分割した複数の分割データDDTのいずれかをそれぞれ含む複数のパケットPKTを、複数の経路NPを介して転送する場合に、最終分割データDDTの受信順序にかかわりなく全ての分割データDDTを受信したことを保証することができる。また、プロセッサ20が誤ったデータを使用してデータ処理を実行することを抑止することができ、情報処理装置10および情報処理システム100Aの誤動作を抑止することができる。
さらに、図9および図10に示す実施形態では、全ての分割データDDTを受信した後に、受信した分割データDDTを主記憶装置30に格納する場合に比べて、主記憶装置30への分割データDDTの格納を早く完了することができる。この結果、プロセッサ20は、図7に比べて、データ処理を早く開始することができ、情報処理システム100Aの処理性能を、情報処理システム100の処理性能に比べて向上することができる。
図11は、情報処理装置、情報処理システムおよび情報処理システムの制御方法の別の実施形態を示す。図1と同一または同様の要素については、同一の符号を付し、これ等については、詳細な説明は省略する。図11に示す情報処理システム100Bは、図1に示す情報処理システム100のパケット生成部50および受信処理部80の代わりに、パケット生成部50Bおよび受信処理部80Bを有する。情報処理システム100Bのその他の構成は、図1に示す情報処理システム100と同様である。情報処理システム100Bは、図2と同様に、例えば、メッシュ型の2次元ネットワークにより相互に接続された複数のノードNDを有し、並列計算機として動作する。
パケット生成部50Bは、図1に示すパケット生成部50の機能に加えて、複数のメッセージMSGを識別するデータ識別情報MIDをパケットPKTに付加する機能を有する。受信処理部80Bは、図1に示す受信処理部80の機能に加えて、データ識別情報MIDに基づいてメッセージMSGを識別し、識別したメッセージMSG毎に主記憶装置30への格納を制御する機能を有する。
図12は、図11に示す情報処理システム100Bで使用されるパケットPKTのフォーマットの一例を示す。図3と同じ要素については、詳細な説明は省略する。図12に示すパケットPKTのフォーマットは、データ識別情報MIDを格納する領域を追加したことを除き、図3に示すパケットPKTのフォーマットと同様である。
図13は、図11に示す情報処理システム100BにおけるパケットPKTの送信動作の一例を示す。図4と同一または同様の動作については、詳細な説明は省略する。図13に示す例では、2つのメッセージMSG1、MSG2の各々が、3つの分割データDDT(DDT−A、DDT−B、DDT−CとDDT−X、DDT−Y、DDT−Z)に分けて、ノードND1からノードND2に転送される。
まず、ノードND1のパケット生成部50Bは、主記憶装置30から分割データDDT−A、DDT−B、DDT−Cと、分割データDDT−X、DDT−Y、DDT−Zとを読み出す。分割データDDT−C、DDT−Zは、それぞれ最終分割データである。
パケット生成部50Bは、分割データDDT−A、DDT−B、DDT−Cを含むパケットPKT−A、PKT−B、PKT−Cをそれぞれ生成する。パケット生成部50Bは、パケットPKT−A、PKT−Bに、メッセージMSG1を示すデータ識別情報MID(=”1”)と、分割数情報Dn(=”3”)と、最終データ情報L(=”0”)とを付加する。パケット生成部50Bは、パケットPKT−Cに、メッセージMSG1を示すデータ識別情報MID(=”1”)と、分割数情報Dn(=”3”)と、最終データ情報L(=”1”)とを付加する。
また、パケット生成部50Bは、分割データDDT−X、DDT−Y、DDT−Zを含むパケットPKT−X、PKT−Y、PKT−Zをそれぞれ生成する。パケット生成部50Bは、パケットPKT−X、PKT−Yに、メッセージMSG2を示すデータ識別情報MID(=”2”)と、分割数情報Dn(=”3”)と、最終データ情報L(=”0”)とを付加する。パケット生成部50Bは、パケットPKT−Zに、メッセージMSG2を示すデータ識別情報MID(=”2”)と、分割数情報Dn(=”3”)と、最終データ情報L(=”1”)とを付加する。
パケット生成部50Bは、生成したパケットPKTを送信部60の送信バッファ62に順次格納する。この後、送信部60は、図4と同様に、送信バッファ62に格納されたパケットPKT−A、PKT−B、PKT−C、PKT−X、PKT−Y、PKT−Zを複数の経路NPを介して、ノードND2に向けて順次送信する。
図14および図15は、図11に示す情報処理システム100BにおけるパケットPKTの受信動作の一例を示す。図5および図6と同一または同様の動作については、詳細な説明は省略する。まず、ノードND2の受信部70は、パケットPKT−A、PKT−X、PKT−C、PKT−Zを順次受信する。受信部70は、受信したパケットPKT−A、PKT−X、PKT−C、PKT−Zの各々に含まれる分割データDDT−A、DDT−X、DDT−C、DDT−Zと各種情報とを受信バッファ72に格納する。
受信処理部80Bは、各パケットPKTに含まれるデータ識別情報MIDに基づいて、分割データDDT−A、DDT−Cと分割データDDT−X、DDT−Zとがそれぞれ異なるメッセージMSG1、MSG2に対応することを検出する。受信処理部80Bは、パケットPKT−A、PKT−Xに含まれる最終データ情報Lが”0”であるため、分割データDDT−A、DDT−Xを主記憶装置30に格納する。
また、受信処理部80Bは、受信部70によるメッセージMSG1、MSG2毎のパケットPKTの受信数をカウントする。受信処理部80Bは、各メッセージMSG1、MSG2の受信数(=”2”)が対応するパケットPKTに含まれる分割数情報Dnが示す分割数(=”3”)より少ないため、未受信のパケットPKTが存在すると判断する。受信処理部80Bは、未受信のパケットPKTが存在し、かつ、パケットPKT−C、PKT−Zに含まれる最終データ情報Lが”1”であるため、分割データDDT−C、DDT−Zの主記憶装置30への格納を抑止する(図14(a))。
次に、受信部70は、パケットPKT−Bを受信し、パケットPKT−Bに含まれる分割データDDT−Bと各種情報とを受信バッファ72に格納する。受信処理部80Bは、データ識別情報MIDが”1”のパケットPKTの受信数(=”3”)と、データ識別情報MIDが”1”のパケットPKT−Bに含まれる分割数情報Dnが示す分割数(=”3”)との一致を検出する。このため、受信処理部80Bは、メッセージMSG1に対応する全ての分割データDDTを受信したと判定する(図14(b))。
次に、図15において、受信処理部80Bは、受信バッファ72に保持された分割データDDT−B、DDT−Cを主記憶装置30に順次格納する。プロセッサ20は、分割データDDT−Cが主記憶装置30に保持されたことを検出した場合、メッセージMSG1を主記憶装置30から読み出し、読み出したメッセージMSG1を使用してデータ処理を開始する。
また、受信部70は、パケットPKT−Yを受信し、パケットPKT−Yに含まれる分割データDDT−Yと各種情報とを受信バッファ72に格納する。受信処理部80Bは、データ識別情報MIDが”2”のパケットPKTの受信数(=”3”)と、データ識別情報MIDが”2”のパケットPKT−Yに含まれる分割数情報Dnが示す分割数(=”3”)との一致を検出する。このため、受信処理部80Bは、メッセージMSG2に対応する全ての分割データDDTを受信したと判定する(図15(a))。
次に、受信処理部80Bは、受信バッファ72に保持された分割データDDT−Y、DDT−Zを主記憶装置30に順次格納する。プロセッサ20は、分割データDDT−Zが主記憶装置30に保持されたことを検出した場合、メッセージMSG2を主記憶装置30から読み出し、読み出したメッセージMSG2を使用してデータ処理を開始する(図15(b))。このように、プロセッサ20は、メッセージMSG毎に、最終分割データDDTが主記憶装置30に保持されたことを検出することで、各メッセージMSGの全体が受信されたことを確認することができる。
図14および図15に示すように、メッセージMSGを識別するデータ識別情報MIDをパケットPKTに付加することで、受信処理部80Bは、分割データDDTの主記憶装置30への格納処理を、メッセージMSG毎に実行することができる。これにより、複数のメッセージMSGの分割データDDTを混在させてノードND1からノードND2に送信する場合にも、メッセージMSG毎に全ての分割データDDTを受信したことを保証することができる。
図16は、図11に示す情報処理システム100Bの動作の一例を示す。図7と同一または同様の動作については、詳細な説明は省略する。
まず、ノードND1のパケット生成部50Bは、メッセージMSG1に対応する分割データDDT−A、DDT−B、DDT−Cを主記憶装置30から読み出し、パケットPKT−A、PKT−B、PKT−Cを生成して送信部60に格納する(図16(a))。ノードND1の送信部60は、パケット生成部50Bが生成したパケットPKT−A、PKT−B、PKT−Cを、複数の経路NPを介して、ノードND2に向けて順次送信する(図16(b))。
また、ノードND1のパケット生成部50Bは、メッセージMSG2に対応する分割データDDT−X、DDT−Y、DDT−Zを主記憶装置30から読み出し、パケットPKT−X、PKT−Y、PKT−Zを生成して送信部60に格納する(図16(c))。ノードND1の送信部60は、パケット生成部50Bが生成したパケットPKT−X、PKT−Y、PKT−Zを、複数の経路NPを介して、ノードND2に向けて順次送信する(図16(d))。なお、各パケットPKTに含まれるデータ識別情報MID、分割数情報Dnおよび最終データ情報Lは、図13に示すパケットPKTに含まれる情報と同じである。
ノードND2の受信部70は、最終データ情報L(=”0”)を含むパケットPKT−A、PKT−Xを順次受信する(図16(e))。受信処理部80Bは、パケットPKT−A、PKT−Xに含まれる最終データ情報Lが”0”であるため、受信部70が受信した分割データDDT−A、DDT−Xを主記憶装置30に格納する(図16(f))。
次に、受信部70は、最終データ情報L(=”1”)を含むパケットPKT−C、PKT−Zを順次受信する(図16(g))。受信処理部80Bは、最終データ情報L(=”1”)に基づいて、パケットPKT−C、PKT−Zのそれぞれが最終分割データDDT−C、DDT−Zを含むと判断する。また、受信処理部80Bは、分割数情報Dn(=”3”)に基づいて、メッセージMSG1、MSG2のそれぞれに、未受信のパケットPKTがあると判断する。このため、受信処理部80Bは、分割データDDT−C、DDT−Zの主記憶装置30への格納を抑止する(図16(h))。
この後、受信部70は、パケットPKT−B、PKT−Yを順次受信する(図16(i))。受信処理部80Bは、パケットPKT−Bに含まれるデータ識別情報MIDおよび分割数情報Dnに基づいて、メッセージMSG1に対応する全ての分割データDDTを受信したと判断する。そして、受信処理部80Bは、受信部70の受信バッファ72に保持された分割データDDT−B、DDT−Cを主記憶装置30に順次格納する(図16(j))。最終分割データDDT−Cが主記憶装置30に保持されたことを検出したプロセッサ20は、分割データDDT−A、DDT−B、DDT−Cを使用してデータ処理を開始する(図16(k))。
また、受信処理部80Bは、パケットPKT−Yに含まれるデータ識別情報MIDおよび分割数情報Dnに基づいて、メッセージMSG2に対応する全ての分割データDDTを受信したと判断する。そして、受信処理部80Bは、受信部70の受信バッファ72に保持された分割データDDT−Y、DDT−Zを主記憶装置30に順次格納する(図16(l))。最終分割データDDT−Zが主記憶装置30に保持されたことを検出したプロセッサ20は、分割データDDT−X、DDT−Y、DDT−Zを使用してデータ処理を開始する(図16(m))。
図17は、図11に示す各ノードNDにおけるパケットPKTの受信フローの一例を示す。図8に示す動作と同じ動作については、同じステップ番号を付し、詳細な説明は省略する。図17に示すフローは、図8のステップS12とステップS14の間にステップS13を追加したことを除き、図8に示すフローと同様である。
ステップS13では、受信処理部80Bは、受信部70が受信したパケットPKTに含まれるデータ識別情報MIDに基づいて、受信対象のパケットPKTか否かを判定する。受信対象のパケットPKTの場合、動作はステップS14に移行される。すなわち、データ識別情報MIDが、既に受信したパケットPKTに含まれるデータ識別情報MIDと同じ場合、または、データ識別情報MIDを含むパケットPKTを初めて受信した場合、動作はステップS14に移行される。
一方、受信対象のパケットPKTでない場合、すなわち、データ識別情報MIDが、既に受信したパケットPKTに含まれるデータ識別情報MIDと異なる場合、動作は他のメッセージMSGの受信フローのステップS14に移行される。他のメッセージMSGの受信フローは、図17と同じである。すなわち、受信処理部80Bは、複数のメッセージMSGに対する受信処理を並列に実行可能である。
なお、受信処理部80Bは、図9および図10に示すように、最終分割データDDTの受信後、パケットPKTを受信する毎に、受信したパケットPKTに含まれる分割データDDTを主記憶装置30に格納してもよい。この場合、図17に示す受信フローは、図10と同様に、ステップS24の代わりにステップS24A、S24Bが設けられる。最終分割データDDTの受信後、メッセージMSG毎に2つ以上の未受信の分割データDDTがある場合、分割データDDTをまとめて主記憶装置30に格納する場合に比べて、プロセッサ20は、データ処理を早く開始することができる。
以上、図11から図17に示す実施形態においても、図1から図8に示す実施形態と同様の効果を得ることができる。例えば、メッセージMSGを分割した複数の分割データDDTのいずれかをそれぞれ含む複数のパケットPKTを、複数の経路NPを介して転送する場合に、最終分割データDDTの受信順序にかかわりなく全ての分割データDDTを受信したことを保証することができる。また、プロセッサ20が誤ったデータを使用してデータ処理を実行することを抑止することができ、情報処理装置10および情報処理システム100Bの誤動作を抑止することができる。
さらに、図11から図17に示す実施形態では、メッセージMSGを識別するデータ識別情報MIDをパケットPKTに付加することで、受信処理部80Bは、分割データDDTの主記憶装置30への格納処理を、メッセージMSG毎に実行することができる。これにより、複数のメッセージMSGの分割データDDTを混在させてノードND1からノードND2に送信する場合にも、メッセージMSG毎に全ての分割データDDTを受信したことを保証することができる。したがって、プロセッサ20は、メッセージMSG毎に最終分割データDDTが主記憶装置30に保持されたことを検出することで、各メッセージMSGの全体が受信されたことを確認することができる。
以上の図1から図17に示す実施形態に関し、さらに以下の付記を開示する。
(付記1)
演算処理を実行する演算処理装置と、データを記憶する記憶装置と、複数の経路を介して接続される他の情報処理装置との間でパケットを転送する通信装置とを有する情報処理装置において、
前記通信装置は、
転送の対象である転送対象データを分割した分割データのいずれかと、前記複数の分割データの数を示す分割数情報と、前記複数の分割データのうち最後に分割された最終分割データを含むかを示す最終データ情報とをそれぞれ含む複数のパケットを前記他の情報処理装置からそれぞれ受信する受信部と、
前記受信部がそれぞれ受信したパケットに含まれる分割データを前記記憶装置にそれぞれ格納するとともに、前記受信部がそれぞれ受信したパケットに含まれる前記分割数情報と前記最終データ情報とに基づいて、前記最終分割データを他の分割データのいずれかより先に受信したことを判定した場合、前記分割数情報が示す数の分割データを前記受信部が受信するまで前記最終分割データの前記記憶装置への格納を抑止する処理部とを有することを特徴とする情報処理装置。
(付記2)
前記処理部は、前記最終分割データが他の分割データのいずれかより先に受信された場合、前記分割数情報が示す数の分割データを前記受信部が受信するまで待ち、前記最終分割データを受信後に前記受信部が受信した分割データを前記記憶装置に格納した後、前記最終分割データを前記記憶装置に格納し、
前記演算処理装置は、前記最終分割データが前記記憶装置に格納されたことを検出した場合、前記記憶装置に格納された前記複数の分割データを使用して演算処理を実行することを特徴とする付記1記載の情報処理装置。
(付記3)
前記処理部は、前記最終分割データが他の分割データのいずれかより先に受信された場合、分割データを前記受信部が受信する毎に、受信した分割データを前記記憶装置に格納し、全ての分割データのうち、前記最終分割データを除いた分割データを前記記憶装置に格納した後、前記最終分割データを前記記憶装置に格納し、
前記演算処理装置は、前記最終分割データが前記記憶装置に格納されたことを検出した場合、前記記憶装置に格納された前記複数の分割データを使用して演算処理を実行することを特徴とする付記1記載の情報処理装置。
(付記4)
前記処理部は、
前記受信部による分割データの受信数をカウントし、カウントした計数値が、パケットに含まれる前記分割数情報が示す数より小さい場合、受信していない分割データの存在を検出することを特徴とする付記1ないし付記3のいずれか1項に記載の情報処理装置。
(付記5)
前記処理部は、パケットに含まれるデータ識別情報に基づいて前記転送対象データを識別し、識別した転送対象データ毎に分割データの前記記憶装置への格納を制御することを特徴とする付記1ないし付記4のいずれか1項に記載の情報処理装置。
(付記6)
前記通信装置は、
前記複数の分割データの各々と、前記分割数情報と、前記最終データ情報とを含むパケットを生成するパケット生成部と、
前記パケット生成部が生成したパケットを、パケットの送信先の情報処理装置に送信する送信部とを有することを特徴とする付記1ないし付記5のいずれか1項に記載の情報処理装置。
(付記7)
前記処理部は、パケットに含まれるアドレスが示す前記記憶装置の記憶領域に、パケットに含まれる分割データを格納し、
前記複数の分割データがそれぞれ格納される前記記憶装置の記憶領域は、互いに異なるアドレスが割り当てられることを特徴とする付記1ないし付記6のいずれか1項に記載の情報処理装置。
(付記8)
演算処理を実行する演算処理装置と、データを記憶する記憶装置と、複数の経路を介して接続される他の情報処理装置との間でパケットを転送する通信装置とをそれぞれ有する複数の情報処理装置を含む情報処理システムにおいて、
前記複数の情報処理装置のうち、パケットの送信元の第1の情報処理装置の前記通信装置は、
転送の対象である転送対象データを分割した分割データのいずれかと、前記複数の分割データの数を示す分割数情報と、前記複数の分割データのうち最後に分割された最終分割データを含むかを示す最終データ情報とをそれぞれ含む複数のパケットを生成するパケット生成部と、
前記パケット生成部がそれぞれ生成した複数のパケットを、パケットの送信先の情報処理装置である第2の情報処理装置にそれぞれ送信する送信部とを有し、
前記第2の情報処理装置の前記通信装置は、
送信された前記複数のパケットを前記第1の情報処理装置からそれぞれ受信する受信部と、
前記受信部がそれぞれ受信したパケットに含まれる
分割データを前記第2の情報処理装置が有する前記記憶装置にそれぞれ格納するとともに、前記受信部がそれぞれ受信したパケットに含まれる前記分割数情報と前記最終データ情報とに基づいて、前記最終分割データを他の分割データのいずれかより先に受信したことを判定した場合、前記分割数情報が示す数の分割データを前記受信部が受信するまで前記最終分割データの前記第2の情報処理装置が有する前記記憶装置への格納を抑止する処理部とを有することを特徴とする情報処理システム。
(付記9)
演算処理を実行する演算処理装置と、データを記憶する記憶装置と、複数の経路を介して接続される他の情報処理装置との間でパケットを転送する通信装置とをそれぞれ有する複数の情報処理装置を含む情報処理システムの制御方法において、
前記複数の情報処理装置のうち、パケットの送信元の第1の情報処理装置の前記通信装置が有するパケット生成部が、転送の対象である転送対象データを分割した分割データのいずれかと、前記複数の分割データの数を示す分割数情報と、前記複数の分割データのうち最後に分割された最終分割データを含むかを示す最終データ情報とをそれぞれ含む複数のパケットを生成し、
前記第1の情報処理装置の前記通信装置が有する送信部が、前記パケット生成部がそれぞれ生成した複数のパケットを、パケットの送信先の情報処理装置である第2の情報処理装置にそれぞれ送信し、
前記第2の情報処理装置の前記通信装置が有する受信部が、送信された前記複数のパケットを前記第1の情報処理装置からそれぞれ受信し、
前記第2の情報処理装置の前記通信装置が有する処理部が、前記受信部がそれぞれ受信したパケットに含まれる分割データを前記第2の情報処理装置が有する前記記憶装置にそれぞれ格納するとともに、前記受信部がそれぞれ受信したパケットに含まれる前記分割数情報と前記最終データ情報とに基づいて、前記最終分割データを他の分割データのいずれかより先に受信したことを判定した場合、前記分割数情報が示す数の分割データを前記受信部が受信するまで前記最終分割データの前記第2の情報処理装置が有する前記記憶装置への格納を抑止することを特徴とする情報処理システムの制御方法。
以上の詳細な説明により、実施形態の特徴点および利点は明らかになるであろう。これは、特許請求の範囲がその精神および権利範囲を逸脱しない範囲で前述のような実施形態の特徴点および利点にまで及ぶことを意図するものである。また、当該技術分野において通常の知識を有する者であれば、あらゆる改良および変更に容易に想到できるはずである。したがって、発明性を有する実施形態の範囲を前述したものに限定する意図はなく、実施形態に開示された範囲に含まれる適当な改良物および均等物に拠ることも可能である。
10…情報処理装置;20…プロセッサ;30…主記憶装置;40…ネットワークインタフェース;50、50B…パケット生成部;60…送信部;70…受信部;80、80B…受信処理部;100、100A、100B…情報処理システム;BUS…バス;Dn…分割数情報;DT…データ;DDT…分割データ;L…最終データ情報;MID…データ識別情報;MSG…メッセージ;ND…ノード;NP…経路;PKT…パケット;PYLD…ペイロード;TYPE…パケットタイプ

Claims (7)

  1. 演算処理を実行する演算処理装置と、データを記憶する記憶装置と、複数の経路を介して接続される他の情報処理装置との間でパケットを転送する通信装置とを有する情報処理装置において、
    前記通信装置は、
    転送の対象である転送対象データを分割した分割データのいずれかと、前記複数の分割データの数を示す分割数情報と、前記複数の分割データのうち最後に分割された最終分割データを含むかを示す最終データ情報とをそれぞれ含む複数のパケットを前記他の情報処理装置からそれぞれ受信する受信部と、
    前記受信部がそれぞれ受信したパケットに含まれる分割データを前記記憶装置にそれぞれ格納するとともに、前記受信部がそれぞれ受信したパケットに含まれる前記分割数情報と前記最終データ情報とに基づいて、前記最終分割データを他の分割データのいずれかより先に受信したことを判定した場合、前記分割数情報が示す数の分割データを前記受信部が受信するまで前記最終分割データの前記記憶装置への格納を抑止する処理部とを有することを特徴とする情報処理装置。
  2. 前記処理部は、前記最終分割データが他の分割データのいずれかより先に受信された場合、前記分割数情報が示す数の分割データを前記受信部が受信するまで待ち、前記最終分割データを受信後に前記受信部が受信した分割データを前記記憶装置に格納した後、前記最終分割データを前記記憶装置に格納し、
    前記演算処理装置は、前記最終分割データが前記記憶装置に格納されたことを検出した場合、前記記憶装置に格納された前記複数の分割データを使用して演算処理を実行することを特徴とする請求項1記載の情報処理装置。
  3. 前記処理部は、前記最終分割データが他の分割データのいずれかより先に受信された場合、分割データを前記受信部が受信する毎に、受信した分割データを前記記憶装置に格納し、全ての分割データのうち、前記最終分割データを除いた分割データを前記記憶装置に格納した後、前記最終分割データを前記記憶装置に格納し、
    前記演算処理装置は、前記最終分割データが前記記憶装置に格納されたことを検出した場合、前記記憶装置に格納された前記複数の分割データを使用して演算処理を実行することを特徴とする請求項1記載の情報処理装置。
  4. 前記処理部は、
    前記受信部による分割データの受信数をカウントし、カウントした計数値が、パケットに含まれる前記分割数情報が示す数より小さい場合、受信していない分割データの存在を検出することを特徴とする請求項1ないし請求項3のいずれか1項に記載の情報処理装置。
  5. 前記処理部は、パケットに含まれるデータ識別情報に基づいて前記転送対象データを識別し、識別した転送対象データ毎に分割データの前記記憶装置への格納を制御することを特徴とする請求項1ないし請求項4のいずれか1項に記載の情報処理装置。
  6. 演算処理を実行する演算処理装置と、データを記憶する記憶装置と、複数の経路を介して接続される他の情報処理装置との間でパケットを転送する通信装置とをそれぞれ有する複数の情報処理装置を含む情報処理システムにおいて、
    前記複数の情報処理装置のうち、パケットの送信元の第1の情報処理装置の前記通信装置は、
    転送の対象である転送対象データを分割した分割データのいずれかと、前記複数の分割データの数を示す分割数情報と、前記複数の分割データのうち最後に分割された最終分割データを含むかを示す最終データ情報とをそれぞれ含む複数のパケットを生成するパケット生成部と、
    前記パケット生成部がそれぞれ生成した複数のパケットを、パケットの送信先の情報処理装置である第2の情報処理装置にそれぞれ送信する送信部とを有し、
    前記第2の情報処理装置の前記通信装置は、
    送信された前記複数のパケットを前記第1の情報処理装置からそれぞれ受信する受信部と、
    前記受信部がそれぞれ受信したパケットに含まれる分割データを前記第2の情報処理装置が有する前記記憶装置にそれぞれ格納するとともに、前記受信部がそれぞれ受信したパケットに含まれる前記分割数情報と前記最終データ情報とに基づいて、前記最終分割データを他の分割データのいずれかより先に受信したことを判定した場合、前記分割数情報が示す数の分割データを前記受信部が受信するまで前記最終分割データの前記第2の情報処理装置が有する前記記憶装置への格納を抑止する処理部とを有することを特徴とする情報処理システム。
  7. 演算処理を実行する演算処理装置と、データを記憶する記憶装置と、複数の経路を介して接続される他の情報処理装置との間でパケットを転送する通信装置とをそれぞれ有する複数の情報処理装置を含む情報処理システムの制御方法において、
    前記複数の情報処理装置のうち、パケットの送信元の第1の情報処理装置の前記通信装置が有するパケット生成部が、転送の対象である転送対象データを分割した分割データのいずれかと、前記複数の分割データの数を示す分割数情報と、前記複数の分割データのうち最後に分割された最終分割データを含むかを示す最終データ情報とをそれぞれ含む複数のパケットを生成し、
    前記第1の情報処理装置の前記通信装置が有する送信部が、前記パケット生成部がそれぞれ生成した複数のパケットを、パケットの送信先の情報処理装置である第2の情報処理装置にそれぞれ送信し、
    前記第2の情報処理装置の前記通信装置が有する受信部が、送信された前記複数のパケットを前記第1の情報処理装置からそれぞれ受信し、
    前記第2の情報処理装置の前記通信装置が有する処理部が、前記受信部がそれぞれ受信したパケットに含まれる分割データを前記第2の情報処理装置が有する前記記憶装置にそれぞれ格納するとともに、前記受信部がそれぞれ受信したパケットに含まれる前記分割数情報と前記最終データ情報とに基づいて、前記最終分割データを他の分割データのいずれかより先に受信したことを判定した場合、前記分割数情報が示す数の分割データを前記受信部が受信するまで前記最終分割データの前記第2の情報処理装置が有する前記記憶装置への格納を抑止することを特徴とする情報処理システムの制御方法。
JP2017084451A 2017-04-21 2017-04-21 情報処理装置、情報処理システムおよび情報処理システムの制御方法 Active JP6822297B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2017084451A JP6822297B2 (ja) 2017-04-21 2017-04-21 情報処理装置、情報処理システムおよび情報処理システムの制御方法
US15/944,278 US10609188B2 (en) 2017-04-21 2018-04-03 Information processing apparatus, information processing system and method of controlling information processing system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017084451A JP6822297B2 (ja) 2017-04-21 2017-04-21 情報処理装置、情報処理システムおよび情報処理システムの制御方法

Publications (2)

Publication Number Publication Date
JP2018182688A true JP2018182688A (ja) 2018-11-15
JP6822297B2 JP6822297B2 (ja) 2021-01-27

Family

ID=63854729

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017084451A Active JP6822297B2 (ja) 2017-04-21 2017-04-21 情報処理装置、情報処理システムおよび情報処理システムの制御方法

Country Status (2)

Country Link
US (1) US10609188B2 (ja)
JP (1) JP6822297B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021090726A1 (ja) * 2019-11-08 2021-05-14 ソニー株式会社 情報処理装置、情報処理方法、およびプログラム

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2609005B (en) * 2021-07-16 2023-07-26 Advanced Risc Mach Ltd Data communication apparatus and method

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10341247A (ja) 1997-06-10 1998-12-22 Sony Corp データ送信装置、データ受信装置、データ伝送システム及びデータ伝送方法
US6493343B1 (en) 1998-01-07 2002-12-10 Compaq Information Technologies Group System and method for implementing multi-pathing data transfers in a system area network
JP2001202345A (ja) * 2000-01-21 2001-07-27 Hitachi Ltd 並列プロセッサ

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021090726A1 (ja) * 2019-11-08 2021-05-14 ソニー株式会社 情報処理装置、情報処理方法、およびプログラム

Also Published As

Publication number Publication date
JP6822297B2 (ja) 2021-01-27
US20180309859A1 (en) 2018-10-25
US10609188B2 (en) 2020-03-31

Similar Documents

Publication Publication Date Title
US11218537B2 (en) Load balancing in distributed computing systems
US9888048B1 (en) Supporting millions of parallel light weight data streams in a distributed system
EP2673926B1 (en) Frame delivery path selection in hybrid communication networks
JP3640187B2 (ja) マルチプロセッサシステムの障害処理方法、マルチプロセッサシステム及びノード
US10594442B2 (en) End-to-end negative acknowledgment
US20190044875A1 (en) Communication of a large message using multiple network interface controllers
US20130003751A1 (en) Method and system for exponential back-off on retransmission
JP6206465B2 (ja) 通信装置および通信方法
JPWO2011058640A1 (ja) 並列計算用の通信方法、情報処理装置およびプログラム
JP2017118438A (ja) パケット送信プログラム、情報処理装置、および、障害検出方法
JP2012058958A (ja) リダクション演算装置、処理装置及びコンピュータシステム
US20220255831A1 (en) Method and apparatus for detecting link status
JP2018182688A (ja) 情報処理装置、情報処理システムおよび情報処理システムの制御方法
CN112491715B (zh) 路由装置及片上网络的路由设备
WO2019119269A1 (zh) 一种网络故障探测方法及控制中心设备
US8433952B2 (en) Memory access control device, memory access control method and memory access control program
US9893992B2 (en) Communication apparatus, information processing apparatus, and method of controlling communication apparatus
CN116915708A (zh) 路由数据包的方法、处理器及可读存储介质
JP5381109B2 (ja) 通信装置及びその制御プログラム
US20170118072A1 (en) Communication control method, network system, and communication control device
US20190391856A1 (en) Synchronization of multiple queues
JP6740683B2 (ja) 並列処理装置及び通信制御方法
RU2611337C1 (ru) Способ передачи сообщений между вычислительными устройствами
KR101884162B1 (ko) 데이터 전송 방법 및 장치
EP4287561A1 (en) Data packet sending method, data packet sending apparatus, and storage medium

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 Written amendment

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

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20201126

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20201221

R150 Certificate of patent or registration of utility model

Ref document number: 6822297

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150