JP5754504B2 - Management apparatus, information processing apparatus, information processing system, and data transfer method - Google Patents
Management apparatus, information processing apparatus, information processing system, and data transfer method Download PDFInfo
- Publication number
- JP5754504B2 JP5754504B2 JP2013516099A JP2013516099A JP5754504B2 JP 5754504 B2 JP5754504 B2 JP 5754504B2 JP 2013516099 A JP2013516099 A JP 2013516099A JP 2013516099 A JP2013516099 A JP 2013516099A JP 5754504 B2 JP5754504 B2 JP 5754504B2
- Authority
- JP
- Japan
- Prior art keywords
- input
- output
- information processing
- node
- data
- 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
Links
- 238000012546 transfer Methods 0.000 title claims description 400
- 230000010365 information processing Effects 0.000 title claims description 76
- 238000000034 method Methods 0.000 title claims description 55
- 238000004891 communication Methods 0.000 claims description 225
- 238000012545 processing Methods 0.000 claims description 106
- 230000005856 abnormality Effects 0.000 claims description 34
- 230000005540 biological transmission Effects 0.000 claims description 20
- 230000002159 abnormal effect Effects 0.000 claims description 17
- 230000004044 response Effects 0.000 claims description 7
- 238000007726 management method Methods 0.000 description 195
- 238000004364 calculation method Methods 0.000 description 179
- 238000010586 diagram Methods 0.000 description 35
- 238000013523 data management Methods 0.000 description 19
- 238000012544 monitoring process Methods 0.000 description 16
- 239000000284 extract Substances 0.000 description 6
- 239000000835 fiber Substances 0.000 description 6
- 230000006870 function Effects 0.000 description 6
- 239000004065 semiconductor Substances 0.000 description 3
- 238000007796 conventional method Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 235000013527 bean curd Nutrition 0.000 description 1
- 230000008094 contradictory effect Effects 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/36—Handling requests for interconnection or transfer for access to common bus or bus system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/10—Program control for peripheral devices
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/22—Alternate routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/28—Routing or path finding of packets in data switching networks using route fault recovery
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Hardware Redundancy (AREA)
- Multi Processors (AREA)
Description
本発明は、管理装置、情報処理装置、情報処理システム、データ転送方法、経路選択プログラム及び転送要求プログラムに関する。 The present invention relates to a management device, an information processing device, an information processing system, a data transfer method, a route selection program, and a transfer request program.
従来、複数のノードを有するコンピュータシステムは、ノード間それぞれをインターコネクトで接続した「クラスタ構成」を採用する。クラスタ構成を採用した場合、各ノードで分散した処理を並列して実行するので、コンピュータシステムの性能が向上する。また、一部のノードに障害が生じて処理が停止した場合でも、障害が生じていないノードでは処理を継続して実行するので、コンピュータシステムの可用性が向上する。 Conventionally, a computer system having a plurality of nodes employs a “cluster configuration” in which nodes are connected by an interconnect. When the cluster configuration is adopted, the processing distributed at each node is executed in parallel, so that the performance of the computer system is improved. Further, even when a failure occurs in some nodes and the processing is stopped, the processing is continuously executed in the node where the failure does not occur, so that the availability of the computer system is improved.
図21を用いて、クラスタ構成を採用したコンピュータシステムの構成例を説明する。図21は、クラスタ構成を採用したコンピュータシステムの構成例を示す図である。図21に示すように、コンピュータシステム900は、計算ノード901〜912と、IO(Input Output)ノード913〜916と、IO装置917〜918とを有する。計算ノード901〜912は、各種演算の実行やアプリケーション処理を実行する。IOノード913〜916は、IO装置への入出力を制御する。IO装置917〜918は、例えば、データやアプリケーションなどを記憶する記憶装置である。
A configuration example of a computer system adopting a cluster configuration will be described with reference to FIG. FIG. 21 is a diagram illustrating a configuration example of a computer system adopting a cluster configuration. As illustrated in FIG. 21, the
図21に示すように、各計算ノードと各計算ノードとの間、各IOノードと各IOノードとの間、各計算ノードと各IOノードとの間は、インターコネクトによってそれぞれ接続されている。また、図21の例では、IOノード913は、IO装置917と接続されており、IOノード914は、IO装置918と接続されており、IOノード915は、IO装置918と接続されており、IOノード916は、IO装置917と接続されている。なお、点線で示すIOノード914とIO装置918との接続は、実線で示すIOノード915とIO装置918との接続に異常が発生した場合に運用される待機系の接続である。同様に、点線で示すIOノード916とIO装置917との接続は、実線で示すIOノード913とIO装置917との接続に異常が発生した場合に運用される待機系の接続である。
As shown in FIG. 21, each computation node and each computation node, each IO node and each IO node, and each computation node and each IO node are connected by an interconnect. In the example of FIG. 21, the IO node 913 is connected to the
このようなコンピュータシステムにおいて、計算ノードは、IO装置へデータを転送する場合、次元順ルーティングによって、目的とするIO装置と接続されたIOノードにデータを転送する。例えば、次元順ルーティングで転送されるデータは、まず、送信元のノードから、X軸の座標が転送先ノードのX軸の座標に一致するノードまでX軸に沿って転送される。次に、データは、データの転送方向をY軸上に転換し、転送先ノードまでY軸に沿って転送される。 In such a computer system, when transferring data to an IO device, the calculation node transfers the data to an IO node connected to the target IO device by dimensional order routing. For example, data transferred by dimension order routing is first transferred along the X axis from the source node to a node whose X axis coordinates coincide with the X axis coordinates of the transfer destination node. Next, the data is transferred along the Y axis to the transfer destination node by changing the data transfer direction on the Y axis.
例えば、図21の計算ノード901がIO装置918へデータを転送する場合、計算ノード901は、計算ノード902、903、907、911を経由してIO装置918に接続するIOノード915にデータを転送する。なお、次元順ルーティングによって選択される通信経路は、各計算ノード901〜912及び各IOノード913〜916に予め設定されるのが一般的である。
For example, when the
しかしながら、上述した従来の技術では、データ転送の可用性が高くないという課題があった。 However, the above-described conventional technique has a problem that the availability of data transfer is not high.
例えば、計算ノードは、次元順ルーティングで選択された経路上に存在するノード又は接続(インターコネクト)に異常が生じた場合、データを転送できなくなる。図21において、計算ノード903と計算ノード907との接続が切断していた場合を例に説明する。計算ノード901は、計算ノード903をバイパスする経路でIOノード915と接続しているにもかかわらず、次元順ルーティングで選択された経路に従い、計算ノード903を経由してデータを転送しようとする。この結果、計算ノード901は、IOノード915へデータを転送できなくなる。
For example, when an abnormality occurs in a node or connection (interconnect) existing on a route selected by dimension order routing, the computation node cannot transfer data. In FIG. 21, a case where the connection between the
また、従来の技術では、IO装置と接続される運用系IOノードに障害が生じた場合、計算ノードは、データを転送できない場合がある。図21において、計算ノード906がIO装置918にデータを転送する際に、運用系であるIOノード915に異常が生じ、IOノード914が待機系から運用系に切り替わった場合を例に説明する。
Further, in the conventional technique, when a failure occurs in the operational IO node connected to the IO device, the calculation node may not be able to transfer data. In FIG. 21, an example will be described in which when the
計算ノード906は、運用系のIOノードをIOノード915からIOノード914に切替えた場合でも、次元順ルーティングで選択された経路に従い、計算ノード907、計算ノード911、IOノード915にデータを転送してしまう。ここで、IOノード915がIOノード914へデータを転送できない場合、計算ノード906は、IO装置918にデータを転送できない。
The
また、IOノード915がIOノード914へデータを転送できる場合、計算ノード906は、IO装置918にデータを転送できるが、計算ノード906からIOノード914に至る最短経路よりも多くのノードを経由してIOノード914にデータを転送することになる。例えば、計算ノード906からIOノード914にデータを転送する場合に、経由するノード数が最小となる経路は、計算ノード910を経由した場合であるが、計算ノード906は、予め設定され経路に従うので、この経路を選択できない。このため、データを転送できる場合には、計算ノードによるデータの転送が遅延する可能性がある。
In addition, when the IO node 915 can transfer data to the
1つの側面では、データ転送の信頼性を向上することができる管理装置、情報処理装置、情報処理システム、データ転送方法、経路選択プログラム及び転送要求プログラムを提供することを目的とする。 In one aspect, an object is to provide a management device, an information processing device, an information processing system, a data transfer method, a route selection program, and a transfer request program that can improve the reliability of data transfer.
第1の案では、管理装置は、互いに接続された情報処理装置間あるいは情報処理装置と入出力装置との間の通信状態を記憶する。また、管理装置は、データを入出力する入出力装置と、入出力装置にデータを入出力する入出力処理装置間の通信状態を、入出力処理装置の識別情報に対応付けて記憶する。そして、管理装置は、入出力装置との間でのデータ転送を要求する転送要求をいずれかの情報処理装置から受信する。また、管理装置は、受信した転送要求に対して、入出力装置との間の通信経路を選択済みであるか否かを判定する。ここで、管理装置は、入出力装置との間の通信経路を選択済みであると判定した場合、選択した通信経路から転送先の情報処理装置あるいは入出力処理装置を特定する。一方、管理装置は、通信経路を選択済みではないと判定した場合、互いに接続された情報処理装置間あるいは情報処理装置と入出力装置との間の通信状態と前記入出力装置と、前記入出力装置にデータを入出力する入出力処理装置間の通信状態とに基づいて入出力装置との間の通信経路を選択する。続いて、管理装置は、選択した通信経路に基づいて、転送先の情報処理装置あるいは入出力処理装置を特定する。そして、管理装置は、特定した情報処理装置あるいは入出力装置を識別する識別子を、転送要求を発した情報処理装置に送信する。 In the first proposal, the management device stores a communication state between information processing devices connected to each other or between the information processing device and the input / output device. Further, the management device stores a communication state between the input / output device that inputs / outputs data and the input / output processing device that inputs / outputs data to / from the input / output device in association with the identification information of the input / output processing device. Then, the management device receives a transfer request for requesting data transfer with the input / output device from any of the information processing devices. Further, the management device determines whether or not a communication path with the input / output device has been selected in response to the received transfer request. Here, if the management apparatus determines that the communication path with the input / output apparatus has been selected, the management apparatus specifies the transfer destination information processing apparatus or input / output processing apparatus from the selected communication path. On the other hand, when the management device determines that the communication path has not been selected, the management device, the communication state between the information processing devices connected to each other or between the information processing device and the input / output device, the input / output device, and the input / output device A communication path with the input / output device is selected based on the communication state between the input / output processing devices that input / output data to / from the device. Subsequently, the management apparatus identifies the information processing apparatus or input / output processing apparatus as the transfer destination based on the selected communication path. Then, the management device transmits an identifier for identifying the specified information processing device or input / output device to the information processing device that has issued the transfer request.
データ転送の可用性を向上することができる。 The availability of data transfer can be improved.
以下に、本願の開示する管理装置、情報処理装置、情報処理システム、データ転送方法、経路選択プログラム及び転送要求プログラムの実施例を図面に基づいて詳細に説明する。なお、この実施例によりこの発明が限定されるものではない。そして、各実施例は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。 Hereinafter, embodiments of a management device, an information processing device, an information processing system, a data transfer method, a route selection program, and a transfer request program disclosed in the present application will be described in detail with reference to the drawings. Note that the present invention is not limited to the embodiments. Each embodiment can be appropriately combined within a range in which processing contents are not contradictory.
ここでは、実施例1に係るコンピュータシステムの構成、計算ノードの構成、IO(Input Output)ノードの構成、管理サーバの構成、計算ノードによる処理の処理手順、管理サーバによる処理の処理手順、実施例1に係る効果を順に説明する。 Here, the configuration of the computer system according to the first embodiment, the configuration of the computation node, the configuration of the IO (Input Output) node, the configuration of the management server, the processing procedure of the processing by the computing node, the processing procedure of the processing by the management server, the embodiment The effects according to 1 will be described in order.
[実施例1に係るコンピュータシステムの構成]
図1に示すコンピュータシステム1は、計算ノード2〜13と、IOノード14〜17と、IO装置20〜22と、管理サーバ100とを有する。ここで、コンピュータシステム1が有する計算ノードの数、IOノードの数、IO装置の数は一例であり、これに限定されるものではなく、任意に変更可能である。なお、計算ノード2〜13及び、IOノード14〜17は、情報処理装置の一例である。また、管理サーバ100は、管理装置の一例である。[Configuration of Computer System According to First Embodiment]
A computer system 1 illustrated in FIG. 1 includes
管理サーバ100と計算ノード2〜13それぞれとは、例えば、LAN(Local Area Network)で接続される。また、管理サーバ100とIOノード14〜17それぞれとは、例えば、LANで接続される。
The
また、隣接する各計算ノードと各計算ノードとの間、隣接する各計算ノードと各IOノードとの間、隣接する各IOノードと各IOノードとの間は、例えばインターコネクトによってメッシュ状に接続される。図1に示す一例では、計算ノード2は、計算ノード3、計算ノード6とそれぞれ接続される。計算ノード11は、計算ノード7、計算ノード10、計算ノード12、IOノード15とそれぞれ接続される。なお、コンピュータシステム1はメッシュ状に接続されるものとして説明するが、これに限定されるものではなく、例えば、トーラス状に接続されてもよい。
Moreover, between each adjacent calculation node and each calculation node, between each adjacent calculation node and each IO node, and between each adjacent IO node and each IO node, it connects in mesh shape by an interconnect, for example. The In the example illustrated in FIG. 1, the
また、IOノード14とIO装置20とは、Fibre Channel等のIOバスで接続される。IOノード15とIO装置20、21とは、Fibre Channelで接続される。IOノード16とIO装置22とは、Fibre Channel等で接続される。IOノード17とIO装置21、22とは、Fibre Channel等で接続される。なお、IOノードとIO装置はFibre Channelで接続されるもとして説明するが、これに限定されるものではなく、例えば、iSCSIなどで接続されてもよい。
The
図1の例では、IOノードは、IO装置に対して、アクティブ‐パッシブ構成であり、運用系であるIOノードとIO装置との接続を実線で示し、待機系であるIOノードとIO装置との接続を点線で示す。ここで、アクティブ‐パッシブ構成とは、IO装置を共有する複数のノードのうち、通常の運用時には運用系のノードがIO装置を専有する構成である。IO装置を共有する複数のノードは、運用系のノードと待機系のノードに分けられ、同一のIO装置を運用系のノードと待機系のノードが同時に使用することはない。通常の運用時には、運用系のノードのみがIO装置を使用し、運用系のノードに障害が発生した場合には待機系のノードがIO装置を使用する。例えば、IO装置20に対しては、IOノード14が運用系ノードであり、IOノード15が待機ノードである。IO装置21に対しては、IOノード15が運用系ノードであり、IOノード17が待機系ノードである。また、IO装置に22に対しては、IOノード17が運用系ノードであり、IO装置に22に対してIOノード16が待機系ノードである。なお、コンピュータシステムにおけるIO装置とIOノードは、アクティブ‐パッシブ構成に限定されるものではなく、例えば、同一のIO装置20をIOノード14とIOノード15とが同時に使用するアクティブ‐アクティブ構成であってもよい。
In the example of FIG. 1, the IO node has an active-passive configuration with respect to the IO device, and the connection between the active IO node and the IO device is indicated by a solid line, and the standby IO node and the IO device are connected to each other. Connections are indicated by dotted lines. Here, the active-passive configuration is a configuration in which an active node occupies the IO device during normal operation among a plurality of nodes sharing the IO device. A plurality of nodes sharing an IO device are divided into an active node and a standby node, and the active node and the standby node do not use the same IO device at the same time. During normal operation, only the active node uses the IO device, and when a failure occurs in the active node, the standby node uses the IO device. For example, for the
各計算ノード2〜13は、各IO装置20〜22から入力したデータをもとに各種演算を実行したり、各IO装置20〜22から入力したアプリケーションを実行したりする。
Each of the
計算ノードは、自装置と接続された計算ノードとの間の通信状態及び自装置と接続されたIOノードとの間の通信状態を監視し、監視した各通信状態を管理サーバ100に通知する。例えば、計算ノード12は、計算ノード8、計算ノード11、計算ノード13との間の通信状態及びIOノード16との間の通信状態を監視し、監視した各通信状態を管理サーバ100に通知する。
The calculation node monitors a communication state between the own device and the calculation node connected to the own device and a communication state between the own device and the IO node, and notifies the
また、各計算ノード2〜13は、IO装置との間でデータを転送する場合、IO装置との間でのデータ転送を要求することを示すデータ転送要求を管理サーバ100に送信する。例えば、図1に示す計算ノード7がIO装置21へデータを転送する場合について説明する。また、この場合、計算ノード7は、IO装置21と隣接していない。このため、計算ノード7がIO装置21へデータを転送する場合、隣接する他のノードにデータを中継することになる。なお、以下の説明では、データの転送開始元になるノードを「転送開始元」、データの最終的な転送先となるIO装置を「最終転送先」として適宜記す。
In addition, when each of the
計算ノード7は、「転送開始元である装置の識別子」と「自装置を識別する識別子」と「転送するデータを識別する識別子」と「最終転送先となるIO装置21の識別子」とを含んだ転送要求を管理サーバ100に送信する。なお、転送開始元である計算ノード7が送信する「転送開始元である装置の識別子」と「自装置を識別する識別子」とは同一の値が格納される。
The
続いて、計算ノード7は、管理サーバ100からデータ中継先のノードとなる転送先のノードとして計算ノード11であることを受信する。そして、計算ノード7は、計算ノード11にデータを送信する。ここで、計算ノード7が送信するデータには、「転送開始元である装置の識別子」と「自装置を識別する識別子」と「転送するデータを識別する識別子」と「最終転送先となるIO装置21の識別子」とが含まれる。
Subsequently, the
また、各計算ノード2〜13は、隣接する計算ノードからデータを受信した場合、管理サーバ100に転送要求を送信する。例えば、図1に示す計算ノード11が、「転送開始元」である計算ノード7から「最終転送先」であるIO装置21へ転送するデータを受信した場合について説明する。
In addition, each of the
計算ノード11は、受信したデータから「転送開始元である装置の識別子」と「自装置を識別する識別子」と「転送するデータを識別する識別子」と「最終転送先となるIO装置21の識別子」とを抽出する。そして、計算ノード11は、「転送開始元である計算ノード7の識別子」と「自装置を識別する識別子」と「転送するデータを識別する識別子」と「最終転送先となるIO装置21の識別子」とを含んだ転送要求を管理サーバ100に送信する。計算ノード11は、管理サーバ100からデータ中継先のノードとなる転送先のノードとしてIOノード15であることを受信する。そして、計算ノード11は、IOノード15に「転送開始元である計算ノード7の識別子」と「自装置を識別する識別子」と「転送するデータを識別する識別子」と「最終転送先となるIO装置21の識別子」とを含んだデータを送信する。
From the received data, the
各IOノード14〜17は、各IO装置20〜22への入出力を制御する。例えば、IOノード15は、計算ノード11から転送されたデータを受信し、IO装置21へ出力する。また、IOノード15は、IO装置21から読み出したデータを計算ノード11へ出力する。
Each IO node 14-17 controls input / output to each IO device 20-22. For example, the
IOノードは、自装置と接続されたIOノードとの間の通信状態及び自装置と接続された計算ノードとの間の通信状態及び自装置と接続されたIO装置との間の通信状態をそれぞれ監視し、監視した通信状態を管理サーバ100にそれぞれ通知する。例えば、IOノード15は、IOノード14、IOノード16との間の通信状態、計算ノード11との間の通信状態及びIO装置20、21との間の通信状態をそれぞれ監視し、監視した通信状態を管理サーバ100にそれぞれ通知する。
The IO node indicates a communication state between the own device and the IO node connected to the own device, a communication state between the own device and the calculation node connected to the own device, and a communication state between the own device and the IO device, respectively. The
各IO装置20〜22は、例えば、HDD(Hard Disk Drive)などの記憶装置であり、データやアプリケーションを記憶する。なお、ここでは、各IO装置20〜22をHDDなどの記憶装置として説明するが、HDDなどの記憶装置に限定されず、例えば、各種センサ、プリンタ、ディスプレイなどであってもよい。なお、以下の説明においては、各計算ノード2〜13及び各IOノード14〜17を単に各ノード2〜17として適宜記載するものとする。
Each of the
管理サーバ100は、通知された各計算ノード2〜13及び各IOノード14〜17それぞれの通信状態を記憶する。また、管理サーバ100は、データを記憶する複数のIO装置と、複数のIO装置へデータを入出力するノードとの通信状態を記憶する。
The
また、管理サーバ100は、複数のIO装置20〜22のいずれかにデータの転送を要求するデータ転送要求をいずれかのノードから受信した場合に、以下の処理を実行する。すなわち、管理サーバ100は、複数のノード間それぞれの通信状態と、IO装置へデータを入出力するノードとIO装置との通信状態に基づいて、IO装置との間の通信経路を選択する。また、管理サーバ100は、選択した通信経路に基づいて、転送先の計算ノードあるいはIOノードを特定する。そして、管理サーバ100は、特定した計算ノードあるいはIOノードを識別する識別子を、転送要求を発した計算ノードに送信する。
In addition, the
[計算ノードの構成]
図2は、実施例1に係る計算ノードの構成を示すブロック図である。図2に示すように、計算ノード2は、記憶部2aと、制御部2bとを有する。なお、計算ノード2〜13の構成は同様であるので、ここでは、計算ノード2の構成についてのみ説明し、計算ノード3〜13の構成については説明を省略する。[Compute node configuration]
FIG. 2 is a block diagram illustrating the configuration of the calculation node according to the first embodiment. As shown in FIG. 2, the
記憶部2aは、例えば、半導体メモリ素子、又はハードディスクなどの記憶装置であり、自装置で実行した各種の処理結果や自装置で実行する各種の処理に必要なデータやアプリケーションなどを記憶する。また、記憶部2aには、自装置を識別する識別子や、データを入出力するIO装置を識別する識別子などが格納される。
The
制御部2bは、第1通信部2cと、第2通信部2dと、リンク監視部2eと、転送要求部2fと転送部2gとを有する。例えば、制御部2bは、ASIC(Application Specific Integrated Circuit)、FPGA(Field Programmable Gate Array)、CPU(Central Processing Unit)やMPU(Micro Processing Unit)などの集積回路である。制御部2bは、制御プログラム、各種の処理手順などを規定したプログラムおよび各種の処理に必要なデータを格納するための内部メモリを有する。
The control unit 2b includes a first communication unit 2c, a
第1通信部2cは、管理サーバ100と、例えば、LANで接続され、管理サーバ100との情報のやり取りを制御する。例えば、第1通信部2cは、リンク監視部2eによって監視された通信状態を管理サーバ100に送信する。また、第1通信部2cは、管理サーバ100によって選択された転送先計算ノードまたはIOノードの識別子を管理サーバ100から受信する。第1通信部2cは、受信した転送先計算ノードまたはIOノードの識別子を転送要求部2fに出力する。
The first communication unit 2c is connected to the
第2通信部2dは、隣接する計算ノードや隣接するIOノードとインターコネクトによって接続され、隣接する計算ノードや隣接するIOノードとの情報のやり取りを制御する。例えば、第2通信部2dは、管理サーバ100から受信した転送先ノードの識別子に基づき、転送先ノードにデータを送信する。
The
リンク監視部2eは、隣接する計算ノードや隣接するIOノードとの通信状態を監視する。リンク監視部2eは、監視した通信状態を管理サーバ100に第1通信部2cを介して通知する。なお、リンク監視部2eは、通知部の一例である。
The
転送要求部2fは、データを入出力するIO装置との間でデータを転送する場合、自身がデータを転送すべき情報処理装置の識別子を要求する転送要求を管理サーバ100に送信する。例えば、データを入出力するIO装置に自装置が有するデータを転送する場合に、転送要求を生成し、第1通信部2cを介して生成した転送要求を管理サーバ100に送信する。
When transferring data to / from an IO device that inputs and outputs data, the
例えば、転送要求部2fは、IO装置に自装置が有するデータの転送を要求する場合、「データID」と、「転送開始元ID」と、「最終転送先ID」と、「転送元ID」とを含んだ転送要求を生成する。この転送要求に含まれる「データID」は、転送されるデータの識別子を示し、「転送開始元ID」は、データIDで識別されるデータの転送開始元になる計算ノードの識別子を示す。また、「最終転送先ID」は、データIDで識別されるデータの最終転送先となるIO装置の識別子を示し、「転送元ID」は、自装置の識別子を示す。なお、データの転送開始元になる計算ノードが生成した転送要求では、「転送開始元ID」と「転送元ID」には、同じ識別子が格納される。
For example, when the
また、転送要求部2fは、データを入出力するIO装置に他装置から受信したデータを転送する場合に、転送要求を生成し、第1通信部2cを介して生成した転送要求を管理サーバ100に送信する。
The
例えば、転送要求部2fは、IO装置に他装置から受信したデータの転送を要求する場合、「データID」と、「転送開始元ID」と、「最終転送先ID」と、「転送元ID」とを含んだ転送要求を生成する。この転送要求に含まれる「データID」、「転送開始元ID」、「最終転送先ID」には、受信したデータに含まれる「データID」、「転送開始元ID」、「最終転送先ID」と同じ識別子が格納される。すなわち、この転送要求に含まれる「データID」、「転送開始元ID」、「最終転送先ID」には、データの転送開始元になる計算ノードが生成した転送要求に含まれる「データID」、「転送開始元ID」、「最終転送先ID」と同じ識別子が格納される。また、「転送元ID」には、自装置の識別子が格納される。
For example, when the
また、転送要求部2fは、管理サーバ100に送信した転送要求に対して、リンク監視部2eによって通知された通信状態に基づいて管理サーバ100が選択した転送先計算ノードの識別子または転送先IOノードの識別子を管理サーバ100から第1通信部2cを介して受信する。そして、転送要求部2fは、受信した転送先計算ノードまたはIOノードの識別子を転送部2gに出力する。なお、転送要求部2fは、送信部、受信部の一例である。
In addition, the
転送部2gは、管理サーバ100から受信した転送先の計算ノードあるいはIOノードの識別子を持つ計算ノードあるいはIOノードにデータを転送する。例えば、転送部2gは、第1通信部2cを介して転送要求部2fから受信した転送先計算ノードまたはIOノードの識別子に基づき、転送先計算ノードまたは転送先IOノードに、第2通信部2dを介してデータを送信する。ここで、転送部2gが送信するデータには、「データID」と、「転送開始元ID」と、「最終転送先ID」と、「転送元ID」とが含まれる。このように、転送部2gは、転送先計算ノードまたは転送先IOノードに、「データID」と、「転送開始元ID」と、「最終転送先ID」と、「転送元ID」とを含んだデータを送信することで、データを受信したノードが、最終転送先を判定することができる。
The
[IOノードの構成]
図3は、実施例1に係るIOノードの構成を示すブロック図である。図3に示すように、IOノード14は、記憶部14aと、制御部14bとを有する。なお、IOノード14〜17の構成は同様であるので、ここでは、IOノード14の構成についてのみ説明し、IOノード15〜17の構成については説明を省略する。[IO node configuration]
FIG. 3 is a block diagram illustrating the configuration of the IO node according to the first embodiment. As shown in FIG. 3, the
記憶部14aは、例えば、半導体メモリ素子、又はHDDなどの記憶装置であり、自装置の識別子や、データを入出力するIO装置の識別子などを記憶する。
The
制御部14bは、第1通信部14cと、第2通信部14dと、第3通信部14eと、リンク監視部14fと、転送要求部14gと、転送部14hとを有する。例えば、制御部14bは、ASIC、FPGA、CPUやMPUなどの集積回路である。また、制御部14bは、制御プログラム、各種の処理手順などを規定したプログラムおよび所要データを格納するための内部メモリを有する。
The control unit 14b includes a
第1通信部14cは、管理サーバ100と、例えば、LANで接続され、管理サーバ100との情報のやり取りを制御する。例えば、第1通信部14cは、リンク監視部14fによって監視された通信状態を管理サーバ100に送信する。また、第1通信部14cは、管理サーバ100によって選択された転送先計算ノードまたはIOノードの識別子を管理サーバ100から受信する。第1通信部14cは、受信した転送先計算ノードまたはIOノードの識別子を転送要求部14gに出力する。
The
第2通信部14dは、隣接する計算ノードや隣接するIOノードと、例えば、Tofuなどのインターコネクトによって接続され、隣接する計算ノードや隣接するIOノードとの情報のやり取りを制御する。例えば、第2通信部14dは、管理サーバ100から受信した転送先ノードの識別子に基づき、転送先ノードにデータを送信する。
The
第3通信部14eは、IO装置と、例えばFibre Channelなどによって接続され、IO装置へのデータの入出力を制御する。例えば、第3通信部14eは、転送部14hから受信したデータをIO装置に出力する。
The
リンク監視部14fは、隣接する計算ノードや隣接するIOノードとの通信状態を監視する。リンク監視部14fは、監視した通信状態を管理サーバ100に、第1通信部14cを介して通知する。なお、リンク監視部14fは、通知部の一例である。
The
転送要求部14gは、データを入出力するIO装置にデータを転送する場合に、管理サーバ100に転送先ノードの識別子を要求する転送要求を生成する。そして、転送要求部14gは、生成した転送要求を管理サーバ100に第1通信部14cを介して送信する。また、転送要求部14gは、送信した転送要求に対して、リンク監視部14fによって通知された通信状態に基づいて、管理サーバ100が選択した転送先計算ノードまたは転送先IOノードの識別子を管理サーバ100から第1通信部14cを介して受信する。なお、転送要求部14gは、送信部、受信部の一例である。なお、転送要求部14gが生成する転送要求には、計算ノードの転送要求部2fが生成する転送要求と同様に「データID」と、「転送開始元ID」と、「最終転送先ID」と、「転送元ID」とが含まれる。
The
転送部14hは、第1通信部14cを介して受信した転送先ノードの識別子に基づき、転送先ノードに第2通信部14dを介してデータを送信する。また、転送部14hは、計算ノードやIOノードから受信したデータをIO装置に出力する。
The
[管理サーバの構成]
次に、図4を用いて、管理サーバの構成を説明する。図4は、実施例1に係る管理サーバの構成を示すブロック図である。図4に示すように、管理サーバ100は、記憶部110と、制御部120とを有する。[Management server configuration]
Next, the configuration of the management server will be described with reference to FIG. FIG. 4 is a block diagram illustrating the configuration of the management server according to the first embodiment. As illustrated in FIG. 4, the
記憶部110は、例えば、半導体メモリ素子、又はHDDなどの記憶装置であり、リンク管理テーブル111とIOノード管理テーブル112と転送データ管理テーブル113と通信経路管理テーブル114とを有する。
The
リンク管理テーブル111は、複数のノード間それぞれの通信状態を記憶する。図5は、リンク管理テーブルの一例を示す図である。例えば、リンク管理テーブル111は、図5に示すように、「リンクID」、「ノードa」、「ノードb」、「通信状態」をそれぞれ対応付けた情報を記憶する。 The link management table 111 stores communication states between a plurality of nodes. FIG. 5 is a diagram illustrating an example of the link management table. For example, as illustrated in FIG. 5, the link management table 111 stores information in which “link ID”, “node a”, “node b”, and “communication state” are associated with each other.
ここで、リンク管理テーブル111が記憶する「リンクID」には、隣接する計算ノードと計算ノードとの間、隣接する計算ノードとIOノードとの間、隣接するIOノードとIOノードとの間を接続するリンクの識別子が格納される。例えば、「リンクID」には、「xxx1」や「xxx2」などが格納される。 Here, the “link ID” stored in the link management table 111 includes information between adjacent calculation nodes and calculation nodes, between adjacent calculation nodes and IO nodes, and between adjacent IO nodes and IO nodes. Stores the identifier of the link to be connected. For example, “xxx1” and “xxx2” are stored in the “link ID”.
「ノードa」には、リンクIDで識別されるリンクを形成する計算ノード、IOノードのうち一方のノードの識別子が格納される。例えば、「ノードa」には、「計算ノード2」、「計算ノード3」などが格納される。また、「ノードb」には、リンクIDで識別されるリンクを形成する計算ノード、IOノードのうち他方の識別子が格納される。例えば、「ノードb」には、「計算ノード3」、「計算ノード4」などが格納される。
“Node a” stores the identifier of one of the calculation nodes and IO nodes forming the link identified by the link ID. For example, “compute
「通信状態」には、リンク識別子で識別されるリンクの通信状態を示す情報が格納される。例えば、「通信状態」には、通信状態が正常であることを示す「Normal」や通信状態が異常であることを示す「Fall」が格納される。リンク管理テーブル111として記憶される情報のうち、「リンクID、ノードa、ノードb」として記憶される情報は、予め管理者によって設定される。なお、リンク管理テーブル111は、第1記憶部の一例である。 The “communication state” stores information indicating the communication state of the link identified by the link identifier. For example, “Normal” indicating that the communication state is normal and “Fall” indicating that the communication state is abnormal are stored in the “communication state”. Of the information stored as the link management table 111, information stored as “link ID, node a, node b” is set in advance by the administrator. The link management table 111 is an example of a first storage unit.
図5に示す例では、リンク管理テーブル111は、リンクID「xxx1」で識別されるリンクは、計算ノード2と計算ノード3とを接続し、リンクの状態が正常であることを示す。同様に、リンク管理テーブル111は、リンクID「xxx2」で識別されるリンクは、計算ノード3と計算ノード4とを接続し、リンクの状態が正常であることを示す。
In the example illustrated in FIG. 5, the link management table 111 indicates that the link identified by the link ID “xxx1” connects the
IOノード管理テーブル112は、データを記憶する複数のIO装置と、前記複数のIO装置へデータを入出力するノードとの通信状態を記憶する。図6は、IOノード管理テーブルの一例を示す図である。例えば、IOノード管理テーブル112は、図6に示すように、「リンクID」、「IOノード」、「IO装置」、「通信状態」、「運用状態」をそれぞれ対応付けた情報を記憶する。 The IO node management table 112 stores communication states between a plurality of IO devices that store data and nodes that input and output data to the plurality of IO devices. FIG. 6 is a diagram illustrating an example of the IO node management table. For example, as shown in FIG. 6, the IO node management table 112 stores information in which “link ID”, “IO node”, “IO device”, “communication state”, and “operation state” are associated with each other.
ここで、IOノード管理テーブル112が記憶する「リンクID」には、IOノードとIO装置とを接続するリンクの識別子が格納される。例えば、「リンクID」には、「001」や「002」などが格納される。 Here, the “link ID” stored in the IO node management table 112 stores the identifier of the link connecting the IO node and the IO device. For example, “001”, “002”, and the like are stored in the “link ID”.
「IOノード」には、リンクIDで識別されるリンクを形成するIOノードの識別子が格納される。例えば、「IOノード」には、「IOノード14」や「IOノード15」などが格納される。
The “IO node” stores the identifier of the IO node that forms the link identified by the link ID. For example, “
「IO装置」には、リンクIDで識別されるリンクにより接続されるIO装置の識別子が格納される。例えば、「IO装置」には、「IO装置20」や「IO装置21」などが格納される。
The “IO device” stores an identifier of the IO device connected by the link identified by the link ID. For example, “
「通信状態」には、リンクの通信状態を示す情報が格納される。例えば、「通信状態」には、通信状態が正常であることを示す「Normal」や通信状態が異常であることを示す「Fall」が格納される。 The “communication state” stores information indicating the communication state of the link. For example, “Normal” indicating that the communication state is normal and “Fall” indicating that the communication state is abnormal are stored in the “communication state”.
「運用状態」には、リンクの状態が待機系であるか運用系であるかを示す情報が格納される。例えば、「運用状態」には、ノードの運用状態が運用系であることを示す「Active」やノードの運用状態が待機系であることを示す「Stanby」が格納される。 Information indicating whether the link state is the standby system or the active system is stored in the “operation status”. For example, “Active” indicating that the operation state of the node is the active system and “Standby” indicating that the operation state of the node is the standby system are stored in the “operation state”.
具体的には、IOノード管理テーブル112は、リンクID「001」で識別されるリンクは、IOノード14とIO装置20とを接続し、リンクの状態が正常であり、IOノード14が運用系であることを示す。同様に、IOノード管理テーブル112は、リンクID「002」で識別されるリンクは、IOノード15とIO装置20とを接続し、リンクの状態が正常であり、IOノード15が待機系であることを示す。IOノード管理テーブル112として記憶される情報のうち、「リンクID」、「IOノード」、「IO装置」、「運用状態」として記憶される情報は、予め管理者によって設定される。なお、IOノード管理テーブル112は、第2記憶部の一例である。
Specifically, in the IO node management table 112, the link identified by the link ID “001” connects the
図4に戻って、転送データ管理テーブル113は、転送を要求されたデータの識別子とデータの転送開始元ノードとデータの最終転送先ノードとを対応付けて記憶する。図7は、転送データ管理テーブルの一例を示す図である。例えば、転送データ管理テーブル113は、図7に示すように、「データID」、「転送開始元ID」、「最終転送先ID」をそれぞれ対応付けた情報を記憶する。 Returning to FIG. 4, the transfer data management table 113 stores an identifier of data requested to be transferred, a data transfer start source node, and a data final transfer destination node in association with each other. FIG. 7 is a diagram illustrating an example of the transfer data management table. For example, as illustrated in FIG. 7, the transfer data management table 113 stores information in which “data ID”, “transfer start source ID”, and “final transfer destination ID” are associated with each other.
ここで、転送データ管理テーブル113が記憶する「データID」には、転送を要求されたデータの識別子が格納される。例えば、「データID」には、「xxx1」や「xxx2」などが格納される。なお、データIDは、データの転送開始元になる計算ノードによって付与される。 Here, the “data ID” stored in the transfer data management table 113 stores the identifier of the data requested to be transferred. For example, “xxx1”, “xxx2”, and the like are stored in the “data ID”. The data ID is given by the calculation node that is the data transfer start source.
「転送開始元ID」には、データIDで識別されるデータの転送開始元になる計算ノードの識別子が格納される。例えば、「転送開始元ID」には、「計算ノード2」や「計算ノード7」などが格納される。なお、転送開始元IDは、データの転送開始元になる計算ノードによって付与される。
The “transfer start source ID” stores the identifier of the calculation node that is the transfer start source of the data identified by the data ID. For example, “
「最終転送先ID」には、データIDで識別されるデータの最終的な転送先となるIO装置の識別子が格納される。例えば、「最終転送先ID」には、「IO装置20」や「IO装置21」などが格納される。なお、最終転送先IDは、データの転送開始元になる計算ノードによって付与される。
The “final transfer destination ID” stores the identifier of the IO device that is the final transfer destination of the data identified by the data ID. For example, “
図7に示す例では、転送データ管理テーブル113は、計算ノード2を転送開始元にしてIO装置20へ転送するデータのIDが「xxx1」であることを示す。同様に、転送データ管理テーブル113は、計算ノード7を転送開始元にしてIO装置21へ転送するデータのIDが「xxx2」であることを示す。
In the example illustrated in FIG. 7, the transfer data management table 113 indicates that the ID of data transferred to the
図4に戻って、通信経路管理テーブル114は、転送を要求されたデータをデータ転送先へ転送する通信経路を記憶する。図8は、通信経路管理テーブルの一例を示す図である。例えば、通信経路管理テーブル114は、図8に示すように、「データID」、「通信経路ID」、「転送元ID」、「転送先ID」、「転送開始元ID」、「最終転送先ID」をそれぞれ対応付けた情報を記憶する。なお、「データID」、「転送開始元ID」、「最終転送先ID」に格納される情報については、転送データ管理テーブル113と同様であるので説明を省略する。 Returning to FIG. 4, the communication path management table 114 stores a communication path for transferring data requested to be transferred to a data transfer destination. FIG. 8 is a diagram illustrating an example of a communication path management table. For example, as shown in FIG. 8, the communication path management table 114 includes “data ID”, “communication path ID”, “transfer source ID”, “transfer destination ID”, “transfer start source ID”, “final transfer destination”. Information associated with each “ID” is stored. Note that the information stored in the “data ID”, “transfer start source ID”, and “final transfer destination ID” is the same as that in the transfer data management table 113, and thus the description thereof is omitted.
ここで、「通信経路ID」には、データIDで識別されるデータをIO装置に転送する通信経路を転送区間毎に分割した転送区間の識別子が格納される。例えば、「通信経路ID」には、分割された転送区間を識別する「xxx2.01」や「xxx2.02」などが格納される。 Here, the “communication path ID” stores a transfer section identifier obtained by dividing a communication path for transferring data identified by the data ID to the IO device for each transfer section. For example, “xxx 2.01” or “xxx 2.02” for identifying the divided transfer sections is stored in the “communication path ID”.
「転送元ID」には、通信経路IDに対応する転送元ノードの識別子が格納される。例えば、「転送元ID」には、「計算ノード7」や「計算ノード11」などが格納される。「転送先ID」には、通信経路IDに対応する転送先ノードの識別子が格納される。例えば、「転送先ID」には、「計算ノード11」や「IOノード15」などが格納される。
The “transfer source ID” stores an identifier of the transfer source node corresponding to the communication path ID. For example, “
図8に示す例では、通信経路管理テーブル114は、計算ノード7を転送開始元にして、IO装置21を最終転送先にするデータの転送がデータID「xxx2」で識別されることを示す。また、通信経路管理テーブル114は、このデータの転送には、通信経路として「xxx2.01」、「xxx2.02」、「xxx2.03」で識別される3つに分割された転送区間が存在することを示す。また、通信経路管理テーブル114は、最初の転送区間である「xxx2.01」は、計算ノード7を転送元にして計算ノード11を転送先にする経路であることを示す。通信経路管理テーブル114は、2番目の転送区間である「xxx2.02」は、転送元である計算ノード11から転送先であるIOノード15への経路であることを示す。通信経路管理テーブル114は、3番目の転送区間である「xxx2.03」は、転送元であるIOノード15から転送先であるIO装置21への経路であることを示す。
In the example illustrated in FIG. 8, the communication path management table 114 indicates that the data transfer having the
図4に戻り、制御部120は、受信部121と、送信部122と、更新部123と、選択部124とを有する。例えば、制御部120は、ASIC、FPGA、CPUやMPUなどの集積回路である。制御部120は、制御プログラム、各種の処理手順などを規定したプログラムおよび各種の処理に必要なデータを格納するための内部メモリを有する。
Returning to FIG. 4, the
受信部121は、計算ノードそれぞれから各計算ノードが隣接する計算ノードやIOノードとの間を接続するリンクの通信状態を示す情報やIOノードとIO装置との間を接続するリンクの通信状態を示す情報を受信する。そして、受信部121は、受信したリンクの通信状態を示す情報を更新部123に出力する。
The receiving
また、受信部121は、複数の計算ノードやIOノードのいずれかから、隣接する計算ノードやIOノードとの通信状態又はIO装置との通信状態が変更されたことを示す情報を受信する。受信部121は、計算ノードの通信状態やIOノードの通信状態が更新されたことを示す情報を受信した場合、更新部123に出力する。
The receiving
また、受信部121は、複数のIO装置のいずれかにデータの転送を要求する転送要求を計算ノードやIOノードのいずれかから受信する。例えば、受信部121は、計算ノードからIO装置へデータ転送を要求していることを示す転送要求を受信する。そして、受信部121は、計算ノードIO装置へデータ転送を要求していることを示す転送要求を選択部124に出力する。
Further, the
送信部122は、選択部124によって選択されたデータ転送先ノードの識別子を受信し、IO装置へデータ転送を要求している計算ノードに、受信したデータ転送先ノードの識別子を送信する。
The
更新部123は、受信部121から受付けた、各計算ノードが接続するリンクの通信状態及び各IOノードが接続するリンクの通信状態から、各ノード間を接続するリンクと、このリンクの通信状態とを対応付けた情報を生成する。
The updating
図5に示す例では、更新部123は、受信部121を介して、計算ノード2から計算ノード3との通信状態が正常であることを示す通知を受信した場合、図5中(A)に示すように、情報を格納する。すなわち、更新部123は、リンクID「xxx1」の「通信状態」に通信状態が正常であることを示す「Normal」を格納する。
In the example illustrated in FIG. 5, when the
図6に示す例では、更新部123は、受信部121を介して、IOノード14からIO装置20との通信状態が正常であることを示す通知を受信した場合、図6中(A)に示すように情報を格納する。すなわち、更新部123は、リンクID「001」の「通信状態」に通信状態が正常であることを示す「Normal」を格納する。
In the example illustrated in FIG. 6, when the
また、更新部123は、受信部121から各計算ノードによって形成されるリンクの通信状態や各IOノードによって形成されるリンクの通信状態が更新されたことを示す通知を受信した場合、リンク管理テーブル111やIOノード管理テーブル112を更新する。図9及び図10を用いて更新部123によるリンク管理テーブル111の更新処理について説明する。図9は、計算ノード11とIOノード15との通信状態に異常が生じたコンピュータシステムの一例を示す図であり、図10は、更新部によって更新されたリンク管理テーブルの一例を示す図である。
Further, when the
図9に示すコンピュータシステムの場合、更新部123は、受信部121から計算ノード11とIOノード15との間で形成されるリンクの通信状態が異常であることを示す通知を受信する。このような場合には、更新部123は、図10中(A)に示すように、リンク管理テーブル111の「リンクID=xxx7」に対応する「通信状態」に、通信状態が異常であることを示す「Fall」を格納する。
In the case of the computer system shown in FIG. 9, the updating
また、更新部123は、IOノードに異常が生じたことを示す通知をIOノードから受信した場合、IOノード管理テーブル112及びリンク管理テーブル111を更新する。図11及び図12を用いて更新部123によるIOノードに異常が生じた場合のIOノード管理テーブル112及びリンク管理テーブル111の更新処理について説明する。図11は、実施例1に係るIOノードに異常が生じたコンピュータシステムの一例を示す図であり、図12は、生成部によって更新されたIOノード管理テーブルの一例を示す図である。
Further, the
図11に示すように、IOノード15において障害が生じた場合には、更新部123は、以下の処理を実行する。すなわち、更新部123は、図12中(A)に示すように、IOノード管理テーブル112の「リンクID=003」に対応する「通信状態」に、通信状態が異常であることを示す「Fall」を格納し、「運用状態」に、異常であることを示す「Fall」を格納する。また、更新部123は、図10中(A)に示すように、リンク管理テーブル111の「リンクID=xxx7」に対応する「通信状態」に、通信状態が異常であることを示す「Fall」を格納する。
As shown in FIG. 11, when a failure occurs in the
選択部124は、データ転送要求を受信した場合に、リンク管理テーブル111とIOノード管理テーブル112に記憶されるリンクの通信状態に基づいて、IO装置へデータを転送できる通信経路を選択する。以下、選択部124による処理の一例を詳細に説明する。なお、選択部124は、特定部の一例である。
When receiving the data transfer request, the
例えば、選択部124は、データ転送要求を受信した場合、通信経路を選択済みであるか否かを判定する。選択部124は、通信経路を選択済みであると判定した場合に、経路管理テーブル114から転送先ノードを抽出する。
For example, when receiving a data transfer request, the
具体的には、選択部124は、データ転送要求に含まれるデータIDと転送開始元計算ノードを識別する転送開始元IDと最終転送先IO装置を識別する最終転送先IDとデータの転送元ノードを識別する転送元IDとを抽出する。そして、選択部124は、抽出したデータIDと一致するデータIDが転送データ管理テーブル113に存在するか否かを判定する。
Specifically, the
ここで、選択部124は、抽出したデータIDと一致するデータIDが転送データ管理テーブル113に存在すると判定した場合、通信経路を選択済みであると判定する。そして、選択部124は、経路管理テーブル114を検索し、データIDと転送開始元IDと最終転送先IDと転送元IDとが一致するレコードの転送先IDを抽出する。その後、選択部124は、抽出した転送先IDを送信部122に出力する。
If the
一方、選択部124は、抽出したデータIDと一致するデータIDが転送データ管理テーブル113に存在しないと判定した場合、通信経路を選択済みではないと判定する。なお、選択部124が通信経路を選択済みではないと判定する一例として、転送開始元ノードから転送要求を受付けた場合が挙げられる。
On the other hand, if the
そして、選択部124は、通信経路を選択済みではないと判定した場合、リンク管理テーブル111とIOノード管理テーブル112とを参照し、計算ノードから要求されたIO装置へデータを転送することができる最短の通信経路を選択する。
If the
具体的には、選択部124は、抽出したデータIDと一致するデータIDが転送データ管理テーブル113に存在しないと判定した場合、通信経路を選択済みではないと判定する。そして、選択部124は、抽出したデータIDと転送開始元IDと最終転送先IDとを対応付けて転送データ管理テーブル113に格納する。
Specifically, when the
選択部124は、IOノード管理テーブル112を読み出して、データ転送先のIO装置へデータを入出力する運用系のIOノードが存在するか否かを判定する。また、選択部124は、データ転送先のIO装置へデータを入出力する運用系のIOノードが存在すると判定した場合、当該運用系のIOノードを選択する。そして、選択部124は、リンク管理テーブル111を読み出して、データ転送開始元の計算ノードから選択したIOノードまでの最短経路を一つ選択する。
The
また、選択部124は、選択した経路上のリンクに異常があるか否かを判定し、異常がないと判定した場合に選択した通信経路を経路管理テーブル114として生成する。そして、選択部124は、経路管理テーブル114を検索し、データIDと転送開始元IDと最終転送先IDと転送元IDとが一致するレコードの転送先IDを抽出する。選択部124は、抽出した転送先IDを送信部122に出力する。
Further, the
また、選択部124は、選択した経路上のリンクに異常があると判定した場合、異常があると判定されたリンクを迂回する迂回経路を選択し、迂回経路が選択できたか否かを判定する。そして、選択部124は、迂回経路が選択できたと判定した場合、選択した迂回経路上のリンクに異常があるか否かを判定する。また、選択部124は、迂回経路を選択できないと判定した場合、管理者に異常を通知する。
If the
一方、選択部124は、データ転送先のIO装置へデータを入出力する運用系のIOノードが存在しないと判定した場合、データ転送先のIO装置と接続する待機系のIOノードが存在するか否かを判定する。そして、選択部124は、データ転送先のIO装置と接続する待機系のIOノードが存在すると判定した場合、IOノード管理テーブル112に記憶されるIO装置へデータを入出力するIOノードを待機系のIOノードに更新する。そして、選択部124は、IO装置に接続するするIOノードを選択し、選択したIOノードまでの最短経路を一つ選択する。
On the other hand, if the
図11に示すように、IO装置21へデータを入出力するIOノード15において障害が生じた場合には、選択部124は、以下の処理を実行する。すなわち、選択部124は、IOノード管理テーブル112の、IOノード17とIO装置21とを接続するリンクを示すリンクIDに対応する「運用状態」に運用系であることを示す「Active」を格納する。
As illustrated in FIG. 11, when a failure occurs in the
次に、計算ノード7がIO装置21へデータ転送を要求した場合の選択部124による通信経路選択処理について、図1、図9、図11を例に用いて説明する。選択部124は、IO装置21と接続されるIOノードとしてIOノード15を選択する。そして、選択部124は、図1に示すように、通信経路に異常がない場合、計算ノード7からIO装置21へデータを転送する転送ノードとして、計算ノード11、計算ノード15を選択する。この場合、選択部124は、データ転送先として計算ノード11を選択し、選択したデータ転送先を送信部122に出力する。なお、この場合、選択部124は、選択した転送ノードの識別子に基づき、図8に示した通信経路管理テーブル114を生成する。
Next, communication path selection processing by the
図9に示すように、計算ノード11と計算ノード15との間を接続するリンクが障害等により使用できない場合、選択部124は、以下の処理を実行する。すなわち、選択部124は、計算ノード11と計算ノード15との間で形成されるリンクを迂回する通信経路を選択する。
As shown in FIG. 9, when the link connecting the
例えば、選択部124は、IO装置21と接続されるIOノードとしてIOノード15を選択し、計算ノード7からIO装置21へデータを転送する転送ノードとして、計算ノード11、計算ノード12、IOノード16、IOノード15を選択する。選択部124は、選択した転送ノードの識別子に基づき図13Aに示す通信経路管理テーブル114を生成する。なお、図13Aは、通信経路管理テーブルの一例を示す図である。この場合、選択部124は、データ転送先として計算ノード11を選択し、選択したデータ転送先を送信部122に出力する。なお、選択部124が選択する通信経路はこれに限定されるものではない。例えば、選択部124は、計算ノード7からIO装置21へデータを転送する転送ノードとして、計算ノード11、計算ノード10、IOノード14、IOノード15を選択してもよい。
For example, the
図11に示すように、IOノード15に異常が生じ、IOノード15とIO装置21との間を接続するリンクを経由できない場合、選択部124は、以下の処理を実行する。すなわち、選択部124は、IO装置21と接続されるIOノードとしてIOノード17を選択する。そして、選択部124は、例えば、計算ノード7からIO装置21へデータを転送する転送ノードとして、計算ノード11、計算ノード12、計算ノード13、IOノード17を選択する。選択部124は、選択した転送ノードの識別子に基づき、図13Bに示す通信経路管理テーブル114を生成する。なお、図13Bは、通信経路管理テーブルの一例を示す図である。この場合、選択部124は、データ転送先として計算ノード11を選択し、選択したデータ転送先を送信部122に出力する。なお、選択部124が選択する通信経路はこれに限定されるものではない。例えば、選択部124は、計算ノード7からIO装置21へデータを転送する転送ノードとして、計算ノード11、計算ノード12、IOノード16、IOノード17を選択してもよい。
As illustrated in FIG. 11, when an abnormality occurs in the
[計算ノードによるデータ転送処理の処理手順]
次に、図14を用いて、実施例1に係る計算ノードによるIO装置へのデータ転送処理の処理手順について説明する。図14は、計算ノードによるIO装置へのデータ転送処理の処理手順を示すフローチャートである。ここでは、計算ノード2を用いて説明するが、ここで説明する処理は、計算ノード2による処理に限定されるものではなく、他の計算ノードやIOノードにおいても同様の処理が実行される。[Processing procedure of data transfer processing by compute node]
Next, a processing procedure of data transfer processing to the IO device by the calculation node according to the first embodiment will be described with reference to FIG. FIG. 14 is a flowchart illustrating a processing procedure of data transfer processing to the IO device by the calculation node. Here, the description will be made using the
計算ノード2は、いずれかのIO装置へ転送するデータが存在すると判定した場合(ステップS101、Yes)、自装置のIDとデータのIDと転送開始元IDと最終転送先IDとを管理サーバ100に送信する(ステップS102)。例えば、計算ノード2は、いずれかのIO装置に転送するデータを自身が生成した場合、または、隣接する計算ノードからいずれかのIO装置に転送するデータを受信した場合、IO装置へ転送するデータが存在すると判定する。なお、計算ノード2は、いずれかのIO装置に転送するデータを自身が生成した場合、自身でデータIDを生成する。
If the
計算ノード2は転送先ノードの識別子を管理サーバ100から受信し(ステップS103)、受信した転送先ノードの識別子に基づいて、転送先ノードにデータを送信する(ステップS104)。例えば、計算ノード2は、データID、自装置のID、転送開始元ID、最終転送先IDなどを含んだデータを転送先ノードに転送する。計算ノード2は、その後処理を終了する。
The
[実施例1に係る管理サーバの処理の処理手順]
次に図15、図16、図17を用いて、実施例1に係る管理サーバ100の処理の処理手順を説明する。ここでは、図15を用いて管理サーバ100によるデータ転送処理の処理手順を説明し、図16を用いて管理サーバ100によるリンク管理テーブル及びIOノード管理テーブル更新処理の処理手順を説明し、図17を用いて、管理サーバ100による経路選択処理の処理手順を説明する。[Processing Procedure of Management Server According to First Embodiment]
Next, the processing procedure of the processing of the
(データ転送処理の処理手順)
図15は、実施例1に係る管理サーバによるデータ転送処理の処理手順を示すフローチャートである。例えば、管理サーバ100は、いずれかの計算ノードからIO装置へデータの転送要求を受付けたことを契機に処理を実行する。(Data transfer processing procedure)
FIG. 15 is a flowchart of the data transfer process performed by the management server according to the first embodiment. For example, the
図15に示すように、管理サーバ100の受信部121が、IO装置へのデータ転送要求を計算ノードから受信する(ステップS201)。そして、選択部124は、データIDを抽出し(ステップS202)、抽出したデータIDに対応する経路を選択済みであるか否かを判定する(ステップS203)。ここで、選択部124は、抽出したデータIDと一致するデータIDが転送データ管理テーブル113に存在するか否かを判定する。そして、選択部124は、抽出したデータIDと一致するデータIDが転送データ管理テーブル113に存在すると判定した場合、通信経路を選択済みであると判定する。一方、選択部124は、抽出したデータIDと一致するデータIDが転送データ管理テーブル113に存在しないと判定した場合、通信経路を選択済みではないと判定する。
As illustrated in FIG. 15, the
選択部124は、経路を選択済みではないと判定した場合(ステップS203、No)、通信経路を選択する処理を実行する(ステップS204)。選択部124によって経路が選択済みであると判定された場合(ステップS203、Yes)、あるいは選択部124が実行するステップS204の処理によって通信経路が選択された場合、送信部122は、選択された経路から転送先のノードを判別し、転送先を計算ノードに通知する(ステップS205)。選択部124は、その後処理を終了する。
When it is determined that the route has not been selected (No at Step S203), the
(リンク管理テーブル及びIOノード管理テーブル更新処理の処理手順)
図16は、リンク管理テーブル及びIOノード管理テーブル更新処理の処理手順を示すフローチャートである。管理サーバ100は、IOノードが異常であることを示す通知を異常が生じたIOノードから受信したことを契機に処理を実行する。(Link management table and IO node management table update processing procedure)
FIG. 16 is a flowchart showing the processing procedure of the link management table and IO node management table update processing. The
図16に示すように、管理サーバ100は、IOノードから更新通知を受信した場合(ステップS301、Yes)、IOノード管理テーブル112の「通信状態」を更新する(ステップS302)。例えば、管理サーバ100は、IOノード15から異常が生じたことを通知された場合、IOノード管理テーブル112の「通信状態」に異常を示す「Fall」を格納する。また、管理サーバ100が、異常から復旧したIOノード15から正常である旨を通知された場合、IOノード管理テーブル112の「通信状態」に正常を示す「Normal」を格納し、「運用状態」に「Stanby」を格納する。
As illustrated in FIG. 16, when the
また、管理サーバ100は、リンク管理テーブル111のうち異常が生じたIOノードとの通信状態を更新する(ステップS303)。例えば、管理サーバ100は、IOノード15から異常が生じたことを通知された場合、リンク管理テーブル111のうちIOノード15と形成するリンクの「通信状態」に異常を示す「Fall」を格納する。また、管理サーバ100は、異常から復旧したIOノード15から正常である旨を通知された場合、リンク管理テーブル111のうちIOノード15と形成するリンクの「通信状態」に正常を示す「Normal」を格納する。
Further, the
(経路選択処理の処理手順)
図17は、経路選択処理の処理手順を示すフローチャートである。この処理は、図15のステップS204の処理に対応し、選択部124が、抽出したデータIDに対応する経路を選択済みではないと判定したことを契機に処理を実行する。(Route selection process)
FIG. 17 is a flowchart illustrating a processing procedure of route selection processing. This process corresponds to the process of step S204 in FIG. 15 and is executed when the
図17に示すように、管理サーバ100の選択部124は、データ転送元の計算ノードとデータ転送先のIO装置とを抽出し(ステップS401)、転送データ管理テーブル113を生成する(ステップS402)。
As illustrated in FIG. 17, the
選択部124は、IOノード管理テーブル112を読み出し(ステップS403)、データ転送先のIO装置と接続された運用系IOノードが存在するか否かを判定する(ステップS404)。ここで、選択部124は、データ転送先のIO装置と接続された運用系IOノードが存在しないと判定した場合(ステップS404、No)、以下の処理を実行する。すなわち、選択部124は、データ転送先IO装置と接続された待機系IOノードが存在するか否かを判定する(ステップS405)。
The
選択部124によってデータ転送先IO装置と接続された待機系IOノードが存在すると判定された場合(ステップS405、Yes)、更新部123は、IOノード管理テーブル112及びリンク管理テーブル111を更新する(ステップS406)。
When the
選択部124は、データ転送先のIO装置と接続された運用系IOノードが存在すると判定した場合(ステップS404、Yes)、ステップS406でIOノード管理テーブル112及びリンク管理テーブル111を更新した場合、以下の処理を実行する。すなわち、選択部124は、IOノードを選択し(ステップS407)、続いて、リンク管理テーブル111を読み出す(ステップS408)。
When the
次に、選択部124は、データ転送元の計算ノードから選択したIOノードまでの最短経路を一つ選択し(ステップS409)、選択した経路上のリンクまたはノードに異常があるか否かを判定する(ステップS410)。そして、選択部124は、選択した経路上のリンクまたはノードに異常がないと判定した場合(ステップS410、No)、通信経路管理テーブル114を生成し(ステップS411)、処理を終了する。
Next, the
一方、選択部124は、選択した経路上のリンクまたはノードに異常があると判定した場合(ステップS410、Yes)、異常なリンクをまたはノード迂回する経路のうち最短となる経路を一つ選択する(ステップS412)。そして、選択部124は、最短経路を選択できたか否かを判定する(ステップS413)。ここで、選択部124は、最短経路を選択できたと判定した場合(ステップS413、Yes)、ステップS410に移行し、選択した最短経路上のリンクまたはノードに異常があるか否かを判定する。
On the other hand, when the
一方、選択部124は、最短経路を選択できないと判定した場合(ステップS413、No)、異常を通知し(ステップS414)、処理を終了する。また、選択部124は、データ転送先IO装置と接続された待機系IOノードが存在しないと判定した場合(ステップS405、No)、異常を通知し(ステップS414)、処理を終了する。
On the other hand, if the
[実施例1の効果]
上述してきたように、本実施例1では、管理サーバ100の選択部124は、生成した通信経路管理テーブル114から特定した転送先ノードの識別子を転送開始元ノードに通知する。このため、コンピュータシステム1の一部のリンクまたはノードに異常が発生した場合でも、データの転送元である計算ノードは、転送先であるIO装置にデータを転送することができる。例えば、コンピュータシステム1では、通信経路上のリンクまたはノードでトラブルが発生した場合にシステムの可用性を向上させるために転送される可用性向上用データをIO装置に転送することができる。[Effect of Example 1]
As described above, in the first embodiment, the
なお、管理サーバ100は、生成した通信経路管理テーブル114から転送先ノードを特定し、特定した転送先ノードの識別子を転送開始元ノードに送信するものとして説明したが、これに限定されるものではない。例えば、管理サーバ100は、通信経路管理テーブル114を生成し、通信経路上の全ての計算ノードとIOノードとに生成した通信経路管理テーブル114を送信するようにしてもよい。
Although the
実施例1では、入出力するデータ全体を一まとめに転送する場合について説明した。ところで、転送先のIOノード上で、書込み対象のデータを複数回に分けて追加書きできる場合は、データ全体を一まとめに転送する必要はない。また、データを複数のデータに分割するデータチャンク管理機構が存在する場合は、各データチャンクの通信毎にタイムスロットを割り当てて通信してもよい。そこで、実施例2では、データを分割するデータチャンク管理機構と、各リンクの利用権を一定時間毎あるいは転送単位毎のタイムスロットに分割し、それらを資源として管理するタイムスロット管理機構とを備えた管理サーバの実施例について説明する。 In the first embodiment, the case where the entire input / output data is transferred together has been described. By the way, when the data to be written can be additionally written in multiple times on the transfer destination IO node, it is not necessary to transfer the entire data all at once. Further, when there is a data chunk management mechanism that divides data into a plurality of data, communication may be performed by allocating a time slot for each communication of each data chunk. Therefore, the second embodiment includes a data chunk management mechanism that divides data, and a time slot management mechanism that divides the right to use each link into time slots for each fixed time or transfer unit, and manages them as resources. An embodiment of the management server will be described.
[実施例2に係る管理サーバの構成]
図18は、実施例2に係る管理サーバの構成を示すブロック図である。図18に示すように、管理サーバ200は、記憶部110、制御部220を有する。なお、ここでは、図4に示した各部と同様の役割を果たす機能部については、同一符号を付すことにしてその詳細な説明を省略する。[Configuration of Management Server According to Second Embodiment]
FIG. 18 is a block diagram illustrating the configuration of the management server according to the second embodiment. As illustrated in FIG. 18, the
制御部220は、受信部121、送信部122、更新部123、選択部124、タイムスロット管理部225、データチャンク管理部226を有する。
The
タイムスロット管理部225は、一定時間毎あるいは転送単位毎のタイムスロットに分割した各リンクの利用権を通信資源として管理する。例えば、タイムスロット管理部225は、データ量に対し利用可能なリンクの帯域の合計が小さい場合、各計算ノードからIO装置までの経路中の各リンクの利用権の請求を受付け、各リンクの利用権を割り当てる。また、タイムスロット管理部225は、各リンクの利用権の情報を送信部122に出力する。この結果、送信部122は、リンクの利用権を請求した計算ノードに、リンクの利用権の割り当てを送信する。
The time
データチャンク管理部226は、所定サイズに分割された転送単位であるデータチャンクの分割前のデータとの対応付け、および各データチャンクの転送先を管理する。例えば、データチャンク管理部226は、時分割されたタイムスロットの管理を行なうことにより、自装置が行う通信と他のノードが行なう通信とで、通信帯域を有効に利用できる。
The data
このように管理サーバ200がデータを分割し、各リンクの利用権を一定時間毎あるいは転送単位毎のタイムスロットに分割する結果、計算ノードは、通信帯域を超えるデータ転送が開始された場合の輻輳による実効通信帯域の低下を防止できる。例えば、管理サーバ200は、短時間のうちに転送すべきデータが大量に発生する可用性データの転送において有効である。
As described above, the
ところで、本発明は、上述した実施例以外にも、種々の異なる形態にて実施されてよい。そこで、実施例3では、本発明に含まれる他の実施例について説明する。 By the way, this invention may be implemented with a various different form other than the Example mentioned above. Thus, in the third embodiment, another embodiment included in the present invention will be described.
(システム構成等)
実施例1及び実施例2において説明した各処理のうち自動的に行われるものとして説明した処理の全部または一部を手動的に行うこともできる。あるいは、手動的に行われるものとして説明した処理の全部又は一部を公知の方法で自動的に行うこともできる。この他、上記文章中や図面中で示した処理手順、制御手順、具体的名称については、特記する場合を除いて任意に変更することができる。(System configuration etc.)
Of the processes described in the first and second embodiments, all or a part of the processes described as being automatically performed may be performed manually. Alternatively, all or part of the processing described as being performed manually can be automatically performed by a known method. In addition, the processing procedures, control procedures, and specific names shown in the text and drawings can be arbitrarily changed unless otherwise specified.
また、図示した記憶部が格納する情報は一例に過ぎず、必ずしも図示のごとく情報が格納される必要はない。 Further, the information stored in the illustrated storage unit is only an example, and it is not always necessary to store the information as illustrated.
選択部124は、抽出したデータIDと一致するデータIDが転送データ管理テーブル113に存在するか否かを判定することで、抽出したデータIDに対応する経路を選択済みであるか否かを判定するものとして説明したがこれに限定されるものではない。例えば、選択部124は、転送要求に含まれる「転送開始元ID」と「転送元ID」とを抽出し、「転送開始元ID」と「転送元ID」とが一致するか否かを判定することで経路を選択済みであるか否かを判定するようにしてもよい。そして、選択部124は、「転送開始元ID」と「転送元ID」とが一致すると判定した場合、経路を未選択であると判定する。一方、選択部124は、「転送開始元ID」と「転送元ID」とが一致しないと判定した場合、経路を選択済みであると判定する。すなわち、選択部124は、転送開始元から転送要求を受けた場合には経路を未選択であると判定し、転送開始元ではないノードから転送要求を受けた場合には経路を選択済みであると判定する。
The
また、隣接する計算ノードと計算ノードとの間、隣接する計算ノードとIOノードとの間、隣接するIOノードとIOノードとの間のリンクは物理的なリンクとして説明したが、これに限定されるものではない。例えば、隣接する計算ノードと計算ノードとの間、隣接する計算ノードとIOノードとの間、隣接するIOノードとIOノードとの間のリンクは、仮想チャネルであってもよい。 In addition, although the link between the adjacent calculation node and the calculation node, between the adjacent calculation node and the IO node, and between the adjacent IO node and the IO node has been described as a physical link, it is not limited to this. It is not something. For example, a link between an adjacent computation node and a computation node, between an adjacent computation node and an IO node, and between an adjacent IO node and an IO node may be a virtual channel.
また、各種の負荷や使用状況などに応じて、各実施例において説明した各処理の各ステップでの処理の順番を変更してもよい。例えば、図16に示すステップS302とステップS303とを同時に実行しても良い。 Further, the order of processing in each step of each processing described in each embodiment may be changed according to various loads and usage conditions. For example, step S302 and step S303 shown in FIG. 16 may be executed simultaneously.
また、図示した各構成部は、機能概念的なものであり、必ずしも物理的に図示のごとく構成されていることを要しない。例えば、管理サーバ100が有する更新部123と選択部124とは統合されてもよい。さらに、各装置にて行われる各処理機能は、その全部または任意の一部が、CPUおよび当該CPUにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
Each illustrated component is functionally conceptual and does not necessarily need to be physically configured as illustrated. For example, the
(プログラム)
ところで、上記実施例で説明した各種の処理は、あらかじめ用意されたプログラムをパーソナルコンピュータやワークステーションなどのコンピュータシステムで実行することによって実現することができる。そこで、以下では、上記実施例と同様の機能を有するプログラムを実行するコンピュータの一例を説明する。(program)
By the way, the various processes described in the above embodiments can be realized by executing a program prepared in advance on a computer system such as a personal computer or a workstation. Therefore, in the following, an example of a computer that executes a program having the same function as the above embodiment will be described.
図19は、経路選択プログラムを実行するコンピュータの一例を示す図である。図19に示すように、コンピュータ300は、利用者からデータや各種設定などを受け付ける入力装置310と、コンピュータの状況などを通知する出力装置320とを有する。また、コンピュータ300は、他の装置とデータを送受信するネットワークインターフェース330と媒体読取装置340とRAM(Random Access Memory)350とROM(Read Only Memory)360とCPU370とバス380とを有する。そして、各装置310〜370それぞれは、バス380に接続される。
FIG. 19 is a diagram illustrating an example of a computer that executes a route selection program. As illustrated in FIG. 19, the
ここで、図19に示すように、ROM360には、図4に示した、受信部121と送信部122と更新部123と選択部124と同様の機能を発揮する経路選択プログラム361が予め記憶されている。そして、CPU370は、経路選択プログラム361をROM360から読み出して、経路選択プロセス371として実行する。すなわち、経路選択プロセス371は、図4に示した、受信部121と送信部122と更新部123と選択部124と同様の動作を実行する。
Here, as shown in FIG. 19, the
図20は、転送要求プログラムを実行するコンピュータの一例を示す図である。図20に示すように、コンピュータ400は、利用者からデータや各種設定などを受け付ける入力装置410と、コンピュータの状況などを通知する出力装置420とを有する。また、コンピュータ400は、他の装置とデータを送受信するネットワークインターフェース430と媒体読取装置440とRAM450とROM460とCPU470とバス480とを有する。そして、各装置410〜470それぞれは、バス480に接続される。
FIG. 20 is a diagram illustrating an example of a computer that executes a transfer request program. As illustrated in FIG. 20, the
ここで、図20に示すように、ROM460には、図2に示した、リンク監視部2eと転送要求部2fと転送部2gと同様の機能を発揮する転送要求プログラム461が予め記憶されている。そして、CPU470は、転送要求プログラム461をROM460から読み出して、転送要求プロセス471として実行する。すなわち、転送要求プロセス471は、図2に示した、リンク監視部2eと転送要求部2fと転送部2gと同様の動作を実行する。
Here, as shown in FIG. 20, the
ところで、上記した経路選択プログラム361、転送要求プログラム461は、必ずしもROMに記憶させておく必要はない。例えば、コンピュータ300、400に挿入されるフレキシブルディスク(FD)、CD−ROM、MOディスク、DVDディスク、光磁気ディスク、ICカードなどの「可搬用の物理媒体」に記憶させておくようにしてもよい。また、コンピュータ300、400の内外に備えられるハードディスクドライブ(HDD)などの「固定用の物理媒体」に記憶させておいてもよい。さらに、公衆回線、インターネット、LAN(Local Area Network)、WAN(Wide Area Network)などを介してコンピュータ300、400に接続される「他のコンピュータシステム」に記憶させておいてもよい。そして、コンピュータ300、400がこれらからプログラムを読み出して実行するようにしてもよい。
By the way, the above-described
すなわち、このプログラムは、上記した「可搬用の物理媒体」、「固定用の物理媒体」、「通信媒体」などの記録媒体に、コンピュータ読み取り可能に記憶されるものである。そして、コンピュータ300、400は、このような記録媒体からプログラムを読み出して実行することで上記した実施例と同様の機能を実現する。なお、この他の実施例でいうプログラムは、コンピュータ300、400によって実行されることに限定されるものではない。例えば、他のコンピュータシステムまたはサーバがプログラムを実行する場合や、これらが協働してプログラムを実行するような場合にも、本発明を同様に適用することができる。
That is, the program is stored in a recording medium such as the above-mentioned “portable physical medium”, “fixed physical medium”, “communication medium”, and the like so as to be readable by a computer. The
1 コンピュータシステム
2〜13 計算ノード
2a 記憶部
2b 制御部
2c 第1通信部
2d 第2通信部
2e リンク監視部
2f 転送要求部
2g 転送部
14〜17 IOノード
14a 記憶部
14b 制御部
14c 第1通信部
14d 第2通信部
14e 第3通信部
14f リンク監視部
14g 転送要求部
14h 転送部
20〜22 IO装置
100 管理サーバ
110 記憶部
111 リンク管理テーブル
112 IOノード管理テーブル
120 制御部
121 受信部
122 送信部
123 更新部
124 選択部DESCRIPTION OF SYMBOLS 1 Computer system 2-13
Claims (5)
前記入出力装置と前記入出力処理装置間の通信が正常か異常かを示す通信状態を、前記入出力処理装置の識別子に対応付けて記憶する第2記憶部と、
前記入出力装置との間でのデータ転送を要求する転送要求をいずれかの情報処理装置から受信する受信部と、
前記受信部が受信した転送要求に対して、前記入出力装置との間の通信経路を選択済みであるか否かを判定し、入出力装置との間の通信経路を選択済みであると判定した場合、転送要求を発した情報処理装置に接続された情報処理装置あるいは入出力処理装置のうち、前記選択した通信経路においてデータの出力先となる情報処理装置あるいは入出力処理装置を特定し、前記通信経路を選択済みではないと判定した場合、前記第1記憶部が記憶する通信状態と前記第2記憶部が記憶する通信状態とに基づいて前記入出力装置との間の通信経路を選択し、転送要求を発した情報処理装置に接続された情報処理装置あるいは入出力処理装置のうち、選択した通信経路においてデータの出力先となる情報処理装置あるいは入出力処理装置を特定する特定部と、
前記特定部が特定した情報処理装置あるいは入出力処理装置を識別する識別子を、前記転送要求を発した情報処理装置に送信する送信部と
を有することを特徴とする管理装置。 First storing a communication state indicating whether communication between the information processing apparatuses connected to each other or between the input / output processing apparatus that inputs / outputs data to / from the input / output apparatus that inputs / outputs data is normal or abnormal A storage unit;
A second storage unit that stores a communication state indicating whether communication between the input / output device and the input / output processing device is normal or abnormal, in association with an identifier of the input / output processing device;
A receiving unit that receives a transfer request for requesting data transfer with the input / output device from any of the information processing devices;
In response to the transfer request received by the receiver, it is determined whether a communication path with the input / output device has been selected, and it is determined that a communication path with the input / output device has been selected. If the information processing device or input / output processing device connected to the information processing device that issued the transfer request is specified, the information processing device or input / output processing device that is the data output destination in the selected communication path is specified, When it is determined that the communication path has not been selected, the communication path between the input / output device is selected based on the communication state stored in the first storage unit and the communication state stored in the second storage unit Then, among the information processing devices or input / output processing devices connected to the information processing device that issued the transfer request, the information processing device or input / output processing device that is the data output destination in the selected communication path is specified. And tough,
A management device comprising: a transmission unit that transmits an identifier for identifying an information processing device or an input / output processing device specified by the specifying unit to the information processing device that has issued the transfer request.
前記特定部は、転送要求先の入出力装置にデータを入出力する入出力処理装置または前記入出力装置と前記入出力処理装置との間の接続に異常が生じた場合、前記転送要求先の入出力装置にデータを入出力する他の入出力処理装置があるか否かを判定し、前記他の入出力処理装置があると判定したとき、当該入出力装置に対応付けて前記第2記憶部に記憶された当該入出力装置へデータを入出力する前記入出力処理装置の識別子を前記他の入出力処理装置の識別子に更新して前記入出力装置との間の通信経路を選択し、選択した通信経路に基づいて、データ転送先の情報処理装置あるいは入出力処理装置を特定することを特徴とする請求項1記載の管理装置。 In the management device,
When the abnormality occurs in the input / output processing device that inputs / outputs data to / from the transfer request destination input / output device or the connection between the input / output device and the input / output processing device, the specifying unit It is determined whether there is another input / output processing device that inputs / outputs data to / from the input / output device, and when it is determined that there is the other input / output processing device, the second storage is associated with the input / output device. Update the identifier of the input / output processing device that inputs and outputs data to the input / output device stored in the unit to the identifier of the other input / output processing device, and select a communication path between the input / output device, 2. The management apparatus according to claim 1, wherein an information processing apparatus or an input / output processing apparatus as a data transfer destination is specified based on the selected communication path.
前記受信部が、いずれかの情報処理装置から、その情報処理装置に隣接する他の情報処理装置または入出力処理装置との間の通信の正常、異常、又は、いずれかの入出力処理装置から、その入出力処理装置に隣接する情報処理装置または入出力装置との間の通信の正常、異常、が変更されたことを示す情報を受信した場合、前記第1記憶部が記憶する通信状態及び前記第2記憶部が記憶する通信状態を更新する更新部を有することを特徴とする請求項1または2記載の管理装置。 The management device further includes:
The reception unit is normal or abnormal in communication with any other information processing device or input / output processing device adjacent to the information processing device, or from any input / output processing device. When the information indicating that the normality or abnormality of the communication between the information processing device or the input / output device adjacent to the input / output processing device is changed, the communication state stored in the first storage unit and The management apparatus according to claim 1, further comprising an update unit that updates a communication state stored in the second storage unit.
前記管理装置は、
互いに接続された情報処理装置間あるいは前記入出力処理装置と情報処理装置との間の通信が正常か異常かを示す通信状態を記憶する第1記憶部と、
前記入出力装置と前記入出力処理装置間の通信が正常か異常かを示す通信状態を、前記入出力処理装置の識別子に対応付けて記憶する第2記憶部と、
前記入出力装置との間でのデータ転送を要求する転送要求をいずれかの情報処理装置から受信する受信部と、
前記受信部が受信した転送要求に対して、前記入出力装置との間の通信経路を選択済みであるか否かを判定し、入出力装置との間の通信経路を選択済みであると判定した場合、転送要求を発した情報処理装置に接続された情報処理装置あるいは入出力処理装置のうち、前記選択した通信経路においてデータの出力先となる情報処理装置あるいは入出力処理装置を特定し、前記通信経路を選択済みではないと判定した場合、前記第1記憶部が記憶する通信状態と前記第2記憶部が記憶する通信状態とに基づいて前記入出力装置との間の通信経路を選択し、転送要求を発した情報処理装置に接続された情報処理装置あるいは入出力処理装置のうち、選択した通信経路においてデータの出力先となる情報処理装置あるいは入出力処理装置を特定する特定部と、
前記特定部が特定した情報処理装置あるいは入出力処理装置を識別する識別子を、前記転送要求を発した情報処理装置に送信する送信部と
を有し、
前記情報処理装置は、
接続された他の情報処理装置との通信状態を監視し、監視した通信状態を前記管理装置に通知する通知部と、
データを入出力する入出力装置との間でデータを転送する場合、自身がデータを転送すべき情報処理装置あるいは入出力処理装置の識別子を要求する転送要求を前記管理装置に送信する送信部と、
前記送信部が送信した転送要求に対して、通知された通信状態に基づいて前記管理装置が選択した転送先の情報処理装置あるいは入出力処理装置の識別子を前記管理装置から受信する受信部と、
前記管理装置から受信した転送先の情報処理装置の識別子を持つ情報処理装置あるいは入出力処理装置に前記データを転送する転送部と
を有することを特徴とする情報処理システム。 A plurality of information processing devices connected in a mesh shape or a torus shape, an input / output device for inputting / outputting data from the plurality of information processing devices, and an input / output processing device for inputting / outputting data to / from the input / output device An information processing system having a management device connected to each of the plurality of information processing devices,
The management device
A first storage unit that stores a communication state indicating whether communication between information processing apparatuses connected to each other or between the input / output processing apparatus and the information processing apparatus is normal or abnormal;
A second storage unit that stores a communication state indicating whether communication between the input / output device and the input / output processing device is normal or abnormal, in association with an identifier of the input / output processing device;
A receiving unit that receives a transfer request for requesting data transfer with the input / output device from any of the information processing devices;
In response to the transfer request received by the receiver, it is determined whether a communication path with the input / output device has been selected, and it is determined that a communication path with the input / output device has been selected. If the information processing device or input / output processing device connected to the information processing device that issued the transfer request is specified, the information processing device or input / output processing device that is the data output destination in the selected communication path is specified, When it is determined that the communication path has not been selected, the communication path between the input / output device is selected based on the communication state stored in the first storage unit and the communication state stored in the second storage unit Then, among the information processing devices or input / output processing devices connected to the information processing device that issued the transfer request, the information processing device or input / output processing device that is the data output destination in the selected communication path is specified. And tough,
An identifier for identifying the information processing device or input / output processing device specified by the specifying unit, and a transmission unit that transmits the identifier to the information processing device that issued the transfer request
The information processing apparatus includes:
A notification unit that monitors a communication state with another connected information processing apparatus and notifies the management apparatus of the monitored communication state;
When transferring data to / from an input / output device that inputs / outputs data, a transmission unit that transmits to the management device a transfer request that requests an identifier of the information processing device or input / output processing device to which the data is to be transferred ,
A receiving unit that receives, from the management device, an identifier of an information processing device or an input / output processing device that is a transfer destination selected by the management device based on the notified communication state in response to the transfer request transmitted by the transmission unit;
An information processing system comprising: an information processing device having an identifier of a transfer destination information processing device received from the management device, or a transfer unit that transfers the data to an input / output processing device.
前記情報処理装置が、
前記入出力装置との間でデータを転送する場合、自身がデータを転送すべき情報処理装置あるいは入出力処理装置の識別子を要求する転送要求を前記管理装置に送信し、
前記管理装置が、
前記入出力装置との間でのデータ転送を要求する転送要求をいずれかの情報処理装置から受信し、
前記受信した転送要求に対して、前記入出力装置との間の通信経路を選択済みであるか否かを判定し、入出力装置との間の通信経路を選択済みであると判定した場合、転送要求を発した情報処理装置に接続された情報処理装置あるいは入出力処理装置のうち、前記選択した通信経路においてデータの出力先となる情報処理装置あるいは入出力処理装置を特定し、前記通信経路を選択済みではないと判定した場合、互いに接続された情報処理装置間あるいは前記入出力処理装置と情報処理装置との間の通信が正常か異常かを示す通信状態と、前記入出力装置と前記入出力処理装置間の通信が正常か異常かを示す通信状態とに基づいて前記入出力装置との間の通信経路を選択し、転送要求を発した情報処理装置に接続された情報処理装置あるいは入出力処理装置のうち、選択した通信経路においてデータの出力先となる情報処理装置あるいは入出力処理装置を特定し、
前記特定した情報処理装置あるいは入出力装置を識別する識別子を、前記転送要求を発した情報処理装置に送信し、
前記情報処理装置が、
前記送信した転送要求に対して、通知された通信状態に基づいて前記管理装置が選択した転送先の情報処理装置あるいは入出力処理装置の識別子を前記管理装置から受信し、
前記管理装置から受信した転送先の情報処理装置の識別子を持つ情報処理装置あるいは入出力処理装置に前記データを転送する
ことを特徴とするデータ転送方法。 A plurality of information processing devices connected in a mesh shape or a torus shape, an input / output device for inputting / outputting data from the plurality of information processing devices, and an input / output processing device for inputting / outputting data to / from the input / output device A data transfer method in an information processing system having a management device connected to each of the plurality of information processing devices,
The information processing apparatus is
When transferring data to and from the input / output device, send a transfer request to the management device requesting an identifier of the information processing device or input / output processing device to which the data is to be transferred,
The management device is
A transfer request for requesting data transfer with the input / output device is received from any of the information processing devices,
In response to the received transfer request, it is determined whether a communication path with the input / output device has been selected, and when it is determined that a communication path with the input / output device has been selected, Among the information processing devices or input / output processing devices connected to the information processing device that has issued the transfer request, the information processing device or input / output processing device that is the data output destination in the selected communication route is specified, and the communication route The communication status indicating whether communication between information processing apparatuses connected to each other or between the input / output processing apparatus and the information processing apparatus is normal or abnormal, and the input / output apparatus and the previous An information processing device connected to the information processing device that has transmitted the transfer request by selecting a communication path with the input / output device based on the communication state indicating whether the communication between the entry output processing devices is normal or abnormal, or In the output processing unit identifies an information processing apparatus or output processing apparatus as the output destination of the data in the selected communication path,
An identifier for identifying the specified information processing device or input / output device is transmitted to the information processing device that issued the transfer request,
The information processing apparatus is
In response to the transmitted transfer request, the identifier of the transfer destination information processing device or input / output processing device selected by the management device based on the notified communication state is received from the management device,
A data transfer method comprising: transferring the data to an information processing apparatus or an input / output processing apparatus having an identifier of a transfer destination information processing apparatus received from the management apparatus.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2011/061788 WO2012160641A1 (en) | 2011-05-23 | 2011-05-23 | Administration device, information processing device, information processing system, data transfer method, path selection program, and transfer request program |
Publications (2)
Publication Number | Publication Date |
---|---|
JPWO2012160641A1 JPWO2012160641A1 (en) | 2014-07-31 |
JP5754504B2 true JP5754504B2 (en) | 2015-07-29 |
Family
ID=47216744
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013516099A Active JP5754504B2 (en) | 2011-05-23 | 2011-05-23 | Management apparatus, information processing apparatus, information processing system, and data transfer method |
Country Status (4)
Country | Link |
---|---|
US (1) | US9032118B2 (en) |
EP (1) | EP2717169B1 (en) |
JP (1) | JP5754504B2 (en) |
WO (1) | WO2012160641A1 (en) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2015156158A (en) * | 2014-02-21 | 2015-08-27 | 日本電気株式会社 | Instruction processor, instruction processing method, instruction processing program and information processing apparatus |
JP6323243B2 (en) * | 2014-08-07 | 2018-05-16 | 富士通株式会社 | System and anomaly detection method |
JP6203447B2 (en) * | 2015-02-23 | 2017-09-27 | 三菱電機株式会社 | Transfer device |
EP3557419A1 (en) * | 2018-04-20 | 2019-10-23 | Total SA | Supercomputer system, method of data transmission in such supercomputer system and associated computer program product |
CN109728992B (en) * | 2018-11-27 | 2021-09-28 | 苏州盛科通信股份有限公司 | Method, device, storage medium and electronic device for distributing forwarding domain |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH01126760A (en) * | 1987-11-11 | 1989-05-18 | Toshiba Corp | Parallel computer system |
JPH01187666A (en) * | 1988-01-22 | 1989-07-27 | Agency Of Ind Science & Technol | Superconducting parallel processing processor |
JPH10198618A (en) * | 1997-01-08 | 1998-07-31 | Mitsubishi Heavy Ind Ltd | System and method for distributed communication control |
JP2004118855A (en) * | 1995-10-31 | 2004-04-15 | Cray Res Inc | Maintenance method for multiprocessor computer system |
JP2005500622A (en) * | 2001-08-16 | 2005-01-06 | ニューイシス・インコーポレーテッド | Computer system partitioning using data transfer routing mechanism |
JP2006511878A (en) * | 2002-12-19 | 2006-04-06 | アドバンスト・マイクロ・ディバイシズ・インコーポレイテッド | Method and system for programming a hypertransport routing table in a multiprocessor system |
JP2007526540A (en) * | 2003-06-27 | 2007-09-13 | ニューイシス・インコーポレーテッド | Dynamic multi-cluster system reconfiguration |
JP2010218364A (en) * | 2009-03-18 | 2010-09-30 | Fujitsu Ltd | Information processing system, and communication control apparatus and method |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5784706A (en) | 1993-12-13 | 1998-07-21 | Cray Research, Inc. | Virtual to logical to physical address translation for distributed memory massively parallel processing systems |
JP3473687B2 (en) | 2000-03-29 | 2003-12-08 | 日本電気株式会社 | Distributed pipeline scheduling method and method |
JP3736554B2 (en) | 2003-02-19 | 2006-01-18 | 株式会社 インテック・ネットコア | Router apparatus and packet transfer control method |
US7870230B2 (en) * | 2005-07-15 | 2011-01-11 | International Business Machines Corporation | Policy-based cluster quorum determination |
JP4545658B2 (en) * | 2005-08-11 | 2010-09-15 | 富士通株式会社 | Connection type network node |
JP2008269462A (en) * | 2007-04-24 | 2008-11-06 | Hitachi Ltd | Management device and method for node |
JP4676463B2 (en) | 2007-07-13 | 2011-04-27 | 株式会社日立製作所 | Parallel computer system |
JP4661892B2 (en) * | 2008-03-25 | 2011-03-30 | 日本電気株式会社 | COMMUNICATION NETWORK SYSTEM, COMMUNICATION DEVICE, ROUTE DESIGN DEVICE, AND FAILURE RECOVERY METHOD |
JP5163462B2 (en) | 2008-12-09 | 2013-03-13 | 富士通株式会社 | Network device, edge router and packet communication system |
-
2011
- 2011-05-23 EP EP11866274.1A patent/EP2717169B1/en not_active Not-in-force
- 2011-05-23 JP JP2013516099A patent/JP5754504B2/en active Active
- 2011-05-23 WO PCT/JP2011/061788 patent/WO2012160641A1/en active Application Filing
-
2013
- 2013-11-21 US US14/086,063 patent/US9032118B2/en active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH01126760A (en) * | 1987-11-11 | 1989-05-18 | Toshiba Corp | Parallel computer system |
JPH01187666A (en) * | 1988-01-22 | 1989-07-27 | Agency Of Ind Science & Technol | Superconducting parallel processing processor |
JP2004118855A (en) * | 1995-10-31 | 2004-04-15 | Cray Res Inc | Maintenance method for multiprocessor computer system |
JPH10198618A (en) * | 1997-01-08 | 1998-07-31 | Mitsubishi Heavy Ind Ltd | System and method for distributed communication control |
JP2005500622A (en) * | 2001-08-16 | 2005-01-06 | ニューイシス・インコーポレーテッド | Computer system partitioning using data transfer routing mechanism |
JP2006511878A (en) * | 2002-12-19 | 2006-04-06 | アドバンスト・マイクロ・ディバイシズ・インコーポレイテッド | Method and system for programming a hypertransport routing table in a multiprocessor system |
JP2007526540A (en) * | 2003-06-27 | 2007-09-13 | ニューイシス・インコーポレーテッド | Dynamic multi-cluster system reconfiguration |
JP2010218364A (en) * | 2009-03-18 | 2010-09-30 | Fujitsu Ltd | Information processing system, and communication control apparatus and method |
Also Published As
Publication number | Publication date |
---|---|
US9032118B2 (en) | 2015-05-12 |
US20140082232A1 (en) | 2014-03-20 |
EP2717169A4 (en) | 2015-07-22 |
JPWO2012160641A1 (en) | 2014-07-31 |
EP2717169B1 (en) | 2017-01-04 |
EP2717169A1 (en) | 2014-04-09 |
WO2012160641A1 (en) | 2012-11-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20180349196A1 (en) | Implementing a Service Using Plural Acceleration Components | |
JP5625998B2 (en) | Information processing system | |
CN107750357B (en) | Data processing system with hardware acceleration plane and software plane | |
EP3353952B1 (en) | Managing groups of servers | |
US20160352578A1 (en) | System and method for adaptive paths locator for virtual network function links | |
US9876698B2 (en) | Interconnect congestion control in a storage grid | |
US20150215394A1 (en) | Load distribution method taking into account each node in multi-level hierarchy | |
US20150281074A1 (en) | Data transfer control device and data transfer control method | |
JP5625978B2 (en) | Communication control program, information processing apparatus, and packet communication method | |
JP5754504B2 (en) | Management apparatus, information processing apparatus, information processing system, and data transfer method | |
JP2008228150A (en) | Switch device, and frame switching method and program thereof | |
TWI586127B (en) | Multi-blade network traffic management apparatus with improved failure handling and methods thereof | |
CN104065553A (en) | Virtual network migration method and related equipment | |
US10237170B2 (en) | Flow switch, controller and relay apparatus | |
CN108235800A (en) | A kind of network failure probing method and control centre's equipment | |
US10148518B2 (en) | Method and apparatus for managing computer system | |
US11182325B1 (en) | Memory centric computing storage controller system | |
JP2018097435A (en) | Parallel processing apparatus and inter-node communication program | |
JP6787576B2 (en) | Cloud relay system and relay server | |
JP2016038649A (en) | Parallel computer system and control method for parallel computer system | |
US9678905B2 (en) | Bus controller, bus control system and network interface | |
JP5727404B2 (en) | Life and death monitoring server, life and death monitoring program, and life and death monitoring method | |
US8918557B2 (en) | SAS expander and method to arbitrate traffic in a redundant expander system | |
US10855610B2 (en) | Information processing apparatus, information processing system, information processing method, and storage medium | |
WO2019181973A1 (en) | Network control system, method, and program |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20140902 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20141104 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20150210 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20150323 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20150410 |
|
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: 20150428 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20150511 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5754504 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |