JP6880774B2 - Communication systems, distributed computing systems, nodes, information sharing methods and programs - Google Patents

Communication systems, distributed computing systems, nodes, information sharing methods and programs Download PDF

Info

Publication number
JP6880774B2
JP6880774B2 JP2017012208A JP2017012208A JP6880774B2 JP 6880774 B2 JP6880774 B2 JP 6880774B2 JP 2017012208 A JP2017012208 A JP 2017012208A JP 2017012208 A JP2017012208 A JP 2017012208A JP 6880774 B2 JP6880774 B2 JP 6880774B2
Authority
JP
Japan
Prior art keywords
communication
node
direct communication
nodes
elements
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2017012208A
Other languages
Japanese (ja)
Other versions
JP2018120470A (en
Inventor
晴道 横山
晴道 横山
拓也 荒木
拓也 荒木
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Priority to JP2017012208A priority Critical patent/JP6880774B2/en
Publication of JP2018120470A publication Critical patent/JP2018120470A/en
Application granted granted Critical
Publication of JP6880774B2 publication Critical patent/JP6880774B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Multi Processors (AREA)

Description

本発明は、通信システム、分散計算システム、ノード、情報共有方法及びプログラムに関し、特に、分散計算環境を構成する複数のノード間の通信を担う通信システム、分散計算システム、ノード、情報共有方法及びプログラムに関する。 The present invention relates to a communication system, a distributed computing system, a node, an information sharing method and a program, and more particularly, a communication system, a distributed computing system, a node, an information sharing method and a program responsible for communication between a plurality of nodes constituting the distributed computing environment. Regarding.

機械学習が近年積極的に研究されている。機械学習は、多数のデータから規則性を学習して、未知の事象に対して予測を行うことを目的とする。予測式(モデルともいう)をパラメータで表し、データを正しく説明できるように、パラメータの値をデータにもとづき最適化する。予測式のパラメータの数は数個から多ければ数千万程度まで及ぶ。 Machine learning has been actively studied in recent years. Machine learning aims to learn regularity from a large number of data and make predictions for unknown events. The prediction formula (also called a model) is represented by parameters, and the values of the parameters are optimized based on the data so that the data can be explained correctly. The number of parameters in the prediction formula ranges from a few to tens of millions at most.

疎なデータやモデルの学習に注目が集まっている。具体的な応用先として、文書解析や商品の推薦がある。疎なデータとは、データを特徴づける次元が大量にある(例えば文章に含まれる語彙数、数千万オーダー)が、データの個々のサンプル(文書解析で言えば個々の文書)に含まれる単語は少数である、という特徴がある。疎なデータを学習するときは、モデルのパラメータがデータの特徴に対応するため、パラメータの数は膨大になる。
データの容量が増えるにしたがって、処理時間が増加する。そのため機械学習を分散した計算ノードで実行することがある。単一のノードにおける計算処理量を減らし、実行完了までの時間を短縮する。例えば、特許文献1に、分散計算機システムを用いて機械学習を行う構成が開示されている。
Attention is focused on learning sparse data and models. Specific application destinations include document analysis and product recommendation. Sparse data is a word that has a large number of dimensions that characterize the data (for example, the number of vocabularies contained in a sentence, on the order of tens of millions), but is contained in individual samples of data (individual documents in document analysis). Is characterized by a small number. When learning sparse data, the number of parameters becomes enormous because the parameters of the model correspond to the characteristics of the data.
As the amount of data increases, the processing time increases. Therefore, machine learning may be executed on distributed compute nodes. It reduces the amount of calculation processing in a single node and shortens the time to complete execution. For example, Patent Document 1 discloses a configuration in which machine learning is performed using a distributed computer system.

機械学習におけるモデルパラメータの最適化には、一度の処理でデータ全体を用いる勾配降下法という手法と、データの一部だけを利用する確率的勾配降下法という手法がある。処理に用いるデータの部分集合を「ミニバッチ」と呼ぶ。確率的勾配降下法とは、パラメータの更新部分を計算するときに、データ全体を利用するのではなく、所定のミニバッチを利用する(利用するミニバッチは毎回変える)。分散ノードでこれを行う場合は、各ミニバッチを用いた計算ごとに、計算結果を集約してパラメータを更新して、更新したパラメータを次のミニバッチを用いた計算に利用できるように通信する。例えば、特許文献2に、複数の計算ノード部とパラメタ更新処理部を備えて確率的勾配降下法によるパラメタ学習を行うパラメタ学習装置が開示されている。 There are two methods for optimizing model parameters in machine learning: the gradient descent method, which uses the entire data in a single process, and the stochastic gradient descent method, which uses only part of the data. A subset of the data used for processing is called a "mini-batch". The stochastic gradient descent method uses a predetermined mini-batch (changes the mini-batch to be used each time) instead of using the entire data when calculating the updated part of the parameter. When this is done on a distributed node, the calculation results are aggregated and the parameters are updated for each calculation using each mini-batch, and the updated parameters are communicated so that they can be used for the calculation using the next mini-batch. For example, Patent Document 2 discloses a parameter learning device that includes a plurality of calculation node units and a parameter update processing unit and performs parameter learning by a stochastic gradient descent method.

その他非特許文献1、2に、分散ノード環境で機械学習を行う際の、パラメータの通信と管理を行うパラメータサーバが提案されている。パラメータサーバは、分散した計算ノードと協調して動作し、計算ノードの通知によりパラメータを送信する。計算ノードは計算を行い、変化したパラメータ(の変化分)をパラメータサーバに対して送信する。 Other Non-Patent Documents 1 and 2 propose a parameter server that communicates and manages parameters when performing machine learning in a distributed node environment. The parameter server operates in cooperation with the distributed calculation nodes and sends parameters by notification of the calculation nodes. The calculation node performs the calculation and sends (the amount of change) of the changed parameter to the parameter server.

特開2012−22558号公報Japanese Unexamined Patent Publication No. 2012-22558 特開2012−79080号公報Japanese Unexamined Patent Publication No. 2012-79080

Mu Li, et al. "Scaling distributed machine learning with the parameter server." 11th USENIX Symposium on Operating Systems Design and Implementation (OSDI 14). 2014.Mu Li, et al. "Scaling distributed machine learning with the parameter server." 11th USENIX Symposium on Operating Systems Design and Implementation (OSDI 14). 2014. Mu Li, et al. "Communication efficient distributed machine learning with the parameter server." Advances in Neural Information Processing Systems. 2014.Mu Li, et al. "Communication efficient distributed machine learning with the parameter server." Advances in Neural Information Processing Systems. 2014.

以下の分析は、本発明によって与えられたものである。疎なデータに対する機械学習において、確率的勾配降下法を適用することを考える。疎なデータは、サンプルに含まれる特徴の数が、全体に比して非常に少ない。ミニバッチに含まれるサンプルが多くないのであれば、ミニバッチに含まれる特徴の数が全体に比して少なくなり、そのミニバッチを利用した計算により更新されるパラメータも全体に比して少なくなる。 The following analysis is given by the present invention. Consider applying the stochastic gradient descent method in machine learning for sparse data. The sparse data has a very small number of features in the sample. If the mini-batch does not contain many samples, the number of features contained in the mini-batch will be smaller than the whole, and the parameters updated by the calculation using the mini-batch will also be smaller than the whole.

非特許文献1、2では、計算ノードで計算を行った結果を、一度サーバに送信し、次のステップでその値が必要な計算ノードに送信している。特許文献1、2も、それぞれ分散モデル更新部及びパラメタ更新処理部がパラメータの収集と配布を行っている。 In Non-Patent Documents 1 and 2, the result of calculation performed by the calculation node is once transmitted to the server, and the value is transmitted to the required calculation node in the next step. In Patent Documents 1 and 2, the distribution model update unit and the parameter update processing unit collect and distribute the parameters, respectively.

しかしながら、次のステップで値が必要な計算ノードがもしひとつだけであれば、サーバに送信して、計算ノードに送信するという処理を踏む必要はなく、直接に値を必要とするノードに送信すれば十分である。このように、パラメータサーバに代表される要素の集約と分散を行う方式においては、一部で不要な通信が発生している。 However, if there is only one compute node that needs a value in the next step, there is no need to go through the process of sending it to the server and sending it to the compute node, and send it directly to the node that needs the value. Is enough. As described above, in the method of aggregating and distributing the elements represented by the parameter server, unnecessary communication occurs in some parts.

本発明は、分散計算環境でパラメータを計算する際のパラメータ等の中間計算結果の授受のための通信量の削減に貢献できる通信システム、分散計算システム、ノード、情報共有方法及びプログラムを提供することを目的とする。 The present invention provides a communication system, a distributed calculation system, a node, an information sharing method and a program that can contribute to a reduction in the amount of communication for exchanging intermediate calculation results such as parameters when calculating parameters in a distributed calculation environment. With the goal.

第1の視点によれば、複数のノードがそれぞれ担当するデータを用いて要素を計算する分散計算環境を構成する一のノードが計算した要素が、次に当該要素を必要とするノードへと直接通信できるか否かを判定する直接通信判定手段を備える通信システムが提供される。この通信システムは、さらに、前記直接通信判定手段の判定の結果をもとに、前記ノード間での要素の直接的な通信を計画(直接通信計画)する直接通信計画手段を備える。さらに、この通信システムは、前記直接通信計画に従って、前記ノード間の通信を実現する通信手段とを備える。 According to the first viewpoint, the element calculated by one node constituting the distributed calculation environment in which the element is calculated using the data in charge of each of the plurality of nodes is directly directed to the node that requires the element next. A communication system including a direct communication determination means for determining whether or not communication is possible is provided. The communication system further includes a direct communication planning means that plans direct communication of elements between the nodes (direct communication plan) based on the result of the determination of the direct communication determination means. Further, the communication system includes a communication means for realizing communication between the nodes according to the direct communication plan.

第2の視点によれば、上記した通信システムと、複数のノードがそれぞれ担当するデータを用いて要素を計算する分散計算環境を構成する一のノードと、を含む分散計算システムが提供される。 According to the second viewpoint, a distributed calculation system including the above-mentioned communication system and one node constituting a distributed calculation environment for calculating elements using data in charge of each of the plurality of nodes is provided.

第3の視点によれば、上記した通信システムに相当する機能を備えるノードが提供される。 According to the third viewpoint, a node having a function corresponding to the above-mentioned communication system is provided.

第4の視点によれば、複数のノードがそれぞれ担当するデータを用いて要素を計算する分散計算環境に配置されたコンピュータが、前記分散計算環境を構成する一のノードが計算した要素が、次に当該要素を必要とするノードへと直接通信できるか否かを判定するステップと、前記判定の結果をもとに、前記ノード間での要素の直接的な通信を計画(直接通信計画)するステップと、前記直接通信計画に従って、前記ノード間の通信を実現するステップと、を含むノード間の情報共有方法が提供される。本方法は、分散計算環境に配置されて要素に通信を制御するコンピュータという、特定の機械に結びつけられている。 According to the fourth viewpoint, a computer placed in a distributed calculation environment that calculates elements using data in charge of each of a plurality of nodes, and an element calculated by one node constituting the distributed calculation environment are next. Based on the step of determining whether or not the element can be directly communicated with the node requiring the element and the result of the determination, the direct communication of the element between the nodes is planned (direct communication plan). A method of sharing information between nodes is provided, including a step and a step of realizing communication between the nodes according to the direct communication plan. This method is tied to a specific machine, a computer that is placed in a distributed computing environment and controls communication to elements.

第5の視点によれば、複数のノードがそれぞれ担当するデータを用いて要素を計算する分散計算環境に配置されたコンピュータに、前記分散計算環境を構成する一のノードが計算した要素が、次に当該要素を必要とするノードへと直接通信できるか否かを判定する処理と、前記判定の結果をもとに、前記ノード間での要素の直接的な通信を計画(直接通信計画)する処理と、前記直接通信計画に従って、前記ノード間の通信を実現する処理と、を実行させるプログラムが提供される。なお、このプログラムは、コンピュータが読み取り可能な(非トランジエントな)記憶媒体に記録することができる。即ち、本発明は、コンピュータプログラム製品として具現することも可能である。 According to the fifth viewpoint, the elements calculated by one node constituting the distributed calculation environment are next to the computer arranged in the distributed calculation environment in which the elements are calculated using the data in charge of each of the plurality of nodes. Based on the process of determining whether or not the element can be directly communicated with the node requiring the element and the result of the determination, the direct communication of the element between the nodes is planned (direct communication plan). A program for executing a process and a process for realizing communication between the nodes according to the direct communication plan is provided. The program can be recorded on a computer-readable (non-transient) storage medium. That is, the present invention can also be embodied as a computer program product.

本発明によれば、分散計算環境でパラメータを計算する際のパラメータ等の中間計算結果の授受のための通信量を削減することが可能となる。 According to the present invention, it is possible to reduce the amount of communication for exchanging intermediate calculation results such as parameters when calculating parameters in a distributed calculation environment.

本発明の一実施形態の構成を示す図である。It is a figure which shows the structure of one Embodiment of this invention. 本発明が好適に適用される分散計算システムの構成例を示す図である。It is a figure which shows the structural example of the distributed calculation system to which this invention is applied preferably. 本発明の第1の実施形態の通信システムの構成を示す図である。It is a figure which shows the structure of the communication system of 1st Embodiment of this invention. 本発明の第1の実施形態の通信システムの更新要素記憶部に保持される情報(更新対象要素テーブル)の一例を示す図である。It is a figure which shows an example of the information (update target element table) held in the update element storage part of the communication system of 1st Embodiment of this invention. 本発明の第1の実施形態の通信システムの通信情報記録部に保持される情報(reduce通信要素テーブル)の一例を示す図である。It is a figure which shows an example of the information (reduce communication element table) held in the communication information recording part of the communication system of 1st Embodiment of this invention. 本発明の第1の実施形態の通信システムの通信情報記録部に保持される情報(Broadcast通信要素テーブル)の一例を示す図である。It is a figure which shows an example of the information (Broadcast communication element table) held in the communication information recording part of the communication system of 1st Embodiment of this invention. 本発明の第1の実施形態の通信システムの通信情報記録部に保持される情報(直接通信要素テーブル)の一例を示す図である。It is a figure which shows an example of the information (direct communication element table) held in the communication information recording part of the communication system of 1st Embodiment of this invention. 本発明の第1の実施形態の通信システムの通信情報記録部に保持される情報(担当範囲テーブル)の一例を示す図である。It is a figure which shows an example of the information (in charge range table) held in the communication information recording part of the communication system of the 1st Embodiment of this invention. 本発明の第1の実施形態の通信システムの動作を表したフローチャートである。It is a flowchart which showed the operation of the communication system of 1st Embodiment of this invention. 本発明の第2の実施形態の通信システムの構成を示す図である。It is a figure which shows the structure of the communication system of the 2nd Embodiment of this invention. 本発明の第2の実施形態の通信システムの直接通信判定手段の詳細構成を示す図である。It is a figure which shows the detailed structure of the direct communication determination means of the communication system of the 2nd Embodiment of this invention. 本発明の第2の実施形態の通信システムの直接通信計画手段の詳細構成を示す図である。It is a figure which shows the detailed structure of the direct communication planning means of the communication system of the 2nd Embodiment of this invention. 本発明の第2の実施形態の通信システムの動作を表した流れ図である。It is a flow chart which showed the operation of the communication system of the 2nd Embodiment of this invention. 図13のステップS201の詳細を表したフローチャートである。It is a flowchart which showed the detail of step S201 of FIG. 図13のステップS203の詳細を表したフローチャートである。It is a flowchart which showed the detail of step S203 of FIG. 図13のステップS203の詳細を表した別のフローチャートである。It is another flowchart which showed the detail of step S203 of FIG. 図13のステップS204の詳細を表したフローチャートである。It is a flowchart which showed the detail of step S204 of FIG. 図13のステップS204の詳細を表した別のフローチャートである。It is another flowchart which showed the detail of step S204 of FIG. 図13のステップS205の詳細を表したフローチャートである。It is a flowchart which showed the detail of step S205 of FIG. 図13のステップS205の詳細を表した別のフローチャートである。It is another flowchart showing the details of step S205 of FIG.

はじめに本発明の一実施形態の概要について図面を参照して説明する。なお、この概要に付記した図面参照符号は、理解を助けるための一例として各要素に便宜上付記したものであり、本発明を図示の態様に限定することを意図するものではない。また、以降の説明で参照する図面等のブロック間の接続線は、双方向及び単方向の双方を含む。一方向矢印については、主たる信号(データ)の流れを模式的に示すものであり、双方向性を排除するものではない。 First, an outline of one embodiment of the present invention will be described with reference to the drawings. It should be noted that the drawing reference reference numerals added to this outline are added to each element for convenience as an example for assisting understanding, and the present invention is not intended to be limited to the illustrated embodiment. Further, the connecting line between blocks such as drawings referred to in the following description includes both bidirectional and unidirectional. The one-way arrow schematically shows the flow of the main signal (data), and does not exclude interactivity.

本発明は、その一実施形態において、図1に示すように、直接通信判定手段11と、直接通信計画手段12と、通信手段13とを備える通信システムの形態を採ることができる。より具体的には、直接通信判定手段11は、複数のノード(図1の計算ノード2)がそれぞれ担当するデータを用いて要素を計算する分散計算環境を構成する一のノードが計算した要素が、次に当該要素を必要とするノードへと直接通信できるか否かを判定する。前記直接通信の可否は、計算した要素を直接次計算ノードに送信すれば足りるか否かにて判定することができる。 In one embodiment of the present invention, as shown in FIG. 1, a communication system including a direct communication determination means 11, a direct communication planning means 12, and a communication means 13 can be adopted. More specifically, in the direct communication determination means 11, the element calculated by one node constituting the distributed calculation environment for calculating the element using the data in charge of each of the plurality of nodes (calculation node 2 in FIG. 1) is used. Then, it is determined whether or not the element can be directly communicated with the required node. Whether or not the direct communication is possible can be determined by whether or not it is sufficient to directly transmit the calculated element to the next calculation node.

直接通信計画手段12は、前記直接通信判定手段の判定の結果をもとに、前記ノード間での要素の直接的な通信を計画する。直接的な通信の計画は、送信元の計算ノードと、送信先の計算ノードと、送信すべき要素と、当該通信が行われる計算ステップとの組み合わせにて記述することができる。また、この直接的な通信の計画において、該当ステップにおいて、当該要素を他の計算ノードに送信しないように計画の修正も行われる。 The direct communication planning means 12 plans the direct communication of the elements between the nodes based on the result of the determination of the direct communication determining means. The direct communication plan can be described by a combination of a source compute node, a destination compute node, an element to be transmitted, and a computational step in which the communication is performed. Also, in this direct communication plan, the plan is modified so that the element is not transmitted to other compute nodes at the relevant step.

通信手段13は、前記直接通信計画に従って、前記ノード間の通信を実現する。この前記ノード間の通信は、典型的には、通信システムが計算ノードに対し、要素の直接送信を指示することによって実現することができる。 The communication means 13 realizes communication between the nodes according to the direct communication plan. This communication between the nodes can typically be achieved by the communication system instructing the compute nodes to directly transmit the elements.

以上のような通信システム1によれば、直接通信可能と判断された要素は、直接次計算ノードに送信されることになる。結果として、計算ノード間で、当該要素を集約したり、これを配布するために要する通信量を削減することができる。 According to the communication system 1 as described above, the element determined to be directly communicable is directly transmitted to the next calculation node. As a result, it is possible to reduce the amount of communication required for aggregating the elements and distributing them among the computing nodes.

[第1の実施形態]
続いて、本発明の第1の実施形態について図面を参照して詳細に説明する。はじめに、本発明の通信システムが利用される分散計算システムについて説明する。図2は、分散計算システムの構成例を示す図である。図2を参照すると、複数の計算ノード2と計算ノード2を接続するネットワークによって構成された分散計算システムが示されている。計算ノード2としては、CPU(Central Processing Unit)、メモリ、補助記憶装置、IO(Input/Output)バスなどから構成される一般的な計算機を用いることができる。
[First Embodiment]
Subsequently, the first embodiment of the present invention will be described in detail with reference to the drawings. First, a distributed calculation system in which the communication system of the present invention is used will be described. FIG. 2 is a diagram showing a configuration example of a distributed calculation system. With reference to FIG. 2, a distributed calculation system composed of a plurality of calculation nodes 2 and a network connecting the calculation nodes 2 is shown. As the calculation node 2, a general computer composed of a CPU (Central Processing Unit), a memory, an auxiliary storage device, an IO (Input / Output) bus, and the like can be used.

計算ノード2は、それぞれが最適化要素を保持する。この最適化要素は、機械学習を例にとれば、予測モデルのパラメータに相当する。計算ノード2は、最適化要素を最適な値にするように、計算をくり返す。計算ノード2は、前記計算の都度、最適化要素を最適にするための更新差分を求め、それを最適化要素に足しこむ。 Each compute node 2 holds an optimization element. This optimization element corresponds to the parameters of the prediction model, taking machine learning as an example. The calculation node 2 repeats the calculation so as to set the optimization element to the optimum value. The calculation node 2 obtains an update difference for optimizing the optimization element each time the calculation is performed, and adds it to the optimization element.

計算の繰り返し(ステップ)ごとに、計算ノード2は、計算した更新差分を他の計算ノードと共有する。ネットワークは、前記計算した更新差分を共有するために使用される。 At each calculation iteration (step), the calculation node 2 shares the calculated update difference with other calculation nodes. The network is used to share the calculated update difference.

前記複数の計算ノード2による更新差分の共有方法の一例を述べる。計算ノード2は、最適化要素の一部を集約担当部分(以後、集約担当部分を単に、担当部分とも呼ぶ)とする。担当部分は、範囲で指定するのが一般的である(その場合、担当部分を担当範囲と呼ぶ。)。それぞれの計算ノードの担当部分は、重複なく、漏れがない。計算ノードは、最適化要素に対する処理を行い、それぞれの担当部分を介して、計算結果の共有を行う。 An example of a method of sharing the update difference by the plurality of calculation nodes 2 will be described. In the calculation node 2, a part of the optimizing element is a part in charge of aggregation (hereinafter, the part in charge of aggregation is also simply referred to as a part in charge). The part in charge is generally specified by a range (in that case, the part in charge is called the range in charge). The parts in charge of each compute node are unique and complete. The calculation node performs processing on the optimizing element and shares the calculation result through the respective responsible parts.

本発明の第1の実施形態の通信システムは、上記分散計算システムが行った計算結果の共有を担う。通信システムは、分散計算システムのそれぞれのノードがそれぞれのステップで更新する要素を記憶している(図4参照)。また、それぞれの計算ノードの担当部分についても記憶している(図8参照)。 The communication system of the first embodiment of the present invention is responsible for sharing the calculation results performed by the distributed calculation system. The communication system stores the elements that each node of the distributed computing system updates at each step (see FIG. 4). It also stores the part in charge of each calculation node (see FIG. 8).

通信システムは、各ステップの計算が終了するごとに、それぞれの計算ノード2が更新した要素の差分を、前記要素を含む集約担当部分を有する計算ノード2に対して送信する。これをreduce通信と呼ぶ。その後、計算ノードは、担当部分の要素に対して、他の計算ノードから送信されたものを足し合わせる(集約)。計算ノード2は足し合わせたそれぞれの要素を、次のステップで必要な計算ノード、すなわち、次のステップで前記要素を更新する計算ノード2に対して送信する。これをbroadcast通信と呼ぶ。以上の通信操作はすべてブロッキング通信であると想定して、以下説明を行う。 The communication system transmits the difference of the elements updated by each calculation node 2 to the calculation node 2 having the aggregation charge portion including the elements each time the calculation of each step is completed. This is called reduce communication. After that, the compute node adds the elements sent from other compute nodes to the element in charge (aggregation). The calculation node 2 transmits each of the added elements to the calculation node required in the next step, that is, the calculation node 2 that updates the element in the next step. This is called broadcast communication. The following description will be given on the assumption that all the above communication operations are blocking communication.

なお、上記した通信システムは、典型的には、計算ノード2間のパラメータを授受するパラメータサーバとして実現できる。また、上記した通信システムは、物理的に計算ノードと独立している必要はなく、例えば、計算ノードと同じ計算機の上の別々のプログラムとして実装されていても良い。 The communication system described above can typically be realized as a parameter server that sends and receives parameters between the calculation nodes 2. Further, the above-mentioned communication system does not have to be physically independent of the computing node, and may be implemented as a separate program on the same computer as the computing node, for example.

図3は、本発明の第1の実施形態の通信システムの構成を示す図である。図3を参照すると、直接通信判定手段110と、直接通信計画手段120と、更新要素記憶部130と、通信情報記録部140と、通信手段150とを備えた構成が示されている。 FIG. 3 is a diagram showing a configuration of a communication system according to the first embodiment of the present invention. With reference to FIG. 3, a configuration including a direct communication determination means 110, a direct communication planning means 120, an update element storage unit 130, a communication information recording unit 140, and a communication means 150 is shown.

まず、更新要素記憶部130と通信情報記録部140に保持されるデータの構造について説明する。 First, the structure of the data held in the update element storage unit 130 and the communication information recording unit 140 will be described.

更新要素記憶部130には、図4に示すように、分散計算システムが計算を行うステップをIDとした、ステップ数分のテーブルが保持される。それぞれのテーブルは、IDとした特定のステップにおいて、それぞれの計算ノードにおいて更新される要素(更新対象要素)が記録されている。図4の例では、計算ノード2はノード番号で指定されている。更新される要素も整数(インデックス)で指定されている。例えば、図4の例では、ステップmにおいて、ノード番号=1の計算ノードが45、289、358という番号で特定される要素を更新することを示している。 As shown in FIG. 4, the update element storage unit 130 holds a table for the number of steps, with the step for which the distributed calculation system performs the calculation as an ID. In each table, the element to be updated (update target element) in each calculation node is recorded in a specific step as an ID. In the example of FIG. 4, the calculation node 2 is designated by the node number. The element to be updated is also specified by an integer (index). For example, in the example of FIG. 4, in step m, it is shown that the compute node with node number = 1 updates the element specified by the numbers 45, 289, and 358.

通信情報記録部140には、reduce通信要素テーブル、broadcast通信要素テーブル、直接通信要素テーブル、担当範囲テーブルとが保持される。これらは通信手段150が通信を行う際に参照される。以下、それぞれのテーブルについて説明する。 The communication information recording unit 140 holds a reduce communication element table, a broadcast communication element table, a direct communication element table, and a range of responsibility table. These are referred to when the communication means 150 communicates. Each table will be described below.

reduce通信要素テーブルには、図5に示すように、各ステップにおいて、送信ノードから受信ノードに対してreduce通信される要素が記述される。reduce通信要素テーブルは、計算ノード2が計算するステップ数分用意され、reduce通信の際に参照される。なお、通信対象となる要素は、先の更新対象要素と同様に、インデックスで指定される。受信ノードが受信する要素は、当該受信ノードの担当範囲に含まれる要素が設定される。これによりそれぞれの受信ノードが担当部分の要素に、受信した要素の差分を足しこんで自身の担当範囲の要素の集約を実施する。 In the reduce communication element table, as shown in FIG. 5, the elements that are redue-communicated from the transmitting node to the receiving node are described in each step. The reduce communication element table is prepared for the number of steps calculated by the calculation node 2, and is referred to at the time of reduce communication. The element to be communicated is specified by an index in the same manner as the element to be updated. As the element received by the receiving node, the element included in the range in charge of the receiving node is set. As a result, each receiving node adds the difference of the received element to the element of the part in charge and aggregates the elements of its own range.

broadcast通信要素テーブルには、図6に示すように、各ステップにおいて、送信ノードから受信ノードに対してbroadcast通信される要素が記述される。broadcast通信要素テーブルは、計算ノード2が計算するステップ数分用意され、broadcast通信の際に参照される。なお、要素は、先のreduce通信要素テーブルと同様に、インデックスで指定される。broadcast通信要素テーブルにおいて、送信ノードが送信する要素は、当該送信ノードの担当範囲に含まれる要素が設定される。これによりそれぞれの送信ノードの担当範囲の要素が次のステップで当該要素を必要とする計算ノードに送信されることになる。 As shown in FIG. 6, in the broadcast communication element table, elements that are broadcast from the transmitting node to the receiving node are described in each step. The broadcast communication element table is prepared for the number of steps calculated by the calculation node 2, and is referred to during broadcast communication. The element is specified by an index as in the previous reduce communication element table. In the broadcast communication element table, the element transmitted by the transmitting node is set to the element included in the range in charge of the transmitting node. As a result, the element of the range in charge of each transmitting node is transmitted to the computing node that requires the element in the next step.

なお、以下の説明においては、reduce通信要素テーブル及びbroadcast 通信要素テーブルは、あるステップにおける、ある要素を更新するノードが1つであるか否かを考慮せず、必要な計算ノードに要素が集約及び配布されるように設定されているものとして説明する。 In the following description, the read communication element table and the broadcast communication element table do not consider whether or not there is one node that updates a certain element in a certain step, and the elements are aggregated in the necessary calculation nodes. And be described as being set to be distributed.

直接通信要素テーブルには、図7に示すように、各ステップにおいて、送信ノードから受信ノードに対して、直接通信される要素が記憶される。直接通信要素テーブルも、計算ノード2が計算するステップ数分用意され、直接通信の際に参照される。ここで、直接通信とは、reduce通信、broadcast通信という処理を経ずに、ある要素に対して、更新を行ったノードから次に必要とするノードへと直接的に通信する通信の方法である。通信システムの動作開始前には、直接通信要素テーブルの通信インデックスフィールドは、すべて空(null)となっている。 As shown in FIG. 7, the direct communication element table stores the elements that are directly communicated from the transmitting node to the receiving node in each step. The direct communication element table is also prepared for the number of steps calculated by the calculation node 2 and is referred to during direct communication. Here, the direct communication is a communication method for directly communicating from the updated node to the next required node for a certain element without going through the processes of reade communication and broadcast communication. .. Prior to the start of operation of the communication system, the communication index fields of the direct communication element table are all null.

図8は、担当範囲テーブルの一例を示す図である。図8の例では、各ノードの担当範囲が担当範囲開始インデクックスにより記述されている。この場合、あるノードの担当範囲は、担当範囲開始インデクックスから、次の番号のノードの担当範囲開始インデックスまでとなる。 FIG. 8 is a diagram showing an example of a range table in charge. In the example of FIG. 8, the range of responsibility of each node is described by the range of responsibility start index. In this case, the responsible range of a node is from the responsible range start index to the responsible range start index of the node with the next number.

続いて、上記更新要素記憶部130と、通信情報記録部140に格納される情報を用いた直接通信判定手段110、直接通信計画手段120、通信手段150の動作について説明する。 Subsequently, the operations of the update element storage unit 130, the direct communication determination means 110, the direct communication planning means 120, and the communication means 150 using the information stored in the communication information recording unit 140 will be described.

直接通信判定手段110は、分散計算システムを構成する各ノードにおいて行われる計算ステップで、所定の要素を、reduce通信、broadcast通信によらず、直接通信に変更可能であるかどうかを判定する。本実施形態では、ステップmにおいて要素xを更新する計算ノードがただ一つである場合に、ステップmにおいて、要素xが直接通信可能であるということを判定することとしている。 The direct communication determining means 110 determines in a calculation step performed at each node constituting the distributed calculation system whether or not a predetermined element can be changed to direct communication regardless of readuse communication or broadcast communication. In the present embodiment, when there is only one calculation node that updates the element x in the step m, it is determined in the step m that the element x can communicate directly.

直接通信計画手段120は、直接通信判定手段110が直接通信を行うことが可能であると判定した要素に関して、通信要素テーブルの内容を変更する。ステップmにおいて直接通信が可能と判定された要素をxとすると、直接通信計画手段120は、要素xに関する直近のreduce通信とbroadcast通信を削除する。通信を削除するとは、当該通信を行わないように、reduce通信要素テーブル及びbroadcast通信要素テーブルの通信インデックスフィールドから、該当する要素インデックスを削除する、との意味である。そして、直接通信計画手段120は、要素xが更新された直近のステップにおいて、要素xの直接通信を追加する。ここで、通信を追加するとは、通信を行うように直接通信要素テーブルの通信インデックスフィールドに該当する要素のインデックスを追加することである。 The direct communication planning means 120 changes the contents of the communication element table with respect to the elements determined by the direct communication determination means 110 to be capable of direct communication. Assuming that the element determined to be capable of direct communication in step m is x, the direct communication planning means 120 deletes the latest read communication and broadcast communication related to the element x. Deleting the communication means deleting the corresponding element index from the communication index fields of the reduse communication element table and the broadcast communication element table so as not to perform the communication. Then, the direct communication planning means 120 adds the direct communication of the element x in the latest step in which the element x is updated. Here, adding communication means adding the index of the corresponding element to the communication index field of the direct communication element table so as to perform communication.

通信手段150は、通信情報記録部140に記憶されている通信要素テーブルの内容に基づいて、計算ノード2間での要素の通信を制御する。 The communication means 150 controls the communication of elements between the calculation nodes 2 based on the contents of the communication element table stored in the communication information recording unit 140.

なお、図1、3に示した通信システムの各部(処理手段)は、通信システム(計算ノードであってもよい)を構成するコンピュータに、そのハードウェアを用いて、上記した各処理を実行させるコンピュータプログラムにより実現することもできる。 Each part (processing means) of the communication system shown in FIGS. 1 and 3 causes a computer constituting the communication system (which may be a calculation node) to execute each of the above-mentioned processes by using the hardware thereof. It can also be realized by a computer program.

続いて、本実施形態の動作について図面を参照して詳細に説明する。図9は、直接通信計画の作成指示を受けた場合の通信システムの動作を表したフローチャートである。図9を参照すると、まず、通信システムの直接通信判定手段110が、ステップmで要素xを更新する計算ノードがただ一つであるかどうかを判定する(ステップS101〜S102)。例えば、更新要素記憶部130のステップmのテーブルを走査して、要素xを更新する計算ノードが1つであれば、当該要素xは直接通信に変更可能と判定される(ステップS102の判定Yes)。逆に、要素xを更新する計算ノードが0又は2以上ある場合、直接通信に変更不可と判定される(ステップS102の判定No)。 Subsequently, the operation of the present embodiment will be described in detail with reference to the drawings. FIG. 9 is a flowchart showing the operation of the communication system when receiving an instruction to create a direct communication plan. Referring to FIG. 9, first, the direct communication determination means 110 of the communication system determines whether or not there is only one calculation node that updates the element x in step m (steps S101 to S102). For example, if the table of step m of the update element storage unit 130 is scanned and there is only one calculation node that updates the element x, it is determined that the element x can be changed to direct communication (determination Yes in step S102). ). On the contrary, when there are 0 or 2 or more calculation nodes for updating the element x, it is determined that the direct communication cannot be changed (determination No. in step S102).

ステップS102で判定Yesの場合、直接通信判定手段110は、直接通信計画手段120に、直接通信に変更可能と判定したステップmの要素xの情報を通知する。直接通信計画手段120は、reduce通信要素テーブル及びbroadcast通信要素テーブルの通信インデックスフィールドから、該当する要素インデックスを削除する(ステップS103)。例えば、図5のreduce通信要素テーブルから要素x(例えば、図5の#4012の要素)を削除することで、当該要素がreduce通信の対象から外れることになる。同様に、図6のbroadcast通信要素テーブルから要素xを削除することで、当該要素がbroadcast通信の対象から外れることになる。 In the case of the determination Yes in step S102, the direct communication determination means 110 notifies the direct communication planning means 120 of the information of the element x of the step m determined to be changeable to the direct communication. The direct communication planning means 120 deletes the corresponding element index from the communication index fields of the reduce communication element table and the broadcast communication element table (step S103). For example, by deleting the element x (for example, the element of # 4012 in FIG. 5) from the reduce communication element table of FIG. 5, the element is excluded from the target of the reduce communication. Similarly, by deleting the element x from the broadcast communication element table of FIG. 6, the element is excluded from the target of broadcast communication.

次に、直接通信計画手段120は、ステップmの直接通信要素テーブルに、該当する要素インデックスを追加する(ステップS104)。直接通信要素テーブルへの追加箇所は、reduce通信要素テーブル又はbroadcast通信要素テーブルの削除したエントリの送信ノードを送信ノードとし、reduce通信要素テーブル又はbroadcast通信要素テーブルの削除したエントリの受信ノードを受信ノードとする位置である。例えば、ステップm1で更新される要素#245を直接通信可能と判定した場合、図5のステップm1のreduce通信要素テーブルから要素#245を削除し、図7のステップm1の直接通信要素テーブルの送信ノード=2、受信ノード=1のフィールドに#245を追加する処理が行われることになる。 Next, the direct communication planning means 120 adds the corresponding element index to the direct communication element table in step m (step S104). The place to be added to the direct communication element table is that the transmitting node of the deleted entry in the reduse communication element table or the broadcast communication element table is the transmitting node, and the receiving node of the deleted entry in the reduse communication element table or the broadcast communication element table is the receiving node. It is the position to be. For example, when it is determined that the element # 245 updated in step m1 can be directly communicated, the element # 245 is deleted from the redue communication element table in step m1 in FIG. 5, and the direct communication element table in step m1 in FIG. 7 is transmitted. The process of adding # 245 to the fields of node = 2 and receiving node = 1 will be performed.

直接通信判定手段110と直接通信計画手段120は、以上の処理をすべてのステップのすべての要素について実施する。即ち、ステップm=0からスタートし、要素xを0から1つずつ増加して判定を繰り返し、あるステップの要素についての判定が完了すると、ステップmを1つ増加して、再びすべての要素xについて直接通信可能かどうかを判定する。最終的に、すべてのステップのすべての要素について判定が完了すると、図9のループから抜けて直接通信計画の作成処理が完了する。 The direct communication determining means 110 and the direct communication planning means 120 carry out the above processing for all the elements of all the steps. That is, the determination is repeated by starting from step m = 0, increasing the element x by one from 0, and when the determination for the element of a certain step is completed, the step m is increased by one and all the elements x are again. Determine if direct communication is possible. Finally, when the determination is completed for all the elements of all the steps, the loop of FIG. 9 is exited and the process of creating the direct communication plan is completed.

以上のように、本実施形態によれば、分散計算システムにおいて、無駄が発生している通信をすべて抽出し、直接通信に切り替えることが可能となる。 As described above, according to the present embodiment, in the distributed calculation system, it is possible to extract all the wasteful communication and switch to the direct communication.

[第2の実施形態]
続いて、近傍更新ステップという概念を導入して、より効率のよい直接通信計画を作成可能とした第2の実施形態について図面を参照して詳細に説明する。以下、第1の実施形態との相違点を中心に説明する。
[Second Embodiment]
Subsequently, a second embodiment in which the concept of the neighborhood update step can be introduced to create a more efficient direct communication plan will be described in detail with reference to the drawings. Hereinafter, the differences from the first embodiment will be mainly described.

図10は、本発明の第2の実施形態の通信システムの構成を示す図である。図3に示した第1の実施形態の通信システムとの相違点は、直接通信判定手段210及び直接通信計画手段220の機能に変更が加えられている点である。以下では、前記2つの構成要素について詳細に説明する。 FIG. 10 is a diagram showing a configuration of a communication system according to a second embodiment of the present invention. The difference from the communication system of the first embodiment shown in FIG. 3 is that the functions of the direct communication determination means 210 and the direct communication planning means 220 have been changed. Hereinafter, the two components will be described in detail.

図11は、本実施形態の直接通信判定手段210の詳細構成を示す図である。図11に示したとおり、直接通信判定手段210は、更新ノード計数手段211と、単一ノード更新判定手段212と、を備える。 FIG. 11 is a diagram showing a detailed configuration of the direct communication determination means 210 of the present embodiment. As shown in FIG. 11, the direct communication determination means 210 includes an update node counting means 211 and a single node update determination means 212.

更新ノード計数手段211は、所定のステップにおける所定の要素の更新回数を数える。具体的には、更新ノード計数手段211は、ノード更新回数ステップと要素のインデックスが入力されると、更新ノード計数手段211は、更新要素記憶部130から、指定されたステップ数に対応するテーブルを参照して、前記ステップにおいて前記要素が更新される計算ノードの数を返す。 The update node counting means 211 counts the number of updates of a predetermined element in a predetermined step. Specifically, when the update node counting means 211 inputs the node update count step and the element index, the update node counting means 211 displays a table corresponding to the specified number of steps from the update element storage unit 130. With reference, it returns the number of compute nodes for which the element is updated in the step.

単一ノード更新判定手段212は、所定の要素が所定のステップにおいて計算されたノードの数が1であるか否かを判定する。具体的には、単一ノード更新判定手段212は、更新ノード計数手段211の出力を入力とし、判定を行って、ノードの数が1と判定した計算ノードを出力する。 The single node update determination means 212 determines whether or not a predetermined element has one node calculated in a predetermined step. Specifically, the single node update determination means 212 takes the output of the update node counting means 211 as an input, performs determination, and outputs a calculation node determined to have one node.

図12は、本実施形態の直接通信計画手段220の詳細構成を示す図である。図12に示したとおり、直接通信計画手段220は、近傍更新ステップ特定手段221と、reduce通信削除手段222と、broadcast通信削除手段223と、直接通信追加手段224と、を備える。 FIG. 12 is a diagram showing a detailed configuration of the direct communication planning means 220 of the present embodiment. As shown in FIG. 12, the direct communication planning means 220 includes a neighborhood update step specifying means 221, a reduse communication deleting means 222, a broadcast communication deleting means 223, and a direct communication adding means 224.

本実施形態の直接通信計画手段220は、前方向の動作と後方向の動作があり、動作するときは両者の処理を行う。前方向の場合は、直接通信可能と判定された要素のステップよりも、以前の通信情報を修正する。後方向の場合は、直接通信可能と判定された要素のステップよりも、以後の通信情報を修正する。 The direct communication planning means 220 of the present embodiment has a forward operation and a backward operation, and when the operations are performed, both processes are performed. In the forward direction, the communication information before the step of the element determined to be directly communicable is modified. In the case of the backward direction, the communication information after the step of the element determined to be directly communicable is corrected.

近傍更新ステップ特定手段221は、直接通信が可能と判定された要素x、ステップmとから、要素xが更新されたステップのうち、ステップmにもっとも近いものを特定する。より具体的には、近傍更新ステップ特定手段221には、要素、ステップ、方向(前方向または後方向)とが入力される。前方向が指定されたとき、近傍更新ステップ特定手段221は、指定したステップ以前で、指定した要素が更新される、ステップmからもっとも近いステップを、後方向が指定されたときは、指定したステップ以後で、指定した要素が更新される、ステップmからもっとも近いステップを求める。 The neighborhood update step specifying means 221 identifies the step closest to the step m among the steps in which the element x has been updated from the elements x and the step m determined to be capable of direct communication. More specifically, an element, a step, and a direction (forward or backward) are input to the neighborhood update step specifying means 221. When the forward direction is specified, the neighborhood update step identifying means 221 updates the specified element before the specified step, the step closest to step m, and when the backward direction is specified, the specified step. After that, the step closest to step m, in which the specified element is updated, is obtained.

近傍更新ステップ特定手段221のはたらきを、前方向の場合についてより詳しく説明する。指定されたステップがm、要素がxであったとする。近傍更新ステップ特定手段221は、ステップmから前方向に順に要素xが更新されたかどうかを確認する(確認しているステップを「確認ステップ」と呼ぶ)。確認ステップにおいて、要素xが更新されていないとき、近傍更新ステップ特定手段221は、前記確認ステップより1つ前のステップを確認する。確認ステップにおいて、要素xがいずれかのノードで更新されていたとき、近傍更新ステップ特定手段221は、当該確認ステップを近傍更新ステップ(以下、ステップm0とも記す)として、出力する。 The function of the neighborhood update step specifying means 221 will be described in more detail in the case of the forward direction. It is assumed that the specified step is m and the element is x. The neighborhood update step specifying means 221 confirms whether or not the element x has been updated in order from step m in the forward direction (the step being confirmed is referred to as a "confirmation step"). In the confirmation step, when the element x is not updated, the neighborhood update step specifying means 221 confirms the step immediately before the confirmation step. In the confirmation step, when the element x is updated at any node, the neighborhood update step specifying means 221 outputs the confirmation step as a neighborhood update step (hereinafter, also referred to as step m0).

reduce通信削除手段222は、直接通信が可能と判定された要素について、直接通信に置き換えできるreduce通信を削除する。reduce通信削除手段222には、直接通信が可能と判定された要素x、ステップm、ステップmで要素xが更新された計算ノードa、および、近傍更新ステップ特定手段にて特定された近傍更新ステップm0が入力される。reduce通信削除手段222は、ステップm0がmの前方向のとき(これはm0<mと同値)、ステップm0で要素xを更新したノードを特定する(A0とする)。reduce通信削除手段222は、ステップm0において集合A0に属する計算ノードらを送信元とする要素xのreduce通信を削除する。 The reduce communication deleting means 222 deletes the reduce communication that can be replaced with the direct communication for the element determined that the direct communication is possible. The reduce communication deleting means 222 includes an element x determined to be capable of direct communication, a step m, a calculation node a whose element x is updated in step m, and a neighborhood update step specified by the neighborhood update step specifying means. m0 is input. The reduce communication deleting means 222 identifies the node whose element x has been updated in step m0 when step m0 is in the forward direction of m (this is equivalent to m0 <m) (referred to as A0). The reduce communication deleting means 222 deletes the reduce communication of the element x whose source is the calculation nodes belonging to the set A0 in step m0.

一方、ステップm0がmの後方向のとき(これはm0>mと同値)、reduce通信削除手段222は、ステップmにおいて計算ノードaを送信元とする、要素xのreduce通信を削除する。なお、上記の説明において、所定の要素のreduce通信を削除するとは、当該通信を行わないように、通信情報記録部140の該当ステップのreduce通信要素テーブルの通信インデックスフィールドから、該当する要素インデックスを削除する、との意味である。 On the other hand, when step m0 is in the backward direction of m (which is equivalent to m0> m), the reduce communication deleting means 222 deletes the reduce communication of the element x whose source is the calculation node a in step m. In the above description, deleting the reduce communication of a predetermined element means that the corresponding element index is selected from the communication index field of the reduce communication element table of the corresponding step of the communication information recording unit 140 so as not to perform the communication. It means to delete.

broadcast通信削除手段223は、直接通信が可能と判定された要素について、直接通信に置き換えできるbroadcast通信を削除する。broadcast通信削除手段223には、直接通信が可能と判定された要素x、ステップm、ステップmで要素xが更新された計算ノードa、および、近傍更新ステップ特定手段221の出力であるステップm0が入力される。broadcast通信削除手段223は、ステップm0がmの前方向のとき(これはm0<mと同値)、ステップ(m−1)において、要素xを担当部分に含む計算ノード(bとする)を送信元とする、要素xのbroadcast通信を削除する。 The broadcast communication deleting means 223 deletes the broadcast communication that can be replaced with the direct communication for the element determined that the direct communication is possible. The broadcast communication deleting means 223 includes an element x determined to be capable of direct communication, a step m, a calculation node a whose element x is updated in step m, and a step m0 which is an output of the neighborhood update step specifying means 221. Entered. The broadcast communication deleting means 223 transmits a calculation node (referred to as b) including the element x in the responsible portion in the step (m-1) when the step m0 is in the forward direction of m (this is equivalent to m0 <m). The original broadcast communication of element x is deleted.

ステップm0がmの後方向のとき(これはm0>mと同値)、broadcast通信削除手段223は、ステップ(m0−1)で計算ノードbを送信元とする、要素xのbroadcast通信を削除する。なお、上記の説明において、所定の要素のbroadcast通信を削除するとは、当該通信を行わないように、通信情報記録部140の該当ステップのbroadcast通信要素テーブルの通信インデックスフィールドから、該当する要素インデックスを削除する、との意味である。 When step m0 is in the backward direction of m (which is equivalent to m0> m), the broadcast communication deleting means 223 deletes the broadcast communication of the element x whose source is the calculation node b in step (m0-1). .. In the above description, deleting the broadcast communication of a predetermined element means that the corresponding element index is selected from the communication index field of the broadcast communication element table of the corresponding step of the communication information recording unit 140 so as not to perform the communication. It means to delete.

直接通信追加手段224は、直接通信が可能と判定された要素について、直接通信を追加する。直接通信追加手段224には、直接通信が可能と判定された要素x、ステップm、ステップmで要素xが更新された計算ノードa、および、近傍更新ステップ特定手段の出力であるステップm0が入力される。直接通信追加手段224は、ステップm0がmの前方向のとき(これはm0<mと同値)、ステップm0において、要素xを更新する計算ノード(一般に複数)を特定する。ステップm0において、直接通信追加手段224は、前記計算ノードを送信元、計算ノードaを送信先とする、要素xの直接通信を追加する。 The direct communication adding means 224 adds the direct communication to the element determined to be capable of the direct communication. The element x determined to be capable of direct communication, the calculation node a whose element x is updated in step m, and the step m0 which is the output of the neighborhood update step specifying means are input to the direct communication adding means 224. Will be done. The direct communication addition means 224 specifies a calculation node (generally a plurality) for updating the element x in step m0 when step m0 is in the forward direction of m (which is equivalent to m0 <m). In step m0, the direct communication adding means 224 adds the direct communication of the element x with the calculation node as the source and the calculation node a as the transmission destination.

一方、ステップm0がmの後方向のとき(これはm0>mと同値)、直接通信追加手段224は、ステップm0で要素xを更新する計算ノード(一般に複数)を特定する。その上で、直接通信追加手段224は、ステップmで、計算ノードaを送信元、前記計算ノードを送信先とする、要素xの直接通信を追加する。 On the other hand, when step m0 is in the backward direction of m (which is equivalent to m0> m), the direct communication addition means 224 specifies a calculation node (generally a plurality) for updating element x in step m0. Then, in step m, the direct communication adding means 224 adds the direct communication of the element x with the calculation node a as the source and the calculation node as the transmission destination.

続いて、本実施形態の通信システムの動作について図面を参照して詳細に説明する。図13は、本発明の第2の実施形態の通信システムの動作を表したフローチャートである。基本的な動作は、第1の実施形態と同様であり、直接通信判定手段210の動作(ステップS201)、直接通信計画手段220の近傍更新ステップ特定手段の動作(ステップS203)、reduce通信削除手段およびbroadcast通信削除手段の動作(ステップS204)、直接通信追加手段の動作(ステップS205)が行われる。第1の実施形態と同様に、通信システムは、ステップ数をm、要素をx、として、m×x回の処理を繰り返し、直接通信可能と判定された要素を直接通信に切り替える処理を行う。以下、1つのループにおける動作を詳細に説明する。 Subsequently, the operation of the communication system of the present embodiment will be described in detail with reference to the drawings. FIG. 13 is a flowchart showing the operation of the communication system according to the second embodiment of the present invention. The basic operation is the same as that of the first embodiment, that is, the operation of the direct communication determination means 210 (step S201), the operation of the neighborhood update step specifying means of the direct communication planning means 220 (step S203), and the reduce communication deletion means. The operation of the broadcast communication deleting means (step S204) and the operation of the direct communication adding means (step S205) are performed. Similar to the first embodiment, the communication system repeats the process m × x times with the number of steps being m and the element being x, and performs the process of switching the element determined to be directly communicable to direct communication. Hereinafter, the operation in one loop will be described in detail.

図14は、直接通信判定手段210の動作を示したフローチャートである。図14を参照すると、更新ノード計数手段211は、ステップmにおいて要素xが更新される計算ノードを計数する(ステップS2101)。単一ノード更新判定手段212は、更新した計算ノードの数が1であるかそれ以外かを判定する(ステップS2102)。更新した計算ノードが1であると判定したとき、単一ノード更新判定手段212は、その更新した計算ノードを出力する。 FIG. 14 is a flowchart showing the operation of the direct communication determination means 210. Referring to FIG. 14, the update node counting means 211 counts the compute nodes whose element x is updated in step m (step S2101). The single node update determination means 212 determines whether the number of updated calculation nodes is 1 or not (step S2102). When it is determined that the updated calculation node is 1, the single node update determination means 212 outputs the updated calculation node.

以下は、図13のステップS202でYesとされた場合の説明である。以下の説明において、直接通信判定手段210で出力された計算ノードをaとする。図15及び図16は、直接通信計画手段220の近傍更新ステップ特定手段221の動作を表したフローチャートであり、図15は、前方向の近傍更新ステップ探索処理を示し、図16は、後方向の近傍更新ステップ探索処理を示している。 The following is an explanation in the case where Yes is set in step S202 of FIG. In the following description, let a be the calculation node output by the direct communication determination means 210. 15 and 16 are flowcharts showing the operation of the neighborhood update step specifying means 221 of the direct communication planning means 220, FIG. 15 shows the neighborhood update step search process in the front direction, and FIG. 16 shows the neighborhood update step search process in the rear direction. The neighborhood update step search process is shown.

まず、図15を参照して、近傍更新ステップ特定手段221による前方向の探索処理を説明する。まず、近傍更新ステップ特定手段221は、確認ステップm0にm−1を代入する(ステップS2311)。次に、近傍更新ステップ特定手段221は、ステップm0で要素xを更新した計算ノードがあるかどうかを判定する(ステップS2312)。 前記判定の結果、ステップm0で要素xを更新した計算ノードが存在する場合(ステップS2312でYes)、近傍更新ステップ特定手段221は、m0を出力して動作を終了する(ステップS2313)。 First, with reference to FIG. 15, the search process in the forward direction by the neighborhood update step specifying means 221 will be described. First, the neighborhood update step specifying means 221 substitutes m-1 for the confirmation step m0 (step S2311). Next, the neighborhood update step specifying means 221 determines whether or not there is a calculation node whose element x has been updated in step m0 (step S2312). As a result of the determination, when there is a calculation node whose element x has been updated in step m0 (Yes in step S2312), the neighborhood update step specifying means 221 outputs m0 and ends the operation (step S2313).

一方、ステップm0で要素xを更新した計算ノードが存在しない場合(ステップS2312でNo)、近傍更新ステップ特定手段221は、ステップm0が最初の要素、つまりステップm0が最初のステップであるかどうかを判定する(ステップS2314)。m0が最初のステップである場合(ステップS2314でYes)、前方向に要素xが更新されたステップがないことになるので、近傍更新ステップ特定手段221は、以降の処理も含め直接通信計画手段220の前方向の探索動作を終了する(ステップS2315)。一方、ステップm0が最初のステップでない場合(ステップS2314でNo)、近傍更新ステップ特定手段221は、m0の値をひとつ減らす(ステップS2316)。そして、ステップS2312の判定に戻る。以上のようにして、近傍更新ステップ特定手段221は、要素xが更新されたステップmより前に要素xが更新されたステップm0を探索していく。以上が、近傍更新ステップ特定手段221の前方向の探索動作である。 On the other hand, when there is no calculation node whose element x has been updated in step m0 (No in step S2312), the neighborhood update step identifying means 221 determines whether step m0 is the first element, that is, step m0 is the first step. Determine (step S2314). When m0 is the first step (Yes in step S2314), there is no step in which the element x is updated in the forward direction. Therefore, the neighborhood update step specifying means 221 includes the direct communication planning means 220 including the subsequent processing. Ends the search operation in the forward direction of (step S2315). On the other hand, when step m0 is not the first step (No in step S2314), the neighborhood update step specifying means 221 reduces the value of m0 by one (step S2316). Then, the process returns to the determination in step S2312. As described above, the neighborhood update step specifying means 221 searches for step m0 in which the element x is updated before the step m in which the element x is updated. The above is the search operation in the forward direction of the neighborhood update step specifying means 221.

近傍更新ステップ特定手段221の後方向の動作は、ほぼ前方向との処理と同様である。具体的には、近傍更新ステップ特定手段221は、要素xを更新したステップm0が見つかるまで、m0を1つずつ増やしながら、要素xが更新されたステップmより後に要素xが更新されたステップm0を探索していく。その過程で、m0が最後のステップになってしまった場合は、以降の処理も含め後方向の探索動作を終了する(ステップS2325)。以上が、近傍更新ステップ特定手段221の後方向の探索動作である。 The operation of the neighborhood update step specifying means 221 in the backward direction is substantially the same as the processing in the forward direction. Specifically, the neighborhood update step specifying means 221 increases m0 one by one until the step m0 that updates the element x is found, and the step m0 in which the element x is updated after the step m in which the element x is updated is found. I will search for. If m0 becomes the final step in the process, the search operation in the backward direction including the subsequent processing is terminated (step S2325). The above is the backward search operation of the neighborhood update step specifying means 221.

続いて、図13のステップS204のreduce通信削除手段222及びbroadcast通信削除手段223の動作について説明する。図17及び図18は、直接通信計画手段220のreduce通信削除手段222及びbroadcast通信削除手段223の動作を表したフローチャートであり、図17は、前方向の近傍更新ステップm0が見つかった場合の通信削除処理を示し、図18は、後方向の近傍更新ステップm0が見つかった場合の通信削除処理を示している。 Subsequently, the operations of the read communication deleting means 222 and the broadcast communication deleting means 223 in step S204 of FIG. 13 will be described. 17 and 18 are flowcharts showing the operations of the reduse communication deleting means 222 and the broadcast communication deleting means 223 of the direct communication planning means 220, and FIG. 17 is a communication when the neighborhood update step m0 in the forward direction is found. The deletion process is shown, and FIG. 18 shows the communication deletion process when the neighborhood update step m0 in the backward direction is found.

まず、図17を参照して、reduce通信削除手段222及びbroadcast通信削除手段223による前方向の通信削除処理を説明する。まず、reduce通信削除手段222及びbroadcast通信削除手段223は、ステップm0において、要素xを更新した計算ノード(一般に複数)を特定する(ステップS2411)。reduce通信削除手段222は、ステップm0で前記ノードを送信元とする要素xのreduce通信を削除する(ステップS2412)。次に、broadcast通信削除手段223は、ステップm−1で要素xのbroadcast通信を削除する(ステップ2413)。 First, with reference to FIG. 17, the forward communication deletion process by the read communication deletion means 222 and the broadcast communication deletion means 223 will be described. First, the read communication deleting means 222 and the broadcast communication deleting means 223 identify the calculation nodes (generally a plurality of) whose elements x have been updated in step m0 (step S2411). The reduce communication deleting means 222 deletes the reduce communication of the element x whose source is the node in step m0 (step S2412). Next, the broadcast communication deleting means 223 deletes the broadcast communication of the element x in step m-1 (step 2413).

続いて、図18を参照して、reduce通信削除手段222及びbroadcast通信削除手段223による後方向の通信削除処理を説明する。まず、reduce通信削除手段222は、ステップmにおける、計算ノードaを送信元とする、要素xのreduce通信を削除する(ステップS2421)。次に、broadcast通信削除手段223は、ステップm0−1における、要素xのbroadcast通信を削除する(ステップS2422)。 Subsequently, with reference to FIG. 18, the backward communication deletion process by the read communication deletion means 222 and the broadcast communication deletion means 223 will be described. First, the reduce communication deleting means 222 deletes the reduce communication of the element x whose source is the calculation node a in step m (step S2421). Next, the broadcast communication deleting means 223 deletes the broadcast communication of the element x in step m0-1 (step S2422).

続いて、図13のステップS205の直接通信追加手段224の動作について説明する。図19及び図20は、直接通信計画手段220の直接通信追加手段224の動作を表したフローチャートであり、図19は、前方向の近傍更新ステップm0が見つかった場合の通信追加処理を示し、図20は、後方向の近傍更新ステップm0が見つかった場合の通信追加処理を示している。 Subsequently, the operation of the direct communication adding means 224 in step S205 of FIG. 13 will be described. 19 and 20 are flowcharts showing the operation of the direct communication addition means 224 of the direct communication planning means 220, and FIG. 19 shows a communication addition process when the neighborhood update step m0 in the forward direction is found. Reference numeral 20 denotes a communication addition process when the neighborhood update step m0 in the backward direction is found.

まず、図19を参照して、直接通信追加手段224による前方向の通信追加処理を説明する。まず、直接通信追加手段224は、ステップm0において、要素xを更新する計算ノードを特定する(ステップS2511)。次に、直接通信追加手段224は、ステップm0において、先に特定したノードを送信元、計算ノードaを送信先とする要素xの直接通信を追加する(ステップS2512)。 First, with reference to FIG. 19, the forward communication addition process by the direct communication addition means 224 will be described. First, the direct communication addition means 224 specifies a calculation node for updating the element x in step m0 (step S2511). Next, in step m0, the direct communication adding means 224 adds the direct communication of the element x whose source is the previously specified node and whose destination is the calculation node a (step S2512).

続いて、図20を参照して、直接通信追加手段224による後方向の通信追加処理を説明する。まず、直接通信追加手段224は、ステップm0において、要素xを更新する計算ノードを特定する(ステップS2521)。次に、直接通信追加手段224は、ステップm0において、先に特定した計算ノードを送信元、計算ノードaを送信先とする要素xの直接通信を追加する(ステップS2522)。 Subsequently, with reference to FIG. 20, the backward communication addition process by the direct communication addition means 224 will be described. First, the direct communication adding means 224 specifies the calculation node that updates the element x in step m0 (step S2521). Next, in step m0, the direct communication adding means 224 adds the direct communication of the element x having the previously specified calculation node as the source and the calculation node a as the transmission destination (step S2522).

以上のように、本実施形態によれば、分散計算システムにおいて、直接通信が可能なステップmと要素xのみならず、その要素xを更新した前後のステップを探しだし、その区間も直接通信に切り替えることが可能となっている。このため、第1の実施形態よりもいっそう通信を効率化することが可能となっている。 As described above, according to the present embodiment, in the distributed calculation system, not only the step m and the element x capable of direct communication but also the steps before and after updating the element x are searched for, and the section is also directly communicated. It is possible to switch. Therefore, it is possible to further improve the efficiency of communication as compared with the first embodiment.

以上、本発明の各実施形態を説明したが、本発明は、上記した実施形態に限定されるものではなく、本発明の基本的技術的思想を逸脱しない範囲で、更なる変形・置換・調整を加えることができる。例えば、各図面に示したネットワーク構成、各要素の構成、メッセージの表現形態は、本発明の理解を助けるための一例であり、これらの図面に示した構成に限定されるものではない。 Although each embodiment of the present invention has been described above, the present invention is not limited to the above-described embodiment, and further modifications, substitutions, and adjustments are made without departing from the basic technical idea of the present invention. Can be added. For example, the network configuration, the configuration of each element, and the expression form of the message shown in each drawing are examples for assisting the understanding of the present invention, and are not limited to the configurations shown in these drawings.

最後に、本発明の好ましい形態を要約する。
[第1の形態]
(上記第1の視点による通信システム参照)
[第2の形態]
上記した通信システムは、さらに、予め作成された前記ノード間の通信計画及び前記直接通信計画手段により作成される直接的な通信計画を保持する通信情報記録部を備え、前記通信手段は、前記通信情報記録部に保持されている通信計画及び直接的な通信計画に基づいて、前記ノード間の通信を実現する構成を採ることができる。
[第3の形態]
上記した通信システムは、
さらに、それぞれのノードにおいて更新される要素を記憶する更新要素記憶部を備え、
前記直接通信判定手段は、前記更新要素記憶部を参照して、ある計算ステップにおいて、ある要素を計算するノードが1つである場合、直接通信可能と判定する構成を採ることができる。
[第4の形態]
上記した通信システムの直接通信計画手段は、
前記直接通信判定手段により、直接通信可能と判定されたステップと要素の組に対して、前記要素が更新された前記ステップの近傍のステップを特定し、前記通信計画から、前記近傍のステップ及び前記直接通信可能と判定されたステップとの前記要素に係る間接的な通信を削除し、前記通信計画に、前記要素に係る直接的な通信を追加する構成を採ることができる。
[第5の形態]
上記した通信システムの前記通信情報記録部は、前記計算した要素を所定のノードに集約する通信にかかる情報を記録するreduce通信要素テーブルと、前記集約した要素を次のステップで必要となるノードに拡散するbroadcast通信要素テーブルと、ノード間での要素の直接的な通信に係る情報を記録する直接通信要素テーブルと、を備え、前記通信手段は、前記テーブルに記録された情報に従って、前記ノード間の通信を実現する構成を採ることができる。
[第6の形態]
上記した通信システムの前記要素は、機械学習に用いるモデルのパラメータを修正するための差分値とすることができる。
[第7の形態]
(上記第2の視点による分散計算システム参照)
[第8の形態]
(上記第3の視点によるノード参照)
[第9の形態]
(上記第4の視点によるノード間の情報共有方法参照)
[第10の形態]
(上記第5の視点によるコンピュータプログラム参照)
なお、上記第7〜第10の形態は、第1の形態と同様に、第2〜第6の形態に展開することが可能である。
Finally, a preferred embodiment of the present invention is summarized.
[First form]
(Refer to the communication system from the first viewpoint above)
[Second form]
The communication system described above further includes a communication information recording unit that holds a communication plan between the nodes created in advance and a direct communication plan created by the direct communication planning means, and the communication means is the communication. Based on the communication plan and the direct communication plan held in the information recording unit, it is possible to adopt a configuration that realizes communication between the nodes.
[Third form]
The above-mentioned communication system
Further, it is provided with an update element storage unit that stores the elements to be updated in each node.
The direct communication determination means can adopt a configuration in which it is determined that direct communication is possible when there is one node that calculates an element in a certain calculation step with reference to the update element storage unit.
[Fourth form]
The direct communication planning means of the above-mentioned communication system is
The direct communication determination means identifies a step in the vicinity of the step in which the element has been updated for a set of the step and the element determined to be directly communicable, and from the communication plan, the step in the vicinity and the element are described. It is possible to adopt a configuration in which the indirect communication related to the element with the step determined to be directly communicable is deleted and the direct communication related to the element is added to the communication plan.
[Fifth form]
The communication information recording unit of the communication system described above has a reduce communication element table that records information related to communication that aggregates the calculated elements into a predetermined node, and a node that needs the aggregated elements in the next step. A broadcast element table for spreading broadcast elements and a direct communication element table for recording information relating to direct communication of elements between nodes are provided, and the communication means is provided between the nodes according to the information recorded in the table. It is possible to adopt a configuration that realizes communication.
[Sixth form]
The element of the communication system described above can be a difference value for modifying the parameters of the model used for machine learning.
[7th form]
(Refer to the distributed calculation system from the second viewpoint above)
[8th form]
(Refer to the node from the third viewpoint above)
[9th form]
(Refer to the information sharing method between nodes from the fourth viewpoint above)
[10th form]
(Refer to the computer program from the fifth viewpoint above)
The seventh to tenth forms can be developed into the second to sixth forms in the same manner as the first form.

なお、上記の特許文献および非特許文献の各開示を、本書に引用をもって繰り込むものとする。本発明の全開示(請求の範囲を含む)の枠内において、さらにその基本的技術思想に基づいて、実施形態ないし実施例の変更・調整が可能である。また、本発明の開示の枠内において種々の開示要素(各請求項の各要素、各実施形態ないし実施例の各要素、各図面の各要素等を含む)の多様な組み合わせ、ないし選択が可能である。すなわち、本発明は、請求の範囲を含む全開示、技術的思想にしたがって当業者であればなし得るであろう各種変形、修正を含むことは勿論である。特に、本書に記載した数値範囲については、当該範囲内に含まれる任意の数値ないし小範囲が、別段の記載のない場合でも具体的に記載されているものと解釈されるべきである。 The disclosures of the above patented documents and non-patented documents shall be incorporated into this document by citation. Within the framework of the entire disclosure (including the scope of claims) of the present invention, it is possible to change or adjust the embodiments or examples based on the basic technical idea thereof. Further, within the framework of the disclosure of the present invention, various combinations or selections of various disclosure elements (including each element of each claim, each element of each embodiment or embodiment, each element of each drawing, etc.) are possible. Is. That is, it goes without saying that the present invention includes all disclosure including claims, and various modifications and modifications that can be made by those skilled in the art in accordance with the technical idea. In particular, with respect to the numerical range described in this document, it should be interpreted that any numerical value or small range included in the range is specifically described even if there is no other description.

1、100、200 通信システム
2 計算ノード
11、110、210 直接通信判定手段
12、120、220 直接通信計画手段
13、150 通信手段
130 更新要素記憶部
140 通信情報記録部
211 更新ノード計数手段
212 単一ノード更新判定手段
221 近傍更新ステップ特定手段
222 reduce通信削除手段
223 broadcast通信削除手段
224 直接通信追加手段
1,100,200 Communication system 2 Calculation node 11, 110, 210 Direct communication determination means 12, 120, 220 Direct communication planning means 13,150 Communication means 130 Update element storage unit 140 Communication information recording unit 211 Update node counting means 212 One-node update determination means 221 Neighborhood update step identification means 222 reduce communication deletion means 223 broadcast communication deletion means 224 Direct communication addition means

Claims (7)

予め作成された計画に基づいて、複数のノードがそれぞれ担当するデータを用いて、予測モデルのパラメータである要素を計算し、その結果を共有することで前記予測モデルのパラメータを計算する分散計算環境を構成する通信システムであって、
前記計画中の各ステップにおいてそれぞれのノードにおいて更新される要素を参照し、あるステップで前記要素を更新する計算ノードが一つであるかどうか否かにより、当該要素が、次に当該要素を必要とするノードへと直接通信する対象にすることができるか否かを判定する直接通信判定手段と、
前記直接通信判定手段の判定の結果をもとに、前記ノード間での要素の直接的な通信を計画する直接通信計画手段と、
前記直接的な通信の対象となる要素とそれ以外の要素についての通信を規定した計画に従って、前記ノード間の通信を実現する通信手段と、
を備えることを特徴とする通信システム。
A distributed calculation environment that calculates the elements that are the parameters of the prediction model using the data that multiple nodes are in charge of based on the plan created in advance, and calculates the parameters of the prediction model by sharing the results. It is a communication system that composes
Each step in the planning refers to the element to be updated in each node, and depending on whether there is one compute node that updates the element in a step, the element then needs the element. A direct communication determination means for determining whether or not a target for direct communication with a node can be used,
Based on the result of the determination of the direct communication determination means, the direct communication planning means for planning the direct communication of the elements between the nodes, and the direct communication planning means.
A communication means that realizes communication between the nodes according to a plan that defines communication for the element to be directly communicated and other elements.
A communication system characterized by comprising.
前記直接通信計画手段は、
前記直接通信判定手段により、直接通信可能と判定されたステップと要素の組に対して、前記要素が更新された前記ステップの時間的に近傍のステップを特定し、
記計中の、前記近傍のステップ及び前記直接通信可能と判定されたステップとの前記要素に係る通を、前記要素に係る直接的な通信に置き換える請求項の通信システム。
The direct communication planning means
With respect to the set of the step and the element determined to be directly communicable by the direct communication determining means, a step in the temporal vicinity of the step in which the element is updated is specified.
Communication system according to claim 1 to replace in prior Symbol plan, the engaging Ru communication to the elements of the step and the is determined directly communicable with the steps of the neighborhood, the direct communication according to prior Symbol elements.
前記計画は、前記計算した要素を所定のノードに集約する通信の送信元と送信先とを記録するreduce通信要素テーブルと、前記集約した要素を次のステップで必要となるノードに拡散する通信の送信元と送信先とを記録するbroadcast通信要素テーブルと、ノード間での要素の直接的な通信の送信元と送信先とを記録する直接通信要素テーブルと、によって記述され
前記通信手段は、前記各テーブルに記録された情報に従って、前記ノード間の通信を実現する請求項1又は2の通信システム。
The plan includes a reduce communication element table that records the source and destination of the communication that aggregates the calculated elements into a predetermined node, and a communication that spreads the aggregated elements to the necessary nodes in the next step . Described by a broadcast communication element table that records the source and destination, and a direct communication element table that records the source and destination of the direct communication of elements between nodes.
The communication system according to claim 1 or 2, wherein the communication means realizes communication between the nodes according to the information recorded in each table.
前記要素は、分散計算環境で、確率的勾配降下法により機械学習に用いるモデルのパラメータを修正するための差分値である請求項1からいずれか一に記載の通信システム。 The communication system according to any one of claims 1 to 3 , wherein the element is a difference value for modifying a parameter of a model used for machine learning by a stochastic gradient descent method in a distributed calculation environment. 請求項1からいずれか一に記載の通信システムと、
複数のノードがそれぞれ担当するデータを用いて要素を計算する分散計算環境を構成する一のノードと、を含む分散計算システム。
The communication system according to any one of claims 1 to 4.
A distributed calculation system that includes one node that constitutes a distributed calculation environment that calculates elements using the data that multiple nodes are in charge of.
予め作成された計画に基づいて、複数のノードがそれぞれ担当するデータを用いて要素を計算し、その結果を共有することで予測モデルのパラメータを計算する分散計算環境に配置されたコンピュータが、
前記計画中の各ステップにおいてそれぞれのノードにおいて更新される要素を参照し、あるステップで前記要素を更新する計算ノードが一つであるかどうか否かにより、当該要素が、次に当該要素を必要とするノードへと直接通信する対象にすることができるか否かを判定するステップと、
前記判定の結果をもとに、前記ノード間での要素の直接的な通信を計画するステップと、
前記直接的な通信の対象となる要素とそれ以外の要素についての通信を規定した計画に従って、前記ノード間の通信を実現するステップと、
を含むことを特徴とするノード間の情報共有方法。
Based on a pre-created plan, a computer placed in a distributed calculation environment that calculates elements using the data that multiple nodes are in charge of and shares the results to calculate the parameters of the prediction model.
Each step in the planning refers to the element to be updated in each node, and depending on whether there is one compute node that updates the element in a step, the element then needs the element. Steps to determine whether or not it can be targeted for direct communication with the node to be
Based on the result of the determination, the step of planning the direct communication of the elements between the nodes and
A step of realizing communication between the nodes according to a plan that defines communication for the element to be directly communicated and other elements, and
A method of sharing information between nodes, characterized by including.
予め作成された計画に基づいて、複数のノードがそれぞれ担当するデータを用いて要素を計算し、その結果を共有することで予測モデルのパラメータを計算する分散計算環境に配置されたコンピュータに、
前記計画中の各ステップにおいてそれぞれのノードにおいて更新される要素を参照し、あるステップで前記要素を更新する計算ノードが一つであるかどうか否かにより、当該要素が、次に当該要素を必要とするノードへと直接通信する対象にすることができるか否かを判定する処理と、
前記判定の結果をもとに、前記ノード間での要素の直接的な通信を計画する処理と、
前記直接的な通信の対象となる要素とそれ以外の要素についての通信を規定した計画に従って、前記ノード間の通信を実現する処理と、
を実行させるプログラム。
Based on a pre-created plan, a computer placed in a distributed calculation environment that calculates elements using the data that multiple nodes are in charge of and shares the results to calculate the parameters of the prediction model.
Each step in the planning refers to the element to be updated in each node, and depending on whether there is one compute node that updates the element in a step, the element then needs the element. And the process of determining whether or not it can be targeted for direct communication with the node to be
Based on the result of the determination, the process of planning the direct communication of the elements between the nodes, and
A process for realizing communication between the nodes according to a plan that defines communication for the element to be directly communicated and other elements.
A program that executes.
JP2017012208A 2017-01-26 2017-01-26 Communication systems, distributed computing systems, nodes, information sharing methods and programs Active JP6880774B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2017012208A JP6880774B2 (en) 2017-01-26 2017-01-26 Communication systems, distributed computing systems, nodes, information sharing methods and programs

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017012208A JP6880774B2 (en) 2017-01-26 2017-01-26 Communication systems, distributed computing systems, nodes, information sharing methods and programs

Publications (2)

Publication Number Publication Date
JP2018120470A JP2018120470A (en) 2018-08-02
JP6880774B2 true JP6880774B2 (en) 2021-06-02

Family

ID=63043829

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017012208A Active JP6880774B2 (en) 2017-01-26 2017-01-26 Communication systems, distributed computing systems, nodes, information sharing methods and programs

Country Status (1)

Country Link
JP (1) JP6880774B2 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021111491A1 (en) * 2019-12-02 2021-06-10 日本電信電話株式会社 Distributed deep learning system and distributed deep learning method
JP7453563B2 (en) 2020-01-10 2024-03-21 富士通株式会社 Neural network system, neural network learning method, and neural network learning program

Also Published As

Publication number Publication date
JP2018120470A (en) 2018-08-02

Similar Documents

Publication Publication Date Title
CN105740337B (en) A kind of event fast matching method in distribution subscription system based on content
CN111723933B (en) Training method of neural network model and related products
JP6880774B2 (en) Communication systems, distributed computing systems, nodes, information sharing methods and programs
CN103348638A (en) Communication system, control device, communication node, and communication method
US20150281352A1 (en) Communication control device, storage device, and communication control method
CN105474250A (en) Tailored messaging
CN105322998A (en) Data collection apparatus, data collection system and method for data collection in vehicles
CN107203221B (en) Online information distribution method and device in unmanned aerial vehicle and manned machine mixed formation
CN103140850A (en) Sharing data on mobile devices
US11574165B2 (en) Optimization system and optimization method
CN106201625A (en) A kind of software version updating method, updating device and electronic equipment thereof
CN101495978B (en) Reduction of message flow between bus-connected consumers and producers
CN107480182A (en) A kind of spacecraft telemetry source tracing method and system
JP4575218B2 (en) Server-type computer and transfer evaluation judgment device
WO2021257263A1 (en) Techniques for generating a consistent view of an eventually consistent database
JP7287492B2 (en) Distributed deep learning system and data transfer method
CN102356399A (en) Evolving algorithms for network node control in a telecommunications network by genetic programming
CN114546730A (en) Data recovery processing method, device and system
CN106052709A (en) Congestion information processing method and device
WO2022002347A1 (en) Training in communication systems
US11178047B2 (en) Tailored contact plan generation
CN103559295A (en) Information-data pushing method, equipment and system
CN111143057B (en) Heterogeneous cluster data processing method and system based on multiple data centers and electronic equipment
Ahani et al. Routing and scheduling of network flows with deadlines and discrete capacity allocation
CN117112369B (en) Equipment management SaaS system based on block chain

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20191202

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20201125

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20201222

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210204

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210419

R150 Certificate of patent or registration of utility model

Ref document number: 6880774

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150