JP2017107489A - Processing device and method for controlling processing device - Google Patents

Processing device and method for controlling processing device Download PDF

Info

Publication number
JP2017107489A
JP2017107489A JP2015242286A JP2015242286A JP2017107489A JP 2017107489 A JP2017107489 A JP 2017107489A JP 2015242286 A JP2015242286 A JP 2015242286A JP 2015242286 A JP2015242286 A JP 2015242286A JP 2017107489 A JP2017107489 A JP 2017107489A
Authority
JP
Japan
Prior art keywords
circuit
processor
standard
clusters
reconfigurable
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2015242286A
Other languages
Japanese (ja)
Other versions
JP6569508B2 (en
Inventor
森岡 清訓
Kiyonori Morioka
清訓 森岡
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2015242286A priority Critical patent/JP6569508B2/en
Publication of JP2017107489A publication Critical patent/JP2017107489A/en
Application granted granted Critical
Publication of JP6569508B2 publication Critical patent/JP6569508B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

PROBLEM TO BE SOLVED: To provide a processing device with which it is possible to efficiently reconfigure a circuit in a reconfigurable circuit.SOLUTION: The processing device includes a processor for executing a process, and a reconfigurable circuit in which a circuit for realizing processing by the processor can be dynamically reconfigured, the reconfigurable circuit having a plurality of clusters (201A, 201B), each of the plurality of clusters having a plurality of areas (301A-301D) the circuit of which is reconfigurable, the plurality of areas having a standard circuit constructed therein. When operation of a circuit other than the standard circuit is to be started, the processor exercises control so that a circuit other than the standard circuit will be reconfigured in an area within a cluster in which the operating rate of the standard circuit is lowest out of the operating rate of standard circuit of each of the plurality of clusters; when operation of a circuit other than the standard circuit is to be terminated, the processor exercises control so that the standard circuit will be reconfigured in an area in which a circuit other than the standard circuit is reconfigured.SELECTED DRAWING: Figure 4

Description

本発明は、処理装置及び処理装置の制御方法に関する。   The present invention relates to a processing apparatus and a control method for the processing apparatus.

内部の回路を再構成可能な集積回路であって同一形状の複数の分割領域に区切られた集積回路と、複数の分割領域の各々にアクセス可能なプロセッサとを有する演算装置が知られている(特許文献1参照)。記憶部は、複数の分割領域の各々が使用中か否かを示す使用情報を記憶する。プロセッサは、特定回路を集積回路に構成させた場合の特定回路の形状を示す形状情報を取得する。プロセッサは、複数の分割領域の各々について使用中か否かを示す使用情報に基づいて、複数の分割領域のうち少なくともいずれかの分割領域を含む未使用領域であって、取得した形状情報が示す形状に適合する未使用領域を検出する。プロセッサは、未使用領域を検出できた場合、集積回路に対して、検出した未使用領域に特定回路を構成させる処理を実行する。   An arithmetic circuit that is an integrated circuit that can reconfigure an internal circuit and that is divided into a plurality of divided regions having the same shape and a processor that can access each of the plurality of divided regions is known ( Patent Document 1). The storage unit stores usage information indicating whether each of the plurality of divided areas is in use. The processor acquires shape information indicating the shape of the specific circuit when the specific circuit is configured as an integrated circuit. The processor is an unused area including at least one of the plurality of divided areas based on usage information indicating whether or not each of the plurality of divided areas is being used, and the acquired shape information indicates Detect unused areas that match the shape. When the processor can detect the unused area, the processor executes processing for configuring the specific circuit in the detected unused area for the integrated circuit.

特開2015−39155号公報Japanese Patent Laying-Open No. 2015-39155

複数の仮想マシンが再構成可能な集積回路を共用する場合、複数の仮想マシンはそれぞれ独立して集積回路を使用する。そのため、集積回路全体として効率よく内部の回路を再構成することが困難である。   When a plurality of virtual machines share a reconfigurable integrated circuit, each of the plurality of virtual machines uses the integrated circuit independently. For this reason, it is difficult to efficiently reconfigure the internal circuit as the whole integrated circuit.

1つの側面では、本発明の目的は、再構成可能回路内の回路を効率よく再構成することができる処理装置及び処理装置の制御方法を提供することである。   In one aspect, an object of the present invention is to provide a processing device and a processing device control method capable of efficiently reconfiguring circuits in a reconfigurable circuit.

処理装置は、処理を実行するプロセッサと、前記プロセッサの処理を実現する回路を動的に再構成可能な再構成可能回路とを有し、前記再構成可能回路は、複数のクラスタを有し、前記複数のクラスタの各々は、回路を再構成可能な複数の領域を有し、前記複数の領域には、標準回路が構成されており、前記プロセッサは、前記標準回路以外の回路を動作開始させる場合には、前記複数のクラスタの各々の前記標準回路の動作率のうちで、前記標準回路の動作率が最も低いクラスタ内の領域に、前記標準回路以外の回路を再構成するように制御し、前記標準回路以外の回路を動作終了させる場合には、前記標準回路以外の回路が再構成されている領域に、前記標準回路を再構成するように制御する。   The processing apparatus includes a processor that executes processing, and a reconfigurable circuit that can dynamically reconfigure a circuit that realizes the processing of the processor, and the reconfigurable circuit includes a plurality of clusters, Each of the plurality of clusters has a plurality of areas in which a circuit can be reconfigured, a standard circuit is configured in the plurality of areas, and the processor starts operating a circuit other than the standard circuit. In such a case, control is performed so that a circuit other than the standard circuit is reconfigured in an area within the cluster where the operation rate of the standard circuit is the lowest among the operation rates of the standard circuits of the plurality of clusters. When a circuit other than the standard circuit is terminated, control is performed so that the standard circuit is reconfigured in a region where the circuit other than the standard circuit is reconfigured.

1つの側面では、再構成可能回路内の回路を効率よく再構成することができる。   In one aspect, the circuits in the reconfigurable circuit can be efficiently reconfigured.

図1は、本実施形態による処理装置の構成例を示す図である。FIG. 1 is a diagram illustrating a configuration example of a processing apparatus according to the present embodiment. 図2は、再構成可能回路の構成例を示す図である。FIG. 2 is a diagram illustrating a configuration example of a reconfigurable circuit. 図3は、クラスタの構成例を示す図である。FIG. 3 is a diagram illustrating a configuration example of a cluster. 図4(A)〜(C)は、本実施形態による処理装置の制御方法を示す図である。4A to 4C are diagrams illustrating a control method of the processing apparatus according to the present embodiment.

図1は、本実施形態による処理装置の構成例を示す図である。処理装置は、プロセッサ101と、メインメモリ103と、入出力(I/O)ブリッジ回路104と、再構成可能回路(リコンフィギュラブル回路)105と、GPU(graphics processing unit)106と、周辺回路107と、DRAM(dynamic random access memory)108と、DRAM109とを有する。メインメモリ103は、例えばDRAMであり、プログラムを記憶する。プロセッサ101は、例えば中央処理ユニット(CPU)であり、メインメモリ103内のプログラムを実行することにより、複数の仮想マシン(VM)102として動作し、処理を実行する。なお、複数の仮想マシン102の処理は、複数のアプリケーション又はスレッドの処理でもよい。入出力ブリッジ回路104は、プロセッサ101と、再構成可能回路105と、GPU106と、周辺回路107との間の接続を制御する。再構成可能回路105は、例えばFPGA(field-programmable gate array)であり、プロセッサ101の処理を実現する回路を動的に再構成可能である。なお、再構成可能回路105は、FPGA以外の再構成可能回路でもよい。DRAM108は、再構成可能回路105に接続される。GPU106は、画像処理を行うプロセッサである。DRAM109は、GPU106に接続される。周辺回路107は、例えば、ハードディスクドライブ装置又はネットワークインターフェース回路等である。プロセッサ101は、メインメモリ103内のプログラムを実行することにより、処理を実行する。ここで、プロセッサ101は、処理の一部を高速化するため、再構成可能回路105内の回路をアクセラレータとして使用する。再構成可能回路105内の回路は、ハードウェアであるため、プロセッサ101のプログラム処理に比べて、高速処理が可能である。複数の仮想マシン102は、再構成可能回路105内の回路を共用する。   FIG. 1 is a diagram illustrating a configuration example of a processing apparatus according to the present embodiment. The processing device includes a processor 101, a main memory 103, an input / output (I / O) bridge circuit 104, a reconfigurable circuit (reconfigurable circuit) 105, a GPU (graphics processing unit) 106, and a peripheral circuit 107. And a dynamic random access memory (DRAM) 108 and a DRAM 109. The main memory 103 is a DRAM, for example, and stores a program. The processor 101 is a central processing unit (CPU), for example, and operates as a plurality of virtual machines (VMs) 102 by executing a program in the main memory 103 to execute processing. The processing of the plurality of virtual machines 102 may be processing of a plurality of applications or threads. The input / output bridge circuit 104 controls connections among the processor 101, the reconfigurable circuit 105, the GPU 106, and the peripheral circuit 107. The reconfigurable circuit 105 is, for example, a field-programmable gate array (FPGA), and can dynamically reconfigure a circuit that implements the processing of the processor 101. Note that the reconfigurable circuit 105 may be a reconfigurable circuit other than the FPGA. The DRAM 108 is connected to the reconfigurable circuit 105. The GPU 106 is a processor that performs image processing. The DRAM 109 is connected to the GPU 106. The peripheral circuit 107 is, for example, a hard disk drive device or a network interface circuit. The processor 101 executes processing by executing a program in the main memory 103. Here, the processor 101 uses a circuit in the reconfigurable circuit 105 as an accelerator in order to speed up a part of the processing. Since the circuit in the reconfigurable circuit 105 is hardware, high-speed processing is possible as compared with the program processing of the processor 101. The plurality of virtual machines 102 share the circuit in the reconfigurable circuit 105.

図2は、図1の再構成可能回路105の構成例を示す図である。再構成可能回路105は、複数のクラスタ201A〜201Pと、入出力インターフェース回路202と、DRAMインターフェース回路203とを有する。複数のクラスタ201A〜201Pは、入出力インターフェース回路202を介して、入出力ブリッジ回路104に接続される。また、複数のクラスタ201A〜201Pは、DRAMインターフェース回路203を介して、DRAM108に接続される。   FIG. 2 is a diagram illustrating a configuration example of the reconfigurable circuit 105 in FIG. The reconfigurable circuit 105 includes a plurality of clusters 201A to 201P, an input / output interface circuit 202, and a DRAM interface circuit 203. The plurality of clusters 201 </ b> A to 201 </ b> P are connected to the input / output bridge circuit 104 via the input / output interface circuit 202. The plurality of clusters 201 </ b> A to 201 </ b> P are connected to the DRAM 108 via the DRAM interface circuit 203.

図3は、図2のクラスタ201Aの構成例を示す図である。以下、クラスタ201Aの構成例を説明するが、クラスタ201B〜201Pもクラスタ201Aと同じ構成を有する。クラスタ201Aは、伝送線300を介して、入出力インターフェース回路202及びDRAMインターフェース回路203に接続される。クラスタ201Aは、複数の領域301A〜301Dと、ディスパッチャ302とを有する。ディスパッチャ302は、複数の命令キュー(コマンドキュー)303と、ルーター304と、タイマ305と、動作率監視部306とを有する。複数の領域301A〜301Dは、それぞれ、回路を再構成可能な領域である。複数の命令キュー303は、プロセッサ101から入力した命令を記憶する。ルータ304は、複数の命令キュー303内の命令をそれぞれ複数の領域301A〜301Dに出力し、複数の領域301A〜301Dに対してデータを入出力する。タイマ305は、単位時間を計測する。動作率監視部306は、複数の領域301A〜301Dの回路が動作中及び待機中のいずれであるのかを監視し、単位時間毎の平均動作率又は最大動作率を検出する。   FIG. 3 is a diagram illustrating a configuration example of the cluster 201A in FIG. Hereinafter, although a configuration example of the cluster 201A will be described, the clusters 201B to 201P also have the same configuration as the cluster 201A. The cluster 201A is connected to the input / output interface circuit 202 and the DRAM interface circuit 203 via the transmission line 300. The cluster 201A includes a plurality of areas 301A to 301D and a dispatcher 302. The dispatcher 302 includes a plurality of instruction queues (command queues) 303, a router 304, a timer 305, and an operation rate monitoring unit 306. Each of the plurality of regions 301A to 301D is a region where a circuit can be reconfigured. The plurality of instruction queues 303 store instructions input from the processor 101. The router 304 outputs instructions in the plurality of instruction queues 303 to the plurality of areas 301A to 301D, and inputs / outputs data to / from the plurality of areas 301A to 301D. The timer 305 measures unit time. The operation rate monitoring unit 306 monitors whether the circuits in the plurality of regions 301A to 301D are operating or on standby, and detects an average operation rate or a maximum operation rate for each unit time.

プロセッサ101は、システム定義回路(SDL)及びユーザ定義回路(UDL)を領域301A〜301Dに動的に再構成することができる。システム定義回路は、標準回路であり、例えば、行列演算回路、ブロック暗号回路、及びOpenGL又はOpenCVのライブラリ関数を実行する回路等である。その場合、命令キュー303には、行列演算命令又はブロック暗号命令等が記憶される。また、システム定義回路は、単機能のデジタル処理回路でもよいし、浮動小数点処理ユニット(FPU)のように複数の機能群のデジタル処理回路でもよい。ユーザ定義回路は、システム定義回路(標準回路)以外の回路である。以下、図4(A)〜(C)を参照しながら、処理装置の制御方法を説明する。   The processor 101 can dynamically reconfigure the system definition circuit (SDL) and the user definition circuit (UDL) into the areas 301A to 301D. The system definition circuit is a standard circuit, such as a matrix operation circuit, a block encryption circuit, and a circuit that executes an OpenGL or OpenCV library function. In this case, the instruction queue 303 stores a matrix operation instruction or a block encryption instruction. The system definition circuit may be a single-function digital processing circuit, or may be a digital processing circuit having a plurality of function groups such as a floating point processing unit (FPU). The user-defined circuit is a circuit other than the system-defined circuit (standard circuit). Hereinafter, a method for controlling the processing apparatus will be described with reference to FIGS.

図4(A)は、クラスタ201A及び201B内の領域301A〜301Dの回路の構成例を示す図である。初期時には、プロセッサ101は、クラスタ201A内の複数の領域301A〜301Dには同じ第1のシステム定義回路SDL−Aを構成し、クラスタ201B内の複数の領域301A〜301Dには同じ第2のシステム定義回路SDL−Bを構成する。これは、システム定義回路は使用される頻度が高いためである。複数のクラスタ201A〜201Pの各々には、それぞれ、同じ種類のシステム定義回路が複数の領域301A〜301Dに構成される。また、複数のクラスタ201A〜201Pには、それぞれ、異なる種類のシステム定義回路が領域301〜301Dに構成される。クラスタ201Aには複数の第1のシステム定義回路SDL−Aが構成されているので、複数の仮想マシン102は、同じ種類の第1のシステム定義回路SDL−Aを同時に使用可能である。多数の第1のシステム定義回路SDL−Aが同時に使用される場合には、クラスタ201A及び201B内の領域301A〜301Dのすべてに第1のシステム定義回路SDL−Aを構成するようにしてもよい。プロセッサ101が領域301A〜301Dの回路をそれぞれ使用中である場合には領域301A〜301Dの回路はそれぞれ動作中であり、プロセッサ101が領域301A〜301Dの回路をそれぞれ使用中でない場合には領域301A〜301Dの回路はそれぞれ待機中である。   FIG. 4A is a diagram illustrating a configuration example of circuits in the areas 301A to 301D in the clusters 201A and 201B. At the initial stage, the processor 101 configures the same first system definition circuit SDL-A in the plurality of regions 301A to 301D in the cluster 201A, and the same second system in the plurality of regions 301A to 301D in the cluster 201B. The definition circuit SDL-B is configured. This is because the system definition circuit is frequently used. In each of the plurality of clusters 201A to 201P, the same type of system definition circuit is configured in the plurality of regions 301A to 301D. Further, different types of system definition circuits are configured in the areas 301 to 301D in the plurality of clusters 201A to 201P, respectively. Since a plurality of first system definition circuits SDL-A are configured in the cluster 201A, a plurality of virtual machines 102 can use the same type of first system definition circuits SDL-A at the same time. When a large number of first system definition circuits SDL-A are used at the same time, the first system definition circuit SDL-A may be configured in all of the areas 301A to 301D in the clusters 201A and 201B. . When the processor 101 is using the circuits of the areas 301A to 301D, the circuits of the areas 301A to 301D are operating. When the processor 101 is not using the circuits of the areas 301A to 301D, the area 301A is used. Each of the circuits ˜301D is on standby.

図4(A)の状態で、プロセッサ101は、ユーザ定義回路(UDL)の動作開始命令401を入力し、ユーザ定義回路(UDL)を動作開始させる場合には、複数のクラスタ201A〜201Pの各々のシステム定義回路(SDL)の動作率のうちで、システム定義回路(SDL)の動作率が最も低いクラスタ内の待機中の回路の領域に、ユーザ定義回路(UDL)を再構成するように制御する。システム定義回路(SDL)の動作率は、例えば、単位時間当たりの平均動作率又は最大動作率であり、動作率監視部306により検出される。   In the state of FIG. 4A, the processor 101 inputs an operation start instruction 401 of the user-defined circuit (UDL) and starts the operation of the user-defined circuit (UDL), and then each of the plurality of clusters 201A to 201P. Control so that the user-defined circuit (UDL) is reconfigured in the area of the standby circuit in the cluster where the system-defined circuit (SDL) has the lowest operation rate among the system-defined circuit (SDL) operating rates To do. The operating rate of the system definition circuit (SDL) is, for example, an average operating rate or a maximum operating rate per unit time, and is detected by the operating rate monitoring unit 306.

例えば、クラスタ201Aでは、4個のシステム定義回路SDL−Aのうち、3個のシステム定義回路SDL−Aの領域301A〜301Cが動作中であり、1個のシステム定義回路SDL−Aの領域301Dが待機中であるので、システム定義回路の動作率は、3/4である。また、クラスタ201Bでは、4個のシステム定義回路SDL−Bのうち、1個のシステム定義回路SDL−Bの領域301Aが動作中であり、3個のシステム定義回路SDL−Bの領域301B〜301Dが待機中であるので、システム定義回路の動作率は、1/4である。したがって、図4(B)に示すように、プロセッサ101は、システム定義回路(SDL)の動作率が最も低いクラスタ201B内の待機中の回路の領域301Dに、ユーザ定義回路(UDL)を再構成するように制御する。これにより、プロセッサ101は、再構成可能回路105に効率よく回路を再構成することができる。   For example, in the cluster 201A, among the four system definition circuits SDL-A, the areas 301A to 301C of the three system definition circuits SDL-A are operating, and the area 301D of one system definition circuit SDL-A. Is waiting, the operation rate of the system definition circuit is 3/4. In the cluster 201B, among the four system definition circuits SDL-B, the area 301A of one system definition circuit SDL-B is operating, and the areas 301B to 301D of the three system definition circuits SDL-B are operating. Is waiting, the operation rate of the system definition circuit is 1/4. Therefore, as shown in FIG. 4B, the processor 101 reconfigures the user-defined circuit (UDL) in the standby circuit area 301D in the cluster 201B in which the operation rate of the system-defined circuit (SDL) is the lowest. Control to do. As a result, the processor 101 can efficiently reconfigure the circuit in the reconfigurable circuit 105.

なお、図4(B)のクラスタ201Bの場合、3個のシステム定義回路SDL−Bのうち、1個のシステム定義回路SDL−Bの領域301Aが動作中であり、2個のシステム定義回路SDL−Bの領域301B及び301Cが待機中であるので、システム定義回路の動作率は、1/3である。   In the case of the cluster 201B in FIG. 4B, among the three system definition circuits SDL-B, the region 301A of one system definition circuit SDL-B is operating, and the two system definition circuits SDL Since the -B areas 301B and 301C are on standby, the operation rate of the system definition circuit is 1/3.

図4(B)の状態で、プロセッサ101は、クラスタ201Bの領域301Dのユーザ定義回路(UDL)の動作終了命令402を入力し、ユーザ定義回路(UDL)を動作終了させる場合には、そのユーザ定義回路(UDL)が再構成されているクラスタ201Bの領域301Dに、図4(C)に示すように、第2のシステム定義回路SDL−Bを再構成する(戻す)ように制御する。これにより、プロセッサ101は、次回、第2のシステム定義回路SDL−Bを動作開始する場合には、既にクラスタ201Bの領域301Dに第2のシステム定義回路SDL−Bが再構成済みであるので、再構成時間の待機時間なしで、クラスタ201Bの領域301Dの第2のシステム定義回路SDL−Bを高速に動作開始させることができる。システム定義回路は、使用頻度が高いので、この時点でシステム定義回路を再構成しておく利点は大きい。   In the state shown in FIG. 4B, the processor 101 inputs an operation end command 402 of the user-defined circuit (UDL) in the area 301D of the cluster 201B, and when the user-defined circuit (UDL) ends the operation, the user Control is performed so that the second system definition circuit SDL-B is reconfigured (returned) to the region 301D of the cluster 201B in which the definition circuit (UDL) is reconfigured, as shown in FIG. 4C. Thereby, when the processor 101 starts the operation of the second system definition circuit SDL-B next time, the second system definition circuit SDL-B has already been reconfigured in the region 301D of the cluster 201B. The second system definition circuit SDL-B in the region 301D of the cluster 201B can be started to operate at high speed without waiting for the reconfiguration time. Since the system definition circuit is frequently used, the advantage of reconfiguring the system definition circuit at this point is great.

これに対し、プロセッサ101は、第2のシステム定義回路SDL−Bの動作開始命令を入力した時点で、クラスタ201Bの領域301Dに第2のシステム定義回路SDL−Bを再構成する場合には、その再構成時間の待機後に、その第2のシステム定義回路SDL−Bの動作を開始する。この場合、第2のシステム定義回路SDL−Bを高速に動作開始させることができない。   On the other hand, when the processor 101 reconfigures the second system definition circuit SDL-B in the region 301D of the cluster 201B when the operation start command for the second system definition circuit SDL-B is input, After waiting for the reconfiguration time, the operation of the second system definition circuit SDL-B is started. In this case, the second system definition circuit SDL-B cannot be started at high speed.

なお、システム定義回路を呼び出すためのAPIはダイナミックリンクライブラリ(DLL)の形式で実装してもよい。DLLでは対応するシステム定義回路と同等のソフトウェアによるプログラム処理とシステム定義回路の呼び出しを切り替えて行えるソフトウェアプログラムとし、その切り替えソフトウェアプログラムは、すべての領域301A〜301Dにユーザ定義回路が再構成されてしまった場合、プロセッサ101は、再構成定義回路105のシステム定義回路を使用できないので、ソフトウェアのプログラム処理により、システム定義回路の処理を実行してもよい。また、各クラスタ201A〜201Pでは、必ず1個の領域301Aには、システム定義回路のみを構成するようにしてもよい。   The API for calling the system definition circuit may be implemented in the form of a dynamic link library (DLL). The DLL is a software program that can be switched by switching program processing and calling of the system definition circuit by software equivalent to the corresponding system definition circuit, and the user-defined circuit is reconfigured in all areas 301A to 301D. In this case, since the processor 101 cannot use the system definition circuit of the reconfiguration definition circuit 105, the processor 101 may execute the process of the system definition circuit by software program processing. In each of the clusters 201A to 201P, only one system definition circuit may be configured in one area 301A.

また、上記実施形態は、何れも本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその技術思想、又はその主要な特徴から逸脱することなく、様々な形で実施することができる。   In addition, each of the above-described embodiments is merely a specific example for carrying out the present invention, and the technical scope of the present invention should not be construed as being limited thereto. That is, the present invention can be implemented in various forms without departing from the technical idea or the main features thereof.

101 プロセッサ
102 仮想マシン
103 メインメモリ
104 入出力ブリッジ回路
105 再構成可能回路
106 GPU
107 周辺回路
108,109 DRAM
201A〜201P クラスタ
301A〜301D 領域
101 processor 102 virtual machine 103 main memory 104 input / output bridge circuit 105 reconfigurable circuit 106 GPU
107 peripheral circuit 108, 109 DRAM
201A-201P Cluster 301A-301D area

Claims (5)

処理を実行するプロセッサと、
前記プロセッサの処理を実現する回路を動的に再構成可能な再構成可能回路とを有し、
前記再構成可能回路は、複数のクラスタを有し、
前記複数のクラスタの各々は、回路を再構成可能な複数の領域を有し、
前記複数の領域には、標準回路が構成されており、
前記プロセッサは、
前記標準回路以外の回路を動作開始させる場合には、前記複数のクラスタの各々の前記標準回路の動作率のうちで、前記標準回路の動作率が最も低いクラスタ内の領域に、前記標準回路以外の回路を再構成するように制御し、
前記標準回路以外の回路を動作終了させる場合には、前記標準回路以外の回路が再構成されている領域に、前記標準回路を再構成するように制御することを特徴とする処理装置。
A processor that performs processing;
A reconfigurable circuit capable of dynamically reconfiguring a circuit for realizing the processing of the processor,
The reconfigurable circuit has a plurality of clusters;
Each of the plurality of clusters has a plurality of regions in which a circuit can be reconfigured,
A standard circuit is configured in the plurality of regions,
The processor is
When starting operation of a circuit other than the standard circuit, out of the operation rates of the standard circuit of each of the plurality of clusters, the region other than the standard circuit is in a region in the cluster where the operation rate of the standard circuit is the lowest Control to reconfigure the circuit of
When the operation of a circuit other than the standard circuit is terminated, the processing apparatus is configured to control the reconfiguration of the standard circuit in a region where the circuit other than the standard circuit is reconfigured.
前記標準回路の動作率は、単位時間当たりの平均動作率又は最大動作率であることを特徴とする請求項1記載の処理装置。   The processing apparatus according to claim 1, wherein the operation rate of the standard circuit is an average operation rate or a maximum operation rate per unit time. 前記複数のクラスタには、それぞれ、異なる標準回路が構成されていることを特徴とする請求項1又は2記載の処理装置。   3. The processing apparatus according to claim 1, wherein each of the plurality of clusters includes a different standard circuit. 前記再構成可能回路は、FPGAであることを特徴とする請求項1〜3のいずれか1項に記載の処理装置。   The processing device according to claim 1, wherein the reconfigurable circuit is an FPGA. 処理を実行するプロセッサと、
前記プロセッサの処理を実現する回路を動的に再構成可能な再構成可能回路とを有する処理装置の制御方法であって、
前記再構成可能回路は、複数のクラスタを有し、
前記複数のクラスタの各々は、回路を再構成可能な複数の領域を有し、
前記複数の領域には、標準回路が構成されており、
前記プロセッサにより、前記標準回路以外の回路を動作開始させる場合には、前記複数のクラスタの各々の前記標準回路の動作率のうちで、前記標準回路の動作率が最も低いクラスタ内の領域に、前記標準回路以外の回路を再構成するように制御し、
前記プロセッサにより、前記標準回路以外の回路を動作終了させる場合には、前記標準回路以外の回路が再構成されている領域に、前記標準回路を再構成するように制御することを特徴とする処理装置の制御方法。
A processor that performs processing;
A control method of a processing device having a reconfigurable circuit capable of dynamically reconfiguring a circuit for realizing processing of the processor,
The reconfigurable circuit has a plurality of clusters;
Each of the plurality of clusters has a plurality of regions in which a circuit can be reconfigured,
A standard circuit is configured in the plurality of regions,
When starting operation of a circuit other than the standard circuit by the processor, among the operation rates of the standard circuit of each of the plurality of clusters, in the region in the cluster where the operation rate of the standard circuit is the lowest, Control to reconfigure circuits other than the standard circuit,
When the operation of a circuit other than the standard circuit is terminated by the processor, control is performed so that the standard circuit is reconfigured in an area where the circuit other than the standard circuit is reconfigured. Control method of the device.
JP2015242286A 2015-12-11 2015-12-11 Processing device and control method of processing device Active JP6569508B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2015242286A JP6569508B2 (en) 2015-12-11 2015-12-11 Processing device and control method of processing device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015242286A JP6569508B2 (en) 2015-12-11 2015-12-11 Processing device and control method of processing device

Publications (2)

Publication Number Publication Date
JP2017107489A true JP2017107489A (en) 2017-06-15
JP6569508B2 JP6569508B2 (en) 2019-09-04

Family

ID=59059985

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015242286A Active JP6569508B2 (en) 2015-12-11 2015-12-11 Processing device and control method of processing device

Country Status (1)

Country Link
JP (1) JP6569508B2 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019044141A1 (en) * 2017-08-28 2019-03-07 日立オートモティブシステムズ株式会社 Electronic control device, and reconfiguration method for circuit
US20210294292A1 (en) * 2016-06-30 2021-09-23 Intel Corporation Method and apparatus for remote field programmable gate array processing

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002175183A (en) * 2000-12-06 2002-06-21 Matsushita Electric Ind Co Ltd Semiconductor integrated circuit
JP2005323399A (en) * 2005-07-11 2005-11-17 Fuji Xerox Co Ltd Programmable logic circuit apparatus, information processing system, reconstruction method of circuit to programmable logic circuit apparatus, and compression method of circuit information for programmable logic circuit apparatus
JP2007228188A (en) * 2006-02-22 2007-09-06 Fujitsu Ltd Reconfigurable circuit
JP2012194947A (en) * 2011-03-18 2012-10-11 Ricoh Co Ltd Image processing device and image processing method
JP2013045219A (en) * 2011-08-23 2013-03-04 Nippon Telegr & Teleph Corp <Ntt> Data processing system, data processing method, resource manager device, accelerator device, and program

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002175183A (en) * 2000-12-06 2002-06-21 Matsushita Electric Ind Co Ltd Semiconductor integrated circuit
JP2005323399A (en) * 2005-07-11 2005-11-17 Fuji Xerox Co Ltd Programmable logic circuit apparatus, information processing system, reconstruction method of circuit to programmable logic circuit apparatus, and compression method of circuit information for programmable logic circuit apparatus
JP2007228188A (en) * 2006-02-22 2007-09-06 Fujitsu Ltd Reconfigurable circuit
JP2012194947A (en) * 2011-03-18 2012-10-11 Ricoh Co Ltd Image processing device and image processing method
JP2013045219A (en) * 2011-08-23 2013-03-04 Nippon Telegr & Teleph Corp <Ntt> Data processing system, data processing method, resource manager device, accelerator device, and program

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20210294292A1 (en) * 2016-06-30 2021-09-23 Intel Corporation Method and apparatus for remote field programmable gate array processing
US11675326B2 (en) * 2016-06-30 2023-06-13 Intel Corporation Method and apparatus for remote field programmable gate array processing
WO2019044141A1 (en) * 2017-08-28 2019-03-07 日立オートモティブシステムズ株式会社 Electronic control device, and reconfiguration method for circuit
US11342917B2 (en) 2017-08-28 2022-05-24 Hitachi Astemo, Ltd. Electronic control device and circuit reconfiguration method

Also Published As

Publication number Publication date
JP6569508B2 (en) 2019-09-04

Similar Documents

Publication Publication Date Title
US10572290B2 (en) Method and apparatus for allocating a physical resource to a virtual machine
US9772879B2 (en) System and method for isolating I/O execution via compiler and OS support
US9563474B2 (en) Methods for managing threads within an application and devices thereof
US20160202999A1 (en) A Computing Platform, A Reconfigurable Hardware Device And A Method for Simultaneously Executing Processes On Dynamically Reconfigurable Hardware Device, Such As An FPGA, As Well As Instruction Set Processors, Such As A CPU, And A Related Computer Readable Medium
US9389921B2 (en) System and method for flexible device driver resource allocation
US20090158276A1 (en) Dynamic distribution of nodes on a multi-node computer system
US20210049146A1 (en) Reconfigurable distributed processing
KR20120031759A (en) Method and apparatus for dynamic resource allocation of processing unit
CN106537367B (en) Techniques for proxy-based multi-threaded message passing communication
KR20180105554A (en) Method for using local bmc to allocate shared gpu resources inside nvme over fabrics system
JP2017515232A (en) Dynamic load balancing of hardware threads in a cluster processor core using shared hardware resources and associated circuits, methods, and computer readable media
JP6569508B2 (en) Processing device and control method of processing device
US9753769B2 (en) Apparatus and method for sharing function logic between functional units, and reconfigurable processor thereof
US20190347123A1 (en) Acceleration Capacity Adjustment Method and Apparatus for Adjusting Acceleration Capacity of Virtual Machine
CN104702534A (en) Method and device for processing data of multi-process sharing port
CN103823712A (en) Data flow processing method and device for multi-CPU virtual machine system
US10157066B2 (en) Method for optimizing performance of computationally intensive applications
CN105653347A (en) Server, resource management method and virtual machine manager
JP6694683B2 (en) Scheduler computing device, data node of distributed computing system including the same, and method thereof
CN110401939A (en) A kind of low-power consumption bluetooth controller link layer device
JP6368452B2 (en) Improved scheduling of tasks performed by asynchronous devices
JP2016220126A (en) Network processing system, management method for network system, and communication device
JP2019153019A (en) Control device and control method
CN115269131A (en) Task scheduling method and device
EP3343843B1 (en) A control plane system and method for managing a data plane amongst a plurality of equipments

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180810

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20190426

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190521

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190614

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20190709

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190722

R150 Certificate of patent or registration of utility model

Ref document number: 6569508

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150