JP2017097795A - 演算装置、プログラム、情報処理方法 - Google Patents

演算装置、プログラム、情報処理方法 Download PDF

Info

Publication number
JP2017097795A
JP2017097795A JP2015232282A JP2015232282A JP2017097795A JP 2017097795 A JP2017097795 A JP 2017097795A JP 2015232282 A JP2015232282 A JP 2015232282A JP 2015232282 A JP2015232282 A JP 2015232282A JP 2017097795 A JP2017097795 A JP 2017097795A
Authority
JP
Japan
Prior art keywords
node
abnormal
transmission
coefficient
nodes
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
JP2015232282A
Other languages
English (en)
Other versions
JP6597231B2 (ja
Inventor
玲司 正木
Reiji Masaki
玲司 正木
剛 橋本
Takeshi Hashimoto
剛 橋本
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 JP2015232282A priority Critical patent/JP6597231B2/ja
Priority to US15/355,375 priority patent/US10491491B2/en
Publication of JP2017097795A publication Critical patent/JP2017097795A/ja
Application granted granted Critical
Publication of JP6597231B2 publication Critical patent/JP6597231B2/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
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0805Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability
    • H04L43/0817Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability by checking functioning
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Environmental & Geological Engineering (AREA)
  • Complex Calculations (AREA)
  • Debugging And Monitoring (AREA)

Abstract

【課題】分散システムにおける情報集約型通信において、通信データ量を低減する。【解決手段】演算装置は、演算部と送信部を備える。演算部は、複数の送信ノードのうち異常のある送信ノードの個数に対応する方程式の係数を、前記異常のある送信ノードの状態情報と前記異常のある送信ノードを識別する識別情報とを含む数値から演算する。送信部は、前記係数を用いる前記方程式の解から前記数値を抽出する受信ノードに、前記係数を送信する。【選択図】図1

Description

本発明は、複数のノードから情報を収集する情報収集システムに関する。
分散システムでは、複数の送信ノードと、複数の送信ノードを管理するための受信ノードを備える。情報集約型通信を実現する受信ノードは、複数の送信ノードの状態を管理するため、定期的に複数の送信ノードの状態情報を収集する。受信ノードは、複数の送信ノードから定期的に状態情報を受信することで、異常が発生した送信ノードを検知することができる。
データの転送処理を高速化する技術が知られている。並列計算機を構成する各ノードは、まずn分割したデータを他のノードに転送し、各ノードは、1/nずつのデータを集約して、演算し、次に、複数のノードが、それぞれの演算結果を、集約ノードに転送する。全ノードが、それぞれ分割されたデータの演算を実行するため、高速に転送処理を実現できる(例えば、特許文献1を参照)。
特開2007−249810号公報
分散システムにおける受信ノードは、複数の送信ノードの状態を管理するため、定期的に複数の送信ノードの状態情報を収集する。これらの状態情報を一斉に受信する場合、複数の送信ノードの数に応じて、通信データ量が大きくなり、通信時間がかかる。
本発明は1つの側面において、分散システムにおける情報集約型通信において、通信データ量を低減することを目的とする。
演算装置は、演算部と送信部を備える。演算部は、複数の送信ノードのうち異常のある送信ノードの個数に対応する方程式の係数を、前記異常のある送信ノードの状態情報と前記異常のある送信ノードを識別する識別情報とを含む数値から演算する。送信部は、前記係数を用いる前記方程式の解から前記数値を抽出する受信ノードに、前記係数を送信する。
本発明によれば、分散システムにおける情報集約型通信において、通信データ量を低減することができる。
本実施形態に係る分散システムの例を説明する図である。 異常のある送信ノードが2以下の場合の分散システムの処理の例を説明する図である。 異常のある送信ノードが3以上の場合の分散システムの処理の例を説明する図である。 分散システムの構成の例を説明する図である。 分散システムに設置される各種装置のハードウェア構成の例を説明する図である。 受信ノードの処理の例を説明するフローチャートである。 受信ノードの処理の例を説明するフローチャートである。
本発明に係る演算装置は、各送信ノードからの状態情報をリダクション演算と、所定の方程式の根の係数の関係を用いて、通信データ量を低減させることができる。
図1は、本実施形態に係る分散システムの例を説明する図である。分散システム100は、複数の送信ノード110a〜110n、演算装置120、受信ノード130を含む。受信ノード130は、複数の送信ノード110a〜110nを管理するため、複数の送信ノード110a〜110nから状態情報を収集する。複数の送信ノード110a〜110nの各々は、処理部111と送受信部112を備える。演算装置120は、受信部121、演算部122、送信部123を備える。受信ノード130は、抽出部131を備える。
処理部111は、まず、自送信ノード110に異常があるか否かを判定する。その後、送受信部112は、送信ノード110a〜110n間で異常があるか否かの情報を共有する。処理部111は、自送信ノード110を識別する識別情報と状態情報の対を変換して整数(リダクションに用いられる引数)を生成する。送受信部112は、整数及び整数を用いた演算命令を演算装置120に送信する。
演算装置120の受信部121は、各送信ノード110(110a〜110n)から整数及び演算命令を受信する。演算装置120の演算部122は、受信した整数(引数)を用いて「方程式」の係数を算出する方法を用いたリダクション処理(演算)を実行する。リダクション処理の結果算出される係数は、識別情報と状態情報の対である整数よりも、データ量が少ない。演算装置120の送信部123は、算出した係数を受信ノード130に送信する。
受信ノード130の抽出部131は、受信した係数から「方程式」を解き、識別情報と状態情報の対である整数を抽出する。
すると、演算装置120から受信ノード130に送信される係数は、識別情報と状態情報の対である整数よりもデータ量が少ない。そのため、演算装置120は、受信ノード130に送信する通信データ量を低減させることができる。
<異常のある送信ノードが2以下の場合>
図2は、異常のある送信ノードが2以下の場合の分散システムの処理の例を説明する図である。パラメータ201は、送信ノード110a〜110n間で異常があるか否かの情報を共有するために用いられる。パラメータ201は、受信ノード130にも通知される。複数の送信ノード110a〜110nの各々は、引数202、引数203を演算装置120に送信する。表200は、複数の送信ノード110a〜110nに「異常がある」場合と「異常がない」場合の、パラメータ201、引数202、引数203の例である。
パラメータ201は、送信ノード110が、異常のある送信ノード110(110a〜110nの何れか)の個数をカウントするために用いられる。異常のある送信ノード110(110a〜110nの何れか)の処理部111は、パラメータ201として異常があることを示す「1」を設定する。異常のない送信ノード110a〜110nは、パラメータ201として異常がないことを示す「0」を設定する。
ここで、送信ノード110(110a〜110n)の送受信部112は、ノード間でパラメータ201を共有する。送信ノード110(110a〜110n)の処理部111は、異常のある送信ノード110の数が2個以下である場合、引数202と引数203を生成する。
引数202は、演算装置120の係数(加法)を算出する際に用いられる引数である。異常のない送信ノード110の処理部111は、引数202として異常がないことを示す「0」を設定する。異常のある送信ノード110(110a〜110nの何れか)の処理部111は、エラーコード(状態情報)と異常のある送信ノードを識別する識別情報を対とした情報を引数202に設定する。
引数203は、演算装置120の係数(乗法)を算出する際に用いられる引数である。異常のない送信ノード110の処理部111は、引数203として異常がないことを示す「1」を設定する。異常のある送信ノード110(110a〜110nの何れか)の処理部111は、エラーコード(状態情報)と異常のある送信ノードを識別する識別情報を対とした情報を引数203として設定する。
送信ノード110の送信部112は、異常のある送信ノードの数が2以下であるため、引数202と引数203、及びこれらの引数を用いた演算命令を演算装置120に送信する。
演算装置120は、引数202、引数203を受信すると、「方程式」の係数を算出する方法を用いたリダクション処理を実行する。リダクション処理の例を順に説明する。
送信ノード110(110a〜110n)のうち、送信ノード110XXの1つに異常があるとする。演算装置120の演算部122は、異常のある送信ノード110が1つの場合、演算部122は、異常のある送信ノード110XXのエラーコードと識別情報を表す整数を冗長させた、2つの係数とする。
送信ノード110(110a〜110n)のうち、送信ノード110XXと送信ノード110YYの1つに異常があるとする。演算装置120の演算部122は、異常のある送信ノード110XXのエラーコードと識別情報を表す整数を、「α」に設定する。処理部122は、異常のある送信ノード110YYのエラーコードと識別情報を表す整数を、「β」に設定する。
演算部122は、引数202と引数203に基づいて設定されるαとβから、以下に示す式1、式2を用いて係数V(1)、V(2)を算出する。
V(1)=α+β ・・・式1
V(2)=α×β ・・・式2
演算装置120の送信部123は、係数V(1)、係数(V2)を受信ノード130に送信する。
受信ノード130の抽出部131は、受信した係数V(1)、V(2)に基づいて、x+V(1)x+V(2)の2次方程式を解くことで、α及びβを抽出できる。α及びβは、夫々がエラーコードと送信ノード110の識別情報を含む。そのため、抽出部131がαとβを抽出することで、受信ノード130は、異常のある送信ノード110を特定し、エラーコードを取得できる。
表210は、複数の送信ノード110a〜110nが送信する引数202、引数203の例である。なお、送信ノード110XX、送信ノード110YYの2つは、異常があるノードである。そのため、演算装置120は、送信ノード110XX、送信ノード110YY以外の送信ノードからは、引数202に0、引数203に1が設定された引数を受信する。
表210の例において、演算装置120の受信部121は、異常のある送信ノード110XXから、pが設定された引数202と引数203を受信する。演算装置120の受信部121は、異常のある送信ノード110YYから、qが設定された引数202と引数203を受信する。
演算部122は、引数202と引数203に設定されているpとqから、式1、式2を用いて係数V(1)、V(2)を算出する。演算装置120の送信部123は、係数V(1)、V(2)を受信ノード130に送信する。
受信ノード130の抽出部131は、受信した係数V(1)、V(2)に基づいて、x+V(1)x+V(2)の2次方程式を解くことで、p及びqを抽出できる。具体的には、式3を算出すればよい。
+V(1)x+V(2)=x+(p+q)x+(p*q)=(X+p)(X+q)・・・式3
この2次方程式の解を求めることで、受信ノード130の抽出部131は、エラーコードと識別情報の対であるp及びqを抽出できる。
演算装置120から受信ノード130に送信される係数は、識別情報と状態情報の対である整数よりもデータ量が少ない。そのため、演算装置120は、受信ノード130に送信する通信データ量を低減させることができる。
<異常のある送信ノードが3以上の場合>
図3は、異常のある送信ノードが3以上の場合の分散システムの処理の例を説明する図である。パラメータ201は、送信ノード110a〜110n間で異常があるか否かの情報を共有するために用いられる。パラメータ201は、受信ノード130にも通知される。異常のある送信ノードが3以上の場合、複数の送信ノード110a〜110nの各々は、引数302に定数を加算した送信データ(複数個)を演算装置120に送信する。表300は、複数の送信ノード110a〜110nに「異常がある」場合と「異常がない」場合の、パラメータ201、引数302の例である。
パラメータ201は、送信ノード110が、異常のある送信ノード110(110a〜110nの何れか)の個数(異常のあるノード数をk個とする)をカウントするために用いられる。異常のある送信ノード110(110a〜110nの何れか)の処理部111は、パラメータ201として異常があることを示す「1」を設定する。異常のない送信ノード110a〜110nは、パラメータ201として異常がないことを示す「0」を設定する。
ここで、送信ノード110(110a〜110n)の送受信部112は、ノード間でパラメータ201を共有する。送信ノード110(110a〜110n)の処理部111は、異常のある送信ノード110の数が3個以上である場合、引数302に定数を加算した送信データ(複数個)を生成する。
引数302は、演算装置120の係数(乗法)を算出する際に用いられる引数である。異常のない送信ノード110の処理部111は、引数302として異常がないことを示す「1」を設定する。異常のある送信ノード110(110a〜110nの何れか)の処理部111は、エラーコード(状態情報)と異常のある送信ノードを識別する識別情報を対とした情報(整数)に、k個の異なる定数(0〜(k−1))を加算し、k種類の引数302を設定する。
異常のある送信ノード(110a〜110nの何れか)の送受信部112は、k種類の引数302(送信データ)を演算装置120に送信する。さらに、処理部111は、異常のある送信ノードk個から任意のj個を選択する。j個は、k個よりも小さい数である。送受信部112は、演算装置120に、j次方程式に用いられる係数を算出する命令を送信する。
表310は、k及びjを3個とした場合に複数の送信ノード110a〜110nから演算装置120に送信される送信データ(引数302に定数が加算された値)の例である。ここで、送信ノード110XX、送信ノード110YY、送信ノード110ZZの3つ(k個)は、異常があるノードである。そのため、演算装置120は、送信ノード110XX、送信ノード110YY、送信ノードZZ以外の送信ノードから、1が設定された引数302を受信する。
送信ノード110XX、送信ノード110YY、送信ノードZZは、エラーコードと識別情報を対とした情報に異なる定数d、e、fを加算した3種の送信データを演算装置120に送信する。定数の数は、異常のある送信ノードの数に対応する。
具体的に演算装置120は、異常のある送信ノード110XXから、引数302にd、e、fが加算された「p+d」「p+e」「p+f」を受信する。pは、エラーコードと送信ノード110XXの識別情報の対を表す整数である。演算装置120は、異常のある送信ノード110YYから、引数302にd、e、fが加算された「q+d」「q+e」「q+f」を受信する。qは、エラーコードと送信ノード110YYの識別情報の対を表す整数である。演算装置120は、異常のある送信ノード110ZZから、引数302にd、e、fを加算した「r+d」「r+e」「r+f」を受信する。rは、エラーコードと送信ノード110ZZの識別情報の対を表す整数である。
演算装置120の処理部122は、異常のある送信ノードからリダクション処理の引数を受信すると、式4〜式6を用いて係数V(1)、V(2)、V(3)を算出する。この例では、jが3個と選択されているため、処理部122は、係数を3つ算出する。
V(1)=(p+d)*(q+d)*(r+d) ・・・式4
V(2)=(p+e)*(q+e)*(r+e) ・・・式5
V(3)=(p+f)*(q+f)*(r+f) ・・・式6
その後、送信部123は、算出した係数を、受信ノード130に送信する。
受信ノード130の抽出部131は、受信した係数V(1)〜V(3)に基づいて、p、q、rを抽出する。式4〜式6は、例えば、P(d)=V(1)、P(e)=V(2)、P(f)=V(3)と仮定した場合、式7に置き換えることができる。
P(x)=(x+p)*(x+q)*(x+r)
=x+(p+q+r)x+(pq+qr+rp)x+p*q*r
=x+Ax+Bx+C ・・・式7
ここで、式7では、p+q+rをAとし、pq+qr+rpをBとし、p*q*rをCとしている。ここで、式7のxに、d、e、fを代入すると、式8〜式10となる。
P(d)=d+Ad+Bd+C=V(1) ・・・式8
P(e)=e+Ae+Be+C=V(2) ・・・式9
P(f)=f+Af+Bf+C=V(3) ・・・式10
次に、式8〜10におけるA〜Cを未知数とする3元連立方程式として解く。式8〜10内の定数項を右辺に移項した式は、式11〜式13のようになる。
Ad+Bd+C=V(1)―d ・・・式11
Ae+Be+C=V(2)―e ・・・式12
Af+Bf+C=V(3)―f ・・・式13
式11〜式13を行列ベクトルとすると、式14、式15となる。
Figure 2017097795
Figure 2017097795
ここで、d、e、fが全て異なることから、行列式は0とならないことが、行列式の基本性質で知られている。行列の基本性質は、ある列に他の列の定数倍を加えても値が変わらない事、及び、1つの列を定数倍すると値が定数倍されることである。
Figure 2017097795
こうして求められたP(x)を0とすることで、(−p)、(−q)、(−r)が根として求められる。そのため、受信ノード130の抽出部131は、p、q、rを抽出できる。
なお、jが4以下であれば、j次方程式は、根の公式で解くことができる。jが5以上の場合は、数値的に解くことができる。
演算装置120から受信ノード130に送信される係数は、識別情報と状態情報の対である整数よりもデータ量が少ない。そのため、分散システムにおけるは、演算装置120と受信ノード130間の通信データ量を低減させることができる。
図4は、分散システムの構成の例を説明する図である。分散システム100において、送信ノード110a〜110fと受信ノード130が、スイッチまたはルータである中継装置401と通信線402を含むネットワークにより相互接続されている。更に、分散システム100は、リダクション機能を備えた独立筐体型のノード間演算装置403がノード外の中継装置401に接続される。
なお、図4は、分散システム100の例示であり、このシステムに含まれる送信ノード110(110a〜110n)、中継装置401、独立筐体型のノード間演算装置403の数は、任意であってよい。送信ノード110(110a〜110n)は、Central Processing Unit(CPU)110−1、メモリ110−2、およびネットワーク・インターフェースであるNetwork Interface Card(NIC)110−3を備える。メモリ110−2は、各送信ノード110の識別情報及び状態情報が記憶する。また、受信ノード130は、CPU130−1、メモリ130−2、およびNIC130−3を備える。メモリ130−2は、受信したリダクション結果の係数及び、該係数から抽出された状態情報及び識別情報を記憶する。
本実施形態では、リダクション処理を、送信ノード110のCPU110−1や受信ノード130のCPU130−1ではなく、Atomic Operationやネットワークのリダクション機能等のノード間演算装置403を用いて実現する。
ノード間演算装置403が実現するリダクションの機能は、例えば、MessagePassing Interface(MPI)規格でMPI Reduceという名のAPIで定義される処理を指し、個別のデータを指定した2項演算の反復により演算前と同じ型の1つのデータに縮約することを指す。例えば、指定する2項演算が加法であれば、対応するリダクションの結果は、全ノードのデータの総和となる。MPI規格では、MPI Reduceによるリダクションで指定可能な演算として、加法以外にも乗法、bitwise or、「最大値と場所の対」等を指定するマクロが定義されている。
分散システム100の環境における上記のリダクションの性能は、ノード間の通信時間によって決まり、演算の所要時間は、無視できる割合になる。しかしながら、システム規模の増大に伴って、リダクションは、入力情報を持つ全ノード間での、複数段階の中継動作を伴う処理になり得る。
ノード間の通信時間の相当部分は、ネットワーク装置の主記憶装置へのアクセスオーバヘッド、すなわち、IO(Input Output)バスをデータが通過する時間と、IO処理を制御し演算を行うためのCPU時間である。CPU上で演算を行うためには、まずメモリに格納された演算対象のデータをCPUに取り込む必要があり、演算結果をメモリに再び格納する必要がある。さらに、ネットワーク上で複数段の中継処理をしながらリダクションの演算をCPU上で行う場合には、IOバスとメモリバスをデータが各段の中継について2回通過することになる。これに対し、ノード間演算機能を有するネットワーク装置の内部で演算が行われれば、IOバスとメモリバスをデータが通過することによるオーバヘッドは削減され、リダクション性能は、大幅に向上する。
図5は、分散システムに設置される各種装置のハードウェア構成の例を説明する図である。送信ノード110と受信ノード130は、プロセッサ11、メモリ12、バス15、外部記憶装置16、ネットワーク接続装置19を備える。さらにオプションとして、送信ノード110と受信ノード130は、入力装置13、出力装置14、媒体駆動装置17を備えても良い。送信ノード110と受信ノード130は、例えば、コンピュータなどで実現されることがある。
プロセッサ11は、CPUを含む任意の処理回路とすることができる。送信ノード110におけるプロセッサ11は、図4のCPU110−1であり、図1の処理部111として動作する。受信ノード130におけるプロセッサ11は、図4のCPU130−1であり、図1の抽出部131として動作する。なお、プロセッサ11は、例えば、外部記憶装置16に記憶されたプログラムを実行することができる。
送信ノード110におけるメモリ12は、メモリ110−2である。受信ノード130におけるメモリ12は、メモリ130−2である。さらに、メモリ12は、プロセッサ11の動作により得られたデータや、プロセッサ11の処理に用いられるデータも、適宜、記憶する。
送信ノード110におけるネットワーク接続装置19は、図4のNIC110−3であり、図1の送受信部112として動作する。受信ノード130におけるネットワーク接続装置19は、図4のNIC130−3である。ネットワーク接続装置19は、他の装置との通信に使用され動作する。入力装置13は、例えば、ボタン、キーボード、マウス等として実現され、出力装置14は、ディスプレイなどとして実現される。バス15は、プロセッサ11、メモリ12、入力装置13、出力装置14、外部記憶装置16、媒体駆動装置17、ネットワーク接続装置19の間を相互にデータの受け渡しが行えるように接続する。外部記憶装置16は、プログラムやデータなどを格納し、格納している情報を、適宜、プロセッサ11などに提供する。媒体駆動装置17は、メモリ12や外部記憶装置16のデータを可搬記憶媒体18に出力することができ、また、可搬記憶媒体18からプログラムやデータ等を読み出すことができる。ここで、可搬記憶媒体18は、フロッピイディスク、Magnet-Optical(MO)ディスク、Compact Disc Recordable(CD−R)やDigital Versatile Disc Recordable(DVD−R)を含む、持ち運びが可能な任意の記憶媒体とすることができる。
ここで、ノード間演算装置403のハードウェア構成の例についても説明する。ノード間演算装置403は、プロセッサ11、メモリ12及びネットワーク接続装置19を備える。プロセッサ11は、演算部122として動作する。メモリ12は、プロセッサ11の動作により得られたデータや、プロセッサ11の処理に用いられるデータも、適宜、記憶する。ネットワーク接続装置19は、受信部121、送信部122として動作し、他の装置との通信に使用され動作する。
図6は、送信ノードの処理の例を説明するフローチャートである。送信ノード110の処理部111は、自送信ノード110で異常があるか否かを判定する(ステップS101)。送信ノード110に異常がある場合(ステップS101でYES)、処理部111は、パラメータ201に0を設定する(ステップS102)。処理部111は、引数202にエラーコードと自送信ノード110の識別情報を対応づけた整数を設定する(ステップS103)。処理部111は、引数203と引数302にエラーコードと自送信ノード110の識別情報を対応づけた整数を設定する(ステップS104)。
一方、送信ノード110に異常がない場合(ステップS101でNO)、処理部111は、パラメータ201に1を設定する(ステップS105)。処理部111は、引数202に0を設定する(ステップS106)。処理部111は、引数203と引数302に0を設定する(ステップS107)。
送受信部112は、パラメータ201をAPIコマンドであるMPI_Allrecudeで全送信ノードに送信し、併せて他の送信ノード110のパラメータ201を受信する(ステップS108)。処理部111は、パラメータ201に基づいて、異常のある送信ノード110の個数が2個以下であるか否かを判定する(ステップS109)。
異常のある送信ノード110が2個以下である場合(ステップS109でYES)、処理部111は、引数202を用いたMPI_Reduceを実行する(ステップS110)。ステップS110の処理で引数202が演算装置120に送信され、演算装置120は、加法(式1)によるリダクション処理を実行し、演算結果の係数を受信ノード130に送信する。続いて、処理部111は、引数203を用いたMPI_Reduceを実行する(ステップS111)。ステップS111の処理で引数203が演算装置120に送信され、演算装置120は、乗法(式2)によるリダクション処理を実行し、演算結果の係数を受信ノード130に送信する。ステップS111が終了すると、処理部111は、異常を通知する処理を終了する。
異常のある送信ノード110が3個以上である場合(ステップS109でNO)、処理部111は、引数302に定数を加算する(ステップS112)。処理部111は、引数302に定数を加算した値を用いたMPI_Reduceを実行する(ステップS113)。ステップS113の処理で引数302に定数を加算した値が演算装置120に送信され、演算装置120は、乗法(式4〜6など)によるリダクション処理を実行し、演算結果の係数を受信ノード130に送信する。処理部111は、異常のある送信ノードの数だけ、ステップS112とステップS113の処理を実行したか否かを判定する(ステップS114)。異常のある送信ノードの数だけ処理が完了していない場合(ステップS114でNO)、処理部111は、ステップS112から処理を繰り返す。異常のある送信ノードの数分のステップS112とS113の処理を実行している場合(ステップS114でYES)、処理部111は、異常を通知する処理を終了する。
図7は、受信ノードの処理の例を説明するフローチャートである。抽出部131は、パラメータ201をAPIコマンドであるMPI_Allrecudeで全送信ノードに送信し、併せて他の送信ノード110のパラメータ201を受信する(ステップS201)。抽出部131は、MPI_Reduceを実行し、乗法によるリダクションの結果を整数で取得する(ステップS202)。抽出部131は、異常のある送信ノード110の数分の整数(係数)を取得したか否かを判定する(ステップS203)。異常のある送信ノード110の数分の整数(係数)を取得していない場合(ステップS203でNO)、抽出部131は、処理をステップS202から繰り返す。
異常のある送信ノード110の数分の整数(係数)を取得済みの場合(ステップS203でYES)、抽出部131は、異常のある送信ノードの数が2以下か否かを判定する(ステップS204)。異常のある送信ノードの数が2以下でない場合(ステップS204でNO)、抽出部131は、係数の値(N個)を用いた方程式の解からエラーコードと識別情報の対を表す整数を抽出する(ステップS205)。
異常のある送信ノードの数が2以下である場合(ステップS204でYES)、抽出部131は、係数の値1と係数の値2が同じ値であるか否かを判定する(ステップS206)。係数の値1と値2が同じ値でない場合(ステップS206でNO)、抽出部131は、異常のある送信ノードが2つあると判定し、係数の値1と値2を用いた2次方程式の解からエラーコードと識別情報の対を表す整数を抽出する(ステップS207)。係数の値1と値2が同じ値である場合(ステップステップS206でYES)、ステップS205、ステップ207が終了すると、抽出部131は、整数からエラーコードと識別情報を抽出する(ステップS208)。
なお、値1と値2が同じ値である場合(ステップS206でYES)は、異常のある送信ノードが1つの場合であるため、係数の値1及び値2のそれ自体が、エラーコード及び識別情報である。
演算装置120から受信ノード130に送信される係数は、識別情報と状態情報の対である整数よりもデータ量が少ない。そのため、分散システムにおけるは、演算装置120と受信ノード130間の通信データ量を低減させることができる。
110a〜110n 送信ノード
120 並列演算装置
121 受信部
122 処理部
123 送信部
130 受信ノード
131 抽出部

Claims (12)

  1. 複数の送信ノードのうち異常のある送信ノードの個数に対応する方程式の係数を、前記異常のある送信ノードの状態情報と前記異常のある送信ノードを識別する識別情報とを含む数値から演算する演算部と、
    前記係数を用いる前記方程式の解から前記数値を抽出する受信ノードに、前記係数を送信する送信部と、を備える
    ことを特徴とする演算装置。
  2. 前記異常のある送信ノードの個数が1つである場合、
    前記送信部は、
    前記異常のある送信ノードの状態情報と前記異常のある送信ノードを識別する識別情報とを含む数値を、前記係数として前記受信ノードに送信する
    ことを特徴とする請求項1に記載の演算装置。
  3. 前記異常のある送信ノードの個数が2つである場合、
    前記演算部は、
    前記異常のある送信ノードの状態情報と識別情報とを含む2つの数値から、2次方程式の係数を演算する
    ことを特徴とする請求項1に記載の演算装置。
  4. 前記異常のある送信ノードの個数が3以上である場合、
    前記演算部は、
    前記異常のある送信ノードの状態情報と識別情報とを含む数値に、異常のある送信ノードの個数に応じた数の異なる定数を加算した値から、方程式の係数を演算する
    ことを特徴とする請求項1に記載の演算装置。
  5. 複数の送信ノードのうち異常のある送信ノードの個数に対応する方程式の係数を、前記異常のある送信ノードの状態情報と前記異常のある送信ノードを識別する識別情報とを含む数値から演算し、
    前記係数を用いる前記方程式の解から前記数値を抽出する受信ノードに、前記係数を送信する処理を、演算装置に実行させる
    ことを特徴とするプログラム。
  6. 前記異常のある送信ノードの個数が1つである場合、
    前記異常のある送信ノードの状態情報と前記異常のある送信ノードを識別する識別情報とを含む数値を、前記係数として前記受信ノードに送信する処理を前記演算装置に実行させる
    ことを特徴とする請求項5に記載のプログラム。
  7. 前記異常のある送信ノードの個数が2つである場合、
    前記異常のある送信ノードの状態情報と識別情報とを含む2つの数値から、2次方程式の係数を演算する処理を前記演算装置に実行させる
    ことを特徴とする請求項5に記載のプログラム。
  8. 前記異常のある送信ノードの個数が3以上である場合、
    前記異常のある送信ノードの状態情報と識別情報とを含む数値に、異常のある送信ノードの個数に応じた数の異なる定数を加算した値から、方程式の係数を演算する処理を前記演算装置に実行させる
    ことを特徴とする請求項5に記載のプログラム。
  9. 複数の送信ノードのうち異常のある送信ノードの個数に対応する方程式の係数を、前記異常のある送信ノードの状態情報と前記異常のある送信ノードを識別する識別情報とを含む数値から演算し、
    前記係数を用いる前記方程式の解から前記数値を抽出する受信ノードに、前記係数を送信する
    ことを特徴とする情報処理方法。
  10. 前記異常のある送信ノードの個数が1つである場合、
    前記異常のある送信ノードの状態情報と前記異常のある送信ノードを識別する識別情報とを含む数値を、前記係数として前記受信ノードに送信する
    ことを特徴とする請求項9に記載の情報処理方法。
  11. 前記異常のある送信ノードの個数が2つである場合、
    前記異常のある送信ノードの状態情報と識別情報とを含む2つの数値から、2次方程式の係数を演算する
    ことを特徴とする請求項9に記載の情報処理方法。
  12. 前記異常のある送信ノードの個数が3以上である場合、
    前記異常のある送信ノードの状態情報と識別情報とを含む数値に、異常のある送信ノードの個数に応じた数の異なる定数を加算した値から、方程式の係数を演算する
    ことを特徴とする請求項9に記載の情報処理方法。
JP2015232282A 2015-11-27 2015-11-27 演算装置、プログラム、情報処理方法 Active JP6597231B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2015232282A JP6597231B2 (ja) 2015-11-27 2015-11-27 演算装置、プログラム、情報処理方法
US15/355,375 US10491491B2 (en) 2015-11-27 2016-11-18 Calculation device, program, and information processing method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015232282A JP6597231B2 (ja) 2015-11-27 2015-11-27 演算装置、プログラム、情報処理方法

Publications (2)

Publication Number Publication Date
JP2017097795A true JP2017097795A (ja) 2017-06-01
JP6597231B2 JP6597231B2 (ja) 2019-10-30

Family

ID=58777491

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015232282A Active JP6597231B2 (ja) 2015-11-27 2015-11-27 演算装置、プログラム、情報処理方法

Country Status (2)

Country Link
US (1) US10491491B2 (ja)
JP (1) JP6597231B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021026429A (ja) * 2019-08-02 2021-02-22 富士通株式会社 情報処理装置

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115086262B (zh) * 2022-06-20 2023-09-26 深圳证券通信有限公司 异构即时通信方法及相关装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2004061681A1 (ja) * 2002-12-26 2004-07-22 Fujitsu Limited 運用管理方法および運用管理サーバ
JP2004312672A (ja) * 2002-11-18 2004-11-04 Korea Electronics Telecommun デュアルリングネットワークのためのリング選択方法
JP2007156573A (ja) * 2005-11-30 2007-06-21 Global Friendship Inc 電子情報輸送システム
WO2011058640A1 (ja) * 2009-11-12 2011-05-19 富士通株式会社 並列計算用の通信方法、情報処理装置およびプログラム
JP2015165198A (ja) * 2014-03-03 2015-09-17 新神戸電機株式会社 蓄電池の充電状態推定方法及び装置

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
BRPI0621216A2 (pt) * 2006-02-27 2016-11-08 E P Lab Co Ltd método para otimização de padrão de medida e método de cálculo de engenharia industrial usando o mesmo
JP4546413B2 (ja) 2006-03-17 2010-09-15 富士通株式会社 並列計算機のリダクション処理方法及び並列計算機
AU2009268659A1 (en) * 2008-07-08 2010-01-14 Genomic Health, Inc. Gene expression profiling for predicting the survivability of prostate cancer subjects
US20140095696A1 (en) * 2012-10-01 2014-04-03 Emerson Electric Co. Evaluating utilization of one or more computer systems
JP6417727B2 (ja) * 2014-06-09 2018-11-07 富士通株式会社 情報集約システム、プログラム、および方法
WO2016051512A1 (ja) * 2014-09-30 2016-04-07 株式会社日立製作所 分散型ストレージシステム
KR101786660B1 (ko) * 2014-10-31 2017-10-18 삼성에스디에스 주식회사 관제 맵 제공 방법 및 그 장치
US20170228274A1 (en) * 2016-02-10 2017-08-10 Bank Of America Corporation System for limiting faults associated with a random sampling simulation method for obtaining numeric values

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004312672A (ja) * 2002-11-18 2004-11-04 Korea Electronics Telecommun デュアルリングネットワークのためのリング選択方法
WO2004061681A1 (ja) * 2002-12-26 2004-07-22 Fujitsu Limited 運用管理方法および運用管理サーバ
JP2007156573A (ja) * 2005-11-30 2007-06-21 Global Friendship Inc 電子情報輸送システム
WO2011058640A1 (ja) * 2009-11-12 2011-05-19 富士通株式会社 並列計算用の通信方法、情報処理装置およびプログラム
JP2015165198A (ja) * 2014-03-03 2015-09-17 新神戸電機株式会社 蓄電池の充電状態推定方法及び装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021026429A (ja) * 2019-08-02 2021-02-22 富士通株式会社 情報処理装置

Also Published As

Publication number Publication date
JP6597231B2 (ja) 2019-10-30
US10491491B2 (en) 2019-11-26
US20170155565A1 (en) 2017-06-01

Similar Documents

Publication Publication Date Title
CN111201754B (zh) 用于提供区块链的环节的密码学保护的和经过滤的以及经排序的交易数据集的集合的设备
US9342370B2 (en) Server migration
US9853906B2 (en) Network prioritization based on node-level attributes
US20170017882A1 (en) Copula-theory based feature selection
EP2535994A2 (en) Fault processing system
EP3468095A1 (en) Transaction selection device for selecting blockchain transactions
JP5695767B1 (ja) トポロジ推定装置およびプログラム
JP6597231B2 (ja) 演算装置、プログラム、情報処理方法
CN108259195A (zh) 异常事件的影响范围的确定方法及系统
WO2018166249A1 (zh) 一种网络业务传输的方法及系统
CN107959642B (zh) 用于测量网络路径的方法、装置和系统
Pandurangan et al. Message lower bounds via efficient network synchronization
JP2017162046A (ja) センサーデータ処理装置、センサーデータ処理システム、センサーデータ処理方法、及び、センサーデータ処理プログラム
CN111367848A (zh) 一种区块链的数据处理装置、相关设备及方法
CN114039936B (zh) 基于时间敏感的虚拟电厂通信业务流量调度方法及装置
EP2908277A1 (en) Device, method and non-transitory computer readable storage medium for performing instant message communication
KR20150059277A (ko) Xml 온톨로지 기반의 다중 전술데이터링크 처리시스템
KR101508914B1 (ko) openADR에서 메시지의 오버헤드 및 지연시간을 줄이는 방법 및 그 방법을 수행하는 장치
Kamalesh et al. On the design of fault tolerant k-connected network topologies
Giroire et al. Maintaining balanced trees for structured distributed streaming systems
CN113703840B (zh) 数据处理装置、方法、芯片、计算机设备及存储介质
CN116827808B (zh) 一种基于工业物联网的多设备联合通讯系统、方法及设备
CN108984101A (zh) 在分布式存储系统中确定事件之间关系的方法及装置
CN116501288A (zh) 边缘交换机处实现的数据处理方法、电子设备和程序产品
Khan et al. Reliability based routing strategy for performance optimization in distributed mobile computing through clustering

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180810

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20190426

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190528

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190717

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20190717

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20190717

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190916

R150 Certificate of patent or registration of utility model

Ref document number: 6597231

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150