JP2017129951A - Information processor, control method of information processor, and program - Google Patents
Information processor, control method of information processor, and program Download PDFInfo
- Publication number
- JP2017129951A JP2017129951A JP2016007711A JP2016007711A JP2017129951A JP 2017129951 A JP2017129951 A JP 2017129951A JP 2016007711 A JP2016007711 A JP 2016007711A JP 2016007711 A JP2016007711 A JP 2016007711A JP 2017129951 A JP2017129951 A JP 2017129951A
- Authority
- JP
- Japan
- Prior art keywords
- reconfiguration
- data
- partial
- reconstruction
- processing apparatus
- 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
Links
Images
Landscapes
- Stored Programmes (AREA)
Abstract
【課題】 同一処理機能を実現できる複数種類のFPGA再構成データの中から、FPGAの利用可能なリソース量に合わせて、一番適切なFPGA再構成データを自動選択する。【解決手段】所定数に分割される部分再構成領域に所定の再構成データを書き込んで特定の機能処理を実行する情報処理装置において、管理される部分再構成領域の使用状態で特定される新たに書込可能な部分再構成領域の数に応じて、特定の機能処理が同一となる複数種類の再構成データから書き込むべき1つの再構成データを選択することを特徴とする。【選択図】 図5PROBLEM TO BE SOLVED: To automatically select the most appropriate FPGA reconstruction data from a plurality of types of FPGA reconstruction data capable of realizing the same processing function according to the amount of available resources of the FPGA. SOLUTION: In an information processing apparatus that writes predetermined reconstruction data in a partial reconstruction area divided into a predetermined number and executes a specific functional process, a new specification specified by a usage state of the managed partial reconstruction area. It is characterized in that one reconstruction data to be written is selected from a plurality of types of reconstruction data having the same specific functional processing according to the number of partially reconstructed areas writable in. [Selection diagram] Fig. 5
Description
本発明は、情報処理装置、情報処理装置の制御方法、及びプログラムに関するものである。 The present invention relates to an information processing apparatus, a control method for the information processing apparatus, and a program.
近年、半導体集積回路装置において、頻繁に発生する機能拡張、パフォーマンス向上の要望を柔軟に対応するために、FPGA(Field Programmable Gate Array)などの再構成可能な回路装置が適用されている。 In recent years, in a semiconductor integrated circuit device, a reconfigurable circuit device such as an FPGA (Field Programmable Gate Array) has been applied in order to flexibly cope with the demand for frequently expanding functions and improving performance.
ユーザは、所望の処理機能を実現できるFPGA再構成データをFPGAにコンフィグする(書き込む)ことにより、所望のデータ処理を実現する。また、別のFPGA再構成データで再コンフィグ(FPGA再構成データの書き換え)により、自由にFPGAの機能を変えることが可能である。 A user configures (writes) FPGA reconfiguration data capable of realizing a desired processing function in the FPGA, thereby realizing desired data processing. Further, it is possible to freely change the function of the FPGA by reconfiguration (rewriting of FPGA reconfiguration data) with another FPGA reconfiguration data.
それから、一個のFPGAに複数のFPGA再構成データをコンフィグし、複数の処理機能を実現することが可能になり、その際、FPGAの一部の領域だけを変更し、前記複数の機能の中のどれかを変更することも可能である。 Then, a plurality of FPGA reconfiguration data can be configured in one FPGA, and a plurality of processing functions can be realized. At that time, only a partial area of the FPGA is changed, It is possible to change any of them.
上記部分再構成(Partial Reconfiguration)技術は、現在使用中の他の処理機能や、変更してはいけない処理機能などに影響せずに、所望の部分だけを変更することを特徴として、公知されている。 The partial reconfiguration technology is known in that it changes only a desired part without affecting other processing functions that are currently in use or processing functions that should not be changed. Yes.
従って、新たにFPGA再構成データをFPGAに書き込む際に、FPGAの変更できる領域を判明し、その変更できる領域にコンフィグ可能なFPGA再構成データを選択し、FPGAをコンフィグする必要がある。 Therefore, when newly writing the FPGA reconfiguration data into the FPGA, it is necessary to identify an area where the FPGA can be changed, select configurable FPGA reconfiguration data in the changeable area, and configure the FPGA.
一方、同一処理機能を実現できるFPGA再構成データでも、複数のバージョンが存在することがある。一般的に、これらのFPGA再構成データは、異なる要求仕様に合わせて設計されるものであり、回路規模、消費電力、性能などの属性が異なり、実際の状況に従い、選択すべきものである。 On the other hand, there may be multiple versions of FPGA reconfiguration data that can realize the same processing function. Generally, these FPGA reconfiguration data are designed in accordance with different required specifications, and have different attributes such as circuit scale, power consumption, and performance, and should be selected according to the actual situation.
例えば、特許文献1には、同一処理機能を実現できる複数のFPGA再構成データが存在し、それぞれの性能と消費電力が異なり、FPGA全体の消費電力が所定の総消費電力値以下に収まるよう、自動的に適切なFPGA再構成データが選択される方法が記載されている。
For example, in
実際にFPGAを使用する際に、以下の状況が発生するのは容易に想像できる。
例えば一部の領域(リソース)がとある処理機能(処理機能A)により占有され、残りのリソース量が足りなく、別の処理機能(処理機能B)を実現するFPGA再構成データを書き込めない可能性がある。
その際、従来の方法では、処理機能Bのコンフィグを諦めるか、処理機能Aが動作しなくなり、それに占有されているリソースが解放されるのを待つか、という二つの方法がある。
しかし、もし、処理機能Aが常にFPGAリソースを占有する場合、処理機能Bのコンフィグはずっと待ち続けることになってしまい、結局、コンフィグは失敗する。
It can be easily imagined that the following situation occurs when actually using the FPGA.
For example, a part of the area (resource) is occupied by a certain processing function (processing function A), the remaining resource amount is insufficient, and FPGA reconfiguration data that realizes another processing function (processing function B) cannot be written There is sex.
At that time, in the conventional method, there are two methods of giving up the configuration of the processing function B or waiting for the processing function A to stop operating and the resources occupied by it to be released.
However, if the processing function A always occupies FPGA resources, the configuration of the processing function B will continue to wait and eventually the configuration will fail.
その場合、所望の処理機能Bが実現でき、かつ回路規模が小さく、残りのFPGAリソースにコンフィグできる別のFPGA再構成データが存在すれば、そのFPGA再構成データを選択すべきであるが、そのFPGA再構成データを検出し、自動的に選択する方法がない。 In that case, if the desired processing function B can be realized, the circuit scale is small, and there is another FPGA reconfiguration data that can be configured in the remaining FPGA resources, that FPGA reconfiguration data should be selected. There is no way to detect and automatically select FPGA reconstruction data.
特許文献1には、同じ機能を実現するFPGA再構成データの中から、適切なものを選択する方法が記載されているが、あくまで総消費電力値の観点から、適切なものを選択する方法である。このように、FPGAのリソース量の制限が考慮されていなく、使用可能なリソースが足りるか否かの観点から、適切なFPGA再構成データを自動選択することができないという課題があった。
本発明は、上記の課題を解決するためになされたもので、本発明の目的は、同一処理機能を実現できる複数種類のFPGA再構成データの中から、FPGAの利用可能なリソース量に合わせて、一番適切なFPGA再構成データを自動選択できる仕組みを提供することである。 The present invention has been made to solve the above-described problems, and an object of the present invention is to match the amount of resources available to the FPGA from among a plurality of types of FPGA reconfiguration data capable of realizing the same processing function. It is to provide a mechanism that can automatically select the most appropriate FPGA reconstruction data.
上記目的を達成する本発明の情報処理装置は以下に示す構成を備える。
所定数に分割される部分再構成領域に所定の再構成データを書き込んで特定の機能処理を実行する情報処理装置であって、特定の機能処理が同一となる複数種類の再構成データと、前記部分再構成領域に書き込まれる再構成データの使用状態とを管理する管理手段と、前記部分再構成領域の使用状態で特定される新たに書込可能な部分再構成領域の数に応じて、特定の機能処理が同一となる複数種類の再構成データから書き込むべき1つの再構成データを選択する選択手段と、を備えることを特徴とする。
The information processing apparatus of the present invention that achieves the above object has the following configuration.
An information processing apparatus that executes predetermined function processing by writing predetermined reconfiguration data in a partial reconfiguration area divided into a predetermined number, and includes a plurality of types of reconfiguration data in which the specific function processing is the same, and Management means for managing the usage state of the reconfiguration data written in the partial reconfiguration area, and specifying according to the number of newly writable partial reconfiguration areas specified by the use state of the partial reconfiguration area Selecting means for selecting one piece of reconstruction data to be written from a plurality of types of reconstruction data having the same function processing.
本発明によれば、同一処理機能を実現できる複数種類のFPGA再構成データの中から、FPGAの利用可能なリソース量に合わせて、一番適切なFPGA再構成データを自動選択できる。 According to the present invention, the most appropriate FPGA reconfiguration data can be automatically selected from a plurality of types of FPGA reconfiguration data capable of realizing the same processing function according to the amount of resources available for the FPGA.
次に本発明を実施するための最良の形態について図面を参照して説明する。
<システム構成の説明>
〔第1実施形態〕
図1は、本実施形態を示す情報処理装置の構成を示すブロック図である。本例は、FPGA装置が適用されている情報処理装置の例である。情報処理装置は、画像形成装置、ファクシミリ装置、MFP、プリンタ装置、画像処理装置等が含まれる。
図1において、システム100は、制御装置101、サーバ102、再構成可能装置(FPGA)103、ネットワーク104、PCI Express105で構成される。なお、本実施形態に示す情報処理装置は、所定数に分割される部分再構成領域に所定の再構成データを書き込んで特定の機能処理を実行可能に構成されている。また、制御部1011が後述するようにテーブルで所定の再構成データを管理している。
制御装置101は、制御部1011、第1のIF部1012、記憶部1013、第2のIF部1014、及び表示部1015で構成される。
Next, the best mode for carrying out the present invention will be described with reference to the drawings.
<Description of system configuration>
[First Embodiment]
FIG. 1 is a block diagram illustrating the configuration of the information processing apparatus according to the present embodiment. This example is an example of an information processing apparatus to which an FPGA device is applied. The information processing apparatus includes an image forming apparatus, a facsimile apparatus, an MFP, a printer apparatus, an image processing apparatus, and the like.
In FIG. 1, a
The
制御部1011は、CPU(Central Processing Unit)やRAM(Randam Access Memory)などのデバイスからなり、第1のIF部1012、記憶部1013と第2のIF部1014を制御する。
The
制御部1011は、また、第1のIF部1012を介して、サーバ102へ制御コマンドを送信することができる。図1では、ネットワーク104を介して送信しているが、本発明における、どのような送信手段にしても良い。
The
制御部1011は、また、第1のIF部1012を介して、サーバ102から送信されたFPGA103の構成データを記憶部1013に格納することができる。もちろん、前記構成データを格納せずに、そのままFPGA103に送信しても良い。制御部1011は、また、記憶部1013に格納されている情報に基づき、適切な構成データを自動選択することができる。
The
制御部1011は、また、第2のIF部1014を介して、FPGA103へ構成データと制御コマンドを送信することができる。図1では、PCI Express105を介して、送信しているが、本発明における、どのような送信手段にしても良い。制御部1011は、また、表示部1015を介して、ユーザに文字や、画像などを提示することができる。第1のIF部1012は、TCP/IPインタフェースなど、サーバ102と通信できるインタフェースの回路装置である。
記憶部1013は、RAMやHDD(Hard Disk Drive)等の大容量記憶装置からなり、FPGA103の構成データを格納することができる。記憶部1013は、また、FPGA103の構成状態情報、及びサーバ102から送信された構成データの属性情報を格納することができる。
第2のIF部1014は、PCI Expressなど、FPGA103と通信できるインタフェースの回路装置である。表示部1015は、液晶ディスプレイ等から成る表示手段と表示手段に対する制御を行う表示制御手段からなり、制御部1011の制御により、文字や画像などを表示する。サーバ102は、記憶部1021とIF部1022で構成される。
The
The
The
記憶部1021は、HDDや、ROM(Read Only Memory)などの大容量記憶装置からなり、FPGA103の構成データを格納し、IF部1022を介して、制御装置101に送信することができる。IF部1022は、TCP/IPインタフェースなど、制御装置101と通信できるインタフェースの回路である。制御装置101から制御コマンドを受信し、所望の構成データを送信することができる。FPGA103は、再構成制御部1031、IF部1032、機能実行部1033で構成される。
The
再構成制御部1031は、ハードウェア回路からなり、IF部1032を介して、FPGA103の構成データを受信し、機能実行部1033を書き換えることができる。また、機能実行部1033の全体を再構成しても良いし、その一部だけを再構成しても良い。
The
IF部1032は、PCI Expressなど、制御装置101と通信できるインタフェースの回路である。制御装置101から制御コマンド、及び構成データを受信し、制御装置101に機能実行完了などの通知を送信することができる。機能実行部1033は、FPGA、CPLD(Complex Programmable Logic Device)や、RAMからなり、再構成制御部1031に制御され、IF部1032を介して、受信した構成データが書き込まれると、所定の処理機能を実現できる回路である。また、説明の便宜上、以下は再構成装置103をFPGA103と称する。
また、構成データをコンフィグデータと称する。ネットワーク104は、本実施形態における、制御装置101とサーバ102との通信手段の一例であり、他の手段にしても、本発明に影響がない。PCI Express105は、本実施形態における、制御装置101とFPGA103との通信手段の一例であり、他の手段にしても、本発明に影響がない。
The
The configuration data is referred to as configuration data. The
図2は、本実施形態を示す情報処理装置の処理機能の情報を管理するテーブルを示す図である。なお、制御部1011は、処理機能名、再構成データ名、使用する部分再構成領域の数、性能情報、優先度、取得先を記憶部1013に登録して管理する。なお、制御部1011は、図4で後述する部分再構成領域と、再構成データ名、使用状態、前記部分再構成領域のいずれの領域が書換可能かどうかを特定する情報とを関連づけて再構成データを管理している。
図2において、コンフィグデータ管理表200には、処理機能201、コンフィグデータ202、所要リソース量203、性能204、優先度205、パス206などの項目が含まれる。コンフィグデータ管理表200には、サーバ102に格納されているすべてのコンフィグデータが管理されている。
処理機能201の項目には、すべての種類の処理機能が記載されている。例えば、セキュリティ機能A、画像処理機能B、画像処理機能Cなどが記載されている。ここで、画像処理機能Bについては、複数種類(3種類)の再構成データを備え、FPGAから削除される面数に応じたいずれかの再構成データが書き込まれるように制御される。
FIG. 2 is a diagram illustrating a table for managing information on processing functions of the information processing apparatus according to the present embodiment. The
2, the configuration data management table 200 includes items such as a
In the item of the
コンフィグデータ202の項目には、処理機能201に記載されている処理機能を実現できるすべてのコンフィグデータが記載されている。例えば、セキュリティ機能Aを実現できるコンフィグデータは1個(A_HIGH)存在し、画像処理機能Bを実現できるコンフィグデータは3個存在する(B_HIGH、B_MID、B_LOW)。
また、前述のように、画像処理機能B、画像処理機能Cを実現できるコンフィグデータは複数個存在し、それぞれが異なる性能を出せるものであり、所要リソース量も異なる。
In the item of the
Further, as described above, there are a plurality of configuration data that can realize the image processing function B and the image processing function C, each of which can provide different performance, and the required resource amount is also different.
所要リソース量203の項目には、前記コンフィグデータをコンフィグする際に、必要な最小限のリソース量が記載されている。例えば、FPGAの利用可能な総リソース量を4面と仮定し、コンフィグデータB_HIGHにはその中の3面が必要であり、コンフィグデータB_MIDにはその中の2面が必要である。
The item of the required
性能204の項目には、前記コンフィグデータ202をコンフィグした後に、処理機能を実行する際に、予想される性能が記載されている。例えば、複写機の場合、前記コンフィグデータA_HIGHの性能は、1分間で処理できる画像のページ数で評価され、80ppm(Page Per Minute)と記載される。
本実施形態では処理速度を持って性能を評価しているが、これはあくまで一例であり、他の基準で性能を評価しても構わない。
The item of
In this embodiment, the performance is evaluated with the processing speed, but this is only an example, and the performance may be evaluated based on other criteria.
また、一般的に、性能が高ければ、高いほど所要リソース量が多くなるため、処理機能BのHIGH、MID、LOWのコンフィグデータがそれぞれ3面、2面、1面のリソース量が必要であるとする。
優先度205の項目には、各処理機能の優先度が記載されている。例えば、Aはセキュリティ機能であるため、優先度が高い。それに対し、B、Cは普通の画像処理であるため、優先度が低い。前記優先度は設計者が事前に決めたことであり、その決め方は、どういう方法にしても構わない。
In general, the higher the performance, the higher the required resource amount. Therefore, the configuration data for HIGH, MID, and LOW of processing function B requires three, two, and one resource amounts, respectively. And
The
パス206の項目には、各コンフィグデータが格納されている場所が記載されている。制御装置101が、FPGA103にコンフィグデータを送信する際に、上記パスを参照し、コンフィグデータを取得する。制御装置101の制御部1011は、上記コンフィグデータ管理表200を記憶部1013に格納し、FPGA103をコンフィグする際に、それを参照し、適切なコンフィグデータを選択する。
The item of the
図3は、図2に示した優先度205の項目に記載される内容の決定方法を示す図である。以下は図3の(A)の優先順位決定表300を詳細に説明する。
図3の(A)において、処理機能301の項目には、各処理機能名A、B、Cが記載されている。処理機能種類302の項目には、各処理機能の種類が記載されている。例えば、Aは特定な画像パターンを検出すると、コピー禁止を行うセキュリティ処理機能であり、Bは裏写りを除去する画像の補正処理である。
また、設計者が事前に決めた基準は、セキュリティ系の処理機能の優先度が高く、一般の画像処理の優先度が低い。その場合、優先度303の項目には、Aの優先度がHIGHとなり、BとCの優先度がLOWとなる。
FIG. 3 is a diagram showing a method for determining the contents described in the item of
In FIG. 3A, each processing function name A, B, C is described in the
In addition, the criteria determined in advance by the designer are high in the priority of security processing functions and low in general image processing. In this case, in the
次に、図3の(B)、図3の(C)について説明する。表の構成は基本同じなので、図3の(A)との差分だけを説明する。
図3の(B)の使用頻度304の項目には、各処理機能が使用される頻度の予想が記載されている。例えば、機能Aはほとんどのジョブに使わることが予想されて、使用頻度304が90%である。それに対し、機能Cはあんまり使用されないことが予想されて、使用頻度304が20%である。
また、設計者が事前に決めた基準は、頻繁に使用される機能(予想使用頻度85%以上)は優先度高く、他の処理の優先度が低い。その場合、優先度303の項目には、Aの優先度がHIGHとなり、BとCの優先度がLOWとなる。
Next, (B) in FIG. 3 and (C) in FIG. 3 will be described. Since the configuration of the table is basically the same, only the difference from FIG. 3A will be described.
In the item of the
Further, according to the criteria determined in advance by the designer, frequently used functions (expected usage frequency of 85% or more) have high priority, and other processes have low priority. In this case, in the
図3の(C)の再構成所要時間(再構成時間)305の項目には、各処理機能をFPGAにコンフィグするのに必要な時間が記載されている。例えば、機能Aの回路規模、及びコンフィグのオーバーヘッドが大きく、再構成するために5秒必要である。それに対し、機能B、Cのコンフィグは1秒しか要らない。
また、設計者が事前に設定した基準は、構成時間の節約のために、再構成所要時間305が長い(3秒以上)機能は優先度高く、他の処理の優先度が低い。その場合、優先度303の項目には、Aの優先度がHIGHとなり、BとCの優先度がLOWとなる。上記優先度303の項目に記載されている内容は、図2の優先度205の項目に反映される。また、上記以外の方法で優先度を決めても良い。
In the item of reconfiguration required time (reconfiguration time) 305 in FIG. 3C, the time required to configure each processing function in the FPGA is described. For example, the circuit scale of function A and the overhead of configuration are large, and it takes 5 seconds to reconfigure. On the other hand, the configuration of functions B and C requires only 1 second.
Further, according to the criteria set in advance by the designer, a function with a long reconfiguration time 305 (3 seconds or more) has a high priority and a low priority for other processing in order to save the configuration time. In this case, in the
図4は、図1に示したFPGA103のリソースを管理する表の一例を示す図である。以下は図4の(A)のFPGAリソース管理表400を詳細に説明する。制御部1011は、FPGAリソース管理表400を構成する部分再構成領域と、再構成データ名、使用状態、前記部分再構成領域のいずれの領域が書換可能かどうかを特定する情報を記憶部1013に登録して管理する。
図4の(A)において、部分再構成可能領域401の項目には、FPGA103の中に、部分再構成機能を持つ領域の番号が記載されている。例えば、FPGAが4面の部分再構成領域があり、領域I、領域II、領域III、領域IVに分かれている。
FIG. 4 is a diagram illustrating an example of a table for managing resources of the
In (A) of FIG. 4, in the item of the partially
コンフィグ状態402の項目には、各領域にコンフィグされているコンフィグデータが記載されている。例えば、領域I、領域IIがコンフィグデータA_HIGHに占有されて、領域III、領域IVはコンフィグデータB_MID占有されている。なお、コンフィグデータ管理表200により、A_HIGHとB_MIDはそれぞれリソース2面が必要である。
In the item of the
使用状態403の項目には、各コンフィグされた処理機能が実際に動作しているか否かの状態が記載されている。例えば、図4の(A)の場合、処理機能Aが動作していなく、処理機能Bが実際に動作している。
The item of
書込可能かを示す書き換え可否404の項目には、FPGA103の各部分再構成可能領域401に新しいコンフィグデータを書き込み、元々のコンフィグデータを書き換えられるか否かの状態が記載されている。例えば、図4の(A)の場合、すべての領域が書き換え不可になっている。
また、図4の(B)については、図4の(A)の差分だけを説明する。
使用状態403の項目には、機能Aと機能B両方とも動作していないことが記載されている。書き換え可否404の項目には、領域I、IIは書換え不可の状態、領域III、IVは書き換え可能の状態となっている。
また、上記書き換え可否の判断については、コンフィグデータ管理表200とFPGAリソース管理表400に記載されている内容に基づき、自動的に判断されている。詳細の判断方法は図5に示すフローチャートを参照して説明する。
In the item of
For (B) in FIG. 4, only the difference in FIG. 4 (A) will be described.
The item of
Further, whether or not rewriting is possible is automatically determined based on the contents described in the configuration data management table 200 and the FPGA resource management table 400. A detailed determination method will be described with reference to a flowchart shown in FIG.
以下、図5、図6を使って、上記書き換え可否の判断方法、及びその判断結果に基づき、自動的に適切なコンフィグデータを選択するシステムの動作を説明する。 Hereinafter, the operation of the system for automatically selecting appropriate configuration data based on the determination method of whether or not rewriting and the determination result will be described with reference to FIGS.
図5は、本実施形態を示す情報処理装置の制御方法を説明するフローチャートである。なお、S501〜S515は、制御装置101の制御部1011が、FPGAリソース管理表400とコンフィグデータ管理表200から情報を取得し、書き換え可能なFPGAの領域数に合わせて、自動的に性能が一番良いコンフィグデータを選択する動作の流れである。なお、各ステップは、制御装置101の記憶部1013に格納され、制御部1011に実行される。以下、FPGA103が図4の(B)の状態であり(処理機能A、処理機能Bがコンフィグされて、両方とも未使用の状態である)、処理機能Cをさらに実装しようする例を説明する。これにより、図4の(B)の状態が図4の(C)の状態に遷移する。
FIG. 5 is a flowchart illustrating a method for controlling the information processing apparatus according to the present embodiment. In steps S501 to S515, the
制御部1011が、第2のIF部1014を介して、FPGA103に命令を送信し、また、第2のIF部1014を介して、FPGA103のリソース管理表400を取得し、記憶部1013に格納する(S501)。
制御部1011が、FPGAリソース管理表400を参照し、各領域の書き換え可否を判断する(S502)。書き換え可否の判断は図6で詳細に説明する(S516〜S527)。
次に、制御部1011が、書き換え可能な総領域数を取得する。本実施形態の場合、書き換え可能な領域数は2面(図4参照)である(S503)。制御部1011が、記憶部1013に格納されているコンフィグデータ管理表200を参照する(S504)。制御部1011が、コンフィグデータ管理表200の処理機能201の項目から、処理機能Cを探し、特定する(S505)。
The
The
Next, the
制御部1011が、コンフィグデータ管理表200のコンフィグデータ202の項目から、処理機能Cを実現できるすべてのコンフィグデータを特定する。本実施形態の場合、C_HIGH、C_MID、C_LOWの三つのコンフィグデータが特定される(S506)。
The
制御部1011が、コンフィグデータ管理表200の所要リソース量203の項目から、各コンフィグデータの所要リソース量を取得する(S507)。本実施形態の場合、C_HIGHは3面必要、C_MIDは2面必要、C_LOWは1面必要である。
The
次に、制御部1011が、コンフィグデータ管理表200の性能204の項目の情報を参照し、S506で特定されたコンフィグデータの中に、性能が一番高いものから比較する。本実施形態の場合、C_HIGHのコンフィグデータから比較する(S508)。制御部1011が、S507で取得したC_HIGHのコンフィグデータの所要リソース量(3面)とS503で取得した書き換え可能な領域数(2面)と比較する(S509)。具体的には、制御部1011が、C_HIGHの所要リソース量203が書換可能な領域数を越えているかどうかを判断する。
Next, the
制御部1011が、S509の比較結果を見て、「C_HIGHの所要リソース」>「書き換え領域数」でないと判断した場合、C_HIGHを一番適切なコンフィグデータとして選択し、パス206の項目から、実際のコンフィグデータを取得して(S510)、本処理を終了する。
When the
一方、制御部1011が、S509の比較結果を見て、「C_HIGHの所要リソース」>「書き換え領域数」であると判断した場合、S511へ進む。そして、C_MIDのコンフィグデータの所要リソース量(2面)とS503で取得した書き換え可能領域数(2面)と比較する(S511)。具体的には、制御部1011が、C_MIDの所要リソース203が書換可能な領域数を越えているかどうかを判断する。
On the other hand, when the
制御部1011が、S511の比較結果をみて、「C_MIDの所要リソース」>「書き換え領域数」でないと判断した場合、C_MIDを一番適切なコンフィグデータとして選択し、パス206の項目から、実際のコンフィグデータを取得して(S512)、本処理を終了する。
When the
一方、制御部1011が、S511の比較結果を見て、「C_MIDの所要リソース」>「書き換え領域数」であると判断した場合、S513へ進む。そして、C_LOWのコンフィグデータの所要リソース量(1面)とS503で取得した書き換え可能領域数(2面)と比較する(S513)。具体的には、制御部1011が、C_LOWの所要リソース203が書換可能な領域数を越えているかどうかを判断する。
On the other hand, when the
ここで、制御部1011が、S513の比較結果をみて、「C_LOWの所要リソース」>「書き換え領域数」でないと判断した場合、C_LOWを一番適切なコンフィグデータとして選択し、パス206の項目から、実際のコンフィグデータを取得して(S514)、本処理を終了する。
Here, when the
一方、制御部1011が、S513の比較結果を見て、「C_LOWの所要リソース」>「書き換え領域数」であると判断した場合、処理機能Cを実現できるコンフィグデータは全部FPGAにコンフィグすることはできないと判断し、ユーザに表示部1015を介して提示して(S515)、本処理を終了する。
本実施形態の場合、書き換え可能な領域数は2面であるので、上記方法により、C_MIDが適切なコンフィグデータとして自動的に選択される。
On the other hand, if the
In the present embodiment, since the number of rewritable areas is two, C_MID is automatically selected as appropriate configuration data by the above method.
図4の(C)は、上記方法でコンフィグデータを選択し、コンフィグした後のFPGAリソース管理表400の状態を示している。
書き換え可能な領域(領域III、領域IV)にコンフィグされていた処理機能Bのコンフィグデータは処理機能Cのコンフィグデータに書き換えられた。書き換え不可な領域(領域I、領域II)にコンフィグされていた処理機能Aのコンフィグデータは影響されていない。
FIG. 4C shows the state of the FPGA resource management table 400 after configuration data is selected and configured by the above method.
The configuration data of the processing function B configured in the rewritable area (area III, area IV) has been rewritten to the configuration data of the processing function C. The configuration data of the processing function A configured in the non-rewritable areas (area I and area II) is not affected.
図6は、本実施形態を示す情報処理装置の制御方法を示すフローチャートである。本例は、制御装置101の制御部1011が、記憶部1013の中に格納されているFPGAリソース管理表400を利用し、書き換え可能な領域を特定する処理例であり、各ステップは、制御装置101の記憶部1013に格納され、制御部1011により実行される。以下、図5に示したS502の詳細手順について説明する。
制御部1011が、FPGAリソース管理表400の各領域を書き換え不可状態にする(S516)。制御部1011が、記憶部1013に格納されているFPGAリソース管理表400を参照する(S517)。
制御部1011が、順番に、FPGA103のすべての領域(本実施形態の場合、領域I、II、III、IV)に対応する情報を参照する。本実施形態では、領域Iから参照する(S518)。
制御部1011が、FPGAリソース管理表400のコンフィグ状態402の項目に記載れている内容に基づき、該当領域がコンフィグされているか否かを判断する(S519)。
FIG. 6 is a flowchart illustrating a method for controlling the information processing apparatus according to the present exemplary embodiment. This example is a processing example in which the
The
The
The
制御部1011が、S519の判断結果を見て、コンフィグされていないと判断した場合、該当領域を書き換え可能にして(S520)、S526へ進む。
一方、コンフィグされていると制御部1011が判断した場合、該当領域の使用状態403を参照する(S521)。次に、制御部1011が、該当領域にコンフィグされている処理機能(本実施形態の場合、処理機能B)が動作しているか否かを判断する(S522)。
なお、制御部1011が、S522の判断結果を見て、処理機能Bが動作していると判断した場合も、S526の判断に移る。
制御部1011が、S522の判断結果を見て、処理機能Bが動作していないと判断した場合、記憶部1013に格納されているコンフィグデータ管理表200を参照する(S523)。
If the
On the other hand, when the
Note that when the
When the
制御部1011が、コンフィグデータ管理表200の優先度205の項目から、機能Bの優先度を参照し、優先度が「LOW」であるか、「HIGH」であるかを判断する(S524)。制御部1011が、S524の判断結果を見て、優先度205が「LOW」であると判断した場合、S520と同じように、該当領域を書き換え可能にして(S525)、S526へ進む。
また、制御部1011が、S524の判断結果を見て、優先度205が「HIGH」である場合、該当領域の書き換え可否の属性を変えずに、すべての領域に対して探索完了したか否かを判断する(S526)。
The
In addition, when the
ここで、制御部1011が、S526の判断結果を見て、すべての領域に対し、判断を完了していない場合、S518に移り、次の領域の判断を行う。
一方、制御部1011が、S526の判断結果を見て、すべての領域に対し、判断を完了している場合、総書き換え可能な領域数を取得する(S527)。
上記方法で、処理機能CをFPGA103にコンフィグしようとする際に、書き換え可能なリソース量を算出することはできる。
Here, the
On the other hand, the
With the above method, when the processing function C is to be configured in the
〔第2実施形態〕
第1実施形態では、優先度205は「LOW」の処理機能のコンフィグデータをコンフィグする際の動作を説明したが、以下、第2実施形態で、優先度は「HIGH」の処理機能のコンフィグデータをコンフィグする際の動作を説明する。第2実施形態の説明は、第1実施形態との差分を中心に説明する。
[Second Embodiment]
In the first embodiment, the operation at the time of configuring the configuration data of the processing function of “LOW” as the
図4の(D)は、FPGAリソースの使用状況の一例を示している。FPGA103のリソースは、コンフィグデータB_HIGHにより、4面の中の3面が占有されている。ただし、図4の(D)の使用状態403から明らかなように、B_HIGHは動作していない。
第2実施形態は、上記図4の(D)に示された状態で、優先度205は「HIGH」である処理機能AをさらにFPGA103にコンフィグしようとする際、システムの動作を説明する例である。
FIG. 4D shows an example of the usage status of FPGA resources. As for the resources of the
The second embodiment is an example for explaining the operation of the system when trying to configure the
図7は、本実施形態を示す情報処理装置の制御方法を説明するフローチャートである。本例は、制御装置101の制御部1011が、処理機能Aを優先的にFPGA103にコンフィグし、その後、FPGA103の残りのリソース量を考慮し、処理機能Bを実現できるコンフィグデータの中から、適切なものを選択する処理例であり、各ステップは、制御装置101の記憶部1013に格納され、制御部1011により実行される。
FIG. 7 is a flowchart illustrating a method for controlling the information processing apparatus according to the present embodiment. In this example, the
制御部1011が、記憶部1013から、コンフィグデータ管理表200を取得し、これからコンフィグしようとする処理機能の優先度205を判断する(S601)。ここで、制御部1011が、S601の判断結果を見て、処理機能Bの優先度205は「LOW」である場合、S501〜S515に記載されている方法で、該当処理機能を実現できるコンフィグデータを自動選択し、FPGA103をコンフィグする(S602)。
The
制御部1011が、S601の判断結果を見て、優先度205が「HIGH」である場合、FPGAリソース管理表400を記憶部1013から取得し、表の中のコンフィグ状態402の項目に記載されている内容を記憶部1013に格納する。本実施形態の場合、「B_HIGHがコンフィグされている」という情報が記憶部1013に格納される(S603)。
When the
制御部1011が、第2のIF部1014を介して、FPGA103にコマンドを発行し、すべてのコンフィグ済みのデータを削除する(S604)。制御部1011が、S501〜S515に記載されている方法で、コンフィグデータを自動選択し、コンフィグしようとする処理機能をFPGA103に書き込む。本実施形態の場合、A_HIGHがコンフィグされる(S605)。
The
制御部1011が、S603で格納された情報を参照し、元々がコンフィグされていた、S604で削除された処理機能を再コンフィグしようとする。本実施形態の場合、制御部1011が、処理機能Bが削除されたことを判明し、処理機能Bを再コンフィグしようとする(S606)。
The
制御部1011が、また、S501〜S515に記載されている方法で、適切なコンフィグデータを選択し、S604で削除された機能を再コンフィグする。本実施形態の場合、その時のFPGAリソース残量を考慮し、元々のB_HIGHの代わりに、「B_MID」が選択されて、FPGAをコンフィグする(S607)。これにより、図4の(B)はコンフィグ後のFPGAリソース管理表を示している。
The
また、S607でコンフィグデータの変更が発生した際に、制御装置101の記憶部1013にB_MIDのコンフィグデータがある場合、そのままFPGA103をコンフィグするが、B_MIDのコンフィグデータがないと判断した場合、第1のIF部1012を介して、サーバ102からB_MIDのコンフィグデータを受信しても良い。
次に、制御部1011が、コンフィグ後のFPGAリソース管理表400から、処理機能Bのコンフィグデータ情報を抽出し、S603で格納した元々のコンフィグデータ情報と比較する(S608)。制御部1011が、S608の比較結果を見て、差分がある場合、表示部1015を介してユーザに提示する(S609)。
Further, when the configuration data is changed in S607, if there is B_MID configuration data in the
Next, the
上記方法で、後から優先度205が高い処理機能をコンフィグする際に、優先度205が高い機能が先にコンフィグされ、残りのリソース残量に合わせて、元々コンフィグされていた優先度より低い機能を復元させることができ。また、その際、性能差がある場合、ユーザに提示することができる。
なお、本実施形態は、FPGAで再構成データを書き換える情報処理装置について説明したが、CPLD (Complex Programmable Logic Device)を備える情報処理装置についても適用可能である。
In the above method, when a processing function having a
In addition, although this embodiment demonstrated the information processing apparatus which rewrites reconstruction data by FPGA, it is applicable also to information processing apparatus provided with CPLD (Complex Programmable Logic Device).
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステムまたは装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサがプログラムを読み出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えばASIC)によっても実現可能である。 The present invention supplies a program that realizes one or more functions of the above-described embodiments to a system or apparatus via a network or a storage medium, and one or more processors in a computer of the system or apparatus read and execute the program This process can be realized. It can also be realized by a circuit (for example, ASIC) that realizes one or more functions.
101 制御装置
103 再構成可能装置
101
Claims (12)
特定の機能処理が同一となる複数種類の再構成データと、前記部分再構成領域に書き込まれる再構成データの使用状態とを管理する管理手段と、
前記部分再構成領域の使用状態で特定される新たに書込可能な部分再構成領域の数に応じて、特定の機能処理が同一となる複数種類の再構成データから書き込むべき1つの再構成データを選択する選択手段と、
を備えることを特徴とする情報処理装置。 An information processing apparatus that executes predetermined function processing by writing predetermined reconstruction data in a partial reconstruction area divided into a predetermined number,
Management means for managing a plurality of types of reconfiguration data in which specific function processing is the same, and a use state of the reconfiguration data written in the partial reconfiguration area;
One reconfiguration data to be written from a plurality of types of reconfiguration data in which specific function processing is the same according to the number of newly writable partial reconfiguration regions specified in the usage state of the partial reconfiguration region A selection means for selecting
An information processing apparatus comprising:
前記部分再構成領域に書き込まれていたいずれかの再構成データの削除と、前記取得手段が取得した所定の再構成データの前記部分再構成領域の書込とを制御する制御手段と、
を備えることを特徴とする請求項1に記載の情報処理装置。 Obtaining means for obtaining the selected predetermined reconstruction data;
Control means for controlling the deletion of any reconstruction data written in the partial reconstruction area and the writing of the partial reconstruction area of the predetermined reconstruction data acquired by the acquisition means;
The information processing apparatus according to claim 1, further comprising:
特定の機能処理が同一となる複数種類の再構成データと、前記部分再構成領域に書き込まれる再構成データの使用状態とを登録手段に登録して管理する管理工程と、
前記部分再構成領域の使用状態で特定される新たに書込可能な部分再構成領域の数に応じて、特定の機能処理が同一となる複数種類の再構成データから書き込むべき1つの再構成データを選択する選択工程と、
選択された所定の再構成データを取得先から取得する取得工程と、
前記部分再構成領域に書き込まれていたいずれかの再構成データの削除と、前記取得工程が取得した所定の再構成データの前記部分再構成領域の書込とを制御する制御工程と、
を備えることを特徴とする情報処理装置の制御方法。 A control method for an information processing apparatus that writes predetermined reconstruction data in a partial reconstruction area divided into a predetermined number and executes specific function processing,
A management step of registering and managing a plurality of types of reconfiguration data in which specific function processing is the same and a use state of the reconfiguration data written in the partial reconfiguration area in a registration unit;
One reconfiguration data to be written from a plurality of types of reconfiguration data in which specific function processing is the same according to the number of newly writable partial reconfiguration regions specified in the usage state of the partial reconfiguration region A selection process for selecting
An acquisition step of acquiring the selected predetermined reconstruction data from the acquisition destination;
A control step for controlling the deletion of any of the reconstruction data written in the partial reconstruction area and the writing of the partial reconstruction area of the predetermined reconstruction data acquired by the acquisition step;
An information processing apparatus control method comprising:
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2016007711A JP2017129951A (en) | 2016-01-19 | 2016-01-19 | Information processor, control method of information processor, and program |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2016007711A JP2017129951A (en) | 2016-01-19 | 2016-01-19 | Information processor, control method of information processor, and program |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JP2017129951A true JP2017129951A (en) | 2017-07-27 |
Family
ID=59394846
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2016007711A Pending JP2017129951A (en) | 2016-01-19 | 2016-01-19 | Information processor, control method of information processor, and program |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP2017129951A (en) |
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2019235271A1 (en) * | 2018-06-06 | 2019-12-12 | 日本電信電話株式会社 | Installation device and installation method |
| US10782975B1 (en) | 2019-08-29 | 2020-09-22 | Fuji Xerox Co., Ltd. | Information processing apparatus, dynamic reconfiguration device, and non-transitory computer readable medium |
| JPWO2020116046A1 (en) * | 2018-12-07 | 2021-10-14 | ソニーセミコンダクタソリューションズ株式会社 | Sensor devices, electronic devices, sensor systems and control methods |
-
2016
- 2016-01-19 JP JP2016007711A patent/JP2017129951A/en active Pending
Cited By (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2019235271A1 (en) * | 2018-06-06 | 2019-12-12 | 日本電信電話株式会社 | Installation device and installation method |
| JP2019212069A (en) * | 2018-06-06 | 2019-12-12 | 日本電信電話株式会社 | Arrangement apparatus and arrangement method |
| JP7070110B2 (en) | 2018-06-06 | 2022-05-18 | 日本電信電話株式会社 | Placement device and placement method |
| JPWO2020116046A1 (en) * | 2018-12-07 | 2021-10-14 | ソニーセミコンダクタソリューションズ株式会社 | Sensor devices, electronic devices, sensor systems and control methods |
| JP7451407B2 (en) | 2018-12-07 | 2024-03-18 | ソニーセミコンダクタソリューションズ株式会社 | Sensor device, electronic device, sensor system and control method |
| US10782975B1 (en) | 2019-08-29 | 2020-09-22 | Fuji Xerox Co., Ltd. | Information processing apparatus, dynamic reconfiguration device, and non-transitory computer readable medium |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP6331504B2 (en) | Electronic device and information processing system | |
| US11196657B2 (en) | Self identifying interconnect topology | |
| US20160036998A1 (en) | Image processing apparatus and system for controlling processing for writing configuration data to partial reconfiguration area, and information processing method | |
| JP2015013429A (en) | Image processing apparatus, method for controlling the same, and program | |
| JP2015121989A (en) | Network device, control method for network device and program thereof | |
| JP2016510918A (en) | Identifying workloads and sizing buffers for volume replication purposes | |
| CN105302536A (en) | Configuration method and apparatus for related parameters of MapReduce application | |
| JP2017129951A (en) | Information processor, control method of information processor, and program | |
| JP2016103755A (en) | Information processing apparatus, image processing apparatus including information processing apparatus, and control method and program of the same | |
| US11080909B2 (en) | Image layer processing method and computing device | |
| JP5725191B2 (en) | Power management device, power management method, and power management program | |
| JP5724465B2 (en) | Electronic device, information processing system, and program | |
| EP4344284A1 (en) | Intent activation method and apparatus | |
| US20160034197A1 (en) | Data migration method and data migration device | |
| US11176089B2 (en) | Systems and methods for implementing dynamic file systems | |
| JP6752651B2 (en) | Information processing systems, methods and programs in information processing systems | |
| JP5972094B2 (en) | Information processing apparatus, information processing method, and program | |
| JP2016115979A (en) | Image processing apparatus, control method and program thereof | |
| JP2016018269A (en) | Information processing apparatus, information processing method, and program | |
| JP6410055B2 (en) | Image forming apparatus and data processing program | |
| JP5996094B2 (en) | Virtual machine image management server and virtual machine image management method | |
| JP2015111768A (en) | Image processing apparatus, control method thereof, and program | |
| US20180159737A1 (en) | Method for Remote Management of Multiple Device Configurations | |
| JP2016042296A (en) | Image processing apparatus, information processing method, and program | |
| JP2009265926A (en) | Information processing apparatus, information processing method, and information processing program |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20180306 |