JP2018185691A - Apparatus, method, and program for processing information - Google Patents
Apparatus, method, and program for processing information Download PDFInfo
- Publication number
- JP2018185691A JP2018185691A JP2017087673A JP2017087673A JP2018185691A JP 2018185691 A JP2018185691 A JP 2018185691A JP 2017087673 A JP2017087673 A JP 2017087673A JP 2017087673 A JP2017087673 A JP 2017087673A JP 2018185691 A JP2018185691 A JP 2018185691A
- Authority
- JP
- Japan
- Prior art keywords
- circuit
- fpga
- power consumption
- threshold
- 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
Links
- 238000000034 method Methods 0.000 title description 6
- 230000010365 information processing Effects 0.000 claims description 29
- 238000003672 processing method Methods 0.000 claims description 6
- 230000007423 decrease Effects 0.000 claims description 5
- 238000004364 calculation method Methods 0.000 description 13
- 238000010586 diagram Methods 0.000 description 13
- 238000011084 recovery Methods 0.000 description 4
- 230000015556 catabolic process Effects 0.000 description 3
- 238000006731 degradation reaction Methods 0.000 description 3
- 230000020169 heat generation Effects 0.000 description 3
- 239000012141 concentrate Substances 0.000 description 2
- 230000003247 decreasing effect Effects 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000001816 cooling Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/78—Architectures of general purpose stored program computers comprising a single central processing unit
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Power Sources (AREA)
- Hardware Redundancy (AREA)
Abstract
Description
本発明は、情報処理装置、情報処理方法及びプログラムに関する。 The present invention relates to an information processing apparatus, an information processing method, and a program.
再構成デバイスとコンフィグレーションコードメモリと再構成デバイスコントローラとを有する情報処理装置が知られている(特許文献1参照)。再構成デバイスは、コンフィグレーションコードにしたがって所望のタスクを実行するための回路を変更可能に実現する。コンフィグレーションコードメモリは、再構成デバイスで実行するタスク毎に、それぞれ異なる特徴を持つ複数の回路を実現するためのコンフィグレーションコードが格納される。再構成デバイスコントローラは、異なる特徴を持つ複数の回路のなかからシステムの動作状態に応じて再構成デバイスに実行させる適切な回路を選択する、再構成デバイスに対するコンフィグレーションコードのロードを制御する。 An information processing apparatus having a reconfigurable device, a configuration code memory, and a reconfigurable device controller is known (see Patent Document 1). The reconfigurable device realizes the circuit for executing a desired task in accordance with the configuration code so that the circuit can be changed. The configuration code memory stores configuration codes for realizing a plurality of circuits having different characteristics for each task executed by the reconfigurable device. The reconfiguration device controller controls loading of the configuration code to the reconfiguration device, selecting an appropriate circuit to be executed by the reconfiguration device according to the operating state of the system from among a plurality of circuits having different characteristics.
また、サービス要求に応答してサービスを提供する複数のサーバ装置と、サービス要求をいずれかのサーバ装置へ転送する負荷分散装置とを有するサーバ負荷分散方式が知られている(特許文献2参照)。各サーバ装置は、サーバ負荷を検知する手段と、サーバ負荷を閾値と比較し、比較結果を負荷分散装置へ通知する手段とを有する。負荷分散装置は、各サーバ装置から通知される比較結果に基づいて各サーバ装置の負荷状況を管理する手段と、負荷の重くないサーバ装置を選択してサービス要求を転送する手段とを有する。 Also known is a server load distribution method having a plurality of server devices that provide services in response to service requests and a load distribution device that transfers the service requests to any of the server devices (see Patent Document 2). . Each server device has means for detecting the server load, and means for comparing the server load with a threshold and notifying the comparison result to the load distribution device. The load distribution apparatus includes means for managing the load status of each server apparatus based on the comparison result notified from each server apparatus, and means for selecting a server apparatus having a low load and transferring a service request.
再構成デイバスが高温になると、性能低下及び故障率上昇の可能性がある。しかし、再構成デバイスは、回路を変更可能であり、変更された回路により消費電力及び発熱量が変わる。そのため、再構成デバイスの温度を管理することが困難である。 When the reconstructed device becomes hot, there is a possibility of performance degradation and failure rate increase. However, the reconfigurable device can change the circuit, and the power consumption and the heat generation amount change depending on the changed circuit. Therefore, it is difficult to manage the temperature of the reconfigurable device.
1つの側面では、本発明の目的は、再構成可能回路に追加予定の回路を構成可能か否かを判断することができる情報処理装置、情報処理方法及びプログラムを提供することである。 In one aspect, an object of the present invention is to provide an information processing apparatus, an information processing method, and a program capable of determining whether a circuit scheduled to be added to a reconfigurable circuit can be configured.
情報処理装置は、少なくとも1つの再構成可能回路と、前記再構成可能回路の回路構成を制御する制御部とを有し、前記制御部は、前記再構成可能回路毎の閾値を記憶し、前記再構成可能回路毎に、現在実行中の回路の消費電力を示す情報と追加予定の回路の消費電力を示す情報に基づく消費電力情報と、前記閾値とを基に、追加予定の回路を構成可能か否かを判断する。 The information processing apparatus includes at least one reconfigurable circuit and a control unit that controls a circuit configuration of the reconfigurable circuit, and the control unit stores a threshold value for each of the reconfigurable circuits, For each reconfigurable circuit, the circuit to be added can be configured based on the power consumption information based on the information indicating the power consumption of the currently executing circuit, the power consumption of the circuit to be added, and the threshold value. Determine whether or not.
1つの側面では、再構成可能回路に追加予定の回路を構成可能か否かを判断することができる。 In one aspect, it can be determined whether a circuit to be added to the reconfigurable circuit can be configured.
(第1の実施形態)
図1は、第1の実施形態による情報処理装置の構成例を示す図である。情報処理装置は、クラウドサービスを実現するため、クライアント100と、管理サーバ110と、ネットワーク120と、第1〜第5のFPGA(field programmable gate array)サーバ130a〜130eとを有する。なお、FPGAサーバ130a〜130eの数は、5個に限定されない。
(First embodiment)
FIG. 1 is a diagram illustrating a configuration example of an information processing apparatus according to the first embodiment. The information processing apparatus includes a
クライアント100は、コンピュータであり、中央処理ユニット(CPU)101と、ランダムアクセスメモリ(RAM)102と、ハードディスクドライブ(HDD)ユニット103とを有する。CPU101は、HDDユニット103からプログラムを読み出し、読み出したプログラムをRAM102に展開し、RAM102に展開されたプログラムを実行する。クライアント100は、管理サーバ110にタスクの実行を依頼し、管理サーバ110からタスクの実行の結果を得ることができる。
The
管理サーバ110は、コンピュータであり、CPU111と、RAM112と、HDDユニット113とを有する。CPU111は、HDDユニット113からプログラムを読み出し、読み出したプログラムをRAM112に展開し、RAM112に展開されたプログラムを実行する。管理サーバ110は、ネットワーク120を介して、第1〜第5のFPGAサーバ130a〜130eにタスクを割り当て、第1〜第5のFPGAサーバ130a〜130eからタスクの実行結果を取得し、その実行結果をクライアント100に出力する。
The
第1のFPGAサーバ130aは、コンピュータであり、CPU131aと、RAM132aと、HDDユニット133aと、FPGA134aとを有する。同様に、第2〜第5のFPGAサーバ130b〜130eは、それぞれ、コンピュータであり、CPU131b〜131eと、RAM132b〜132eと、HDDユニット133b〜133eと、FPGA134b〜134eとを有する。CPU131a〜131eは、それぞれ、HDDユニット133a〜133eからプログラムを読み出し、読み出したプログラムをRAM132a〜132eに展開し、RAM132a〜132eに展開されたプログラムを実行する。FPGA134a〜134eは、回路を変更可能な再構成可能回路である。第1〜第5のFPGAサーバ130a〜130eは、それぞれ、管理サーバ110から依頼されたタスクに対応する回路をFPGA134a〜134eに構成し、その回路を実行し、その実行の結果のデータをネットワーク120を介して管理サーバ110に出力する。
The
図2は、第1のFPGAサーバ130aの構成例を示す図である。第1のFPGAサーバ130aの構成を例に説明するが、第2〜第5のFPGAサーバ130b〜130eの構成も第1のFPGAサーバ130aの構成と同様である。
FIG. 2 is a diagram illustrating a configuration example of the
第1のFPGAサーバ130aは、CPU131aと、RAM132aと、HDDユニット133aと、FPGA134aとを有する。HDDユニット133aは、タスクの回路をFPGA134aに構成するための回路情報(コンフィグレーションコード)201〜208と、回路付属情報211〜218を記憶する。
The
回路情報201は、タスクAの回路をFPGA134aの一番上に構成するための回路情報である。回路情報202は、タスクAの回路をFPGA134aの上から二番目に構成するための回路情報である。回路情報203は、タスクAの回路をFPGA134aの上から三番目に構成するための回路情報である。回路情報204は、タスクAの回路をFPGA134aの一番下に構成するための回路情報である。
The
回路情報205は、タスクBの回路をFPGA134aの左上に構成するための回路情報である。回路情報206は、タスクBの回路をFPGA134aの右上に構成するための回路情報である。
The
回路情報207は、タスクCの回路をFPGA134aの下に構成するための回路情報である。回路情報208は、タスクCの回路をFPGA134aの上に構成するための回路情報である。
The
回路付属情報211〜218は、それぞれ、回路情報201〜208に付属する情報である。回路付属情報211〜218は、それぞれ、回路サイズ221と動作周波数222を含む。回路付属情報211〜214は、それぞれ、タスクAの回路の回路サイズ221と動作周波数222を含む。回路付属情報215及び216は、それぞれ、タスクBの回路の回路サイズ221と動作周波数222を含む。回路付属情報217及び218は、それぞれ、タスクCの回路の回路サイズ221と動作周波数222を含む。
The circuit attached
管理サーバ110は、回路情報201〜208及び回路付属情報211〜128を生成し、回路情報201〜208及び回路付属情報211〜128を第1〜第5のFPGAサーバ130a〜130eに出力する。第1〜第5のFPGAサーバ130a〜130eでは、それぞれ、CPU131a〜131eは、HDDユニット133a〜133eに回路情報201〜208及び回路付属情報211〜128を書き込む。
The
図3(A)は、タスクCの割り当て前のFPGA134a〜134cの例を示す図である。第1のFPGA134aには、4個のタスクAの回路と1個のタスクBの回路が構成されている。第2のFPGA134bには、2個のタスクBの回路が構成されている。第3のFPGA134cには、何も回路が構成されていない。管理サーバ110は、タスクCの回路情報207又は208を用いて、FPGA134b又は134cに、タスクCの回路を追加することができる。
FIG. 3A is a diagram illustrating an example of the
図3(B)は、管理サーバ110がFPGA134bにタスクCの回路を割り当てた例を示す図である。管理サーバ110は、第2のFPGAサーバ130bにタスクCを割り当てる。すると、第2のFPGAサーバ130bは、HDDユニット133b内の回路情報207をFPGA134bに書き込む。すると、FPGA134bには、タスクCの回路が追加構成される。
FIG. 3B is a diagram illustrating an example in which the
図3(C)は、管理サーバ110がFPGA134cに2個のタスクCの回路を割り当てた例を示す図である。管理サーバ110は、第3のFPGAサーバ130cに2個のタスクCを割り当てる。すると、第3のFPGAサーバ130cは、HDDユニット133c内の回路情報207及び208をFPGA134cに書き込む。すると、FPGA134cには、2個のタスクCの回路が追加構成される。
FIG. 3C is a diagram illustrating an example in which the
FPGA134a〜134eは、高温になりすぎると、熱雑音による性能低下及び故障率上昇の可能性がある。FPGA134a〜134eは、書き込まれる回路により、消費電力(発熱量)が大きく異なるため、温度管理が困難である。FPGA134a〜134eの温度管理を行わない場合、FPGA134a〜134eが発火する可能性がある。複数のFPGA134a〜134eのうちの一部のFPGAにタスクが集中すると、その一部のFPGAが非常に高温になってしまう。そのため、管理サーバ110は、第1〜第5のFPGAサーバ130a〜130eに適切にタスクを割り当てることにより、効率よく第1〜第5のFPGAサーバ130a〜130eを運用する。具体的には、管理サーバ110は、第1〜第5のFPGAサーバ130a〜130eのFPGA134a〜134eの全体の消費電力を抑え、かつ1つのFPGAにタスクが集中して、異常高温になることを避けるように、タスクを割り当てる。
If the
図4は、情報処理装置の機能構成例を示す図である。情報処理装置は、クライアント100と、管理サーバ110と、第1〜第5のFPGAサーバ130a〜130eを有する。管理サーバ110は、モジュール400を有する。モジュール400は、CPU111が実行するプログラムのモジュールである。モジュール400は、FPGA実行管理部401と、実行FPGAサーバ選択部402と、実行可否問い合わせ部403と、タスク受付部404と、閾値制御部405とを有する。
FIG. 4 is a diagram illustrating a functional configuration example of the information processing apparatus. The information processing apparatus includes a
第1のFPGAサーバ130aは、RAM132aと、HDDユニット133aと、FPGA134aと、モジュール410とを有する。RAM132aは、閾値記憶部413を有する。HDDユニット133aは、回路情報記憶部411と、回路付属情報記憶部412とを有する。回路情報記憶部411は、図2の回路情報201〜208を記憶する。回路付属情報記憶部412は、図2の回路付属情報211〜218を記憶する。
The
モジュール410は、CPU131aが実行するプログラムのモジュールである。モジュール410は、実行結果処理部414と、実行制御部415と、回路情報管理部416と、回路情報書き込み部417と、消費電力計算部418と、実行可否判定部419とを有する。回路情報書き込み部417は、制御部であり、回路情報をFPGA134aに書き込むことにより、FPGA134aの回路構成を制御することができる。
The
第2〜第5のFPGAサーバ130b〜130eは、それぞれ、上記の第1のFPGAサーバ130aと同様の構成を有する。
Each of the second to
図5は、情報処理装置の情報処理方法の例を示すシーケンス図である。ここで、第1〜第5のFPGAサーバ130a〜130eが稼働中であり、第6のFPGAサーバが休止中である場合を例に説明する。第6のFPGAサーバは、第1〜第5のFPGAサーバ130a〜130eと同様の構成を有する。
FIG. 5 is a sequence diagram illustrating an example of an information processing method of the information processing apparatus. Here, a case where the first to
管理サーバ110は、閾値制御部405により、図6(A)に示すように、第1〜第5のFPGAサーバ130a〜130eに対して閾値601a〜601eの初期値(最大値)を順に設定指示する。第1のFPGAサーバ130aは、実行可否判定部419により、閾値記憶部413に閾値601aの初期値を書き込む。同様に、第2〜第5のFPGAサーバ130b〜130eは、それぞれ、実行可否判定部419により、閾値記憶部413に閾値601b〜601eの初期値を書き込む。その後、管理サーバ110は、閾値制御部405により、図6(A)に示すように、一定時間毎に、第1〜第5のFPGAサーバ130a〜130eに対して閾値601a〜601eが減少するように、閾値601a〜601eを順に更新指示する。この更新指示は、ステップS507及びS509に対応する。その詳細は、後述する。第1〜第5のFPGAサーバ130a〜130eは、それぞれ、更新指示を入力すると、実行可否判定部419により、閾値記憶部413の閾値601a〜601eが減少するように更新する。管理サーバ110は、閾値制御部405により、図6(A)に示すように、それぞれ、閾値601a〜601eが0になると、閾値601a〜601eを初期値(最大値)に順に設定指示する。第1〜第5のFPGAサーバ130a〜130eのFPGA134a〜134eの閾値601a〜601eは、図6(A)のように、周期的に変化する。
As shown in FIG. 6A, the
ステップS501では、クライアント100は、管理サーバ110に対して、タスクCの実行依頼を出力する。すると、管理サーバ110は、タスク受付部404により、そのタスクCの実行依頼を受け付ける。
In step S <b> 501, the
次に、ステップS502では、管理サーバ110は、実行可否問い合わせ部403により、稼働中の第1〜第5のFPGAサーバ130a〜130eに対して、タスクCの実行可否問い合わせを出力する。
Next, in step S502, the
次に、ステップS503では、第1〜第5のFPGAサーバ130a〜130eは、それぞれ、消費電力計算部418により、FPGA134a〜134e毎に、現在実行中の回路の消費電力を示す情報と、追加予定のタスクCの回路の消費電力を示す情報とを加算し、全体の消費電力を示す情報を得る。
Next, in step S503, each of the first to
例えば、図3(A)のFPGA134bの例を説明する。実行制御部415は、現在実行中の2個のタスクBの情報を回路情報管理部416に出力する。回路付属情報記憶部412は、回路情報管理部416の制御により、2個のタスクBの回路付属情報215及び216を消費電力計算部418に出力する。消費電力計算部418は、回路付属情報215及び216毎に、回路サイズ221と動作周波数222を乗算することにより消費電力を計算し、それらの消費電力を加算することにより、現在実行中の2個のタスクBの回路の消費電力を得る。次に、消費電力計算部418は、追加予定のタスクCの回路付属情報217の回路サイズ221と動作周波数222を乗算することにより、追加予定のタスクCの回路の消費電力を得る。次に、消費電力計算部418は、現在実行中の2個のタスクBの回路の消費電力と、追加予定のタスクCの回路の消費電力を加算し、全体の消費電力を実行可否判定部419に出力する。
For example, an example of the
第2のFPGAサーバ130bの例を説明したが、他のFPGAサーバ130a、130c〜130eも同様に、全体の消費電力を計算する。
Although the example of the
次に、ステップS504では、第1〜第5のFPGAサーバ130a〜130eは、それぞれ、実行可否判定部419により、閾値記憶部413に記憶されている閾値601a〜601eから消費電力計算部418が出力する全体の消費電力を減算し、その減算結果を実行可否回答として管理サーバ110の実行FPGAサーバ選択部402に出力する。
In step S504, the first to
全体の消費電力が閾値より小さい場合には、減算結果が正値であり、FPGAが追加タスクCの回路を実行可能であることを示す。全体の消費電力が閾値より大きい場合には、減算結果が負値であり、FPGAが追加タスクCの回路を実行不可能であることを示す。 When the overall power consumption is smaller than the threshold value, the subtraction result is a positive value, indicating that the FPGA can execute the circuit of the additional task C. When the overall power consumption is larger than the threshold value, the subtraction result is a negative value, indicating that the FPGA cannot execute the circuit of the additional task C.
第1〜第5のFPGAサーバ130a〜130eの実行可否判定部419は、それぞれ、判断部であり、FPGA134a〜134e毎に、現在実行中のタスクの回路の消費電力を示す情報と追加予定のタスクの回路の消費電力を示す情報に基づく消費電力情報と、閾値601a〜601eとを基に、追加予定の回路を構成可能か否かを判断する。
The
ステップS505では、管理サーバ110は、実行FPGAサーバ選択部402により、第1〜第5のFPGAサーバ130a〜130eの減算結果の中で最も大きな値を持ち、かつ減算結果が正値である第2のFPGAサーバ130bの実行制御部415にタスクCの実行依頼を出力する。すなわち、管理サーバ110は、第2のFPGAサーバ130bのFPGA134bに、追加予定のタスクCの回路の構成を指示する。
In step S505, the
なお、稼働中の第1〜第5のFPGAサーバ130a〜130eの減算結果のすべてが負値である場合、管理サーバ110は、実行FPGAサーバ選択部402により、休止中の第6のFPGAサーバに対して、タスクCの実行依頼を出力し、第6のFPGAサーバのFPGAにタスクCの回路の構成を指示する。その際、管理サーバ110は、閾値制御部405により、休止中の第6のFPGAサーバに対して、閾値の初期値設定を行う。なお、休止中の第6のFPGAサーバは、可能な限りタスクを割り当てない方が、全体の消費電力を低減することができる。
When all of the subtraction results of the first to
次に、ステップS506では、第2のFPGAサーバ130bは、実行制御部415により、タスクCの実行開始を指示する。回路情報書き込み部417は、回路情報記憶部411からタスクCの回路情報207を読み出し、回路情報207をFPGA134bに書き込む。これにより、図3(B)に示すように、FPGA134bには、タスクCの回路が追加される。FPGA134bは、2個のタスクBと1個のタスクCの回路の実行を開始する。
Next, in step S506, the
なお、図3(C)のFPGA134cのように、2個のタスクCの回路を並列処理させたい場合には、ステップS502に戻り、再び、管理サーバ110は、タスクCの実行可否問い合わせを出力すればよい。すなわち、管理サーバ110は、実行可否問い合わせ処理を並列処理数だけ繰り返し行えばよい。
If the two task C circuits are to be processed in parallel as in the
次に、ステップS507では、管理サーバ110は、閾値制御部405により、それぞれ、閾値601a〜601eの初期値設定から一定時間経過後に、第1〜第5のFPGAサーバ130a〜130eに対して、閾値601a〜601eを減少させるための更新指示を出力する。
Next, in step S507, the
次に、ステップS508では、稼働中の第1〜第5のFPGAサーバ130a〜130eは、実行可否判定部419により、閾値記憶部413の閾値が減少するように更新する。そして、第1〜第5のFPGAサーバ130a〜130eは、それぞれ、消費電力計算部418により、上記と同様に、現在実行中のタスクの回路の消費電力を計算して実行可否判定部419に出力する。そして、第1〜第5のFPGAサーバ130a〜130eは、それぞれ、実行可否判定部419により、閾値記憶部413に記憶されている閾値601a〜601eから消費電力計算部418が出力する消費電力を減算し、その減算結果が正値である場合には、FPGA134a〜134eのタスクの回路の実行を継続させる。
In step S508, the first to
次に、ステップS509では、管理サーバ110は、閾値制御部405により、それぞれ、ステップS507の閾値601a〜601eの更新から一定時間経過後に、第1〜第5のFPGAサーバ130a〜130eに対して、閾値601a〜601eを減少させるための更新指示を出力する。
Next, in step S509, the
次に、ステップS510では、稼働中の第1〜第5のFPGAサーバ130a〜130eは、ステップS508と同様に、閾値記憶部413の閾値が減少するように更新する。そして、第1〜第5のFPGAサーバ130a〜130eは、それぞれ、実行可否判定部419により、閾値記憶部413に記憶されている閾値601a〜601eから消費電力計算部418が出力する消費電力を減算する。第1、第3〜第5のFPGAサーバ130a、130c〜130eは、それぞれ、実行可否判定部419により、その減算結果が正値である場合に、FPGA134a、134c〜134eのタスクの回路の実行を継続させる。
Next, in step S510, the operating first to
ステップS511では、第2のFPGAサーバ130bは、実行可否判定部419により、消費電力を閾値601bと比較し、消費電力が閾値601bより大きく、減算結果が負値であると判定する。その場合、ステップS512では、第2のFPGAサーバ130bは、実行可否判定部419により、実行中のタスクの回路のうちの最も消費電力が大きいタスクの回路から順に、消費電力が閾値601bより小さくなるまで、実行を停止させる。第2のFPGAサーバ130bは、実行結果処理部414により、停止したFPGA134bのタスクの回路の途中結果データと停止ポイントを示すリカバリポイントをRAM132bに書き込む。
In step S511, the
次に、ステップS513では、第2のFPGAサーバ130bは、実行結果処理部414により、上記の途中結果データ及びリカバリポイントを含むタスク実行依頼を管理サーバ110のFPGA実行管理部401に出力する。
Next, in step S513, the
この際、第2のFPGAサーバ130bは、実行可否判定部419により、図6(A)の閾値610のように、閾値記憶部132aの閾値を0に変更し、タスクの回路の実行が完了すると、閾値記憶部132aの閾値を初期値に設定する。なお、図6(A)の閾値610は、第3のFPGAサーバ130cのFPGA134cの閾値を示すが、第2のFPGAサーバ130bのFPGA134bの閾値も同様である。
At this time, the
次に、ステップS514では、FPGA実行管理部401は、そのタスク実行依頼をタスク受付部404に出力する。タスク受付部404は、実行可否問い合わせ部403にタスク実行依頼を出力する。管理サーバ110は、実行可否問い合わせ部403により、第1、第3〜第5のFPGAサーバ130a、130c〜130eに対して、タスクの実行可否問い合わせを出力する。
Next, in step S514, the FPGA
次に、ステップS515では、第1、第3〜第5のFPGAサーバ130a、130c〜130eは、実行可否判定部419により、ステップS503と同様に、FPGA134a、134c〜134e毎に、現在実行中の回路の消費電力を示す情報と、追加予定のタスクの回路の消費電力を示す情報とを加算し、全体の消費電力を示す情報を得る。
Next, in step S515, the first, third to
次に、ステップS516では、第1、第3〜第5のFPGAサーバ130a、130c〜130eは、実行可否判定部419により、ステップS504と同様に、閾値記憶部413に記憶されている閾値601a、601c〜601eから消費電力計算部418が出力する全体の消費電力を減算し、その減算結果を実行可否回答として管理サーバ110の実行FPGAサーバ選択部402に出力する。
Next, in step S516, the first, third to
次に、ステップS517では、管理サーバ110は、実行FPGAサーバ選択部402により、第1、第3〜第5のFPGAサーバ130a、130c〜130eの減算結果の中で最も大きな値を持ち、かつ減算結果が正値である第1のFPGAサーバ130aの実行制御部415にタスクの実行依頼を出力する。その実行依頼は、上記の途中結果データ及びリカバリポイントを含む。
Next, in step S517, the
なお、第1、第3〜第5のFPGAサーバ130a、130c〜130eの減算結果のすべてが負値である場合、管理サーバ110は、実行FPGAサーバ選択部402により、休止中の第6のFPGAサーバに対して、タスクの実行依頼を出力する。その際、管理サーバ110は、閾値制御部405により、休止中の第6のFPGAサーバに対して、閾値の初期値設定を行う。
If all the subtraction results of the first, third to
次に、ステップS518では、第1のFPGAサーバ130aは、回路情報書き込み部417により、回路情報記憶部411からタスクの回路情報を読み出し、その回路情報をFPGA134aに書き込む。そして、第1のFPGAサーバ130aは、実行制御部415により、FPGA134aに対して途中結果データを入力し、タスクのリカバリポイントからの実行再開を指示する。これにより、FPGA134aには、タスクの回路が追加される。FPGA134aは、タスクの回路の実行を再開する。
Next, in step S518, the
第1のFPGAサーバ130aは、FPGA134aのタスクの回路の実行が完了すると、実行結果処理部414により、FPGA134aの実行結果データを管理サーバ110のFPGA実行管理部401に出力する。FPGA実行管理部401は、タスク受付部404を介して、クライアント100に実行結果データを出力する。
When the execution of the task circuit of the
図6(A)は、第1〜第5のFPGAサーバ130a〜130eのFPGA134a〜134eの閾値601a〜601eを示すタイムチャートである。図6(B)は、図6(A)に対応し、第1〜第5のFPGAサーバ130a〜130eのFPGA134a〜134eの消費電力602a〜602eを示すタイムチャートである。管理サーバ110は、第1〜第5のFPGAサーバ130a〜130eのFPGA134a〜134eの閾値601a〜601eをローテーションにより更新する。これにより、管理サーバ110は、第1〜第5のFPGAサーバ130a〜130eに対して、ローテーションにより、平均的にタスクの実行依頼をすることができる。図6(B)に示すように、第1〜第5のFPGAサーバ130a〜130eのFPGA134a〜134eの消費電力602a〜602eは、偏りがなく、第1〜第5のFPGAサーバ130a〜130eに対してタスクがほぼ均等に分散して割り当てられていることが分かる。
FIG. 6A is a time chart showing threshold values 601a to 601e of the
図6(C)は、第1〜第5のFPGAサーバ130a〜130eのFPGA134a〜134eの平均消費電力を示すタイムチャートである。第1〜第5のFPGAサーバ130a〜130eのFPGA134a〜134eは、平均消費電力が相互にほぼ同じであり、発熱量も相互にほぼ同じである。管理サーバ110は、第1〜第5のFPGAサーバ130a〜130eのうちの一部のFPGAサーバにタスクが集中して、異常高温になることを防止することができる。FPGA134a〜134eは、高温による性能低下及び故障率上昇を防止することができる。
FIG. 6C is a time chart showing the average power consumption of the
図6(D)は、第1〜第5のFPGAサーバ130a〜130eのFPGA134a〜134eの全体の合計消費電力604と1個当たりのFPGAの最大消費電力605を示すタイムチャートである。管理サーバ110は、第1〜第5のFPGAサーバ130a〜130eのFPGA134a〜134eの全体の合計消費電力604を低減し、かつ1個当たりのFPGAの最大消費電力605を低減していることが分かる。これにより、一部のFPGAサーバのFPGAにタスクが集中して、異常高温になることを防止することができる。
FIG. 6D is a time chart showing the
また、FPGA134a〜134eを冷却するためのファンを設けることが考えられる。しかし、ファンを設けると、消費電力が増加してしまう。本実施形態は、ファンを設けないので、低消費電力で、FPGA134a〜134eの異常高温を防止することができる。
It is also conceivable to provide a fan for cooling the
また、第1〜第5のFPGAサーバ130a〜130eは、それぞれ、実行可否判定部419により、消費電力を閾値と比較することにより、FPGA134a〜134eに追加予定のタスクの回路を構成可能か否かを判断することができる。
Whether the first to
なお、ステップS502及びS514では、管理サーバ110は、FPGA134a〜134eの空きスペースに応じて、タスクを追加可能なFPGAサーバにのみ実行可否問い合わせを出力することができる。管理サーバ110は、FPGAサーバ130a〜130eのFPGA134a〜134eが実行中のタスクの回路を把握している。例えば、図3(A)の第1のFPGAサーバ130aのFPGA134aは、空きスペースが狭く、タスクCの回路を追加することができない。この場合、管理サーバ110は、第1のFPGAサーバ130a以外のFPGAサーバに実行可否問い合わせを出力する。
In steps S502 and S514, the
また、上記では、複数のFPGAサーバ130a〜130eがそれぞれ複数のFPGA134a〜134eを有する場合を例に説明したが、1つのFPGAサーバが複数のFPGA134a〜134eを有していてもよい。また、各FPGAサーバ130a〜130eがそれぞれ複数のFPGAを有していてもよい。
In the above description, the case where the plurality of
(第2の実施形態)
図7(A)は、第2の実施形態による第1〜第5のFPGAサーバ130a〜130eのFPGA134a〜134eの閾値701a〜701eの例を示すタイムチャートである。本実施形態は、第1の実施形態に対し、管理サーバ110の閾値制御方法が異なる。以下、図4及び図5を参照しながら、本実施形態が第1の実施形態と異なる点を説明する。
(Second Embodiment)
FIG. 7A is a time chart illustrating an example of
第1の実施形態では、ステップS505において、稼働中の第1〜第5のFPGAサーバ130a〜130eの減算結果のすべてが負値である場合、管理サーバ110は、実行FPGAサーバ選択部402により、休止中の第6のFPGAサーバに対して、タスクCの実行依頼を出力する。
In the first embodiment, when all the subtraction results of the first to
これに対し、本実施形態では、ステップS505において、稼働中の第1〜第5のFPGAサーバ130a〜130eの減算結果のすべてが負値である場合、管理サーバ110は、閾値制御部405により、稼働中の第1〜第5のFPGAサーバ130a〜130eのFPGA134a〜134eの閾値701a〜701eの合計が第1の値より小さい場合には、図7(A)に示すように、稼働中の第1〜第5のFPGAサーバ130a〜130eのFPGA134a〜134eの閾値701a〜701eのうちの最も小さい閾値701aを閾値702に増加させる指示を第1のFPGAサーバ130aに出力する。ここで、閾値制御部405は、稼働中の第1〜第5のFPGAサーバ130a〜130eのFPGA134a〜134eの閾値701a〜701eの合計が第1の値を超えない範囲で、閾値701aを閾値702に増加させる指示を出力する。
On the other hand, in this embodiment, when all of the subtraction results of the first to
すると、第1のFPGAサーバ130aは、実行可否判定部419により、閾値記憶部413の閾値を増加させる。次に、第1のFPGAサーバ130aは、実行可否判定部419により、閾値記憶部413に記憶されている閾値702から消費電力計算部418が出力する全体の消費電力を減算し、その減算結果を管理サーバ110の実行FPGAサーバ選択部402に出力する。
Then, the
管理サーバ110は、実行FPGAサーバ選択部402により、第1のFPGAサーバ130aの減算結果が正値である場合には、第1のFPGAサーバ130aの実行制御部415にタスクCの実行依頼を出力する。その後、第1のFPGAサーバ130aは、ステップS506と同様に、タスクCの回路の実行を開始する。
When the subtraction result of the
また、ステップS517では、第1、第3〜第5のFPGAサーバ130a、130c〜130eの減算結果のすべてが負値である場合、管理サーバ110は、閾値制御部405により、第1、第3〜第5のFPGAサーバ130a、130c〜130eのFPGA134a、134c〜134eの閾値701a、701c〜701eの合計が第1の値より小さい場合には、第1、第3〜第5のFPGAサーバ130a、130c〜130eのFPGA134a、134c〜134eの閾値701a、701c〜701eのうちの最も小さい第1のFPGAサーバ130aのFPGA134aの閾値701aを増加させる指示を第1のFPGAサーバ130aに出力する。ここで、閾値制御部405は、稼働中の第1〜第5のFPGAサーバ130a〜130eのFPGA134a〜134eの閾値701a〜701eの合計が第1の値を超えない範囲で、閾値701aを増加させる指示を出力する。
In step S517, if all of the subtraction results of the first, third to
すると、第1のFPGAサーバ130aは、実行可否判定部419により、閾値記憶部413の閾値を増加させる。次に、第1のFPGAサーバ130aは、実行可否判定部419により、閾値記憶部413に記憶されている閾値702から消費電力計算部418が出力する全体の消費電力を減算し、その減算結果を管理サーバ110の実行FPGAサーバ選択部402に出力する。
Then, the
管理サーバ110は、実行FPGAサーバ選択部402により、第1のFPGAサーバ130aの減算結果が正値である場合には、第1のFPGAサーバ130aの実行制御部415にタスクの実行依頼を出力する。その後、ステップS508では、第1のFPGAサーバ130aは、タスクの回路の実行を再開する。
When the subtraction result of the
図7(B)は、図7(A)に対応し、第1〜第5のFPGAサーバ130a〜130eのFPGA134a〜134eの消費電力703a〜703eを示すタイムチャートである。管理サーバ110は、一時的なタスクの集中に対応可能にするため、閾値702を一時的に増加させる。これにより、消費電力704が一時的に増加する。ただし、その時以外では、本実施形態では、第1の実施形態と同様に、第1〜第5のFPGAサーバ130a〜130eのFPGA134a〜134eの消費電力703a〜703eは、偏りがなく、第1〜第5のFPGAサーバ130a〜130eのFPGA134a〜134eに対してタスクがほぼ均等に分散して割り当てられる。
FIG. 7B corresponds to FIG. 7A and is a time chart showing
本実施形態は、コンピュータがプログラムを実行することによって実現することができる。また、上記のプログラムを記録したコンピュータ読み取り可能な記録媒体及び上記のプログラム等のコンピュータプログラムプロダクトも本発明の実施形態として適用することができる。記録媒体としては、例えばフレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、CD−ROM、磁気テープ、不揮発性のメモリカード、ROM等を用いることができる。 This embodiment can be realized by a computer executing a program. Further, a computer-readable recording medium in which the above program is recorded and a computer program product such as the above program can also be applied as an embodiment of the present invention. As the recording medium, for example, a flexible disk, a hard disk, an optical disk, a magneto-optical disk, a CD-ROM, a magnetic tape, a nonvolatile memory card, a ROM, or the like can be used.
なお、上記実施形態は、何れも本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその技術思想、又はその主要な特徴から逸脱することなく、様々な形で実施することができる。 The above-described embodiments are merely examples of implementation in carrying out the present invention, and the technical scope of the present invention should not be construed in a limited manner. That is, the present invention can be implemented in various forms without departing from the technical idea or the main features thereof.
100 クライアント
101,111,131a〜131e CPU
102,112,132a〜132e RAM
103,113,133a〜133e HDDユニット
110 管理サーバ
120 ネットワーク
130a〜130e FPGAサーバ
134a〜134e FPGA
100
102, 112, 132a to 132e RAM
103, 113, 133a to 133e
Claims (10)
前記再構成可能回路の回路構成を制御する制御部とを有し、
前記制御部は、前記再構成可能回路毎の閾値を記憶し、前記再構成可能回路毎に、現在実行中の回路の消費電力を示す情報と追加予定の回路の消費電力を示す情報に基づく消費電力情報と、前記閾値とを基に、追加予定の回路を構成可能か否かを判断することを特徴とする情報処理装置。 At least one reconfigurable circuit;
A control unit for controlling the circuit configuration of the reconfigurable circuit,
The control unit stores a threshold value for each of the reconfigurable circuits, and for each of the reconfigurable circuits, consumption based on information indicating power consumption of a currently executing circuit and information indicating power consumption of a circuit to be added An information processing apparatus that determines whether or not a circuit to be added can be configured based on power information and the threshold value.
さらに、前記停止した回路の実行を他の再構成可能回路に再開させる実行管理部を有することを特徴とする請求項1〜3のいずれか1項に記載の情報処理装置。 When the threshold is updated, the control unit compares information indicating the power consumption of the currently executing circuit with the threshold for the reconfigurable circuit with the updated threshold, and the currently executing circuit. If the information indicating the power consumption is greater than the threshold, execution of at least one of the currently executing circuits is stopped,
The information processing apparatus according to claim 1, further comprising an execution management unit that causes another reconfigurable circuit to resume execution of the stopped circuit.
前記情報処理装置が有する記憶部が、前記再構成可能回路毎の閾値を記憶し、
前記情報処理装置が有する判断部が、前記再構成可能回路毎に、現在実行中の回路の消費電力を示す情報と追加予定の回路の消費電力を示す情報に基づく消費電力情報と、前記閾値とを基に、追加予定の回路を構成可能か否かを判断することを特徴とする情報処理方法。 An information processing method for an information processing apparatus having at least one reconfigurable circuit,
The storage unit of the information processing apparatus stores a threshold value for each reconfigurable circuit,
The determination unit included in the information processing apparatus includes, for each reconfigurable circuit, power consumption information based on information indicating power consumption of a currently executing circuit, information indicating power consumption of a circuit to be added, and the threshold value. And determining whether or not a circuit to be added can be configured based on the information processing method.
前記再構成可能回路毎に、現在実行中の回路の消費電力を示す情報と追加予定の回路の消費電力を示す情報に基づく消費電力情報と、前記閾値とを基に、追加予定の回路を構成可能か否かを判断する、
処理をコンピュータに実行させるためのプログラム。 Set a threshold for at least one reconfigurable circuit;
For each reconfigurable circuit, a circuit to be added is configured based on power consumption information based on information indicating the power consumption of the currently executing circuit, information indicating the power consumption of the circuit to be added, and the threshold value. Determine whether it is possible,
A program that causes a computer to execute processing.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017087673A JP6810356B2 (en) | 2017-04-26 | 2017-04-26 | Information processing equipment, information processing methods and programs |
PCT/JP2018/006036 WO2018198501A1 (en) | 2017-04-26 | 2018-02-20 | Information processing device, information processing method and program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017087673A JP6810356B2 (en) | 2017-04-26 | 2017-04-26 | Information processing equipment, information processing methods and programs |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2018185691A true JP2018185691A (en) | 2018-11-22 |
JP6810356B2 JP6810356B2 (en) | 2021-01-06 |
Family
ID=63919684
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2017087673A Expired - Fee Related JP6810356B2 (en) | 2017-04-26 | 2017-04-26 | Information processing equipment, information processing methods and programs |
Country Status (2)
Country | Link |
---|---|
JP (1) | JP6810356B2 (en) |
WO (1) | WO2018198501A1 (en) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006195945A (en) * | 2004-12-14 | 2006-07-27 | Matsushita Electric Ind Co Ltd | Electronic device and peak power control method therefor |
US20090276171A1 (en) * | 2008-05-02 | 2009-11-05 | Fujitsu Limited | Data processing apparatus and method |
US20100026340A1 (en) * | 2008-02-29 | 2010-02-04 | Altera Corporation | User-Accessible Freeze-Logic for Dynamic Power Reduction and Associated Methods |
JP2016115979A (en) * | 2014-12-11 | 2016-06-23 | キヤノン株式会社 | Image processing apparatus, control method and program thereof |
-
2017
- 2017-04-26 JP JP2017087673A patent/JP6810356B2/en not_active Expired - Fee Related
-
2018
- 2018-02-20 WO PCT/JP2018/006036 patent/WO2018198501A1/en active Application Filing
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006195945A (en) * | 2004-12-14 | 2006-07-27 | Matsushita Electric Ind Co Ltd | Electronic device and peak power control method therefor |
US20070266269A1 (en) * | 2004-12-14 | 2007-11-15 | Ryuji Fuchikami | Electronic Apparatus and Peak Power-Controlling Method Related Thereto |
US20100026340A1 (en) * | 2008-02-29 | 2010-02-04 | Altera Corporation | User-Accessible Freeze-Logic for Dynamic Power Reduction and Associated Methods |
US20090276171A1 (en) * | 2008-05-02 | 2009-11-05 | Fujitsu Limited | Data processing apparatus and method |
JP2009271649A (en) * | 2008-05-02 | 2009-11-19 | Fujitsu Ltd | Data processor, data processing method, and data processing program |
JP2016115979A (en) * | 2014-12-11 | 2016-06-23 | キヤノン株式会社 | Image processing apparatus, control method and program thereof |
Also Published As
Publication number | Publication date |
---|---|
WO2018198501A1 (en) | 2018-11-01 |
JP6810356B2 (en) | 2021-01-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6044131B2 (en) | Program, management server, and virtual machine migration control method | |
US20150248312A1 (en) | Performance-aware job scheduling under power constraints | |
JP2007041720A (en) | Job step execution program and job step execution method | |
JP6640025B2 (en) | Distributed processing control system and distributed processing control method | |
JP2010231502A (en) | Job processing method, computer-readable recording medium having stored job processing program, and job processing system | |
US10095204B2 (en) | Method, medium, and system | |
US10114438B2 (en) | Dynamic power budgeting in a chassis | |
US10171572B2 (en) | Server pool management | |
JP2016126426A (en) | Multicore system, multicore processor, parallel processing method, and parallel processing control program | |
WO2018198501A1 (en) | Information processing device, information processing method and program | |
US9367361B2 (en) | Information processing device, method for processing information, and non-transitory computer-readable recording medium having stored therein information processing program | |
JP2007179246A (en) | Method, program and server for computer management | |
KR101771183B1 (en) | Method for managing in-memory cache | |
JP2014174597A (en) | In-memory distributed database, data distribution method, and program | |
JP6874594B2 (en) | Power management device, node power management method and node power management program | |
JP5056346B2 (en) | Information processing apparatus, information processing system, virtual server movement processing control method, and program | |
JP6826186B2 (en) | Scheduling independent and dependent actions for processing | |
JP2010186347A (en) | System, method and program for scheduling job | |
JP2015060474A (en) | Information processing handover control device, information processing handover control method, and information processing handover control program | |
KR20170083285A (en) | Home network gateway device and operating method thereof | |
JP6798900B2 (en) | Control devices, information systems and control methods | |
JP6942977B2 (en) | File distribution storage device, program, file distribution management method | |
JP2017068877A (en) | Job net management system and program | |
JP6721860B2 (en) | Information processing system | |
JP2022090152A (en) | Data control apparatus, data control system, data control method, and data control program |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20200213 |
|
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: 20201110 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20201123 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6810356 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |