JPWO2018235180A1 - Distributed processing system - Google Patents

Distributed processing system Download PDF

Info

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
Application number
JP2019524763A
Other languages
Japanese (ja)
Other versions
JP6858378B2 (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.)
ESPERANT SYSTEM CO., LTD.
Original Assignee
ESPERANT SYSTEM CO., LTD.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ESPERANT SYSTEM CO., LTD. filed Critical ESPERANT SYSTEM CO., LTD.
Publication of JPWO2018235180A1 publication Critical patent/JPWO2018235180A1/en
Application granted granted Critical
Publication of JP6858378B2 publication Critical patent/JP6858378B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation 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).

特開2013-23499号公報JP, 2013-23499, A 国際公開第2005/073880号International Publication No. 2005/073880

コンピュータシステムをマルチタスクで運用すると、以下のようなメリットを享受できる。
(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.

本発明の実施形態に係る分散システムを示す図である。It is a figure which shows the distributed system which concerns on embodiment of this invention. 本発明の実施形態に係るノードの構成を示すブロック図である。It is a block diagram which shows the structure of the node which concerns on embodiment of this invention. 本発明の実施形態に係るノードの機能を示すブロック図である。It is a block diagram which shows the function of the node which concerns on embodiment of this invention. 本発明の実施形態に係るタスクデータ転送処理部の構成を示すブロック図である。It is a block diagram which shows the structure of the task data transfer process part which concerns on embodiment of this invention. 本発明の実施形態に係る分散システムのデータ転送のようすを示す図である。It is a figure which shows the mode of data transfer of the distributed system which concerns on embodiment of this invention. 本発明の実施形態に係る転送データ切り替え処理を示すフローチャートである。It is a flow chart which shows transfer data change processing concerning an embodiment of the present invention. 本発明の第実施形態に係る転送データ切り替え処理の処理例を示す図である。It is a figure which shows the process example of the transfer data switching process which concerns on 1st Embodiment of this invention. 本発明の第実施形態に係る転送データ切り替え処理の処理例を示す図である。It is a figure which shows the process example of the transfer data switching process which concerns on 1st Embodiment of this invention. 本発明の第実施形態に係る転送データ切り替え処理の処理例を示す図である。It is a figure which shows the process example of the transfer data switching process which concerns on 1st Embodiment of this invention.

以下、本発明に係る分散システムの実施形態について説明する。
図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 node 1 includes a storage 11 and a processor 12. The processor 12 has a configuration as a computer including a CPU and its peripheral devices, and can perform data processing independently of other nodes 1 using the storage 11.

また、ノード1は、当該ノード1に接続している、チャネル毎に設けられた、チャネルを用いて他のノード1との間のデータ伝送を行うチャネルインタフェース13を備えている。   The node 1 also includes a channel interface 13 that is connected to the node 1 and that is provided for each channel and that uses the channel to perform data transmission with another node 1.

次に、図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 processor 12.
A task part obtained by dividing a task performed by the distributed processing system is called a subtask, and the node 1 is assigned with subtasks 101 of a plurality of tasks. Each sub-task 101 is executed in a time-division manner in the form of multi-task under the control of a multi-task control unit 1021 which provides a multi-task environment by scheduling the sub-task 101 and managing resources on the operating system 102. .

次に、各サブタスク101は、各々固有のデータスペース1011を備え、自己のデータスペース1011を用いて処理を行う。そして、各データスペース1011には、他ノードに送信するデータを格納する送信キューSQと、他ノードから受信したデータが格納される受信キューRQとが設けられている。   Next, each subtask 101 has its own data space 1011 and performs processing using its own data space 1011. Then, each data space 1011 is provided with a transmission queue SQ for storing data to be transmitted to another node and a reception queue RQ for storing data received from another node.

そして、オペレーティングシステム102は、各サブタスク101の送信キューSQに格納されたデータの他のノード1への転送や、他のノード1から受信したデータの受信キューRQへの格納を行う、タスクデータ転送処理部1022を備えている。   Then, the operating system 102 transfers the data stored in the transmission queue SQ of each subtask 101 to another node 1 and stores the data received from the other node 1 in the reception queue RQ. The processing unit 1022 is provided.

次に、図4に、オペレーティングシステム102のタスクデータ転送処理部1022の構成を示す。
図示するように、タスクデータ転送処理部1022は、受信バッファ41、送信バッファ42、待避バッファ43、重複転送抑止部CHK44、受信データ転送部45、送信データ転送部46、以上各部を制御する転送制御部47を備えている。
Next, FIG. 4 shows the configuration of the task data transfer processing unit 1022 of the operating system 102.
As illustrated, the task data transfer processing unit 1022 controls the reception buffer 41, the transmission buffer 42, the save buffer 43, the duplicate transfer suppression unit CHK44, the reception data transfer unit 45, the transmission data transfer unit 46, and the above-mentioned transfer control units. The unit 47 is provided.

そして、受信バッファ41は、自ノード1と同じリングに含まれている当該リング上の順番が一つ前のノード1からチャネルインタフェース13が受信したデータが格納されるバッファRS(r)を備えている。   The reception buffer 41 includes a buffer RS (r) in which the data received by the channel interface 13 from the node 1 in the ring which is included in the same ring as the own node 1 and whose order on the ring is one before is stored. There is.

ここで、リング上の順番とは、リングに沿ってチャネルのデータの転送方向に進んだときに通るノード1の順番である。
また、受信バッファ41は、自ノード1が含まれるリングと異なる他のリングのリング中の順番が同じノード1からチャネルインタフェース13が受信したデータが格納される、当該他のリングの数と同数のバッファRi(r)を備えている。
Here, the order on the ring is the order of the node 1 which is passed when the channel data transfer direction is advanced along the ring.
In addition, the reception buffer 41 stores the data received by the channel interface 13 from the node 1 having the same order in the ring of another ring different from the ring including the own node 1, and has the same number as that of the other ring. It has a buffer Ri (r).

次に、送信バッファ42は、自ノード1と同じリングに含まれている当該リング上の順番が一つ後のノード1にチャネルインタフェース13を介して送信するデータを格納するバッファRS(s)を備えている。また、送信バッファ42は、自ノード1が含まれるリングと異なる他のリングのリング中の順番が同じノード1にチャネルインタフェース13を介して送信するデータを格納する、当該他のリングの数と同数のバッファRi(s)を備えている。   Next, the transmission buffer 42 includes a buffer RS (s) that stores the data to be transmitted via the channel interface 13 to the node 1 which is included in the same ring as the own node 1 and is one order later on the ring. I have it. Further, the transmission buffer 42 stores the data to be transmitted via the channel interface 13 to the node 1 having the same order in the ring of another ring different from the ring including the own node 1, and the same number as the number of the other ring. Buffer Ri (s).

そして、転送制御部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 unit 46 as the transmission target task. The task to be executed will be described later.
The transmission data transfer unit 46, to which the transmission target task is set, transfers the data stored in the transmission queue SQ of the data space 1011 of the subtask 101 of the transmission target task to the buffer RS (s) of the transmission buffer 42 and each buffer Ri (s). ), The node 1 in the same ring that is included in the same ring as the own node 1 is one order later in the ring, and the other rings that are different from the ring in which the own node 1 is included have the same order in the ring. Send to each of node 1.

なお、サブタスク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 data space 1011 of the subtask 101 is added with a task identifier indicating the identification of the task to which the subtask 101 belongs.
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 node 1 which is included in the same ring as the own node 1 and whose order on the ring is one before. , To the duplicate transfer inhibiting unit CHK44. The duplicate transfer inhibiting unit CHK44 checks whether or not the transferred data is the source data of the own node 1, and outputs the data only when the own node 1 is not the source data. If the source data, the data is discarded.

そして、重複転送抑止部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 transmission buffer 42, and the data is included in the same ring as the own node 1. It is transmitted to each of the node 1 that is one order later in the ring and each node 1 that has the same order in the rings of the other rings different from the ring in which the own node 1 is included.

また、重複転送抑止部CHK44から出力されたデータは受信データ転送部45にも転送され、受信データ転送部45は、転送されたデータを、そのデータに付加されているタスク識別子のタスクのサブタスク101のデータスペース1011の受信キューRQに格納する。   The data output from the duplicate transfer inhibiting unit CHK44 is also transferred to the received data transfer unit 45, and the received data transfer unit 45 uses the transferred data as the subtask 101 of the task having the task identifier added to the data. The data space 1011 is stored in the reception queue RQ.

また、自ノード1が含まれるリングと異なる他の各リングのリング中の順番が同じノード1の各々から受信し各Ri(r)に格納されたデータは、受信データ転送部45に転送され、受信データ転送部45は、転送されたデータを、そのデータに付加されているタスク識別子のタスクのサブタスク101のデータスペース1011の受信キューRQに格納する。   Further, the data received from each of the nodes 1 having the same order in the rings of the other rings different from the ring including the own node 1 and stored in each Ri (r) is transferred to the reception data transfer unit 45, The reception data transfer unit 45 stores the transferred data in the reception queue RQ of the data space 1011 of the subtask 101 of the task having the task identifier added to the data.

以下、このようなタスクデータ転送処理部1022の動作によって実現されるノード1間のデータ転送動作について、リング数が2、リング内のノード数が3の分散システムを例にとり説明する。   Hereinafter, the data transfer operation between the nodes 1 realized by the operation of the task data transfer processing unit 1022 will be described by taking a distributed system having two rings and three nodes in the ring as an example.

いま、図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 subtask 101 of the task A is transferred from the node N11 to the nodes N12 and N21, It is sent to the subtask 101 of the task A of the node N12 and the node N21. The data sent to the node N12 is relayed by the node N12 to the nodes N13 and N22 and sent to the subtask 101 of the task A of the nodes N13 and N22. Further, the data sent to the node N13 is relayed to the node N23 by the node N13 and sent to the subtask 101 of the task A of the node N23.
As a result, when the task A is the task to be executed, the transmission data transmitted by the subtask 101 of the task A of the node N11 is sequentially propagated to the nodes 1 one by one as described above, and all the nodes other than the own node N11. Is transferred to the subtask 101 of task A.

同様に、図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 subtask 101 of the task B is transmitted from the node N12 to the node N13 as illustrated. Are transferred to the node N22 and sent to the subtask 101 of the task B of the nodes N13 and N22. The data sent to the node N13 is relayed by the node N13 to the nodes N11 and N23 and sent to the subtask 101 of the task B of the nodes N11 and N23. The data sent to the node N11 is relayed to the node N21 by the node N11 and sent to the subtask 101 of the task B of the node N21.
As a result, when the task B is the execution target task, the transmission data of the subtask 101 of the task B of the node N12 is sequentially propagated to the nodes 1 one by one as described above, and is transmitted to all the nodes 1 other than the own node N12. It is transferred to the subtask 101 of task B.

以下、同様に、任意のリングの任意のノード1(Nij)の任意のタスクXのサブタスク101が発信した送信データは、そのタスクXが実行対象タスクであるときに、自ノード(Nij)以外の全てのノード1の、タスクXのサブタスク101に転送される。   Hereinafter, similarly, the transmission data transmitted by the subtask 101 of the arbitrary task X of the arbitrary node 1 (Nij) of the arbitrary ring, when the task X is the execution target task, It is transferred to the subtask 101 of the task X of all the nodes 1.

したがって、タスクXが実行対象タスクであるときに、各リングの各ノード1のタスクXのサブタスク101が、それぞれ、データを送信すると、各リングの各ノード1のタスクXのサブタスク101には、他の全てのノード1のタスクXのサブタスク101が送信したデータが転送される。   Therefore, when the task X is the task to be executed, the sub-task 101 of the task X of each node 1 of each ring transmits data, and the sub-task 101 of the task X of each node 1 of each ring receives another data. The data transmitted by the subtasks 101 of the task X of all the nodes 1 are transferred.

以下、このような分散処理システムにおいて、タスクを切り替える動作について説明する。
まず、本実施形態に係る各ノード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 subtask 101 of each task of each node 1 according to this embodiment performs the following processes P1 and P2.
Process P1; predetermined calculation is performed, data representing the calculation result is stored in the transmission queue SQ, and is transmitted to the subtask 101 of the same task of another node.
Process P2: The data received from the subtask 101 of the same task of another node stored in the reception queue RQ is taken out, and the operation result represented by the data is integrated with the operation result of the process P1.

但し、処理P2の演算は、他の全てのノードの同タスクのサブタスク101から受信したデータついて行うものである。また、少なくとも、処理P2の演算に順序依存性は無く、他のノード1の同タスクのサブタスク101から受信したデータを、どのような順序で処理しても、最終的に同じ結果が得られるものである。   However, the calculation of the process P2 is performed for the data received from the subtask 101 of the same task of all other nodes. In addition, at least the operation of the process P2 has no order dependency, and the same result is finally obtained no matter which order the data received from the subtask 101 of the same task of another node 1 is processed. Is.

また、各サブタスク101は、行うべき処理が無い場合、すなわち、処理P1を終了しており、処理P2で次に処理すべき、他ノードの同タスクのサブタスク101から受信したデータが、受信キューRQに無い場合には、その後、受信キューRQに格納されるデータが受信されるまで、待機状態に遷移する。   Further, when there is no processing to be performed in each subtask 101, that is, the processing P1 has been completed and the data to be processed next in processing P2, which is received from the subtask 101 of the same task of another node, is the reception queue RQ. If it does not exist in the queue, then it shifts to the standby state until the data stored in the reception queue RQ is received.

そして、各ノード1のオペレーティングシステム102のマルチタスク制御部1021は、待機状態にあるサブタスク101に実行時間(CPU時間)を与えず、もしくは、当該実行時間を減少し、その分、待機状態にない他のサブタスク101の実行時間(CPU時間)を増加させる。   Then, the multitask control unit 1021 of the operating system 102 of each node 1 does not give the execution time (CPU time) to the subtask 101 in the standby state, or reduces the execution time, and the standby state is not in the corresponding state. The execution time (CPU time) of the other subtask 101 is increased.

さて、図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 transfer processing unit 1022 of each node 1 (Nij) performs the transfer data switching process shown in FIG. 6 in order to switch the task.
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 unit 46 as the transmission target task (step 604).

なお、ステップ604で、送信対象タスクが切り替わると、上述のように、当該切り替え後の送信対象タスクのサブタスク101のデータスペース1011の送信キューSQに格納されたデータが、自ノード1と同じリングに含まれている当該リング上の順番が一つ後のノード1と、自ノード1が含まれるリングと異なる他の各リングのリング中の順番が同じノード1の各々に送信されるようになり、切り替え前の送信対象タスクのサブタスク101のデータスペース1011の送信キューSQに格納されたデータは他ノードに送信されなくなる。   When the transmission target task is switched in step 604, the data stored in the transmission queue SQ of the data space 1011 of the subtask 101 of the transmission target task after the switching is transferred to the same ring as the own node 1 as described above. Node 1 which is one order later on the ring that is included and each of the nodes 1 whose ring order of the other rings different from the ring in which the own node 1 is included are transmitted to each node 1, The data stored in the transmission queue SQ of the data space 1011 of the subtask 101 of the transmission target task before switching is not transmitted to another node.

また、次に、受信バッファ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 buffer 43, and the save buffer 43 is changed to the buffer RS (r). The transferred data is stored as the save data of the task indicated by the task identifier added to the data, and the save data of the task of the execution target task after switching in step 604, which is stored in the save buffer 43, is also stored. , To the duplicate transfer inhibiting unit CHK44 (step 606).

重複転送抑止部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 save buffer 43 in the same manner as the data transferred from the buffer RS (r) of the reception buffer 41.
That is, the duplicate transfer inhibiting unit CHK44 checks whether or not the data transferred from the save buffer 43 is the source data of the own node, and only when the own node is not the source data, the data is transferred to the transmission buffer. 42 of the buffer RS (s) and each of the buffers Ri (s), and the node 1 in the same ring as the own node 1 is one order later on the ring and the ring including the own node 1 While transmitting to each of the nodes 1 having the same order in the ring of each of the other rings different from that, the data is transferred to the reception data transfer unit 45, and the subtask 101 of the task with the task identifier added to the data is transferred. The data is stored in the reception queue RQ of the data space 1011.

そして、受信バッファ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 step 602.
The transfer data transfer process performed by the transfer control unit 47 of the task data transfer processing unit 1022 has been described above.
Here, processing examples of such transfer data switching processing are shown in FIGS.
In each figure, Dk (Nij) represents data whose source is the subtask 101 of the task k of the jth node 1 of the ith ring.
Now, as shown in FIG. 7a, task A is set as a task to be executed, and the data of task A originating from subtask 101 of task A of each node 1 causes node 1 to pass through node 1 as described above. FIG. 7b shows a task switching instruction sent from the controller (CNT) to each node 1 (Nij) in the middle of the data propagation of the task A while the data is being propagated one by one. As described above, in each node 1, the data of the task A that has not been transferred to the other nodes and the subtasks 101 being received at that time is saved in the save buffer 43 as the save data of the task A, and the data of the task A is propagated. Will stop.

また、各ノード1において、タスクBが実行対象タスクに設定され、各ノード1のタスクBのサブタスク101が発信元となるタスクBのデータが送信され、タスクBのデータが、図7b、図8a示すように、ノード1を一つずつ伝搬し、タスクBのデータが各ノード1のタスクBのサブタスク101に転送されていく。   Further, in each node 1, the task B is set as the execution target task, the data of the task B originating from the subtask 101 of the task B of each node 1 is transmitted, and the data of the task B is shown in FIGS. 7b and 8a. As shown, the data of the task B is propagated through the nodes 1 one by one, and is transferred to the subtask 101 of the task B of each node 1.

そして、図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 node 1, the data of the task B that has not been transferred to the other node and the subtask 101 that are being received at that time is saved in the save buffer 43 as the save data of the task B, and the data of the task B is not propagated. Stop.

また、各ノード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 node 1, whereby the propagation of the data of the task A is restarted and the data of the task A is changed as shown in FIGS. 8B and 9. It is transferred to the subtask 101 of task A of each node 1.

さて、以上のように、本実施形態によれば、コントローラ(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 node 1, the subtask 101 of the task that has not been able to transfer the data from the other node 1 is in the standby state because there is no data to be processed in the above-described process P2, while the data is transferred from the other node 1. The subtask 101 of the task thus started generates data to be processed in the above-described processing P2.

よって、各ノード1では、コントローラ(CNT)が送信したタスク切替命令の切替先にタスク、すなわち、各ノード1において他のノード1からデータを転送されるようになったタスクのサブタスク101の実行が支配的に行われるようになり、分散処理システムにおいて実行されるタスクが切り替わる。   Therefore, in each node 1, the execution of the task to the switching destination of the task switching command transmitted by the controller (CNT), that is, the subtask 101 of the task in which data is transferred from another node 1 in each node 1 is executed. It becomes dominant, and the tasks executed in the distributed processing system are switched.

すなわち、コントローラ(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 node 1 operates in synchronization, but in reality, the operation of each node 1 may be asynchronous. Even in this case, when the task switching command is transmitted from the controller (CNT) to each node 1 (Nij), the data of the task of the switching destination specified by the task switching command is immediately predominant between the nodes 1 (Nij). Will be transferred to. Therefore, in each node 1, the subtask 101 of the task of the switching destination designated by the task switching instruction is quickly and dominantly executed, and the task executed in the distributed processing system is switched.

ところで、以上の実施形態は、コントローラ(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 node 1 receives the pend instruction, it suspends the transfer of the data to which the task identifier specified by the pend instruction is added and transfers the data. In a resumable form.

stop命令は、タスクを停止する命令であり、各ノード1はstop命令を受け取ったならば、stop命令が指定するタスク識別子が示すタスクのサブタスク101の送信キューSQと受信キューRQをクリアすると共に以降、stop命令が指定するタスク識別子が付加されたデータを受信したならば、そのデータを破棄する。   The stop instruction is an instruction to stop the task, and when each node 1 receives the stop instruction, it clears the transmission queue SQ and the reception queue RQ of the subtask 101 of the task indicated by the task identifier specified by the stop instruction, and thereafter When the data with the task identifier specified by the stop command is received, the data is discarded.

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.
請求項2記載の分散処理システムであって、
前記サブタスクは、転送されたデータの各々を処理対象のデータに含めて、各処理対象のデータに対して所定の処理を行うと共に、処理対象のデータ待ちの状態となったならば、待機状態に遷移し、
前記サブタスク実行部は、待機状態に遷移したサブタスクの実行時間を減少させ、他の遷移状態にないサブタスクの実行時間を増加することを特徴とする分散処理システム。
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.
請求項2または3記載の分散処理システムであって、
前記中継部は、前記タスク切替命令の受信に応答して、他のノードから受信した当該時点で他のノードに未中継のタスクのデータを、当該タスクの待避データとして保存すると共に、保存されている、当該タスク切替命令に伴う識別子が示すタスクの待避データの前記他のノードへの中継を行うことを特徴とする分散処理システム。
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.
請求項2、3または4記載の分散処理システムであって、
前記データ取込部は、前記タスク切替命令に応答して、他のノードから受信した当該時点でサブタスクに未転送のデータの、サブタスクへの転送を、当該データのタスクの識別子を伴う前記タスク切替命令を受信するまで延期することを特徴とする分散処理システム。
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.
請求項2、3、4、5または6記載の分散処理システムであって、
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.
JP2019524763A 2017-06-21 2017-06-21 Distributed processing system Active JP6858378B2 (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (4)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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