JP5256967B2 - 動的再構成支援プログラム、動的再構成支援装置および動的再構成支援方法 - Google Patents

動的再構成支援プログラム、動的再構成支援装置および動的再構成支援方法 Download PDF

Info

Publication number
JP5256967B2
JP5256967B2 JP2008249097A JP2008249097A JP5256967B2 JP 5256967 B2 JP5256967 B2 JP 5256967B2 JP 2008249097 A JP2008249097 A JP 2008249097A JP 2008249097 A JP2008249097 A JP 2008249097A JP 5256967 B2 JP5256967 B2 JP 5256967B2
Authority
JP
Japan
Prior art keywords
dynamic reconfiguration
task
time
pes
battery
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.)
Expired - Fee Related
Application number
JP2008249097A
Other languages
English (en)
Other versions
JP2010079726A (ja
Inventor
達也 山本
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 JP2008249097A priority Critical patent/JP5256967B2/ja
Priority to US12/565,471 priority patent/US8495339B2/en
Publication of JP2010079726A publication Critical patent/JP2010079726A/ja
Application granted granted Critical
Publication of JP5256967B2 publication Critical patent/JP5256967B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • G06F15/7867Architectures of general purpose stored program computers comprising a single central processing unit with reconfigurable architecture
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Power Sources (AREA)
  • Logic Circuits (AREA)

Description

この発明は、動的再構成可能なハードウェアにおけるハードウェア構成切り換えを支援する動的再構成支援プログラム、動的再構成支援装置および動的再構成支援方法に関する。
近年では、指定したタスクをソフトウェアによっても、ハードウェアによっても実行することが可能になっている。一般的に、同じ内容のタスクを実行する場合には、ソフトウェアによって実行させた方が、ハードウェアによって実行させた場合と比較して消費電力が大きくなってしまう傾向にある。一方、ハードウェアによって実行させる場合には、消費電力を削減することができるが、ソフトウェアによって実行させる場合のような汎用性はなく、専用処理用のハードウェアを用意する必要がある。そこで、専用のハードウェアを用意せずともハードウェアによってタスクを実行する利点を享受するために、タスク実行時にタスクに対応したハードウェアへ再構成可能な汎用性の高い動的再構成回路への注目が高まっている。
図26は、従来の動的再構成回路のハードウェア書き換え処理を示す説明図である。図26のように、動的再構成回路2600−1においてハードウェアの書き換えをおこなうには、まず、複数個のPE(Processor Element)を書き換え対象とするロジック2601(ここでは一例として暗号アルゴリズムであるAES(Advanced Encryption Standards))すべてを一度にマッピングする。その後、動的再構成回路2600−1に用意されているPEのうち、ロジック2601を実行するために必要な数のPEが書き換えられ、AES実行用の動的再構成回路2600−2に再構成される。
図26の動的再構成回路2600−2のように、ロジック2601を実現するPEのすべてを一度に書き換えるには、多大な書き換え処理時間と、消費電力とが発生してしまう。これでは低消費電力というハードウェアによるタスク実行の利点が失われてしまう。そこで、複数の動的再構成回路の書き換えを並列しておこなう、または、部分的に書き換えをおこなうといった解決策が提供されている。
図27は、複数の動的再構成回路におけるハードウェア書き換え処理を示す説明図である。図27に示した例では、複数の動的再構成回路2700−1〜2700−4によって順次タスクを実行する。たとえば、動的再構成回路2700−1によって暗号アルゴリズムAESを実現するロジック2701が実行中の場合、そのバックグラウンドで、他の動的再構成回路2720〜2740では、次回またはそれ以降に実行予定のタスクに対応したロジックへとそれぞれPEの書き換え処理がおこなわれる。
具体的に説明すると、動的再構成回路2700−2では、暗号アルゴリズムであるCamelliaを実現するロジック2702のマッピングがおこなわれている。同様に、動的再構成回路2700−3では暗号アルゴリズムであるTDEAを実現するロジック2703が、動的再構成回路2700−4では暗号アルゴリズムMISTY1を実現するロジック2704がそれぞれマッピングされる。このように、複数の動的再構成回路の書き換え処理を並列に実行することによって、書き換え処理による待機状態を抑制することできる。したがって、利用者にとって、従来は待機時間となっていた書き換え処理時間を表面的には隠蔽することができる。
また、上述したように、部分的な書き換え処理も、書き換え処理時間や、書き換え処理による消費電力の抑制に効果的である。具体的には、書き換え対象となるロジック(たとえば、図26のロジック2601など)を分割して部分的にマッピングする。このとき、ロジックの分割はコンパイラの段階で実行されるため、書き換え処理の実行順序は静的に固定される。なお、このようにコンパイラの段階でロジックを分割するためには、事前に動的再構成回路によって実行するタスクに関するスケジューリング情報を取得しておく必要がある。そして、事前にスケジューリング情報を取得し、スケジュール通りにタスクが実行された場合には、部分的に書き換え処理が実現されるため、結果として一度に要する書き換え時間、消費電力ともに抑制される。
特開2003−223476号公報 特開2006−163815号公報
しかしながら、上述したような対策案を講じた場合であっても、依然として動的再構成回路の再構成に伴うPEの書き換え処理には、多大な消費電力を要してしまう。また、通常処理時と比較して書き換え処理時の消費電力は著しく大きいため、電源への負荷も大きくなってしまう。したがって、バッテリ駆動を前提とする携帯機器では動的再構成回路が搭載されていても、積極的には再構成処理を活用させることができないという問題があった。
また、上述したようにバックグラウンドで複数の動的再構成回路の書き換え処理を実行する場合であっても、書き換え処理時間の隠蔽という効果はあるが、同時に複数の動的再構成回路の書き換え処理が実行されているため、依然として高消費電力になってしまうという問題は解決されない。実際に、より多くのリソース(ここでは、複数の再構成回路)を利用する場合ほど、再構成処理にかかる電力は大きくなることが実験的にも証明されている(たとえば、「動的リコンフィギャラブルプロセッサにおける電力分析」、西村隆、他3名、信学技報、RECONF2007−41(2007−11)、p31−36)。
さらに、図28は、ハードウェア書き換え処理時の消費電力を示す図表である。図表2800では、図27にて説明したように、動的再構成回路2700−1にてタスク実行中に、バックグラウンドにて複数の動的再構成回路2700−2〜2700−4の書き換え処理が実行された場合の消費電力変化を表している。曲線2801では、時刻T1に、動的再構成回路2700−1におけるタスク実行と、動的再構成回路2700−2〜2700−4における書き換え処理とが集中するため、一度に大きな電力が必要なる。そして、時刻T1における動作の消費電力によってシステム全体を駆動させるバッテリが著しい電圧降下を起こしてしまうという問題があった。
また、上述したように、部分的に書き換え処理をおこなった場合であっても、コンパイラの段階でロジックを分割しなければならず、さらに、事前に電力データの取得処理が必要となってしまう。したがって、部分的な書き換え処理は、ストリームデータの再生など限られた種類のアプリケーションに対してしか適用できないという問題があった。
さらに、図29は、ハードウェアの部分書き換え処理における消費電力変化を示す図表である。図29の図表2900において、曲線2901は事前に予測した消費電力値のピーク変化を表しており、曲線2902は実際の消費電力値のピーク変化を表している。事前に消費電力値のピーク変化を予測していても、実際に処理を実行させると、使用環境や外部要因(他のフェイズの処理にかかる電力など)により電力負荷は変化し、曲線2902のように予測したピーク変化とは大きくかけ離れてしまうことが多い。また、曲線2902のように、予想以上にピーク電力が高くなると、スケジューリング時の計算とのずれを生み、表示電力値の揺らぎが大きくなってしまう。結果としてバッテリへの負荷が大きくなり、バッテリの寿命を縮めてしまうという問題があった。
この発明は、上述した従来技術による問題点を解消するため、動的再構成回路によって実行させるタスクの内容にかかわらず、バッテリの負荷の少ない再構成処理を実現する動的再構成支援プログラム、動的再構成支援装置および動的再構成支援方法を提供することを目的とする。
上述した課題を解決し、目的を達成するため、この動的再構成支援プログラム、動的再構成支援装置および動的再構成支援方法は、書き換えが可能な複数のプロセッサエレメント(以下、「PE」という)を備えた動的再構成回路を制御するコンピュータが、前記動的再構成回路によって実行中のタスクの情報を取得する処理と、実行中のタスクの情報を取得すると、前記動的再構成回路によって実行させるタスク順序、各タスクの実行完了時間および利用PE数を含むスケジューリング情報が記録されたメモリから、前記実行中のタスクの実行完了時間を読み出す処理と、読み出された前記実行中のタスクの実行完了時間を用いて、前記動的再構成回路によって次のタスクが開始されるまでのデッドライン時間を算出する処理と、前記スケジューリング情報に含まれた各タスクの利用PE数を参照して、前記デッドライン算出工程によって算出されたデッドライン時間までに書き換えを要する次のタスクのPEの数を特定する処理と、特定されたPEの数を前記デッドライン時間によって分割して単位時間当たりに書き換えをおこなうPEの数を算出する処理と、前記動的再構成回路に、前記デッドライン時間までに書き換えを要する次のタスクのPEの書き換えを単位時間あたりに算出された数ずつ実行させる処理、含むことを要件とする。
この動的再構成支援プログラム、動的再構成支援装置および動的再構成支援方法によれば、PEの書き換えを完了させるデッドライン時間中に書き換えを要するすべてのPEの書き換え処理を分散して実行させることができる。
この動的再構成支援プログラム、動的再構成支援装置および動的再構成支援方法によれば、動的再構成回路によって実行させるタスクの内容にかかわらず、バッテリの負荷の少ない再構成処理を実現することができるという効果を奏する。
以下に添付図面を参照して、この動的再構成支援プログラム、動的再構成支援装置および動的再構成支援方法の好適な実施の形態を詳細に説明する。この動的再構成支援プログラム、動的再構成支援装置および動的再構成支援方法では、動的再構成回路におけるPEの書き換え処理を、次のタスクが開始されるまでのデッドライン時間に応じて分割する。そして、分割したPEをデッドライン時間までに順番に実行させることによって一度に実行される書き換え処理量を分散する。また、PEの分割時に現在のバッテリ残量と、消費電力を参照して、PEの書き換え処理に要する電力値のピーク変化がより平準化するように調整することもできる。
(動的再構成支援処理の概要)
まず、本実施の形態にかかる動的再構成支援処理の概要について説明する。図1−1は、本実施の形態にかかる動的再構成支援処理の概要を示す説明図である。図1−1の動的再構成回路110−1は、タスクとして暗号化アルゴリズムであるAESロジックが実行されている状態を表している。そして、動的再構成回路110−1において、現在実行中のタスクが完了すると、動的再構成回路110−2のように、次に実行するタスクとして暗号化アルゴリズムであるCamelliaロジックを実現するために必要なPEを書き換えが必要となる。
このようなPEの書き換えの際に、従来の動的再構成処理の手法を用いて、Camelliaロジックを実現するためのPEをデッドライン時間までに一度に書き換えると、図表120の曲線121のように、局所的に消費電力が高くなってしまう。そこで、本実施の形態にかかる動的再構成支援処理部100では、Cameliaロジックの際に書き換えが必要となる全PEを1〜4の4ブロックに分割し、各ブロックに対応するPEの書き換えを順番に実行させるように動的再構成回路110−2を制御する。
ここで、図1−2は、動的再構成支援処理部の機能的構成を示すブロック図である。動的再構成支援処理部100は、動的再構成回路110を制御する機能部であり、基本的に機能部として、取得部101と、読み出し部102と、デッドライン算出部103と、特定部104と、分割数算出部105と、実行部106と、予測値算出部107と、しきい値算出部108とが含まれている。また、動的再構成支援処理部100には、常時アクセス可能なメモリ109が接続されている。なお、拡張的な機能部として、破線で囲まれた温度予測部111と分割数補正部112とを用意してもよい。これらの機能部は、動的再構成回路110のバッテリ温度を動的再構成支援処理に反映させる場合に利用される(詳細は後述する)。
まず、取得部101は、動的再構成回路110によって実行中のタスクの情報を取得する。そして、読み出し部102は、取得部101によって実行中のタスクの情報の取得をトリガとして、メモリ109からスケジューリング情報を読み出す。スケジューリング情報とは、あらかじめ動的再構成回路110によって実行させるタスク順序、各タスクの実行完了時間および利用PE数とが関連付いた状態にて記録されたデータ群である。
デッドライン算出部103は、読み出し部102によって読み出されたスケジューリング情報のうち、実行中のタスクの実行完了時間を用いて動的再構成回路110によって次のタスクが開始されるまでのデッドライン時間を算出する。なお、デッドライン算出部103にて算出されたデッドライン時間は、メモリ109や任意の記憶領域に記憶される。
特定部104は、スケジューリング情報の各タスクの利用PE数を参照して、デッドライン算出部103によって算出されたデッドライン時間までに書き換えを要するPEの数を特定する。なお、特定部104にて特定されたPEの数は、メモリ109や任意の記憶領域に記憶される。
分割数算出部105は、特定部104によって特定されたPEの数をデッドライン時間によって分割して単位時間当たりに書き換えをおこなうPEの数を算出する。たとえば、デッドライン時間が4[msec]であり、特定されたPEの数が24[個]であった場合、PEの数をデッドライン時間で分割する。したがって、この場合、単位時間1[msec]あたりの書き換えPEの数として6[個]が算出される。なお、分割数算出部105にて算出された分割数は、メモリ109や任意の記憶領域に記憶される。
実行部106は、動的再構成回路110に、デッドライン時間までに書き換えを要する次のタスクのPEの書き換えを単位時間あたりに分割数算出部105によって算出された数ずつ実行させる。すなわち、動的再構成回路110−1が実行中であれば、次のタスクを実行する動的再構成回路110−2のPEを単位時間ごとに分割されたPEの数ずつ書き換えるように動的再構成回路110−2を制御する。上述した分割例であれば、動的再構成回路110−2を制御して、単位時間ごとに3つのPEを書き換える処理をデッドライン時間まで実行させることになる。
以上説明した処理によって動的再構成回路110−2は、デッドライン時間までに、次に実行されるタスク用のPEへと書き換えられる。このとき、書き換えを要するPEは、1〜4のブロックに分割され、単位時間ごとに順次、各ブロック単位のPEの書き換え処理が実行される。したがって、図1−1の図表130の曲線131のように、消費電力の変動が平準化される。再構成処理にかかる消費電力値のピークは、従来の技術の場合にはP1値まで上昇してしまったが、本実施の形態にかかる動的再構成支援処理部100の場合にはP2値にまで抑制することができる。結果として動的再構成回路110を駆動させるバッテリへの負荷を低減させるため、バッテリを長持ちさせるこがでる。
また、本実施の形態では、上述のような、単純に書き換えを要するすべてのPEをデッドライン時間分割する処理に加え、さらに動的再構成回路110の消費電力とバッテリ残量に関する情報を取得して、消費電力の変動の少ない再構成処理を実現することができる(図1−1に示した動的再構成回路110−2においてブロック1〜4に含まれるPEの数が違うのはこちらの処理を用いたためである)。
このような処理の場合、動的再構成支援処理部100に、予測値算出部107と、しきい値算出部108と追加する。予測値算出部107は、動的再構成回路110を駆動するバッテリの残留電力の予測値を算出する。また、しきい値算出部108は、動的再構成回路110の消費可能電力となるしきい値の時間変化を表すしきい値関数を算出する。この処理の場合には、上述した取得部101でも、さらに、動的再構成回路110からバッテリの残留電力情報と、動的再構成回路110の消費電力情報とを取得するように動作させる。
具体的には、予測値算出部107では、取得部101によって取得された残留電力情報とメモリ109から読み出したスケジューリング情報とを用いて、バッテリの残留電力のデッドライン時間までの予測値を算出する。そして、しきい値算出部108は、予測値算出部107によって算出された予測値に所定の時間ごとに前記消費電力情報を代入してしきい値関数を算出する。
分割数算出部105では、しきい値関数が算出された場合には、特定されたPEの数を、単位時間ごとにしきい値関数の値以下の消費電力によって書き換え可能な数に分割する。すなわち、予測値算出部107と、しきい値算出部108とを利用しない場合は、単純に書き換えを要するすべてのPEをデッドライン時間で等分割したが、ここでは、所定の時間ごとに算出したしきい値関数の値よりも小さな消費電力でPEの書き換えが完了するように、PE数の分割数を調整する。
ここで、図2は、動的再構成支援処理によるマッピング例を示す説明図である。図2のように、動的再構成回路110では、デッドライン時間までに25個のPEの書き換えを完了させなければならない。上段の図表210では、従来通り25個のPEを一度に書き換えた場合の消費電力変化を曲線211によって表している。一方、下段の図表220では、本実施の形態にかかる動的再構成支援処理部100によって、しきい値関数を算出し、このしきい値関数を参照して、単位時間あたりに書き換えるPEの数を分割して実行させた場合の消費電力を曲線221,222によって表している。
したがって、図表210のPEの分割と比較して図表220のPEの分割数は、時間ごとにバラバラである。このとき、曲線221は、動的再構成回路110を動作させるCPUの消費電力変化を表している。当然のことながら、CPUの消費電力は書き換え処理をおこなうPE数に依存するため、分割されたPEの数に比例した変化をみせる。
しかしながら、動的再構成回路110を含むシステムでは、CPU自体の処理以外の要因によって消費電力が変化する。図表220の曲線222は、単位時間あたりに書き換えるPEの数を分割して実行させた場合の動的再構成回路110を含むシステム全体の消費電力変化を表している。動的再構成支援処理部100では、実際の消費電力情報を取得してしきい値関数を算出し、その値に応じてPE数を分割しているため、システム全体の消費電力値としてみた場合に、曲線222のように消費電力の変動を最小限に抑えることができる。
また、上述した基本的な構成にあらたに、動的再構成回路110から、動的再構成回路システムを駆動させるバッテリの温度情報を取得する機能を追加して、バッテリの温度変化が大きい場合に対応した動的再構成支援処理を実現することができる。一般的にバッテリの消費電力はバッテリ自体の温度変化に大きく影響される。したがって、バッテリの温度変化が激しくなるような使用環境や、温度変化が大きい種類のバッテリを利用する場合には、これらの機能部を用意して、温度変化に対応した動的再構成支援処理を実現することができる。
まず、温度予測部111は、動的再構成回路110に搭載されているバッテリの温度変化予測値を算出する。そして、分割数補正部112は、温度予測部111によって算出された温度変化予測値を用いて分割数算出部105によって算出されたPEの数を補正する。
具体的に説明すると、まず、温度予測部111と分割数補正部112を利用する場合、取得部101では、上述した処理に加えて、動的再構成回路110のバッテリの温度情報と、バッテリの温度情報に対応した出力電力情報とを取得する。そして、温度予測部111は、取得部101によって取得されたバッテリの温度情報の所定時間間隔の変化量を求め、さらに、バッテリの温度情報を当該変化量に比例させた温度を次回の所定時間間隔におけるバッテリの温度予測値として算出する。
そして、分割数補正部112は、温度予測部111によって算出された温度予測値に対応したバッテリの出力電力情報としきい値関数の値との比率に応じて分割数算出部105によって算出されたPEの数を補正する。分割数補正部112による補正例としてたとえば、バッテリの出力電力情報としきい値関数の値との比率によってバッテリの出力電力情報が大きいと判断された場合には、分割数算出部105によって算出されたPEの数を増加させ、この比率によってバッテリの出力電力情報が小さい判断された場合には、前記分割数算出部105によって算出されたPEの数を減少させる。
以上説明したように、本実施の形態にかかる動的再構成支援処理の場合、再構成をおこなう際に単位時間あたりに書き換えるPEの数を分散させることによって、局所的な消費電力の上昇を抑えることができる。また、しきい値関数を参照してシステム全体の消費電力値の変動を平準化するため、バッテリへの負荷を減らし、効率的にバッテリを利用することができる。
また、動的再構成回路110の場合、同時に処理がおこなわれる回路面積が大きいほど消費電力が大きくなることが知られている(「動的リコンフィギャラブルプロセッサMuCCRAの低消費電力化」、平川啓一郎、他4名、信学技報、RECONF2007−41(2007−11)、p61−66)。特に、制御部分の回路面積が小さく、回路の大部分を再構成可能なPE群によって構成されている動的再構成回路の場合、PE切り替え時の処理面積は消費電力値に直結する。したがって、本実施の形態にかかる動的再構成支援処理を適用することによって同時に再構成をおこなうPEの数が減少されるため、結果として同時に処理がおこなわれる回路面積も縮小される。結果として、システム全体の再構成完了までも単位時間あたりの消費電力を抑えられるという利点をあわせもつことになる。
以下には、上述した動的再構成支援処理部100を動的再構成支援装置として実現する際の具体的な2つの実施の形態について説明する。
<実施の形態1>
実施の形態1は、図1−2にて説明した動的再構成支援処理部100の機能をそのまま実現する実施の形態である。
(動的再構成支援装置のハードウェア構成)
まず、動的再構成支援装置のハードウェア構成について説明する。ここでは、汎用の情報処理装置を用いて、動的再構成支援装置300を実現している。図3は、動的再構成支援装置のハードウェア構成を示すブロック図である。図3において、動的再構成支援装置300は、CPU(Central Processing Unit)301と、ROM(Read‐Only Memory)302と、RAM(Random Access Memory)303と、磁気ディスクドライブ304と、磁気ディスク305と、光ディスクドライブ306と、光ディスク307と、ディスプレイ308と、通信I/F(Interface)309と、キーボード310と、マウス311と、スキャナ312と、プリンタ313と、を備えている。また、各構成部はバス320によってそれぞれ接続されている。
なお、図3では動的再構成支援装置300のハードウェア構成のみを独立して説明しているが、動的再構成支援装置300自体は、基本として動的再構成回路を制御する装置であるため、実際には、バス320を介して制御対象となる動的再構成回路と接続されているが、ここでは省略する。
ここで、CPU301は、動的再構成支援装置300の全体の制御を司る。ROM302は、ブートプログラムや、動的再構成支援プログラムなどのプログラムを記憶している。RAM303は、CPU301のワークエリアとして使用される。磁気ディスクドライブ304は、CPU301の制御にしたがって磁気ディスク305に対するデータのリード/ライトを制御する。磁気ディスク305は、磁気ディスクドライブ304の制御で書き込まれたデータを記憶する。
光ディスクドライブ306は、CPU301の制御にしたがって光ディスク307に対するデータのリード/ライトを制御する。光ディスク307は、光ディスクドライブ306の制御で書き込まれたデータを記憶したり、光ディスク307に記憶されたデータをコンピュータに読み取らせたりする。
ディスプレイ308は、カーソル、アイコンあるいはツールボックスをはじめ、文書、画像、機能情報などのデータを表示する。このディスプレイ308は、たとえば、CRT、TFT液晶ディスプレイ、プラズマディスプレイなどを採用することができる。
通信I/F309は、通信回線を通じてLAN(Local Area Network)、WAN(Wide Area Network)、インターネットなどのネットワーク314に接続され、このネットワーク314を介して他の装置に接続される。そして、通信I/F309は、ネットワーク314と内部のインターフェースを司り、外部装置からのデータの入出力を制御する。通信I/F309には、たとえばモデムやLANアダプタなどを採用することができる。
キーボード310は、文字、数字、各種指示などの入力のためのキーを備え、データの入力をおこなう。また、タッチパネル式の入力パッドやテンキーなどであってもよい。マウス311は、カーソルの移動や範囲選択、あるいはウィンドウの移動やサイズの変更などをおこなう。ポインティングデバイスとして同様に機能を備えるものであれば、トラックボールやジョイスティックなどであってもよい。
スキャナ312は、画像を光学的に読み取り、動的再構成支援装置300内に画像データを取り込む。なお、スキャナ312は、OCR(Optical Character Reader)機能を持たせてもよい。また、プリンタ313は、画像データや文書データを印刷する。プリンタ313には、たとえば、レーザプリンタやインクジェットプリンタを採用することができる。
なお、動的再構成支援装置300は、携帯端末などバッテリ駆動が想定される機器への搭載が最も効果的である。したがって、上述したディスプレイ308、通信I/F309、キーボード310、マウス311、スキャナ312およびプリンタ313は、様々な例を挙げたが、携帯端末への搭載に適したものが選択されることが好ましい。また、携帯機器への搭載が、困難であったり、バッテリへの負荷が大きくなってしまったりするような場合は、上述したような入出力にかかるハードウェア(ディスプレイ308、通信I/F309、キーボード310、マウス311、スキャナ312およびプリンタ313)の搭載は必須ではない。
(動的再構成支援装置の機能的構成)
次に、動的再構成支援装置300の機能的構成について説明する。図4は、実施の形態1における動的再構成支援装置の機能的構成を示すブロック図である。図4の構成は、図1−2にて説明した動的再構成支援処理部100の実現例である。動的再構成支援装置300は、しきい値曲線算出部410と、タスク分割数算出部420とを含んでいる。そして、これら制御部410,420は、たとえば、上述したCPU301、ROM302、RAM303によって実現される。
このしきい値曲線算出部410によって消費電力値の判断基準となるしきい値曲線が算出される。そして、タスク分割数算出部420は、デッドライン時間までに書き換えを要するすべてのPEを、単位時間ごとに実行に適した数に分割する。ここで説明している実行に適した数の判断は、しきい値曲線算出部410によって算出されたしきい値曲線に基づいておこなわれる。したがって以下に詳細な手順について説明する。
(しきい値曲線算出処理)
まず、しきい値曲線算出部410には、スケジューリング情報401と、消費電力情報402と、バッテリ情報403とが入力される。図5−1は、スケジューリング情報の一例を示す図表であり、図5−2は、消費電力情報の一例を示す図表であり、図5−3は、バッテリ情報の一例を示す図表である。
スケジューリング情報401としては、図5−1の図表510のようにタスク数に応じて、実行順序ごとの各タスク名とデッドライン時間(ここでは、タスクごとの実行完了時間)が入力される。また、消費電力情報402は、動的再構成支援装置300の制御対象となる動的再構成回路から取得される情報であり、図5−2の図表520のように、動的再構成支援装置300が求めたタイミングの各時刻(たとえば、t0〜t3)のリアルタイムな消費電力情報が入力される。そして、バッテリ情報403は、動的再構成回路を駆動させるバッテリから取得され、図5−3の図表530ように、バッテリ容量、バッテリ残量(残留電力)および放電電流値が入力される。
そして、しきい値曲線算出部410は、デッドライン時間までのしきい値電力値411と、しきい値曲線式412とを算出する。ここで図6は、しきい値曲線の算出処理を示す説明図である。まず、図6を用いて、しきい値曲線の算出処理について詳しく説明する。図6の上段の図表610は、時刻0〜tsまでをデッドタイム時間とした場合のしきい値曲線の算出例を表している。また、下段の図表620は、消費電力変動予測と実際の消費電力の変動を表している。
しきい値曲線算出部410では、まず、入力されたバッテリ情報とスケジューリング情報とから書き換え開始時0からタスクデッドライン時間となるtsまで予測電力値を算出する。そして、所定の時間t0〜t4ごとに実際のバッテリ残量と予測電力値とを比較する。したがって、曲線610におけるプロット611からは、次のt0まで、初期値を用いて予測電力値を表す曲線が描かれる(0<t<t0:初期関数(予測値関数)をそのまま適用)。
そして、t=0において、バッテリ残量と予測電力値とが比較される。t0では、バッテリ残量が予測値よりも高いために電力に余裕があると判断される。したがって、予測値を修正するため、現在の消費電力情報を用いた再計算をおこない、正しいしきい値曲線を算出する。したがって、プロット612からは、次のt1まで再計算されたしきい値曲線が描かれる(t0<t<t1:t0の再計算結果に応じたしきい値曲線)。
次に、t=1においても同様に、バッテリ残量と予測電力値とが比較される。t1では、前回(t=0)に引き続いてバッテリ残量が予測値よりも高く、電力に余裕があるため、しきい値曲線を再計算することなく、プロット613からは、次のt2まで、t0において算出したしきい値曲線が継続して描かれる(t1<t<t2:t0の再計算結果に応じたしきい値曲線)。
さらに、t=2においても、まずはt=1の際の処理と同様に、バッテリ残量と予測電力値とが比較される。t=2では、バッテリ残量が予測値よりも低いために電力に余裕がないと判断される。したがって、予測値を修正するために現在の消費電力情報を用いた再計算をおこない、正しいしきい値曲線を算出する。したがって、プロット614からは、次のt3まで再計算されたしきい値曲線が描かれる(t2<t<t3:t2の再計算結果に応じたしきい値曲線)。
同様に、t=3,4でも、バッテリ残量と予測電力値とが比較され、それぞれ、残留電力に余裕があるか否かに応じて予測値の再計算をおこなう。なお、図表620の曲線621は予測値を表している。そして、曲線622は、実際の消費電力を表している。上述したように所定の時間ごとに計算された予測値の連続値がしきい値曲線となる。
このとき、残留電力に余裕がある場合には、一度に書き換えるPEの数を増やし、残留電力に余裕がない場合には、一度に書き換えるPEの数を減らすようにしきい値を修正する。詳しくは後述するが、一度に書き換え処理を実行するPEの数は、上述した処理によって算出されたしきい値曲線を基準に設定される。したがって、残留電力に応じたしきい値曲線の算出が、曲線623のように平準化したピーク電力の変動を実現する要因となる。
次に、しきい値曲線の算出処理の具体的な手順について説明する。図7は、しきい値曲線の算出処理の手順を示すフローチャートである。図7のフローチャートにおいて、まず、メモリに現時刻の電力値を保存し、しきい値を読み出す(ステップS701)。このステップS701にて読み出される現在時刻の電力値Wthは、バッテリ残留電力値Wがそのまま採用される。
そして、しきい値曲線を求めるために設定した任意のフィティング関数f(t)によって求められた現在の残留電力の予測値が、電力値の下限0から上限(実際のバッテリ残量Wth)の間に含まれているか否かを判断する(ステップS702)。ここでは、フィティング関数f(t)として、下記(1)式を利用するが、バッテリの特性や、動作テストの結果を参照して他の関数を利用してもよい。ここでは、バッテリ残量という値が減衰していく傾向の高いものの変動予測が前提となっているため、フィティング関数として減衰関数が適している場合が多い。
Figure 0005256967
ステップS702において、残留電力の予測値が、電力値の下限0から上限となる実際のバッテリ残量Wthの間に含まれている場合(ステップS702:Yes)、残留電力が予測値よりも高いことを意味し、電力に余裕があると判断される。したがって、後段の処理でPEの分割数の切り上げるために、切り上げフラグKを立てるとともに、履歴フラグH’を立てる(ステップS703)。一方、残留電力の予測値が、電力値の下限0から上限となる実際のバッテリ残量Wthの間に含まれていない場合(ステップS702:No)、残留電力が予測値よりも低いことを意味し、電力に余裕がないと判断される。したがって、後段の処理でPEの分割数の切りさげるために、切り上げフラグK、履歴フラグH’とを0に設定し(ステップS704)、次の処理に移行する。
なお、図8−1は、切り上げフラグの設定基準を示す図表である。また、図8−2は、レジスタに保存されているフラグ値を示す図表である。しきい値曲線算出部410から接続可能なレジスタには図8−2の図表820のようにEndフラグ、切り上げフラグK、履歴フラグHを記録するテーブルが用意されている。
この中で、切り上げフラグKは、図8−1の図表810に示すように、しきい値曲線を再計算するか否かの判断と、後述するタスク分割数算出部420におけるPEの分割数の設定に利用される。また、図表810にステップS703およびステップS704において設定された切り上げフラグKは、前回評価時と現時点の評価内容(upperもしくはlower)を表している。ここで評価内容について説明する。例を挙げた、upperとは、電力的に余裕があると評価され上方修正をおこなったことを表している。反対に、lowerとは電力的に余裕がないと評価され下方修正をおこなったことを表している。なお、電力的に余裕がある、なしは、しきい値曲線による予測電力値と実際のバッテリ残量を比較して、実残留量が予測値残留量よりも高い場合を電力的に余裕があると評価している。
図7の説明に戻り、次に、消費電力情報から、動的再構成回路の現在の消費電力値を取得し(ステップS705)、切り上げフラグK=1かつ履歴フラグH=1か否かを判断する(ステップS706)。ここで、図8−3は、各時刻の電力値を示す図表である。ステップS705で取得された値は、図表830のように記録される。また、ステップS706において、履歴フラグHは、履歴フラグH’の前回処理を表すフラグである。すなわち履歴フラグH’がt=nの時に設定された場合、履歴フラグHはt=n−1の時に設定された値を表す。
したがって、当然初回の場合には前回のフラグ設定処理が存在しないため、履歴フラグHには、初期値として0が設定されている。そして、履歴フラグH=1の場合は、前回評価時(t=n−1)において電力に余裕があったか否かを表している。また、K=1は現時点でも電力に余裕があることを表している。すなわち、切り上げフラグK=1かつ履歴フラグH=1であれば、しきい値曲線を再計算する必要がないことを意味する。
ステップS706において、切り上げフラグK=1かつ履歴フラグH=1ではない場合(ステップS706:No)、しきい値曲線における関数fを再計算し(ステップS707)、さらに、バッテリ情報からしきい値電力値として現在のバッテリ残量Wthを再設定する(ステップS708)。ここで、図8−4は、バッテリ残量の取得例を示す図表である。図表840に示したように、ステップS708で取得されるバッテリ残量Wthは、時刻tであればバッテリ残量Wth=Wt、時刻t+1であればバッテリ残量Wth=Wt+1となる。一方、切り上げフラグK=1かつ履歴フラグH=1である場合(ステップS706:Yes)、ステップS707の再計算をおこなうことなく、ステップS708の処理に移行する。
その後、次の時刻tnの処理に移行するため、履歴フラグHをステップS703またはステップS704にて設定された履歴フラグH’の値に更新する(ステップS709)。最後に現在のしきい値曲線の値とデットライン時間までの残留電力の予測値を保存してEndフラグを立てることにより(ステップS710)、一連の処理を終了する。また、以上の処理によって、デッドライン時間までのしきい値電力値411と、しきい値曲線式412とが出力される。
(タスク分割数算出処理)
次に、タスク分割数算出処理について説明する。まず、図4に戻って説明すると、しきい値曲線算出部410からは、デッドライン時間までのしきい値電力値411と、しきい値曲線式412とが出力される。タスク分割数算出部420は、デッドライン時間までのしきい値電力値411と、しきい値曲線412と、書き換え対象ブロック(PE)数404とが入力され、単位時間に書き換え(マッピング)を実行するPEの数を算出する。なお、書き換え対象ブロック数404は、スケジューリング情報401に含まれているタスクに関する情報から取得することもできるし、外部から取得してもよい。
図9は、タスク分割数算出処理の手順を示すフローチャートである。図9のフローチャートにおいて、まず、タスク分割数算出部420では、初期値として設定してある初期分割数に設定された分割数Nが、最低必要分割数から最高分割数との間に収まっているか否かを判断する(ステップS901)。初期分割数は、下記(2)式によって求められる。また、最低必要分割数は、NB−N’B:現時点で残されている書き込みブロック(PE)の数NBから、前回設定された分割数N’Bを引いた値を、tD−t:デッドライン時間まで残り時間で除したものである。すなわち、1回に少なくともこの数のPEを書き換えないとデッドライン時間までに書き換えが終了しないことを意味する。
Figure 0005256967
一方、最高分割数は、現時点で残されている書き込みブロック(PE)の数NBを現時点での分割数tDによって除した値である。このステップS901において、分割数Nが、最低必要分割数から最高分割数との間に収まっていない場合(ステップS901:No)、最低必要分割数以下であれば、最低分割数が分割数Nに設定される。また、分割数Nが最高分割数よりも大きい場合には、最高分割数が分割数Nとして設定されるため、そのまま一連の処理を終了する。
一方、分割数Nが、最低必要分割数から最高分割数との間に収まっている場合(ステップS901:Yes)、分割数Nをさらに最適な値に設定するため、分割数Nを再計算する処理に移行する。まず、現時点の残留電力値を読み込み(ステップS902)、しきい値電力値比Rを計算する(ステップS903)。しきい値曲線式412から求めた現時点の残留電力の予測値f(t)と実際の電力値Wtとの比を表す値である。
なお、残留電力の予測値f(t)は、下記(3)〜(5)式のようにあらかじめ与えられた関数群の中から、実際の電力値の変化に応じて選択された関数によって求められる。そして、図6の図表610のしきい値曲線の場合、0<t≦t1の間は下記(3)式の関数が適用され、t1<t≦t2の間は下記(4)式の関数が適用され、t2<t≦t3の間は下記(5)式の関数が適用される。
Figure 0005256967
したがって、次の処理では現在の分割数Nにしきい値電力値比Rを掛け合わせることによって、実際の電力値に相応しい分割数N’を算出する(ステップS904)。その後、しきい値曲線算出部410において、各時刻t0〜t4…に設定された切り上げフラグKのビットが立っているか否かを判断する(ステップS905)。ステップS905では、切り上げフラグKの値に応じて、分割数Nの端数を切り上げるか、切り下げるかを判断する。
上述した図8−1の図表810に示したように、切り上げフラグKの値によって、今回と前回とのそれぞれの判断において電力値に余裕があったか否かを判断することができる。したがって、ステップS905において、切り上げフラグKのビットが立っていた場合(ステップS905:Yes)、分割数Nの端数を切り上げ(ステップS906)、切り上げフラグKのビットが立っていなかった場合(ステップS905:No)、分割数Nの端数を切り下げて(ステップS907)、ステップS908の処理に移行する。
そして、ステップS906またはステップS907によって切り上げ、切り下げ処理を施された分割数N’を再計算した分割数Nとして更新する(ステップS908)。最後に、図8−2にて説明したEndフラグのビットを立てて、割り込みコマンドを発行して(ステップS909)、一連の処理を終了する。
以上説明したようなタスク分割数算出処理によって算出された時刻tごとの分割数Nが、PE分割数421として出力される。動的再構成支援装置300では、動的再構成回路110に対して、時刻tごとにPE分割数421に応じた数のPEの書き換えを実行する。結果として、動的再構成回路110によって実行されるPEの書き換えは、動的再構成支援装置300によって算出された電力消費のピーク値変動の少ない処理となるため、バッテリへの負荷を最小限に抑えることができる。
(実施の形態1における動的再構成回路の構成例)
次に、上述した動的再構成支援装置300の機能を含んだ動的再構成回路の構成例について説明する。図10〜図13は、動的再構成回路の構成例を示すブロック図である。以下の構成例その1〜その4は、HW(ハードウェア)の構成の差異はあるが、いずれも動的再構成を実施可能な回路であり、さらに、本実施の形態にかかる動的再構成支援処理を実現することができる。
<構成例その1>
まず、構成例その1では、図10のように動的再構成回路にSWによって動的再構成支援処理の機能を実現する例を表している。図10の動的再構成回路1000は、書き換え可能なPE群を搭載した再構成HW1001と、プロセッサ1002と、バッテリ情報取得器1003と、消費電力情報取得器1004と、メモリ1005とを備えている。そして各HW1001〜1005は、PLB(Prosessor Local Bus)1006によって接続されている。
動的再構成回路1000では、プロセッサ1002に、図1−2にて説明した機能部を実現する動的再構成支援プログラムが搭載されている。したがって、動的再構成回路1000動作時に、動的再構成支援プログラムを実行させることによって効率的なPE書き換えを実現することができる。また、SWによって動的再構成支援処理の機能を実現しているため、仕様変更などが発生しても容易に改変できる。したがって、機能の柔軟性を求められる実装パターンに適している。
<構成例その2>
図11では、独立したHWによって動的再構成支援処理の機能を実現する例を表している。動的再構成回路1100は、動的再構成支援処理を実現するための専用HWとして、再構成マネージャ1101が用意されている。再構成マネージャ1101には、図4にて説明した動的再構成支援装置300の各機能部(410,420)が実現されている。構成例1の動的再構成回路1000と異なり、動的再構成回路1100は、独立したHWによって動的再構成支援処理を実行する。したがって、構成例1と比較してより高速な処理を実現するため、処理速度が優先されるような実装パターンに適している。
<構成例その3>
図12では、再構成HW内に実装されたHWによって動的再構成支援処理を実現する例を表している。動的再構成回路1200は、構成例2の動的再構成回路1100にて利用されていた再構成マネージャ1101が相当のHWを再構成HW1001内部に搭載した再構成HW1201を用いて動的再構成支援処理の機能を実現する。構成例1と比較してより高速な処理を実現するとともに、他のHW手法を採用することによって柔軟な運用が可能となる。したがって、柔軟性と高速性との双方が求められる実装パターンに適している。
<構成例その4>
図13では、SWによる実装をおこなう際に、さらに、バッテリ情報や消費電力情報などの電力情報をプロセッサに伝達するための専用バスを備えた例を表している。基本的な構成は構成例1の動的再構成回路1000と同じであるが、プロセッサ1002、バッテリ情報取得器1003および消費電力情報取得器1004との間のデータ送受を専門におこなうための電力情報伝達専用バス1301が用意されている。動的再構成支援処理を実行するための専用のトラフィックを持つことでさらなる高速化を可能にする。動的再構成回路1300において、動的再構成支援処理以外の複数の処理をおこなう場合であっても、PLB1006の混雑が影響しないため、動的再構成支援処理を優先させたいような実装パターンに適している。
なお、上述した各構成例において、バッテリ情報取得器1003は、たとえば、バッテリ電力を監視する電源LSIを介してバッテリ情報403を取得することができる。また、消費電力情報取得器1004は、たとえば、再構成HW1001内部に、ゲート出力の遷移回数を測定する測定器を設け、この測定器の測定値から消費電力情報402を取得することができる。いずれの場合も、バッテリ情報取得器1003と、消費電力情報取得器1004とについては、公知の技術によって実現可能であるため、それぞれ公知の他の技術を適用してもよい。
(実施例)
次に、実施例として、動的再構成支援装置300によって、具体的な数値を扱った処理例について説明する。以下に説明する処理例は、携帯機器に実装される暗号方式を実行中に切り替える際の例である。
図14は、しきい値曲線算出に利用する関数群を示す図表である。ここでは、図表1400に示したf0(t)、f1(t)、f2(t)(式(3)〜(5))を用いるが、初期関数としてはf0(t)を利用する。また、現在の残留電力に応じて初期設定されたしきい値は2.0[mWh]、デッドライン時間は10[min]となっている。また、書き換えを要するPEは25個である。したがって、PEの初期分割数は25/10=2.5[個]となる。
そして、図15は、しきい値曲線の算出例を示す図表である。図15の図表1500のように、時刻0から初期関数としてはf0(t)を利用してしきい値曲線を算出し、最初に設定されたt=1の時刻になると、残留電力の予測値と実際のバッテリ残量とを比較する。f0(1)=1.09となり、バッテリ残量は1.5[mWh]であった。したがって、残留電力に余裕があると判断され、f1(t)を用いてしきい値曲線を再計算する。
また、t=1における比較結果からPEの分割数を再計算する。すなわち実際のバッテリ残量「1.5」/算出結果「1.09」=1.38となる。この値は、実際に書き換えたいPEの分割数と初期分割数との比率、すなわち、図9にて説明したしきい値電力値比Rを表している(実際に書き換えたいPEは初期分割数の1.38倍である)。したがって、初期分割数2.5に1.38を掛けると3.45となり切り上げて(図9参照)、t=1における分割数は4となる。
同様に、t=2の時刻になると、先ほど再計算によって設定されたf1(2)における残留電力の予測値と実際のバッテリ残量とを比較する。ここで、f1(2)=0.98となり、バッテリ残量は0.5[mWh]であった。したがって、残留電力に余裕がないと判断され、f2(t)を用いてしきい値曲線を再計算する。このときも、t=2における比較結果からPEの分割数を再計算する。すなわち実際のバッテリ残量「0.5」/算出結果「0.98」=0.5(しきい値電力値比R)。ここで求められた値0.5とは、実際の残留電力に適した書き換えPEの数は、現在設定されている初期分割数のPEの数の0.5倍であることを意味している。
また、t=2では、デッドタイム時間までにすべてのPEの書き換えが終わるように、各時刻tにおける最低分割数を求め、この最低分割数以上の分割数となるように設定する。最低分割数は、残りのPEの数23[個]を残りのデッドライン時間9[min]で分割することによって求められる。計算の結果、最低分割数は2.5[個]となり、分割数を設定する際には、2.5と比較して設定する。t=1における分割数は4であり、実際に書き換えたい分割数と、現在の分割数との比率は0.5であったため、分割数は2.0となり先ほど算出した最低数と比較して、K=0より切り下げとなるため(図9参照)、t=2における分割数は2となる。以上説明した処理を、同様にt=3,4,…,9のそれぞれの時間においても実行することによって、消費電力の変動が少なくなるようにPEを分割した再構成処理を実現することができる。
以上説明したように、実施の形態1によれば、PEの書き換えを完了させるデッドライン時間中に書き換えを要するすべてのPEの書き換え処理を分散して実行させる。したがって、動的再構成回路によって実行させるタスクの内容にかかわらず、消費電力値のピークを低いレベルに抑えることができる。さらに、レベルを抑えた消費電力ピークも、変動が少なくなるようにPEの書き換え数を調整するため、バッテリの負荷を最小限に抑えた再構成処理を実現することができる。
<実施の形態2>
実施の形態2は、上述した実施の形態1における動的再構成支援処理をおこなう際に、さらに、動的再構成回路を駆動させるバッテリの温度特性を考慮して単位時間当たりに書き換えPE数を算出する(図1にて説明した温度予測部111と分割数補正部112とを用意した動的再構成支援処理)。したがって、実施の形態2における動的再構成支援処理は、実施の形態1の構成に、バッテリの温度情報を取得するための機器と、取得した温度情報からバッテリの温度変化を表す温度予測情報を算出する機能部と、タスク分割数算出部420(図4参照)によって算出されたPE分割数421を温度予測温度情報に応じて補正する機能部とを追加することによって実現される。
ここで、まず、バッテリ温度と、動的再構成におけるマッピングとの関係について説明する。図16は、動的再構成支援処理によるマッピングとバッテリ温度との関係を示す説明図である。図16でも図2と同様に動的再構成回路110は、デッドライン時間までに所定の個数のPEの書き換えを完了させなければならない。
そして、上段の図表1610は、実施の形態1の動的再構成処理を適用させたPE分割を表している。また、図表1610において、曲線1611は、動的再構成回路110を動作させるCPUの消費電力変化を表している。また、曲線1612は、単位時間あたりに書き換えるPEの数を分割して実行させた場合の動的再構成回路110を含むシステム全体の消費電力変化を表している。そして、曲線1613は、バッテリの温度変化を表している。
実施の形態1の動的再構成支援処理を適用させた場合には、図2の曲線222のようにシステム全体の消費電力の変化は平準化されるが、曲線1612には、局所的な消費電力の落ち込みが生じてしまっている。これは、バッテリの温度特性に伴う出力変化が影響しているためである。ここで、バッテリの温度特性について説明する。図17は、バッテリの温度特性を示す図表である。図表1700は、ある同種類のバッテリの定電力連続放出をバッテリ温度ごとに示している。一般的に、バッテリ温度が高いほど出力電力が高出力になる傾向がある。たとえば、図表1700の温度特性の例の場合、バッテリ温度が0℃から45℃に変化すると、出力電力が1.2倍に増加している。そして、この出力電力は、バッテリの出力持続時間に直接影響を及ぼしてしまう。
ここで、図18−1〜図18−3は、出力電力と持続時間との関係を示す図表である。図18−1では、100mW放電時のバッテリの持続時間を表しており、図18−2では、250mW放電時のバッテリの持続時間を表しており、図18−3では、1000mW放電時のバッテリの持続時間を表している。1000mW放電時と250mW放電時とのように出力電力が2.5倍差の場合、バッテリの継続時間は、1000mW放電時は約60minに対して50mW放電時は約600minになる。また、1000mW放電時と100mW放電時とのように出力電力が10倍差の場合、バッテリの継続時間は、1000mW放電時は約60minに対して100mW放電時は約1800minになる。
このように、出力電力が2.5倍になると継続時間が1/10に短縮されてしまい、出力電力が10倍になると、継続時間は1/30に短縮されてしまうことから明らかなように、バッテリに温度変化が生じる場合には、出力電力にまで影響を及ぼしてしまう。さらに、出力電力の変化は、バッテリの持続時間に大きく影響するため、バッテリ温度変化が生じている場合には、温度変化に伴う出力変化を考慮してPEを分割しなければならない。図16に示した図表1620は、温度変化を考慮した動的再構成支援処理を適用している。したがって、実施の形態2では、このような事態に対応するため、バッテリの温度が落ち込んだ範囲Rの時間帯に書き換えをおこなうPEの数を削減することによってバッテリへの負荷を低減させる。
実施の形態2にかかる動的再構成支援処理として、具体的には、スケジューリング情報と、バッテリ容量と、消費電力情報とに加えバッテリの温度情報を取得して、所定の時間ごとのPEの分割数を算出する。手順としては、まず、実施の形態1と同様にバッテリ消費電力予測曲線を算出する。その後、さらに、バッテリの温度変化を表す温度予測曲線を算出し、これら2つの曲線をあわせ、バッテリ残量予測曲線を計算する。そして、このバッテリ予測曲線に基づいて書き換えをおこなうPE数を計算すればよい。
ここで、図19は、温度予測曲線による補正前のしきい値曲線と分割数を示す説明図であり、図20は、温度予測曲線による補正後のしきい値曲線と分割数を示す説明図である。図19の図表1900は、実施の形態1にかかる動的再構成支援処理によって生成されたしきい値曲線1901を表している。このときのバッテリの変化予測は、温度予測曲線1902によって表されている。
図表1900の下段は、単位時間(t)当たりのPEの分割数を表しており、曲線1904は、しきい値曲線1901から求められた消費電力予測である。そして、曲線1904は実際の消費電力を表し、曲線1905は、実際の温度変化を表している。図表1900の場合、範囲1910にて生じている温度降下が考慮されていないため、下段に示した範囲1920の時間では書き換えを実行するPE数が過剰になってしまっている。
実施の形態2にかかる動的再構成支援処理では、上述した温度予測曲線1902を用いてしきい値曲線1901を補正することによって、単位時間当たりのPEの分割数を修正する。したがって、図20の図表2000のように、温度予測曲線1902を用いてしきい値曲線1901を補正した補正しきい値曲線2001を用いてPEを分割すればよい。バッテリの温度に応じてPE数を補正するため、バッテリへの負荷が軽減され、図19の範囲1920のような局所的なバッテリ温度の落ち込みも解消される。したがって、曲線2005のようにバッテリ温度変化も平準化される。
次に、実施の形態2にかかる動的再構成支援処理を実現するための動的再構成支援装置について説明する。なお、ハードウェア構成は、実施の形態1にかかる動的再構成支援装置300と同様の構成によって実現されるため説明を省略する。以下も、実施の形態1と重複する部分については適宜説明を省略する。
(実施の形態2における動的再構成支援装置の機能的構成)
実施の形態1と異なる部分として、まずは、実施の形態2における動的再構成支援装置の機能的構成について説明する。図21は、実施の形態2における動的再構成支援装置の機能的構成を示すブロック図である。図21のように、実施の形態2における動的再構成支援装置2100は、図4にて説明した動的再構成支援装置300に、あらたに、温度予測部2110と、分割数補正部2120とを追加する。
したがって、再構成支援装置2100のしきい値曲線算出部410およびタスク分割数算出部420では、実施の形態1と同様の処理がおこなわれる。そして、温度予測部2110によって生成された温度予測情報2102と、PE分割数421とを用いて、分割数補正部2120によって補正したPE分割数2103が生成される。そこで、以下に温度予測部2110と、分割数補正部2120との処理について説明する。
(温度予測曲線の生成)
まず、温度予測部2110は、バッテリの現在の温度情報2101を取得して、温度情報2101の所定時間間隔の変化量を求め、温度情報2101をこの変化量に比例させた温度を次回の所定時間間隔におけるバッテリの温度予測情報2102として生成する。ここで、図22および図23は、温度予測曲線の生成例を示す図表である。図22の図表2200のように、温度予測部2110は、温度情報2101を連続して取得して得られる温度変化曲線2201の変曲点を抽出して温度傾向を予測する。このとき、温度予測部2110が取得する温度情報2101は、化学変化によって生じる現象であることから、温度変化の影響がバッテリの出力に影響するまでに時間がかかる。したがって、現在取得した時間間隔(たとえばt0〜t1)の温度情報2101の変化から、次回の時間間隔(たとえばt1〜t2)の温度変化を予測する。
たとえば、t0〜t1の温度変化曲線2201に着目すると、変曲点1を境に温度が下降しているため、次回のt1〜t2では電位降下を起こすと予想する。同様に、t1〜t2の温度変化曲線2201に着目すると、変曲点2を境に温度が上昇しているため、次回のt2〜t3では電位上昇を起こすと予想する。このように、現在時刻を含む時間間隔に取得した温度情報2101から次回の時間間隔の温度変化の傾向を予測すると、図表2300の曲線2301のような温度予測曲線が生成される。
(分割数補正処理の手順)
次に、分割数補正部2120における分割数補正処理の手順について説明する。図24は、分割数補正処理の手順を示すフローチャートである。図24のフローチャートは、PE分割数421の生成をトリガに補正処理が開始される。まず、現在の分割数N(PE分割数421)が、最小分割数であるか否かを判断する(ステップS2401)。ここで、分割数が、最小分割数である場合(ステップS2401:Yes)、補正の必要はないためそのまま処理を終了してPE分割数421が補正後のPE分割数2103として出力される。
ステップ2401において、現在の分割数が、最小分割数でない場合(ステップS2401:No)、時刻t+1の温度予測値から予測出力電力値Wpを取得する(ステップS2402)。なお、予測出力電力値Wpを取得するには、図17のようなバッテリに応じた温度特性情報を用意しておき、温度予測値に対応する温度を参照すればよい。
次に、予測出力電力値Wpを現在の電力値Wで除して電力比Wrを算出する(ステップS2403)。ここで求まる電力比Wrが負の値、すなわちW>Wpとなれば電力が低下するためバッテリの負荷を軽減させなければならない。したがって、次に、電力比Wrに、現在の分割数Nを掛けて分割数N’を算出する(ステップS2404)。以下のステップS2405〜ステップS2409の処理は、図9にて説明したステップS905〜ステップS909と同様の処理となる。
このように、ステップS2403にて算出した電力比Wrが負の値ならば、分割数NよりもPE数の少ない分割数N’に補正されるため、バッテリの負荷が軽減する。反対に、電力比Wrが正の値ならば、分割数NよりもPE数の多い分割数N’に補正されるため、バッテリの負荷が増加する。そして、ステップS2408にて更新された分割数Nが、補正後のPE分割数2103として出力される。
以上説明したように、実施の形態2にかかる動的再構成支援装置2100では、バッテリの温度変化に応じてPE数を補正するため、バッテリに必要以上の負荷をかけるような処理を防ぐことができる。結果として消費電力が平準化されバッテリをより効率的に利用させることができる。
なお、実施の形態2にかかる動的再構成支援装置2100の機能を含んだ動的再構成回路を構成する場合には、図10〜図13にて説明した動的再構成回路の構成例に、バッテリの温度情報を取得する機能部を追加すればよい。
(実施例)
次に、実施例として、動的再構成支援装置2100によって、具体的な数値を扱った処理例について説明する。以下に説明する処理例は、携帯機器に実装される暗号方式を実行中に切り替える際の例である。そして、図25は、温度変化に応じたしきい値曲線の算出例を示す図表である。図表2500は、図15にて説明した実施の形態1にかかる動的再構成支援装置300を用いたしきい値曲線の算出例を示す図表である。
図25の図表2500は、図表1500のように実施の形態1にかかる動的再構成支援装置300を用いてPE数が決定した後、バッテリ温度が40℃→から0℃へ変化してしまった場合のPE数の補正例を表している。バッテリ温度が40℃→から0℃へ変化すると出力電力も140mwから115mwへと変化してしまう。したがって、時間間隔0〜1の温度変化(0℃への降下)から、次の時間間隔1〜2の出力電力が低くなるように補正してPE数を4から3に減少させた。具体的には、電力比Wr=115/140=0.82となるため、分割数N=4×0.82=3.28、すなわち、3に修正されている。
以上説明したように、実施の形態2によれば、バッテリの温度が上昇すれば、PE数を削減させ、バッテリの温度が下降すればPE数を増加させることによって、バッテリの温度変化をよる消費電力を考慮してPEを分散して実行させる。したがって、温度特性による出力電力の差が著しいバッテリであっても、消費電力値のピークを低いレベルに抑え、より効率的に利用することができる。
なお、上述の各実施の形態で説明した動的再構成支援方法は、あらかじめ用意されたプログラムをパーソナル・コンピュータやワークステーションなどのコンピュータで実行することにより実現することができる。このプログラムは、ハードディスク、フレキシブルディスク、CD−ROM、MO、DVDなどのコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。また、このプログラムは、インターネットなどのネットワークを介して配布することが可能な媒体であってもよい。
また、本実施の形態で説明した動的再構成支援処理部100や動的再構成支援装置300は、スタンダードセルやストラクチャードASIC(Application Specific Integrated Circuit)などの特定用途向けIC(以下、単に「ASIC」と称す。)やFPGAなどのPLD(Programmable Logic Device)によっても実現することができる。具体的には、たとえば、上述した動的再構成支援処理部100や動的再構成支援装置300の機能(図1−2の取得部101〜しきい値算出部108または図4のしきい値曲線算出部410、タスク分割数算出部420)をHDL記述によって機能定義し、そのHDL記述を論理合成してASICやPLDに与えることにより、動的再構成支援処理部100や、動的再構成支援装置300を製造することができる。
上述した実施の形態に関し、さらに以下の付記を開示する。
(付記1)書き換えが可能な複数のプロセッサエレメント(以下、「PE」という)を備えた動的再構成回路を制御するコンピュータを、
前記動的再構成回路によって実行中のタスクの情報を取得する取得手段、
前記取得手段によって実行中のタスクの情報を取得すると、前記動的再構成回路によって実行させるタスク順序、各タスクの実行完了時間および利用PE数を含むスケジューリング情報が記録されたメモリから、前記実行中のタスクの実行完了時間を読み出す読み出し手段、
前記読み出し手段によって読み出された前記実行中のタスクの実行完了時間を用いて、前記動的再構成回路によって次のタスクが開始されるまでのデッドライン時間を算出するデッドライン算出手段、
前記スケジューリング情報に含まれた各タスクの利用PE数を参照して、前記デッドライン算出手段によって算出されたデッドライン時間までに書き換えを要する次のタスクのPEの数を特定する特定手段、
前記特定手段によって特定されたPEの数を前記デッドライン時間によって分割して単位時間当たりに書き換えをおこなうPEの数を算出する分割数算出手段、
前記動的再構成回路に、前記デッドライン時間までに書き換えを要する次のタスクのPEの書き換えを単位時間あたり前記分割数算出手段によって算出された数ずつ実行させる実行手段、
として機能させることを特徴とする動的再構成支援プログラム。
(付記2)前記コンピュータを、さらに、
前記動的再構成回路を駆動するバッテリの残留電力の予測値を算出する予測値算出手段、
前記動的再構成回路の消費可能電力となるしきい値の時間変化を表すしきい値関数を算出するしきい値算出手段、として機能させ、
前記取得手段は、さらに、前記動的再構成回路から前記バッテリの残留電力情報と、当該動的再構成回路の消費電力情報とを取得し、
前記予測値算出手段は、前記取得手段によって取得された残留電力情報と前記スケジューリング情報とを用いて、前記バッテリの残留電力の前記デッドライン時間までの予測値を算出し、
前記しきい値算出手段は、前記予測値算出手段によって算出された予測値に所定の時間ごとに前記消費電力情報を代入してしきい値関数を算出し、
前記分割数算出手段は、前記特定手段によって特定された前記デッドライン時間までに書き換えを要する次のタスクのPEの数を、単位時間ごとに前記しきい値関数の値以下の消費電力によって書き換え可能な数に分割することを特徴とする付記1に記載の動的再構成支援プログラム。
(付記3)前記予測値算出手段は、任意の関数を用いて前記予測値を算出し、
前記しきい値算出手段は、前記所定の時間ごとに前記消費電力情報を前記任意の関数に代入することによって前記しきい値関数を算出することを特徴とする付記2に記載の動的再構成支援プログラム。
(付記4)前記予測値算出手段は、任意の減衰関数を用いて前記予測値を算出し、
前記しきい値算出手段は、前記所定の時間ごとに前記消費電力情報を前記任意の減衰関数に代入することによって前記しきい値関数を算出することを特徴とする付記2に記載の動的再構成支援プログラム。
(付記5)前記しきい値算出手段は、前記所定の時間におけるバッテリの残留電力情報が示す電力値が前記予測値よりも高い場合、当該予測値を表す関数をしきい値関数の値とすることを特徴とする付記1〜4のいずれか1つに記載の動的再構成支援プログラム。
(付記6)前記コンピュータを、さらに、
前記バッテリの温度変化予測値を算出する温度予測手段、
前記温度予測手段によって算出された温度変化予測値を用いて前記分割数算出手段によって算出されたPEの数を補正する分割数補正手段、として機能させ、
前記取得手段は、さらに、前記バッテリの温度情報を取得し、
前記温度予測手段は、前記取得手段によって取得された前記バッテリの温度情報の所定時間間隔の変化量を求め、前記バッテリの温度情報を当該変化量に比例させた温度を次回の所定時間間隔における前記バッテリの温度予測値として算出し、
前記分割数補正手段は、前記温度予測手段によって算出された温度予測値に対応した前記バッテリの出力電力と、前記しきい値関数の値との比較結果に応じて前記分割数算出手段によって算出されたPEの数を補正することを特徴とする付記2〜5のいずれか一つに記載の動的再構成支援プログラム。
(付記7)前記分割数補正手段は、前記比率によって前記バッテリの出力電力情報が大きいと判断された場合には、前記分割数算出手段によって算出されたPEの数を増加させ、前記比率によって前記バッテリの出力電力情報が小さい判断された場合には、前記分割数算出手段によって算出されたPEの数を減少させることを特徴とする付記6に記載の動的再構成支援プログラム。
(付記8)書き換えが可能な複数のプロセッサエレメント(以下、「PE」という)を備えた動的再構成回路を制御する動的再構成支援装置であって、
前記動的再構成回路によって実行中のタスクの情報を取得する取得手段と、
前記取得手段によって実行中のタスクの情報を取得すると、前記動的再構成回路によって実行させるタスク順序、各タスクの実行完了時間および利用PE数を含むスケジューリング情報が記録されたメモリから、前記実行中のタスクの実行完了時間を読み出す読み出し手段と、
前記読み出し手段によって読み出された前記実行中のタスクの実行完了時間を用いて、前記動的再構成回路によって次のタスクが開始されるまでのデッドライン時間を算出するデッドライン算出手段と、
前記スケジューリング情報に含まれた各タスクの利用PE数を参照して、前記デッドライン算出手段によって算出されたデッドライン時間までに書き換えを要する次のタスクのPEの数を特定する特定手段と、
前記特定手段によって特定されたPEの数を前記デッドライン時間によって分割して単位時間当たりに書き換えをおこなうPEの数を算出する分割数算出手段と、
前記動的再構成回路に、前記デッドライン時間までに書き換えを要する次のタスクのPEの書き換えを単位時間あたり前記分割数算出手段によって算出された数ずつ実行させる実行手段と、
を備えることを特徴とする動的再構成支援装置。
(付記9)書き換えが可能な複数のプロセッサエレメント(以下、「PE」という)を備えた動的再構成回路を制御するコンピュータが、
前記動的再構成回路によって実行中のタスクの情報を取得する取得工程と、
前記取得工程によって実行中のタスクの情報を取得すると、前記動的再構成回路によって実行させるタスク順序、各タスクの実行完了時間および利用PE数を含むスケジューリング情報が記録されたメモリから、前記実行中のタスクの実行完了時間を読み出す読み出し工程と、
前記読み出し工程によって読み出された前記実行中のタスクの実行完了時間を用いて、前記動的再構成回路によって次のタスクが開始されるまでのデッドライン時間を算出するデッドライン算出工程と、
前記スケジューリング情報に含まれた各タスクの利用PE数を参照して、前記デッドライン算出工程によって算出されたデッドライン時間までに書き換えを要する次のタスクのPEの数を特定する特定工程と、
前記特定工程によって特定されたPEの数を前記デッドライン時間によって分割して単位時間当たりに書き換えをおこなうPEの数を算出する分割数算出工程と、
前記動的再構成回路に、前記デッドライン時間までに書き換えを要する次のタスクのPEの書き換えを単位時間あたり前記分割数算出工程によって算出された数ずつ実行させる実行工程と、
を実行することを特徴とする動的再構成支援方法。
本実施の形態にかかる動的再構成支援処理の概要を示す説明図である。 動的再構成支援処理部の機能的構成を示すブロック図である。 動的再構成支援処理によるマッピング例を示す説明図である。 動的再構成支援装置のハードウェア構成を示すブロック図である。 実施の形態1における動的再構成支援装置の機能的構成を示すブロック図である。 スケジューリング情報の一例を示す図表である。 消費電力情報の一例を示す図表である。 バッテリ情報の一例を示す図表である。 しきい値曲線の算出処理を示す説明図である。 しきい値曲線の算出処理の手順を示すフローチャートである。 切り上げフラグの設定基準を示す図表である。 レジスタに保存されているフラグ値を示す図表である。 各時刻の電力値を示す図表である。 バッテリ残量の取得例を示す図表である。 タスク分割数算出処理の手順を示すフローチャートである。 動的再構成回路の構成例(その1)を示すブロック図である。 動的再構成回路の構成例(その2)を示すブロック図である。 動的再構成回路の構成例(その3)を示すブロック図である。 動的再構成回路の構成例(その4)を示すブロック図である。 しきい値曲線算出に利用する関数群を示す図表である。 しきい値曲線の算出例を示す図表である。 動的再構成支援処理によるマッピングとバッテリ温度との関係を示す説明図である。 バッテリの温度特性を示す図表である。 出力電力と持続時間との関係を示す図表(100mW放電時)である。 出力電力と持続時間との関係を示す図表(250mW放電時)である。 出力電力と持続時間との関係を示す図表(1000mW放電時)である。 温度予測曲線による補正前のしきい値曲線と分割数を示す説明図である。 温度予測曲線による補正後のしきい値曲線と分割数を示す説明図である。 実施の形態2における動的再構成支援装置の機能的構成を示すブロック図である。 温度予測曲線の生成例を示す図表(その1)である。 温度予測曲線の生成例を示す図表(その2)である。 分割数補正処理の手順を示すフローチャートである。 温度変化に応じたしきい値曲線の算出例を示す図表である。 従来の動的再構成回路のハードウェア書き換え処理を示す説明図である。 複数の動的再構成回路におけるハードウェア書き換え処理を示す説明図である。 ハードウェア書き換え処理時の消費電力を示す図表である。 ハードウェアの部分書き換え処理における消費電力変化を示す図表である。
符号の説明
100 動的再構成支援処理部
101 取得部
102 読み出し部
103 デッドライン算出部
104 特定部
105 分割数算出部
106 実行部
107 予測値算出部
108 しきい値算出部
109 メモリ
110(110−1,110−2) 動的再構成回路
111 温度予測部
112 分割数補正部
300 動的再構成支援装置
410 しきい値曲線算出部
420 タスク分割数算出部
1000 動的再構成回路
1001、1201 再構成HW(ハードウェア)
1002 プロセッサ
1003 バッテリ情報取得器
1004 消費電力情報取得器
1005 メモリ
1006 PLB(Prosessor Local Bus)
1101 再構成マネージャ

Claims (6)

  1. 書き換えが可能な複数のプロセッサエレメント(以下、「PE」という)を備えた動的再構成回路を制御するコンピュータを、
    前記動的再構成回路によって実行中のタスクの情報を取得する取得手段、
    前記取得手段によって実行中のタスクの情報を取得すると、前記動的再構成回路によって実行させるタスク順序、各タスクの実行完了時間および利用PE数を含むスケジューリング情報が記録されたメモリから、前記実行中のタスクの実行完了時間を読み出す読み出し手段、
    前記読み出し手段によって読み出された前記実行中のタスクの実行完了時間を用いて、前記動的再構成回路によって次のタスクが開始されるまでのデッドライン時間を算出するデッドライン算出手段、
    前記スケジューリング情報に含まれた各タスクの利用PE数を参照して、前記デッドライン算出手段によって算出されたデッドライン時間までに書き換えを要する次のタスクのPEの数を特定する特定手段、
    前記特定手段によって特定されたPEの数を前記デッドライン時間によって分割して単位時間当たりに書き換えをおこなうPEの数を算出する分割数算出手段、
    前記動的再構成回路に、前記デッドライン時間までに書き換えを要する次のタスクのPEの書き換えを単位時間あたりに前記分割数算出手段によって算出された数ずつ実行させる実行手段、
    として機能させることを特徴とする動的再構成支援プログラム。
  2. 前記コンピュータを、さらに、
    前記動的再構成回路を駆動するバッテリの残留電力の予測値を算出する予測値算出手段、
    前記動的再構成回路の消費可能電力となるしきい値の時間変化を表すしきい値関数を算出するしきい値算出手段、として機能させ、
    前記取得手段は、さらに、前記動的再構成回路から前記バッテリの残留電力情報と、当該動的再構成回路の消費電力情報とを取得し、
    前記予測値算出手段は、前記取得手段によって取得された残留電力情報と前記スケジューリング情報とを用いて、前記バッテリの残留電力の前記デッドライン時間までの予測値を算出し、
    前記しきい値算出手段は、前記予測値算出手段によって算出された予測値に所定の時間ごとに前記消費電力情報を代入してしきい値関数を算出し、
    前記分割数算出手段は、前記特定手段によって特定された前記デッドライン時間までに書き換えを要する次のタスクのPEの数を、単位時間ごとに前記しきい値関数の値以下の消費電力によって書き換え可能な数に分割することを特徴とする請求項1に記載の動的再構成支援プログラム。
  3. 前記しきい値算出手段は、前記所定の時間におけるバッテリの残留電力情報が示す電力値が前記予測値よりも高い場合、当該予測値を表す関数をしきい値関数の値とすることを特徴とする請求項2に記載の動的再構成支援プログラム。
  4. 前記コンピュータを、さらに、
    前記バッテリの温度変化予測値を算出する温度予測手段、
    前記温度予測手段によって算出された温度変化予測値を用いて前記分割数算出手段によって算出されたPEの数を補正する分割数補正手段、として機能させ、
    前記取得手段は、さらに、前記バッテリの温度情報と、前記バッテリの温度情報に対応した出力電力情報とを取得し、
    前記温度予測手段は、前記取得手段によって取得された前記バッテリの温度情報の所定時間間隔の変化量を求め、前記バッテリの温度情報を当該変化量に比例させた温度を次回の所定時間間隔における前記バッテリの温度予測値として算出し、
    前記分割数補正手段は、前記温度予測手段によって算出された温度予測値に対応した前記バッテリの出力電力情報と前記しきい値関数の値との比率に応じて前記分割数算出手段によって算出されたPEの数を補正することを特徴とする請求項2または3に記載の動的再構成支援プログラム。
  5. 書き換えが可能な複数のプロセッサエレメント(以下、「PE」という)を備えた動的再構成回路を制御する動的再構成支援装置であって、
    前記動的再構成回路によって実行中のタスクの情報を取得する取得手段と、
    前記取得手段によって実行中のタスクの情報を取得すると、前記動的再構成回路によって実行させるタスク順序、各タスクの実行完了時間および利用PE数を含むスケジューリング情報が記録されたメモリから、前記実行中のタスクの実行完了時間を読み出す読み出し手段と、
    前記読み出し手段によって読み出された前記実行中のタスクの実行完了時間を用いて、前記動的再構成回路によって次のタスクが開始されるまでのデッドライン時間を算出するデッドライン算出手段と、
    前記スケジューリング情報に含まれた各タスクの利用PE数を参照して、前記デッドライン算出手段によって算出されたデッドライン時間までに書き換えを要する次のタスクのPEの数を特定する特定手段と、
    前記特定手段によって特定されたPEの数を前記デッドライン時間によって分割して単位時間当たりに書き換えをおこなうPEの数を算出する分割数算出手段と、
    前記動的再構成回路に、前記デッドライン時間までに書き換えを要する次のタスクのPEの書き換えを単位時間あたりに前記分割数算出手段によって算出された数ずつ実行させる実行手段と、
    を備えることを特徴とする動的再構成支援装置。
  6. 書き換えが可能な複数のプロセッサエレメント(以下、「PE」という)を備えた動的再構成回路を制御するコンピュータが、
    前記動的再構成回路によって実行中のタスクの情報を取得する取得工程と、
    前記取得工程によって実行中のタスクの情報を取得すると、前記動的再構成回路によって実行させるタスク順序、各タスクの実行完了時間および利用PE数を含むスケジューリング情報が記録されたメモリから、前記実行中のタスクの実行完了時間を読み出す読み出し工程と、
    前記読み出し工程によって読み出された前記実行中のタスクの実行完了時間を用いて、前記動的再構成回路によって次のタスクが開始されるまでのデッドライン時間を算出するデッドライン算出工程と、
    前記スケジューリング情報に含まれた各タスクの利用PE数を参照して、前記デッドライン算出工程によって算出されたデッドライン時間までに書き換えを要する次のタスクのPEの数を特定する特定工程と、
    前記特定工程によって特定されたPEの数を前記デッドライン時間によって分割して単位時間当たりに書き換えをおこなうPEの数を算出する分割数算出工程と、
    前記動的再構成回路に、前記デッドライン時間までに書き換えを要する次のタスクのPEの書き換えを単位時間あたりに前記分割数算出工程によって算出された数ずつ実行させる実行工程と、
    を実行することを特徴とする動的再構成支援方法。
JP2008249097A 2008-09-26 2008-09-26 動的再構成支援プログラム、動的再構成支援装置および動的再構成支援方法 Expired - Fee Related JP5256967B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2008249097A JP5256967B2 (ja) 2008-09-26 2008-09-26 動的再構成支援プログラム、動的再構成支援装置および動的再構成支援方法
US12/565,471 US8495339B2 (en) 2008-09-26 2009-09-23 Dynamic reconfiguration support apparatus, dynamic reconfiguration support method, and computer product

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008249097A JP5256967B2 (ja) 2008-09-26 2008-09-26 動的再構成支援プログラム、動的再構成支援装置および動的再構成支援方法

Publications (2)

Publication Number Publication Date
JP2010079726A JP2010079726A (ja) 2010-04-08
JP5256967B2 true JP5256967B2 (ja) 2013-08-07

Family

ID=42058855

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008249097A Expired - Fee Related JP5256967B2 (ja) 2008-09-26 2008-09-26 動的再構成支援プログラム、動的再構成支援装置および動的再構成支援方法

Country Status (2)

Country Link
US (1) US8495339B2 (ja)
JP (1) JP5256967B2 (ja)

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8654970B2 (en) * 2009-03-31 2014-02-18 Oracle America, Inc. Apparatus and method for implementing instruction support for the data encryption standard (DES) algorithm
US9317286B2 (en) * 2009-03-31 2016-04-19 Oracle America, Inc. Apparatus and method for implementing instruction support for the camellia cipher algorithm
US20100246815A1 (en) * 2009-03-31 2010-09-30 Olson Christopher H Apparatus and method for implementing instruction support for the kasumi cipher algorithm
US8832464B2 (en) * 2009-03-31 2014-09-09 Oracle America, Inc. Processor and method for implementing instruction support for hash algorithms
US20100250965A1 (en) * 2009-03-31 2010-09-30 Olson Christopher H Apparatus and method for implementing instruction support for the advanced encryption standard (aes) algorithm
JP5708265B2 (ja) * 2011-06-01 2015-04-30 富士通株式会社 情報処理装置、バッテリ残量予測方法、及びバッテリ残量予測プログラム
FR2994000B1 (fr) * 2012-07-30 2015-06-05 Airbus Operations Sas Procede de surveillance de l'execution coordonnee de taches sequencees par une carte electronique comportant au moins deux processeurs synchronises sur une meme horloge
US9703364B2 (en) * 2012-09-29 2017-07-11 Intel Corporation Rotational graphics sub-slice and execution unit power down to improve power performance efficiency
US9164931B2 (en) 2012-09-29 2015-10-20 Intel Corporation Clamping of dynamic capacitance for graphics
JP5971214B2 (ja) * 2013-08-16 2016-08-17 富士ゼロックス株式会社 データ処理装置及びデータ処理プログラム
US9250910B2 (en) 2013-09-27 2016-02-02 Intel Corporation Current change mitigation policy for limiting voltage droop in graphics logic
US9514715B2 (en) 2013-12-23 2016-12-06 Intel Corporation Graphics voltage reduction for load line optimization
JP2016042296A (ja) * 2014-08-18 2016-03-31 キヤノン株式会社 画像処理装置、情報処理方法及びプログラム
JP6669961B2 (ja) * 2015-12-24 2020-03-18 富士通株式会社 プロセッサ、再構成可能回路の制御方法及びプログラム
JP6970940B2 (ja) * 2016-02-24 2021-11-24 パナソニックIpマネジメント株式会社 サーバ装置及びその制御方法
JP6690092B2 (ja) * 2016-07-27 2020-04-28 富士通株式会社 熱源探知装置、熱源探知方法、及び熱源探知プログラム
JP6713410B2 (ja) * 2016-11-21 2020-06-24 日立オートモティブシステムズ株式会社 電子制御装置
US10565079B2 (en) 2017-09-28 2020-02-18 Intel Corporation Determination of idle power state
EP3704831A4 (en) * 2017-10-30 2021-06-02 Stc.Unm SYSTEM AND METHODS FOR SIDE CHANNEL POWER RESISTOR FOR ENCRYPTION ALGORITHMS USING DYNAMIC PARTIAL RECONFIGURATION
US11863304B2 (en) * 2017-10-31 2024-01-02 Unm Rainforest Innovations System and methods directed to side-channel power resistance for encryption algorithms using dynamic partial reconfiguration
JP7288189B2 (ja) * 2019-05-29 2023-06-07 富士通株式会社 ジョブ電力予測プログラム、ジョブ電力予測方法、およびジョブ電力予測装置
CN113190497B (zh) * 2021-04-09 2022-09-09 珠海一微半导体股份有限公司 一种可重构处理器的任务处理方法及可重构处理器

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003223476A (ja) 2001-12-05 2003-08-08 Nec Corp 機能シミュレーションのためのハードウェア・アクセラレーション・システム
US20030105617A1 (en) * 2001-12-05 2003-06-05 Nec Usa, Inc. Hardware acceleration system for logic simulation
JP3907664B2 (ja) * 2004-02-27 2007-04-18 松下電器産業株式会社 半導体記憶装置
JP3810419B2 (ja) 2004-12-07 2006-08-16 松下電器産業株式会社 再構成可能な信号処理プロセッサ

Also Published As

Publication number Publication date
US20100082943A1 (en) 2010-04-01
JP2010079726A (ja) 2010-04-08
US8495339B2 (en) 2013-07-23

Similar Documents

Publication Publication Date Title
JP5256967B2 (ja) 動的再構成支援プログラム、動的再構成支援装置および動的再構成支援方法
CN106164864B (zh) 服务的预测负载伸缩
KR101991682B1 (ko) Dvfs 제어 방법 및 이를 이용한 시스템-온 칩
US20220187901A1 (en) Power management advisor to support power management control
US8209554B2 (en) Applying power management on a partition basis in a multipartitioned computer system
US20070118600A1 (en) Automatic resizing of shared memory for messaging
JP4102695B2 (ja) バッチジョブ管理システム及びバッチジョブ管理プログラム
CN108292238A (zh) 控制gpu的调度
CN108292237A (zh) 控制gpu的操作
KR20200122364A (ko) 자원 스케줄링 방법 및 단말 장치
CN104871114A (zh) 用于集成电路的空闲阶段预测
JP2005285093A (ja) プロセッサ電力制御装置及びプロセッサ電力制御方法
JP2022112614A (ja) リソースの移動スケジュールを決定する装置
WO2012023625A1 (ja) 拡張性評価装置、拡張性評価方法および拡張性評価プログラム
JP5108690B2 (ja) Dma装置及びdma転送方法
JP5447648B2 (ja) デバイス設定プログラム、方法、及び情報処理装置
JP6031051B2 (ja) ジョブ実行計画装置
JP2008165408A (ja) 情報処理装置、その制御方法及びプログラム
JP2020135748A (ja) 最適化装置、最適化方法及びプログラム
JP4082439B2 (ja) 並列計算機
US11119921B1 (en) State machine generation for multi-buffer electronic systems
CN110851273B (zh) 一种基于混合内存的程序处理方法和基于混合内存的设备
KR100838438B1 (ko) 태스크 관리방법, 태스크 관리장치, 반도체 집적회로, 전자장치, 태스크 관리 시스템, 및 프로그램을 격납한 기록매체
JP7234566B2 (ja) 運転計画方法、運転計画装置およびプログラム
CN111507885A (zh) 一种基于最佳缓存空间计算的混合图元渲染方法及***

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110708

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130319

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: 20130326

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130408

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20160502

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees