WO2018235180A1 - Distributed processing system - Google Patents

Distributed processing system Download PDF

Info

Publication number
WO2018235180A1
WO2018235180A1 PCT/JP2017/022798 JP2017022798W WO2018235180A1 WO 2018235180 A1 WO2018235180 A1 WO 2018235180A1 JP 2017022798 W JP2017022798 W JP 2017022798W WO 2018235180 A1 WO2018235180 A1 WO 2018235180A1
Authority
WO
WIPO (PCT)
Prior art keywords
task
data
node
subtask
ring
Prior art date
Application number
PCT/JP2017/022798
Other languages
French (fr)
Japanese (ja)
Inventor
古庄 晋二
Original Assignee
株式会社ターボデータラボラトリー
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 株式会社ターボデータラボラトリー filed Critical 株式会社ターボデータラボラトリー
Priority to JP2019524763A priority Critical patent/JP6858378B2/en
Priority to PCT/JP2017/022798 priority patent/WO2018235180A1/en
Publication of WO2018235180A1 publication Critical patent/WO2018235180A1/en

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]

Definitions

  • the present invention relates to a technique of task switching in a distributed processing system.
  • each node is connected in a ring shape with a bidirectional channel to form a ring network, and each node sequentially relays data along the ring.
  • a distributed processing system that transfers data sent from a node to a ring to all other nodes (for example, Patent Document 2).
  • an object of the present invention is to realize, in a distributed processing system, a multitask that executes tasks in a time division manner with a simpler configuration.
  • the present invention performs control to simultaneously transmit a task switching instruction accompanied by an identifier of a task of a switching destination to each node to a distributed processing system which executes a plurality of tasks connecting a plurality of nodes by a network.
  • a sub-task executing unit that executes, in each of the nodes, a sub-task that is a portion of each of a plurality of tasks executed by the distributed processing system in a multitasking process; Of the network and the task so that data of a task of which the subtask is a part propagates through the network to all other nodes other than the node where the subtask of the source of the data of the task is being executed.
  • a data transmission / reception unit that transmits / receives data; and a data of a task received by the data transmission / reception unit from the network.
  • Data transferred to a subtask of the task, and in response to the task switching instruction, data propagated through the network is switched to data of a task indicated by an identifier associated with the task switching instruction
  • a propagation data switching unit that controls the data transmission and reception operation of the task of the data transmission and reception unit.
  • the present invention performs control to simultaneously transmit a task switching instruction accompanied by an identifier of a task of a switching destination to each node to a distributed processing system having a plurality of nodes and executing a plurality of tasks.
  • a transmission unit that transmits data of a task whose subtask is a part to another node, a data capture unit that transfers data of a task received from another node to a 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 splicing.
  • the transmitting unit stops transmission of data of tasks other than the task indicated by the identifier associated with the task switching instruction to another node, and the relay unit is configured to In response to the reception of the task switching instruction, the relaying of the data of the task not relayed to the other node at that time received from the other node until the task switching instruction accompanied with the identifier of the task of the data is received put off.
  • the sub task includes each of the transferred data in the data to be processed, performs predetermined processing on the data to be processed, and waits for the data to be processed. If the sub-task execution unit transitions to the standby state, the sub task execution unit decreases the execution time of the sub task that has transitioned to the standby state and increases the execution time of sub tasks not in other transition states. Good.
  • the relay unit in response to the reception of the task switching instruction, data of a task not relayed to another node at that time received from the other node is received from the other node.
  • the save data of the task indicated by the identifier accompanying the task switching instruction may be relayed to the other node.
  • the data fetching unit in response to the task switching instruction, transfer of data not transferred to the subtask at the point in time received from another node is transferred to the subtask. It may be configured to defer until receiving the task switching instruction accompanied by the data task identifier.
  • the present invention performs control to simultaneously transmit a task switching instruction accompanied by an identifier of a task of a switching destination to each node to a distributed processing system having a plurality of nodes and executing a plurality of tasks.
  • a data transfer unit relaying to another node is provided so as to be sequentially transferred to all other nodes.
  • the transmitting unit stops transmission of data of tasks other than the task indicated by the identifier associated with the task switching instruction to another node, and the data transfer unit And, in response to the reception of the task switching instruction, the data received from the other node at that time is stored as saving data of the task, and the stored identifier indicated by the task switching instruction is indicated Transfer of task save data to the subtask and relay to other nodes.
  • 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.
  • n an arbitrary natural number of 2 or more
  • the number of nodes included in each ring is equal, and each node of each ring is a channel whose transmission side is the node, and included in the same ring as the node of each ring other than the ring including the node.
  • Each node is connected so as to be connected to a different node of another ring on a channel whose transmission side is the node.
  • the node receives data of a task received from a channel connected to a node of the previous order of the node in connection order in the ring of the ring in which the node is included.
  • Channels in which the order of connection in the ring included in the ring is connected to the node in the next order of the node, and channels in which the node is the transmitting side and in which the node is included in the ring other than the ring Relaying data of tasks received from the other node to another node by transmitting to a channel connected to
  • the transmitting unit is a channel for connecting data of a task whose source is a subtask of the task to a node next to the node in the order of connection on the ring of the ring including the node;
  • the data of the task is transmitted to another node by transmitting to a channel having a node as a transmitting side and connected to a node of another ring other than the ring in which the node is included.
  • data of a task whose part is the subtask of the task whose task is a subtask of each node is other than the node where the subtask of the source of the data of the task is executed.
  • the control unit broadcasts a task switching instruction accompanied by an identifier of a task of a switching destination to each node. Data propagated through the network can be switched to data of a task of a switching destination of the task switching instruction.
  • each node subtasks of tasks whose data is not transferred from other nodes loses or decreases its execution time because there is no data to be processed,
  • the subtasks of a task that is to transfer data from a node increase execution time because data to be processed occurs sequentially.
  • the task to which the task switching instruction is switched that is, the subtask of the task in which data is transferred from other nodes in each node is dominantly executed, and distributed processing The tasks to be performed in the system are switched. Therefore, according to the distributed processing system as described above, it is possible to realize a multitask for executing tasks in a time division manner by a simple configuration that does not need to centrally manage the state of subtasks of each node.
  • FIG. 1 illustrates a distributed system according to an embodiment of the present invention. It is a block diagram showing composition of a node concerning an embodiment of the present 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 showing composition of a task data transfer processing part concerning an embodiment of the present invention.
  • FIG. 5 is a diagram showing data transfer of the distributed system according to the embodiment of the present 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 embodiment of this invention. It is a figure which shows the process example of the transfer data switching process which concerns on embodiment of this invention. It is a figure which shows the process example of the transfer data switching process which concerns on embodiment of this invention. It is a figure which shows the process example of the transfer data switching process which concerns on embodiment of this invention.
  • FIG. 1 shows the configuration of the distributed system according to the present embodiment.
  • the distributed system has one controller (CNT) and a plurality of rings (Ri), and each ring i includes the same number of nodes (Nij).
  • CNT controller
  • Ri a plurality of rings
  • Nij the number of nodes
  • FIG. 1a shows the case where the number of rings is two and the number of nodes in the ring is three
  • FIG. 1b shows the case where the number of rings is three and the number of nodes in the ring is four.
  • a ring-type network is formed in which each node included in the ring is sequentially connected in a ring shape with a channel.
  • 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 via a bidirectional channel.
  • the controller (CNT) is directly connected to each node (Nij) of each ring (Ri).
  • the connection between the controller (CNT) and each node (Nij) is a channel provided for each node (Nij), and the node (Nij) may be connected to the controller (CNT), respectively.
  • the controller (CNT) and each node (Nij) may be connected by a channel.
  • FIG. 2 shows the configuration of each node.
  • 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 using the storage 11 independently of other nodes 1.
  • the node 1 is provided with a channel interface 13 connected to the node 1 and provided for each channel to perform data transmission with another node 1 using the channel.
  • FIG. 3 shows the configuration of functional blocks of node 1 (Nij) formed by execution of software of processor 12.
  • Subtasks 101 of a plurality of tasks are assigned to the node 1 as the task portion obtained by dividing the task performed by the distributed processing system is referred to as a subtask.
  • Each subtask 101 is executed in a time-division multitasking manner under the control of a multitask control unit 1021 that performs scheduling of subtasks 101, management of resources, etc. on the operating system 102 to provide a multitasking environment. .
  • each subtask 101 has its own data space 1011 and performs processing using its own data space 1011.
  • Each data space 1011 is provided with a transmission queue SQ for storing data to be transmitted to other nodes, and a reception queue RQ for storing data received from other nodes.
  • the operating system 102 transfers task data stored in the transmission queue SQ of each subtask 101 to another node 1 and stores data received from another node 1 in the reception queue RQ, task data transfer A processing unit 1022 is provided.
  • FIG. 4 shows the configuration of the task data transfer processing unit 1022 of the operating system 102.
  • 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 CHK 44, the reception data transfer unit 45, the transmission data transfer unit 46, and the above-described units.
  • a unit 47 is provided.
  • the reception buffer 41 is provided with a buffer RS (r) in which data received by the channel interface 13 from the node 1 immediately preceding the node on the ring included in the same ring as the own node 1 is stored. There is.
  • the order on the ring is the order of the node 1 that passes along the ring in the data transfer direction of the channel.
  • 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 the other rings different from the ring in which the own node 1 is included, and the same number as the number of the other rings A buffer Ri (r) is provided.
  • the transmission buffer 42 stores a buffer RS (s) for storing data to be transmitted via the channel interface 13 to the node 1 one order later in the ring included in the same ring as the own node 1 Have.
  • the transmission buffer 42 stores data to be transmitted via the channel interface 13 to the node 1 having the same order in the rings of the other rings different from the ring in which the own node 1 is included, the same number as the number of the other rings Buffer Ri (s).
  • the transfer control unit 47 normally controls the respective units so that the following operation is performed. That is, the transfer control unit 47 sets, in the transmission data transfer unit 46, the task that is the execution target task as the transmission target task.
  • the execution target task will be described later.
  • the transmission data transfer unit 46 in which the transmission target task is set includes the data stored in the transmission queue SQ of the data space 1011 of the sub task 101 of the transmission target task, the buffer RS (s) of the transmission buffer 42 and each buffer Ri (s). ), And the order in the ring which is included in the same ring as the own node 1 is the same in the ring in each of the other rings different from the ring in which the own node 1 is included, and the same in the ring Send to each of node 1
  • a task identifier indicating the identification of the task to which the subtask 101 belongs is added.
  • the transfer control unit 47 receives the data stored in the buffer RS (r) of the reception buffer 41, received from the node 1 that is included in the same ring as the own node 1 and the order on the ring is one before. , Transfer to the duplicate transfer inhibiting unit CHK44.
  • the duplicate transfer inhibiting unit CHK 44 checks whether the transferred data is data of the origin of the own node 1 and outputs the data only when the own node 1 is not the origination of data, and the own node 1 outputs the data. If it is data of the originator, the data is discarded.
  • the data output from the duplicate transfer inhibition unit CHK 44 is transferred to the buffer RS (s) of the transmission buffer 42 and each buffer Ri (s), and the data is included in the same ring as the own node 1
  • the order in the ring on the ring and the order in the ring of each other ring different from the ring in which the own node 1 is included are transmitted to each of the same node 1.
  • the data output from the duplicate transfer inhibition unit CHK44 is also transferred to the received data transfer unit 45, and the received data transfer unit 45 transfers the transferred data to the subtask 101 of the task with the task identifier added to the data.
  • the data is stored in the reception queue RQ of the data space 1011.
  • 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 with the task identifier added to the data.
  • 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 subtask 101 of task A of nodes N12 and 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.
  • the data sent to the node N13 is relayed by the node N13 to the node N23, and sent to the subtask 101 of the task A of the node N23.
  • the transmission data transmitted by the subtask 101 of the task A of the node N11 sequentially propagates the node 1 one by one as described above, and all nodes other than the own node N11 are transmitted. Is transferred to sub task 101 of task A of FIG.
  • the transmission data transmitted by the subtask 101 of the task B is, as illustrated, node N12 to node N13.
  • the node N22 is sent to the subtask 101 of the task B of the node N13 and the node 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 by the node N11 to the node N21 and sent to the subtask 101 of the task B of the node N21.
  • the transmission data of the subtask 101 of the task B of the node N12 sequentially propagates the node 1 one by one as described above, and the transmission data of all the nodes 1 other than the own node N12 It is transferred to sub task 101 of task B.
  • transmission data transmitted by the subtask 101 of the arbitrary task X of the arbitrary node 1 (Nij) of the arbitrary ring is not the own node (Nij) when the task X is an execution target task It is transferred to the subtask 101 of task X of all nodes 1.
  • sub task 101 of task X of each node 1 of each ring transmits data when task X is an execution target task
  • the sub task 101 of task X of each node 1 of each ring receives the other data.
  • the data transmitted by the subtask 101 of the task X of all the nodes 1 of the node 1 is transferred.
  • Process P1 A predetermined operation is performed, data representing the operation result is stored in the transmission queue SQ, and is transmitted to the subtask 101 of the same task in another node.
  • Process P2 Take out the data received from the subtask 101 of the same task of another node stored in the reception queue RQ, and carry out an operation of integrating the operation result represented by the data into the operation result of process P1.
  • the operation of the process P2 is performed on the data received from the subtask 101 of the same task of all the other nodes. Furthermore, there is no order dependency in at least the operation P2, and the same result can be finally obtained by processing the data received from the subtask 101 of the same task in another node 1 in any order. It is.
  • each subtask 101 when there is no process to be performed by each subtask 101, that is, the process P1 is ended, and data received from the subtask 101 of the same task of another node to be processed next in process P2 is the reception queue RQ If there is not, then it transitions to the standby state until the data stored in the reception queue RQ is received.
  • 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 is not in the standby state by that amount.
  • the execution time (CPU time) of another subtask 101 is increased.
  • the switching of tasks in the distributed processing system is performed by the controller (CNT) in accordance with a predetermined schedule. Further, task switching is performed by the controller (CNT) simultaneously transmitting, to each node 1 (Nij) of each ring, a task switching instruction specifying a task identifier of a task to be switched at the time of task switching.
  • the transfer control unit 47 of the task data transfer processing unit 1022 of each node 1 performs the transfer data switching process shown in FIG. 6 in order to switch tasks.
  • the transfer control unit 47 monitors the occurrence of reception of the task switching instruction sent by the controller (CNT) (step 602), and if reception of the task switching instruction occurs, the task to be executed is The task is switched to the task of the switching destination indicated by the task identifier of the task switching instruction, and the task that is the execution target task is set as the transmission target task in the transmission data transfer unit 46 (step 604).
  • the transmission target task is switched in step 604, as described above, the data stored in the transmission queue SQ of the data space 1011 of the subtask 101 of the transmission target task after switching is in the same ring as the own node 1.
  • the order in the ring of the ring 1 which is included in the ring subsequent to the ring 1 and the ring other than the ring in which the own node 1 is included is transmitted to each of the same 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 other nodes.
  • the transfer destination of the data stored in the buffer RS (r) of the reception buffer 41 is changed from the duplicate transfer inhibition unit CHK44 to the save buffer 43, and the save buffer 43 receives the data from 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 is stored in the save buffer 43 , Transfer to the duplicate transfer inhibiting unit CHK 44 (step 606).
  • the duplicate transfer inhibiting unit CHK 44 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 CHK 44 checks whether the data transferred from the save buffer 43 is the data of the origin of the own node, and transmits the data only when the own node is not the data of the origin.
  • task B is set as an execution target task
  • data of task B to which the subtask 101 of task B of each node 1 originates is transmitted, and data of task B is shown in FIGS. 7b and 8a.
  • node 1 is propagated one by one, and data of task B is transferred to subtask 101 of task B of each node 1.
  • the save data of task A that has been saved is transmitted from each node 1, and as a result, as shown in FIG. 8b and FIG. 9, the propagation of data of task A is resumed, and the data of task A is It is transferred to the subtask 101 of task A of each node 1.
  • the controller (CNT) transmits a task switching instruction to each node 1 (Nij) to transfer data between each node 1 (Nij) of the distributed processing system. Can switch tasks.
  • each node 1 the subtask 101 of the task whose data is no longer transferred from the other nodes 1 is in a standby state because there is no data to be processed in the above-described processing P2, while data is transferred from the other nodes 1
  • the subtask 101 of the task which has come to be executed comes to generate data to be processed in the above-described process P2.
  • FIGS. 7, 8 and 9 show the case where the nodes 1 operate in synchronization with each other, in actuality, the operation of each node 1 may be asynchronous. Even in this case, when the controller (CNT) transmits a task switching instruction to each node 1 (Nij), the data of the task of the switching destination specified by the task switching instruction is dominant among the nodes 1 (Nij) promptly. Will be transferred to Therefore, in each node 1, the execution of the subtask 101 of the task of the switching destination designated by the task switching instruction is rapidly performed dominantly, and the task to be executed in the distributed processing system is switched.
  • the controller (CNT) transmits, to each node 1 (Nij), a pend instruction specifying a task identifier and a stop instruction specifying a task identifier, in addition to the task switching instruction.
  • 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. Save in a resumable form.
  • the stop instruction is an instruction to stop the task, and each node 1 clears the transmission queue SQ and the reception queue RQ of the subtask 101 of the task indicated by the task identifier designated by the stop instruction when the node 1 receives the stop instruction.
  • the data to which the task identifier specified by the stop instruction is added is received, the data is discarded.

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

The present invention achieves multitasking in which tasks are executed in a time-division manner with a simpler configuration in a distributed processing system. Provided is a distributed processing system in which reception data is relayed among nodes 1, thereby transferring data transmitted by each of the nodes 1 to all the other nodes 1, wherein in response to a task switch instruction, each of the nodes 1 saves data to be relayed, and switches a task of transmitting data to a task as a switch destination indicated by the task switch instruction. Further, the saved data of the task as the switch destination is recovered, and the relaying of the data is restarted. In each of the nodes 1, sub tasks 101 of a plurality of tasks are executed by multitasking. Each of the sub tasks 101 performs processing of corresponding task data received from another node 1. A sub task 101 which waits for task data enters a standby state, and an execution time therefor is cut, allowing a correspondingly longer execution time to be allocated to a sub task 101 having a process to be executed.

Description

分散処理システムDistributed processing system
 本発明は、分散処理システムにおけるタスク切替の技術に関するものである。 The present invention relates to a technique of task switching in a distributed processing system.
 分散処理システムとしては、タスクを分割したサブタスクを複数のノードに割り当て、各ノードにおいて割り当てられたサブタスクを並行処理する分散処理システムが知られている(たとえば、特許文献1)。 As a distributed processing system, there is known a distributed processing system in which subtasks obtained by dividing tasks are allocated to a plurality of nodes, and the allocated subtasks in each node are processed in parallel (for example, Patent Document 1).
 また、分散処理システムとしては、各ノードを双方向のチャネルでリング状に接続してリング型のネットワークを構成し、各ノードにおいてリングに沿ってデータを順次中継していくことにより、発信元のノードがリングに送出したデータを他の全てのノードに転送する分散処理システムも知られている(たとえば、特許文献2)。 Also, as a distributed processing system, each node is connected in a ring shape with a bidirectional channel to form a ring network, and each node sequentially relays data along the ring. There is also known a distributed processing system that transfers data sent from a node to a ring 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)トラブルタスクを容易に停止させることができる。
 一方、上述のような分散処理システムにおいて、タスクを時分割で実行することによりマルチタスクを実現する場合には、次のような問題が生じる。
 すなわち、この場合には、各ノードにおいてタスクのサブタスクが非同期で実行されているため、各ノードにおけるサブタスクの処理間に不整合が生ぜず、タスクが効率良く行われるようにタスクを切り替えるためには、各ノードのサブタスクの状態を集中管理し、各ノードのサブタスクの状態に応じて、各ノードに割り当てるサブタスクを切り替える複雑な制御が必要となると共に、当該制御のためのオーバーヘッドが生じる。
Operating the computer system in multitasking offers the following advantages.
(1) The use efficiency of the computer system can be improved by executing other tasks when waiting for processing such as I / O waiting.
(2) Since there is no need for queuing, short processing is completed in a short time even if short processing occurs after long processing has been input.
(3) Trouble tasks can be easily stopped.
On the other hand, in the case of realizing multitasking by executing tasks in a time division manner in the above-described distributed processing system, the following problems occur.
That is, in this case, since subtasks of tasks are executed asynchronously in each node, there is no inconsistency between processing of subtasks in each node, and to switch tasks so that tasks can be performed efficiently. In addition to complex control of centrally managing the state of subtasks of each node and switching the subtasks assigned to each node according to the state of the subtasks of each node, overhead for the control is generated.
 そこで、本発明は、分散処理システムにおいて、より簡易な構成によって、タスクを時分割で実行するマルチタスクを実現することを課題とする。 Therefore, an object of the present invention is to realize, in a distributed processing system, a multitask that executes tasks in a time division manner with a simpler configuration.
 前記課題達成のために、本発明は、複数のノードをネットワークで接続した、複数のタスクを実行する分散処理システムに、各ノードに切替先のタスクの識別子を伴うタスク切替命令を一斉送信する制御部を備えると共に、前記各ノードに、当該分散処理システムが実行する複数のタスク各々の部分であるサブタスクを、マルチタスクで実行するサブタスク実行部と、各ノードのタスクのサブタスクが発信元となる、当該サブタスクが部分であるタスクのデータが、当該タスクのデータの発信元のサブタスクが実行されているノード以外の他の全てのノードに前記ネットワークを介して伝搬するように、前記ネットワークと前記タスクのデータの送受信を行うデータ送受信部と、前記データ送受信部がネットワークから受信したタスクのデータを、当該タスクのサブタスクに転送するデータ取込部と、前記タスク切替命令に応答して、前記ネットワークを介して伝搬するデータが、当該タスク切替命令に伴う識別子が示すタスクのデータに切り替わるように、前記データ送受信部の前記タスクのデータの送受信の動作を制御する伝搬データ切替部とを備えたものである。 In order to achieve the above object, the present invention performs control to simultaneously transmit a task switching instruction accompanied by an identifier of a task of a switching destination to each node to a distributed processing system which executes a plurality of tasks connecting a plurality of nodes by a network. A sub-task executing unit that executes, in each of the nodes, a sub-task that is a portion of each of a plurality of tasks executed by the distributed processing system in a multitasking process; Of the network and the task so that data of a task of which the subtask is a part propagates through the network to all other nodes other than the node where the subtask of the source of the data of the task is being executed. A data transmission / reception unit that transmits / receives data; and a data of a task received by the data transmission / reception unit from the network. Data transferred to a subtask of the task, and in response to the task switching instruction, data propagated through the network is switched to data of a task indicated by an identifier associated with the task switching instruction And a propagation data switching unit that controls the data transmission and reception operation of the task of the data transmission and reception unit.
 また、前記課題達成のために、本発明は、複数のノードを備えた、複数のタスクを実行する分散処理システムに、各ノードに切替先のタスクの識別子を伴うタスク切替命令を一斉送信する制御部を備えると共に、前記各ノードに、当該分散処理システムが実行する複数のタスク各々の部分であるサブタスクを、マルチタスクで実行するサブタスク実行部と、タスクのサブタスクが発信元となるデータを、当該サブタスクが部分であるタスクのデータとして他のノードに送信する送信部と、他のノードから受信したタスクのデータを、当該タスクのサブタスクに転送するデータ取込部と、他のノードから受信したタスクのデータを、当該データが当該データの発信元のノードから他の全てのノードに順次転送されていくように、他のノードに中継するデータ転送部とを設けたものである。ここで、前記送信部は、前記タスク切替命令の受信に応答して、当該タスク切替命令に伴う識別子が示すタスク以外のタスクのデータの他のノードへの送信を停止し、前記中継部は、前記タスク切替命令の受信に応答して、他のノードから受信した当該時点で他のノードに未中継のタスクのデータの中継を、当該データのタスクの識別子を伴う前記タスク切替命令を受信するまで延期する。 Further, in order to achieve the above task, the present invention performs control to simultaneously transmit a task switching instruction accompanied by an identifier of a task of a switching destination to each node to a distributed processing system having a plurality of nodes and executing a plurality of tasks. A subtask executing section for executing multitasks as subtasks each of which is a part of each of a plurality of tasks executed by the distributed processing system, and data originating from the task subtasks. A transmission unit that transmits data of a task whose subtask is a part to another node, a data capture unit that transfers data of a task received from another node to a 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 splicing. Here, in response to the reception of the task switching instruction, the transmitting unit stops transmission of data of tasks other than the task indicated by the identifier associated with the task switching instruction to another node, and the relay unit is configured to In response to the reception of the task switching instruction, the relaying of the data of the task not relayed to the other node at that time received from the other node until the task switching instruction accompanied with the identifier of the task of the data is received put off.
 ここで、より具体的には、たとえば、前記サブタスクを、転送されたデータの各々を処理対象のデータに含めて、各処理対象のデータに対して所定の処理を行うと共に、処理対象のデータ待ちの状態となったならば、待機状態に遷移するものとし、前記サブタスク実行部は、待機状態に遷移したサブタスクの実行時間を減少させ、他の遷移状態にないサブタスクの実行時間を増加するものとしてよい。 Here, more specifically, for example, the sub task includes each of the transferred data in the data to be processed, performs predetermined processing on the data to be processed, and waits for the data to be processed. If the sub-task execution unit transitions to the standby state, the sub task execution unit decreases the execution time of the sub task that has transitioned to the standby state and increases the execution time of sub tasks not in other transition states. Good.
 また、このような分散処理システムは、前記中継部において、前記タスク切替命令の受信に応答して、他のノードから受信した当該時点で他のノードに未中継のタスクのデータを、当該タスクの待避データとして保存すると共に、保存されている、当該タスク切替命令に伴う識別子が示すタスクの待避データの前記他のノードへの中継を行うように構成してもよい。 Further, in the distributed processing system, in the relay unit, in response to the reception of the task switching instruction, data of a task not relayed to another node at that time received from the other node is received from the other node. In addition to saving as save data, the save data of the task indicated by the identifier accompanying the task switching instruction may be relayed to the other node.
 また、このような分散処理システムは、前記データ取込部において、前記タスク切替命令に応答して、他のノードから受信した当該時点でサブタスクに未転送のデータの、サブタスクへの転送を、当該データのタスクの識別子を伴う前記タスク切替命令を受信するまで延期するように構成してもよい。 Also, in such a distributed processing system, in the data fetching unit, in response to the task switching instruction, transfer of data not transferred to the subtask at the point in time received from another node is transferred to the subtask. It may be configured to defer until receiving the task switching instruction accompanied by the data task identifier.
 また、前記課題達成のために、本発明は、複数のノードを備えた、複数のタスクを実行する分散処理システムに、各ノードに切替先のタスクの識別子を伴うタスク切替命令を一斉送信する制御部を備えると共に、前記各ノードに、当該分散処理システムが実行する複数のタスク各々の部分であるサブタスクを、マルチタスクで実行するサブタスク実行部と、タスクのサブタスクが発信元となるデータを、当該サブタスクが部分であるタスクのデータとして他のノードに送信する送信部と、他のノードから受信したタスクのデータを、当該タスクのサブタスクに転送すると共に、当該データが当該データの発信元のノードから他の全てのノードに順次転送されていくように、他のノードに中継するデータ転送部とを設けたものである。ここで、前記送信部は、前記タスク切替命令の受信に応答して、当該タスク切替命令に伴う識別子が示すタスク以外のタスクのデータの他のノードへの送信を停止し、前記データ転送部は、前記タスク切替命令の受信に応答して、当該時点で他のノードから受信しているデータを、当該タスクの待避データとして保存すると共に、保存されている、当該タスク切替命令に伴う識別子が示すタスクの待避データの前記サブタスクへの転送と前記他のノードへの中継を行う。 Further, in order to achieve the above task, the present invention performs control to simultaneously transmit a task switching instruction accompanied by an identifier of a task of a switching destination to each node to a distributed processing system having a plurality of nodes and executing a plurality of tasks. A subtask executing section for executing multitasks as subtasks each of which is a part of each of a plurality of tasks executed by the distributed processing system, and data originating from the task subtasks. While transmitting the data of the task received from the other node as a transmitter that transmits the data of the task whose subtask is a part to another node, and the task's data received from the other node to the task's subtask, A data transfer unit relaying to another node is provided so as to be sequentially transferred to all other nodes. Here, in response to the reception of the task switching instruction, the transmitting unit stops transmission of data of tasks other than the task indicated by the identifier associated with the task switching instruction to another node, and the data transfer unit And, in response to the reception of the task switching instruction, the data received from the other node at that time is stored as saving data of the task, and the stored identifier indicated by the task switching instruction is indicated Transfer of task save data to the subtask and relay to other nodes.
 また、以上の各分散処理システムは、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 a channel whose transmission side is the node, and included in the same ring as the node of each ring other than the ring including the node. Each node is connected so as to be connected to a different node of another ring on a channel whose transmission side is the node. Then, in the data transfer means of each node, the node receives data of a task received from a channel connected to a node of the previous order of the node in connection order in the ring of the ring in which the node is included. Channels in which the order of connection in the ring included in the ring is connected to the node in the next order of the node, and channels in which the node is the transmitting side and in which the node is included in the ring other than the ring Relaying data of tasks received from the other node to another node by transmitting to a channel connected to Further, the transmitting unit is a channel for connecting data of a task whose source is a subtask of the task to a node next to the node in the order of connection on the ring of the ring including the node; The data of the task is transmitted to another node by transmitting to a channel having a node as a transmitting side and connected to a node of another ring other than the ring in which the node is included.
 以上のような分散処理システムによれば、各ノードのタスクのサブタスクが発信元となる、当該サブタスクが部分であるタスクのデータが、当該タスクのデータの発信元のサブタスクが実行されているノード以外の他の全てのノードに前記ネットワークを介して伝搬するように構成された分散処理システムにおいて、制御部が、各ノードに切替先のタスクの識別子を伴うタスク切替命令を一斉送信することにより、前記ネットワークを介して伝搬するデータを、当該タスク切替命令の切替先のタスクのデータに切り替えることができる。 According to the distributed processing system as described above, data of a task whose part is the subtask of the task whose task is a subtask of each node is other than the node where the subtask of the source of the data of the task is executed. In the distributed processing system configured to propagate through the network to all other nodes, the control unit broadcasts a task switching instruction accompanied by an identifier of a task of a switching destination to each node. Data propagated through the network can be switched to data of a task of a switching destination of the task switching instruction.
 そして、一般的なマルチタスクの制御によれば、各ノードでは、他のノードからデータを転送されなくなったタスクのサブタスクは、処理すべきデータが無くなるため実行時間が無くなるまたは減少する一方、他のノードからデータを転送されるようになったタスクのサブタスクは、処理すべきデータが順次発生するため、実行時間が増加する。 Then, according to general multitask control, in each node, subtasks of tasks whose data is not transferred from other nodes loses or decreases its execution time because there is no data to be processed, The subtasks of a task that is to transfer data from a node increase execution time because data to be processed occurs sequentially.
 よって、各ノードでは、タスク切替命令の切替先のタスク、すなわち、各ノードにおいて他のノードからデータを転送されるようになったタスクのサブタスクの実行が支配的に行われるようになり、分散処理システムにおいて実行されるタスクが切り替わる。
 よって、以上のような分散処理システムによれば、各ノードのサブタスクの状態を集中管理等する必要のない簡易な構成によって、タスクを時分割で実行するマルチタスクを実現することができる。
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 other nodes in each node is dominantly executed, and distributed processing The tasks to be performed in the system are switched.
Therefore, according to the distributed processing system as described above, it is possible to realize a multitask for executing tasks in a time division manner by a simple configuration that does not need to centrally manage the state of subtasks 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 division manner with a simpler configuration.
本発明の実施形態に係る分散システムを示す図である。FIG. 1 illustrates a distributed system according to an embodiment of the present invention. 本発明の実施形態に係るノードの構成を示すブロック図である。It is a block diagram showing composition of a node concerning an embodiment of the present 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 showing composition of a task data transfer processing part concerning an embodiment of the present invention. 本発明の実施形態に係る分散システムのデータ転送のようすを示す図である。FIG. 5 is a diagram showing data transfer of the distributed system according to the embodiment of the present 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 embodiment of this invention. 本発明の第実施形態に係る転送データ切り替え処理の処理例を示す図である。It is a figure which shows the process example of the transfer data switching process which concerns on embodiment of this invention. 本発明の第実施形態に係る転送データ切り替え処理の処理例を示す図である。It is a figure which shows the process example of the transfer data switching process which concerns on embodiment of this invention.
 以下、本発明に係る分散システムの実施形態について説明する。
 図1に、本実施形態に係る分散システムの構成を示す。
 図示するように、分散システムは、一つのコントローラ(CNT)と、複数のリング (Ri)を有し、各リングiは、それぞれ同数のノード(Nij)を含んでいる。なお、Ri は、i 番目のリングを表しており、Nijは、i番目のリングのj番目のノードを表している。
Hereinafter, embodiments of the distributed system according to the present invention will be described.
FIG. 1 shows the configuration of the distributed system according to the present embodiment.
As shown, 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 the case where the number of rings is two and the number of nodes in the ring is three, and FIG. 1b shows the case where the number of rings is three and the number of nodes in the ring is four.
Then, as illustrated, in each ring, a ring-type network is formed in which each node included in the ring is sequentially connected in a ring shape with a channel.
Also, 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 via a bidirectional channel.
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) is a channel provided for each node (Nij), and the node (Nij) may be connected to the controller (CNT), respectively. The controller (CNT) and each node (Nij) may be connected by 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 using the storage 11 independently of other nodes 1.
 また、ノード1は、当該ノード1に接続している、チャネル毎に設けられた、チャネルを用いて他のノード1との間のデータ伝送を行うチャネルインタフェース13を備えている。 Further, the node 1 is provided with a channel interface 13 connected to the node 1 and provided for each channel to perform data transmission with another node 1 using the channel.
 次に、図3に、プロセッサ12のソフトウエアの実行によって形成される、ノード1(Nij)の機能ブロックの構成を示す。
 分散処理システムが行うタスクを分割したタスクの部分をサブタスクと呼ぶこととして、ノード1には、複数のタスクのサブタスク101が割り当てられている。各サブタスク101は、オペレーティングシステム102上で、サブタスク101のスケジューリングやリソースの管理などを行ってマルチタスク環境を提供するマルチタスク制御部1021の制御により、時分割にマルチタスクの形態で実行されている。
Next, FIG. 3 shows the configuration of functional blocks of node 1 (Nij) formed by execution of software of processor 12.
Subtasks 101 of a plurality of tasks are assigned to the node 1 as the task portion obtained by dividing the task performed by the distributed processing system is referred to as a subtask. Each subtask 101 is executed in a time-division multitasking manner under the control of a multitask control unit 1021 that performs scheduling of subtasks 101, management of resources, etc. on the operating system 102 to provide a multitasking environment. .
 次に、各サブタスク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. Each data space 1011 is provided with a transmission queue SQ for storing data to be transmitted to other nodes, and a reception queue RQ for storing data received from other nodes.
 そして、オペレーティングシステム102は、各サブタスク101の送信キューSQに格納されたデータの他のノード1への転送や、他のノード1から受信したデータの受信キューRQへの格納を行う、タスクデータ転送処理部1022を備えている。 Then, the operating system 102 transfers task data stored in the transmission queue SQ of each subtask 101 to another node 1 and stores data received from another node 1 in the reception queue RQ, task data transfer A 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 CHK 44, the reception data transfer unit 45, the transmission data transfer unit 46, and the above-described units. A unit 47 is provided.
 そして、受信バッファ41は、自ノード1と同じリングに含まれている当該リング上の順番が一つ前のノード1からチャネルインタフェース13が受信したデータが格納されるバッファRS(r)を備えている。 The reception buffer 41 is provided with a buffer RS (r) in which data received by the channel interface 13 from the node 1 immediately preceding the node on the ring included in the same ring as the own node 1 is stored. There is.
 ここで、リング上の順番とは、リングに沿ってチャネルのデータの転送方向に進んだときに通るノード1の順番である。
 また、受信バッファ41は、自ノード1が含まれるリングと異なる他のリングのリング中の順番が同じノード1からチャネルインタフェース13が受信したデータが格納される、当該他のリングの数と同数のバッファRi(r)を備えている。
Here, the order on the ring is the order of the node 1 that passes along the ring in the data transfer direction of the channel.
Also, 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 the other rings different from the ring in which the own node 1 is included, and the same number as the number of the other rings A buffer Ri (r) is provided.
 次に、送信バッファ42は、自ノード1と同じリングに含まれている当該リング上の順番が一つ後のノード1にチャネルインタフェース13を介して送信するデータを格納するバッファRS(s)を備えている。また、送信バッファ42は、自ノード1が含まれるリングと異なる他のリングのリング中の順番が同じノード1にチャネルインタフェース13を介して送信するデータを格納する、当該他のリングの数と同数のバッファRi(s)を備えている。 Next, the transmission buffer 42 stores a buffer RS (s) for storing data to be transmitted via the channel interface 13 to the node 1 one order later in the ring included in the same ring as the own node 1 Have. In addition, the transmission buffer 42 stores data to be transmitted via the channel interface 13 to the node 1 having the same order in the rings of the other rings different from the ring in which the own node 1 is included, the same number as the number of the other rings Buffer Ri (s).
 そして、転送制御部47は、通常時には、以下の動作が行われるように各部を制御する。
 すなわち、転送制御部47は、送信データ転送部46に、実行対象タスクとなっているタスクを送信対象タスクとして設定する。実行対象タスクについては後述する。
 送信対象タスクを設定された送信データ転送部46は、送信対象タスクのサブタスク101のデータスペース1011の送信キューSQに格納されたデータを、送信バッファ42のバッファRS(s)と各バッファRi(s)に転送し、自ノード1と同じリングに含まれている当該リング上の順番が一つ後のノード1と、自ノード1が含まれるリングと異なる他の各リングのリング中の順番が同じノード1の各々に送信する。
The transfer control unit 47 normally controls the respective units so that the following operation is performed.
That is, the transfer control unit 47 sets, in the transmission data transfer unit 46, the task that is the execution target task as the transmission target task. The execution target task will be described later.
The transmission data transfer unit 46 in which the transmission target task is set includes the data stored in the transmission queue SQ of the data space 1011 of the sub task 101 of the transmission target task, the buffer RS (s) of the transmission buffer 42 and each buffer Ri (s). ), And the order in the ring which is included in the same ring as the own node 1 is the same in the ring in each of the other rings different from the ring in which the own node 1 is included, and the same in the ring Send to each of node 1
 なお、サブタスク101のデータスペース1011の送信キューSQに格納されたデータには、そのサブタスク101が属するタスクの識別を示すタスク識別子が付加されている。
 また、転送制御部47は、自ノード1と同じリングに含まれている当該リング上の順番が一つ前のノード1から受信し、受信バッファ41のバッファRS(r)に格納されたデータを、重複転送抑止部CHK44に転送させる。重複転送抑止部CHK44は、転送されたデータが、自ノード1が発信元のデータであるかどうかを調べ、自ノード1が発信元のデータでない場合のみ、当該データを出力し、自ノード1が発信元のデータであれば、当該データを破棄する。
Note that, to the data stored in the transmission queue SQ of the data space 1011 of the subtask 101, a task identifier indicating the identification of the task to which the subtask 101 belongs is added.
Also, the transfer control unit 47 receives the data stored in the buffer RS (r) of the reception buffer 41, received from the node 1 that is included in the same ring as the own node 1 and the order on the ring is one before. , Transfer to the duplicate transfer inhibiting unit CHK44. The duplicate transfer inhibiting unit CHK 44 checks whether the transferred data is data of the origin of the own node 1 and outputs the data only when the own node 1 is not the origination of data, and the own node 1 outputs the data. If it is data of the originator, the data is discarded.
 そして、重複転送抑止部CHK44から出力されたデータは、送信バッファ42のバッファRS(s)と各バッファRi(s)に転送され、当該データは、自ノード1と同じリングに含まれている当該リング上の順番が一つ後のノード1と、自ノード1が含まれるリングと異なる他の各リングのリング中の順番が同じノード1の各々に送信される。 Then, the data output from the duplicate transfer inhibition unit CHK 44 is transferred to the buffer RS (s) of the transmission buffer 42 and each buffer Ri (s), and the data is included in the same ring as the own node 1 The order in the ring on the ring and the order in the ring of each other ring different from the ring in which the own node 1 is included are transmitted to each of the same node 1.
 また、重複転送抑止部CHK44から出力されたデータは受信データ転送部45にも転送され、受信データ転送部45は、転送されたデータを、そのデータに付加されているタスク識別子のタスクのサブタスク101のデータスペース1011の受信キューRQに格納する。 The data output from the duplicate transfer inhibition unit CHK44 is also transferred to the received data transfer unit 45, and the received data transfer unit 45 transfers the transferred data to the subtask 101 of the task with the task identifier added to the data. The data is stored in the reception queue RQ of the data space 1011.
 また、自ノード1が含まれるリングと異なる他の各リングのリング中の順番が同じノード1の各々から受信し各Ri(r)に格納されたデータは、受信データ転送部45に転送され、受信データ転送部45は、転送されたデータを、そのデータに付加されているタスク識別子のタスクのサブタスク101のデータスペース1011の受信キューRQに格納する。 Further, data received in each of the nodes 1 having the same order in the ring of the other rings different from the ring including the own node 1 and stored in each Ri (r) is transferred to the received 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 with 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 in which the number of rings is 2 and the number of nodes in the ring is 3 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, when the task A is a task to be executed in the node N11 of the ring R1, 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 subtask 101 of task A of nodes N12 and 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. The data sent to the node N13 is relayed by the node N13 to the node N23, and sent to the subtask 101 of the task A of the node N23.
As a result, when the task A is an execution target task, the transmission data transmitted by the subtask 101 of the task A of the node N11 sequentially propagates the node 1 one by one as described above, and all nodes other than the own node N11 are transmitted. Is transferred to sub task 101 of task A of FIG.
 同様に、図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, when the task B is an execution target task at the node N12 of the ring R1, the transmission data transmitted by the subtask 101 of the task B is, as illustrated, node N12 to node N13. And the node N22 is sent to the subtask 101 of the task B of the node N13 and the node 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 by the node N11 to the node N21 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 sequentially propagates the node 1 one by one as described above, and the transmission data of all the nodes 1 other than the own node N12 It is transferred to sub task 101 of task B.
 以下、同様に、任意のリングの任意のノード1(Nij)の任意のタスクXのサブタスク101が発信した送信データは、そのタスクXが実行対象タスクであるときに、自ノード(Nij)以外の全てのノード1の、タスクXのサブタスク101に転送される。 Likewise, similarly, transmission data transmitted by the subtask 101 of the arbitrary task X of the arbitrary node 1 (Nij) of the arbitrary ring is not the own node (Nij) when the task X is an execution target task It is transferred to the subtask 101 of task X of all nodes 1.
 したがって、タスクXが実行対象タスクであるときに、各リングの各ノード1のタスクXのサブタスク101が、それぞれ、データを送信すると、各リングの各ノード1のタスクXのサブタスク101には、他の全てのノード1のタスクXのサブタスク101が送信したデータが転送される。 Therefore, when sub task 101 of task X of each node 1 of each ring transmits data when task X is an execution target task, the sub task 101 of task X of each node 1 of each ring receives the other data. The data transmitted by the subtask 101 of the task X of all the nodes 1 of the node 1 is 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 the present embodiment performs the following processes P1 and P2.
Process P1: A predetermined operation is performed, data representing the operation result is stored in the transmission queue SQ, and is transmitted to the subtask 101 of the same task in another node.
Process P2: Take out the data received from the subtask 101 of the same task of another node stored in the reception queue RQ, and carry out an operation of integrating the operation result represented by the data into the operation result of process P1.
 但し、処理P2の演算は、他の全てのノードの同タスクのサブタスク101から受信したデータついて行うものである。また、少なくとも、処理P2の演算に順序依存性は無く、他のノード1の同タスクのサブタスク101から受信したデータを、どのような順序で処理しても、最終的に同じ結果が得られるものである。 However, the operation of the process P2 is performed on the data received from the subtask 101 of the same task of all the other nodes. Furthermore, there is no order dependency in at least the operation P2, and the same result can be finally obtained by processing the data received from the subtask 101 of the same task in another node 1 in any order. It is.
 また、各サブタスク101は、行うべき処理が無い場合、すなわち、処理P1を終了しており、処理P2で次に処理すべき、他ノードの同タスクのサブタスク101から受信したデータが、受信キューRQに無い場合には、その後、受信キューRQに格納されるデータが受信されるまで、待機状態に遷移する。 Further, when there is no process to be performed by each subtask 101, that is, the process P1 is ended, and data received from the subtask 101 of the same task of another node to be processed next in process P2 is the reception queue RQ If there is not, then it transitions 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 is not in the standby state by that amount. The execution time (CPU time) of another subtask 101 is increased.
 さて、図1に戻り、分散処理システムのタスクの切り替えは、コントローラ(CNT)が所定のスケジュールに従って行う。
 また、タスクの切り替えは、タスクの切り替え時に、コントローラ(CNT)が各リングの各ノード1(Nij)に、切替先のタスクのタスク識別子を指定したタスク切替命令を一斉に送信することにより行う。
Referring back to FIG. 1, the switching of tasks in the distributed processing system is performed by the controller (CNT) in accordance with a predetermined schedule.
Further, task switching is performed by the controller (CNT) simultaneously transmitting, to each node 1 (Nij) of each ring, a task switching instruction specifying a task identifier of a task to be switched at the time of task switching.
 一方、各ノード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 tasks.
As illustrated, the transfer control unit 47 monitors the occurrence of reception of the task switching instruction sent by the controller (CNT) (step 602), and if reception of the task switching instruction occurs, the task to be executed is The task is switched to the task of the switching destination indicated by the task identifier of the task switching instruction, and the task that is the execution target task is set as the transmission target task in the transmission data transfer unit 46 (step 604).
 なお、ステップ604で、送信対象タスクが切り替わると、上述のように、当該切り替え後の送信対象タスクのサブタスク101のデータスペース1011の送信キューSQに格納されたデータが、自ノード1と同じリングに含まれている当該リング上の順番が一つ後のノード1と、自ノード1が含まれるリングと異なる他の各リングのリング中の順番が同じノード1の各々に送信されるようになり、切り替え前の送信対象タスクのサブタスク101のデータスペース1011の送信キューSQに格納されたデータは他ノードに送信されなくなる。 Note that when the transmission target task is switched in step 604, as described above, the data stored in the transmission queue SQ of the data space 1011 of the subtask 101 of the transmission target task after switching is in the same ring as the own node 1. The order in the ring of the ring 1 which is included in the ring subsequent to the ring 1 and the ring other than the ring in which the own node 1 is included is transmitted to each of the same 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 other nodes.
 また、次に、受信バッファ41のバッファRS(r)に格納されているデータの転送先を、重複転送抑止部CHK44から、待避バッファ43に変更し、待避バッファ43に、バッファRS(r)から転送したデータを、当該データに付加されているタスク識別子が示すタスクの待避データとして格納すると共に、待避バッファ43に格納されている、ステップ604で切り替えた後の実行対象タスクのタスクの待避データを、重複転送抑止部CHK44に転送する(ステップ606)。 Next, the transfer destination of the data stored in the buffer RS (r) of the reception buffer 41 is changed from the duplicate transfer inhibition unit CHK44 to the save buffer 43, and the save buffer 43 receives the data from 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 is stored in the save buffer 43 , Transfer to the duplicate transfer inhibiting unit CHK 44 (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 CHK 44 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 CHK 44 checks whether the data transferred from the save buffer 43 is the data of the origin of the own node, and transmits the data only when the own node is not the data of the origin. The ring that is transferred to the 42 buffers RS (s) and each buffer Ri (s) and is included in the same ring as the own node 1 and is the node 1 after the order on the corresponding ring and the own node 1 And transmit the data to the reception data transfer unit 45 and transmit the data to the reception data transfer unit 45, and the sub-task 101 of the task with the task identifier added to the data. It 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 inhibition unit CHK 44 (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 FIG. 7 to FIG.
In each diagram, Dk (Nij) represents data originating from the subtask 101 of the task k of the j-th node 1 of the i-th ring.
Now, as shown in FIG. 7a, task A is set as an execution target task, and data of task A originating from subtask 101 of task A of each node 1 is node 1 as described above. As shown in FIG. 7b, when a task switching instruction for setting task B as a switching destination is transmitted from the controller (CNT) to each node 1 (Nij) during data propagation of task A while propagating one by one. Thus, in each node 1, data of task A not transferred to other nodes and subtasks 101 received at that time is saved in the save buffer 43 as save data of task A, and data propagation of task A is propagated. Stop.
 また、各ノード1において、タスクBが実行対象タスクに設定され、各ノード1のタスクBのサブタスク101が発信元となるタスクBのデータが送信され、タスクBのデータが、図7b、図8a示すように、ノード1を一つずつ伝搬し、タスクBのデータが各ノード1のタスクBのサブタスク101に転送されていく。 Also, in each node 1, task B is set as an execution target task, data of task B to which the subtask 101 of task B of each node 1 originates is transmitted, and data of task B is shown in FIGS. 7b and 8a. As shown, node 1 is propagated one by one, and data of task B is transferred to subtask 101 of task B of each node 1.
 そして、図8aに示す、タスクBのデータの伝搬の途中で、コントローラ(CNT)からタスクAを切替先とするタスク切替命令が各ノード1(Nij)に送信されると、図8bに示すように、各ノード1において、その時点で受信している他のノード及びサブタスク101に未転送のタスクBのデータが、待避バッファ43にタスクBの待避データとして待避され、タスクBのデータの伝搬は停止する。 Then, as shown in FIG. 8b, when a task switching instruction for setting task A as a switching destination is transmitted from the controller (CNT) to each node 1 (Nij) during propagation of data of task B shown in FIG. 8a. In each node 1, data of task B not transferred to other nodes and subtasks 101 received at that time are saved in the save buffer 43 as save data of task B, and the propagation of data of task B is Stop.
 また、各ノード1から、待避しておいたタスクAの待避データが送信され、これにより、図8b、図9に示すように、タスクAのデータの伝搬が再開され、タスクAのデータが、各ノード1のタスクAのサブタスク101に転送されていく。 Also, the save data of task A that has been saved is transmitted from each node 1, and as a result, as shown in FIG. 8b and FIG. 9, the propagation of data of task A is resumed, and the data of task A is 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 a task switching instruction to each node 1 (Nij) to transfer data between each node 1 (Nij) of the distributed processing system. Can switch tasks.
 そして、各ノード1では、他のノード1からデータを転送されなくなったタスクのサブタスク101は、上述した処理P2で処理すべきデータが無くなるため待機状態となる一方、他のノード1からデータを転送されるようになったタスクのサブタスク101は、上述した処理P2で処理すべきデータが発生するようになる。 Then, in each node 1, the subtask 101 of the task whose data is no longer transferred from the other nodes 1 is in a standby state because there is no data to be processed in the above-described processing P2, while data is transferred from the other nodes 1 The subtask 101 of the task which has come to be executed comes to generate data to be processed in the above-described process P2.
 よって、各ノード1では、コントローラ(CNT)が送信したタスク切替命令の切替先にタスク、すなわち、各ノード1において他のノード1からデータを転送されるようになったタスクのサブタスク101の実行が支配的に行われるようになり、分散処理システムにおいて実行されるタスクが切り替わる。 Therefore, in each node 1, execution of the subtask 101 of the task in which data is transferred from another node 1 in each node 1 to a task switching instruction of the task switching instruction transmitted by the controller (CNT) It becomes dominant and switches tasks to be performed in the distributed processing system.
 すなわち、コントローラ(CNT)のタスク切替命令の送信により、分散処理システムにおけるタスクの切替が実現される。
 したがって、本実施形態によれば、各ノードのサブタスクの状態を集中管理等する必要のない簡易な構成によって、タスクを時分割で実行するマルチタスクを実現することができる。
 なお、図7、8、9では、各ノード1が同期して動作する場合について示したが、実際には、各ノード1の動作は非同期であってよい。この場合でも、コントローラ(CNT)からタスク切替命令を各ノード1(Nij)に送信すると、速やかに、各ノード1(Nij)間で、タスク切替命令で指定した切替先のタスクのデータが支配的に転送されるようになる。よって、各ノード1において、速やかにタスク切替命令で指定した切替先のタスクのサブタスク101の実行が支配的に行われるようになり、分散処理システムにおいて実行されるタスクが切り替わる。
That is, task switching in the distributed processing system is realized by transmission of a task switching instruction of the controller (CNT).
Therefore, according to the present embodiment, it is possible to realize a multitask for executing tasks in a time division manner by a simple configuration in which there is no need to centrally manage the state of the subtasks of each node.
Although FIGS. 7, 8 and 9 show the case where the nodes 1 operate in synchronization with each other, in actuality, the operation of each node 1 may be asynchronous. Even in this case, when the controller (CNT) transmits a task switching instruction to each node 1 (Nij), the data of the task of the switching destination specified by the task switching instruction is dominant among the nodes 1 (Nij) promptly. Will be transferred to Therefore, in each node 1, the execution of the subtask 101 of the task of the switching destination designated by the task switching instruction is rapidly performed dominantly, and the task to be executed in the distributed processing system is switched.
 ところで、以上の実施形態は、コントローラ(CNT)から、タスク切替命令の他に、タスク識別子を指定したpend命令や、タスク識別子を指定したstop命令を、各ノード1(Nij)に送信するようにしてもよい。 In the above embodiment, the controller (CNT) transmits, to each node 1 (Nij), a pend instruction specifying a task identifier and a stop instruction specifying a task identifier, in addition to the task switching instruction. 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. Save in a resumable form.
 stop命令は、タスクを停止する命令であり、各ノード1はstop命令を受け取ったならば、stop命令が指定するタスク識別子が示すタスクのサブタスク101の送信キューSQと受信キューRQをクリアすると共に以降、stop命令が指定するタスク識別子が付加されたデータを受信したならば、そのデータを破棄する。 The stop instruction is an instruction to stop the task, and each node 1 clears the transmission queue SQ and the reception queue RQ of the subtask 101 of the task indicated by the task identifier designated by the stop instruction when the node 1 receives the stop instruction. When the data to which the task identifier specified by the stop instruction is added is received, the data is discarded.
 1…ノード、11…ストレージ、12…プロセッサ、13…チャネルインタフェース、41…受信バッファ、42…送信バッファ、43…待避バッファ、44…重複転送抑止部CHK、45…受信データ転送部、46…送信データ転送部、47…転送制御部、101…サブタスク、102…オペレーティングシステム、1011…データスペース、1021…マルチタスク制御部、1022…タスクデータ転送処理部。 Reference Signs List 1 node 11 storage 12 processor 13 channel interface 41 reception buffer 42 transmission buffer 43 save buffer 44 duplication transfer inhibition 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)

  1.  複数のノードをネットワークで接続した、複数のタスクを実行する分散処理システムであって、
     各ノードに切替先のタスクの識別子を伴うタスク切替命令を一斉送信する制御部を備え、
     前記各ノードは、
     当該分散処理システムが実行する複数のタスク各々の部分であるサブタスクを、マルチタスクで実行するサブタスク実行部と、
     各ノードのタスクのサブタスクが発信元となる、当該サブタスクが部分であるタスクのデータが、当該タスクのデータの発信元のサブタスクが実行されているノード以外の他の全てのノードに前記ネットワークを介して伝搬するように、前記ネットワークと前記タスクのデータの送受信を行うデータ送受信部と、
     前記データ送受信部がネットワークから受信したタスクのデータを、当該タスクのサブタスクに転送するデータ取込部と、
     前記タスク切替命令に応答して、前記ネットワークを介して伝搬するデータが、当該タスク切替命令に伴う識別子が示すタスクのデータに切り替わるように、前記データ送受信部の前記タスクのデータの送受信の動作を制御する伝搬データ切替部とを有することを特徴とする分散処理システム。
    A distributed processing system that executes a plurality of tasks, in which a plurality of nodes are connected by a network,
    A control unit that simultaneously transmits to each node a task switching instruction accompanied by an identifier of a task of a switching destination;
    Each node is
    A subtask execution unit that executes, in multitasking, a subtask that is a part of each of a plurality of tasks executed by the distributed processing system;
    The task's subtask of each node originates, and the data of the task of which the subtask is a part passes through the network to all other nodes other than the node where the subtask of the data origin of the task is executed. A data transmission / reception unit that transmits / receives data of the task and the network so as to propagate
    A data fetching unit that transfers 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 transmitting / receiving operation of data of the task of the data transmitting / receiving unit is switched so that data propagated through the network is switched to data of a task indicated by an identifier accompanying the task switching instruction. A distributed processing system comprising: a propagation data switching unit to control.
  2.  複数のノードを備えた、複数のタスクを実行する分散処理システムであって、
     各ノードに切替先のタスクの識別子を伴うタスク切替命令を一斉送信する制御部を備え、
     前記各ノードは、
     当該分散処理システムが実行する複数のタスク各々の部分であるサブタスクを、マルチタスクで実行するサブタスク実行部と、
     タスクのサブタスクが発信元となるデータを、当該サブタスクが部分であるタスクのデータとして他のノードに送信する送信部と、
     他のノードから受信したタスクのデータを、当該タスクのサブタスクに転送するデータ取込部と、
     他のノードから受信したタスクのデータを、当該データが当該データの発信元のノードから他の全てのノードに順次転送されていくように、他のノードに中継するデータ転送部とを有し、
     前記送信部は、前記タスク切替命令の受信に応答して、当該タスク切替命令に伴う識別子が示すタスク以外のタスクのデータの他のノードへの送信を停止し、
     前記中継部は、前記タスク切替命令の受信に応答して、他のノードから受信した当該時点で他のノードに未中継のタスクのデータの中継を、当該データのタスクの識別子を伴う前記タスク切替命令を受信するまで延期することを特徴とする分散処理システム。
    A distributed processing system for executing a plurality of tasks, comprising a plurality of nodes, comprising:
    A control unit that simultaneously transmits to each node a task switching instruction accompanied by an identifier of a task of a switching destination;
    Each node is
    A subtask execution unit that executes, in multitasking, a subtask that is a part of each of a plurality of tasks executed by the distributed processing system;
    A transmitting unit that transmits data originating from a subtask of a task to another node as data of a task of which the subtask is a part;
    A data acquisition unit that transfers task data received from another node to a subtask of the task;
    A data transfer unit relaying data of a task received from another node to another node such that the data is sequentially transferred from the source node of the data to all other nodes;
    In response to the reception of the task switching instruction, the transmitting unit 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 the reception of the task switching instruction, relays data of a task not relayed to another node at the point in time received from the other node, the task switching accompanied by an identifier of the task of the data A distributed processing system characterized by deferring until an instruction is received.
  3.  請求項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 predetermined processing on the data to be processed, and is in a standby state when the data to be processed is in a waiting state. Transition,
    The distributed processing system, wherein the subtask execution unit decreases the execution time of a subtask that has transitioned to a standby state, and increases the execution time of a subtask not in another transition state.
  4.  請求項2または3記載の分散処理システムであって、
     前記中継部は、前記タスク切替命令の受信に応答して、他のノードから受信した当該時点で他のノードに未中継のタスクのデータを、当該タスクの待避データとして保存すると共に、保存されている、当該タスク切替命令に伴う識別子が示すタスクの待避データの前記他のノードへの中継を行うことを特徴とする分散処理システム。
    The distributed processing system according to claim 2 or 3, wherein
    The relay unit, in response to the reception of the task switching instruction, stores data of a task not relayed to another node at that time received from another node as save data of the task and is stored A distributed processing system, comprising: relaying save data of a task indicated by an identifier associated with the task switching instruction to the other node.
  5.  請求項2、3または4記載の分散処理システムであって、
     前記データ取込部は、前記タスク切替命令に応答して、他のノードから受信した当該時点でサブタスクに未転送のデータの、サブタスクへの転送を、当該データのタスクの識別子を伴う前記タスク切替命令を受信するまで延期することを特徴とする分散処理システム。
    The distributed processing system according to claim 2, 3 or 4, wherein
    The data fetching unit is responsive to the task switching instruction to transfer data not transferred to the subtask at that time received from another node to the subtask, the task switching accompanied by an identifier of the task of the data A distributed processing system characterized by deferring until an instruction is received.
  6.  複数のノードを備えた、複数のタスクを実行する分散処理システムであって、
     各ノードに切替先のタスクの識別子を伴うタスク切替命令を一斉送信する制御部を備え、
     前記各ノードは、
     当該分散処理システムが実行する複数のタスク各々の部分であるサブタスクを、マルチタスクで実行するサブタスク実行部と、
     タスクのサブタスクが発信元となるデータを、当該サブタスクが部分であるタスクのデータとして他のノードに送信する送信部と、
     他のノードから受信したタスクのデータを、当該タスクのサブタスクに転送すると共に、当該データが当該データの発信元のノードから他の全てのノードに順次転送されていくように、他のノードに中継するデータ転送部とを有し、
     前記送信部は、前記タスク切替命令の受信に応答して、当該タスク切替命令に伴う識別子が示すタスク以外のタスクのデータの他のノードへの送信を停止し、
     前記データ転送部は、前記タスク切替命令の受信に応答して、当該時点で他のノードから受信しているデータを、当該タスクの待避データとして保存すると共に、保存されている、当該タスク切替命令に伴う識別子が示すタスクの待避データの前記サブタスクへの転送と前記他のノードへの中継を行うことを特徴とする分散処理システム。
    A distributed processing system for executing a plurality of tasks, comprising a plurality of nodes, comprising:
    A control unit that simultaneously transmits to each node a task switching instruction accompanied by an identifier of a task of a switching destination;
    Each node is
    A subtask execution unit that executes, in multitasking, a subtask that is a part of each of a plurality of tasks executed by the distributed processing system;
    A transmitting unit that transmits data originating from a subtask of a task to another node as data of a task of which the subtask is a part;
    While transferring data of a task received from another node to a subtask of the task, it is relayed to the other node so that the data is sequentially transferred from the source node of the data to all other nodes. Data transfer unit, and
    In response to the reception of the task switching instruction, the transmitting unit stops transmission of data of tasks other than the task indicated by the identifier associated with the task switching instruction to another node.
    The data transfer unit, in response to the reception of the task switching instruction, stores data received from another node at that time as save data of the task, and is stored. 4. A distributed processing system for transferring to the subtask the save data of the task indicated by the identifier accompanied by and relaying to the other node.
  7.  請求項2、3、4、5または6記載の分散処理システムであって、
     n(但し、nは2以上の任意の自然数)個の前記ノードをチャネルでリング状に接続したリングを複数有し、
     各リングに含まれるノードの数は等しく、
     前記各リングの各ノードは、当該ノードを送信側とするチャネルで、当該ノードを含むリング以外の各リングのノードと、同じリングに含まれる各ノードが、当該ノードを送信側とするチャネルで、他のリングの異なるノードにそれぞれ接続されるように、接続されており、
     前記各ノードの前記データ転送手段は、当該ノードが含まれるリングの当該リングにおける接続上の順番が当該ノードの前の順番のノードに接続したチャネルから受信したタスクのデータを、当該ノードが含まれるリングの当該リングにおける接続上の順番が当該ノードの次の順番のノードに接続するチャネルと、当該ノードを送信側とするチャネルであって当該ノードが含まれるリング以外の他のリングのノードに接続するチャネルに送信することにより、前記他のノードから受信したタスクのデータの他のノードへの中継を行い、
     前記送信部は、タスクのサブタスクが発信元となるタスクのデータを、当該ノードが含まれるリングの当該リングにおける接続上の順番が当該ノードの次の順番のノードに接続するチャネルと、当該ノードを送信側とするチャネルであって当該ノードが含まれるリング以外の他のリングのノードに接続するチャネルに送信することにより、前記タスクのデータの他のノードへの送信を行うことを特徴とする分散処理システム。
    A distributed processing system according to claim 2, 3, 4, 5 or 6, wherein
    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,
    The number of nodes included in each ring is equal,
    Each node in each ring is a channel whose transmission side is the node, and each node in each ring other than the ring including the node and each node included in the same ring are channels whose transmission side is the node. Connected so as to be connected to different nodes of other rings respectively,
    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 previous order of the node on the connection in the ring of the ring including the node. A channel connected to the next node of the node in the order of connection in the ring of the ring and a channel having the node as a transmitting side and connected to a node of another ring other than the ring including the node Relay the task data received from the other node to the other node by transmitting to the
    The transmission unit is configured to transmit data of a task whose source is a subtask of the task, a channel connected to a node next to the node in the order of connection on the ring of the ring including the node, and the node A transmission characterized in that data of the task is transmitted to another node by transmitting to a channel that is a transmitting side and is connected to a node of another ring other than the ring that includes the node. Processing system.
PCT/JP2017/022798 2017-06-21 2017-06-21 Distributed processing system WO2018235180A1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2019524763A JP6858378B2 (en) 2017-06-21 2017-06-21 Distributed processing system
PCT/JP2017/022798 WO2018235180A1 (en) 2017-06-21 2017-06-21 Distributed 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 (1)

Publication Number Publication Date
WO2018235180A1 true WO2018235180A1 (en) 2018-12-27

Family

ID=64736944

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2017/022798 WO2018235180A1 (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
CN109800063A (en) * 2019-01-25 2019-05-24 深圳乐信软件技术有限公司 Business method for parallel processing, device, server, storage medium

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116954930B (en) * 2023-09-20 2023-11-28 成都拓林思软件有限公司 Operating system data processing method based on edge calculation

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 (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

Cited By (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

Also Published As

Publication number Publication date
JP6858378B2 (en) 2021-04-14
JPWO2018235180A1 (en) 2020-04-23

Similar Documents

Publication Publication Date Title
US6393026B1 (en) Data packet processing system and method for a router
WO2013054497A1 (en) Repeater, repeater control method, and computer program
US8572615B2 (en) Parallel computing system, synchronization device, and control method of parallel computing system
US5703875A (en) Integrated control and data message network
CN112084027B (en) Network-on-chip data transmission method, device, network-on-chip, equipment and medium
CN102201988A (en) Scheduling method of avionics full duplex switched Ethernet (AFDX) exchanger
WO2018235180A1 (en) Distributed processing system
US9166868B2 (en) Distributed control plane for link aggregation
WO2010104033A1 (en) Interprocessor communication system and communication method, network switch, and parallel computing system
Lee et al. MC-SDN: Supporting mixed-criticality real-time communication using software-defined networking
Zhou et al. Time-triggered scheduling for time-sensitive networking with preemption
US20210314186A1 (en) Communication system, communication apparatus, communication method, and program
JP7451438B2 (en) Communication devices, communication systems, notification methods and programs
US9385961B2 (en) Parallel computing device, communication control device, and communication control method
Eramo et al. A max plus algebra based scheduling algorithm for supporting time triggered services in ethernet networks
WO2020036155A1 (en) Communication system and moving method
US20110004740A1 (en) Data transfer apparatus, information processing apparatus and method of setting data transfer rate
CN111052683B (en) Network system
JP2009075766A (en) Virtual machine system and rescheduling method for the system
Ashjaei et al. Dynamic reconfiguration in hartes switched ethernet networks
KR20200011230A (en) Packet scheduling method by using mixed-criticality mode in software-defined network system, computer program therefor, and switch apparatus therefor
WO2016151654A1 (en) Parallel processing system
JP4760560B2 (en) Packet relay device
JPH1196108A (en) Computer system and bus control device
JP7456603B2 (en) switch device

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 17914968

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2019524763

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 17914968

Country of ref document: EP

Kind code of ref document: A1