JP2017016250A - Barrier synchronization device, barrier synchronization method, and program - Google Patents

Barrier synchronization device, barrier synchronization method, and program Download PDF

Info

Publication number
JP2017016250A
JP2017016250A JP2015129945A JP2015129945A JP2017016250A JP 2017016250 A JP2017016250 A JP 2017016250A JP 2015129945 A JP2015129945 A JP 2015129945A JP 2015129945 A JP2015129945 A JP 2015129945A JP 2017016250 A JP2017016250 A JP 2017016250A
Authority
JP
Japan
Prior art keywords
barrier synchronization
thread
notification
threads
core
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
JP2015129945A
Other languages
Japanese (ja)
Inventor
恵美子 宮崎
Emiko Miyazaki
恵美子 宮崎
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 JP2015129945A priority Critical patent/JP2017016250A/en
Publication of JP2017016250A publication Critical patent/JP2017016250A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Multi Processors (AREA)

Abstract

PROBLEM TO BE SOLVED: To provide a barrier synchronization device and the like capable of reducing the time required for barrier synchronization.SOLUTION: A barrier synchronization device 100 comprises: a notification unit 110 for generating a notification on the basis of the number of threads which have not reached a barrier synchronization point from among a plurality of threads in a parallel program; a processor control unit 120 for controlling an operation state of a processor core, which runs threads, out of processor cores included in a multi-core processor according to the notification; and a parallel program control unit 130 for changing the run state of threads according to the notification.SELECTED DRAWING: Figure 1

Description

本発明は、バリア同期装置、バリア同期方法及びプログラムに関する。   The present invention relates to a barrier synchronization apparatus, a barrier synchronization method, and a program.

一つのタスクが複数のプロセッサで行われる並列計算においては、当該一つのタスクがスレッド等と呼ばれるより小さな複数の処理単位に分割され、スレッドの各々が複数のプロセッサに割当てられて実行される。   In parallel computation in which one task is performed by a plurality of processors, the one task is divided into a plurality of smaller processing units called threads or the like, and each of the threads is assigned to a plurality of processors and executed.

上述したタスクは、1つのパッケージに複数のプロセッサコア(以下、「コア」と記載する場合がある)が封入されたマルチコアプロセッサにて実行される場合がある。マルチコアプロセッサの高速化に関する技術の一例として、インテル社のインテル ターボ・ブースト・テクノロジーと呼ばれる技術が存在する。この技術が採用されたマルチコアプロセッサにおいては、動作しているコアの数等に応じて、コアが定格の動作周波数と比較して高速な動作周波数で動作する。   The above-described task may be executed by a multi-core processor in which a plurality of processor cores (hereinafter sometimes referred to as “cores”) are enclosed in one package. As an example of a technology related to the acceleration of a multi-core processor, there is a technology called Intel's Intel Turbo Boost Technology. In a multi-core processor employing this technology, the core operates at a higher operating frequency than the rated operating frequency, depending on the number of operating cores and the like.

一方、複数のスレッドの間には、例えば一つのスレッドにおける処理結果を他のスレッドが用いる等、依存関係が生じる場合がある。そのため、依存関係がある複数のスレッドが実行される際には、複数のスレッドが予め定められた任意の箇所で処理を停止して待ち合わせを行う同期処理が行われる場合がある。この処理は、バリア同期と呼ばれる。バリア同期が行われる際には、先に終了したスレッドは、全てのスレッドが終了するまで動作を一時的に停止する。並列計算を高速化するためには、バリア同期に要する時間を短縮することが必要となる。   On the other hand, there may be a dependency relationship between a plurality of threads, for example, the processing result of one thread is used by another thread. For this reason, when a plurality of threads having a dependency relationship are executed, there is a case where a synchronization process is performed in which the plurality of threads stop processing and wait at an arbitrary predetermined position. This process is called barrier synchronization. When barrier synchronization is performed, the previously terminated thread temporarily stops operating until all threads are terminated. In order to speed up parallel computation, it is necessary to shorten the time required for barrier synchronization.

特許文献1には、バリア同期装置が記載されている。特許文献1に記載のバリア同期装置は、第1のレジスタにより指定されたバリア同期の対象となる全てのプロセッサからの同期リクエストが第2のレジスタに保持されると、当該プロセッサにバリア同期が成立した旨を通知する手段を含む。   Patent Literature 1 describes a barrier synchronization device. In the barrier synchronization device described in Patent Document 1, when synchronization requests from all processors that are targets of barrier synchronization specified by the first register are held in the second register, barrier synchronization is established in the processor. Including means for notifying

特許文献2には、バリア同期方法等が記載されている。この方法は、バリア同期処理の実行時に、設定されたバリア同期中断プロセッサ数と同じ個数のプロセッサがバリア同期ポイントに達した時点で、バリア同期機構にバリア同期ポイントに到達したプロセッサ全てに割り込みを発生させる。   Patent Document 2 describes a barrier synchronization method and the like. In this method, when executing the barrier synchronization processing, when the same number of processors as the number of interrupted interrupted processors reaches the barrier synchronization point, the barrier synchronization mechanism generates an interrupt to all the processors that have reached the barrier synchronization point. Let

特開平09−6734号公報JP 09-6734 A 特開平11−312148号公報JP 11-31148 A

特許文献1又は2に記載の技術においては、バリア同期に関連するスレッドの実行速度に関する考慮が必ずしもなされていない。すなわち、特許文献1又は2に記載の技術では、バリア同期に要する時間を短縮することが困難である。   In the technique described in Patent Document 1 or 2, consideration is not necessarily given to the thread execution speed related to barrier synchronization. That is, with the technique described in Patent Document 1 or 2, it is difficult to shorten the time required for barrier synchronization.

本発明は、上記課題を解決するためになされたものであって、バリア同期に要する時間の短縮を可能にするバリア同期装置等を提供することを主たる目的とする。   The present invention has been made in order to solve the above-described problems, and has as its main object to provide a barrier synchronization device and the like that can shorten the time required for barrier synchronization.

本発明の一態様におけるバリア同期装置は、並列プログラムにおける複数のスレッドのうち、バリア同期点に未到達であるスレッドの数に基づいて通知を発生する通知手段と、マルチコアプロセッサに含まれるプロセッサコアのうち、スレッドを実行するプロセッサコアの動作状態を通知に応じて制御するプロセッサ制御手段と、通知に応じて、スレッドの実行状態を変更する並列プログラム制御手段とを備える。   A barrier synchronization apparatus according to an aspect of the present invention includes a notification unit that generates a notification based on the number of threads that have not reached a barrier synchronization point among a plurality of threads in a parallel program, and a processor core included in a multicore processor. Of these, processor control means for controlling the operating state of the processor core executing the thread according to the notification, and parallel program control means for changing the execution state of the thread according to the notification.

本発明の一態様におけるバリア同期方法は、並列プログラムにおける複数のスレッドのうち、バリア同期点に未到達であるスレッドの数に基づいて通知を発生し、マルチコアプロセッサに含まれるプロセッサコアのうち、スレッドを実行するプロセッサコアの動作状態を通知に応じて制御し、通知手段からの通知に応じて、スレッドの実行状態を変更し、スレッドを実行するプロセッサコアの動作速度を変更する。   The barrier synchronization method according to one aspect of the present invention generates a notification based on the number of threads that have not reached the barrier synchronization point among a plurality of threads in a parallel program, and the threads among the processor cores included in the multicore processor The operating state of the processor core that executes is controlled according to the notification, the execution state of the thread is changed according to the notification from the notification means, and the operating speed of the processor core that executes the thread is changed.

本発明の一態様におけるプログラムは、コンピュータに、並列プログラムにおける複数のスレッドのうち、バリア同期点に未到達であるスレッドの数に基づいて通知を発生する処理と、マルチコアプロセッサに含まれるプロセッサコアのうち、スレッドを実行するプロセッサコアの動作状態を通知に応じて制御する処理と、通知手段からの通知に応じて、スレッドの実行状態を変更する処理と、スレッドを実行するプロセッサコアの動作速度を変更する処理とを実行させる。   A program according to an aspect of the present invention includes a process for generating notification based on the number of threads that have not reached the barrier synchronization point among a plurality of threads in a parallel program, and a processor core included in a multicore processor. Among them, the processing for controlling the operating state of the processor core that executes the thread according to the notification, the processing for changing the execution state of the thread according to the notification from the notification means, and the operating speed of the processor core that executes the thread The process to change is executed.

本発明によると、バリア同期に要する時間の短縮を可能にするバリア同期装置を提供することができる。   According to the present invention, it is possible to provide a barrier synchronization apparatus that can shorten the time required for barrier synchronization.

本発明の第1の実施形態におけるバリア同期装置の構成を示す図である。It is a figure which shows the structure of the barrier synchronization apparatus in the 1st Embodiment of this invention. 本発明の第1の実施形態におけるバリア同期装置が対象とする並列プログラムの動作例を示す図である。It is a figure which shows the operation example of the parallel program which the barrier synchronization apparatus in the 1st Embodiment of this invention makes object. 本発明の第1の実施形態におけるバリア同期装置の通知部にて用いられる管理テーブルの一例を示す図である。It is a figure which shows an example of the management table used in the notification part of the barrier synchronization apparatus in the 1st Embodiment of this invention. 本発明の第1の実施形態におけるバリア同期装置の動作の一例を示すフローチャートである。It is a flowchart which shows an example of operation | movement of the barrier synchronization apparatus in the 1st Embodiment of this invention. 本発明の第1の実施形態におけるバリア同期装置の動作の別の一例を示すフローチャートである。It is a flowchart which shows another example of operation | movement of the barrier synchronization apparatus in the 1st Embodiment of this invention. 本発明の第1の実施形態におけるバリア同期装置によるプロセッサコアの動作状態及び動作速度の変更例を示す図である。It is a figure which shows the example of a change of the operation state and operation speed of a processor core by the barrier synchronization apparatus in the 1st Embodiment of this invention. 本発明の第1の実施形態の変形例におけるバリア同期装置の構成を示す図である。It is a figure which shows the structure of the barrier synchronizer in the modification of the 1st Embodiment of this invention. 本発明の各実施形態におけるバリア同期装置等を実現する情報処理装置の一構成例を示す図である。It is a figure which shows the example of 1 structure of the information processing apparatus which implement | achieves the barrier synchronization apparatus etc. in each embodiment of this invention.

本発明の各実施形態について、添付の図面を参照して説明する。本発明の各実施形態において、各装置の各構成要素は、機能単位のブロックを示している。各装置の各構成要素は、例えば図8に示すような情報処理装置500とソフトウェアとの任意の組み合わせにより実現することができる。情報処理装置500は、一例として、以下のような構成を含む。   Embodiments of the present invention will be described with reference to the accompanying drawings. In each embodiment of the present invention, each component of each device represents a functional unit block. Each component of each device can be realized by an arbitrary combination of an information processing device 500 and software as shown in FIG. 8, for example. The information processing apparatus 500 includes the following configuration as an example.

・CPU(Central Processing Unit)501
・ROM(Read Only Memory)502
・RAM(Ramdom Access Memory)503
・RAM503にロードされるプログラム504
・プログラム504を格納する記憶装置505
・記憶媒体506の読み書きを行うドライブ装置507
・通信ネットワーク509と接続する通信インターフェース508
・データの入出力を行う入出力インターフェース510
・各構成要素を接続するバス511
なお、CPU501は、マルチコアプロセッサであってもよい。図8に示す例では、CPU501は、コア501−1から501−4の4つのコアを含む。後述する本発明の各実施形態におけるバリア同期装置が同期の対象とする並列プログラムは、マルチコアプロセッサにて実行されることを想定する。また、各装置の実現方法には様々な変形例がある。例えば、各装置は、専用の装置として実現することができる。また、各装置は、複数の装置の組み合わせにより実現することができる。
CPU (Central Processing Unit) 501
ROM (Read Only Memory) 502
-RAM (Random Access Memory) 503
A program 504 loaded into the RAM 503
A storage device 505 for storing the program 504
A drive device 507 that reads / writes data from / to the storage medium 506
Communication interface 508 connected to the communication network 509
An input / output interface 510 for inputting / outputting data
-Bus 511 connecting each component
Note that the CPU 501 may be a multi-core processor. In the example illustrated in FIG. 8, the CPU 501 includes four cores 501-1 to 501-4. It is assumed that a parallel program to be synchronized by a barrier synchronization apparatus in each embodiment of the present invention to be described later is executed by a multi-core processor. In addition, there are various modifications to the method for realizing each device. For example, each device can be realized as a dedicated device. Each device can be realized by a combination of a plurality of devices.

(第1の実施形態)
まず、本発明の第1の実施形態について説明する。図1は、本発明の第1の実施形態におけるバリア同期装置の構成を示す図である。図2は、本発明の第1の実施形態におけるバリア同期装置が対象とする並列プログラムの動作例を示す図である。図3は、本発明の第1の実施形態におけるバリア同期装置の通知部にて用いられる管理テーブルの一例を示す図である。図4は、本発明の第1の実施形態におけるバリア同期装置の動作の一例を示すフローチャートである。図5は、本発明の第1の実施形態におけるバリア同期装置の動作の別の一例を示すフローチャートである。図6は、本発明の第1の実施形態におけるバリア同期装置によるプロセッサコアの動作状態及び動作速度の変更例を示す図である。
(First embodiment)
First, a first embodiment of the present invention will be described. FIG. 1 is a diagram showing a configuration of a barrier synchronization apparatus according to the first embodiment of the present invention. FIG. 2 is a diagram illustrating an operation example of the parallel program targeted by the barrier synchronization apparatus according to the first embodiment of the present invention. FIG. 3 is a diagram illustrating an example of a management table used in the notification unit of the barrier synchronization apparatus according to the first embodiment of the present invention. FIG. 4 is a flowchart showing an example of the operation of the barrier synchronization apparatus according to the first embodiment of the present invention. FIG. 5 is a flowchart showing another example of the operation of the barrier synchronization apparatus according to the first embodiment of the present invention. FIG. 6 is a diagram illustrating a modification example of the operation state and the operation speed of the processor core by the barrier synchronization apparatus according to the first embodiment of the present invention.

図1に示すとおり、本発明の第1の実施形態におけるバリア同期装置100は、通知部110と、プロセッサ制御部120と、並列プログラム制御部130と、速度変更部140とを有する。通知部110は、並列プログラムにおける複数のスレッドのうち、バリア同期点に未到達であるスレッドの数に基づいて通知を発生する。プロセッサ制御部120は、マルチコアプロセッサに含まれるプロセッサコアのうち、スレッドを実行するプロセッサコアの動作状態を通知部110からの通知に応じて制御する。並列プログラム制御部130は、通知部110からの通知に応じて、スレッドの実行状態を変更する。速度変更部140は、スレッドを実行するプロセッサコアの動作速度を変更する。   As illustrated in FIG. 1, the barrier synchronization apparatus 100 according to the first embodiment of the present invention includes a notification unit 110, a processor control unit 120, a parallel program control unit 130, and a speed change unit 140. The notification unit 110 generates a notification based on the number of threads that have not reached the barrier synchronization point among a plurality of threads in the parallel program. The processor control unit 120 controls the operation state of the processor core that executes a thread among the processor cores included in the multi-core processor in accordance with the notification from the notification unit 110. The parallel program control unit 130 changes the execution state of the thread in response to the notification from the notification unit 110. The speed changing unit 140 changes the operating speed of the processor core that executes the thread.

なお、本発明の第1の実施形態におけるバリア同期装置100にてバリア同期の対象となる並列プログラムは、図8に示すようなマルチコアプロセッサを含む情報処理装置において実行されることを想定する。すなわち、本実施形態におけるバリア同期装置100にてバリア同期の対象となる並列プログラムは、マルチコアプロセッサにおいて実行されることを想定する。並列プログラムの少なくとも一部の処理は、各々が当該並列プログラムの部分的な処理である複数のスレッドに分けられる。また、スレッドは、例えばマルチコアプロセッサの各々のコアにて並列に実行される。   Note that it is assumed that the parallel program to be subjected to barrier synchronization in the barrier synchronization apparatus 100 according to the first embodiment of the present invention is executed in an information processing apparatus including a multi-core processor as shown in FIG. That is, it is assumed that the parallel program to be subjected to barrier synchronization in the barrier synchronization apparatus 100 according to the present embodiment is executed by a multicore processor. At least a part of the processing of the parallel program is divided into a plurality of threads, each of which is a partial processing of the parallel program. Further, the thread is executed in parallel in each core of the multi-core processor, for example.

本実施形態においては、図2に示す並列プログラムの例を用いてバリア同期装置100の構成及び動作を説明する。図2に示す例において、並列プログラム200の処理の一部は、スレッド201−1から201−4の各々に処理が分けられて実行される。また、スレッド201−1から201−4の各々は、図8に示す情報処理装置500等が備えるCPU501に含まれるコア551−1から551−4にてそれぞれ実行される。すなわち、図2に示す例では、スレッド201−1はコア551−1にて、スレッド201−2はコア551−2にて、スレッド201−3はコア551−3にて、スレッド201−4はコア551−4にて実行される。   In the present embodiment, the configuration and operation of the barrier synchronization apparatus 100 will be described using the example of the parallel program shown in FIG. In the example shown in FIG. 2, a part of the processing of the parallel program 200 is executed by dividing the processing into each of the threads 201-1 to 201-4. Further, each of the threads 201-1 to 201-4 is executed by the cores 551-1 to 551-4 included in the CPU 501 provided in the information processing apparatus 500 shown in FIG. That is, in the example shown in FIG. 2, the thread 201-1 is the core 551-1, the thread 201-2 is the core 551-2, the thread 201-3 is the core 551-3, and the thread 201-4 is It is executed by the core 551-4.

また、本実施形態においては、CPU501に含まれるコア551−1から551−4の各々の動作速度(例えば動作周波数)は、実際に動作を行うコアの数に応じて変更可能であることを想定する。例えば、図2に示すコア551−1から551−4のうち、一部のコアが予め定められた停止状態である場合には、通常の動作を行う他のコアは、予め定められた通常の動作速度と比較して高い動作速度にて実行する。例えば、上述した通常の動作を行う他のコアは、予め定められた定格の動作周波数と比較して高い動作周波数にて実行する。   In the present embodiment, it is assumed that the operating speed (for example, operating frequency) of each of the cores 551-1 to 551-4 included in the CPU 501 can be changed according to the number of cores that actually perform the operation. To do. For example, when some of the cores 551-1 to 551-4 shown in FIG. 2 are in a predetermined stop state, other cores that perform normal operations are Execute at a higher operating speed compared to the operating speed. For example, the other core that performs the normal operation described above executes at a higher operating frequency compared to a predetermined rated operating frequency.

この場合において、当該他のコアの動作速度は、CPU501に対して指定された熱設計電力や、通常の動作を行うコアの数等に応じて適宜定められる。また、停止状態は、例えば、コアに対してクロックや電力等の供給が停止した状態である。この停止状態は、コアにおける負荷や発熱量の任意の指標の値等が予め定められた大きさより小さい場合であってもよい。   In this case, the operation speed of the other core is appropriately determined according to the thermal design power designated for the CPU 501, the number of cores performing normal operation, and the like. In addition, the stopped state is a state in which, for example, supply of a clock or power to the core is stopped. This stopped state may be a case where the load on the core, the value of an arbitrary index of the heat generation amount, and the like are smaller than a predetermined size.

なお、本実施形態におけるバリア同期装置100と、バリア同期装置100がバリア同期の対象とする並列プログラムとは、例えば同一の情報処理装置にて実行されるが、これに限られない。   Note that the barrier synchronization apparatus 100 and the parallel program that the barrier synchronization apparatus 100 targets for barrier synchronization are executed by the same information processing apparatus, for example, but are not limited thereto.

続いて、本実施形態におけるバリア同期装置100の各構成要素について説明する。   Subsequently, each component of the barrier synchronization apparatus 100 according to the present embodiment will be described.

通知部110は、バリア同期点に未到達であるスレッドの数に基づいて通知を発生する。上述したスレッドの各々は、同じ並列プログラムの処理の一部に関連する。すなわち、このスレッドの各々は、バリア同期装置100が同期の対象とする並列プログラムに含まれる。   The notification unit 110 generates a notification based on the number of threads that have not reached the barrier synchronization point. Each of the threads described above is associated with a part of the processing of the same parallel program. That is, each of the threads is included in a parallel program that is synchronized with the barrier synchronization apparatus 100.

スレッドがバリア同期点に未到達であるとは、当該スレッドの処理が、バリア同期点として予め定められた処理に至っていないことを示す。言い換えると、スレッドがバリア同期点に到達したとは、バリア同期点として予め定められた処理に処理が進んだことを示す。バリア同期点に到達したスレッドは、並列プログラムに含まれる他の全てのスレッドが到達するまで処理を一時的に停止する。並列プログラムに含まれる全てのスレッドがバリア同期点に到達すると、並列プログラムに含まれるスレッドの各々は、バリア同期点として予め定められた処理から後の処理の実行を再開する。   The fact that a thread has not reached the barrier synchronization point indicates that the processing of the thread has not reached the process predetermined as the barrier synchronization point. In other words, the fact that the thread has reached the barrier synchronization point indicates that the processing has progressed to processing predetermined as the barrier synchronization point. The thread that has reached the barrier synchronization point temporarily stops processing until all other threads included in the parallel program arrive. When all the threads included in the parallel program reach the barrier synchronization point, each of the threads included in the parallel program resumes the execution of the subsequent process from the process predetermined as the barrier synchronization point.

通知は、バリア同期装置100が備える他の構成要素を主たる対象とする。また、通知は、ハードウェア又はソフトウェアの割り込みの形式にて行われる。ただし、この通知は、バリア同期装置100の他の構成要素が当該通知に基づいて動作することが可能である任意の形式であってもよい。   The notification is mainly targeted for other components included in the barrier synchronization apparatus 100. Notification is performed in the form of hardware or software interruption. However, this notification may be in any format that allows other components of the barrier synchronization apparatus 100 to operate based on the notification.

通知部110が通知を発生する基準となるスレッドの数は、例えば、マルチコアプロセッサにおいて、通常の動作を行うコアの動作速度を高めることが可能になるコアの数に応じて定められる。例えば、バリア同期点に未到達であるスレッドの数が減少し、当該スレッドの各々を実行するマルチコアプロセッサにて通常の動作を行うコアの動作速度を高めることが可能になる数に至った場合に、通知部110は通知を発生する。   For example, in the multi-core processor, the number of threads serving as a reference for the notification unit 110 to generate a notification is determined according to the number of cores capable of increasing the operating speed of the core that performs a normal operation. For example, when the number of threads that have not reached the barrier synchronization point decreases, and the number of threads that can increase the operating speed of the core that performs normal operations in the multi-core processor that executes each of the threads is reached. The notification unit 110 generates a notification.

一例として、図2に示すCPU501において、1つのコアのみが動作し、他のコアが停止状態である場合に当該1つのコアの動作速度を高めることが可能であることを想定する。この例においては、通知部110は、バリア同期点に未到達であるスレッドの数が1つである場合に通知を発生する。   As an example, in the CPU 501 illustrated in FIG. 2, it is assumed that only one core operates and the operation speed of the one core can be increased when the other cores are stopped. In this example, the notification unit 110 generates a notification when the number of threads that have not reached the barrier synchronization point is one.

なお、通知部110は、バリア同期点に未到達であるスレッドの数が2つ以上の任意の数である場合に通知を発生してもよい。図2に示すCPU501において、例えば2つのコアが停止状態である場合に、動作する2つのコアの動作速度を高めることが可能であれば、通知部110は、バリア同期点に未到達であるスレッドの数が2つである場合に通知を発生する。   Note that the notification unit 110 may generate a notification when the number of threads that have not reached the barrier synchronization point is an arbitrary number of two or more. In the CPU 501 illustrated in FIG. 2, for example, when two cores are in a stopped state, the notification unit 110 may be a thread that has not reached the barrier synchronization point if the operating speed of the two operating cores can be increased. Notification is generated when there are two.

また、一部のマルチコアプロセッサにおいては、動作するコアの数に応じて、そのコアの動作速度が変更される場合がある。このようなマルチコアプロセッサでは、例えば動作するコアが2つである場合には、通常の動作速度と比較して高い動作速度が設定される。そして、動作するコアが1つである場合には、動作するコアが2つである場合と比較して更に高い動作速度が設定される。通知部110は、上述したマルチコアプロセッサにおいて実行されるスレッドを対象とする場合には、バリア同期点に未到達であるスレッドの数が1つである場合と、2つである場合との両方の場合において通知を発生してもよい。   In some multicore processors, the operating speed of the core may be changed according to the number of operating cores. In such a multi-core processor, for example, when there are two operating cores, a higher operation speed is set as compared with a normal operation speed. When there is one operating core, a higher operating speed is set as compared with the case where there are two operating cores. When the notification unit 110 targets threads executed in the multi-core processor described above, both the case where the number of threads that have not reached the barrier synchronization point is one and the case where the number is two are both. Notification may be generated in some cases.

このように通知部110が通知を発生することで、他の構成要素が、バリア同期点に未到達であるスレッドを実行するコアの動作速度を高めるように制御することが可能となる。   When the notification unit 110 generates a notification in this way, it is possible to control other components to increase the operating speed of the core that executes a thread that has not reached the barrier synchronization point.

更に、通知部110は、バリア同期点に未到達であるスレッドが0である場合に通知を発生してもよい。この場合には、通知部110は、バリア同期点に未到達であるスレッドが1以上である場合と区別可能な形式にて通知してもよい。
すなわち、通知部110は、バリア同期点に未到達であるスレッドの数に応じて通知の形式を変更してもよい。なお、通知部110は、バリア同期点に未到達であるスレッドの数に関わらず、同じ形式にて通知を発生してもよい。この場合には、例えば、後述するプロセッサ制御部130や速度変更部140等が、バリア同期点に未到達であるスレッドの数に応じた制御を行う。
Further, the notification unit 110 may generate a notification when the number of threads that have not reached the barrier synchronization point is zero. In this case, the notification unit 110 may notify in a format that can be distinguished from the case where the number of threads that have not reached the barrier synchronization point is one or more.
That is, the notification unit 110 may change the notification format according to the number of threads that have not reached the barrier synchronization point. Note that the notification unit 110 may generate the notification in the same format regardless of the number of threads that have not reached the barrier synchronization point. In this case, for example, the processor control unit 130 and the speed change unit 140 described later perform control according to the number of threads that have not reached the barrier synchronization point.

通知部110は、図3に示す管理テーブル111を参照する等して、バリア同期点に未到達であるスレッドの数に関する情報を取得する。図3に示す管理テーブル111は、スレッド状態112と、同期待ちスレッド数113との2つの情報を含む。   The notification unit 110 acquires information regarding the number of threads that have not reached the barrier synchronization point by referring to the management table 111 illustrated in FIG. The management table 111 shown in FIG. 3 includes two pieces of information: a thread state 112 and a synchronization waiting thread number 113.

管理テーブル111において、スレッド状態112は、バリア同期装置100が同期の対象とする並列プログラムに含まれるスレッドの各々に関するバリア同期点への到達の状況を表す。例えば、バリア同期点に未到達であるスレッドは“1”、バリア同期点に到達したスレッドは“0”として表される。   In the management table 111, the thread state 112 represents a state of arrival at the barrier synchronization point for each of the threads included in the parallel program to be synchronized by the barrier synchronization apparatus 100. For example, a thread that has not reached the barrier synchronization point is represented as “1”, and a thread that has reached the barrier synchronization point is represented as “0”.

図3に示す例では、スレッド状態112は“1111”である。これは、バリア同期装置100が同期の対象とする並列プログラムに含まれるスレッドが4つであり、そのいずれもがバリア同期点に未到達であることを示す。   In the example illustrated in FIG. 3, the thread state 112 is “1111”. This indicates that there are four threads included in the parallel program to be synchronized by the barrier synchronization apparatus 100, and none of them has reached the barrier synchronization point.

また、管理テーブル111において、同期待ちスレッド数は、バリア同期点に未到達であるスレッドの数を示す。図3に示す例では、バリア同期点に未到達であるスレッドの数は4つである。   In the management table 111, the number of threads waiting for synchronization indicates the number of threads that have not reached the barrier synchronization point. In the example shown in FIG. 3, the number of threads that have not reached the barrier synchronization point is four.

なお、管理テーブルは、例えばCPU501が備えるレジスタ等にて保持されてもよいし、その他の任意の記憶装置に記憶されてもよい。また、管理テーブルにて管理される情報は、例えばコア551−1から551−4の各々によってスレッドの状況に応じて更新されてもよいし、他の任意の手段にて適宜更新されてもよい。   The management table may be held in, for example, a register provided in the CPU 501 or may be stored in any other storage device. The information managed in the management table may be updated according to the thread status by each of the cores 551-1 to 551-4, for example, or may be updated as appropriate by any other means. .

また、通知部110は、図3に示す管理テーブル111の参照とは異なる任意の手順にてバリア同期点に未到達であるスレッドの数に関する情報を取得してもよい。   Further, the notification unit 110 may acquire information regarding the number of threads that have not reached the barrier synchronization point by an arbitrary procedure different from the reference of the management table 111 illustrated in FIG.

プロセッサ制御部120は、通知部110からの通知に応じて、マルチコアプロセッサに含まれるプロセッサコアのうち、スレッドを実行するプロセッサコアの動作状態を制御する。   In response to the notification from the notification unit 110, the processor control unit 120 controls the operation state of the processor core that executes a thread among the processor cores included in the multi-core processor.

一例として、プロセッサ制御部120は、バリア同期点に未到達であるスレッドの数が、通常の動作を行うコアの動作速度を高めることが可能になる数に至った場合にスレッドを実行するコアの動作状態を変更する。この場合には、プロセッサ制御部120は、バリア同期点に到達したスレッドを実行するコアを上述した停止状態等に変更するように、コアの動作状態を制御する。このような制御により、一部のコアが停止状態である場合に通常の動作を行う他のコアを通常の動作速度と比較して高い動作速度にて実行させるプロセッサにおいて、通常の動作を行うコアの動作速度を高めることが可能となる。   As an example, the processor control unit 120 determines the number of cores that execute a thread when the number of threads that have not reached the barrier synchronization point reaches a number that can increase the operating speed of the core that performs normal operations. Change the operating state. In this case, the processor control unit 120 controls the operating state of the core so as to change the core that executes the thread that has reached the barrier synchronization point to the above-described stopped state or the like. With such control, a core that performs normal operations in a processor that executes other cores that perform normal operations at a higher operation speed than normal operation speeds when some cores are stopped. It is possible to increase the operation speed of the.

すなわち、プロセッサ制御部120が上述の制御を行うことで、バリア同期点に未到達であり、処理が継続して行われるスレッドを実行するコアの動作速度を高めることが可能になる。そして、バリア同期点に未到達であるスレッドがバリア同期点に到達するまでに行われる処理に要する時間の短縮が可能となる。   That is, when the processor control unit 120 performs the above-described control, it is possible to increase the operating speed of the core that executes the thread that has not reached the barrier synchronization point and is continuously processed. Then, it is possible to reduce the time required for processing performed until a thread that has not reached the barrier synchronization point reaches the barrier synchronization point.

なお、プロセッサ制御部120は、バリア同期点に未到達であり、処理が継続して行われるスレッドを実行するコアの動作速度を高めることが可能となる任意の状態になるように、コアの動作状態を制御してもよい。つまり、プロセッサ制御部120は、バリア同期点に到達したスレッドを実行するコアを上述した停止状態等に変更しなくてもよい。プロセッサ制御部120が制御するコアの動作状態は、スレッドが実行されるマルチコアプロセッサの仕様等に応じて適宜定められる。   Note that the processor control unit 120 does not reach the barrier synchronization point and operates the core so as to be in an arbitrary state in which it is possible to increase the operation speed of the core that executes a thread in which processing is continuously performed. The state may be controlled. That is, the processor control unit 120 may not change the core that executes the thread that has reached the barrier synchronization point to the above-described stopped state or the like. The operating state of the core controlled by the processor control unit 120 is appropriately determined according to the specifications of the multi-core processor on which threads are executed.

また、プロセッサ制御部120は、バリア同期点に未到達であるスレッドが0である場合に発生した通知に応じて、コアの動作を制御してもよい。この場合には、プロセッサ制御部120は、停止状態であるコアを通常の動作を行う状態に変更するように、コアの動作を制御する。   Further, the processor control unit 120 may control the operation of the core according to a notification that is generated when the number of threads that have not reached the barrier synchronization point is 0. In this case, the processor control unit 120 controls the operation of the core so as to change the stopped core to a state in which a normal operation is performed.

バリア同期点に未到達であるスレッドが0である場合には、並列プログラムに含まれる全てのスレッドにおける処理がバリア同期点に到達したことが想定される。すなわち、並列プログラムに含まれる全てのスレッドに関する同期処理が完了したと考えられる。そして、先行してバリア同期点に到達したスレッドを実行するコアは、例えば先にプロセッサ制御部120により行われた制御によって、停止状態であることが想定される。   When the number of threads that have not reached the barrier synchronization point is 0, it is assumed that the processing in all threads included in the parallel program has reached the barrier synchronization point. In other words, it is considered that the synchronization processing for all threads included in the parallel program has been completed. The core that executes the thread that has reached the barrier synchronization point in advance is assumed to be in a stopped state, for example, by the control performed by the processor control unit 120 first.

この場合に、プロセッサ制御部120は、スレッドの各々がバリア同期点から後の処理の実行を再開するよう、停止状態であるコアを通常の動作を行う状態に変更する。すなわち、このような制御により、スレッドの各々について、バリア同期点から後の処理の実行が開始される。   In this case, the processor control unit 120 changes the stopped core to a state in which a normal operation is performed so that each of the threads resumes execution of the subsequent processing from the barrier synchronization point. That is, under such control, execution of subsequent processing is started for each thread from the barrier synchronization point.

並列プログラム制御部130は、通知部110からの通知に応じて、スレッドの実行状態を変更する。   The parallel program control unit 130 changes the execution state of the thread in response to the notification from the notification unit 110.

一例として、並列プログラム制御部130は、バリア同期点に未到達であるスレッドの数が減少し、通常の動作を行うコアの動作速度を高めることが可能になる数に至った場合に、バリア同期に到達したスレッドの実行状態を変更する。この場合には、並列プログラム制御部130は、バリア同期点に到達したスレッドを停止するように、スレッドの動作状態を制御する。なお、本実施形態において、スレッドを停止するとは、スレッドの実行が一時的に中断されるように、スレッドの状態が設定されることを示す。   As an example, when the number of threads that have not reached the barrier synchronization point decreases and the parallel program control unit 130 reaches a number that makes it possible to increase the operating speed of a core that performs normal operations, the parallel program control unit 130 Change the execution state of the thread that has reached. In this case, the parallel program control unit 130 controls the operation state of the thread so as to stop the thread that has reached the barrier synchronization point. In the present embodiment, stopping the thread means that the thread state is set so that the execution of the thread is temporarily interrupted.

バリア同期の対象となるスレッドは、バリア同期点に到達した場合においても、他のスレッドがバリア同期点に到達したことを確認する処理を行う場合がある。この場合に、上述した確認の処理がプロセッサ制御部120にて停止状態にされたコアとは異なる他のコアで実行されると、バリア同期点に未到達であるスレッドの処理速度等に影響が及ぶ可能性がある。
そこで、並列プログラム制御部130は、バリア同期に到達したスレッドの実行状態を停止状態等に変更する。このような制御により、バリア同期に未到達であるスレッドにおける処理が、バリア同期に到達したスレッドによって影響を受ける可能性が小さくなる。
Even when the thread targeted for barrier synchronization reaches the barrier synchronization point, it may perform processing for confirming that another thread has reached the barrier synchronization point. In this case, if the confirmation process described above is executed by another core different from the core that has been stopped by the processor control unit 120, the processing speed of a thread that has not reached the barrier synchronization point is affected. There is a possibility.
Therefore, the parallel program control unit 130 changes the execution state of the thread that has reached the barrier synchronization to a stopped state or the like. Such control reduces the possibility that processing in a thread that has not reached barrier synchronization will be affected by the thread that has reached barrier synchronization.

また、並列プログラム制御部130は、バリア同期点に未到達であるスレッドが0である場合に発生した通知に応じて、スレッドの実行状態を制御してもよい。この場合には、並列プログラム制御部130は、停止されたスレッドの実行を再開させるように、スレッドの実行状態を制御する。   Further, the parallel program control unit 130 may control the execution state of a thread according to a notification that occurs when the number of threads that have not reached the barrier synchronization point is 0. In this case, the parallel program control unit 130 controls the execution state of the thread so that execution of the stopped thread is resumed.

なお、バリア同期点に未到達であるスレッドが0である場合には、上述のように、並列プログラムに含まれる全てのスレッドにおける処理がバリア同期点に到達したことが想定される。このような制御により、スレッドの各々について、バリア同期点から後の処理が行われる。   When the number of threads that have not reached the barrier synchronization point is 0, as described above, it is assumed that the processing in all threads included in the parallel program has reached the barrier synchronization point. By such control, the subsequent processing from the barrier synchronization point is performed for each thread.

速度変更部140は、スレッドを実行するプロセッサコアの動作速度を変更する。   The speed changing unit 140 changes the operating speed of the processor core that executes the thread.

速度変更部140は、コアの動作状態に応じて、コアの動作速度を変更する。例えば、本実施形態においては、速度変更部140は、コアが通常の動作速度で動作している場合に、他のコアの動作状態に応じて、動作速度を高めるように変更することが想定される。また、速度変更部140は、コアが通常の動作速度よりも高い動作速度にて動作する場合に、コアの動作速度を通常の動作速度とするように変更してもよい。   The speed changing unit 140 changes the operating speed of the core according to the operating state of the core. For example, in this embodiment, when the core is operating at a normal operating speed, the speed changing unit 140 is assumed to change to increase the operating speed according to the operating state of the other core. The Further, the speed changing unit 140 may change the core operating speed to the normal operating speed when the core operates at an operating speed higher than the normal operating speed.

一例として、速度変更部140は、バリア同期点に未到達のスレッドが存在し、処理が継続して行われるスレッドを実行するコアの動作速度を高めることが可能な状態である場合に、スレッドを実行するコアの動作速度を変更する。速度変更部140は、一部のコアにおいてバリア同期点に未到達であるスレッドの処理が継続して行われており、他のコアが停止状態にある場合に、当該スレッドを実行するコアの動作速度を変更する。すなわち、速度変更部140は、停止状態にあるコアの数に基づいて、バリア同期点に未到達であるスレッドを実行するコアの動作速度を変更する。   As an example, the speed changing unit 140 may change the thread when there is a thread that has not reached the barrier synchronization point and it is possible to increase the operating speed of the core that executes the thread for which processing is continuously performed. Change the operating speed of the core to be executed. The speed changing unit 140 operates the core that executes the thread when the processing of the thread that has not reached the barrier synchronization point is continuously performed in some cores and the other cores are stopped. Change the speed. That is, the speed changing unit 140 changes the operating speed of the core that executes a thread that has not reached the barrier synchronization point, based on the number of cores in a stopped state.

この場合には、速度変更部140は、バリア同期点に未到達のスレッドを実行するコアの動作速度を高めるように制御する。例えば、速度変更部140は、コアの動作周波数を高めるように制御する。   In this case, the speed changing unit 140 performs control so as to increase the operating speed of the core that executes the thread that has not reached the barrier synchronization point. For example, the speed changing unit 140 performs control so as to increase the operating frequency of the core.

また、別の例として、速度変更部140は、バリア同期点に未到達のスレッドが0である場合に、スレッドを実行するコアの動作速度を変更する。
この例においては、速度変更部140は、通常よりも高い動作速度で動作するコアが存在する場合には、そのコアを通常の動作速度にて動作するように制御する。
As another example, when the number of threads that have not reached the barrier synchronization point is 0, the speed changing unit 140 changes the operating speed of the core that executes the thread.
In this example, when there is a core that operates at an operation speed higher than normal, the speed changing unit 140 controls the core to operate at a normal operation speed.

続いて、図4及び図5に示すフローチャートを用いて、本発明の第1の実施形態におけるバリア同期装置100の動作の一例を説明する。   Next, an example of the operation of the barrier synchronization apparatus 100 according to the first embodiment of the present invention will be described using the flowcharts shown in FIGS. 4 and 5.

図4に示すフローチャートは、バリア同期処理が行われる場合のバリア同期装置100の動作の例を示す。すなわち、図4に示すフローチャートは、バリア同期点に未到達のスレッドの数が減少し、バリア同期点に未到達のスレッドを実行するコアの動作速度が高められる場合のバリア同期装置100の動作の例を示す。   The flowchart shown in FIG. 4 shows an example of the operation of the barrier synchronization apparatus 100 when barrier synchronization processing is performed. That is, the flowchart shown in FIG. 4 shows the operation of the barrier synchronization apparatus 100 when the number of threads that have not reached the barrier synchronization point decreases and the operating speed of the core that executes the thread that has not reached the barrier synchronization point is increased. An example is shown.

まず、通知部110は、バリア同期点に未到達であるスレッドの数に基づいて通知を発生する(ステップS101)。この場合に、通知部110は、バリア同期点に未到達であるスレッドの数が減少し、当該スレッドの各々を実行するマルチコアプロセッサにて通常の動作を行うコアの動作速度を高めることが可能になる数に至った場合に、通知を発生する。   First, the notification unit 110 generates a notification based on the number of threads that have not reached the barrier synchronization point (step S101). In this case, the notification unit 110 can reduce the number of threads that have not reached the barrier synchronization point, and can increase the operating speed of a core that performs a normal operation in a multi-core processor that executes each of the threads. A notification is generated when this number is reached.

続いて、プロセッサ制御部120は、バリア同期点に到達したスレッドの動作を停止状態とする(ステップS102)。   Subsequently, the processor control unit 120 stops the operation of the thread that has reached the barrier synchronization point (step S102).

そして、並列プログラム制御部130は、バリア同期に到達したスレッドを実行するコアの動作状態を停止状態に変更するよう制御する(ステップS103)。ステップS102及びステップS103の処理の順番は任意である。すなわち、上述の順番とは異なり、ステップS103の処理がステップS102の処理に先行して行われてもよいし、ステップS102及びステップS103の処理が並行して行われてもよい。   Then, the parallel program control unit 130 controls to change the operating state of the core that executes the thread that has reached the barrier synchronization to the stopped state (step S103). The order of processing in steps S102 and S103 is arbitrary. That is, unlike the above-described order, the process of step S103 may be performed prior to the process of step S102, or the processes of step S102 and step S103 may be performed in parallel.

速度変更部140は、バリア同期点に未到達であるスレッドを実行するコアの動作速度を高めるように変更する(ステップS104)。ステップS104の処理において、動作速度が変更されるコアは、ステップS103において停止状態とされていないコアである。ステップS104において、コアの動作速度を高めるような変更が行われることで、バリア同期点に未到達であるスレッドが、コアが通常の動作速度にて動作する場合と比較して高速に実行される。したがって、並列プログラムがバリア同期点に到達するまでに要する時間が短くなる。   The speed changing unit 140 changes the operating speed of the core that executes the thread that has not reached the barrier synchronization point (step S104). In the process of step S104, the core whose operation speed is changed is a core that has not been stopped in step S103. In step S104, a thread that has not reached the barrier synchronization point is executed at a higher speed than when the core operates at a normal operation speed by performing a change that increases the operation speed of the core. . Therefore, the time required for the parallel program to reach the barrier synchronization point is shortened.

また、本実施形態におけるバリア同期装置100は、バリア同期点に未到達のスレッドの数が0となった場合に、停止状態にあるコアを、通常の動作を行うよう状態に変更してもよい。図5に示すフローチャートを用いて、この場合におけるバリア同期装置100の動作の一例を説明する。すなわち、図5は、バリア同期処理が完了した後におけるバリア同期装置100の動作の例を示す。   In addition, the barrier synchronization apparatus 100 according to the present embodiment may change a stopped core to a state in which a normal operation is performed when the number of threads that have not reached the barrier synchronization point becomes zero. . An example of the operation of the barrier synchronization apparatus 100 in this case will be described using the flowchart shown in FIG. That is, FIG. 5 shows an example of the operation of the barrier synchronization apparatus 100 after the barrier synchronization processing is completed.

まず、通知部110は、バリア同期点に未到達であるスレッドの数に基づいて通知を発生する(ステップS111)。すなわち、通知部110は、バリア同期点に未到達であるスレッドが0である旨の通知を発生する。   First, the notification unit 110 generates a notification based on the number of threads that have not reached the barrier synchronization point (step S111). That is, the notification unit 110 generates a notification that the number of threads that have not reached the barrier synchronization point is zero.

ステップS111における通知部110による通知に応じて、以下のどうさがおこなわれる。速度変更部140は、動作速度が高められたコアの動作速度を、通常の動作速度に変更する(ステップS112)。そして、プロセッサ制御部120は、停止状態とされているコアの状態を通常の動作を行う状態に変更するよう制御する(ステップS113)。   In response to the notification by the notification unit 110 in step S111, the following process is performed. The speed changing unit 140 changes the operating speed of the core whose operating speed is increased to a normal operating speed (step S112). Then, the processor control unit 120 performs control so as to change the state of the stopped core to a state in which normal operation is performed (step S113).

続いて、並列プログラム制御部130は、バリア同期点に到達し、停止状態にあるスレッドの動作を再開する(ステップS114)。すなわち、並列プログラムに含まれるスレッドの各々に関して、バリア同期点より後の処理が実行される。   Subsequently, the parallel program control unit 130 resumes the operation of the thread that has reached the barrier synchronization point and is in the stopped state (step S114). That is, the processing after the barrier synchronization point is executed for each of the threads included in the parallel program.

次に、図6を用いて、並列プログラムにおいてバリア同期処理が行われる場合におけるバリア同期装置100の動作の一例を説明する。   Next, an example of the operation of the barrier synchronization apparatus 100 when barrier synchronization processing is performed in a parallel program will be described with reference to FIG.

この例においては、並列プログラムは、4つのスレッドに分けられて処理が行われる。図6においては、4つのスレッドのそれぞれには、コア0から3までの番号が付されている。4つのスレッドは、例えば、図8に示すCPU501に含まれるコア551−1から551−4にてそれぞれ実行される。   In this example, the parallel program is divided into four threads for processing. In FIG. 6, the numbers from cores 0 to 3 are assigned to the four threads. The four threads are respectively executed by the cores 551-1 to 551-4 included in the CPU 501 shown in FIG.

この例においては、CPU501は、コア551−1から551−4うちの1つが通常の動作を行う状態であり、他の3つが停止状態である場合に、通常の動作を行うコアの動作速度を高めて実行させることを想定する。   In this example, when the CPU 501 is in a state where one of the cores 551-1 to 551-4 performs a normal operation and the other three are in a stopped state, the CPU 501 determines the operating speed of the core performing a normal operation. Assume that it is executed at a higher level.

バリア同期装置100は、このような並列プログラムに含まれるスレッドのバリア同期を行う。バリア同期装置100において、スレッドの動作状態は、図3に示す管理テーブル111の形式にて管理される。   The barrier synchronization apparatus 100 performs barrier synchronization of threads included in such a parallel program. In the barrier synchronization apparatus 100, the operation state of the thread is managed in the format of the management table 111 shown in FIG.

図6においては、管理テーブル111に含まれるスレッド状態112は、スレッド0から3に関するバリア同期点への到達の状況を順に表す。すなわち、図6に含まれるスレッド状態112において、例えば、図中の左端の数字はスレッド0に関するバリア同期点への到達の状況を順に表し、図中の右端の数字はスレッド3に関するバリア同期点への到達の状況を順に表す。   In FIG. 6, the thread state 112 included in the management table 111 represents the status of arrival at the barrier synchronization point regarding the threads 0 to 3 in order. That is, in the thread state 112 included in FIG. 6, for example, the number on the left end in the figure represents the status of reaching the barrier synchronization point for thread 0 in order, and the number on the right end in the figure indicates the barrier synchronization point for thread 3. Represents the arrival status of

図6に示す例では、スレッド0から3の各々において、バリア同期の対象となる処理が行われていることを想定する。したがって、図6において処理の始まりとなる時刻においては、管理テーブル111に含まれるスレッド状態112は、全てのスレッドがバリア同期の対象となる処理が行われていることを表す“1111”となる。また、この場合に、管理テーブル111に含まれる同期待ちスレッド数113は“4”となる。   In the example illustrated in FIG. 6, it is assumed that processing that is subject to barrier synchronization is performed in each of threads 0 to 3. Therefore, at the time when processing starts in FIG. 6, the thread state 112 included in the management table 111 is “1111” indicating that processing for which all threads are subject to barrier synchronization is being performed. In this case, the number of synchronization waiting threads 113 included in the management table 111 is “4”.

図6の例では、処理の始まりとなる時刻からの時間の経過に伴い、スレッド0における処理がバリア同期点に到達する。この場合には、管理テーブル111に含まれるスレッド状態112は、“0111”となる。これは、スレッド0の処理がバリア同期点に到達し、スレッド1から3の各々に関するバリア同期の対象となる処理が実行されていることを表す。また、管理テーブル111に含まれる同期待ちスレッド数113は“3”となる。なお、この場合には、スレッド1から3の各々を実行するコアの動作速度は変化しない。そして、スレッド0は、スレッド1から3の処理のバリア同期点への到達を待つ状態となる。   In the example of FIG. 6, the process in the thread 0 reaches the barrier synchronization point with the passage of time from the time when the process starts. In this case, the thread state 112 included in the management table 111 is “0111”. This indicates that the process of the thread 0 has reached the barrier synchronization point, and the process to be subjected to the barrier synchronization for each of the threads 1 to 3 is being executed. Further, the number of synchronization waiting threads 113 included in the management table 111 is “3”. In this case, the operating speed of the core that executes each of the threads 1 to 3 does not change. Then, the thread 0 waits for arrival of the processing of the threads 1 to 3 to the barrier synchronization point.

続いて、更なる時間の経過に伴い、スレッド1における処理がバリア同期点に到達する。この場合に、管理テーブル111に含まれるスレッド状態112は、スレッド0及び1の処理がバリア同期点に到達し、スレッド2及び3の各々においてバリア同期の対象となる処理が行われていることを表す“0011”となる。また、管理テーブル111に含まれる同期待ちスレッド数113は“2”となる。なお、この場合には、スレッド2及び3の各々を実行するコアの動作速度は変化しない。そして、スレッド1は、スレッド2及び3に関する処理のバリア同期点への到達を待つ状態となる。   Subsequently, as the time further elapses, the process in the thread 1 reaches the barrier synchronization point. In this case, the thread state 112 included in the management table 111 indicates that the processing of the threads 0 and 1 has reached the barrier synchronization point, and that each of the threads 2 and 3 is performing processing that is subject to barrier synchronization. It represents “0011”. Further, the number 113 of synchronization waiting threads included in the management table 111 is “2”. In this case, the operating speed of the core that executes each of the threads 2 and 3 does not change. Then, the thread 1 is in a state of waiting for the processing related to the threads 2 and 3 to reach the barrier synchronization point.

続いて、更なる時間の経過に伴い、スレッド2における処理がバリア同期点に到達する。この場合に、管理テーブル111に含まれるスレッド状態112は、スレッド0から2の各々がバリア同期点に到達し、スレッド3においてバリア同期の対象となる処理が行われていることを表す“0001”となる。また、管理テーブル111に含まれる同期待ちスレッド数113は“1”となる。そして、スレッド2は、スレッド3の処理のバリア同期点への到達を待つ状態となる。   Subsequently, as the time further elapses, the processing in the thread 2 reaches the barrier synchronization point. In this case, the thread state 112 included in the management table 111 indicates “0001” indicating that each of the threads 0 to 2 has reached the barrier synchronization point, and the thread 3 is performing the processing subject to barrier synchronization. It becomes. Further, the number 113 of synchronization waiting threads included in the management table 111 is “1”. Then, the thread 2 waits for the process of the thread 3 to reach the barrier synchronization point.

この場合において、バリア同期点に未到達であるスレッドは1つである。すなわち、CPU501に含まれるコアのうち、処理を実行するコアは1つである。したがって、CPU501は、当該処理を実行する1つのコアの動作速度を高めることが可能となる。そのため、バリア同期装置100の通知部110は、バリア同期点に未到達であるスレッドの数が1つである旨の通知を発生する。   In this case, there is one thread that has not reached the barrier synchronization point. That is, one of the cores included in the CPU 501 executes processing. Therefore, the CPU 501 can increase the operating speed of one core that executes the process. Therefore, the notification unit 110 of the barrier synchronization apparatus 100 generates a notification that the number of threads that have not reached the barrier synchronization point is one.

この場合に、通知部110にて生じた通知に応じて、並列プログラム制御部130は、処理がバリア同期点に到達したスレッド0から2をそれぞれ停止する。また、プロセッサ制御部120は、通知部110にて生じた通知に応じて、スレッド0から2をそれぞれ実行する3つのコアの状態を停止状態とするように制御する。更に、速度変更部140は、スレッド3を実行するコアの動作速度を高めるように変更する。   In this case, in response to the notification generated in the notification unit 110, the parallel program control unit 130 stops each of the threads 0 to 2 whose processing has reached the barrier synchronization point. Further, the processor control unit 120 performs control so that the states of the three cores that respectively execute the threads 0 to 2 are set to the stopped state in response to the notification generated by the notification unit 110. Furthermore, the speed changing unit 140 changes the operating speed of the core that executes the thread 3 to be increased.

上述したバリア同期装置100の各構成要素による動作が行われた後には、スレッド3のバリア同期点に至るまでの処理が継続して行われる。この場合には、スレッド3を実行するコアは、スレッド2における処理がバリア同期点に到達するまでと比較して高い動作速度にて動作する。   After the operation of each component of the barrier synchronization device 100 described above is performed, the processing up to the barrier synchronization point of the thread 3 is continuously performed. In this case, the core that executes the thread 3 operates at a higher operation speed than when the processing in the thread 2 reaches the barrier synchronization point.

そして、スレッド3における処理が継続して行われると、スレッド3の処理はバリア同期点に到達する。スレッド3を実行するコアの動作速度が高められたことで、スレッド3の処理がバリア同期点に到達するまでに要する時間は、コアの動作速度が変更されない場合と比較して短い時間となる。この場合には、管理テーブル111に含まれるスレッド状態112は、スレッド0から3の各々がバリア同期点に到達したことを表す“0000”となる。また、管理テーブル111に含まれる同期待ちスレッド数113は“0”となる。すなわち、並列プログラムに含まれる全てのスレッドが、バリア同期点に到達した状態となる。   When the process in the thread 3 is continuously performed, the process in the thread 3 reaches the barrier synchronization point. Since the operating speed of the core that executes the thread 3 is increased, the time required for the processing of the thread 3 to reach the barrier synchronization point is shorter than when the operating speed of the core is not changed. In this case, the thread state 112 included in the management table 111 is “0000” indicating that each of the threads 0 to 3 has reached the barrier synchronization point. Further, the number 113 of synchronization waiting threads included in the management table 111 is “0”. That is, all threads included in the parallel program have reached the barrier synchronization point.

バリア同期装置100の通知部110は、バリア同期点に未到達であるスレッドが0である旨の通知を発生する。この場合に、通知部110にて生じた通知に応じて、速度変更部140は、スレッド3を実行するコアの通常の動作速度へ戻すように変更する。また、プロセッサ制御部120は、通知部110にて生じた通知に応じて、スレッド0から2をそれぞれ実行する3つのコアの状態を通常の動作を行う状態へ戻すように制御する。更に、並列プログラム制御部130は、先に処理がバリア同期点に到達したスレッド0から2をそれぞれ再開させる。   The notification unit 110 of the barrier synchronization apparatus 100 generates a notification that the number of threads that have not reached the barrier synchronization point is zero. In this case, in response to the notification generated by the notification unit 110, the speed changing unit 140 changes the speed so as to return to the normal operating speed of the core executing the thread 3. Further, the processor control unit 120 controls to return the state of the three cores that respectively execute the threads 0 to 2 to the state in which the normal operation is performed in response to the notification generated in the notification unit 110. Further, the parallel program control unit 130 restarts threads 0 to 2 that have previously reached the barrier synchronization point.

このような制御が行われることで、CPU501に含まれるコア551−1から551−4の各々は、通常の動作を行う状態に動作状態が変更される。そして、スレッド0から3の各々は、通常の実行が可能な状態に実行状態が制御される。このように、上述したバリア同期装置100の各構成要素による動作が行われた後には、コア551−1から551−4の各々においてスレッド0から3の各々に関して、バリア同期点より後にある処理が並列に実行される。   By performing such control, each of the cores 551-1 to 551-4 included in the CPU 501 is changed to a state in which a normal operation is performed. The execution state of each of the threads 0 to 3 is controlled so that normal execution is possible. As described above, after the operation by each component of the barrier synchronization apparatus 100 described above is performed, for each of the threads 0 to 3 in each of the cores 551-1 to 551-4, processing after the barrier synchronization point is performed. Run in parallel.

以上のとおり、本発明の第1の実施形態におけるバリア同期装置100は、並列プログラムに含まれるスレッドがバリア同期処理を行う場合において、バリア同期点に未到達であるスレッドの数に応じてコアの動作速度を制御する。すなわち、本実施形態におけるバリア同期装置100は、マルチコアプロセッサが許容する場合にはバリア同期点に未到達であるスレッドを実行するコアの動作速度を高めるように制御する。   As described above, in the barrier synchronization device 100 according to the first embodiment of the present invention, when threads included in the parallel program perform the barrier synchronization processing, the barrier synchronization apparatus 100 performs the core synchronization according to the number of threads that have not reached the barrier synchronization point. Control the operating speed. That is, the barrier synchronization apparatus 100 according to the present embodiment performs control so as to increase the operating speed of the core that executes a thread that has not reached the barrier synchronization point, when the multi-core processor allows.

このような制御が行われることで、バリア同期点に未到達であるスレッドが、バリア同期点への到達までに要する時間が短縮される。並列プログラムにおいて、バリア同期に要する時間は、処理がバリア同期点に最も遅く到達するスレッドに依存する。そのため、処理がバリア同期点に最も遅く到達するスレッドがバリア同期点到達までに要する時間を短縮することで、バリア同期に要する時間を短縮することが可能となる。   By performing such control, the time required for a thread that has not reached the barrier synchronization point to reach the barrier synchronization point is shortened. In a parallel program, the time required for barrier synchronization depends on the thread whose processing reaches the barrier synchronization point latest. Therefore, it is possible to reduce the time required for the barrier synchronization by reducing the time required for the thread that reaches the barrier synchronization point latest to reach the barrier synchronization point.

すなわち、本実施形態におけるバリア同期装置100は、バリア同期に要する時間を短縮することを可能にする。   That is, the barrier synchronization apparatus 100 according to the present embodiment can reduce the time required for barrier synchronization.

(第1の実施形態の変形例)
本発明の第1の実施形態におけるバリア同期装置100には、種々の変形例が考えられる。図7は、本発明の第1の実施形態の変形例におけるバリア同期装置の構成を示す図である。
(Modification of the first embodiment)
Various modifications can be considered for the barrier synchronization apparatus 100 according to the first embodiment of the present invention. FIG. 7 is a diagram illustrating a configuration of a barrier synchronization device according to a modification of the first embodiment of the present invention.

一部のマルチプロセッサは、明示的な動作速度に関する変更の指示を必要とせず、停止状態にあるコアの数や通常の動作状態にあるコアの数に応じて、通常の動作状態にあるコアの動作速度を変更する。このようなマルチプロセッサにて実行される並列プログラムのバリア同期を対象とする場合には、バリア同期装置100は、例えば図7に示すように、速度変更部140を備えない構成であってもよい。   Some multiprocessors do not require explicit instructions for changing the operating speed, and depending on the number of cores in the stopped state and the number of cores in the normal operating state, Change the operating speed. When barrier synchronization of a parallel program executed by such a multiprocessor is targeted, the barrier synchronization apparatus 100 may be configured not to include the speed changing unit 140 as shown in FIG. 7, for example. .

すなわち、図7に示すバリア同期装置101は、通知部110と、プロセッサ制御部120と、並列プログラム制御部130とを備える。各構成要素は、第1の実施形態におけるバリア同期装置100が備える同じ要素と同様に動作する。そして、プロセッサ制御部120がバリア同期点に到達したスレッドを実行するコアの状態を停止状態等に変更することで、バリア同期点に未到達であるスレッドを実行するコアの動作速度が高められるように制御される。   That is, the barrier synchronization apparatus 101 illustrated in FIG. 7 includes a notification unit 110, a processor control unit 120, and a parallel program control unit 130. Each component operates in the same manner as the same element included in the barrier synchronization apparatus 100 according to the first embodiment. Then, the processor control unit 120 changes the state of the core that executes the thread that has reached the barrier synchronization point to a stopped state or the like, so that the operating speed of the core that executes the thread that has not reached the barrier synchronization point can be increased. Controlled.

また、並列プログラムに含まれる全てのスレッドがバリア同期点に到達した場合等に、プロセッサ制御部120が停止状態にあるコアを通常の動作状態とすることで、動作速度が高められたコアの動作速度が通常の動作速度に変更される。   In addition, when all threads included in the parallel program reach the barrier synchronization point, the operation of the core whose operation speed is increased by setting the core in which the processor control unit 120 is stopped to the normal operation state. The speed is changed to the normal operating speed.

上述の場合において、並列プログラムを動作するマルチコアプロセッサは、プログラム制御部120にて制御されたコアの各々の動作に関する状態に応じて、コアの動作速度を変更する。そのため、このようなマルチコアプロセッサにて並列プログラムが実行される場合においては、バリア同期装置101は、速度変更部140をも備えるバリア同期装置100と同様の効果を奏する。   In the above case, the multi-core processor that operates the parallel program changes the operating speed of the core according to the state related to the operation of each core controlled by the program control unit 120. Therefore, when a parallel program is executed by such a multi-core processor, the barrier synchronization apparatus 101 has the same effect as the barrier synchronization apparatus 100 including the speed changing unit 140.

また、プロセッサ制御部120と速度変更部140は、一つの構成要素として実現されてもよい。プロセッサ制御部120と速度変更部140の具体的な構成は、並列プログラムに含まれるスレッドが実行されるマルチコアプロセッサにおける動作速度の制御に関する仕様に応じて適宜定められる。   Further, the processor control unit 120 and the speed changing unit 140 may be realized as one component. Specific configurations of the processor control unit 120 and the speed change unit 140 are appropriately determined according to specifications related to control of operation speed in a multi-core processor in which threads included in a parallel program are executed.

以上、実施形態を参照して本発明を説明したが、本発明は上記実施形態に限定されるものではない。本発明の構成や詳細には、本発明のスコープ内で当業者が理解し得る様々な変更をすることができる。また、各実施形態における構成は、本発明のスコープを逸脱しない限りにおいて、互いに組み合わせることが可能である。   The present invention has been described above with reference to the embodiments, but the present invention is not limited to the above embodiments. Various changes that can be understood by those skilled in the art can be made to the configuration and details of the present invention within the scope of the present invention. The configurations in the embodiments can be combined with each other without departing from the scope of the present invention.

100 バリア同期装置
110 通知部
111 管理テーブル
112 スレッド状態
113 同期待ちスレッド数
120 プロセッサ制御部
130 並列プログラム制御部
140 速度変更部
200 並列プログラム
201 スレッド
500 情報処理装置
501 CPU
551 コア
502 ROM
503 RAM
504 プログラム
505 記憶装置
506 記憶媒体
507 ドライブ装置
508 通信インターフェース
509 通信ネットワーク
510 入出力インターフェース
511 バス
DESCRIPTION OF SYMBOLS 100 Barrier synchronizer 110 Notification part 111 Management table 112 Thread state 113 Synchronization waiting thread number 120 Processor control part 130 Parallel program control part 140 Speed change part 200 Parallel program 201 Thread 500 Information processing apparatus 501 CPU
551 core 502 ROM
503 RAM
504 Program 505 Storage device 506 Storage medium 507 Drive device 508 Communication interface 509 Communication network 510 Input / output interface 511 Bus

Claims (10)

並列プログラムにおける複数のスレッドのうち、バリア同期点に未到達である前記スレッドの数に基づいて通知を発生する通知手段と、
マルチコアプロセッサに含まれるプロセッサコアのうち、前記スレッドを実行する前記プロセッサコアの動作状態を前記通知に応じて制御するプロセッサ制御手段と、
前記通知に応じて、前記スレッドの実行状態を変更する並列プログラム制御手段とを備える、バリア同期装置。
Notification means for generating a notification based on the number of threads that have not reached the barrier synchronization point among a plurality of threads in the parallel program;
Processor control means for controlling an operation state of the processor core that executes the thread among the processor cores included in the multi-core processor according to the notification;
A barrier synchronization apparatus comprising: parallel program control means for changing the execution state of the thread in response to the notification.
前記スレッドを実行する前記プロセッサコアの動作速度を変更する速度変更手段を備える、請求項1に記載のバリア同期装置。   The barrier synchronization apparatus according to claim 1, further comprising a speed changing unit that changes an operating speed of the processor core that executes the thread. 前記通知手段は、バリア同期点に未到達である前記スレッドが1以上の所定の数である場合に通知を発生する、請求項1又は2に記載のバリア同期装置。   The barrier synchronization apparatus according to claim 1, wherein the notification unit generates a notification when the number of threads that have not reached the barrier synchronization point is a predetermined number of 1 or more. 前記通知手段は、バリア同期点に未到達である前記スレッドが0である場合に通知を発生する、請求項1から3のいずれか一項に記載のバリア同期装置。   The barrier synchronization apparatus according to any one of claims 1 to 3, wherein the notification unit generates a notification when the thread that has not reached the barrier synchronization point is zero. 前記プロセッサ制御手段は、バリア同期点に未到達である前記スレッドが1以上の所定の数である場合における前記通知に基づいて、バリア同期点に到達した前記スレッドを実行する前記プロセッサコアを停止状態とするように制御する、請求項1から4のいずれか一項に記載のバリア同期装置。   The processor control means stops the processor core that executes the thread that has reached the barrier synchronization point based on the notification when the number of threads that have not reached the barrier synchronization point is a predetermined number of 1 or more. The barrier synchronization device according to claim 1, wherein the barrier synchronization device is controlled to be 前記プロセッサ制御手段は、バリア同期点に未到達である前記スレッドが0である場合における前記通知に基づいて、停止状態にある前記プロセッサコアを動作状態とするように制御する、請求項1から5のいずれか一項に記載のバリア同期装置。   The processor control means controls the processor core in a stopped state to be in an operating state based on the notification when the thread that has not reached the barrier synchronization point is 0. 6. The barrier synchronization device according to any one of the above. 前記速度変更手段は、停止状態にある前記プロセッサコアの数に基づいて、バリア同期点に未到達である前記スレッドを実行する前記プロセッサコアの動作速度を高めるように変更する、請求項1から6のいずれか一項に記載のバリア同期装置。   The speed changing means changes the speed so as to increase the operating speed of the processor core that executes the thread that has not reached the barrier synchronization point, based on the number of the processor cores in a stopped state. The barrier synchronization device according to any one of the above. 前記速度変更手段は、複数の前記スレッドの全てがバリア同期点に到達した場合に、前記プロセッサコアの動作速度を通常の動作速度に変更する、請求項1から7のいずれか一項に記載のバリア同期装置。   The speed changing means changes the operation speed of the processor core to a normal operation speed when all of the plurality of threads have reached a barrier synchronization point. Barrier synchronization device. 並列プログラムにおける複数のスレッドのうち、バリア同期点に未到達である前記スレッドの数に基づいて通知を発生し、
マルチコアプロセッサに含まれるプロセッサコアのうち、前記スレッドを実行する前記プロセッサコアの動作状態を前記通知に応じて制御し、
前記通知手段からの通知に応じて、前記スレッドの実行状態を変更し、
前記スレッドを実行する前記プロセッサコアの動作速度を変更する、バリア同期方法。
A notification is generated based on the number of threads that have not reached the barrier synchronization point among a plurality of threads in the parallel program,
Of the processor cores included in the multi-core processor, control the operation state of the processor core that executes the thread according to the notification,
In response to the notification from the notification means, the thread execution state is changed,
A barrier synchronization method for changing an operation speed of the processor core executing the thread.
コンピュータに、
並列プログラムにおける複数のスレッドのうち、バリア同期点に未到達である前記スレッドの数に基づいて通知を発生する処理と、
マルチコアプロセッサに含まれるプロセッサコアのうち、前記スレッドを実行する前記プロセッサコアの動作状態を前記通知に応じて制御する処理と、
前記通知手段からの通知に応じて、前記スレッドの実行状態を変更する処理と、
前記スレッドを実行する前記プロセッサコアの動作速度を変更する処理とを実行させる、プログラム。
On the computer,
Processing that generates a notification based on the number of threads that have not reached the barrier synchronization point among a plurality of threads in the parallel program;
A process of controlling the operating state of the processor core that executes the thread among the processor cores included in the multi-core processor according to the notification;
Processing to change the execution state of the thread in response to a notification from the notification means;
A program for executing processing for changing an operation speed of the processor core for executing the thread.
JP2015129945A 2015-06-29 2015-06-29 Barrier synchronization device, barrier synchronization method, and program Pending JP2017016250A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2015129945A JP2017016250A (en) 2015-06-29 2015-06-29 Barrier synchronization device, barrier synchronization method, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015129945A JP2017016250A (en) 2015-06-29 2015-06-29 Barrier synchronization device, barrier synchronization method, and program

Publications (1)

Publication Number Publication Date
JP2017016250A true JP2017016250A (en) 2017-01-19

Family

ID=57829112

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015129945A Pending JP2017016250A (en) 2015-06-29 2015-06-29 Barrier synchronization device, barrier synchronization method, and program

Country Status (1)

Country Link
JP (1) JP2017016250A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112486693A (en) * 2019-09-11 2021-03-12 富士通株式会社 Barrier synchronization system and parallel information processing apparatus
EP3792764A1 (en) * 2019-09-11 2021-03-17 Fujitsu Limited Barrier synchronization circuit, barrier synchronization method, and parallel information processing apparatus

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008155806A1 (en) * 2007-06-20 2008-12-24 Fujitsu Limited Method and device for barrier synchronization, and multicore processor
JP2014056594A (en) * 2009-12-03 2014-03-27 Intel Corp Method and device for improving turbo performance for event processing

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008155806A1 (en) * 2007-06-20 2008-12-24 Fujitsu Limited Method and device for barrier synchronization, and multicore processor
JP2014056594A (en) * 2009-12-03 2014-03-27 Intel Corp Method and device for improving turbo performance for event processing

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112486693A (en) * 2019-09-11 2021-03-12 富士通株式会社 Barrier synchronization system and parallel information processing apparatus
EP3792764A1 (en) * 2019-09-11 2021-03-17 Fujitsu Limited Barrier synchronization circuit, barrier synchronization method, and parallel information processing apparatus
EP3792763A1 (en) * 2019-09-11 2021-03-17 Fujitsu Limited Barrier synchronization system and parallel information processing apparatus
JP2021043737A (en) * 2019-09-11 2021-03-18 富士通株式会社 Barrier synchronization system, barrier synchronization method and parallel information processing device
JP2021043740A (en) * 2019-09-11 2021-03-18 富士通株式会社 Barrier synchronization circuit, barrier synchronization method, and parallel information processing device
US11487593B2 (en) 2019-09-11 2022-11-01 Fujitsu Limited Barrier synchronization system and parallel information processing apparatus
CN112486693B (en) * 2019-09-11 2023-07-07 富士通株式会社 Barrier synchronization system and parallel information processing apparatus
US11709718B2 (en) 2019-09-11 2023-07-25 Fujitsu Limited Barrier synchronization circuit, barrier synchronization method, and parallel information processing apparatus

Similar Documents

Publication Publication Date Title
JP2002215599A (en) Multiprocessor system and its control method
JP6151669B2 (en) Numerical control device capable of distributing CPU load according to machining program command contents
JP6494155B2 (en) Mini-core based reconfigurable processor, scheduling apparatus and method therefor
JP6673202B2 (en) Arithmetic device, method of controlling arithmetic device, and control program for arithmetic device
US20210191757A1 (en) Sub-idle thread priority class
US20230127112A1 (en) Sub-idle thread priority class
JP2017016250A (en) Barrier synchronization device, barrier synchronization method, and program
JP2018022317A (en) HIL simulation system and control method thereof
EP2620876A1 (en) Method and apparatus for data processing, pci-e bus system and server
JP6368452B2 (en) Improved scheduling of tasks performed by asynchronous devices
JP6074932B2 (en) Arithmetic processing device and arithmetic processing method
JP5630798B1 (en) Processor and method
JP2014206805A (en) Control device
JP5623187B2 (en) Parallel computation processing that transmits and receives data across multiple nodes without barrier synchronization
JP2013250696A (en) Processor system and processor control device
US9015720B2 (en) Efficient state transition among multiple programs on multi-threaded processors by executing cache priming program
JP5949245B2 (en) Information processing apparatus, execution program, and execution method
JP2011248454A (en) Processor device and control method for processor device
JP5768586B2 (en) COMPUTER DEVICE, COMPUTER DEVICE CONTROL METHOD, AND PROGRAM
US20080288952A1 (en) Processing apparatus and device control unit
JP2011070318A (en) Method of performing batch processing, and system for performing batch processing
JP5486368B2 (en) Microcomputer and control method of microcomputer
JP2011060048A (en) Apparatus, method and program for processing information
JP6658123B2 (en) Parallel processing device, parallel processing method and program
WO2019188181A1 (en) Scheduling method, scheduling device

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180515

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20181226

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190122

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190322

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20190528