JPWO2018235180A1 - Distributed processing system - Google Patents
Distributed processing system Download PDFInfo
- Publication number
- JPWO2018235180A1 JPWO2018235180A1 JP2019524763A JP2019524763A JPWO2018235180A1 JP WO2018235180 A1 JPWO2018235180 A1 JP WO2018235180A1 JP 2019524763 A JP2019524763 A JP 2019524763A JP 2019524763 A JP2019524763 A JP 2019524763A JP WO2018235180 A1 JPWO2018235180 A1 JP WO2018235180A1
- Authority
- JP
- Japan
- Prior art keywords
- task
- data
- node
- subtask
- ring
- 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
Links
- 238000000034 method Methods 0.000 claims abstract description 25
- 230000008569 process Effects 0.000 claims abstract description 24
- 230000005540 biological transmission Effects 0.000 claims description 54
- 230000004044 response Effects 0.000 claims description 14
- 230000007704 transition Effects 0.000 claims description 4
- 230000001902 propagating effect Effects 0.000 claims description 2
- 239000000872 buffer Substances 0.000 description 38
- 230000002401 inhibitory effect Effects 0.000 description 10
- 230000000644 propagated effect Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 3
- 230000002457 bidirectional effect Effects 0.000 description 2
- 230000007423 decrease Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000001629 suppression Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Multi Processors (AREA)
Abstract
本発明は、分散処理システムにおいて、より簡易な構成によってタスクを時分割で実行するマルチタスクを実現する。受信データをノード1間で中継することにより、各ノード1が発信したデータを他の全てノード1に転送する分散処理システムにおいて、各ノード1は、タスク切替命令に応答して、中継の対象となっているデータを待避し、データを発信するタスクをタスク切替命令で指示された切替先のタスクに切り替える。また、待避しておいた切替先のタスクのデータを復帰し当該データの中継を再開する。各ノード1では、複数のタスクのサブタスク101がマルチタスクで実行されており、各サブタスク101は、他のノード1から受信した、対応するタスクのデータの処理を行う。タスクのデータ待ちとなったサブタスク101は待機状態となって実行時間が削られ、その分多く、実行すべき処理のあるサブタスク101に実行時間が割り当てられる。INDUSTRIAL APPLICABILITY The present invention realizes a multitask for executing tasks in a time-division manner with a simpler configuration in a distributed processing system. In a distributed processing system in which received data is relayed between nodes 1 to transfer the data transmitted by each node 1 to all the other nodes 1, each node 1 responds to a task switching command and selects a relay target. The task that sends the data is switched to the task of the switching destination specified by the task switching command. In addition, the saved data of the task at the switching destination is restored and the relay of the data is restarted. In each node 1, subtasks 101 of a plurality of tasks are executed by multitasking, and each subtask 101 processes data of the corresponding task received from another node 1. The subtask 101 waiting for the task data is put in a standby state and the execution time is reduced, and the execution time is allocated to the subtask 101 having a process to be executed correspondingly.
Description
本発明は、分散処理システムにおけるタスク切替の技術に関するものである。 The present invention relates to a task switching technique in a distributed processing system.
分散処理システムとしては、タスクを分割したサブタスクを複数のノードに割り当て、各ノードにおいて割り当てられたサブタスクを並行処理する分散処理システムが知られている(たとえば、特許文献1)。 As a distributed processing system, there is known a distributed processing system in which a subtask obtained by dividing a task is assigned to a plurality of nodes and the subtasks assigned in each node are processed in parallel (for example, Patent Document 1).
また、分散処理システムとしては、各ノードを双方向のチャネルでリング状に接続してリング型のネットワークを構成し、各ノードにおいてリングに沿ってデータを順次中継していくことにより、発信元のノードがリングに送出したデータを他の全てのノードに転送する分散処理システムも知られている(たとえば、特許文献2)。 In addition, as a distributed processing system, each node is connected in a ring shape by bidirectional channels to form a ring network, and data is sequentially relayed along the ring at each node, so that A distributed processing system is also known in which data sent from a node to a ring is transferred to all other nodes (for example, Patent Document 2).
コンピュータシステムをマルチタスクで運用すると、以下のようなメリットを享受できる。
(1)I/O待ちなど処理待ちになったときに他のタスクを実行することでコンピュータシステムの使用効率を向上させることができる。
(2)キューイングの必要が無いので、長い処理の投入後に短い処理が発生した場合でも、短い処理が短時間で完了する。
(3)トラブルタスクを容易に停止させることができる。
一方、上述のような分散処理システムにおいて、タスクを時分割で実行することによりマルチタスクを実現する場合には、次のような問題が生じる。
すなわち、この場合には、各ノードにおいてタスクのサブタスクが非同期で実行されているため、各ノードにおけるサブタスクの処理間に不整合が生ぜず、タスクが効率良く行われるようにタスクを切り替えるためには、各ノードのサブタスクの状態を集中管理し、各ノードのサブタスクの状態に応じて、各ノードに割り当てるサブタスクを切り替える複雑な制御が必要となると共に、当該制御のためのオーバーヘッドが生じる。The following advantages can be enjoyed by operating a computer system with multitasking.
(1) It is possible to improve the usage efficiency of the computer system by executing another task when waiting for processing such as I / O waiting.
(2) Since there is no need for queuing, even if a short process occurs after a long process is input, the short process is completed in a short time.
(3) The trouble task can be easily stopped.
On the other hand, in the above distributed processing system, when multitasking is realized by executing tasks in time division, the following problems occur.
That is, in this case, since the subtasks of the task are executed asynchronously in each node, there is no inconsistency between the processing of the subtasks in each node, and it is necessary to switch the tasks so that the tasks can be performed efficiently. , Central control of the state of the subtasks of each node, and complicated control for switching the subtasks assigned to each node according to the state of the subtasks of each node is required, and the overhead for the control occurs.
そこで、本発明は、分散処理システムにおいて、より簡易な構成によって、タスクを時分割で実行するマルチタスクを実現することを課題とする。 Therefore, it is an object of the present invention to realize a multitask for executing tasks in a time-sharing manner with a simpler configuration in a distributed processing system.
前記課題達成のために、本発明は、複数のノードをネットワークで接続した、複数のタスクを実行する分散処理システムに、各ノードに切替先のタスクの識別子を伴うタスク切替命令を一斉送信する制御部を備えると共に、前記各ノードに、当該分散処理システムが実行する複数のタスク各々の部分であるサブタスクを、マルチタスクで実行するサブタスク実行部と、各ノードのタスクのサブタスクが発信元となる、当該サブタスクが部分であるタスクのデータが、当該タスクのデータの発信元のサブタスクが実行されているノード以外の他の全てのノードに前記ネットワークを介して伝搬するように、前記ネットワークと前記タスクのデータの送受信を行うデータ送受信部と、前記データ送受信部がネットワークから受信したタスクのデータを、当該タスクのサブタスクに転送するデータ取込部と、前記タスク切替命令に応答して、前記ネットワークを介して伝搬するデータが、当該タスク切替命令に伴う識別子が示すタスクのデータに切り替わるように、前記データ送受信部の前記タスクのデータの送受信の動作を制御する伝搬データ切替部とを備えたものである。 In order to achieve the above object, the present invention provides a control for simultaneously transmitting a task switching instruction accompanied by an identifier of a task to be switched to each node to a distributed processing system in which a plurality of nodes are connected by a network and which executes a plurality of tasks. With each unit, a subtask that is a part of each of a plurality of tasks executed by the distributed processing system, a subtask execution unit that executes a multitask, and a subtask of the task of each node are the originators. In order for the data of the task of which the subtask is a part to propagate through the network to all the nodes other than the node where the subtask that is the source of the data of the task is being executed, the network and the task A data transceiver that transmits and receives data, and a task data received by the data transceiver from the network. A data capturing unit that transfers the data to a subtask of the task, and data that propagates through the network in response to the task switching instruction is switched to the data of the task indicated by the identifier associated with the task switching instruction. And a propagation data switching unit that controls the operation of transmitting and receiving the data of the task of the data transmitting and receiving unit.
また、前記課題達成のために、本発明は、複数のノードを備えた、複数のタスクを実行する分散処理システムに、各ノードに切替先のタスクの識別子を伴うタスク切替命令を一斉送信する制御部を備えると共に、前記各ノードに、当該分散処理システムが実行する複数のタスク各々の部分であるサブタスクを、マルチタスクで実行するサブタスク実行部と、タスクのサブタスクが発信元となるデータを、当該サブタスクが部分であるタスクのデータとして他のノードに送信する送信部と、他のノードから受信したタスクのデータを、当該タスクのサブタスクに転送するデータ取込部と、他のノードから受信したタスクのデータを、当該データが当該データの発信元のノードから他の全てのノードに順次転送されていくように、他のノードに中継するデータ転送部とを設けたものである。ここで、前記送信部は、前記タスク切替命令の受信に応答して、当該タスク切替命令に伴う識別子が示すタスク以外のタスクのデータの他のノードへの送信を停止し、前記中継部は、前記タスク切替命令の受信に応答して、他のノードから受信した当該時点で他のノードに未中継のタスクのデータの中継を、当該データのタスクの識別子を伴う前記タスク切替命令を受信するまで延期する。 Further, in order to achieve the above object, the present invention provides a distributed processing system including a plurality of nodes, which executes a plurality of tasks, with a control for simultaneously transmitting a task switching instruction accompanied by an identifier of a task to be switched to each node. With each unit, a subtask execution unit that executes a subtask, which is a part of each of the plurality of tasks executed by the distributed processing system, and a subtask execution unit that executes the multitask in each node, A sending part that sends to another node as the data of the task that the subtask is a part of, a data fetching part that transfers the task data received from another node to the subtask of the task, and a task received from another node Data to other nodes so that the data is sequentially transferred from the source node of the data to all other nodes. It is provided with a data transfer unit for. Here, in response to the reception of the task switching instruction, the transmission unit stops transmission of data of tasks other than the task indicated by the identifier accompanying the task switching instruction to another node, and the relay unit, In response to receiving the task switching command, relaying the data of the task not relayed to the other node at the time when it is received from the other node, until receiving the task switching command accompanied by the task identifier of the data. put off.
ここで、より具体的には、たとえば、前記サブタスクを、転送されたデータの各々を処理対象のデータに含めて、各処理対象のデータに対して所定の処理を行うと共に、処理対象のデータ待ちの状態となったならば、待機状態に遷移するものとし、前記サブタスク実行部は、待機状態に遷移したサブタスクの実行時間を減少させ、他の遷移状態にないサブタスクの実行時間を増加するものとしてよい。 Here, more specifically, for example, the subtask includes each of the transferred data in the processing target data, performs predetermined processing on each processing target data, and waits for the processing target data. If it becomes a state, the subtask execution unit is assumed to transition to the standby state, the subtask execution unit decreases the execution time of the subtask transitioned to the standby state, and increases the execution time of the subtasks not in other transition states. Good.
また、このような分散処理システムは、前記中継部において、前記タスク切替命令の受信に応答して、他のノードから受信した当該時点で他のノードに未中継のタスクのデータを、当該タスクの待避データとして保存すると共に、保存されている、当該タスク切替命令に伴う識別子が示すタスクの待避データの前記他のノードへの中継を行うように構成してもよい。 In addition, in such a distributed processing system, in the relay unit, in response to the reception of the task switching command, the data of the task that is not relayed to the other node at the time when it is received from the other node The save data may be saved, and the saved save data of the task indicated by the identifier associated with the task switching instruction may be relayed to the other node.
また、このような分散処理システムは、前記データ取込部において、前記タスク切替命令に応答して、他のノードから受信した当該時点でサブタスクに未転送のデータの、サブタスクへの転送を、当該データのタスクの識別子を伴う前記タスク切替命令を受信するまで延期するように構成してもよい。 Further, in such a distributed processing system, in the data fetching unit, in response to the task switching command, transfer of the data not transferred to the subtask at the time, which is received from another node, to the subtask is performed. It may be arranged to defer until the task switching instruction with the task identifier of the data is received.
また、前記課題達成のために、本発明は、複数のノードを備えた、複数のタスクを実行する分散処理システムに、各ノードに切替先のタスクの識別子を伴うタスク切替命令を一斉送信する制御部を備えると共に、前記各ノードに、当該分散処理システムが実行する複数のタスク各々の部分であるサブタスクを、マルチタスクで実行するサブタスク実行部と、タスクのサブタスクが発信元となるデータを、当該サブタスクが部分であるタスクのデータとして他のノードに送信する送信部と、他のノードから受信したタスクのデータを、当該タスクのサブタスクに転送すると共に、当該データが当該データの発信元のノードから他の全てのノードに順次転送されていくように、他のノードに中継するデータ転送部とを設けたものである。ここで、前記送信部は、前記タスク切替命令の受信に応答して、当該タスク切替命令に伴う識別子が示すタスク以外のタスクのデータの他のノードへの送信を停止し、前記データ転送部は、前記タスク切替命令の受信に応答して、当該時点で他のノードから受信しているデータを、当該タスクの待避データとして保存すると共に、保存されている、当該タスク切替命令に伴う識別子が示すタスクの待避データの前記サブタスクへの転送と前記他のノードへの中継を行う。 Further, in order to achieve the above object, the present invention provides a distributed processing system including a plurality of nodes, which executes a plurality of tasks, with a control for simultaneously transmitting a task switching instruction accompanied by an identifier of a task to be switched to each node. With each unit, a subtask execution unit that executes a subtask, which is a part of each of the plurality of tasks executed by the distributed processing system, and a subtask execution unit that executes the multitask in each node, A transmitting unit that transmits to another node as data of a task that is a subtask, and the data of a task received from another node are transferred to the subtask of the task, and the data is transmitted from the node that is the source of the data. A data transfer unit that relays to other nodes is provided so that the data is sequentially transferred to all other nodes. Here, in response to the reception of the task switching instruction, the transmission unit stops transmission of data of tasks other than the task indicated by the identifier accompanying the task switching instruction to another node, and the data transfer unit In response to receiving the task switching instruction, the data received from another node at that time is saved as save data for the task, and the saved identifier associated with the task switching instruction is indicated. Transfer of task save data to the subtask and relay to the other node.
また、以上の各分散処理システムは、n(但し、nは2以上の任意の自然数)個の前記ノードをチャネルでリング状に接続したリングを複数有するものとしてもよい。ここで、各リングに含まれるノードの数は等しく、前記各リングの各ノードは、当該ノードを送信側とするチャネルで、当該ノードを含むリング以外の各リングのノードと、同じリングに含まれる各ノードが、当該ノードを送信側とするチャネルで、他のリングの異なるノードにそれぞれ接続されるように、接続されている。そして、前記各ノードの前記データ転送手段は、当該ノードが含まれるリングの当該リングにおける接続上の順番が当該ノードの前の順番のノードに接続したチャネルから受信したタスクのデータを、当該ノードが含まれるリングの当該リングにおける接続上の順番が当該ノードの次の順番のノードに接続するチャネルと、当該ノードを送信側とするチャネルであって当該ノードが含まれるリング以外の他のリングのノードに接続するチャネルに送信することにより、前記他のノードから受信したタスクのデータの他のノードへの中継を行う。また、前記送信部は、タスクのサブタスクが発信元となるタスクのデータを、当該ノードが含まれるリングの当該リングにおける接続上の順番が当該ノードの次の順番のノードに接続するチャネルと、当該ノードを送信側とするチャネルであって当該ノードが含まれるリング以外の他のリングのノードに接続するチャネルに送信することにより、前記タスクのデータの他のノードへの送信を行う。 Further, each of the above distributed processing systems may have a plurality of rings in which n (where n is an arbitrary natural number of 2 or more) nodes are connected in a ring shape by channels. Here, the number of nodes included in each ring is equal, and each node of each ring is included in the same ring as a node of each ring other than the ring including the node in a channel whose transmission side is the node. Each node is connected so as to be connected to a different node on another ring by a channel whose transmission side is the node. Then, the data transfer means of each node is configured such that the node receives data of a task received from a channel connected to a node whose connection order in the ring including the node is the order before the node. A channel that connects to a node whose connection order of the included ring in the ring is next to that of the node, and a node of a ring other than the ring in which the node is included and which is a channel that has the node as a transmission side The data of the task received from the other node is relayed to the other node by transmitting to the channel connected to the node. In addition, the transmission unit, the channel that connects the data of the task, which is the source of the subtask of the task, to the node whose connection order in the ring including the node is the next order of the node, The data of the task is transmitted to another node by transmitting to a channel connected to a node of a ring other than the ring in which the node is included and the node is the transmission side.
以上のような分散処理システムによれば、各ノードのタスクのサブタスクが発信元となる、当該サブタスクが部分であるタスクのデータが、当該タスクのデータの発信元のサブタスクが実行されているノード以外の他の全てのノードに前記ネットワークを介して伝搬するように構成された分散処理システムにおいて、制御部が、各ノードに切替先のタスクの識別子を伴うタスク切替命令を一斉送信することにより、前記ネットワークを介して伝搬するデータを、当該タスク切替命令の切替先のタスクのデータに切り替えることができる。 According to the distributed processing system as described above, the data of the task of which the subtask of the task of each node is the source is other than the node where the subtask of the source of the data of the task is executed. In a distributed processing system configured to propagate to all other nodes via the network, the control unit broadcasts a task switching instruction accompanied by an identifier of a task to be switched to each node, The data propagating through the network can be switched to the data of the task to which the task switching instruction is switched.
そして、一般的なマルチタスクの制御によれば、各ノードでは、他のノードからデータを転送されなくなったタスクのサブタスクは、処理すべきデータが無くなるため実行時間が無くなるまたは減少する一方、他のノードからデータを転送されるようになったタスクのサブタスクは、処理すべきデータが順次発生するため、実行時間が増加する。 According to general multitask control, in each node, a subtask of a task whose data cannot be transferred from other nodes loses or decreases its execution time because there is no data to be processed, while other subtasks The subtasks of the task that have been transferred the data from the node sequentially generate data to be processed, so that the execution time increases.
よって、各ノードでは、タスク切替命令の切替先のタスク、すなわち、各ノードにおいて他のノードからデータを転送されるようになったタスクのサブタスクの実行が支配的に行われるようになり、分散処理システムにおいて実行されるタスクが切り替わる。
よって、以上のような分散処理システムによれば、各ノードのサブタスクの状態を集中管理等する必要のない簡易な構成によって、タスクを時分割で実行するマルチタスクを実現することができる。Therefore, in each node, the task to which the task switching instruction is switched, that is, the subtask of the task in which data is transferred from another node in each node, is predominantly executed, and the distributed processing is performed. The tasks performed in the system switch.
Therefore, according to the distributed processing system as described above, it is possible to realize a multitask that executes tasks in a time-division manner with a simple configuration that does not require centralized management of the subtask state of each node.
以上のように、本発明によれば、分散処理システムにおいて、より簡易な構成によって、タスクを時分割で実行するマルチタスクを実現することができる。 As described above, according to the present invention, in a distributed processing system, it is possible to realize a multitask that executes tasks in a time-sharing manner with a simpler configuration.
以下、本発明に係る分散システムの実施形態について説明する。
図1に、本実施形態に係る分散システムの構成を示す。
図示するように、分散システムは、一つのコントローラ(CNT)と、複数のリング (Ri)を有し、各リングiは、それぞれ同数のノード(Nij)を含んでいる。なお、Ri は、i 番目のリングを表しており、Nijは、i番目のリングのj番目のノードを表している。Hereinafter, an embodiment of a distributed system according to the present invention will be described.
FIG. 1 shows the configuration of the distributed system according to this embodiment.
As illustrated, the distributed system has one controller (CNT) and a plurality of rings (Ri), and each ring i includes the same number of nodes (Nij). Note that Ri represents the i-th ring, and Nij represents the j-th node of the i-th ring.
ここで、図1aは、リング数が2、リング内のノード数が3の場合を示しており、図1bは、リング数が3、リング内のノード数が4の場合を示している。
そして、図示するように、各リング中において、当該リングに含まれる各ノードをチャネルでリング状に順次接続したリング型のネットワークが形成されている。
また、i番目のリングのj番目のノードは、i番目のリング以外の各リングのj番目のノードとそれぞれ双方向のチャネルで接続されている。
一方、コントローラ(CNT)は、各リング (Ri)の各ノード(Nij)と直接接続されている。
コントローラ(CNT)と各ノード(Nij)との接続は、ノード(Nij)毎に設けたチャネルで、ノード(Nij)とコントローラ(CNT)とをそれぞれ接続するようにしてもよいし、バス型のチャネルでコントローラ(CNT)と各ノード(Nij)を接続するようにしてもよい。Here, FIG. 1a shows a case where the number of rings is two and the number of nodes in the ring is three, and FIG. 1b shows a case where the number of rings is three and the number of nodes in the ring is four.
Then, as shown in the figure, in each ring, a ring-type network is formed in which nodes included in the ring are sequentially connected in a ring shape by channels.
The j-th node of the i-th ring is connected to the j-th node of each ring other than the i-th ring by bidirectional channels.
On the other hand, the controller (CNT) is directly connected to each node (Nij) of each ring (Ri).
The connection between the controller (CNT) and each node (Nij) may be such that the node (Nij) and the controller (CNT) are connected by a channel provided for each node (Nij), or a bus type. You may make it connect a controller (CNT) and each node (Nij) with a channel.
次に、図2に各ノードの構成を示す。
図示するように、ノード1は、ストレージ11とプロセッサ12を備えている。プロセッサ12は、CPUと、その周辺デバイスを備えたコンピュータとしての構成を有しており、ストレージ11を用いて他のノード1とは独立にデータ処理を行うことができる。Next, FIG. 2 shows the configuration of each node.
As illustrated, the
また、ノード1は、当該ノード1に接続している、チャネル毎に設けられた、チャネルを用いて他のノード1との間のデータ伝送を行うチャネルインタフェース13を備えている。
The
次に、図3に、プロセッサ12のソフトウエアの実行によって形成される、ノード1(Nij)の機能ブロックの構成を示す。
分散処理システムが行うタスクを分割したタスクの部分をサブタスクと呼ぶこととして、ノード1には、複数のタスクのサブタスク101が割り当てられている。各サブタスク101は、オペレーティングシステム102上で、サブタスク101のスケジューリングやリソースの管理などを行ってマルチタスク環境を提供するマルチタスク制御部1021の制御により、時分割にマルチタスクの形態で実行されている。Next, FIG. 3 shows a configuration of functional blocks of the node 1 (Nij) formed by execution of software of the
A task part obtained by dividing a task performed by the distributed processing system is called a subtask, and the
次に、各サブタスク101は、各々固有のデータスペース1011を備え、自己のデータスペース1011を用いて処理を行う。そして、各データスペース1011には、他ノードに送信するデータを格納する送信キューSQと、他ノードから受信したデータが格納される受信キューRQとが設けられている。
Next, each
そして、オペレーティングシステム102は、各サブタスク101の送信キューSQに格納されたデータの他のノード1への転送や、他のノード1から受信したデータの受信キューRQへの格納を行う、タスクデータ転送処理部1022を備えている。
Then, the
次に、図4に、オペレーティングシステム102のタスクデータ転送処理部1022の構成を示す。
図示するように、タスクデータ転送処理部1022は、受信バッファ41、送信バッファ42、待避バッファ43、重複転送抑止部CHK44、受信データ転送部45、送信データ転送部46、以上各部を制御する転送制御部47を備えている。Next, FIG. 4 shows the configuration of the task data
As illustrated, the task data
そして、受信バッファ41は、自ノード1と同じリングに含まれている当該リング上の順番が一つ前のノード1からチャネルインタフェース13が受信したデータが格納されるバッファRS(r)を備えている。
The reception buffer 41 includes a buffer RS (r) in which the data received by the
ここで、リング上の順番とは、リングに沿ってチャネルのデータの転送方向に進んだときに通るノード1の順番である。
また、受信バッファ41は、自ノード1が含まれるリングと異なる他のリングのリング中の順番が同じノード1からチャネルインタフェース13が受信したデータが格納される、当該他のリングの数と同数のバッファRi(r)を備えている。Here, the order on the ring is the order of the
In addition, the reception buffer 41 stores the data received by the
次に、送信バッファ42は、自ノード1と同じリングに含まれている当該リング上の順番が一つ後のノード1にチャネルインタフェース13を介して送信するデータを格納するバッファRS(s)を備えている。また、送信バッファ42は、自ノード1が含まれるリングと異なる他のリングのリング中の順番が同じノード1にチャネルインタフェース13を介して送信するデータを格納する、当該他のリングの数と同数のバッファRi(s)を備えている。
Next, the
そして、転送制御部47は、通常時には、以下の動作が行われるように各部を制御する。
すなわち、転送制御部47は、送信データ転送部46に、実行対象タスクとなっているタスクを送信対象タスクとして設定する。実行対象タスクについては後述する。
送信対象タスクを設定された送信データ転送部46は、送信対象タスクのサブタスク101のデータスペース1011の送信キューSQに格納されたデータを、送信バッファ42のバッファRS(s)と各バッファRi(s)に転送し、自ノード1と同じリングに含まれている当該リング上の順番が一つ後のノード1と、自ノード1が含まれるリングと異なる他の各リングのリング中の順番が同じノード1の各々に送信する。Then, the transfer control unit 47 normally controls each unit so that the following operations are performed.
That is, the transfer control unit 47 sets the task, which is the execution target task, in the transmission data transfer
The transmission data transfer
なお、サブタスク101のデータスペース1011の送信キューSQに格納されたデータには、そのサブタスク101が属するタスクの識別を示すタスク識別子が付加されている。
また、転送制御部47は、自ノード1と同じリングに含まれている当該リング上の順番が一つ前のノード1から受信し、受信バッファ41のバッファRS(r)に格納されたデータを、重複転送抑止部CHK44に転送させる。重複転送抑止部CHK44は、転送されたデータが、自ノード1が発信元のデータであるかどうかを調べ、自ノード1が発信元のデータでない場合のみ、当該データを出力し、自ノード1が発信元のデータであれば、当該データを破棄する。The data stored in the transmission queue SQ of the
Further, the transfer control unit 47 receives the data stored in the buffer RS (r) of the reception buffer 41, which is received from the
そして、重複転送抑止部CHK44から出力されたデータは、送信バッファ42のバッファRS(s)と各バッファRi(s)に転送され、当該データは、自ノード1と同じリングに含まれている当該リング上の順番が一つ後のノード1と、自ノード1が含まれるリングと異なる他の各リングのリング中の順番が同じノード1の各々に送信される。
Then, the data output from the duplicate transfer inhibiting unit CHK44 is transferred to the buffer RS (s) and each buffer Ri (s) of the
また、重複転送抑止部CHK44から出力されたデータは受信データ転送部45にも転送され、受信データ転送部45は、転送されたデータを、そのデータに付加されているタスク識別子のタスクのサブタスク101のデータスペース1011の受信キューRQに格納する。
The data output from the duplicate transfer inhibiting unit CHK44 is also transferred to the received
また、自ノード1が含まれるリングと異なる他の各リングのリング中の順番が同じノード1の各々から受信し各Ri(r)に格納されたデータは、受信データ転送部45に転送され、受信データ転送部45は、転送されたデータを、そのデータに付加されているタスク識別子のタスクのサブタスク101のデータスペース1011の受信キューRQに格納する。
Further, the data received from each of the
以下、このようなタスクデータ転送処理部1022の動作によって実現されるノード1間のデータ転送動作について、リング数が2、リング内のノード数が3の分散システムを例にとり説明する。
Hereinafter, the data transfer operation between the
いま、図5aに示すようにリングR1のノードN11において、タスクAが実行対象タスクであるときに、タスクAのサブタスク101が発信した送信データは、ノードN11からノードN12とノードN21に転送され、ノードN12とノードN21のタスクAのサブタスク101に送られる。また、ノードN12に送られたデータは、ノードN12によって、ノードN13とノードN22に中継され、ノードN13とノードN22のタスクAのサブタスク101に送られる。また、ノードN13に送られたデータは、ノードN13によって、ノードN23に中継され、ノードN23のタスクAのサブタスク101に送られる。
結果、タスクAが実行対象タスクであるときに、ノードN11のタスクAのサブタスク101が発信した送信データは、順次ノード1を一つずつ上述のように伝搬し、自ノードN11以外の全てのノードのタスクAのサブタスク101に転送される。Now, as shown in FIG. 5a, in the node N11 of the ring R1, when the task A is the task to be executed, the transmission data transmitted by the
As a result, when the task A is the task to be executed, the transmission data transmitted by the
同様に、図5bに示すように、リングR1のノードN12において、タスクBが実行対象タスクであるときに、タスクBのサブタスク101が発信した送信データは、図示するように、ノードN12からノードN13とノードN22に転送され、ノードN13とノードN22のタスクBのサブタスク101に送られる。また、ノードN13に送られたデータは、ノードN13によってノードN11とノードN23に中継され、ノードN11とノードN23のタスクBのサブタスク101に送られる。また、ノードN11に送られたデータは、ノードN11によって、ノードN21に中継され、ノードN21のタスクBのサブタスク101に送られる。
結果、タスクBが実行対象タスクであるときに、ノードN12のタスクBのサブタスク101の送信データは、順次ノード1を一つずつ上述のように伝搬し、自ノードN12以外の全てのノード1のタスクBのサブタスク101に転送される。Similarly, as shown in FIG. 5B, in the node N12 of the ring R1, when the task B is the task to be executed, the transmission data transmitted by the
As a result, when the task B is the execution target task, the transmission data of the
以下、同様に、任意のリングの任意のノード1(Nij)の任意のタスクXのサブタスク101が発信した送信データは、そのタスクXが実行対象タスクであるときに、自ノード(Nij)以外の全てのノード1の、タスクXのサブタスク101に転送される。
Hereinafter, similarly, the transmission data transmitted by the
したがって、タスクXが実行対象タスクであるときに、各リングの各ノード1のタスクXのサブタスク101が、それぞれ、データを送信すると、各リングの各ノード1のタスクXのサブタスク101には、他の全てのノード1のタスクXのサブタスク101が送信したデータが転送される。
Therefore, when the task X is the task to be executed, the
以下、このような分散処理システムにおいて、タスクを切り替える動作について説明する。
まず、本実施形態に係る各ノード1の各タスクのサブタスク101は、以下の処理P1、P2を行うものである。
処理P1;所定の演算を行い、演算結果を表すデータを、送信キューSQに格納し、他のノードの同タスクのサブタスク101に送信する。
処理P2;受信キューRQに格納された、他のノードの同タスクのサブタスク101から受信したデータを取り出し、当該データが表す演算結果を処理P1の演算結果に統合する演算を行う。The operation of switching tasks in such a distributed processing system will be described below.
First, the
Process P1; predetermined calculation is performed, data representing the calculation result is stored in the transmission queue SQ, and is transmitted to the
Process P2: The data received from the
但し、処理P2の演算は、他の全てのノードの同タスクのサブタスク101から受信したデータついて行うものである。また、少なくとも、処理P2の演算に順序依存性は無く、他のノード1の同タスクのサブタスク101から受信したデータを、どのような順序で処理しても、最終的に同じ結果が得られるものである。
However, the calculation of the process P2 is performed for the data received from the
また、各サブタスク101は、行うべき処理が無い場合、すなわち、処理P1を終了しており、処理P2で次に処理すべき、他ノードの同タスクのサブタスク101から受信したデータが、受信キューRQに無い場合には、その後、受信キューRQに格納されるデータが受信されるまで、待機状態に遷移する。
Further, when there is no processing to be performed in each
そして、各ノード1のオペレーティングシステム102のマルチタスク制御部1021は、待機状態にあるサブタスク101に実行時間(CPU時間)を与えず、もしくは、当該実行時間を減少し、その分、待機状態にない他のサブタスク101の実行時間(CPU時間)を増加させる。
Then, the
さて、図1に戻り、分散処理システムのタスクの切り替えは、コントローラ(CNT)が所定のスケジュールに従って行う。
また、タスクの切り替えは、タスクの切り替え時に、コントローラ(CNT)が各リングの各ノード1(Nij)に、切替先のタスクのタスク識別子を指定したタスク切替命令を一斉に送信することにより行う。Now, returning to FIG. 1, the controller (CNT) switches tasks of the distributed processing system according to a predetermined schedule.
Further, the task switching is performed by the controller (CNT) simultaneously sending a task switching command designating the task identifier of the task to be switched to each node 1 (Nij) of each ring when switching the task.
一方、各ノード1(Nij)のタスクデータ転送処理部1022の転送制御部47は、タスクの切り替えのために、図6に示す転送データ切替処理を行う。
図示するように、転送制御部47は、コントローラ(CNT)が送信されたタスク切替命令の受信の発生を監視し(ステップ602)、タスク切替命令の受信が発生したならば、実行対象タスクを、タスク切替命令のタスク識別子が示す切替先のタスクに切り替え、送信データ転送部46に、実行対象タスクとなっているタスクを送信対象タスクとして設定する(ステップ604)。On the other hand, the transfer control unit 47 of the task data
As shown in the figure, the transfer control unit 47 monitors the occurrence of the reception of the task switching instruction transmitted by the controller (CNT) (step 602), and when the reception of the task switching instruction occurs, the transfer target task The task is switched to the switching destination task indicated by the task identifier of the task switching instruction, and the task that is the execution target task is set in the transmission data transfer
なお、ステップ604で、送信対象タスクが切り替わると、上述のように、当該切り替え後の送信対象タスクのサブタスク101のデータスペース1011の送信キューSQに格納されたデータが、自ノード1と同じリングに含まれている当該リング上の順番が一つ後のノード1と、自ノード1が含まれるリングと異なる他の各リングのリング中の順番が同じノード1の各々に送信されるようになり、切り替え前の送信対象タスクのサブタスク101のデータスペース1011の送信キューSQに格納されたデータは他ノードに送信されなくなる。
When the transmission target task is switched in
また、次に、受信バッファ41のバッファRS(r)に格納されているデータの転送先を、重複転送抑止部CHK44から、待避バッファ43に変更し、待避バッファ43に、バッファRS(r)から転送したデータを、当該データに付加されているタスク識別子が示すタスクの待避データとして格納すると共に、待避バッファ43に格納されている、ステップ604で切り替えた後の実行対象タスクのタスクの待避データを、重複転送抑止部CHK44に転送する(ステップ606)。
Further, next, the transfer destination of the data stored in the buffer RS (r) of the reception buffer 41 is changed from the duplicate transfer inhibiting unit CHK44 to the save
重複転送抑止部CHK44は、待避バッファ43から転送されたデータを、受信バッファ41のバッファRS(r)から転送されたデータと同様に処理する。
すなわち、重複転送抑止部CHK44は、待避バッファ43から転送されたデータが、自ノードが発信元のデータであるかどうかを調べ、自ノードが発信元のデータでない場合のみ、当該データを、送信バッファ42のバッファRS(s)と各バッファRi(s)に転送し、自ノード1と同じリングに含まれている当該リング上の順番が一つ後のノード1と、自ノード1が含まれるリングと異なる他の各リングのリング中の順番が同じノード1の各々に送信させると共に、当該データを、受信データ転送部45に転送し、当該データに付加されているタスク識別子のタスクのサブタスク101のデータスペース1011の受信キューRQに格納させる。The duplicate transfer inhibiting unit CHK44 processes the data transferred from the
That is, the duplicate transfer inhibiting unit CHK44 checks whether or not the data transferred from the
そして、受信バッファ41のバッファRS(r)に格納されているデータの転送先を、重複転送抑止部CHK44に復帰し(ステップ608)、ステップ602の監視に戻る。
以上、タスクデータ転送処理部1022の転送制御部47が行う転送データ転送処理について説明した。
ここで、このような転送データ切替処理の処理例を図7から図10に示す。
なお、各図中においてDk(Nij)は、i番目のリングのj番目のノード1のタスクkのサブタスク101が発信元であるデータを表す。
いま、図7aに示すように、タスクAが実行対象タスクに設定されており、各ノード1のタスクAのサブタスク101が発信元となっているタスクAのデータが上述のようにノード1を一つずつ伝搬しているときに、タスクAのデータ伝搬の途中で、コントローラ(CNT)からタスクBを切替先とするタスク切替命令が各ノード1(Nij)に送信されると、図7bに示すように、各ノード1において、その時点で受信している他のノード及びサブタスク101に未転送のタスクAのデータが、待避バッファ43にタスクAの待避データとして待避され、タスクAのデータの伝搬は停止する。Then, the transfer destination of the data stored in the buffer RS (r) of the reception buffer 41 is returned to the duplicate transfer inhibiting unit CHK44 (step 608), and the process returns to the monitoring of
The transfer data transfer process performed by the transfer control unit 47 of the task data
Here, processing examples of such transfer data switching processing are shown in FIGS.
In each figure, Dk (Nij) represents data whose source is the
Now, as shown in FIG. 7a, task A is set as a task to be executed, and the data of task A originating from
また、各ノード1において、タスクBが実行対象タスクに設定され、各ノード1のタスクBのサブタスク101が発信元となるタスクBのデータが送信され、タスクBのデータが、図7b、図8a示すように、ノード1を一つずつ伝搬し、タスクBのデータが各ノード1のタスクBのサブタスク101に転送されていく。
Further, in each
そして、図8aに示す、タスクBのデータの伝搬の途中で、コントローラ(CNT)からタスクAを切替先とするタスク切替命令が各ノード1(Nij)に送信されると、図8bに示すように、各ノード1において、その時点で受信している他のノード及びサブタスク101に未転送のタスクBのデータが、待避バッファ43にタスクBの待避データとして待避され、タスクBのデータの伝搬は停止する。
Then, in the course of the propagation of the data of the task B shown in FIG. 8A, when the task switching instruction having the task A as the switching destination is transmitted from the controller (CNT) to each node 1 (Nij), as shown in FIG. 8B. Further, in each
また、各ノード1から、待避しておいたタスクAの待避データが送信され、これにより、図8b、図9に示すように、タスクAのデータの伝搬が再開され、タスクAのデータが、各ノード1のタスクAのサブタスク101に転送されていく。
Also, the saved data of the task A that has been saved is transmitted from each
さて、以上のように、本実施形態によれば、コントローラ(CNT)からタスク切替命令を各ノード1(Nij)に送信することにより、分散処理システムの各ノード1(Nij)間でデータを転送するタスクを切り替えることができる。 As described above, according to the present embodiment, the controller (CNT) transmits the task switching command to each node 1 (Nij) to transfer the data between the nodes 1 (Nij) of the distributed processing system. You can switch the tasks to be performed.
そして、各ノード1では、他のノード1からデータを転送されなくなったタスクのサブタスク101は、上述した処理P2で処理すべきデータが無くなるため待機状態となる一方、他のノード1からデータを転送されるようになったタスクのサブタスク101は、上述した処理P2で処理すべきデータが発生するようになる。
Then, in each
よって、各ノード1では、コントローラ(CNT)が送信したタスク切替命令の切替先にタスク、すなわち、各ノード1において他のノード1からデータを転送されるようになったタスクのサブタスク101の実行が支配的に行われるようになり、分散処理システムにおいて実行されるタスクが切り替わる。
Therefore, in each
すなわち、コントローラ(CNT)のタスク切替命令の送信により、分散処理システムにおけるタスクの切替が実現される。
したがって、本実施形態によれば、各ノードのサブタスクの状態を集中管理等する必要のない簡易な構成によって、タスクを時分割で実行するマルチタスクを実現することができる。
なお、図7、8、9では、各ノード1が同期して動作する場合について示したが、実際には、各ノード1の動作は非同期であってよい。この場合でも、コントローラ(CNT)からタスク切替命令を各ノード1(Nij)に送信すると、速やかに、各ノード1(Nij)間で、タスク切替命令で指定した切替先のタスクのデータが支配的に転送されるようになる。よって、各ノード1において、速やかにタスク切替命令で指定した切替先のタスクのサブタスク101の実行が支配的に行われるようになり、分散処理システムにおいて実行されるタスクが切り替わる。That is, the task switching in the distributed processing system is realized by transmitting the task switching command from the controller (CNT).
Therefore, according to the present embodiment, it is possible to realize a multitask that executes tasks in a time-sharing manner with a simple configuration that does not require centralized management of the state of subtasks of each node.
It should be noted that FIGS. 7, 8 and 9 show the case where each
ところで、以上の実施形態は、コントローラ(CNT)から、タスク切替命令の他に、タスク識別子を指定したpend命令や、タスク識別子を指定したstop命令を、各ノード1(Nij)に送信するようにしてもよい。 By the way, in the above embodiment, the controller (CNT) transmits the pend command specifying the task identifier and the stop command specifying the task identifier to each node 1 (Nij) in addition to the task switching command. May be.
pend命令は、タスクを一時的に停止させる命令であり、各ノード1はpend命令を受け取ったならば、pend命令が指定するタスク識別子が付加されたデータの転送を中断すると共に、当該データを転送を再開可能な形態で保存する。
The pend instruction is an instruction to temporarily stop the task, and when each
stop命令は、タスクを停止する命令であり、各ノード1はstop命令を受け取ったならば、stop命令が指定するタスク識別子が示すタスクのサブタスク101の送信キューSQと受信キューRQをクリアすると共に以降、stop命令が指定するタスク識別子が付加されたデータを受信したならば、そのデータを破棄する。
The stop instruction is an instruction to stop the task, and when each
1…ノード、11…ストレージ、12…プロセッサ、13…チャネルインタフェース、41…受信バッファ、42…送信バッファ、43…待避バッファ、44…重複転送抑止部CHK、45…受信データ転送部、46…送信データ転送部、47…転送制御部、101…サブタスク、102…オペレーティングシステム、1011…データスペース、1021…マルチタスク制御部、1022…タスクデータ転送処理部。 1 ... Node, 11 ... Storage, 12 ... Processor, 13 ... Channel interface, 41 ... Reception buffer, 42 ... Transmission buffer, 43 ... Saving buffer, 44 ... Duplicate transfer inhibiting unit CHK, 45 ... Reception data transfer unit, 46 ... Transmission Data transfer unit, 47 ... Transfer control unit, 101 ... Subtask, 102 ... Operating system, 1011 ... Data space, 1021 ... Multitask control unit, 1022 ... Task data transfer processing unit.
Claims (7)
各ノードに切替先のタスクの識別子を伴うタスク切替命令を一斉送信する制御部を備え、
前記各ノードは、
当該分散処理システムが実行する複数のタスク各々の部分であるサブタスクを、マルチタスクで実行するサブタスク実行部と、
各ノードのタスクのサブタスクが発信元となる、当該サブタスクが部分であるタスクのデータが、当該タスクのデータの発信元のサブタスクが実行されているノード以外の他の全てのノードに前記ネットワークを介して伝搬するように、前記ネットワークと前記タスクのデータの送受信を行うデータ送受信部と、
前記データ送受信部がネットワークから受信したタスクのデータを、当該タスクのサブタスクに転送するデータ取込部と、
前記タスク切替命令に応答して、前記ネットワークを介して伝搬するデータが、当該タスク切替命令に伴う識別子が示すタスクのデータに切り替わるように、前記データ送受信部の前記タスクのデータの送受信の動作を制御する伝搬データ切替部とを有することを特徴とする分散処理システム。A distributed processing system that executes multiple tasks by connecting multiple nodes in a network,
Each node is provided with a control unit that broadcasts a task switching instruction accompanied by the task identifier of the switching destination,
Each node is
A subtask execution unit that executes a subtask, which is a part of each of a plurality of tasks executed by the distributed processing system, by a multitask,
The subtask of the task of each node is the source, and the data of the task of which the subtask is a part is transmitted via the network to all the nodes other than the node where the subtask of the source of the data of the task is executed. Data transmission / reception unit that transmits / receives data of the task to / from the network,
A data acquisition unit that transfers the task data received from the network by the data transmission / reception unit to a subtask of the task,
In response to the task switching instruction, the data transmission / reception operation of the data transmitting / receiving unit is performed so that the data propagating through the network is switched to the task data indicated by the identifier associated with the task switching instruction. A distributed processing system comprising: a propagation data switching unit for controlling.
各ノードに切替先のタスクの識別子を伴うタスク切替命令を一斉送信する制御部を備え、
前記各ノードは、
当該分散処理システムが実行する複数のタスク各々の部分であるサブタスクを、マルチタスクで実行するサブタスク実行部と、
タスクのサブタスクが発信元となるデータを、当該サブタスクが部分であるタスクのデータとして他のノードに送信する送信部と、
他のノードから受信したタスクのデータを、当該タスクのサブタスクに転送するデータ取込部と、
他のノードから受信したタスクのデータを、当該データが当該データの発信元のノードから他の全てのノードに順次転送されていくように、他のノードに中継するデータ転送部とを有し、
前記送信部は、前記タスク切替命令の受信に応答して、当該タスク切替命令に伴う識別子が示すタスク以外のタスクのデータの他のノードへの送信を停止し、
前記中継部は、前記タスク切替命令の受信に応答して、他のノードから受信した当該時点で他のノードに未中継のタスクのデータの中継を、当該データのタスクの識別子を伴う前記タスク切替命令を受信するまで延期することを特徴とする分散処理システム。A distributed processing system including a plurality of nodes, which performs a plurality of tasks,
Each node is provided with a control unit that broadcasts a task switching instruction accompanied by the task identifier of the switching destination,
Each node is
A subtask execution unit that executes a subtask, which is a part of each of a plurality of tasks executed by the distributed processing system, by a multitask,
A transmission unit that transmits data whose source is a subtask of a task, to another node as data of the task of which the subtask is a part,
A data capturing unit that transfers the task data received from another node to a subtask of the task,
The data of the task received from another node has a data transfer unit that relays the data to another node so that the data is sequentially transferred from the node that is the source of the data to all other nodes,
The transmission unit, in response to receiving the task switching instruction, stops transmission of data of tasks other than the task indicated by the identifier associated with the task switching instruction to another node,
The relay unit, in response to receiving the task switching command, relays data of a task that has not been relayed to another node at the time when it is received from another node, and switches the task with the task identifier of the data. A distributed processing system characterized by postponing until an instruction is received.
前記サブタスクは、転送されたデータの各々を処理対象のデータに含めて、各処理対象のデータに対して所定の処理を行うと共に、処理対象のデータ待ちの状態となったならば、待機状態に遷移し、
前記サブタスク実行部は、待機状態に遷移したサブタスクの実行時間を減少させ、他の遷移状態にないサブタスクの実行時間を増加することを特徴とする分散処理システム。The distributed processing system according to claim 2, wherein
The subtask includes each of the transferred data in the data to be processed, performs a predetermined process on each data to be processed, and when the data to be processed is in a waiting state, enters the standby state. Transition,
A distributed processing system, wherein the subtask execution unit reduces the execution time of a subtask that has transited to a standby state and increases the execution time of a subtask that is not in another transition state.
前記中継部は、前記タスク切替命令の受信に応答して、他のノードから受信した当該時点で他のノードに未中継のタスクのデータを、当該タスクの待避データとして保存すると共に、保存されている、当該タスク切替命令に伴う識別子が示すタスクの待避データの前記他のノードへの中継を行うことを特徴とする分散処理システム。The distributed processing system according to claim 2 or 3, wherein
In response to receiving the task switching command, the relay unit saves the data of the task that is not relayed to the other node at the time when it is received from the other node as the save data of the task and is saved. The distributed processing system is characterized in that the save data of the task indicated by the identifier associated with the task switching instruction is relayed to the other node.
前記データ取込部は、前記タスク切替命令に応答して、他のノードから受信した当該時点でサブタスクに未転送のデータの、サブタスクへの転送を、当該データのタスクの識別子を伴う前記タスク切替命令を受信するまで延期することを特徴とする分散処理システム。The distributed processing system according to claim 2, 3 or 4, wherein
In response to the task switching command, the data capturing unit transfers the data, which is received from another node and is not transferred to the subtask at that time point, to the subtask, and switches the task with the task identifier of the data. A distributed processing system characterized by postponing until an instruction is received.
各ノードに切替先のタスクの識別子を伴うタスク切替命令を一斉送信する制御部を備え、
前記各ノードは、
当該分散処理システムが実行する複数のタスク各々の部分であるサブタスクを、マルチタスクで実行するサブタスク実行部と、
タスクのサブタスクが発信元となるデータを、当該サブタスクが部分であるタスクのデータとして他のノードに送信する送信部と、
他のノードから受信したタスクのデータを、当該タスクのサブタスクに転送すると共に、当該データが当該データの発信元のノードから他の全てのノードに順次転送されていくように、他のノードに中継するデータ転送部とを有し、
前記送信部は、前記タスク切替命令の受信に応答して、当該タスク切替命令に伴う識別子が示すタスク以外のタスクのデータの他のノードへの送信を停止し、
前記データ転送部は、前記タスク切替命令の受信に応答して、当該時点で他のノードから受信しているデータを、当該タスクの待避データとして保存すると共に、保存されている、当該タスク切替命令に伴う識別子が示すタスクの待避データの前記サブタスクへの転送と前記他のノードへの中継を行うことを特徴とする分散処理システム。A distributed processing system including a plurality of nodes, which performs a plurality of tasks,
Each node is provided with a control unit that broadcasts a task switching instruction accompanied by the task identifier of the switching destination,
Each node is
A subtask execution unit that executes a subtask, which is a part of each of a plurality of tasks executed by the distributed processing system, by a multitask,
A transmission unit that transmits data whose source is a subtask of a task, to another node as data of the task of which the subtask is a part,
Transfers the task data received from other nodes to the subtasks of the task, and relays the data to other nodes so that the data is sequentially transferred from the source node of the data to all other nodes. And a data transfer unit that
The transmission unit, in response to receiving the task switching instruction, stops transmission of data of tasks other than the task indicated by the identifier associated with the task switching instruction to another node,
In response to receiving the task switching instruction, the data transfer unit saves the data received from another node at that time as the save data of the task, and the saved task switching instruction. The distributed processing system is characterized in that the save data of the task indicated by the identifier is transferred to the subtask and relayed to the other node.
n(但し、nは2以上の任意の自然数)個の前記ノードをチャネルでリング状に接続したリングを複数有し、
各リングに含まれるノードの数は等しく、
前記各リングの各ノードは、当該ノードを送信側とするチャネルで、当該ノードを含むリング以外の各リングのノードと、同じリングに含まれる各ノードが、当該ノードを送信側とするチャネルで、他のリングの異なるノードにそれぞれ接続されるように、接続されており、
前記各ノードの前記データ転送手段は、当該ノードが含まれるリングの当該リングにおける接続上の順番が当該ノードの前の順番のノードに接続したチャネルから受信したタスクのデータを、当該ノードが含まれるリングの当該リングにおける接続上の順番が当該ノードの次の順番のノードに接続するチャネルと、当該ノードを送信側とするチャネルであって当該ノードが含まれるリング以外の他のリングのノードに接続するチャネルに送信することにより、前記他のノードから受信したタスクのデータの他のノードへの中継を行い、
前記送信部は、タスクのサブタスクが発信元となるタスクのデータを、当該ノードが含まれるリングの当該リングにおける接続上の順番が当該ノードの次の順番のノードに接続するチャネルと、当該ノードを送信側とするチャネルであって当該ノードが含まれるリング以外の他のリングのノードに接続するチャネルに送信することにより、前記タスクのデータの他のノードへの送信を行うことを特徴とする分散処理システム。The distributed processing system according to claim 2, 3, 4, 5 or 6, wherein
n (where n is an arbitrary natural number of 2 or more) has a plurality of rings in which the nodes are connected in a ring shape by a channel,
The number of nodes in each ring is equal,
Each node of each ring is a channel having the node as a transmission side, and a node of each ring other than the ring including the node, each node included in the same ring is a channel having the node as a transmission side, Are connected so that they are connected to different nodes on other rings,
The data transfer means of each of the nodes includes the data of the task received from the channel connected to the node of the order in which the ring including the node is connected in the ring in the order before the node includes the node. A channel that connects to a node that has the next order of connection of the ring in the ring, and a channel that has the node as a sender and that is a ring other than the ring in which the node is included. By relaying the data of the task received from the other node to another node,
The transmitting unit connects the node with a channel that connects the data of the task whose source is a subtask of the task, to a node whose connection order in the ring including the node is next to that node. A distribution characterized in that the data of the task is transmitted to another node by transmitting to a channel connected to a node of a ring other than the ring in which the node is included, which is a transmission side. Processing system.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2017/022798 WO2018235180A1 (en) | 2017-06-21 | 2017-06-21 | Distributed processing system |
Publications (2)
Publication Number | Publication Date |
---|---|
JPWO2018235180A1 true JPWO2018235180A1 (en) | 2020-04-23 |
JP6858378B2 JP6858378B2 (en) | 2021-04-14 |
Family
ID=64736944
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2019524763A Active JP6858378B2 (en) | 2017-06-21 | 2017-06-21 | Distributed processing system |
Country Status (2)
Country | Link |
---|---|
JP (1) | JP6858378B2 (en) |
WO (1) | WO2018235180A1 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116954930A (en) * | 2023-09-20 | 2023-10-27 | 成都拓林思软件有限公司 | Operating system data processing method based on edge calculation |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109800063A (en) * | 2019-01-25 | 2019-05-24 | 深圳乐信软件技术有限公司 | Business method for parallel processing, device, server, storage medium |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH06149754A (en) * | 1992-11-06 | 1994-05-31 | Nissan Motor Co Ltd | Network system |
JPH09305551A (en) * | 1996-05-10 | 1997-11-28 | Toshiba Corp | Parallel computer system |
JP2002073577A (en) * | 2000-08-30 | 2002-03-12 | Nec Kofu Ltd | Distributed processing method in distributed memory-type parallel computer and computer-readable recording medium |
-
2017
- 2017-06-21 WO PCT/JP2017/022798 patent/WO2018235180A1/en active Application Filing
- 2017-06-21 JP JP2019524763A patent/JP6858378B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH06149754A (en) * | 1992-11-06 | 1994-05-31 | Nissan Motor Co Ltd | Network system |
JPH09305551A (en) * | 1996-05-10 | 1997-11-28 | Toshiba Corp | Parallel computer system |
US6009262A (en) * | 1996-05-10 | 1999-12-28 | Kabushiki Kaisha Toshiba | Parallel computer system and method of communication between the processors of the parallel computer system |
JP2002073577A (en) * | 2000-08-30 | 2002-03-12 | Nec Kofu Ltd | Distributed processing method in distributed memory-type parallel computer and computer-readable recording medium |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116954930A (en) * | 2023-09-20 | 2023-10-27 | 成都拓林思软件有限公司 | Operating system data processing method based on edge calculation |
CN116954930B (en) * | 2023-09-20 | 2023-11-28 | 成都拓林思软件有限公司 | Operating system data processing method based on edge calculation |
Also Published As
Publication number | Publication date |
---|---|
WO2018235180A1 (en) | 2018-12-27 |
JP6858378B2 (en) | 2021-04-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102167059B1 (en) | Synchronization on a multi-tile processing array | |
CN101211277B (en) | Method of selecting one of execution schedules of guest OS and virtual machine monitor employing the method | |
CN101566957A (en) | Information processing system and task execution control method | |
WO2017084331A1 (en) | Data processing apparatus and method for interconnection circuit | |
US11018896B2 (en) | Information processing apparatus and information processing method | |
JPWO2018235180A1 (en) | Distributed processing system | |
Hamza et al. | Priority assignment on an avionics switched Ethernet Network (QoS AFDX) | |
WO2010104033A1 (en) | Interprocessor communication system and communication method, network switch, and parallel computing system | |
EP2693343B1 (en) | Parallel processing system and parallel processing system operation method | |
KR102228502B1 (en) | Controlling timing in computer processing | |
US20210314186A1 (en) | Communication system, communication apparatus, communication method, and program | |
JP2007249357A (en) | Information processor, distributed processing system, and task management method | |
CN111052683B (en) | Network system | |
JP2008128785A (en) | Parallel signal processing apparatus | |
US9385961B2 (en) | Parallel computing device, communication control device, and communication control method | |
Ashjaei et al. | Dynamic reconfiguration in hartes switched ethernet networks | |
JP2012203911A (en) | Improvement of scheduling of task to be executed by asynchronous device | |
JP2009075766A (en) | Virtual machine system and rescheduling method for the system | |
JP3660376B2 (en) | Distributed processing system and load balancing method in distributed processing system | |
WO2016151654A1 (en) | Parallel processing system | |
JP2011013919A (en) | Transfer rate setting method, data transfer apparatus and information processing system | |
JP7207133B2 (en) | Information processing device, synchronization device, and control method for information processing device | |
EP2450795A1 (en) | Computer device, parallel computer system, and synchronization program | |
JPH1196108A (en) | Computer system and bus control device | |
WO2022079906A1 (en) | Transfer route changing system, packet processing device, supervising device, method for changing transfer route, and program |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A711 Effective date: 20191226 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20191226 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20200410 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20200513 |
|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20200528 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20201222 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20210217 |
|
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: 20210309 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20210316 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6858378 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |