JP2014052918A - 演算装置およびその制御方法 - Google Patents

演算装置およびその制御方法 Download PDF

Info

Publication number
JP2014052918A
JP2014052918A JP2012197898A JP2012197898A JP2014052918A JP 2014052918 A JP2014052918 A JP 2014052918A JP 2012197898 A JP2012197898 A JP 2012197898A JP 2012197898 A JP2012197898 A JP 2012197898A JP 2014052918 A JP2014052918 A JP 2014052918A
Authority
JP
Japan
Prior art keywords
information
power
power supply
arithmetic
task
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2012197898A
Other languages
English (en)
Inventor
Kazuya Fujimori
和哉 藤森
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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP2012197898A priority Critical patent/JP2014052918A/ja
Publication of JP2014052918A publication Critical patent/JP2014052918A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • 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

  • Power Sources (AREA)
  • Microcomputers (AREA)
  • Devices For Executing Special Programs (AREA)

Abstract

【課題】演算装置において好適に電力削減可能とする技術を提供する。
【解決手段】複数の電源制御領域のいずれかに其々属する複数の演算要素と、複数の演算要素と複数の電源制御領域との対応を示す対応情報を保持する保持手段と、複数の演算要素にタスクを割り当てるスケジュールを生成するスケジューラと、スケジューラの生成したスケジュールに基づいて各電源制御領域に電源を供給する供給手段と、を有する。
【選択図】図1

Description

本発明は、複数の演算要素で構成され複数の異なる処理を実行することが可能なアレイ型演算装置における電力制御技術に関するものである。
半導体製造技術の進歩による素子の微細化に伴い、膨大な数のトランジスタが大規模集積回路(LSI)上に集積されるようになっている。ただし、動作時の電力増加と共に非動作時におけるリーク電流に起因する電力増加により、プロセスの微細化やプロセッサの高周波数化による性能向上に限界が見え始めている。そこで、近年、中央演算装置(CPU)、デジタルシグナルプロセッサ(DSP)、単体の演算器、もしくは複数の演算器を組み合わせた演算ユニットなどの演算要素を、単一のLSI上に複数搭載した情報処理装置が注目されている。これは複数の演算要素を用いて処理を並列で行うことで高い演算性能を得ることができるためである。
ただし、大規模化・集積化により演算要素数を増やし理論性能を向上させることができるものの、増大する消費電力を抑制する対策を講じなければ、性能向上と省電力化を両立させることができない。今後も引き続き高機能化・高性能化のため、集積化が進み多数の演算要素が搭載されると予想されることから、電力対策は重要な課題となっている。
半導体集積回路で消費される電力には、機能動作時に消費する電力であるダイナミック電力と、回路に電源を供給するだけ消費される電力であるスタティック電力が含まれる。ダイナミック電力は、信号変化に伴い駆動する寄生容量の充放電で流れる電流と貫通電流のようなトランジスタのスイッチング時に流れる電流が原因になって消費される。従って、機能動作に支障の無い範囲で信号変化を抑えるとダイナミック電力を削減することが出来る。このような原理に基づく代表的な省電力化の手法としてクロックゲーティングがあり、一般に広く用いられている。一方、スタティック電力は、トランジスタの寄生容量に充電される電荷とリーク電流のために消費される電力である。プロセスの微細化に進むに従って、寄生容量は減少しリーク電流は増加する傾向にある。特に、ポリシリコンのゲート酸化膜の薄膜化に伴い、一時期、リーク電流は指数関数的な増加傾向を示していた。
リーク電流を削減するにはトランジスタに供給する電圧を小さく制限するか、または、遮断してしまう方法が有効である。このためリーク電力削減を目的とした技術として、同一電源で駆動されるブロックの電源遮断が一般に広く用いられる。半導体集積回路における電源遮断とは、電源遮断の対象となる箇所(電源遮断領域)への電源供給経路と電源をトランジスタで構成された電源スイッチを用いて接続し、必要に応じて、電源スイッチの導通と遮断を切り替える技術である。現在では、材料や製造方法の改善によりリーク電流は以前のような指数関数的な増加傾向を示すことはなくなったが、依然、線形的に増加しているため、電源遮断の技術はこれからも重要であると考えられる。
つまり、大規模化した半導体集積回路においてもリーク電力を効率的に削減するために、この電源遮断技術が用いられる。複数の電源遮断領域を構成し、稼働していない演算要素を部分的に電源遮断するきめ細かい電源管理を行うことで消費電力を抑制させることが可能になる。
きめ細かい電源管理を実現する手法として、例えば特許文献1では、複数の演算要素間をローカルバスで接続したマルチプロセッサシステムを対象として、プログラムのコンパイル時に電源の供給・遮断を制御するコードを生成する方法が提案されている。具体的には、プログラムを解析し、処理順序を考慮し各演算要素への電源の供給・遮断を制御するコードを生成する方法が提案されている。より具体的には、まず、コンパイラにより、実行する対象となるプログラムから自動的に並列性を持つタスクを抽出する。次に、抽出されたタスクに対し、各プロセッサユニットの特性に基づいて各プロセッサユニットを効率よく動かすスケジューリングを行う。そして、スケジューリング結果に基づいて各プロセッサユニットの処理量を見積もることで電源電圧を制御している。
特開2006−293768号公報
高機能・高性能な情報処理装置を実現するために、複雑で多岐にわたる演算処理をより柔軟に演算要素に割り当てる必要がある。そのため、適宜、実行する処理に合わせて動的に回路構成を切り替え、複数の処理を実行することのできる動的再構成可能な回路が将来的に多く活用されていくと考えられる。
しかしながら、上述の特許文献1に記載の技術は、演算要素間をローカルバスで接続するバス接続型の結合を行い、バスの占有状態を調停しながら演算要素間の通信を制御する構成を前提としている。すなわち、処理内容に合わせて固有のコンフィグレーションを行い、占有の通信経路を確立させることのできる動的再構成可能な回路構成には用いることができない。
そのため、動的再構成可能な回路に対してきめ細かい電源管理を実現するため、現状では、並列化されたプログラムコードと電源遮断領域の構成に基づいて、開発者が、演算要素の稼働状況に合わせて最適な電源制御シーケンスを手動で作成する方法がとられている。ただし、将来、多数の演算要素が積載されるようになると多大な労力と時間が必要になる。
本発明は上述の問題点に鑑みなされたものであり、複数の演算要素を含む演算装置において好適に電力削減可能とする技術を提供することを目的とする。
上述の問題点を解決するため、本発明の演算装置は、複数の電源制御領域のいずれかに其々属する複数の演算要素と、前記複数の演算要素と前記複数の電源制御領域との対応を示す対応情報を保持する保持手段と、前記複数の演算要素にタスクを割り当てるスケジュールを生成するスケジューラと、前記スケジューラの生成したスケジュールに基づいて各電源制御領域に電源を供給する供給手段と、を有する。
本発明によれば、複数の演算要素を含む演算装置において好適に電力削減可能とする技術を提供することができる。
第1実施形態に係るアレイ型演算装置の全体構成を示す概略図である。 アレイ型演算装置を含む情報処理装置の詳細構成図である。 回路ブロックの構成とルーティングを説明する図である。 対応情報(電源遮断領域とPEの構成との対応情報)の一例を示す図である。 タスク間の実行順序に制約がない場合の動作フローチャートである。 タスク間の実行順序に制約がある場合の動作フローチャートである。 第1実施形態における電源制御を説明するタイミングチャートである。 複数のタスクの依存関係を示す図である。 入力されるデータ及び出力されるデータの関係を説明する図である。 電源遮断領域IDの付与された仮想電源制御シーケンスを例示的に示す図である。 第1実施形態における各電源遮断領域の電源制御シーケンスを例示的に示す図である。 第2実施形態に係るアレイ型演算装置の全体構成を示す概略図である。 第3実施形態に係るアレイ型演算装置の全体構成を示す概略図である。 第3実施形態における動作フローチャートである。 第3実施形態における電源制御を説明するタイミングチャートである。 第4実施形態に係るアレイ型演算装置の全体構成を示す概略図である。 第4実施形態における動作フローチャートである。 第4実施形態における電源制御を説明するタイミングチャートである。 マッピング情報を生成するための装置のブロック図である。
以下に、図面を参照して、この発明の好適な実施の形態を詳しく説明する。なお、以下の実施の形態はあくまで例示であり、本発明の範囲を限定する趣旨のものではない。
(第1実施形態)
本発明の第1実施形態として、アレイ型演算装置101を例に挙げて以下に説明する。特に、アレイ型演算装置101における電源制御シーケンスを自動生成する動作について説明する。
<装置構成>
図1は、第1実施形態に係るアレイ型演算装置の全体構成を示す概略図である。アレイ型演算装置101は、複数の回路ブロック102、タイミング情報取得部104、対応情報保持部106、制御情報生成部105を含む。各々の回路ブロック102は、複数の演算要素103を有し各々の回路ブロック102は電源制御部107に接続され、制御情報生成部105からの制御信号により電源供給の制御がされる。
図3は、回路ブロックの構成とルーティングを説明する図である。図3(a)は、回路ブロック102の構成の一例を示している。回路ブロック102は1以上の演算要素103とルータ300を用いた動的再構成可能な回路で構成される。なお、ルータ300は接続経路を規定するためのレジスタを有する。なお、ここでは演算要素103としてプロセッサエレメント(PE)301を用いた例を説明する。
PE301は、ALU、CPU、DSPなどが用いられる。各PE301はルータ300を介して接続される。ルータ300はタイミング情報取得部104から出力されるマッピング情報に基づいて制御され、図3(b)や図3(c)に例示されるように、動的に接続経路を切り替えることができる。
対応情報保持部106は、各回路ブロック102と演算要素103の対応関係を示す対応情報を保持する。例えば、対応情報には、複数の回路ブロック102の各々がどのような演算要素103で構成され、物理的にアレイ型演算装置101上のどの位置に配置されているかわかるように、それぞれの座標データが記載されている。もちろん、座標データのような物理的位置に限定されるものでは無く、各回路ブロック102と演算要素103の対応関係が特定されるようなものであれば良い。
アレイ型演算装置101は、予め並列化コンパイラによって出力されたコンフィグレーションデータを基に演算処理を実行する。以下では、まず、並列化コンパイラの動作の概略とコンフィグレーションデータに含まれる情報について述べる。
並列化コンパイラは、入力されたプログラムを複数の粒度の処理単位(タスク)に分割し、タスク間の依存関係や並列性を解析し、タスクのスケジュールを行う。この解析結果を基に、タスクが必要とする演算器やPEの数や種類を見積もる。当該見積もり結果を基に、必要なPEをグループ化し、当該グループに対してタスクの割り当てを行う。つまり、コンフィグレーションデータには、例えば各処理の演算内容と各処理を実行する際に必要なPEの個数や、各処理の依存性の情報が含まれる。
<装置の動作>
図2は、アレイ型演算装置を含む情報処理装置の詳細構成図である。ここで、情報処理装置100は、1つのパッケージに封止された形態を想定するが、複数のパッケージに分離した形態でもよい。以下では、アレイ型演算装置101がコンフィグレーションデータを基に演算処理を実施するまでの基本的な動作を説明する。
なお、以下の説明においては、アレイ部206は、4つの回路ブロック102から構成されるものとして説明する。また、4つの回路ブロック102それぞれには電源制御部107が接続され、4つの電源遮断領域(PSO(Power ShutOff)ドメイン)208が形成されている。電源制御部107は、回路ブロック102への電力の供給と遮断の制御を行う集積回路の一部である。PSOドメインは電源制御領域、パワードメインなど種種の呼称があり、各領域はリーク電力を削減するために、論理的にパワースイッチに囲まれている。
以下では、タスク間に依存関係(実行順序の制約)がない処理Vとある処理Wのそれぞれについて、図2に示されている電源遮断領域01の電源制御シーケンスを自動生成し、演算処理を実行するまでの動作について説明する。なお、以下の説明では、電源遮断領域01に着目して説明するが、他の電源遮断領域02〜04についても電源遮断領域01と同様である。
図8(a)は、処理Vに含まれる複数のタスクの依存関係を示す図である。つまり、処理Vに含まれる2つのタスク(タスクA及びタスクB)の間には依存関係が無い。一方、図8(b)は、処理Wに含まれる複数のタスクの依存関係を示す図である。つまり、処理Wに含まれる4つのタスク(タスクAb〜タスクDb)の間には依存関係がある。
・タスク間に依存関係(実行順序の制約)がない処理Vを実行する場合の動作
図5は、タスク間の実行順序に制約がない場合の動作フローチャートである。また、図9(a)は、各ステップで入力されるデータ及び出力されるデータの関係を説明する図である。タスク間に依存関係(実行順序の制約)がない場合は、演算リソースの管理が必要ない。また、タスクA及びタスクBの実行順序は決まっておらず、どのタイミングで処理要求が起こるか不明である。よって、処理要求に合わせて電源の供給を行い、逐次タスクを実行し、その都度必要なデータを取得し、処理結果を出力し、電源を遮断する。
ステップST501では、タイミング情報取得部104は、アレイ型演算装置の外部から処理要求を受信するとコンフィグレーションメモリ200からコンフィグレーションデータを取得する。
ステップST502では、使用PE解析部201は、コンフィグレーションデータから必要とするPE数と種類、依存関係を抽出し、制御情報生成部内の電源制御解析部203へPE特定情報として送信する。つまり、コンパイルで作成されたコンフィグレーションデータには、必要なPE数と種類、各タスクの依存関係が決まっているだけで、物理的にどのPEを使用するかは特定されていない。そこで、物理的に使用するPEを特定しタスクの割り当てを行うためにPE特定情報を電源制御解析部203へ送信するのである。なお、ここでは、タスクA、タスクBを実行するために2つのPEが必要であると想定する。
ステップST503では、電源制御解析部203は、対応情報保持部106から対応情報(電源遮断領域とPEの構成との対応情報)を入手する。
図4は、対応情報の一例を示す図である。対応情報には、回路ブロック102のPEの構成と、各PEがどの電源遮断領域に属するかを示す情報が含まれている。ここでは電源遮断領域01に着目し説明する。電源遮断領域01はPE0000〜PE0007の8つのPEが2行4列の配列で構成されている。
ステップST504では、電源制御解析部203は、PE特定情報と対応情報とに基づいて、使用するPEを物理的に特定し、各タスクの割り当てを実行する。ここでは、電源遮断領域01内のPE0000にタスクAを、PE0001にタスクBを割り当てる。
例えば、電源制御解析部203は、PE特定情報から各タスク実行に必要な処理サイクル数、必要な演算リソース量を抽出する。また、対応情報からアレイ部206の構成がわかるため、電源制御解析部203は、回路ブロックの各々の演算処理能力を算出することができる。そして、電源制御解析部203は、各タスク実行に必要な処理サイクル数、必要な演算リソース量と、回路ブロックの各々の演算処理能力とに基づいて、まず、タスクを回路ブロックに割り当てる。また、割り当てを行うごとに割り当て結果を保存しておき、当該割り当て結果から、現在稼働しているPEを把握し、回路ブロックの各々の空き演算処理能力を算出する。これら必要な処理サイクル数、演算リソース量、空き演算処理能力からどの回路ブロック102のPE301で実行するか決定する。なお、タスクを割り当てる際に、PE間の接続本数や性能、消費電力等、優先すべき事項がある場合は、処理コスト(重み付け)を設定し、優先して割り当てが行われるようにするとよい。
ステップST505では、電源制御解析部203は、ST504で特定したPEの配置とPE間の接続情報を、電源遮断領域判定部204とタイミング情報取得部内の回路構成生成部202へ送信する。
ステップST506では、回路構成生成部202は、電源制御解析部203から受け取ったPEの配置とPE間の接続情報を基に、マッピング情報を生成する。当該マッピング情報には、PE間を接続するためのルータ300のレジスタ設定が記載されている。そして、回路構成生成部202は、マッピング情報が生成されたことを電源制御生成部205に通知し、電源制御生成部205は、電源の管理を開始する。
ステップST507では、電源遮断領域判定部204は、稼働させるPEがどの電源遮断領域に含まれるかを対応情報に基づいて判定し電源制御生成部205に通知する。当該判定結果に基づいて、電源制御生成部205は、電源遮断領域01に電源が供給されるように指示し、PE301からタスクの完了通知を受け取るまで電源遮断領域01に電源を供給するよう指示を行う。なお、処理が完了した際に処理完了通知がなされるように入力プログラムに制御コードをあらかじめ付与しておくとよい。
ステップST508では、電源制御解析部203は、電源が供給されると回路構成生成部202へマッピング開始(ルータのレジスタ設定)の指示を送信する。通知を受信した回路構成生成部205はルータ300のレジスタ設定を行い、演算処理を開始する。PE301は、タスクが完了するとルータ300を介して回路構成生成部202へタスク完了通知が送信する。
ステップST509では、回路構成生成部202は、タスクが割り当てられた各PEからタスク完了通知を取得すると電源制御解析部203へ転送を行う。電源制御解析部203はタスク完了通知が転送された場合、どの電源遮断領域のどのPEからタスク通知完了がなされたかを判定する。制御情報生成部105は、電源遮断領域01内のすべてのPEのタスクが完了した場合、電源の供給指示がなくなったと判断し電源遮断領域01に対する電源の供給を遮断する。
図7(a)は、処理Vを実行する場合の電源制御を説明するタイミングチャートである。時刻ts0では、アレイ型演算装置の外部からタイミング情報取得部104へタスクAの処理要求が送信される。
使用PE解析部201は、コンフィグレーションメモリ200からタスクAの演算処理内容とタスク間の依存関係情報を抽出し、必要な演算リソース量を決定する。使用PE解析部201は、決定した演算リソース量と抽出したタスク間の依存関係情報をPE特定情報とし、電源制御解析部203に送信する。電源制御解析部203では、PE特定情報からPE0000へ割り当てが行われる。なお、あらかじめどのタスクを処理する要求かを識別するために、要求処理信号に識別コードが付与されている。
電源遮断領域判定部204は、PE0000が電源遮断領域01に属すると判定し、電源遮断領域01に電源を供給するように電源制御生成部205に指示する。なお、電源制御生成部205は、タスクAの処理完了通知を受信するまで、電源供給の指示信号(P_sup1)を電源制御部107に供給し続ける。
時刻ts1では、タイミング情報取得部104へタスクBの処理要求が送信される。タスクBの処理要求を受けると、上述のタスクAの場合と同様の処理が行われる。ここでは、タスクBもPE0001へ割り当てられ、PE0001は電源遮断領域01に属すると判定される。また、電源制御生成部205は、電源供給の指示信号(P_sup2)を電源制御部107に供給し続ける。
時刻ts2では、電源制御生成部205はPE0000からタスクAの完了通知を受信する。この時、電源遮断領域01内の他のPE(PE0001〜PE0007)が稼働していないか、電源供給の指示信号の有無を確認する。図7(a)に示されるように、時刻ts2の時点ではタスクBが完了しておらず、電源供給の指示(P_sup2)が出ているため、電源の遮断を行わない。
時刻ts3では、電源制御生成部205はPE0001からタスクBの完了通知を受信する。図7(a)に示されるように、時刻ts3の時点では、稼働しているPEが存在しなくなるため、電源遮断領域01に電源が遮断されるように指示を行う。
・タスク間に依存関係(実行順序の制約)がある処理Wを実行する場合の動作
図6は、タスク間の実行順序に制約がある場合の動作フローチャートである。また、図9(b)は、各ステップで入力されるデータ及び出力されるデータの関係を説明する図である。タスク間に依存関係(実行順序の制約)がある場合は、依存関係のあるタスクを実行するPEの電源状態も考慮する必要がある。そのため、タスクのスケジューリング管理を行う必要がある。
例えば、あるタスク1と別のタスク2の間に依存関係があり、タスク2がタスク1の演算結果を参照する場合を考える。また処理時間はタスク1の方が長いとする。依存関係を考慮しないと、同時刻でタスクを開始し、電源供給を処理時間の長いタスク1に合わせて電源の供給を行う。しかしながら、依存関係がある場合は、参照するタイミングによってはタスク1の処理時間内にタスク2の処理が完了するとは限らない。よってタスク1を実行してからタスク2がデータを参照し完了する時間を見積もったうえで電源を供給しなければ、タスク2の実行中に電源を遮断してしまう可能性がある。よって、実行順序に制約がある場合、依存関係のある複数のタスクをまとめて1つの処理単位として扱い、電源管理を行うと良い。
実行順序に制約のない場合との差異はST602で使用PE解析部201にてコンフィグレーションデータから依存関係を解析する際に、処理単位を決定し、タスクスケジュールを作成する点である。ST602にて決定した処理単位に基づきデータの解析、データの受け渡しを行い、タスクスケジュール情報を作成し、当該タスクスケジュール情報に基づいて電源の管理を行う。
ステップST601では、タイミング情報取得部104は、アレイ型演算装置の外部から処理要求を受信するとコンフィグレーションメモリ200からコンフィグレーションデータを取得する。
ステップST602では、使用PE解析部201は、コンフィグレーションデータから必要とするPE数と種類、依存関係を抽出する。そして、使用PE解析部201は、コンフィグレーションデータを解析し、タイムスケジュールを作成する。コンフィグレーションデータから、4つのタスク(タスクAb〜タスクDb)の間には、図8(b)に示すような依存関係が存在するため、タスクAbからタスクDbまでを一つの処理単位とする。
使用PE解析部201は、依存関係と各タスクの完了見積もり時間からタスクの実行順序と実行タイミングを決める。タスクの完了見積もり時間は、例えば、各タスクに必要な処理サイクル数から算出する。タスクの実行順序は、データの依存関係を解析することで決定する。これらの実行順序とタスクの完了見積もり時刻から実行タイミングを決定し、タイムスケジュール情報を生成する。すなわち、タイムスケジュール情報には、各タスクの開始時刻と完了時刻の情報が含まれている。ここでは、図8(b)に示されるように、タスクBbは時刻t10にタスクAbの結果を参照するため、タスクAbを先に実行する。タスクCbは時刻t11にタスクAbの結果を参照するために、タスクAb、タスクBb、タスクCbの順に実行していく。
ステップST602では、使用PE解析部201は、作成したタイムスケジュール情報を電源制御解析部203へ送信される。なお、上述のように、タイムスケジュール情報は、各タスクの開始時刻と完了予定時刻が記された情報である。各タスクの開始時刻は、使用PE解析部201にて抽出されたタスク間の依存関係から実行順序が定まり、この実行順序に基づいて決められている。
ステップST603〜ST604では、電源制御解析部203は、各タスクのPEへの割り当てを行う。ここでは、電源遮断領域01内のPE0000にタスクAb、タスクDbを、PE0001にタスクBb、PE0004にタスクCbを割り当てるものとする。
なお、複数の回路ブロックに対して、タスクを割り当てる場合は、PE特定情報から当該タスクに必要な演算リソースを算出する。同時に、対応情報からアレイ部206の構成がわかるため、複数の回路ブロックの各々の演算処理能力がわかる。また、割り当てを行うごとに逐次割り当て結果は保存されているので、各回路ブロック102の空き演算処理能力も算出することができる。当該タスクに必要な演算リソースと各回路ブロック102の空き演算処理能力を比較し、どの回路ブロック102に割り当てるかを決定する。
ステップST605では、電源制御解析部203(スケジュール情報生成手段、スケジューラ)は、ST604で特定したPEの配置とPE間の接続情報とタイムスケジュール情報を基にタスクスケジュール情報を生成する。そして、タイミング情報取得部内の回路構成生成部202へ送信する。ここで、タスクスケジュール情報とは、タイムスケジュール情報に対し、更にどのPEを使用するかの情報を加えたものである。
図7(b)は、処理Wを実行する場合の電源制御を説明するタイミングチャート(タスクスケジュール情報)である。なお当該タスクスケジュール情報は、電源制御解析部203に保存され、PEへの割り当てを行う際に参照することで、各PEの演算リソースを把握することができる。
ステップST606では、電源制御解析部203は、タスクスケジュール情報から各PEの稼働状況を判断し、各PEの仮想電源制御シーケンスを生成する。作成した仮想電源制御シーケンスを電源遮断領域判定部204に送信する。図7(b)の下段にPE0000、PE0001、PE0004それぞれの稼働情報(P_ctrl1b〜P_ctrl3b)のタイミングチャートを示している。
ステップST607では、電源遮断領域判定部204は、電源遮断領域情報に基づいて、各PEがどの電源遮断領域に含まれるかを判定し、どの電源遮断領域に属するかを示す固有の電源遮断領域IDを各仮想電源制御シーケンスに付与する。そして、電源遮断領域判定部204は、電源遮断領域IDが付与された仮想電源制御シーケンスを電源制御生成部205へ送る。図10は、電源遮断領域IDの付与された仮想電源制御シーケンスを例示的に示す図である。
ステップST608では、電源制御生成部205(電源供給制御手段)は、同一の電源遮断領域に属する各PEの仮想電源制御シーケンスの論理和(OR)をとり、それぞれの電源遮断領域の電源制御シーケンス(電源供給制御情報)を生成する。すなわち、電源遮断領域毎(回路ブロック毎)に電源制御シーケンスを生成する。ここでは、PE0000、PE0001、PE0004すべてが同一の電源遮断領域01に属しているため、PE0000、PE0001、PE0004の仮想電源制御シーケンスの論理和(OR)により生成する。
図7(b)の下段に、電源遮断領域01に対する電源制御シーケンス(PSO01_ctrlb)と電源遮断領域01に対して印加する電源電圧(PSO_Vddb)のタイミングチャートを示す。ここでは、電源制御シーケンス(PSO01_ctrlb)は、論理和演算により得られる時刻t5〜t12の期間に加え、電圧の立ち上がり遅延を考慮し、時刻t4〜t5の期間も電源を供給するよう構成している。回路ブロック102はそれぞれ電源制御部107を介して電源Vddに接続されているため、制御情報生成部105からの電源制御シーケンス(PSO01_ctrlb)に基づき電源供給の制御・管理がなされる。
ステップST609では、回路構成生成部202は、電源制御解析部203から受け取ったPEの配置とPE間の接続情報とを基に、マッピング情報(設定情報)を生成する。
ステップST610では、回路構成生成部202は、使用PE解析部201で抽出された各タスクの演算処理内容と、回路構成生成部202で生成されたマッピング情報を用いて、回路ブロック内のPEに演算の指示を行う。演算処理の時間管理は、電源制御解析部203から入手したタスクスケジュール情報に基づいて行われる。
ここでは、当該マッピング情報に基づいてルータ300が設定され各PE間の接続が行われる。図3(c)は時刻t9での一例を示している。なお、回路構成生成部202は、タスクスケジュールから、時刻t9においては、タスクBbがPE0001で実行され、タスクCbがPE0004で実行されていることがわかる。さらに、回路構成生成部202は、タスクスケジュール情報から時刻t9からタスクDbをPE0000で実行する必要と判断する。そこで、回路構成生成部202は、コンフィグレーションデータからタスクDbにあたる演算処理内容を入手し、すでに確立されているPE間の接続経路を通してPE0000に演算の指示を行う。
なお、上述の説明ではコンフィグレーションデータには、各タスク間の依存関係のみが記述されるだけで、タスクの実行順序などのタイムスケジュール情報が含まれていない場合を想定している。ただし、タイムスケジュール情報がコンフィグレーションデータに含まれる場合には、単に使用PE解析部201にてタイムスケジュール情報を抽出して処理を実行すればよい。
以上説明した動作を演算処理ごとに繰り返し、タスクスケジュール情報、マッピング情報、電源制御シーケンスを生成し演算処理を実行する。図11は、電源遮断領域の電源制御シーケンスの例を示す。当該電源制御シーケンスにしたがって、電源制御部107は電源の復帰と遮断を行う。
なお、上述の説明においては、対応情報は、対応情報保持部106にあらかじめ記憶させているものとして説明したが、外部から設定できるような形態であっても構わない。また、電源制御部107は、PMOSからなる電源スイッチを用いた構成を想定するが、電源電圧を制御可能なものであれば任意の構成が利用可能である。
更に、上述の説明においては、上述の各処理をハードウェア回路により実現するものとして説明したが、一部又は全部をソフトウェア処理により実現する構成としても良い。
図19は、マッピング情報をソフトウェア処理により生成する情報処理装置100のブロック図を示している。2101は装置全体の制御を司るCPUであり、2102はブートプログラムなどを記憶しているROM、2103はCPU2101)のワークエリアとして利用され、オペレーティングシステム(OS)、アプリケーションを格納するためのRAMである。
2104はOS、マッピング情報を作成するためのアプリケーション、ならびに、様々なデータを格納するためのハードディスクドライブ(HDD)である。2105はキーボード、2106はマウスであり、ユーザインタフェースとして機能する。2107は内部にビデオメモリ及び表示コントローラを内蔵する表示制御部であり、2108は表示制御部2107からの映像信号を受信し、表示するための表示装置である。
2109は各種外部デバイスと通信するインタフェース(I/F)であり、例えば、外部メモリ2110を接続することで、作成したマッピング情報をその外部メモリ2110に書込むことになる。
情報処理装置100に電源が投入されると、CPU2101はROM2102に格納されたブートプログラムを実行し、HDD2104に格納されたOSをRAMにロードする。その後、マッピング情報を作成するアプリケーションを起動することで、情報処理装置100がマッピング情報作成装置として機能する。作成されたマッピング情報は、例えば情報処理装置100に入力され上述した電源制御シーケンスの作成処理に用いられる。同様に、電源遮断領域情報と使用するプロセッサ情報から電源制御情報を自動生成することもできる。
以上説明したように、第1実施形態によれば、アレイ型演算装置において好適に電力削減可能とする電源制御シーケンスを自動で生成することが可能となる。また、電源遮断領域の構成が変更され電源遮断領域の境界部が変わった場合でも、新たにコンパイルし直して電源制御シーケンスを生成する必要はない点が更なる利点として挙げられる。すなわち、対応情報保持部106の対応情報を変更するだけで電源制御シーケンスを生成することができる。
(第2実施形態)
第2実施形態では、タスクを実行するPEの割り当てを、仮想電源制御シーケンス生成後、電源遮断領域判定後に変更可能とする構成について説明する。
<装置構成>
図12は、第2実施形態に係るアレイ型演算装置の全体構成を示す概略図である。なお、第1実施形態と同様の機能を有する箇所については同一の符号を付けている。また、同一の符号のついている箇所についての説明は省略する。制御情報生成部105内に新たにID変換部207が設けられている点が第1実施形態(図1,図2)と異なる。
第1実施形態で説明したように、電源制御解析部203は、各タスクのPEへの割り当てを行いPEの配置とPE間の接続を決定している。この際、物理的にどのPEを稼働させるのか管理するために、個々のPEにはIDが割り振られている。
例えば、図2の電源遮断領域01に属する1行1列目のPEにはPE0000としている。このIDを付け替えることで稼働させるPEを変更することができる。ただし、稼働させるPEの変更に伴い、マッピング情報を修正する必要がある。そこで、ID変換部207は、回路構成生成部202へマッピング情報を修正する旨を指示する。同様に、稼働させるPEの変更に伴い、仮想電源制御シーケンスも変更する必要がある。そこで、電源制御生成部205は、ID変更に合わせて仮想電源制御シーケンスを修正しなおす。
また、あらかじめ設定しておいた条件に合致した際に、ID変換部207においてID変換を行うようにしておいても良い。例えば、稼働させるPEの配置が偏った場合に、均一にPEが割り当てられるように変更するように構成しても良い。あるいは、ある処理X実行中に、アレイ型演算装置外のブロックと通信が多い処理Yが生じた場合、処理Yを実行するPEとして、通信相手となるブロックに近い座標のPEが優先して割り当てるように変更を行ってもよい。
なお、基本的には、同一の電源遮断領域01に属する他のPEへの割り当て変更を想定するが、対象となるタスクの実行期間に電源が供給されている他の電源遮断領域のPEに割り当て変更を行うよう構成しても良い。
第2実施形態の構成を採ることにより、タスクのPEへの割り当てをより自由に行うことが可能となる。
(第3実施形態)
第3実施形態では、電源遮断領域判定後にタスクスケジュールを変更可能とする構成について説明する。
<装置構成>
図13は、第3実施形態に係るアレイ型演算装置の全体構成を示す概略図である。なお、第1実施形態と同様の機能を有する箇所については同一の符号を付けている。また、同一の符号のついている箇所についての説明は省略する。制御情報生成部105内に新たにスケジュール書き換え部1300が設けられている点が第1実施形態(図1,図2)と異なる。
ここでは、図8(c)のような依存関係を有する処理Zについて着目し、図2に示されている電源遮断領域01と電源遮断領域02に対する電源制御シーケンスを自動生成する例について説明する。
<装置の動作>
図14は、第3実施形態における動作フローチャートである。また、図15は、第3実施形態における電源制御を説明するタイミングチャートである。図8(c)に示されるように、処理Zは、タスクE〜タスクMの9個のタスクから構成されている。以下では、異なる電源遮断領域に割り当てられたタスクFとタスクLとの間に依存関係が無い場合とある場合について説明する。
・タスクFとタスクLとの間に依存関係が無い場合
コンフィグレーションメモリ200からコンフィグレーションデータを取得し、電源制御解析部203がタスクの割り当てを実行するまでの動作(ST601〜ST604)は第1実施形態と同様である。ここでは、図15(a)に示すように、PE0000にタスクE、タスクF、タスクHを割り当て、PE0001にタスクG、タスクIを割り当てる。また、PE0008にタスクJ、タスクKを割り当て、PE0009にタスクL、タスクMを割り当てる。
電源制御解析部203は、第1実施形態と同様にタスクスケジュール情報を生成し、タイミング情報取得部104内の回路構成生成部202へ送信する。また、生成されたタスクスケジュール情報を電源遮断領域判定部204へ送信するとともに、タスクスケジュール情報に対し電源遮断領域IDを付与する。
ステップST1405では、電源遮断領域判定部204は、電源遮断領域情報を基に各PEがどの電源遮断領域に属するか判定する。そして、スケジュール書き換え部1300は、判定結果に基づいて、電源遮断領域ごとにタスクスケジュール情報を作成する。ここでは、図2に示すように、PE0000及びPE0001は電源遮断領域01に属し、PE0008及びPE0009は電源遮断領域02に属している。そのため、図15(a)(b)のように、電源遮断領域01、電源遮断領域02それぞれに対しタスクスケジュール情報が作成される。
ステップST1406では、電源制御生成部205は、電源遮断領域ごとに作成されたタスクスケジュール情報から、すべてのPEが稼働していない時間を電源OFF可能時間として検索する。この検索結果に基づいて、それぞれの電源遮断領域に対する電源制御シーケンスを作成する。
図15(a)は、電源遮断領域01に対する電源遮断可能時間(Tpso_off1)を示す。また、電源遮断領域01の電源制御シーケンス(PSO01_ctrlc)、及び、電源遮断領域01の電源電圧波形(PSO01_vddc)を併せて示す。図15(b)は、電源遮断領域02に対する、電源遮断可能時間(Tpso_off2)を示す。また、電源遮断領域02の電源制御シーケンス(PSO02_ctrld)、及び、電源遮断領域02の電源電圧波形(PSO02_vddd)を併せて示す。
その後、第1実施形態と同様に、電源制御シーケンスが作成完了したことを回路構成生成部202に通知し(ST609)、各電源遮断領域の電源管理と各PEの演算管理を実行する(ST610)。なお、電源OFF可能時間がある設定値に達した場合のみ、電源をOFFするように制御してもよい。
・タスクFとタスクLとの間に依存関係がある場合
上述の依存関係が無い場合との処理の差分は、スケジュール書き換え部1300にて各タスク間の依存関係の情報と各電源遮断領域のタスクスケジュール情報から、電源OFF可能か否かを判定する際の制約情報を作成する点である。
例えば、タスクF開始時に、タスクFがタスクLを参照するような依存関係がある場合(図8(c))、タスクF開始時に、タスクLを実行するPE(PE0009)に対し電源が供給されている必要が生じる。そこで、タスクLの完了時刻(tlc)からタスクFがデータを参照するまでの時間(tw)の間、電源の遮断が行えないように制約情報を作成する。
まず、スケジュール書き換え部1300は、電源遮断領域ごとにタスクスケジュール情報を解析し、他の電源遮断領域に属するPEと接続がないかタスク間の依存関係情報を用いてチェックする。ここでは、タスクFを実行するPE0000がタスクLを実行するPE0009と接続を有するので、当該データの受け渡しを行う際の各電源遮断領域のタスクスケジュール情報を解析する。解析の結果、タスクLの完了時刻(tlc)からタスクFがデータを参照するまでの時間(tw)の間、電源の遮断を制限する制約情報を作成する。
電源制御生成部205は、電源OFF可能時間を検索し作成された制約情報に基づいて電源制御シーケンスを作成する。図15(b)は、この制約情報に基づいて電源制御生成部205にて作成された電源遮断領域02の電源制御シーケンス(PSO02_ctrle)を示す。
第3実施形態の構成をとることにより、電源遮断領域毎の電源制御シーケンスを生成することが出来、PE毎に電源制御シーケンスを作成する場合に比較し電源制御シーケンスを素早く生成することが可能となる。また、依存関係がある複数のタスクが異なる電源遮断領域に割り当てられた場合であっても好適に電源制御を行うことが可能となる。
(第4実施形態)
第4実施形態では、PEの稼働状況をモニタし、タスクスケジュール情報をリアルタイムに更新可能とする構成について説明する。
<装置構成>
図16は、第4実施形態に係るアレイ型演算装置の全体構成を示す概略図である。なお、第1実施形態と同様の機能を有する箇所については同一の符号を付けている。また、同一の符号のついている箇所についての説明は省略する。回路ブロック102の稼働状況をモニタリングする電源状態通知部1600と、制御情報生成部内に稼働状況比較部1601が新たに設けられている点が第1実施形態(図1,図2)と異なる。
第1実施形態の構成では、タスクを実行するPEにおいてキャッシュミス等の実動作上の問題が生じた場合、適切な電源管理が行えない可能性が生じる。つまり、タスクスケジュール情報に基づいて依存関係のあるタスクの電源管理を行うため、当該タスクスケジュール情報と異なる動作が生じた場合に問題が生じうる。
<電源制御シーケンスを修正する際の動作例>
図17は、第4実施形態における動作フローチャートである。また、図18は、第4実施形態における電源制御を説明するタイミングチャートである。 第1実施形態で作成された電源制御シーケンスに基づき電源制御を行うとする。
ステップST1701では、電源制御生成部205は、電源制御シーケンスに基づいて電源管理を開始する。ステップST1702では、電源状態通知部1600は、各PEの電源電圧を検知し、稼働状態を監視(モニタリング)する。
ステップST1703では、稼働状況比較部1601は、電源制御シーケンス上では処理が完了しているにも関わらず、実際には稼働が継続しているPEが存在しないか判定する。これは、電源制御シーケンスにおけるPEの状態とモニタリングにより得られた実際の稼働状況を比較することにより実現される。
ステップST1704では、電源制御生成部205は、ST1703において稼働しているPEが存在すると判定された場合、当該処理が完了するまで電源をONに保持し続けるよう制御する。並行して、ステップST1705では、稼働状況比較部1601は、当該PEでの演算処理が完了するまでの遅延時間tsを計測する。ステップST1706では、当該PEで実行していたタスクと依存関係のあるタスクを実行する電源供給を時間tsだけ遅延させるように電源制御シーケンスを更新する。
第4実施形態の構成をとることにより、予め提供される電源制御シーケンスと異なるPEの動作状態が発生した場合であっても、好適な電源管理を行うことが可能となる。
(その他の実施例)
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。

Claims (11)

  1. 複数の電源制御領域のいずれかに其々属する複数の演算要素と、
    前記複数の演算要素と前記複数の電源制御領域との対応を示す対応情報を保持する保持手段と、
    前記複数の演算要素にタスクを割り当てるスケジュールを生成するスケジューラと、
    前記スケジューラの生成したスケジュールに基づいて各電源制御領域に電源を供給する供給手段と、
    を有することを特徴とする演算装置。
  2. 複数の演算要素と該複数の演算要素の間の接続を動的に設定するルータとを含むアレイ型演算装置であって、前記複数の演算要素は、それぞれが1以上の演算要素を含む複数の回路ブロックの何れかに割り当てられており、前記アレイ型演算装置は、
    前記複数の演算要素の各々が前記複数の回路ブロックの何れに属するかを示す対応情報を保持する保持手段と、
    要求された処理に含まれる複数のタスクの各々を、前記複数の演算要素の何れでどのタイミングで実行するかをスケジュールしスケジュール情報を生成するスケジュール情報生成手段と、
    前記対応情報と前記スケジュール情報とに基づいて、回路ブロック毎に電源供給を制御するための電源供給制御情報を生成する制御情報生成手段と、
    前記複数の回路ブロックの各々に対して、それぞれの回路ブロックに対応する前記電源供給制御情報に基づいて電源供給を制御する電源供給制御手段と、
    を有することを特徴とするアレイ型演算装置。
  3. 前記制御情報生成手段は、回路ブロック毎に、それぞれの回路ブロックに含まれる1以上の演算要素の稼働状況の論理和に基づいて前記電源供給制御情報を生成することを特徴とする請求項2に記載のアレイ型演算装置。
  4. 前記スケジュール情報生成手段は、依存関係のある複数のタスクを1つの単位としてスケジュールを行うことを特徴とする請求項2又は3に記載のアレイ型演算装置。
  5. 前記スケジュール情報生成手段は、予め並列化コンパイラにより出力された、前記複数のタスクの各々の実行に必要な演算要素の個数の情報及び前記複数のタスク間の依存関係の情報に基づいて、前記スケジュール情報を生成することを特徴とする請求項2乃至4の何れか一項に記載のアレイ型演算装置。
  6. 前記スケジュール情報に基づいて、回路ブロック毎に、それぞれの回路ブロックに含まれる1以上の演算要素の接続を設定するための前記ルータへの設定情報を生成する回路構成手段を更に有することを特徴とする請求項2乃至5の何れか一項に記載のアレイ型演算装置。
  7. 前記スケジュール情報及び前記電源供給制御情報が生成された後、前記複数のタスクの各々を実行する演算要素の割り当てを変更する割り当て変更手段を更に有することを特徴とする請求項2乃至6の何れか一項に記載のアレイ型演算装置。
  8. 前記制御情報生成手段は、
    前記スケジュール情報において依存関係のある複数のタスクが異なる回路ブロックにまたがってスケジュールされている場合、当該依存関係のある複数のタスクが実行されている間の当該複数のタスクを実行する演算要素を含む回路ブロックへの電源供給の遮断を制限する制約情報を生成する生成手段と、
    を更に含み、
    前記制御情報生成手段は、更に前記制約情報に基づいて前記電源供給制御情報を生成する
    ことを特徴とする請求項2乃至7の何れか一項に記載のアレイ型演算装置。
  9. 前記複数の演算要素の各々の稼働状態を監視する監視手段と、
    前記スケジュール情報における演算要素の稼働状態と前記監視手段により得られた実際の稼働状態とを比較する比較手段と、
    前記比較手段により稼働状態が異なる演算要素が存在する場合、前記スケジュール情報を修正する修正手段と、
    を更に有することを特徴とする請求項2乃至8の何れか一項に記載のアレイ型演算装置。
  10. 複数の電源制御領域のいずれかに其々属する複数の演算要素を備える演算装置の制御方法であって、
    前記複数の演算要素と前記複数の電源制御領域との対応を示す対応情報を取得する取得工程と、
    前記複数の演算要素にタスクを割り当てるスケジュールを生成するスケジュール生成工程と、
    前記スケジュール生成工程で生成したスケジュールに基づいて各電源制御領域に電源を供給する供給工程と、
    を有することを特徴とする制御方法。
  11. 複数の演算要素と該複数の演算要素の間の接続を動的に設定するルータとを含むアレイ型演算装置の制御方法であって、前記複数の演算要素は、それぞれが1以上の演算要素を含む複数の回路ブロックの何れかに割り当てられており、前記制御方法は、
    前記複数の演算要素の各々が前記複数の回路ブロックの何れに属するかを示す対応情報を取得する取得工程と、
    要求された処理に含まれる複数のタスクの各々を、前記複数の演算要素の何れでどのタイミングで実行するかをスケジュールしスケジュール情報を生成するスケジュール情報生成工程と、
    前記対応情報と前記スケジュール情報とに基づいて、回路ブロック毎に電源供給を制御するための電源供給制御情報を生成する制御情報生成工程と、
    前記複数の回路ブロックの各々に対して、それぞれの回路ブロックに対応する前記電源供給制御情報に基づいて電源供給を制御する電源供給制御工程と、
    を有することを特徴とする制御方法。
JP2012197898A 2012-09-07 2012-09-07 演算装置およびその制御方法 Pending JP2014052918A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012197898A JP2014052918A (ja) 2012-09-07 2012-09-07 演算装置およびその制御方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012197898A JP2014052918A (ja) 2012-09-07 2012-09-07 演算装置およびその制御方法

Publications (1)

Publication Number Publication Date
JP2014052918A true JP2014052918A (ja) 2014-03-20

Family

ID=50611325

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012197898A Pending JP2014052918A (ja) 2012-09-07 2012-09-07 演算装置およびその制御方法

Country Status (1)

Country Link
JP (1) JP2014052918A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9748954B2 (en) 2015-10-22 2017-08-29 Fujitsu Limited Calculation device and calculation method
JP2018033132A (ja) * 2016-08-19 2018-03-01 株式会社半導体エネルギー研究所 半導体装置の電源制御方法

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9748954B2 (en) 2015-10-22 2017-08-29 Fujitsu Limited Calculation device and calculation method
JP2018033132A (ja) * 2016-08-19 2018-03-01 株式会社半導体エネルギー研究所 半導体装置の電源制御方法
CN109565280A (zh) * 2016-08-19 2019-04-02 株式会社半导体能源研究所 半导体装置的电源控制方法
US11281285B2 (en) 2016-08-19 2022-03-22 Semiconductor Energy Laboratory Co., Ltd. Method for controlling power supply in semiconductor device
JP7073060B2 (ja) 2016-08-19 2022-05-23 株式会社半導体エネルギー研究所 半導体装置の電源制御方法
CN109565280B (zh) * 2016-08-19 2023-02-17 株式会社半导体能源研究所 半导体装置的电源控制方法

Similar Documents

Publication Publication Date Title
US9619240B2 (en) Core-level dynamic voltage and frequency scaling in a chip multiprocessor
TWI564793B (zh) 在多核心處理器中的非對稱核心之間遷移執行緒
Kogge et al. Exascale computing trends: Adjusting to the" new normal"'for computer architecture
US8924975B2 (en) Core selection for applications running on multiprocessor systems based on core and application characteristics
JP6092649B2 (ja) 演算装置、アレイ型演算装置およびその制御方法、情報処理システム
TW201337771A (zh) 用於包括執行緒合併之能源效率及能源節約的方法、裝置及系統
JP2010092483A (ja) 利用可能な並列性の量に従って1命令当たりのエネルギーを変化させるための方法及び装置
Kapadia et al. VARSHA: Variation and reliability-aware application scheduling with adaptive parallelism in the dark-silicon era
JP2010009395A (ja) 情報処理装置、粒度調整方法およびプログラム
Moulik et al. HEALERS: a heterogeneous energy‐aware low‐overhead real‐time scheduler
Ma et al. Improving reliability of soft real-time embedded systems on integrated CPU and GPU platforms
Khan et al. Scheduling based energy optimization technique in multiprocessor embedded systems
US9389914B2 (en) Information processing apparatus and control method thereof
JP2014052918A (ja) 演算装置およびその制御方法
US20140053163A1 (en) Thread processing method and thread processing system
Cannella et al. Energy efficient semi-partitioned scheduling for embedded multiprocessor streaming systems
JP2009070389A (ja) 処理装置のためのコントローラ
JP2011129147A (ja) プロセッサシステム、命令列最適化装置、および命令列最適化プログラム
JP2016103240A (ja) データ処理装置とデータ処理方法
Liu et al. A scheduling algorithm in the randomly heterogeneous multi-core processor
Tong et al. Compiler-guided parallelism adaption based on application partition for power-gated ilp processor
Wang et al. Power-gating-aware scheduling with effective hardware resources optimization
Aust et al. Energy-aware MPSoC with Space-sharing for Real-time Applications
del Mestre Martins et al. The power impact of hardware and software actuators on self-adaptable many-core systems
JP6057735B2 (ja) 情報処理装置、情報処理装置の制御方法及びプログラム