JP2013196174A - Processing sharing control device, calculation device, calculation system, processing sharing control method, and processing sharing control program - Google Patents

Processing sharing control device, calculation device, calculation system, processing sharing control method, and processing sharing control program Download PDF

Info

Publication number
JP2013196174A
JP2013196174A JP2012060860A JP2012060860A JP2013196174A JP 2013196174 A JP2013196174 A JP 2013196174A JP 2012060860 A JP2012060860 A JP 2012060860A JP 2012060860 A JP2012060860 A JP 2012060860A JP 2013196174 A JP2013196174 A JP 2013196174A
Authority
JP
Japan
Prior art keywords
processing
communication
individual
resource
sharing
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.)
Pending
Application number
JP2012060860A
Other languages
Japanese (ja)
Inventor
Tatsuisa Akiyama
達勇 秋山
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP2012060860A priority Critical patent/JP2013196174A/en
Publication of JP2013196174A publication Critical patent/JP2013196174A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Multi Processors (AREA)

Abstract

PROBLEM TO BE SOLVED: To provide a processing sharing control device capable of predicting a communication time with high accuracy so as to execute optimum processing sharing even in a state in which communication is unstable.SOLUTION: A processing sharing control device includes: a processing resource estimation part for holding first and second individual processing resource estimation values, each of which is an estimation value of a processing resource necessary for completing individual processing, which is included in entire processing and respectively executed by first and second arithmetical units; a communication resource estimation part for holding a first communication resource estimation value estimated on the basis of a communication source used for past communication with the first arithmetical unit, and a second communication resource estimation value estimated on the basis of a communication resource used in past communication with the second arithmetical unit; and a processing sharing pattern generating part for determining sharing of individual processing to the first arithmetical unit and the second arithmetical unit on the basis of the first individual processing resource estimation value, the second individual processing resource estimation value, the first communication resource estimation value and the second communication resource estimation value.

Description

本発明は、複数の演算装置への処理の分担の制御を行う処理分担制御装置、演算装置、演算システム、処理分担制御方法、及び処理分担制御プログラムに関し、特に、使用される資源の推定値に基づいて処理の分担を決定する処理分担制御装置、演算装置、演算システム、処理分担制御方法、及び処理分担制御プログラムに関する。   The present invention relates to a processing sharing control device, a computing device, a computing system, a processing sharing control method, and a processing sharing control program for controlling the sharing of processing to a plurality of computing devices. The present invention relates to a processing sharing control device, a processing device, a processing system, a processing sharing control method, and a processing sharing control program that determine processing sharing based on the processing.

複数の演算装置を備える演算システムを用いて、処理を分担して実行する技術が知られている。処理の分担のさせ方によって、演算システム全体としての処理性能が大きく影響を受ける。そのため、演算システム全体の処理性能を最大化するためには、処理の分担の最適化が求められる。   2. Description of the Related Art A technique for sharing and executing a process using an arithmetic system including a plurality of arithmetic devices is known. Depending on how the processes are shared, the processing performance of the entire computing system is greatly affected. Therefore, in order to maximize the processing performance of the entire computing system, optimization of the sharing of processing is required.

ところが、一般に、複数の演算装置の各々の処理性能や使用可能な資源の量は必ずしも等しくない。また、処理を分担するには、演算装置間の情報の通信が必要である。   However, in general, the processing performance of each of the plurality of arithmetic devices and the amount of usable resources are not necessarily equal. Moreover, in order to share processing, communication of information between arithmetic devices is required.

従って、複数の演算装置への処理の分担を決定するときは、各演算装置の性能や資源等を考慮しなければならない。 複数の計算手段が通信手段で接続された演算装置において、複数の計算手段の間で処理を分担させる方法が、特許文献1、特許文献2、特許文献3に開示されている。   Therefore, when determining the sharing of processing among a plurality of arithmetic devices, the performance and resources of each arithmetic device must be taken into consideration. Patent Document 1, Patent Document 2, and Patent Document 3 disclose methods for sharing processing among a plurality of calculation means in an arithmetic device in which a plurality of calculation means are connected by communication means.

特許文献1の技術では、端末やサーバの種類が限定されている場合に、あらかじめ処理分担パターンを定めておくことで、複数の処理ユニットの間での処理分担を行う。その際、処理ユニットの処理時間が考慮される。   In the technique of Patent Literature 1, when the types of terminals and servers are limited, processing sharing among a plurality of processing units is performed by setting processing sharing patterns in advance. At that time, the processing time of the processing unit is taken into consideration.

特許文献2の技術では、複数のCPU(Central Processing Unit)コアの各々において処理を行う場合に処理にかかる時間を推測する。そして、推測された処理時間を元に、全体として処理時間が最小になるように、複数のCPUコアの間で処理を分担する。その際、CPUコア間の通信時間及び各CPUの処理時間が考慮される。   In the technique of Patent Document 2, when processing is performed in each of a plurality of CPU (Central Processing Unit) cores, the time required for the processing is estimated. Then, based on the estimated processing time, the processing is shared among the plurality of CPU cores so that the processing time is minimized as a whole. At that time, communication time between CPU cores and processing time of each CPU are taken into consideration.

特許文献3記載の技術では、演算装置(ノード)間の通信量や通信時間、演算装置が演算を実行するときに要する時間などを取得し、それらを用いてタスク割り付けのパターンごとの性能を予測する。そして、予想された性能に基づいて、タスク割り付けを行う。   In the technique described in Patent Document 3, the amount of communication between communication devices (nodes) and communication time, the time required for the operation device to execute operations, and the like are acquired, and the performance of each task allocation pattern is predicted using them. To do. Then, task allocation is performed based on the predicted performance.

特開昭63−181082号公報 (第3頁、第3図)Japanese Patent Laid-Open No. 63-181082 (page 3, FIG. 3) 特開2010−79622号公報 (第11−13頁、図10、11)JP 2010-79622 A (pages 11-13, FIGS. 10, 11) 特開2010−257056号公報 (第6−7頁、図2)JP 2010-257056 A (page 6-7, FIG. 2)

特許文献1乃至3の技術には、「通信時間」の取り扱い又はその推定方法に課題がある。   The techniques of Patent Documents 1 to 3 have problems in handling “communication time” or in its estimation method.

特許文献1記載の技術では、処理ユニットにおける処理速度の推測のみを利用して処理の分担を行おり、通信時間を考慮していない。前述のように、処理を分担するためには、他の処理ユニットとの間で、入出力データの送受信等の通信が必要である。   In the technique described in Patent Document 1, processing is shared using only estimation of processing speed in the processing unit, and communication time is not taken into consideration. As described above, in order to share processing, communication such as transmission / reception of input / output data with other processing units is necessary.

処理の分担の良否は、例えば、分担された各処理についての処理時間の合計である、全体としての処理時間を用いて評価することができる。そのため、処理ユニットの処理速度だけでなく、通信に要する時間も考慮して処理分担を行わななければ、全体としての処理時間は必ずしも最小にならない。このように、特許文献1の技術には、「通信時間」を考慮しないために、最適な処理の分担を行うことができないというという課題がある。   Whether the process is shared or not can be evaluated using, for example, the process time as a whole, which is the sum of the process times for each process. For this reason, the processing time as a whole is not necessarily minimized unless processing sharing is performed in consideration of not only the processing speed of the processing unit but also the time required for communication. As described above, the technique of Patent Document 1 has a problem that it is impossible to perform optimal processing sharing because the “communication time” is not considered.

特許文献2記載の技術においては、処理パターンを決定する際にCPUコア間の通信時間を考慮することは記載されている。考慮される対象の通信時間が、同一チップ内、同一基板内、あるいは同一装置内におけるCPUコア間の通信時間であれば、高い確度での予測が可能と考えられる。ところが、異なる装置内のCPUコア間の通信時間の予測は、必ずしも容易ではない。例えば、端末とサーバとが無線通信によって接続されている場合、無線通信という特性上、通信が不安定になることがある。そのため、端末内のCPUとサーバ内のCPUとの間の通信時間は、通信を行うごとに変動する可能性がある。従って、特許文献2の技術では、通信時間も考慮されて処理分担が決定されるものの、通信が安定していない場合には、最適な処理分担が得られない可能性があるという課題がある。   In the technique described in Patent Document 2, it is described that the communication time between CPU cores is taken into account when determining a processing pattern. If the communication time to be considered is the communication time between CPU cores in the same chip, the same substrate, or the same device, it is considered possible to predict with high accuracy. However, it is not always easy to predict the communication time between CPU cores in different apparatuses. For example, when the terminal and the server are connected by wireless communication, communication may become unstable due to the characteristic of wireless communication. For this reason, the communication time between the CPU in the terminal and the CPU in the server may vary every time communication is performed. Therefore, although the technology of Patent Document 2 determines the processing sharing in consideration of the communication time, there is a problem that the optimal processing sharing may not be obtained when the communication is not stable.

特許文献3記載の技術についても同様であり、通信が安定していない場合への適用に課題がある。
(発明の目的)
本発明は上記のような技術的課題に鑑みて行われたもので、通信が不安定な状況であっても、高い確度で通信時間を予測し、最適な処理の分担を行うことができる、処理分担制御装置、演算装置、演算システム、処理分担制御方法、及び処理分担制御プログラムを提供することを特徴とする。
The same applies to the technique described in Patent Document 3, and there is a problem in application when communication is not stable.
(Object of invention)
The present invention was made in view of the technical problems as described above, and even in a situation where communication is unstable, it is possible to predict the communication time with high accuracy and perform optimal processing sharing. A processing sharing control device, a computing device, a computing system, a processing sharing control method, and a processing sharing control program are provided.

本発明の処理分担制御装置は、第1の演算装置が全体処理に含まれる個別処理を完遂するために必要な処理資源の推定値である第1の個別処理資源推定値、及び第2の演算装置が個別処理を完遂するために必要な処理資源の推定値である第2の個別処理資源推定値を保持する処理資源推定部と、第1の演算装置との間の過去の通信に用いられた通信資源に基づいて推定された、第1の演算装置との間に必要な通信資源である第1の通信資源推定値、及び第2の演算装置との間の過去の通信に用いられた通信資源に基づいて推定された、第2の演算装置との間に必要な通信資源である第2の通信資源推定値を保持する通信資源推定部と、第1の個別処理資源推定値、第2の個別処理資源推定値、第1の通信資源推定値及び第2の通信資源推定値に基づいて、第1の演算装置及び第2の演算装置への個別処理の分担を決定する処理分担パターン生成部と、を備えることを特徴とする。   The processing sharing control apparatus of the present invention includes a first individual processing resource estimated value that is an estimated value of processing resources necessary for the first arithmetic device to complete the individual processing included in the overall processing, and a second arithmetic operation. Used for past communication between a processing resource estimation unit that holds a second individual processing resource estimation value, which is an estimation value of processing resources necessary for the device to complete individual processing, and the first arithmetic unit. The first communication resource estimated value, which is a necessary communication resource between the first arithmetic device and the past communication with the second arithmetic device, was estimated based on the communication resource. A communication resource estimation unit that holds a second communication resource estimation value that is a necessary communication resource between the second computing device and the first individual processing resource estimation value; 2 individual processing resource estimation values, first communication resource estimation values, and second communication resource estimation values Based on, characterized in that it comprises a processing sharing pattern generation unit for determining the sharing of individual processing to the first computing device and second computing device.

本発明の演算装置は、演算部と、演算部が全体処理に含まれる個別処理を完遂するために必要な処理資源の推定値である第1の個別処理資源推定値、及び外部の演算装置が個別処理を完遂するために必要な処理資源の推定値である第2の個別処理資源推定値を保持する処理資源推定部と、演算装置との間の過去の通信に用いられた通信資源に基づいて推定された、演算装置との間に必要な通信資源である通信資源推定値を保持する通信資源推定部と、第1の個別処理資源推定値、第2の個別処理資源推定値、及び通信資源推定値に基づいて、演算部及び演算装置への個別処理の分担を決定する処理分担パターン生成部と、含む処理分担制御装置と、を備えることを特徴とする。   The computing device of the present invention includes a computing unit, a first individual processing resource estimated value that is an estimated value of processing resources necessary for the computing unit to complete individual processing included in the overall processing, and an external computing device. Based on communication resources used for past communication between a processing resource estimation unit that holds a second individual processing resource estimation value that is an estimation value of processing resources necessary to complete individual processing, and an arithmetic device A communication resource estimation unit that holds a communication resource estimation value that is a necessary communication resource with the computing device, a first individual processing resource estimation value, a second individual processing resource estimation value, and communication A processing sharing pattern generation unit that determines sharing of individual processing to the calculation unit and the calculation device based on the resource estimation value, and a processing sharing control device including the processing sharing pattern generation unit.

本発明の演算システムは、第1の演算装置と、第2の演算装置と、第1の演算装置が全体処理に含まれる個別処理を完遂するために必要な処理資源の推定値である第1の個別処理資源推定値、及び第2の演算装置が個別処理を完遂するために必要な処理資源の推定値である第2の個別処理資源推定値を保持する処理資源推定部、第1の演算装置との間の過去の通信に用いられた通信資源に基づいて推定された、第1の演算装置との間に必要な通信資源である第1の通信資源推定値、及び第2の演算装置との間の過去の通信に用いられた通信資源に基づいて推定された、第2の演算装置との間に必要な通信資源である第2の通信資源推定値を保持する通信資源推定部、並びに第1の個別処理資源推定値、第2の個別処理資源推定値、第1の通信資源推定値及び第2の通信資源推定値に基づいて、第1の演算装置及び第2の演算装置への個別処理の分担を決定する処理分担パターン生成部を含む処理分担制御装置と、を備えることを特徴とする。   The computing system of the present invention is a first computing device, a second computing device, and a first computing device that is an estimated value of processing resources necessary for the first computing device to complete individual processing included in the overall processing. A processing resource estimation unit that holds the individual processing resource estimation value and a second individual processing resource estimation value that is an estimation value of the processing resource necessary for the second arithmetic unit to complete the individual processing; A first communication resource estimation value, which is a communication resource necessary for the first arithmetic device, estimated based on communication resources used for past communication with the device, and a second arithmetic device A communication resource estimation unit that holds a second communication resource estimation value that is a necessary communication resource with the second arithmetic device, estimated based on communication resources used for past communication with And a first individual processing resource estimation value, a second individual processing resource estimation value, and a first communication A processing sharing control device including a processing sharing pattern generation unit that determines sharing of individual processing to the first computing device and the second computing device based on the source estimated value and the second communication resource estimated value. It is characterized by that.

本発明の処理分担制御方法は、第1の演算装置が全体処理に含まれる個別処理を完遂するために必要な処理資源値を推定して第1の個別処理資源推定値を求め、第2の演算装置が個別処理を完遂するために必要な処理資源の推定値を推定して第2の個別処理資源推定値を求め、第1の演算装置との間の過去の通信に用いられた通信資源に基づいて第1の演算装置との間に必要な通信資源を推定して、第1の通信資源推定値を求め、第2の演算装置との間の過去の通信に用いられた通信資源に基づいて第2の演算装置との間に必要な通信資源を推定して、第2の通信資源推定値を求め、第1の個別処理資源推定値、第2の個別処理資源推定値、第1の通信資源推定値及び第2の通信資源推定値に基づいて、第1の演算装置及び第2の演算装置への個別処理の分担を決定することを特徴とする。   The processing sharing control method of the present invention estimates a processing resource value necessary for the first arithmetic unit to complete the individual processing included in the overall processing to obtain a first individual processing resource estimated value, Communication resources used for past communication with the first computing device by estimating the estimated value of processing resources necessary for the computing device to complete the individual processing to obtain the second individual processing resource estimated value Based on the above, the necessary communication resources with the first arithmetic device are estimated, the first communication resource estimation value is obtained, and the communication resources used for the past communication with the second arithmetic device are obtained. Based on this, a necessary communication resource with the second arithmetic unit is estimated, a second communication resource estimated value is obtained, a first individual processing resource estimated value, a second individual processing resource estimated value, a first Based on the communication resource estimated value and the second communication resource estimated value, to the first arithmetic device and the second arithmetic device And determining the allocation of individual processing.

本発明の処理分担制御プログラムは、処理分担制御装置が備えるコンピュータを、第1の演算装置が全体処理に含まれる個別処理を完遂するために必要な処理資源の推定値である第1の個別処理資源推定値、及び第2の演算装置が個別処理を完遂するために必要な処理資源の推定値である第2の個別処理資源推定値を保持する処理資源推定手段と、第1の演算装置との間の過去の通信に用いられた通信資源に基づいて推定された、第1の演算装置との間に必要な通信資源である第1の通信資源推定値、及び第2の演算装置との間の過去の通信に用いられた通信資源に基づいて推定された、第2の演算装置との間に必要な通信資源である第2の通信資源推定値を保持する通信資源推定手段と、第1の個別処理資源推定値、第2の個別処理資源推定値、第1の通信資源推定値及び第2の通信資源推定値に基づいて、第1の演算装置及び第2の演算装置への個別処理の分担を決定する処理分担パターン生成手段として機能させることを特徴とする。   The processing sharing control program of the present invention is a first individual processing that is an estimated value of processing resources required for the computer included in the processing sharing control device to complete the individual processing included in the overall processing. A processing resource estimation unit that holds a resource estimation value and a second individual processing resource estimation value that is an estimation value of a processing resource necessary for the second arithmetic device to complete individual processing; and a first arithmetic device; A first communication resource estimated value, which is a communication resource required between the first computing device and the second computing device, estimated based on communication resources used for past communication between Communication resource estimation means for holding a second communication resource estimation value, which is a communication resource necessary for communication with the second arithmetic unit, estimated based on communication resources used in the past communication; 1 individual processing resource estimate, 2nd individual processing resource estimate Functioning as a process sharing pattern generation means for determining the sharing of individual processes to the first arithmetic device and the second arithmetic device based on the value, the first communication resource estimated value, and the second communication resource estimated value It is characterized by.

本発明によると、通信が不安定な状況であっても、高い確度で通信時間を予測し、最適な処理分担を行うことができる。   According to the present invention, even when communication is unstable, it is possible to predict communication time with high accuracy and perform optimal processing sharing.

第1の実施形態の処理分担制御装置の構成を示すブロック図である。It is a block diagram which shows the structure of the process allocation control apparatus of 1st Embodiment. 第1の実施形態の処理分担制御装置のハードウェア構成を示すブロック図である。It is a block diagram which shows the hardware constitutions of the process allocation control apparatus of 1st Embodiment. 第1の実施形態の個別処理資源推定値表の具体例である。It is a specific example of the individual processing resource estimation value table of the first embodiment. 第1の実施形態の個別通信資源推定値表の具体例である。It is a specific example of the individual communication resource estimated value table of 1st Embodiment. 第1の実施形態の処理分担パターン図の具体例である。It is a specific example of the process share pattern figure of 1st Embodiment. 第1の実施形態の処理分担制御装置の動作を示すフローチャートの例である。It is an example of the flowchart which shows operation | movement of the process assignment control apparatus of 1st Embodiment. 第1の実施形態の資源推定要求処理の具体例である。It is a specific example of the resource estimation request | requirement process of 1st Embodiment. 第1の実施形態の処理分担制御装置における、動的計画法による処理分担パターンの生成動作を示すフローチャートの例である。It is an example of the flowchart which shows the production | generation operation | movement of the process allocation pattern by the dynamic programming in the process allocation control apparatus of 1st Embodiment. 第2の実施形態の処理分担制御装置の構成を示すブロック図である。It is a block diagram which shows the structure of the process allocation control apparatus of 2nd Embodiment. 第2の実施形態の処理分担パターン管理部の内部構成の具体例を示すブロック図である。It is a block diagram which shows the specific example of the internal structure of the process share pattern management part of 2nd Embodiment. 第2の実施形態の個別装置用処理分担パターン図の具体例である。It is a specific example of the processing allocation pattern diagram for the individual apparatus of the second embodiment. 第2の実施形態の処理分担制御装置の動作を示すフローチャートの例である。It is an example of the flowchart which shows operation | movement of the process assignment control apparatus of 2nd Embodiment. 第3の実施形態の演算装置が実行するソフトウェアの構成を示すブロック図である。It is a block diagram which shows the structure of the software which the arithmetic unit of 3rd Embodiment performs. 第3の実施形態の演算装置の動作を示すフローチャートの例である。It is an example of the flowchart which shows operation | movement of the arithmetic unit of 3rd Embodiment. 第4の実施形態の演算システムの構成を示すブロック図である。It is a block diagram which shows the structure of the arithmetic system of 4th Embodiment.

(第1の実施形態)
次に、本発明の実施の形態について、図面を参照して詳細に説明する。本実施の形態では、各演算装置にどのように処理を分担させるかを指定するデータである処理分担パターンを生成する処理分担制御装置について説明する。
(First embodiment)
Next, embodiments of the present invention will be described in detail with reference to the drawings. In the present embodiment, a description will be given of a process sharing control apparatus that generates a process sharing pattern, which is data that specifies how each processing apparatus is to share processes.

図1は、第1の実施形態の処理分担制御装置の構成を示すブロック図である。以下、処理分担制御装置1に含まれるソフトウェア構成について説明する。   FIG. 1 is a block diagram illustrating a configuration of a processing sharing control apparatus according to the first embodiment. Hereinafter, the software configuration included in the processing sharing control apparatus 1 will be described.

本実施形態の処理分担制御装置1は、処理資源推定部11と、通信資源推定部12と、処理分担パターン生成部13を備える。   The processing sharing control apparatus 1 of this embodiment includes a processing resource estimation unit 11, a communication resource estimation unit 12, and a processing sharing pattern generation unit 13.

図2は、図1の処理分担制御装置のハードウェア構成の一例を示す。処理分担制御装置1は、CPU5、メモリ6、通信手段7とを備える。処理分担制御装置1は、CPU5等の計算手段を用いて、メモリ6に格納されているプログラムやデータを随時読み出し、必要に応じて通信手段7を用いて外部の演算装置との通信処理を行う。   FIG. 2 shows an example of a hardware configuration of the processing sharing control apparatus of FIG. The processing sharing control device 1 includes a CPU 5, a memory 6, and a communication unit 7. The processing sharing control device 1 reads a program and data stored in the memory 6 at any time using calculation means such as a CPU 5 and performs communication processing with an external arithmetic device using the communication means 7 as necessary. .

処理資源推定部11は、分担対象の処理を行うために必要な資源である計算資源の推定値を保持する。計算資源の推定値とは、具体的には、データ処理において、あらかじめ区切られた部分的な処理である部分処理の各々を個別に処理するために要する処理資源である「個別処理資源」である。本実施形態の説明では、データ処理があらかじめP個(Pは1以上の整数)の「個別処理」に分割されているものとする。以降、個別処理と対比して表現する必要があるときは、分割前のデータ処理を「全体処理」という。   The processing resource estimation unit 11 holds an estimated value of a computing resource that is a resource necessary for performing the process to be assigned. The estimated value of the calculation resource is specifically an “individual processing resource” that is a processing resource required to individually process each partial process that is a partial process divided in advance in data processing. . In the description of this embodiment, it is assumed that the data processing is divided into P (individual processing) in advance (P is an integer of 1 or more). Hereinafter, when it is necessary to express in contrast with individual processing, data processing before division is referred to as “overall processing”.

なお、分担される対象の個別処理は、全体処理の一部であればよく、必ずしも、全体処理のすべてが分担対象である必要はない。つまり、分担対象の個別処理は、全体処理に含まれるものであればよい。   Note that the individual processes to be shared may be a part of the entire process, and it is not always necessary that all of the entire processes be shared objects. That is, the individual process to be shared may be included in the overall process.

また、個別処理が複数存在する場合、それぞれの個別処理は、並列に処理されてもよいし、順次、処理されてもよい。後述のように、個別処理の分担の良否を判断する基準は、システムに求められる要件によって、任意に設定される。従って、個別処理が並列に処理される場合と、順次、処理される場合とでは、個別処理の分担は変化する可能性がある。   Further, when there are a plurality of individual processes, each individual process may be processed in parallel or sequentially. As will be described later, a criterion for determining whether or not each process is shared is arbitrarily set according to requirements required for the system. Accordingly, there is a possibility that the sharing of the individual processes may change between the case where the individual processes are processed in parallel and the case where the individual processes are performed sequentially.

推定によって求められる個別処理資源は、実際に演算装置が処理を分担し、実際に処理を行うときに必要と推測される処理資源である。この個別処理資源は次のようにして推定することができる。すなわち、分担させる演算装置の各々に、実験的に個別処理を実行させ、そのとき処理に要した資源を実測する。例えば、資源が処理時間である場合は、個々の演算装置が処理に要した時間あるいはクロック数等を実測することにより、実際の運用時にも同等の処理時間を要すると推定することができる。   The individual processing resource obtained by the estimation is a processing resource that is estimated to be necessary when the processing device actually shares the processing and actually performs the processing. This individual processing resource can be estimated as follows. That is, the individual processing is experimentally executed for each of the arithmetic devices to be shared, and the resources required for the processing are actually measured. For example, when the resource is processing time, it can be estimated that an equivalent processing time is required even during actual operation by actually measuring the time or number of clocks required for processing by each arithmetic device.

個別処理資源の推定結果を示す個別処理資源推定値表の具体例を、図3に示す。個別処理資源推定値表は、全体処理を構成する各部分処理に対して、どれくらいの計算資源が必要であるかを推測した結果を示す。推測値の具体例は、後述する。   A specific example of the individual processing resource estimation value table indicating the estimation result of the individual processing resources is shown in FIG. The individual processing resource estimated value table shows a result of estimating how much computing resources are required for each partial process constituting the entire process. A specific example of the estimated value will be described later.

通信資源推定部12は、処理分担パターン生成部13が生成した処理分担パターンに従って、演算装置間の処理を切り替える際、切り替えに必要なデータを送受信するために必要な資源である個別通信資源を推定する。   The communication resource estimation unit 12 estimates an individual communication resource, which is a resource necessary for transmitting and receiving data necessary for switching, when switching processing between arithmetic devices according to the processing sharing pattern generated by the processing sharing pattern generation unit 13. To do.

他の演算装置へ個別処理を分担させるときは、処理に使用する入力データあるいは処理の実行を指示する制御情報等の入力情報を送信してもよい。個別処理が終了したときは、処理の結果としての出力データあるいは処理の終了を通知する制御情報等の出力情報を受信してもよい。従って、個別通信資源は、個別処理の開始前の通信及び個別処理の完遂後の通信の両方について推定してもよい。   When other processing devices are assigned to individual processing, input information used for processing or input information such as control information for instructing execution of processing may be transmitted. When the individual process is completed, output information such as output data as a result of the process or control information for notifying the end of the process may be received. Therefore, the individual communication resource may be estimated for both the communication before the start of the individual process and the communication after the completion of the individual process.

推定によって求められる個別通信資源は、実際に通信を行うときに必要と推測される通信資源である。この個別通信資源は次のようにして推定することができる。すなわち、実験的に処理分担制御装置1と演算装置との間で通信を行い、そのとき処理に要した資源を実測する。例えば、資源が通信時間である場合は、演算装置間の通信時間を実測することにより、実際の運用時にも同等の通信時間を要すると推定することができる。   The individual communication resource obtained by estimation is a communication resource estimated to be necessary when actually performing communication. This individual communication resource can be estimated as follows. That is, communication is experimentally performed between the processing sharing control device 1 and the arithmetic device, and the resources required for the processing at that time are actually measured. For example, when the resource is communication time, it can be estimated that the same communication time is required even during actual operation by actually measuring the communication time between the arithmetic devices.

ところで、通信時間はデータ量によって変化する。他の演算装置に分担させる前に送信する、個別処理のための入力情報のデータ量、及び個別処理の終了後に受信する、個別処理の結果としての出力情報のデータ量は、個別処理の内容から推定することができる。そこで、その推定データ量のデータを送受信するときの通信時間を測定してもよい。あるいは、演算装置間の、単位データ量当りの通信時間を測定し、推定データ量で換算することによって、通信時間を推定してもよい。   By the way, the communication time varies depending on the amount of data. The amount of input information for individual processing that is transmitted before sharing with other arithmetic devices, and the amount of output information that is received as a result of individual processing after the completion of individual processing is determined from the contents of the individual processing. Can be estimated. Therefore, the communication time when transmitting / receiving data of the estimated data amount may be measured. Alternatively, the communication time may be estimated by measuring the communication time per unit data amount between arithmetic devices and converting it with the estimated data amount.

個別通信資源の推定結果を示す個別通信資源推定値表の具体例を、図4に示す。個別通信資源推定値表は、各部分処理の開始前に入力情報を送信するために必要な通信資源、及び各部分処理の終了後の出力情報、すなわち、他の演算装置が後続の処理を行う際に用いる情報を受信するために必要な通信資源を推測した結果を示す。推測値の具体例は、後述する。   A specific example of the individual communication resource estimation value table showing the estimation results of the individual communication resources is shown in FIG. The individual communication resource estimated value table is a communication resource necessary for transmitting input information before the start of each partial process, and output information after the end of each partial process, that is, another arithmetic device performs a subsequent process. The result of estimating communication resources necessary for receiving information used at the time is shown. A specific example of the estimated value will be described later.

処理分担パターン生成部13は、処理資源推定部11及び通信資源推定部12から推定値を入力する。さらに、外部の演算装置が備える処理資源推定部11及び通信資源推定部12から、個別処理資源と個別通信資源の推定値を入力してもよい。   The process sharing pattern generation unit 13 inputs estimated values from the processing resource estimation unit 11 and the communication resource estimation unit 12. Furthermore, the estimated values of the individual processing resources and the individual communication resources may be input from the processing resource estimation unit 11 and the communication resource estimation unit 12 included in the external arithmetic device.

処理分担パターン生成部13は、あらかじめ定められた評価基準を最適化する処理分担を決定し、「処理分担パターン」として生成する。   The process sharing pattern generation unit 13 determines a process sharing for optimizing a predetermined evaluation criterion and generates it as a “process sharing pattern”.

加えて、処理分担パターン生成部13は、処理分担パターンの生成に必要な装置ID(Identification Data)を設定する。装置IDは、処理分担制御装置1と、処理分担制御装置1に接続される演算装置(図1における演算装置2、・・・、N(Nは1以上の整数))を一意に対応付けるために設定される。演算装置と装置IDとの対応付けは、あらかじめ与えてられても良いし、処理分担制御装置1の動作の開始時もしく動作中に、その都度設定されても良い。   In addition, the process sharing pattern generation unit 13 sets a device ID (Identification Data) necessary for generating the process sharing pattern. The device ID uniquely associates the processing sharing control device 1 with the processing devices connected to the processing sharing control device 1 (the processing devices 2,..., N in FIG. 1 (N is an integer of 1 or more)). Is set. The association between the arithmetic device and the device ID may be given in advance, or may be set each time the operation of the processing sharing control device 1 is started or during operation.

なお、処理分担を決定する具体的な手段の一例として、動的計画法を利用することができるが、これに限られない。   Note that dynamic programming can be used as an example of specific means for determining processing sharing, but is not limited thereto.

処理分担パターンの一例を、図5に示す。処理分担パターンは、装置IDをP個並べた数値の列である。処理分担パターンは、個別処理とそれを実行する演算装置とを対応付ける。すなわち、処理分担パターンの左からi(iは1≦i≦Pの整数)番目の要素が、個別処理i(1≦i≦P)を分担することを示す。例えば、図5の例では、個別処理の1番目を装置IDが”1”の装置が、個別処理のP番目を装置IDが”2”の装置が分担することが指定されていることを示す。
(動作の説明)
次に本実施形態の動作を説明する。
An example of the processing sharing pattern is shown in FIG. The process sharing pattern is a numerical sequence in which P device IDs are arranged. The process sharing pattern associates an individual process with an arithmetic device that executes the process. That is, the i-th element (i is an integer satisfying 1 ≦ i ≦ P) from the left in the process sharing pattern indicates that the individual process i (1 ≦ i ≦ P) is shared. For example, in the example of FIG. 5, it is designated that the device with the device ID “1” is assigned to the first individual process, and the device with the device ID “2” is assigned to the P-th individual process. .
(Description of operation)
Next, the operation of this embodiment will be described.

図6は、本実施形態の動作を示すフローチャートの一例を示す。本実施形態の処理分担制御装置1は、処理分担生成開始要求入力処理(ステップS11)、資源推定要求処理(ステップS12)、資源推定結果獲得処理(ステップS13)、処理分担パターン生成処理S(ステップ14)の順に動作する。   FIG. 6 shows an example of a flowchart showing the operation of the present embodiment. The process sharing control device 1 of the present embodiment includes a process sharing generation start request input process (step S11), a resource estimation request process (step S12), a resource estimation result acquisition process (step S13), and a process sharing pattern generation process S (step 14) It operates in order.

まず、処理パターン生成部13が、外部からの処理分担生成要求を入力する(処理分担生成開始要求入力、ステップS11)。   First, the processing pattern generation unit 13 inputs a processing sharing generation request from the outside (processing sharing generation start request input, step S11).

次に、処理パターン生成部13が、資源推定要求処理(ステップS12)を行う。具体的には、ステップS12は、個別処理資源の推定要求と、個別通信資源の推定要求とを含む。   Next, the process pattern generation unit 13 performs a resource estimation request process (step S12). Specifically, step S12 includes an individual processing resource estimation request and an individual communication resource estimation request.

資源推定要求処理(ステップS12)の動作の一例を図7に示す。具体的には、まず、処理パターン生成部13が、処理資源推定部11に対して個別処理資源の推定を要求する(ステップS121)。次に、処理パターン生成部13が、通信資源推定部12に対して個別通信資源の推定を要求する(ステップS122)。推定を要求された処理資源推定部11及び通信資源推定部12の各々は、内部に保持する推定値を出力するか、あるいはその時点で所定の測定等を行って推定を行い、推定値を出力する。   An example of the operation of the resource estimation request process (step S12) is shown in FIG. Specifically, first, the processing pattern generation unit 13 requests the processing resource estimation unit 11 to estimate individual processing resources (step S121). Next, the processing pattern generation unit 13 requests the communication resource estimation unit 12 to estimate individual communication resources (step S122). Each of the processing resource estimation unit 11 and the communication resource estimation unit 12 requested to estimate outputs an estimated value held therein, or performs estimation by performing a predetermined measurement or the like at that time, and outputs the estimated value To do.

なお、個別処理資源の推定(ステップS121)は、個別処理1、・・・Pについて行われる。個別通信資源の推定は、処理分担制御装置1と通信手段を介して接続されている外部の演算装置2、・・・、Nの各々に対して行われる。外部の演算装置は、複数台あっても、1台であっても良い。   The individual processing resource estimation (step S121) is performed for individual processing 1,. The estimation of the individual communication resource is performed for each of the external arithmetic devices 2,..., N connected to the processing sharing control device 1 via the communication means. There may be a plurality of external arithmetic units or a single unit.

再び、図6のフローチャートを参照する。次に、処理生成パターン生成部13は、資源推定結果獲得処理(ステップS13)を行う。すなわち、処理生成パターン生成部13は、処理資源推定部11及び通信資源推定部12からの推定結果の受信まで待機する。ここで、資源推定要求を行ってから、あらかじめ定められた一定時間経過しても結果が返されない場合は、待機を打ち切ってもよい。   Reference is again made to the flowchart of FIG. Next, the process generation pattern generation unit 13 performs a resource estimation result acquisition process (step S13). That is, the process generation pattern generation unit 13 waits until reception of estimation results from the process resource estimation unit 11 and the communication resource estimation unit 12. Here, if a result is not returned after a predetermined time has elapsed since the resource estimation request was made, the standby may be aborted.

次に、処理分担パターン生成部13は、処理分担パターンを生成する(ステップS14)。処理分担パターンを求めるには、推定された個別処理ごとの計算資源を利用して、貪欲法、動的計画法などの最適化手法を利用する。もちろん、すべての処理分担の可能性を総当たりで調べ上げることで、最適な処理分担パターンを求めても構わない。   Next, the process sharing pattern generation unit 13 generates a process sharing pattern (step S14). In order to obtain a processing sharing pattern, an optimization method such as a greedy method or a dynamic programming method is used by using the estimated calculation resources for each individual processing. Of course, the optimum processing sharing pattern may be obtained by examining the possibility of all processing sharing in a brute force manner.

最適な分担処理パターンを求める方法の例としては、例えば、「貪欲法」、「動的計画法」がある。以下に、それぞれの方法による具体的な分担処理パターンの決定方法を説明する。
(1)貪欲法
「貪欲法」は、問題を複数の部分問題に分割し、それぞれに対して独立に評価を行い、評価値の高い順に選択することによって、解を得るという方法である。従って、貪欲法は、個別処理1から個別処理Pまでが独立に処理可能である場合に好適な方法である。
Examples of a method for obtaining an optimal sharing process pattern include “greedy method” and “dynamic programming method”. Hereinafter, a specific method for determining a shared processing pattern by each method will be described.
(1) Greedy Method The “greedy method” is a method of obtaining a solution by dividing a problem into a plurality of subproblems, evaluating each of them independently, and selecting them in descending order of evaluation values. Therefore, the greedy method is a suitable method when individual processing 1 to individual processing P can be processed independently.

次に述べる例では、処理分担制御装置1上にあるデータを複数の演算装置で分担して処理する例を考える。   In the following example, consider an example in which data on the processing sharing control device 1 is shared and processed by a plurality of arithmetic devices.

この場合、個別通信資源は、個別処理に必要なデータを、処理分担制御装置1から各演算装置へ送信するために必要な通信時間推定値(個別通信資源推定値)と、個別処理結果を各演算装置から処理分担制御装置1へ送信するために必要な通信時間である個別結果通信資源の推定値との和である。個別結果通信資源の推定に関しては、個別通信資源の推定と同様の構成・動作で実現可能である。   In this case, the individual communication resource includes a communication time estimation value (individual communication resource estimation value) and an individual processing result necessary for transmitting data necessary for individual processing from the processing sharing control device 1 to each arithmetic device. It is the sum with the estimated value of the individual result communication resource, which is the communication time required for transmission from the arithmetic device to the processing sharing control device 1. The estimation of the individual result communication resource can be realized with the same configuration and operation as the estimation of the individual communication resource.

適切な処理分担を定めるために、例えば、初期状態では、すべての個別処理をすべて演算装置2で処理するものとする。すなわち、処理分担パターンを、(2,2,2,・・・,2)とする。そして、処理分担パターンを逐次的に変更し、評価関数値
max(t2,t3,t4,・・・,tn)
が可能な限り小さくなるときの、処理分担パターンを求める。
In order to determine an appropriate sharing of processing, for example, in the initial state, all the individual processes are all processed by the arithmetic unit 2. That is, the processing sharing pattern is (2, 2, 2,..., 2). Then, the process sharing pattern is sequentially changed, and the evaluation function value max (t2, t3, t4,..., Tn)
The processing sharing pattern is obtained when is as small as possible.

ここで、t2,t3,・・・,tNは、演算装置n(2≦n≦N)が行う個別処理に関する個別通信資源と個別結果通信資源及び個別処理資源の総和である。   Here, t2, t3,..., TN are totals of individual communication resources, individual result communication resources, and individual processing resources related to individual processing performed by the arithmetic device n (2 ≦ n ≦ N).

初期状態では処理分担パターンが(2,2,2,・・・,2)なので、
min(t2,t3,t4,・・・,tn)=t2≧0
であり、
t3=・・・=tN=0
である。
Since the processing sharing pattern is (2, 2, 2, ..., 2) in the initial state,
min (t2, t3, t4,..., tn) = t2 ≧ 0
And
t3 = ... = tN = 0
It is.

なお、通信資源が時間で、処理資源が消費電力である場合のように、資源の量を表現する単位が異なる場合は、適当な係数を用いて換算し、総計を求めればよい。   In addition, when the communication resource is time and the processing resource is power consumption, when the unit expressing the amount of the resource is different, conversion may be performed using an appropriate coefficient to obtain the total.

具体的には、以下のような動作を行う。
1)処理分担パターン(2,2,2,・・・,2)として、部分処理を分担している演算装置の中で、評価関数値max(t2,t3,t4,・・・,tN)の値を最も大きく減少させるように、1つの個別処理の分担を、演算装置2から他の演算装置の分担へと変更する。
2)部分処理1からPまで、順次、上述の(1)の手続きを繰り返し、分担を変更する。
3)評価関数値を減少させるような分担変更がない場合は、(2,2,2,・・・,2)を処理分担結果とする。
Specifically, the following operation is performed.
1) Evaluation function value max (t2, t3, t4,..., TN) as processing sharing pattern (2, 2, 2,..., 2) In order to greatly reduce the value of, the sharing of one individual process is changed from the computing device 2 to the sharing of other computing devices.
2) From the partial processes 1 to P, the procedure (1) described above is sequentially repeated to change the sharing.
3) If there is no sharing change that reduces the evaluation function value, (2, 2, 2,..., 2) is set as the processing sharing result.

処理分担パターンに対して、上述の1)−3)の手続きを繰り返し変更することにより、部分処理ごとに、分担に適した演算装置が判定され、最終的に処理分担パターンを生成することができる。
(2)動的計画法
「動的計画法」は、問題を複数の段階に分解して、各段階で順次処理される複数の部分問題に分解し、ある段階までの最適解以外を破棄しながら、最適解を求める方法である。従って、動的計画法は、全体処理を個別処理1から個別処理Pまでに分割し、各個別処理を順番に行う必要がある場合に、好適である。
By repeatedly changing the above procedure 1) -3) with respect to the process sharing pattern, an arithmetic unit suitable for sharing is determined for each partial process, and a process sharing pattern can be finally generated. .
(2) Dynamic programming "Dynamic programming" breaks down a problem into multiple stages, breaks it down into multiple sub-problems that are sequentially processed at each stage, and discards all but the optimal solution up to a certain stage. However, this is a method for obtaining an optimal solution. Therefore, the dynamic programming method is suitable when the entire process is divided from the individual process 1 to the individual process P and each individual process needs to be performed in order.

以下の例は、処理分担制御装置1上にあるデータを入力データとして、個別処理1から個別処理Pまでを順番に処理して、最終結果を処理分担制御装置1上に返す例を考える。   The following example considers an example in which the data on the processing sharing control device 1 is used as input data, the individual processing 1 to the individual processing P are sequentially processed, and the final result is returned to the processing sharing control device 1.

ここで、装置IDが、1≦j≦Pなるj(jは整数)である装置について、個別通信資源C(j,a(j),b(j))と個別処理資源E(j,b(j))を定義する。   Here, for a device whose device ID is 1 ≦ j ≦ P (j is an integer), the individual communication resource C (j, a (j), b (j)) and the individual processing resource E (j, b) (J)) is defined.

C(j,a(j),b(j))は、個別処理jを行うために、個別処理(j−1)において演算装置a(j)で処理された結果を、演算装置b(j)に送信する個別通信資源の値を示す。E(j,b(j))は、個別処理jを演算装置bで処理するための個別処理資源の値を示す。   C (j, a (j), b (j)) performs the individual processing j, and the result of processing by the arithmetic device a (j) in the individual processing (j−1) ) Indicates the value of the individual communication resource to be transmitted. E (j, b (j)) indicates the value of the individual processing resource for processing the individual processing j by the arithmetic device b.

便宜上、個別処理1の実行前に、すなわち、最初の個別処理の実行前に、演算装置b(j)(b(j)は2,3,・・・,Nのいずれか)への通信に要する時間(個別通信資源)をC(0,a(0),b(0))とする。個別処理Pの実行後に、すなわち、最終の個別処理の終了後に、結果を処理分担制御装置1へ送る時間(個別通信資源)をC(P+1,a(P+1),b(P+1))とする。   For convenience, before the execution of the individual process 1, that is, before the execution of the first individual process, the communication to the arithmetic device b (j) (b (j) is 2, 3,..., N) is performed. The time required (individual communication resource) is C (0, a (0), b (0)). After execution of the individual process P, that is, after the end of the final individual process, a time (individual communication resource) for sending the result to the process sharing control device 1 is C (P + 1, a (P + 1), b (P + 1)).

a(0)≠1に対して、C(0,a(0),b(0))は、後述の、評価関数の値を最小化する値と比べて、十分に大きな数を設定する。このことを
C(0,a(0),b(0))=∞
と表記する。
For a (0) ≠ 1, C (0, a (0), b (0)) is set to a sufficiently large number as compared to a value that minimizes the value of the evaluation function described later. This is expressed as C (0, a (0), b (0)) = ∞
Is written.

また、b(P+1)≠1に対して、
C(P+1,a(P+1),b(P+1))=∞
である。
For b (P + 1) ≠ 1,
C (P + 1, a (P + 1), b (P + 1)) = ∞
It is.

なお、E(0,b(0))及びE(j+1,b(P+1))は0とするのが一例であるがこれに限られない。   Note that E (0, b (0)) and E (j + 1, b (P + 1)) are set to 0, but are not limited thereto.

ここで、評価関数値として、C(j,a(j),b(j))+E(j,b(j))の、J=0からP+1までの総和 Σ(C(j,a(j),b(j))+E(j,b(j)))
を求める。ただし、a(j)とb(j)の組み合わせに関して、
b(j−1)=a(j)
すなわち、個別処理jに先立って行われる通信の送信元a(j)と、個別処理j−1を行った演算装置b(j−1)が一致している組み合わせに関してのみ、総和を求める。
Here, as an evaluation function value, the sum of C (j, a (j), b (j)) + E (j, b (j)) from J = 0 to P + 1 Σ (C (j, a (j ), B (j)) + E (j, b (j)))
Ask for. However, regarding the combination of a (j) and b (j)
b (j-1) = a (j)
That is, the sum is obtained only for the combination in which the transmission source a (j) of communication performed prior to the individual processing j and the arithmetic device b (j−1) that performed the individual processing j−1 match.

そして、上記の評価関数の値をできるだけ小さくするようなb(j)(j=1,・・・,P)を求める。   Then, b (j) (j = 1,..., P) that makes the value of the evaluation function as small as possible is obtained.

次に、処理資源V(j,a(j),b(j))を定義する。V(j,a(j),b(j))は、「演算装置a(j)から演算装置b(j)への通信を行い、かつ、個別処理jを演算装置b(j)が処理する」という条件の下で最小の処理資源の値である。   Next, a processing resource V (j, a (j), b (j)) is defined. V (j, a (j), b (j)) is “communication from the arithmetic device a (j) to the arithmetic device b (j) and the individual processing j is processed by the arithmetic device b (j). The value of the minimum processing resource under the condition “Yes”.

V(j,a(j),b(j))は、b(j−1)=ajなる条件の下、V(j−1,a(j−1),b(j−1))+C(j,a(j),b(j))+E(j,b(j))の値が最小になるときの、a(j)、b(j)である。すなわち、
V(j,a(j),b(j))
=min(a(j)、b(j);V(j−1,a(j−1),b(j−1))+C(j,a(j),b(j))+E(j,b(j)))
である。ただし、ここでの関数min(x;y)は、yが最小になるときの、xを意味する。
V (j, a (j), b (j)) is V (j-1, a (j-1), b (j-1)) + C under the condition b (j-1) = aj. A (j) and b (j) when the value of (j, a (j), b (j)) + E (j, b (j)) is minimized. That is,
V (j, a (j), b (j))
= Min (a (j), b (j); V (j-1, a (j-1), b (j-1)) + C (j, a (j), b (j)) + E (j , B (j)))
It is. However, the function min (x; y) here means x when y is minimized.

分担処理パターンを求めるためには、まず、j=0からP+1まで順番に、V(j,a(j),b(j))を逐次的に計算することにより、V(P+1,a(P+1),b(P+1))を求める。   In order to obtain the sharing process pattern, first, V (j, a (j), b (j)) is sequentially calculated in order from j = 0 to P + 1 to obtain V (P + 1, a (P + 1). ), B (P + 1)).

次に
min(b(P+1);V(P+1,a(P+1),b(P+1)))
の値を求める。このb(P+1)が、個別通信資源と個別処理資源の総和を最小化する値となる。
Next, min (b (P + 1); V (P + 1, a (P + 1), b (P + 1)))
Find the value of. This b (P + 1) is a value that minimizes the sum of the individual communication resources and the individual processing resources.

次に、最小化を実現したa(j)及びb(j)を計算する。これは、V(j,a(j),b(j))が計算された過程を、j=P+1からj=0へ追跡することによって、求めることができる。このようにすると、分担処理パターンは(b(1),b(2),・・・,b(P))として求めることができる。   Next, a (j) and b (j) realizing minimization are calculated. This can be obtained by tracing the process of calculating V (j, a (j), b (j)) from j = P + 1 to j = 0. In this way, the sharing process pattern can be obtained as (b (1), b (2),..., B (P)).

図8は、本実施形態の処理分担制御装置において、動的計画法を用いて処理分担パターンを生成するときの動作を示すフローチャートの例である。図8では、処理分担制御装置が1個、演算装置がP=2個の場合の、個別通信資源と個別処理資源の例を示す。装置IDjは、処理分担制御装置が1、2個の演算装置がそれぞれ、2、3である。以下では、それぞれの装置を、処理分担制御装置1、演算装置2、3と表す。   FIG. 8 is an example of a flowchart showing an operation when a process sharing pattern is generated using dynamic programming in the process sharing control apparatus of the present embodiment. FIG. 8 shows an example of individual communication resources and individual processing resources when there is one processing sharing control device and P = 2 computing devices. The device IDj is 1, 2 for the processing sharing control device and 2, 3 for the two arithmetic devices, respectively. Hereinafter, the respective devices are represented as a processing sharing control device 1 and arithmetic devices 2 and 3.

前処理では、処理前の、仮の処理結果を、処理分担制御装置1から、演算装置2又は演算装置3へ送信するから、個別通信資源は、
C(0、1、2)、C(0、1、3)
となる。それぞれに対応する個別処理資源は、
E(0、2)、E(0、3)
である。
In the preprocessing, since the temporary processing result before the processing is transmitted from the processing sharing control device 1 to the arithmetic device 2 or the arithmetic device 3, the individual communication resources are:
C (0, 1, 2), C (0, 1, 3)
It becomes. Individual processing resources corresponding to each
E (0,2), E (0,3)
It is.

処理1の実行前には、前処理を行った演算装置で処理1を再び実行するか、又は他方の演算装置で前処理の結果を送信するから、個別通信資源は、
C(1、2、2)、C(1、2、3)、C(1、3、2)、C(1、3、3)
となる。そして、演算装置2、3は、処理1を実行する。
Before the execution of the processing 1, the processing device 1 that has performed the preprocessing executes the processing 1 again, or the other processing device transmits the result of the preprocessing.
C (1, 2, 2), C (1, 2, 3), C (1, 3, 2), C (1, 3, 3)
It becomes. Then, the arithmetic devices 2 and 3 execute the process 1.

上記のそれぞれの個別通信資源に対応する個別処理資源は、処理1を処理するための個別処理資源と、その処理を行った演算装置の装置IDから、
E(1、2)、E(1、3)E(1、2)、E(1、3)
となる。
The individual processing resource corresponding to each of the individual communication resources described above is based on the individual processing resource for processing process 1 and the device ID of the arithmetic device that performed the processing.
E (1, 2), E (1, 3) E (1, 2), E (1, 3)
It becomes.

以降同様にして、後処理まで、順次、C(j,a(j),b(j))とE(j,b(j))を求める。そして、j=0からP+1まで順番に、V(j,a(j),b(j))を逐次的に計算することにより、V(P+1,a(P+1),b(P+1))を求め、min(b(P+1);V(P+1,a(P+1),b(P+1)))の値を求める。   In the same manner, C (j, a (j), b (j)) and E (j, b (j)) are sequentially obtained until post-processing. Then, V (P + 1, a (P + 1), b (P + 1)) is obtained by sequentially calculating V (j, a (j), b (j)) in order from j = 0 to P + 1. , Min (b (P + 1); V (P + 1, a (P + 1), b (P + 1))).

図8中の矢印は、個別通信資源と個別処理資源の総和を最小化した値を追跡した結果を示している。この場合、処理パターンは、(2,3,・・・,2)となる。   The arrows in FIG. 8 indicate the result of tracking the value that minimizes the sum of the individual communication resources and the individual processing resources. In this case, the processing pattern is (2, 3,..., 2).

最適化の程度は、推定された個別処理ごとの計算資源を利用して、全体処理に必要な計算資源を推測することによって評価することができる。この場合、最適化の程度を評価するための評価基準の好適な例としては、推定された計算資源の総計の最小化、最大化を採用する方法がある。すなわち、計算資源の総計が最小又は最大になるように個別処理の分担を決定する方法がある。   The degree of optimization can be evaluated by using the estimated calculation resources for each individual process and estimating the calculation resources necessary for the entire process. In this case, as a suitable example of the evaluation criterion for evaluating the degree of optimization, there is a method that employs minimization or maximization of the estimated total of calculation resources. In other words, there is a method of determining the sharing of individual processing so that the total amount of computing resources is minimized or maximized.

処理資源推定部11及び通信資源推定部12が行う資源の推定方法の具体例を示す。処理資源推定部11が行う処理資源の推定方法には、例えば、あらかじめ準備された推定値のテーブルから処理資源を取得する方法がある。さらに、現在の処理資源の利用状況を考慮して、取得した推定値を補正して使用しても良い。   A specific example of a resource estimation method performed by the processing resource estimation unit 11 and the communication resource estimation unit 12 will be described. The processing resource estimation method performed by the processing resource estimation unit 11 includes, for example, a method of acquiring processing resources from a table of estimated values prepared in advance. Furthermore, the acquired estimated value may be corrected and used in consideration of the current usage status of processing resources.

通信資源推定部12が行う通信資源の推定方法には、例えば、あらかじめ準備された推定値のテーブルから通信資源を取得する方法がある。さらに、現在の通信資源の利用状況を考慮して、取得した推定値を補正して使用しても良い。   As a communication resource estimation method performed by the communication resource estimation unit 12, for example, there is a method of acquiring communication resources from a table of estimated values prepared in advance. Furthermore, the acquired estimated value may be corrected and used in consideration of the current usage status of communication resources.

推定値テーブルに保持される個別処理資源及び個別通信時間に関する推定値は、過去の値を参照して、あらかじめ推測された値でもよい。   The estimated value related to the individual processing resource and the individual communication time held in the estimated value table may be a value estimated in advance with reference to a past value.

例えば、個別処理資源として、個別処理に要する処理時間を用いる場合は、個別処理時間の履歴を保存する。そして、過去の個別処理時間から、実際の処理時に個別処理時間を推測する。   For example, when the processing time required for individual processing is used as the individual processing resource, the history of the individual processing time is stored. Then, the individual processing time is estimated from the past individual processing time at the time of actual processing.

具体的には、個別処理の実行回数を示す番号をi(iは1以上の整数)、処理した回数をN(Nはi以上の整数)として、個別処理に要した処理時間の平均値
(Σ(i番目の処理の個別処理時間))/N
を求め、個別処理資源の推定値とすればよい。
Specifically, the number indicating the number of executions of individual processing is i (i is an integer of 1 or more), and the number of processing times is N (N is an integer of i or more). Σ (Individual processing time of i-th processing)) / N
Is obtained as an estimated value of the individual processing resource.

個別処理に要した処理時間に加え、CPU使用率に関する履歴も保存してもよい。この場合は、CPU使用率を100%とした場合に期待される処理時間を計算し、個別処理資源の推定値とすることができる。   In addition to the processing time required for the individual processing, a history regarding the CPU usage rate may be stored. In this case, the processing time expected when the CPU usage rate is 100% can be calculated and used as the estimated value of the individual processing resources.

具体的には、処理の回数を示す番号をi、処理した回数をNとして、
(Σ(i番目の処理の個別処理時間)×(i番目の処理の際のCPU使用率[%])/100))/N
を求め、個別処理資源の推定値とすればよい。
Specifically, the number indicating the number of processes is i, the number of processes is N,
(Σ (individual processing time of i-th processing) × (CPU usage rate [%] during i-th processing) / 100)) / N
Is obtained as an estimated value of the individual processing resource.

なお、個別処理に要した処理時間及びCPU使用率の履歴の中でも、分担を決定する直前の値を用いれば、さらに、確度の高い個別処理資源の推定値を求めることができる。   In addition, it is possible to obtain an estimated value of the individual processing resource with higher accuracy by using the value immediately before determining the sharing in the history of the processing time and CPU usage rate required for the individual processing.

通信時間に関しても同様である。すなわち、過去の通信時間の履歴から、平均値を求め、個別通信資源の推定値としてもよい。このとき、通信時間の履歴の中でも、分担を決定する直前の通信時間を用いれば、さらに、確度の高い個別通信資源の推定値を求めることができる。   The same applies to the communication time. That is, an average value may be obtained from the past communication time history, and may be used as an estimated value of individual communication resources. At this time, if the communication time immediately before determining the sharing is used in the communication time history, an estimated value of the individual communication resource with higher accuracy can be obtained.

次に本実施形態の効果を説明する。上述のように、処理分担制御装置1は、処理資源及び通信資源の履歴を用いて、演算装置に対する処理資源及び通信資源を推定する。そして、取得した資源の推定値を用いて、処理分担を決定する。従って、高い確度で、最適な処理の分担を行うことができるという効果がある。
(第2の実施形態)
本発明の第2の実施形態の処理分担制御装置について説明する。第2の実施形態の処理分担制御装置B1は、第1の実施形態の処理分担制御装置1の機能に加えて、生成された処理分担パターンを通信手段で接続された他の演算装置に出力する機能を備える。
Next, the effect of this embodiment will be described. As described above, the processing sharing control apparatus 1 estimates processing resources and communication resources for the arithmetic device using the history of processing resources and communication resources. Then, the processing sharing is determined using the acquired estimated value of the resource. Therefore, there is an effect that it is possible to perform optimum processing sharing with high accuracy.
(Second Embodiment)
A process sharing control apparatus according to the second embodiment of the present invention will be described. In addition to the function of the processing sharing control device 1 of the first embodiment, the processing sharing control device B1 of the second embodiment outputs the generated processing sharing pattern to another arithmetic device connected by communication means. It has a function.

本実施形態の処理分担制御装置B1の主要部分の構成及びその動作は、第1の実施形態の処理分担制御装置1の構成及び動作と共通である。そのため、本実施形態の処理分担制御装置B1と第1の実施形態の処理分担制御装置1の構成及び動作との、異なる点のみについて説明する。   The configuration and operation of the main part of the processing sharing control apparatus B1 of this embodiment are the same as the configuration and operation of the processing sharing control apparatus 1 of the first embodiment. Therefore, only differences between the configuration and operation of the processing sharing control apparatus B1 of the present embodiment and the processing sharing control apparatus 1 of the first embodiment will be described.

図9は、第2の実施形態の処理分担制御装置B1の構成の一例を示したブロック図である。処理分担制御装置B1と第1の実施形態の処理分担制御装置1との、構成の相違点は、処理分担制御装置1の処理分担パターン生成部13が処理分担パターン管理部B13に置き換えられている点のみである。   FIG. 9 is a block diagram illustrating an example of the configuration of the processing sharing control apparatus B1 according to the second embodiment. The difference in configuration between the processing sharing control device B1 and the processing sharing control device 1 of the first embodiment is that the processing sharing pattern generation unit 13 of the processing sharing control device 1 is replaced with a processing sharing pattern management unit B13. It is only a point.

図10は、第2の実施形態の処理分担パターン管理部B13の構成の一例を示したブロック図である。処理分担パターン管理部B13は、処理分担パターン生成部B131と処理分担パターン配信部B132とを備える。処理分担パターン生成部B131は、第1の実施形態の構成における処理分担パターン生成部13と同一であるので説明を省略する。   FIG. 10 is a block diagram illustrating an example of the configuration of the processing sharing pattern management unit B13 according to the second embodiment. The processing sharing pattern management unit B13 includes a processing sharing pattern generation unit B131 and a processing sharing pattern distribution unit B132. Since the processing sharing pattern generation unit B131 is the same as the processing sharing pattern generation unit 13 in the configuration of the first embodiment, the description thereof is omitted.

処理分担パターン配信部B132は、生成された処理分担パターンを、他の演算装置2、・・・、N向けに変換した後に、変換されたパターンを配信する。   The process sharing pattern distribution unit B132 distributes the converted pattern after converting the generated process sharing pattern for the other arithmetic devices 2,..., N.

図5の処理分担の例を用いて説明する。装置ID=2で指定される演算装置2向けには、処理分担パターンのうち要素が”2”となっている要素、すなわち、装置IS=2として演算装置2が指定されている要素のみをピックアップする。図5の例では、個別処理1及び個別処理3を行う装置IDが”2”なので、この2つの要素の値を”2”のままとし、それ以外の要素の値を”0”とするようなパターンを生成する。そして、生成したパターンを装置ID=2で指定される演算装置2に配信する。このパターンを「個別装置用処理分担パターン」と呼ぶ。図11は、装置ID=2で指定される演算装置2に配信される個別装置用処理分担パターンの一例を示す。以上の個別装置用処理分担パターンの生成処理は、すべての演算装置2、・・・Nに関して行われる。   This will be described using an example of processing sharing in FIG. For the arithmetic device 2 designated by the device ID = 2, only the elements in which the element is “2” in the processing sharing pattern, that is, the elements for which the arithmetic device 2 is designated as the device IS = 2 are picked up. To do. In the example of FIG. 5, since the device ID for performing the individual processing 1 and the individual processing 3 is “2”, the value of these two elements remains “2” and the values of the other elements are “0”. A simple pattern. Then, the generated pattern is distributed to the arithmetic device 2 specified by the device ID = 2. This pattern is referred to as “individual device processing sharing pattern”. FIG. 11 shows an example of the individual device processing assignment pattern distributed to the arithmetic device 2 specified by the device ID = 2. The processing for generating the individual device processing sharing pattern is performed for all the arithmetic devices 2,...

なお、処理分担制御装置1が演算機能を持つ演算部(図示なし)を備え、装置ID=1の演算装置として、一部の処理の分担を行ってもよい。この場合は、個別装置用処理分担パターンは、処理分担制御装置1の内部で、演算部へ送信すればよい。   Note that the process sharing control device 1 may include a calculation unit (not shown) having a calculation function, and a part of processing may be shared as a calculation device with a device ID = 1. In this case, the processing assignment pattern for the individual device may be transmitted to the calculation unit inside the processing assignment control device 1.

次に、第2の実施形態の動作について説明する。図12は、第2の実施の形態の動作を示すフローチャートである。ここで、処理分担生成開始要求入力処理(ステップSB11)、資源推定要求処理(ステップSB12)、資源推定結果獲得処理(ステップSB13)、処理分担パターン生成処理(ステップSB14)は、それぞれ、図6の、処理分担生成開始要求入力処理(ステップS11)、資源推定要求処理(ステップS12)、資源推定結果獲得処理(ステップS13)、処理分担パターン生成処理(ステップS14)と同一である。   Next, the operation of the second embodiment will be described. FIG. 12 is a flowchart showing the operation of the second embodiment. Here, the process sharing generation start request input process (step SB11), the resource estimation request process (step SB12), the resource estimation result acquisition process (step SB13), and the process sharing pattern generation process (step SB14) are shown in FIG. , Processing sharing generation start request input processing (step S11), resource estimation request processing (step S12), resource estimation result acquisition processing (step S13), and processing sharing pattern generation processing (step S14).

第2の実施形態の動作と第1の実施形態の動作とで異なるのは、処理分担パターン生成処理(ステップS14)の終了後に、処理分担パターン配信処理(ステップSB15)が行われる点である。ステップ(ステップSB15)では、処理分担パターン配信部B132が他の各演算装置に個別装置用処理分担パターンを配信する。   The difference between the operation of the second embodiment and the operation of the first embodiment is that the process sharing pattern distribution process (step SB15) is performed after the process sharing pattern generation process (step S14) ends. In step (step SB15), the processing sharing pattern distribution unit B132 distributes the individual device processing sharing pattern to the other arithmetic devices.

本実施形態の効果について説明する。第1の実施形態の処理分担制御装置は、処理分担のパターンを生成する機能のみを備える。それに対して、第2の実施形態の処理分担制御装置は、個別処理が分担される各演算装置に対して、どの処理を分担すべきかを指示することができる。これにより、演算装置間で、個別処理を分担して実行することができる。
(第3の実施形態)
次に、本発明の第3の実施形態として、上述のように生成された処理分担パターンを入力して、処理分担を行う演算装置A1について、その構成と動作を説明する。演算装置A1は、処理分担制御装置B1からの、処理分担パターンによる指示によって、個別処理を分担する。
The effect of this embodiment will be described. The processing sharing control apparatus according to the first embodiment includes only a function for generating a processing sharing pattern. On the other hand, the process assignment control device of the second embodiment can instruct each processing device to which the individual process is assigned which process should be assigned. Thereby, an individual process can be shared and performed between arithmetic units.
(Third embodiment)
Next, as a third embodiment of the present invention, the configuration and operation of the arithmetic device A1 that performs processing sharing by inputting the processing sharing pattern generated as described above will be described. The arithmetic device A1 shares the individual processing according to an instruction by the processing sharing pattern from the processing sharing control device B1.

まず、第3の実施形態の構成について、処理を主にソフトウェアの形態で実現する例について説明する。本実施の形態における処理分担制御装置B1の構成は、第1の実施形態の処理分担制御装置1の構成と同様であるので説明を省略する。   First, the configuration of the third embodiment will be described with reference to an example in which processing is realized mainly in the form of software. Since the configuration of the processing sharing control apparatus B1 in the present embodiment is the same as the configuration of the processing sharing control apparatus 1 in the first embodiment, the description thereof is omitted.

次に、演算装置A1が実行する処理のソフトウェア構成について説明する。図13は、第3の実施形態の演算装置A1が実行するソフトウェアの構成を示すブロック図である。演算装置A1の処理は、個別装置用処理分担パターン入力部A11と個別処理実行部A12とを含む。   Next, a software configuration of processing executed by the arithmetic device A1 will be described. FIG. 13 is a block diagram illustrating a configuration of software executed by the arithmetic device A1 according to the third embodiment. The processing of the arithmetic device A1 includes an individual device processing assignment pattern input unit A11 and an individual processing execution unit A12.

個別装置用処理分担パターン入力部A11は、個別装置用処理分担パターンを入力し、個別処理用処理分担パターンにて演算装置A1に割り振られた処理の実行を個別処理実行部A12に対して要求する。   The individual device processing assignment pattern input unit A11 inputs the individual device processing assignment pattern and requests the individual processing execution unit A12 to execute the processing allocated to the arithmetic device A1 in the individual processing assignment pattern. .

個別処理実行部A12は、個別装置用処理分担パターン入力部A11から要求された処理を実行する。   The individual process execution unit A12 executes the process requested from the individual device process assignment pattern input unit A11.

次に、第3の実施形態の動作について説明する。図14は、第3の実施の形態の動作を示すフローチャートである。まず、個別装置用処理分担パターン入力部A11が個別処理用処理分担パターン入力処理(ステップSA11)を行う。次に、個別装置用処理分担パターン入力部A11が処理実行要求処理(ステップSA12)を行う。次に、個別処理実行部A12が個別処理実行処理(ステップSA13)を行う。   Next, the operation of the third embodiment will be described. FIG. 14 is a flowchart showing the operation of the third embodiment. First, the individual apparatus process assignment pattern input unit A11 performs the individual process assignment pattern input process (step SA11). Next, the individual device processing assignment pattern input unit A11 performs processing execution request processing (step SA12). Next, the individual process execution unit A12 performs the individual process execution process (step SA13).

演算装置A1は、第2の実施形態の処理分担制御装置B1に接続され、利用されるのが好適である。このとき、処理分担制御装置B1に接続されるすべての演算装置には、同一の全体処理プログラムが搭載されていてもよい。この場合、各演算装置では、個別処理の単位で一部の処理を省略したり、機能が同等で性能の異なる別の処理に置き換えたりすることも可能である。また、すべての演算装置に同一の全体処理プログラムが搭載されていれば、個別処理を分担するごとに、分担される個別処理のプログラムを分担先の演算装置へ転送する必要がない。   The arithmetic device A1 is preferably connected to the processing sharing control device B1 of the second embodiment and used. At this time, the same overall processing program may be installed in all the arithmetic devices connected to the processing sharing control device B1. In this case, in each arithmetic device, it is possible to omit a part of the processing in units of individual processing, or to replace with another processing having the same function but different performance. Further, if the same overall processing program is installed in all the arithmetic devices, it is not necessary to transfer the individual processing program assigned to the assigned arithmetic device each time the individual processing is assigned.

次に、本実施形態の効果について説明する。上述のように、各演算装置は、処理分担パターン生成部13によって生成された処理分担パターンに応じて個別処理を分担する。従って、各演算装置は、必要な処理のみを行うことができる。
(第4の実施形態)
次に、上述した各実施形態の具体例を示す。
Next, the effect of this embodiment will be described. As described above, each arithmetic device shares individual processing according to the process sharing pattern generated by the process sharing pattern generation unit 13. Therefore, each arithmetic device can perform only necessary processing.
(Fourth embodiment)
Next, specific examples of the above-described embodiments will be shown.

第4の実施形態では、第2の実施形態の処理分担制御装置B1−1、B1−2と2つの第3の実施形態の演算装置A1−1、A1−2から構成される演算システムの例を示す。図15は、第4の実施形態の演算システムの構成を表すブロック図である。演算装置A1−1と処理分担制御装置B1−1は、1つのユニットである統合演算装置C1として構成される。同様に、演算装置A1−2と処理分担制御装置B1−2は、1つのユニットである統合演算装置C2として構成される。処理分担制御装置B1−1と、演算装置A1−1、処理分担制御装置B1−1、及び演算装置A1−2の各々との間は通信手段で接続される。   In the fourth embodiment, an example of an arithmetic system including the processing sharing control devices B1-1 and B1-2 of the second embodiment and two arithmetic devices A1-1 and A1-2 of the third embodiment. Indicates. FIG. 15 is a block diagram illustrating a configuration of a calculation system according to the fourth embodiment. The arithmetic device A1-1 and the processing sharing control device B1-1 are configured as an integrated arithmetic device C1 which is one unit. Similarly, the arithmetic device A1-2 and the processing sharing control device B1-2 are configured as an integrated arithmetic device C2 that is one unit. The processing sharing control device B1-1 and the arithmetic device A1-1, the processing sharing control device B1-1, and the arithmetic device A1-2 are connected by communication means.

本実施形態では、統合演算装置C1をホストとした動作が行われる。すなわち、統合演算装置C1処理分担パターンを計算する主体であり、あわせて演算装置A1−1の個別計算資源、個別通信資源を推定する。   In the present embodiment, an operation using the integrated arithmetic device C1 as a host is performed. That is, it is a main body that calculates the integrated arithmetic device C1 processing assignment pattern, and also estimates the individual computing resources and individual communication resources of the arithmetic device A1-1.

一方、統合演算装置C2は、演算装置A1−2の個別計算資源、個別通信資源を推定する。そして、統合演算装置C2は、演算装置A1−2の個別計算資源及び個別通信資源の推定値を、統合演算装置C1へ送信する。   On the other hand, the integrated arithmetic device C2 estimates the individual computing resources and the individual communication resources of the arithmetic device A1-2. Then, the integrated arithmetic device C2 transmits the estimated values of the individual calculation resources and the individual communication resources of the arithmetic device A1-2 to the integrated arithmetic device C1.

統合演算装置C1は、演算装置A1−1の個別計算資源及び個別通信資源の推定値、並びに演算装置A1−2の個別計算資源及び個別通信資源の推定値を用いて、演算装置A1−1、A1−2への処理の分担を指定する処理分担パターンを計算する。   The integrated computing device C1 uses the estimated values of the individual computing resources and the individual communication resources of the computing device A1-1 and the estimated values of the individual computing resources and the individual communication resources of the computing device A1-2, A processing sharing pattern that specifies the sharing of processing to A1-2 is calculated.

本実施形態では、資源として処理時間を考える。個別計算資源は、演算装置A1−1、A1−2及び処理分担制御B1−2における処理時間である。個別通信資源は処理分担制御B1−1と、演算装置A1−1、A1−2及び処理分担制御B1−2との間の通信時間である。   In this embodiment, processing time is considered as a resource. The individual calculation resource is a processing time in the arithmetic devices A1-1, A1-2 and the processing sharing control B1-2. The individual communication resource is a communication time between the processing sharing control B1-1, the arithmetic devices A1-1, A1-2, and the processing sharing control B1-2.

「個別処理時間」は、統合演算装置C1及び統合演算装置C2に含まれる処理資源推定部11によって、それぞれの統合演算装置に関して、次のように推定される。本実施例では、処理資源推定に関する推定値のテーブルとして、演算装置A1−1、A1−2の各々が備えるCPUの処理性能が100%利用できると仮定した際の推定値をあらかじめテーブル形式で保持しておくこととする。   The “individual processing time” is estimated as follows for each integrated arithmetic device by the processing resource estimation unit 11 included in the integrated arithmetic device C1 and the integrated arithmetic device C2. In this embodiment, as a table of estimated values related to processing resource estimation, estimated values when it is assumed that the CPU processing performance of each of the arithmetic devices A1-1 and A1-2 can be used 100% are stored in advance in a table format. I will keep it.

処理資源の推定は、例えば、処理資源が処理時間である場合は、あらかじめ個別処理を、演算装置A1−1、A1−22の各々が備えるCPUに実行させ、処理に要する時間を測定することによって行うことができる。このとき、個別処理の実行時のCPU使用率も同時に測定する。そして、処理資源推定要求時に、各演算装置におけるCPU使用率を取得する。そして、CPU使用率が100%であった場合の処理資源を求め、処理資源推定値とする。なぜなら、CPU使用率が低い状態で測定された処理時間は、個別処理の実際の負荷を正確に表していないと考えられるためである。そのため、CPU使用率が100%であった場合に換算して、処理資源推定値とする。   For example, when the processing resource is processing time, the processing resource is estimated by causing the CPU included in each of the arithmetic devices A1-1 and A1-22 to execute the individual processing in advance and measuring the time required for the processing. It can be carried out. At this time, the CPU usage rate at the time of executing the individual processing is also measured. Then, the CPU usage rate in each arithmetic device is acquired when a processing resource estimation request is made. Then, a processing resource when the CPU usage rate is 100% is obtained and set as a processing resource estimated value. This is because the processing time measured in a state where the CPU usage rate is low does not accurately represent the actual load of individual processing. Therefore, when the CPU usage rate is 100%, it is converted into a processing resource estimated value.

以上のような処理を付加し、CPU使用率により、処理時間の推定値を補正する。   The above processing is added, and the estimated processing time is corrected based on the CPU usage rate.

具体的には、ある演算装置における個別処理の実行時のCPU使用率をα[%]とすると、この演算装置において必要と推定される処理時間は、
(保持する個別処理時間推定値)×α/100
と推定することができる。推定されるのは、演算装置A1−1に関する個別処理時間推定値、及び、演算装置A1−2に関する個別処理時間推定値である。
Specifically, when the CPU usage rate during execution of individual processing in a certain arithmetic device is α [%], the processing time estimated to be necessary in this arithmetic device is:
(Individual processing time estimate to be held) × α / 100
Can be estimated. What is estimated is the individual processing time estimated value for the arithmetic device A1-1 and the individual processing time estimated value for the arithmetic device A1-2.

「個別通信時間」は、統合演算装置C1及び統合演算装置C2に含まれる通信資源推定部11によって次のように推定される。本実施例では、処理資源推定に関する推定値のテーブルとして、例えば、通信速度が1Mbpsの通信速度とした場合の処理時間を保持しておく。また、処理資源推定要求時に、各演算装置における通信速度を取得する。すなわち、処理の分担を決定する前に、あらかじめ個別処理ごとに定められたサイズのダミーデータを送信し、送信にかかった時間を求めることにより、その時点での通信速度を測定することができる。ここで得られた通信速度をβMbpsとすると、個別通信にかかる処理時間は、
(保持する個別通信時間推定値)/β
と推定することができる。推定されるのは、演算装置A1−1に関する個別通信時間推定値(演算装置A1−1から演算装置A1−2へデータを通信するための個別通信時間)及び演算装置A1−2に関する個別通信時間推定値(演算装置A1−2から演算装置A1−1へデータを通信するための個別通信時間)である。
The “individual communication time” is estimated by the communication resource estimation unit 11 included in the integrated arithmetic device C1 and the integrated arithmetic device C2 as follows. In this embodiment, as a table of estimated values related to processing resource estimation, for example, processing time when the communication speed is 1 Mbps is held. Moreover, the communication speed in each arithmetic device is acquired at the time of a processing resource estimation request. That is, before determining the sharing of processing, dummy data having a size determined for each individual process is transmitted in advance, and the time required for transmission can be obtained, whereby the communication speed at that time can be measured. If the communication speed obtained here is β Mbps, the processing time required for individual communication is
(Individual communication time estimate to be held) / β
Can be estimated. The estimated values are the individual communication time estimation values for the arithmetic device A1-1 (individual communication time for communicating data from the arithmetic device A1-1 to the arithmetic device A1-2) and the individual communication time for the arithmetic device A1-2. It is an estimated value (individual communication time for communicating data from the arithmetic unit A1-2 to the arithmetic unit A1-1).

また、前述のように、個別処理のためのデータ量は、個別処理の内容により異なる可能性がある。さらに、個別処理のための入力情報のデータ量、又は個別処理の結果としての出力情報のデータ量も、必ずしも同じではない。従って、上記の個別通信時間推定値を、単位データ量の通信を行うときの推定値として取り扱い、その推定値に、実際に通信されるデータ量を乗算して通信時間を推定してもよい。   Further, as described above, the amount of data for individual processing may vary depending on the content of the individual processing. Further, the amount of input information for individual processing or the amount of output information as a result of individual processing is not necessarily the same. Therefore, the above individual communication time estimated value may be handled as an estimated value when communication of unit data amount is performed, and the communication time may be estimated by multiplying the estimated value by the amount of data actually communicated.

処理分担パターンを定めるには、個別処理時間と個別通信時間の和を評価基準として用いる。すなわち、個別処理時間と個別通信時間の和を最小にするように、最適化手法を用いればよい。このときの最適化手法には、例えば、動的計画法を利用することができる。その際、分担を決定する直前の、各演算装置のCPU使用率を、各演算装置から取得し、それも考慮してもよい。すなわち、CPU使用率が高いCPUへの処理の分担は行わない、あるいは負荷の軽い個別処理を分担させる等の制御を行ってもよい。   In order to determine the processing sharing pattern, the sum of the individual processing time and the individual communication time is used as an evaluation criterion. That is, an optimization method may be used so as to minimize the sum of the individual processing time and the individual communication time. As an optimization method at this time, for example, dynamic programming can be used. At that time, the CPU usage rate of each arithmetic device immediately before determining the sharing may be acquired from each arithmetic device and taken into consideration. That is, control such as not sharing the processing to the CPU having a high CPU usage rate or sharing the individual processing with a light load may be performed.

なお、個別通信時間を考慮するのは、例えば、ある個別処理をA1−1で実行し、これに続く個別処理をA1−2で行う場合、処理に必要なデータをA1−1からA1−2に転送する必要があるからである。続く2つの個別処理を同一の第3の実施形態の演算装置で実行する場合には、個別通信時間は0もしくはあらかじめ与えられた十分に小さい値を用いればよい。   Note that the individual communication time is taken into account, for example, when a certain individual process is executed in A1-1 and the subsequent individual process is executed in A1-2, the data necessary for the process is changed from A1-1 to A1-2. It is because it is necessary to transfer to. When the subsequent two individual processes are executed by the same arithmetic unit of the third embodiment, the individual communication time may be 0 or a sufficiently small value given in advance.

以上のように、本実施形態では、処理分担を決定する前に、処理資源や通信資源がどの程度使用可能かを推定する。そのため、演算装置が高負荷状態にあるときや通信が不安定な状態にあるときでも、その時点での状況に応じた最適な処理分担を定めることができるという効果がある。
(第5の実施形態)
全体処理が画像処理である場合は、画像の性質を利用して推定処理時間の補正を行うことができる。第5の実施形態では、全体処理が画像処理である場合の、具体的な処理資源の推定例と、それを利用した処理の分担の例を示す。例えば、個別処理の処理時間が、画像の面積に比例する場合は、単位面積あたりの個別処理資源の推定値、すなわち、推定処理時間をあらかじめテーブル形式で保持すればよい。処理資源推定要求時に取得できる画像の面積を、単位面積あたりの推定処理時間に乗じることにより、その画像に個別処理を施したときの推定処理時間を求めることができる。
As described above, in the present embodiment, the extent to which processing resources and communication resources can be used is estimated before determining processing sharing. Therefore, even when the arithmetic device is in a high load state or communication is unstable, there is an effect that it is possible to determine the optimum processing sharing according to the situation at that time.
(Fifth embodiment)
When the entire process is image processing, the estimation processing time can be corrected using the properties of the image. In the fifth embodiment, a specific example of processing resource estimation when the entire process is image processing and an example of sharing of processing using the processing resource are shown. For example, when the processing time of the individual processing is proportional to the area of the image, the estimated value of the individual processing resources per unit area, that is, the estimated processing time may be held in a table format in advance. By multiplying the estimated processing time per unit area by the area of the image that can be acquired at the time of processing resource estimation request, the estimated processing time when the individual processing is performed on the image can be obtained.

また、個別処理によって画像から特徴点の数を計算するときに、特徴点の数に比例した処理時間がかかる場合も、上記と同様の処理が可能である。すなわち、1個の特徴点を求めるための個別処理の推定処理時間をあらかじめ用意し、特徴点の個数をその推定処理時間に乗じることにより、その画像の特徴点に個別処理を施したときの推定処理時間を求めることができる。   In addition, when calculating the number of feature points from an image by individual processing, processing similar to the above is possible even when processing time proportional to the number of feature points is required. In other words, the estimation processing time of individual processing for obtaining one feature point is prepared in advance, and the estimation when the individual processing is performed on the feature point of the image by multiplying the estimation processing time by the number of feature points Processing time can be determined.

以上のように、一例として、画像面積や特徴点の数に、個別処理の処理時間が比例する場合を例にとって説明した。しかし、画像面積や特徴点の数といった画像に関する特徴量と処理時間との増減との対応関係が規定可能なものであれば、対応関係は比例関係に限らず、他の対応関係の場合にも適用可能である。   As described above, the case where the processing time of the individual processing is proportional to the image area and the number of feature points has been described as an example. However, the correspondence relationship is not limited to a proportional relationship as long as the correspondence relationship between the image feature amount such as the image area and the number of feature points and the increase / decrease in the processing time can be specified. Applicable.

また、最適化問題の解法は、第1の実施形態に記載したものをそのまま適用可能である。   Further, the optimization problem can be applied as it is described in the first embodiment.

上記以外にも、各演算装置のメモリ容量を考慮し、メモリ量に関する制限つき最適化問題を解くことにより容易に求められる。例えば、ある個別処理のために、あらかじめ保持しておく必要があるメモリの容量が、演算装置のメモリ容量を超えることが想定される場合、その個別処理をその演算装置に行わせないという判断も可能である。   Other than the above, it can be easily obtained by considering the memory capacity of each arithmetic device and solving a limited optimization problem related to the amount of memory. For example, when it is assumed that the memory capacity that needs to be held in advance for a certain individual process exceeds the memory capacity of the arithmetic device, the determination that the arithmetic device is not to perform the individual processing is also possible. Is possible.

また、個別処理時間、個別通信時間の代わりに、個別処理に要する消費電力、個別通信に要する消費電力を判断基準(パラメータ、生成情報)として採用してもよい。その場合は、全体として最も低い消費電力を達成するような処理分担パターンの生成が可能である。   Further, instead of the individual processing time and the individual communication time, the power consumption required for the individual processing and the power consumption required for the individual communication may be adopted as the determination criteria (parameter, generation information). In this case, it is possible to generate a processing sharing pattern that achieves the lowest power consumption as a whole.

以上、上述した処理分担制御装置は、主にソフトウェアの形態で実現させることを例に説明してきたが、構成要素の一部もしくは全部をハードウェア化してもよい。   As mentioned above, although the processing sharing control apparatus mentioned above has demonstrated as an example mainly implement | achieving with the form of software, you may implement | achieve part or all of a component in hardware.

なお、上記の各プログラムは、ROM(Read Only Memory)、RAM(Random Access Memory)、フラッシュメモリ等の半導体記憶装置、光ディスク、磁気ディスク、光磁気ディスク等、非一時的な媒体に格納されてもよい。   Each of the above programs may be stored in a non-transitory medium such as a ROM (Read Only Memory), a RAM (Random Access Memory), a semiconductor memory device such as a flash memory, an optical disk, a magnetic disk, or a magneto-optical disk. Good.

上記の実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。
(付記1)
第1の演算装置が全体処理に含まれる個別処理を完遂するために必要な処理資源の推定値である第1の個別処理資源推定値、及び第2の演算装置が前記個別処理を完遂するために必要な処理資源の推定値である第2の個別処理資源推定値を保持する処理資源推定部と、
前記第1の演算装置との間の過去の通信に用いられた通信資源に基づいて推定された、前記第1の演算装置との間に必要な通信資源である第1の通信資源推定値、及び前記第2の演算装置との間の過去の通信に用いられた通信資源に基づいて推定された、前記第2の演算装置との間に必要な通信資源である第2の通信資源推定値を保持する通信資源推定部と、
前記第1の個別処理資源推定値、前記第2の個別処理資源推定値、前記第1の通信資源推定値及び前記第2の通信資源推定値に基づいて、前記第1の演算装置及び前記第2の演算装置への前記個別処理の分担を決定する処理分担パターン生成部と、
を備えることを特徴とする処理分担制御装置。
(付記2)
前記第1の通信資源推定値及び前記第2の通信資源推定値は、前記個別処理の実行開始前及び完遂後の各々について求められる
を備えることを特徴とする付記1に記載の処理分担制御装置。
(付記3)
前記第1の個別処理資源推定値、前記第2の個別処理資源推定値は、前記第1の演算装置及び前記第2の演算装置の各々が前記個別処理を実行したときの、全処理能力に対する、使用された処理能力の比である処理能力使用率とに基づいて求められる
を備えることを特徴とする付記1又は2に記載の処理分担制御装置。
(付記4)
前記個別処理は、前記全体処理の入力情報のうちの所定の分担量の処理であり、
前記第1の個別処理資源推定値及び前記第2の個別処理資源推定値は、前記分担量に基づいて求められる
ことを特徴とする付記1乃至3のいずれかに記載の処理分担制御装置。
(付記5)
前記第1の通信資源推定値及び前記第2の通信資源推定値は、前記分担量に対する前記個別処理の結果として出力される出力情報量に基づいて求められる
ことを特徴とする付記4に記載の処理分担制御装置。
(付記6)
前記分担を、前記第1の演算装置及び前記第2の演算装置に出力する処理分担パターン配信部
を備えることを特徴とする付記1乃至5のいずれかに記載の処理分担制御装置。
(付記7)
前記第1の個別処理資源推定値及び前記第2の個別処理資源推定値は、それぞれ前記第1の演算装置、前記第2の演算装置が前記個別処理を完遂するために割り当て可能なメモリ容量の推測値であり、
前記第1の通信資源推定値及び前記第2の通信資源推定値は、それぞれ前記第1の演算装置、前記第2の演算装置との間で通信を行うために割り当て可能なメモリ容量の推測値であり、
前記処理分担パターン生成部は、前記第1の個別処理資源推定値、前記第2の個別処理資源推定値、前記第1の通信資源推定値及び前記第2の通信資源推定値に基づいて、メモリの割り当てが可能となるように前記処理分担パターンを生成する
ことを特徴とする付記1乃至6のいずれかに記載の処理分担制御装置。
(付記8)
前記第1の個別処理資源推定値及び前記第2の個別処理資源推定値は、それぞれ前記第1の演算装置、前記第2の演算装置が前記個別処理を完遂するために消費する電力の推測値であり、
前記第1の通信資源推定値及び前記第2の通信資源推定値は、それぞれ前記第1の演算装置、前記第2の演算装置との間で通信を行うために消費する電力の推測値であり、
前記処理分担パターン生成部は、前記第1の個別処理資源推定値、前記第2の個別処理資源推定値、前記第1の通信資源推定値及び前記第2の通信資源推定値に基づいて、前記個別処理が完遂されるために消費される電力が最小となるように前記処理分担パターンを生成する
ことを特徴とする付記1乃至6のいずれかに記載の処理分担制御装置。
(付記9)
演算部と、
前記演算部が全体処理に含まれる個別処理を完遂するために必要な処理資源の推定値である第1の個別処理資源推定値、及び外部の演算装置が前記個別処理を完遂するために必要な処理資源の推定値である第2の個別処理資源推定値を保持する処理資源推定部と、
前記演算装置との間の過去の通信に用いられた通信資源に基づいて推定された、前記演算装置との間に必要な通信資源である通信資源推定値を保持する通信資源推定部と、
前記第1の個別処理資源推定値、前記第2の個別処理資源推定値、及び前記通信資源推定値に基づいて、前記演算部及び前記演算装置への前記個別処理の分担を決定する処理分担パターン生成部と、
含む処理分担制御装置と、
を備えることを特徴とする演算装置。
(付記10)
第1の演算装置と、
第2の演算装置と、
前記第1の演算装置が全体処理に含まれる個別処理を完遂するために必要な処理資源の推定値である第1の個別処理資源推定値、及び前記第2の演算装置が前記個別処理を完遂するために必要な処理資源の推定値である第2の個別処理資源推定値を保持する処理資源推定部、前記第1の演算装置との間の過去の通信に用いられた通信資源に基づいて推定された、前記第1の演算装置との間に必要な通信資源である第1の通信資源推定値、及び前記第2の演算装置との間の過去の通信に用いられた通信資源に基づいて推定された、前記第2の演算装置との間に必要な通信資源である第2の通信資源推定値を保持する通信資源推定部、並びに前記第1の個別処理資源推定値、前記第2の個別処理資源推定値、前記第1の通信資源推定値及び前記第2の通信資源推定値に基づいて、前記第1の演算装置及び前記第2の演算装置への前記個別処理の分担を決定する処理分担パターン生成部を含む処理分担制御装置と、
を備えることを特徴とする演算システム。
(付記11)
第1の演算装置が全体処理に含まれる個別処理を完遂するために必要な処理資源値を推定して第1の個別処理資源推定値を求め、
第2の演算装置が前記個別処理を完遂するために必要な処理資源の推定値を推定して第2の個別処理資源推定値を求め、
前記第1の演算装置との間の過去の通信に用いられた通信資源に基づいて前記第1の演算装置との間に必要な通信資源を推定して、第1の通信資源推定値を求め、
前記第2の演算装置との間の過去の通信に用いられた通信資源に基づいて前記第2の演算装置との間に必要な通信資源を推定して、第2の通信資源推定値を求め、
前記第1の個別処理資源推定値、前記第2の個別処理資源推定値、前記第1の通信資源推定値及び前記第2の通信資源推定値に基づいて、前記第1の演算装置及び前記第2の演算装置への前記個別処理の分担を決定する
ことを特徴とする処理分担制御方法。
(付記12)
処理分担制御装置が備えるコンピュータを、
第1の演算装置が全体処理に含まれる個別処理を完遂するために必要な処理資源の推定値である第1の個別処理資源推定値、及び第2の演算装置が前記個別処理を完遂するために必要な処理資源の推定値である第2の個別処理資源推定値を保持する処理資源推定手段と、
前記第1の演算装置との間の過去の通信に用いられた通信資源に基づいて推定された、前記第1の演算装置との間に必要な通信資源である第1の通信資源推定値、及び前記第2の演算装置との間の過去の通信に用いられた通信資源に基づいて推定された、前記第2の演算装置との間に必要な通信資源である第2の通信資源推定値を保持する通信資源推定手段と、
前記第1の個別処理資源推定値、前記第2の個別処理資源推定値、前記第1の通信資源推定値及び前記第2の通信資源推定値に基づいて、前記第1の演算装置及び前記第2の演算装置への前記個別処理の分担を決定する処理分担パターン生成手段
として機能させることを特徴とする処理分担制御プログラム。
A part or all of the above-described embodiment can be described as in the following supplementary notes, but is not limited thereto.
(Appendix 1)
A first individual processing resource estimated value that is an estimated value of processing resources necessary for the first arithmetic unit to complete individual processing included in the overall processing, and a second arithmetic unit to complete the individual processing; A processing resource estimation unit that holds a second individual processing resource estimation value that is an estimation value of the processing resource required for
A first communication resource estimation value, which is a communication resource required between the first arithmetic device, estimated based on communication resources used for past communication with the first arithmetic device; And a second communication resource estimation value, which is a communication resource necessary for the second arithmetic device, estimated based on communication resources used for past communication with the second arithmetic device. A communication resource estimation unit holding
Based on the first individual processing resource estimation value, the second individual processing resource estimation value, the first communication resource estimation value, and the second communication resource estimation value, the first arithmetic device and the second A processing sharing pattern generation unit that determines the sharing of the individual processing to the two arithmetic devices;
A process sharing control apparatus comprising:
(Appendix 2)
The process sharing control apparatus according to claim 1, wherein the first communication resource estimated value and the second communication resource estimated value are obtained for each of the individual process before the start of execution and after completion of the individual process. .
(Appendix 3)
The first individual processing resource estimation value and the second individual processing resource estimation value correspond to the total processing capacity when each of the first arithmetic device and the second arithmetic device executes the individual processing. The processing sharing control apparatus according to appendix 1 or 2, characterized in that it is obtained based on a processing capacity usage rate that is a ratio of used processing capacities.
(Appendix 4)
The individual processing is processing of a predetermined share of input information of the overall processing,
4. The process sharing control apparatus according to any one of appendices 1 to 3, wherein the first individual process resource estimated value and the second individual process resource estimated value are obtained based on the shared amount.
(Appendix 5)
The supplementary note 4 is characterized in that the first communication resource estimated value and the second communication resource estimated value are obtained based on an output information amount output as a result of the individual processing with respect to the shared amount. Processing sharing control device.
(Appendix 6)
The processing sharing control device according to any one of appendices 1 to 5, further comprising a processing sharing pattern distribution unit that outputs the sharing to the first computing device and the second computing device.
(Appendix 7)
The first individual processing resource estimation value and the second individual processing resource estimation value are respectively the memory capacity that can be allocated for the first arithmetic device and the second arithmetic device to complete the individual processing. An estimate,
The first communication resource estimated value and the second communication resource estimated value are estimated values of memory capacity that can be allocated for communication with the first arithmetic device and the second arithmetic device, respectively. And
The processing sharing pattern generation unit is configured to store a memory based on the first individual processing resource estimation value, the second individual processing resource estimation value, the first communication resource estimation value, and the second communication resource estimation value. The process sharing control device according to any one of appendices 1 to 6, wherein the process sharing pattern is generated so that allocation of the process is possible.
(Appendix 8)
The first individual processing resource estimation value and the second individual processing resource estimation value are estimated values of power consumed by the first arithmetic device and the second arithmetic device, respectively, for completing the individual processing. And
The first communication resource estimated value and the second communication resource estimated value are estimated values of power consumed to perform communication with the first arithmetic device and the second arithmetic device, respectively. ,
The process sharing pattern generation unit is configured to determine the first individual processing resource estimated value, the second individual processing resource estimated value, the first communication resource estimated value, and the second communication resource estimated value, 7. The process sharing control apparatus according to any one of appendices 1 to 6, wherein the process sharing pattern is generated so that power consumed for completing the individual process is minimized.
(Appendix 9)
An arithmetic unit;
A first individual processing resource estimated value that is an estimated value of processing resources necessary for the computing unit to complete individual processing included in the overall processing, and an external computing device necessary for completing the individual processing. A processing resource estimation unit that holds a second individual processing resource estimation value that is an estimation value of the processing resource;
A communication resource estimation unit that holds a communication resource estimation value that is a necessary communication resource with the arithmetic device, estimated based on communication resources used in past communication with the arithmetic device;
A processing sharing pattern for determining the sharing of the individual processing to the computing unit and the computing device based on the first individual processing resource estimated value, the second individual processing resource estimated value, and the communication resource estimated value A generator,
Including a processing sharing control device,
An arithmetic device comprising:
(Appendix 10)
A first arithmetic unit;
A second arithmetic unit;
A first individual processing resource estimated value that is an estimated value of processing resources required for the first arithmetic device to complete individual processing included in the overall processing, and the second arithmetic device completes the individual processing. A processing resource estimation unit that holds a second individual processing resource estimation value that is an estimation value of a processing resource necessary to perform the processing, based on communication resources used for past communication with the first arithmetic device Based on the estimated first communication resource estimation value, which is a necessary communication resource with the first arithmetic device, and the communication resource used for past communication with the second arithmetic device. A communication resource estimation unit that holds a second communication resource estimation value that is a necessary communication resource with the second arithmetic device, the first individual processing resource estimation value, and the second Individual processing resource estimate, the first communication resource estimate and the first Based of the communication resource estimates, the a processing sharing control unit including a processing sharing pattern generation unit for determining the sharing of individual processing to the first computing device and the second computing device,
An arithmetic system comprising:
(Appendix 11)
The first arithmetic unit estimates a processing resource value necessary for completing the individual processing included in the overall processing to obtain a first individual processing resource estimation value,
A second arithmetic unit estimates an estimated value of processing resources necessary to complete the individual processing to obtain a second individual processing resource estimated value;
Estimating necessary communication resources with the first arithmetic device based on communication resources used for past communication with the first arithmetic device to obtain a first communication resource estimate ,
Based on communication resources used for past communication with the second arithmetic device, necessary communication resources with the second arithmetic device are estimated to obtain a second communication resource estimate. ,
Based on the first individual processing resource estimation value, the second individual processing resource estimation value, the first communication resource estimation value, and the second communication resource estimation value, the first arithmetic device and the second 2. A processing sharing control method, wherein the sharing of the individual processing to the two arithmetic devices is determined.
(Appendix 12)
A computer provided in the processing sharing control device,
A first individual processing resource estimated value that is an estimated value of processing resources necessary for the first arithmetic unit to complete individual processing included in the overall processing, and a second arithmetic unit to complete the individual processing; Processing resource estimation means for holding a second individual processing resource estimation value that is an estimation value of processing resources required for
A first communication resource estimation value, which is a communication resource required between the first arithmetic device, estimated based on communication resources used for past communication with the first arithmetic device; And a second communication resource estimation value, which is a communication resource necessary for the second arithmetic device, estimated based on communication resources used for past communication with the second arithmetic device. Communication resource estimation means for holding
Based on the first individual processing resource estimation value, the second individual processing resource estimation value, the first communication resource estimation value, and the second communication resource estimation value, the first arithmetic device and the second A processing sharing control program that functions as processing sharing pattern generation means for determining sharing of the individual processing to two arithmetic devices.

本発明の活用例として、クライアント−サーバ間における連携処理の最適化がある。すなわち、クライアントとサーバの全体を1つの演算装置とみなし、その演算装置に所定の処理を実行させる。そのとき、その演算装置が全体として行う処理(全体処理)は、部分的な処理(個別処理)に分割できる処理であれば、処理の内容は任意である。例えば、全体処理は入力された画像の照合を行う処理で、個別処理はその画像の一部の照合を行う処理であってもよい。   As an application example of the present invention, there is optimization of cooperation processing between a client and a server. That is, the entire client and server are regarded as one arithmetic device, and the arithmetic device is caused to execute predetermined processing. At this time, as long as the processing (overall processing) performed by the arithmetic device as a whole can be divided into partial processing (individual processing), the content of the processing is arbitrary. For example, the entire process may be a process of collating an input image, and the individual process may be a process of collating a part of the image.

1、B1、B1−1、B1−2 処理分担制御装置
2、・・・、N、A1、A1−1、A1−2 演算装置
11 処理資源推定部
12 通信資源推定部
13、B131 処理分担パターン生成部
A11 個別装置用処理分担パターン入力部
A12 個別処理実行部
B13 処理分担パターン管理部
B132 処理分担パターン配信部
C1、C2 統合演算装置
5 CPU
6 メモリ
7 通信手段
DESCRIPTION OF SYMBOLS 1, B1, B1-1, B1-2 Processing share control apparatus 2, ..., N, A1, A1-1, A1-2 Arithmetic apparatus 11 Processing resource estimation part 12 Communication resource estimation part 13, B131 Process sharing pattern Generation unit A11 Individual device processing sharing pattern input unit A12 Individual processing execution unit B13 Processing sharing pattern management unit B132 Processing sharing pattern distribution unit C1, C2 Integrated arithmetic device 5 CPU
6 Memory 7 Communication means

Claims (10)

第1の演算装置が全体処理に含まれる個別処理を完遂するために必要な処理資源の推定値である第1の個別処理資源推定値、及び第2の演算装置が前記個別処理を完遂するために必要な処理資源の推定値である第2の個別処理資源推定値を保持する処理資源推定部と、
前記第1の演算装置との間の過去の通信に用いられた通信資源に基づいて推定された、前記第1の演算装置との間に必要な通信資源である第1の通信資源推定値、及び前記第2の演算装置との間の過去の通信に用いられた通信資源に基づいて推定された、前記第2の演算装置との間に必要な通信資源である第2の通信資源推定値を保持する通信資源推定部と、
前記第1の個別処理資源推定値、前記第2の個別処理資源推定値、前記第1の通信資源推定値及び前記第2の通信資源推定値に基づいて、前記第1の演算装置及び前記第2の演算装置への前記個別処理の分担を決定する処理分担パターン生成部と、
を備えることを特徴とする処理分担制御装置。
A first individual processing resource estimated value that is an estimated value of processing resources necessary for the first arithmetic unit to complete individual processing included in the overall processing, and a second arithmetic unit to complete the individual processing; A processing resource estimation unit that holds a second individual processing resource estimation value that is an estimation value of the processing resource required for
A first communication resource estimation value, which is a communication resource required between the first arithmetic device, estimated based on communication resources used for past communication with the first arithmetic device; And a second communication resource estimation value, which is a communication resource necessary for the second arithmetic device, estimated based on communication resources used for past communication with the second arithmetic device. A communication resource estimation unit holding
Based on the first individual processing resource estimation value, the second individual processing resource estimation value, the first communication resource estimation value, and the second communication resource estimation value, the first arithmetic device and the second A processing sharing pattern generation unit that determines the sharing of the individual processing to the two arithmetic devices;
A process sharing control apparatus comprising:
前記第1の通信資源推定値及び前記第2の通信資源推定値は、前記個別処理の実行開始前及び完遂後の各々について求められる
を備えることを特徴とする請求項1に記載の処理分担制御装置。
2. The process sharing control according to claim 1, wherein the first communication resource estimation value and the second communication resource estimation value are obtained for each of before and after execution of the individual process is started. apparatus.
前記第1の個別処理資源推定値、前記第2の個別処理資源推定値は、前記第1の演算装置及び前記第2の演算装置の各々が前記個別処理を実行したときの、全処理能力に対する、使用された処理能力の比である処理能力使用率とに基づいて求められる
を備えることを特徴とする請求項1又は2に記載の処理分担制御装置。
The first individual processing resource estimation value and the second individual processing resource estimation value correspond to the total processing capacity when each of the first arithmetic device and the second arithmetic device executes the individual processing. The processing sharing control apparatus according to claim 1, wherein the processing sharing control apparatus is obtained based on a processing capacity usage rate that is a ratio of used processing capacities.
前記個別処理は、前記全体処理の入力情報のうちの所定の分担量の処理であり、
前記第1の個別処理資源推定値及び前記第2の個別処理資源推定値は、前記分担量に基づいて求められる
ことを特徴とする請求項1乃至3のいずれかに記載の処理分担制御装置。
The individual processing is processing of a predetermined share of input information of the overall processing,
4. The process sharing control apparatus according to claim 1, wherein the first individual process resource estimated value and the second individual process resource estimated value are obtained based on the shared amount. 5.
前記第1の通信資源推定値及び前記第2の通信資源推定値は、前記分担量に対する前記個別処理の結果として出力される出力情報量に基づいて求められる
ことを特徴とする請求項4に記載の処理分担制御装置。
The first communication resource estimated value and the second communication resource estimated value are obtained based on an output information amount output as a result of the individual processing with respect to the shared amount. Processing sharing control device.
前記分担を、前記第1の演算装置及び前記第2の演算装置に出力する処理分担パターン配信部
を備えることを特徴とする請求項1乃至5のいずれかに記載の処理分担制御装置。
The processing sharing control device according to claim 1, further comprising a processing sharing pattern distribution unit that outputs the sharing to the first computing device and the second computing device.
演算部と、
前記演算部が全体処理に含まれる個別処理を完遂するために必要な処理資源の推定値である第1の個別処理資源推定値、及び外部の演算装置が前記個別処理を完遂するために必要な処理資源の推定値である第2の個別処理資源推定値を保持する処理資源推定部と、
前記演算装置との間の過去の通信に用いられた通信資源に基づいて推定された、前記演算装置との間に必要な通信資源である通信資源推定値を保持する通信資源推定部と、
前記第1の個別処理資源推定値、前記第2の個別処理資源推定値、及び前記通信資源推定値に基づいて、前記演算部及び前記演算装置への前記個別処理の分担を決定する処理分担パターン生成部と、
含む処理分担制御装置と、
を備えることを特徴とする演算装置。
An arithmetic unit;
A first individual processing resource estimated value that is an estimated value of processing resources necessary for the computing unit to complete individual processing included in the overall processing, and an external computing device necessary for completing the individual processing. A processing resource estimation unit that holds a second individual processing resource estimation value that is an estimation value of the processing resource;
A communication resource estimation unit that holds a communication resource estimation value that is a necessary communication resource with the arithmetic device, estimated based on communication resources used in past communication with the arithmetic device;
A processing sharing pattern for determining the sharing of the individual processing to the computing unit and the computing device based on the first individual processing resource estimated value, the second individual processing resource estimated value, and the communication resource estimated value A generator,
Including a processing sharing control device,
An arithmetic device comprising:
第1の演算装置と、
第2の演算装置と、
前記第1の演算装置が全体処理に含まれる個別処理を完遂するために必要な処理資源の推定値である第1の個別処理資源推定値、及び前記第2の演算装置が前記個別処理を完遂するために必要な処理資源の推定値である第2の個別処理資源推定値を保持する処理資源推定部、前記第1の演算装置との間の過去の通信に用いられた通信資源に基づいて推定された、前記第1の演算装置との間に必要な通信資源である第1の通信資源推定値、及び前記第2の演算装置との間の過去の通信に用いられた通信資源に基づいて推定された、前記第2の演算装置との間に必要な通信資源である第2の通信資源推定値を保持する通信資源推定部、並びに前記第1の個別処理資源推定値、前記第2の個別処理資源推定値、前記第1の通信資源推定値及び前記第2の通信資源推定値に基づいて、前記第1の演算装置及び前記第2の演算装置への前記個別処理の分担を決定する処理分担パターン生成部を含む処理分担制御装置と、
を備えることを特徴とする演算システム。
A first arithmetic unit;
A second arithmetic unit;
A first individual processing resource estimated value that is an estimated value of processing resources required for the first arithmetic device to complete individual processing included in the overall processing, and the second arithmetic device completes the individual processing. A processing resource estimation unit that holds a second individual processing resource estimation value that is an estimation value of a processing resource necessary to perform the processing, based on communication resources used for past communication with the first arithmetic device Based on the estimated first communication resource estimation value, which is a necessary communication resource with the first arithmetic device, and the communication resource used for past communication with the second arithmetic device. A communication resource estimation unit that holds a second communication resource estimation value that is a necessary communication resource with the second arithmetic device, the first individual processing resource estimation value, and the second Individual processing resource estimate, the first communication resource estimate and the first Based of the communication resource estimates, the a processing sharing control unit including a processing sharing pattern generation unit for determining the sharing of individual processing to the first computing device and the second computing device,
An arithmetic system comprising:
第1の演算装置が全体処理に含まれる個別処理を完遂するために必要な処理資源値を推定して第1の個別処理資源推定値を求め、
第2の演算装置が前記個別処理を完遂するために必要な処理資源の推定値を推定して第2の個別処理資源推定値を求め、
前記第1の演算装置との間の過去の通信に用いられた通信資源に基づいて前記第1の演算装置との間に必要な通信資源を推定して、第1の通信資源推定値を求め、
前記第2の演算装置との間の過去の通信に用いられた通信資源に基づいて前記第2の演算装置との間に必要な通信資源を推定して、第2の通信資源推定値を求め、
前記第1の個別処理資源推定値、前記第2の個別処理資源推定値、前記第1の通信資源推定値及び前記第2の通信資源推定値に基づいて、前記第1の演算装置及び前記第2の演算装置への前記個別処理の分担を決定する
ことを特徴とする処理分担制御方法。
The first arithmetic unit estimates a processing resource value necessary for completing the individual processing included in the overall processing to obtain a first individual processing resource estimation value,
A second arithmetic unit estimates an estimated value of processing resources necessary to complete the individual processing to obtain a second individual processing resource estimated value;
Estimating necessary communication resources with the first arithmetic device based on communication resources used for past communication with the first arithmetic device to obtain a first communication resource estimate ,
Based on communication resources used for past communication with the second arithmetic device, necessary communication resources with the second arithmetic device are estimated to obtain a second communication resource estimate. ,
Based on the first individual processing resource estimation value, the second individual processing resource estimation value, the first communication resource estimation value, and the second communication resource estimation value, the first arithmetic device and the second 2. A processing sharing control method, wherein the sharing of the individual processing to the two arithmetic devices is determined.
処理分担制御装置が備えるコンピュータを、
第1の演算装置が全体処理に含まれる個別処理を完遂するために必要な処理資源の推定値である第1の個別処理資源推定値、及び第2の演算装置が前記個別処理を完遂するために必要な処理資源の推定値である第2の個別処理資源推定値を保持する処理資源推定手段と、
前記第1の演算装置との間の過去の通信に用いられた通信資源に基づいて推定された、前記第1の演算装置との間に必要な通信資源である第1の通信資源推定値、及び前記第2の演算装置との間の過去の通信に用いられた通信資源に基づいて推定された、前記第2の演算装置との間に必要な通信資源である第2の通信資源推定値を保持する通信資源推定手段と、
前記第1の個別処理資源推定値、前記第2の個別処理資源推定値、前記第1の通信資源推定値及び前記第2の通信資源推定値に基づいて、前記第1の演算装置及び前記第2の演算装置への前記個別処理の分担を決定する処理分担パターン生成手段
として機能させることを特徴とする処理分担制御プログラム。
A computer provided in the processing sharing control device,
A first individual processing resource estimated value that is an estimated value of processing resources necessary for the first arithmetic unit to complete individual processing included in the overall processing, and a second arithmetic unit to complete the individual processing; Processing resource estimation means for holding a second individual processing resource estimation value that is an estimation value of processing resources required for
A first communication resource estimation value, which is a communication resource required between the first arithmetic device, estimated based on communication resources used for past communication with the first arithmetic device; And a second communication resource estimation value, which is a communication resource necessary for the second arithmetic device, estimated based on communication resources used for past communication with the second arithmetic device. Communication resource estimation means for holding
Based on the first individual processing resource estimation value, the second individual processing resource estimation value, the first communication resource estimation value, and the second communication resource estimation value, the first arithmetic device and the second A processing sharing control program that functions as processing sharing pattern generation means for determining sharing of the individual processing to two arithmetic devices.
JP2012060860A 2012-03-16 2012-03-16 Processing sharing control device, calculation device, calculation system, processing sharing control method, and processing sharing control program Pending JP2013196174A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012060860A JP2013196174A (en) 2012-03-16 2012-03-16 Processing sharing control device, calculation device, calculation system, processing sharing control method, and processing sharing control program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012060860A JP2013196174A (en) 2012-03-16 2012-03-16 Processing sharing control device, calculation device, calculation system, processing sharing control method, and processing sharing control program

Publications (1)

Publication Number Publication Date
JP2013196174A true JP2013196174A (en) 2013-09-30

Family

ID=49395089

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012060860A Pending JP2013196174A (en) 2012-03-16 2012-03-16 Processing sharing control device, calculation device, calculation system, processing sharing control method, and processing sharing control program

Country Status (1)

Country Link
JP (1) JP2013196174A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015191358A (en) * 2014-03-27 2015-11-02 富士フイルム株式会社 Central person determination system, information terminal to be used by central person determination system, central person determination method, central person determination program, and recording medium
JP2020135512A (en) * 2019-02-21 2020-08-31 日本電気株式会社 Application execution device, method and program

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015191358A (en) * 2014-03-27 2015-11-02 富士フイルム株式会社 Central person determination system, information terminal to be used by central person determination system, central person determination method, central person determination program, and recording medium
US9721145B2 (en) 2014-03-27 2017-08-01 Fujifilm Corporation Central person determining system, information terminal used in the same, central person determining method, and recording medium for central person determining program
JP2020135512A (en) * 2019-02-21 2020-08-31 日本電気株式会社 Application execution device, method and program
JP7279401B2 (en) 2019-02-21 2023-05-23 日本電気株式会社 Application execution device, method and program

Similar Documents

Publication Publication Date Title
CN111381950B (en) Multi-copy-based task scheduling method and system for edge computing environment
CN105934928B (en) The dispatching method of user's request, device and system in distributed resource system
CN104516475B (en) Method and apparatus for managing the global chip power on multinuclear on-chip system
US9495206B2 (en) Scheduling and execution of tasks based on resource availability
KR101694310B1 (en) Apparatus and method for monitoring based on a multi-core processor
CN105487930A (en) Task optimization scheduling method based on Hadoop
JP6201530B2 (en) Information processing system, job management apparatus, control program for job management apparatus, and control method for information processing system
Pollard et al. Evaluation of an interference-free node allocation policy on fat-tree clusters
CN104035747B (en) Method and apparatus for parallel computation
CN109871270B (en) Scheduling scheme generation method and device
Singh et al. A genetic algorithm for scheduling workflow applications in unreliable cloud environment
JP4912927B2 (en) Task allocation apparatus and task allocation method
JP5660149B2 (en) Information processing apparatus, job scheduling method, and job scheduling program
JP6237170B2 (en) Allocation determination apparatus, control method, and program
US8028291B2 (en) Method and computer program product for job selection and resource allocation of a massively parallel processor
Li et al. Tapfinger: Task placement and fine-grained resource allocation for edge machine learning
CN114911579A (en) Simulation parallel computing method, device and equipment for power system and readable storage medium
JP2013196174A (en) Processing sharing control device, calculation device, calculation system, processing sharing control method, and processing sharing control program
Squillante et al. Analysis of job arrival patterns and parallel scheduling performance
JP4121525B2 (en) Method and computer system for controlling resource utilization
KR102195886B1 (en) Distributed processing system and operating method thereof
US11886901B2 (en) VM performance guaranteeing system and VM performance guaranteeing method
JP5983623B2 (en) Task placement apparatus and task placement method
US20190065282A1 (en) Information processing apparatus and information processing system
JP6707198B2 (en) Distributed arrangement apparatus, distributed arrangement system, and distributed arrangement method