JP7357790B2 - 情報処理システム及び情報処理システムの制御方法 - Google Patents

情報処理システム及び情報処理システムの制御方法 Download PDF

Info

Publication number
JP7357790B2
JP7357790B2 JP2022530363A JP2022530363A JP7357790B2 JP 7357790 B2 JP7357790 B2 JP 7357790B2 JP 2022530363 A JP2022530363 A JP 2022530363A JP 2022530363 A JP2022530363 A JP 2022530363A JP 7357790 B2 JP7357790 B2 JP 7357790B2
Authority
JP
Japan
Prior art keywords
performance
operating frequency
execution block
processor
storage device
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.)
Active
Application number
JP2022530363A
Other languages
English (en)
Other versions
JPWO2021250737A1 (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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Publication of JPWO2021250737A1 publication Critical patent/JPWO2021250737A1/ja
Application granted granted Critical
Publication of JP7357790B2 publication Critical patent/JP7357790B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/324Power saving characterised by the action undertaken by lowering clock frequency
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3206Monitoring of events, devices or parameters that trigger a change in power modality
    • G06F1/3215Monitoring of peripheral devices
    • G06F1/3225Monitoring of peripheral devices of memory devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3206Monitoring of events, devices or parameters that trigger a change in power modality
    • G06F1/3228Monitoring task completion, e.g. by use of idle timers, stop commands or wait commands
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/3243Power saving in microcontroller unit
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/325Power saving in peripheral device
    • G06F1/3275Power saving in memory, e.g. RAM, cache
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/329Power saving characterised by the action undertaken by task scheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/3296Power saving characterised by the action undertaken by lowering the supply or operating voltage
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5094Allocation of resources, e.g. of the central processing unit [CPU] where the allocation takes into account power or heat criteria
    • 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)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Power Sources (AREA)

Description

本開示は、情報処理システム及び情報処理システムの制御方法に関する。
近年、組込みシステムに実装されたプロセッサにおいては、アプリケーションの複雑化及び高速化への需要の高まりに伴い、ひとつのコアあたりの動作周波数を高くすること、マルチコア化、グラフィックス処理ユニット(GPU;Graphics Processing Unit)、専用アクセラレータの内蔵等により複数の演算器を搭載すること等により、性能の向上が図られている。
また、消費電力を減らす仕組みのひとつである動的電圧周波数制御(DVFS;Dynamic Voltage and Frequency Scaling)機能を有するプロセッサも開発されている。DVFS機能は、数種類の動作周波数及び動作電圧をプロセッサに持たせてプロセッサの動作周波数及び動作電圧をプロセッサの負荷状況に応じて変更する省電力機構により実現される。
組込みシステムに実装されたプロセッサの進化に伴って、スループットは大きくなってきている。一方で、組込みシステムにおいては、放熱制御及び装置の小型化が要件として求められる。このため、アプリケーションの性能要件を満たしながらプロセッサの省電力制御を行うことが求められている。
従来から、プロセッサの省電力制御として、プロセッサの負荷状況を監視し、プロセッサの負荷状況が高負荷である場合には高い周波数でプロセッサを動作させ、プロセッサの負荷状況が低負荷である場合には低い周波数でプロセッサを動作させる制御方法が知られている。特許文献1は、メモリ性能に関する統計情報に基づいて、メモリ帯域幅が性能面において支配的である場合に演算能力を下げる制御を行う方法を提案する。特許文献2は、中央処理ユニット(CPU;Central Processing Unit)の演算量とキャッシュメモリへのアクセス量とを比較し、後者が支配的である場合にプロセッサの省電力機構を有効にする方法を提案する。
国際公開第2008/120274号 特開2008-40734号公報
特許文献1により提案される方法には、メモリアクセスに関する統計情報がプロセッサの内部のみにおいて利用されるため、演算アプリケーションのアルゴリズムに適応した高い精度を有する電力性能制御を行うことができないという問題点がある。また、当該方法には、演算アプリケーションの演算強度が利用されないため、省電力制御に遅れが生じ、特に、高い演算性能が必要である場合にプロセッサの周波数が低いままとなるという問題点がある。また、当該方法には、プロセッサの動作周波数及び命令発行幅の制御が行われるに留まるため、マルチコアのオン/オフ制御及び主記憶装置の動作周波数の制御が行われず、十分な省電力制御を行うことができないという問題点がある。
特許文献2により提案される方法には、計算機により実行される実行コードに関して、CPUの実行比率が高い領域においては性能電力制御が行われないため、主記憶装置において必要以上の電力が消費されるという問題点がある。
本開示は、これらの問題点に鑑みてなされた。本開示は、演算アプリケーションのアルゴリズムに適応した性能電力制御を可能にすることを目的とする。また、本開示は、性能電力制御の遅れを防ぐことを目的とする。
本開示は、情報処理システムに関する。
情報処理システムは、実行ブロック演算強度データ領域と、ルーフラインモデルデータ記憶部と、演算強度データ取得部と、性能電力制御部と、を備える。
実行ブロック演算強度データ領域は、省電力機構を備えるプロセッサ及び主記憶装置を備える計算機システムの動作環境で動作する演算アプリケーションを構成する各実行ブロックの演算強度データを保持する。
ルーフラインモデルデータ記憶部は、プロセッサの動作周波数及びコア数並びに主記憶装置の動作周波数に対応するルーフラインモデルを保持する。
演算強度データ取得部は、実行ブロック演算強度データ領域から各実行ブロックの演算強度データを取得する。
性能電力制御部は、ルーフラインモデル及び各実行ブロックの演算強度データに基づいてプロセッサの動作周波数及びコア数並びに主記憶装置の動作周波数の制御を行う。
本開示は、情報処理システムの制御方法にも向けられる。
本開示によれば、演算アプリケーションを構成する各実行ブロックの演算強度データに基づいて性能電力制御が行われる。これにより、演算アプリケーションのアルゴリズムに適応した性能電力制御が可能になる。また、予め定義された演算強度データに基づいてフィードフォワード的に性能電力制御が行われる。これにより、性能電力制御の遅れを防ぐことができる。
本開示の目的、特徴、局面及び利点は、以下の詳細な説明と添付図面とによって、より明白となる。
実施の形態1の情報処理システムのハードウェア構成を模式的に図示するブロック図である。 実施の形態1の情報処理システムの機能構成を模式的に図示するブロック図である。 実施の形態1の情報処理システムにインストールされたシステム基本ソフトウェアの動作の流れを図示するフローチャートである。 実施の形態1の情報処理システムに備えられるルーフライン記憶部に保持されるルーフラインモデルの例を図示する図である。 実施の形態1の情報処理システムに備えられるルーフライン記憶部に保持されるルーフラインモデルを構成する、プロセッサの選択可能な動作周波数及びコア数の組み合わせと浮動小数点演算の性能の上限値との関係を図示する図である。 実施の形態1の情報処理システムに備えられるルーフライン記憶部に保持されるルーフラインモデルを構成する、主記憶装置の選択可能な動作周波数と帯域幅との関係を図示する図である。 実施の形態1の情報処理システムに備えられる実行ブロック演算強度データ領域に保持される情報の例を図示する図である。 実施の形態1の情報処理システムに備えられる性能電力判断部の動作の流れを図示するフローチャートである。 実施の形態1の情報処理システムにより行われる、実行ブロックがメモリインテンシブである場合の省電力制御の方針の例を図示する図である。 実施の形態1の情報処理システムにより行われる、実行ブロックが演算インテンシブである場合の省電力制御の方針の例を図示する図である。 実施の形態1の情報処理システムにおける、各制御を行うのにかかるオーバヘッド時間の例を図示する図である。 実施の形態1の情報処理システムに備えられる電力制御レイテンシデータ部及び性能電力指令部の動作の手順を図示する図である。 実施の形態2の情報処理システムに備えられる性能電力判断部の動作の流れを図示するフローチャートである。 実施の形態2の情報処理システムにより行われる、実行ブロックがメモリインテンシブである場合の省電力制御の方針の例を図示する図である。 実施の形態2の情報処理システムにより行われる、実行ブロックがメモリインテンシブである場合の省電力制御の方針の例を図示する図である。 実施の形態2の情報処理システムにより行われる、実行ブロックが演算インテンシブである場合の省電力制御の方針の例を図示する図である。 実施の形態2の情報処理システムにより行われる、実行ブロックが演算インテンシブである場合の省電力制御の方針の例を図示する図である。
<実施の形態1>
図1は、実施の形態1の情報処理システムのハードウェア構成を模式的に図示するブロック図である。
図1に図示されるように、実施の形態1の情報処理システム1000は、計算機システム10を備える。
図1に図示されるように、計算機システム10には、プロセッサ11、主記憶装置12及び補助記憶装置13を備える。
プロセッサ11は、中央処理ユニット(CPU;Central Processing Unit)、グラフィックス処理ユニット(GPU;Graphics Processing Unit)、デジタル信号プロセッサ(DSP;Digital Signal Processor)等を含む。プロセッサ11は、省電力機構を備える。省電力機構は、プロセッサ11の動作周波数及び/又はコア数を動的に変更する。
主記憶装置12は、ランダムアクセスメモリ(RAM;Random Access Memory)等である。
補助記憶装置13は、ハードディスクドライブ、ソリッドステートドライブ、RAMディスク等である。
図2は、実施の形態1の情報処理システムの機能構成を模式的に図示するブロック図である。
図2に図示されるように、情報処理システム1000には、システム基本ソフトウェア1100及び演算アプリケーション1200がインストールされる。
システム基本ソフトウェア1100及び演算アプリケーション1200は、計算機システム10の動作環境で動作する。システム基本ソフトウェア1100は、オペレーティング・システムであってもよい。演算アプリケーション1200のアルゴリズムには制約が存在しない。当該アルゴリズムは、定周期で実行される自動運転車の車両制御を行うアルゴリズム等である。
図2に図示されるように、情報処理システム1000は、ルーフラインモデルデータ記憶部1110、動作環境取得部1120、演算強度データ取得部1130及び性能電力制御部1140を備える。これらの要素は、補助記憶装置13から主記憶装置12にロードされたシステム基本ソフトウェア1100をプロセッサ1が実行することにより構成される。
ルーフラインモデルデータ記憶部1110は、計算機システム10に関する性能情報を保持する。
動作環境取得部1120は、計算機システム10の現在の動作環境を取得する。
演算強度データ取得部1130は、下述する実行ブロック演算強度データ領域1230から演算アプリケーション1200を構成する各実行ブロックの演算強度データを取得する。
性能電力制御部1140は、保持された性能情報及び取得された各実行ブロックの演算強度データに基づいて性能電力制御を行う。
実施の形態1においては、保持された計算機システム10に関する性能情報は、プロセッサ11の動作周波数及びコア数並びに主記憶装置12の動作周波数に対応するルーフラインモデルを含む。また、取得された計算機システム10の現在の動作環境は、プロセッサ11の現在の動作周波数及びコア数並びに主記憶装置12の現在の動作周波数を含む。また、性能情報及び各実行ブロックの演算強度データに基づいて性能電力制御を行うことは、性能情報に含まれるルーフラインモデル及び各実行ブロックの演算強度データに基づいてプロセッサ11の動作周波数及びコア数並びに主記憶装置12の動作周波数の制御を行うことを含む。計算機システム10の現在の動作環境を用いることは、計算機システム10の現在の動作環境に含まれるプロセッサ11の現在の動作周波数及びコア数並びに主記憶装置12の現在の動作周波数を用いることを含む。
性能電力制御部1140は、性能電力判断部1141、実行時間計測部1142、電力制御レイテンシデータ部1143及び性能電力指令部1144を備える。
性能電力判断部1141は、保持されるルーフラインモデル及び各実行ブロックの演算強度データから性能電力制御の方針を決定する。
実行時間計測部1142は、各実行ブロックの実行時間を計測する。
電力制御レイテンシデータ部1143は、性能電力制御を性能電力指令部1144に行わせた場合にかかるオーバヘッド時間から性能電力制御を性能電力指令部1144に行わせるか否かを判定する。
性能電力指令部1144は、決定された性能電力制御の方針に従って制御指令を出力する。性能電力指令部1144は、電力制御レイテンシデータ部1143により性能電力制御を性能電力指令部1144に行わせると判定された場合に、制御指令を出力する。
実施の形態1においては、決定される性能電力制御の方針は、プロセッサ11の動作周波数及びコア数並びに主記憶装置12の動作周波数を含む。また、決定された性能電力制御の方針に従うことは、決定された性能電力制御の方針に含まれるプロセッサ11の動作周波数及びコア数並びに主記憶装置12の動作周波数に従うことを含む。また、制御指令を出力することは、プロセッサ11の動作周波数及びコア数並びに主記憶装置12の動作周波数の制御を行うために行われる。
図2に図示されるように、情報処理システム1000は、プログラム領域1210、データ領域1220及び実行ブロック演算強度データ領域1230を備える。これらの要素は、主記憶装置12及び補助記憶装置13の少なくとも一方に確保される。
プログラム領域1210は、演算アプリケーション1200を構成するプログラムを保持する。
データ領域1220は、演算アプリケーション1200を構成する変数、配列等を保持する。
実行ブロック演算強度データ領域1230は、演算アプリケーション1200を構成する各実行ブロックの演算強度データ及び各実行ブロックのデッドライン時間を保持する。各実行ブロックのデッドライン時間は、各実行ブロックの処理を終了しなければならない時間を示す。
情報処理システム1000においては、演算アプリケーション1200を構成する各実行ブロックの演算強度データに基づいて性能電力制御が行われる。これにより、演算アプリケーション1200のアルゴリズムに適応した性能電力制御が可能になる。
また、情報処理システム1000においては、予め定義された演算強度データに基づいてフィードフォワード的に性能電力制御が行われる。これにより、性能電力制御の遅れを防ぐことができる。
また、情報処理システム1000においては、主記憶装置12の動作周波数の制御が行われる。これにより、主記憶装置12により必要以上の電力が消費されることを抑制することができる。
図3は、実施の形態1の情報処理システムにインストールされたシステム基本ソフトウェアの動作の流れを図示するフローチャートである。
システム基本ソフトウェア1100は、図3に図示されるステップS100からS105までを実行する。
ステップS100においては、動作環境取得部1120が、計算機システム10の現在の動作環境を取得する。動作環境取得部1120は、その際に、プロセッサ11の現在の動作周波数及びコア数並びに主記憶装置12の現在の動作周波数を取得する。
続くステップS101においては、動作環境取得部1120が、取得した計算機システム10の現在の動作環境に対応するルーフラインモデルを選択する。
ステップS100及びS101によれば、計算機システム10の現在の動作環境に対応するルーフラインモデルを参照することができるようになる。
続くステップS102においては、演算強度データ取得部1130が、次に実行される実行ブロックの演算強度データを取得する。
続くステップS103においては、性能電力制御部1140が、選択されたルーフラインモデルと取得された実行ブロックの演算強度データとを照合する。また、性能電力制御部1140が、計算機システム10の動作環境を選択する。性能電力制御部1140は、その際に、プロセッサ11の動作周波数及びコア数並びに主記憶装置12の動作周波数を選択する。
続くステップS104においては、性能電力制御部1140が、計算機システム10の動作環境を現在の動作環境からステップS103において選択された動作環境に変更した場合に制御遅延により実行ブロックの実行時間がデッドライン時間を超過するか否かを判定する。当該制御遅延は、計算機システム10の動作環境を現在の動作環境から選択された動作環境に変更した場合に発生するオーバヘッド時間により発生する。
性能電力制御部1140は、実行ブロックの実行時間がデッドライン時間を超過すると判定した場合は、ステップS105を実行せずに動作を終了する。一方、性能電力制御部1140は、実行ブロックの実行時間がデッドライン時間を超過しないと判定した場合は、ステップS105を実行してから動作を終了する。
ステップS105においては、性能電力制御部1140が、性能電力制御を行う。性能電力制御部1140は、その際に、プロセッサ11の動作周波数及びコア数並びに主記憶装置12の動作周波数を、選択されたそれらに設定する。
図4は、実施の形態1の情報処理システムに備えられるルーフライン記憶部に保持されるルーフラインモデルの例を図示する図である。当該図においては、演算強度が横軸にとられている。また、浮動小数点演算の性能が縦軸にとられている。
ルーフラインモデルは、ひとつの計算機システム10に対してひとつ存在し、ひとつの計算機システム10に備えられるプロセッサ11及び主記憶装置12に応じた内容を有する。ルーフラインモデルは、プロセッサ11の選択可能な演算性能の各々及び主記憶装置12の選択可能なメモリ性能の各々について、演算強度に対する浮動小数点演算の性能の上限値を規定する。ルーフラインモデルが、浮動小数点演算の性能以外の性能の上限値を規定してもよい。プロセッサ11の演算性能は、プロセッサ11の動作周波数及びコア数の組み合わせ等である。主記憶装置12のメモリ性能は、主記憶装置12の動作周波数等である。プロセッサ11の演算性能がプロセッサ11の動作周波数及びコア数の組み合わせであり、主記憶装置12のメモリ性能が主記憶装置12の動作周波数である場合は、プロセッサ11の動作周波数及びコア数の組み合わせ並びに主記憶装置12の動作周波数に対応するルーフラインデータを参照することができる。図4に図示される例においては、ルーフラインモデルは、プロセッサ11の選択可能な動作周波数「2.6GHz」、「2.4GHz」、「1.8GHz」及び「1.0GHz」の各々並びに主記憶装置12の選択可能な動作周波数に対応する帯域幅「25.4GB/s」、「16.4GB/s」及び「10.6GB/s」の各々について、演算強度に対する浮動小数点演算の性能の上限値を規定する。ルーフラインモデルによれば、演算アプリケーション1200を構成する実行ブロックの演算強度から、当該実行ブロックが実行される際の浮動小数点演算の性能においてプロセッサ11の演算性能及び主記憶装置12のメモリ性能のいずれが支配的であるのかを視覚的に判別することができる。ルーフラインモデルの詳細は、Samuel Williams, Andrew Waterman and David Patterson, "Roofline: An Insightful Visual Performance Model for Floating-Point Programs and Multicore, (2009)"に記載されている。
図5は、実施の形態1の情報処理システムに備えられるルーフライン記憶部に保持されるルーフラインモデルを構成する、プロセッサの選択可能な動作周波数及びコア数の組み合わせと浮動小数点演算の性能の上限値との関係を図示する図である。
上述したように、ルーフラインモデルは、プロセッサ11の選択可能な演算性能の各々について、演算強度に対する浮動小数点演算の性能の上限値を規定する。ただし、プロセッサ11の選択可能な演算性能の各々について規定される演算強度に対する浮動小数点演算の性能の上限値においては、浮動小数点演算の性能の上限値が演算強度に依存しない。このため、プロセッサ11の選択可能な演算性能の各々について浮動小数点演算の性能の上限値を規定することにより、プロセッサ11の選択可能な演算性能の各々について演算強度に対する浮動小数点演算の性能の上限値を規定することができる。例えば、図5に図示される、プロセッサ11の選択可能な動作周波数及びコア数の組み合わせと浮動小数点演算の性能の上限値との関係により、プロセッサ11の選択可能な動作周波数及びコア数の組み合わせの各々について演算強度に対する浮動小数点演算の性能の上限値を規定することができる。
図6は、実施の形態1の情報処理システムに備えられるルーフライン記憶部に保持されるルーフラインモデルを構成する、主記憶装置の選択可能な動作周波数と帯域幅との関係を図示する図である。
上述したように、ルーフラインモデルは、主記憶装置12の選択可能なメモリ性能の各々について、演算強度に対する浮動小数点演算の性能の上限値を規定する。ただし、主記憶装置12の帯域幅は、主記憶装置12の動作周波数と1対1の関係を有する。このため、選択可能な帯域幅の各々について演算強度に対する浮動小数点演算の性能の上限値を規定し、図6に図示される、主記憶装置の選択可能な動作周波数と帯域幅との関係を準備することにより、主記憶装置12の選択可能な動作周波数の各々について演算強度に対する浮動小数点演算の性能の上限値を規定することができる。
図7は、実施の形態1の情報処理システムに備えられる実行ブロック演算強度データ領域に保持される情報の例を図示する図である。
図7に図示されるように、実行ブロック演算強度データ領域1230は、各実行ブロックの実行アドレス、各実行ブロックの演算強度データ及び各実行ブロックのデッドライン時間を保持する。
図7に図示される情報によれば、より細かい粒度で性能及び消費電力を考慮した性能電力制御を行うことができる。また、ユーザが演算アプリケーション1200のソースコード・ファイルに手を加えることなく、所望の実行ブロックの演算強度データを取得することができる。
図7に図示される情報が作成される際には、予め、実行ブロックを特定することができる情報と演算強度データ及びデッドライン時間とが対をなすデータを含むファイルが作成される。当該ファイルは、演算アプリケーション1200のソースコード・ファイルとは別のファイルとして作成される。実行ブロックを特定することができる情報は、実行ブロックに相当する関数の名称等である。
続いて、コンパイルが行われて演算アプリケーション1200のソースコード・ファイル及び作成されたファイルから演算アプリケーション1200の実行形式ファイルが作成される。作成される実行形式ファイルに実行可能及びリンク可能フォーマット(ELF;Executable and Linkable Format)が採用される場合は、各実行ブロックの演算強度データ専用のセクションが実行形式ファイルに実行ブロック演算強度データ領域1230として新設されてもよい。この場合は、新設されたセクションの情報がELF・ヘッダ及びセクション・ヘッダに追加される。
コンパイルが行われる際には、実行ブロックを特定することができる情報からプログラム領域1210内の対応する機械語部分が特定され、特定された機械語部分にソフトウェア割込みを発生させる命令が挿入される。ソフトウェア割込みを発生させる命令は、プロセッサ11がx86系プロセッサである場合は、INT3命令等である。ソフトウェア割込みを発生させる命令は、元の命令の最初のバイトをブレークポイントとして置き換えることができる。また、特定された機械語部分の実行アドレスが取得され、取得された実行アドレスが実行ブロック演算強度データ領域1230に追加される。
これらとは別に、演算アプリケーション1200が実行される前に、性能電力制御部1140に含まれる一連の処理を実行する割込みハンドラが、割込み記述子テーブル内の対応する割込み番号に登録される。
これらにより、システム基本ソフトウェア1100により演算アプリケーション1200が主記憶装置12にロードされプロセッサ11により実行されると、各ブロックに差し掛かるたびにソフトウェア割込みが発生する。演算アプリケーション1200のロード及び実行は、UNIX(登録商標)環境においてはexecメモリにより開始される。例えば、ソフトウェア割込みを発生させる命令がINT3命令である場合は、SIGTRAPシグナルがシステム基本ソフトウェア1100に通知される。システム基本ソフトウェア1100においては、ソフトウェア割込みが発生するのに連動して、予め割込み記述子テーブル内に登録されていた割込みハンドラが起動させられ、性能電力制御部1140に含まれる一連の処理が実行される。このとき、演算強度データ取得部1130は、各実行ブロックの実行アドレスに基づいて各実行ブロックの演算強度データ及び各実行ブロックのデッドライン時間を取得する。演算強度データ取得部1130は、その際に、現在実行されているアドレスから、主記憶装置12にロードされた、当該アドレスに対応する実行ブロックを特定し、特定した実行ブロックの演算強度データ及び当該実行ブロックのデッドライン時間を取得する。また、演算強度データ取得部1130は、取得した各実行ブロックの演算強度データ及び各実行ブロックのデッドライン時間を性能電力判断部1141に渡す。
図8は、実施の形態1の情報処理システムに備えられる性能電力判断部の動作の流れを図示するフローチャートである。
性能電力制御部1140は、ルーフラインモデルデータ記憶部1110から現在の動作環境に対応するルーフラインモデルを受け取り、演算強度データ取得部1130から次に実行される実行ブロックの演算強度データ及びデッドライン時間を受け取った後に、図8に図示されるステップS200からS207までを実行する。
ステップS200においては、性能電力判断部1141が、受け取ったルーフラインモデル上に受け取った実行ブロックの演算強度データをプロットする。また、性能電力判断部1141が、ルーフラインモデルと実行ブロックの演算強度データとを照合する。
続くステップS201においては、性能電力判断部1141が、当該実行ブロックがメモリインテンシブであるか否かを判定する。性能電力判断部1141は、主記憶装置12のメモリ性能及びプロセッサ11の演算性能のいずれが演算アプリケーション1200の性能面における律速要因であるのかを判定し、主記憶装置12のメモリ性能が律速要因であると判定した場合は、当該実行ブロックがメモリインテンシブであると判定し、プロセッサ11の演算性能が律速要因であると判定した場合は、当該実行ブロックがメモリインテンシブでない、すなわち演算インテンシブであると判定する。
当該実行ブロックがメモリインテンシブであると判定された場合は、ステップS202からS204までが実行される。当該実行ブロックがメモリインテンシブでないと判定された場合は、ステップS205からS207までが実行される。
ステップS202においては、性能電力判断部1141が、主記憶装置12の動作周波数を上げる。性能電力判断部1141は、その際に、ルーフラインモデルデータ記憶部1110に保持されている主記憶装置12の選択可能な動作周波数から主記憶装置12の現在の動作周波数より大きい動作周波数を選択する。
続くステップS203においては、性能電力判断部1141が、ルーフラインモデルを更新する。性能電力判断部1141は、その際に、選択した主記憶装置12の動作周波数に基づいてルーフラインモデルを更新する。
続くステップS204においては、性能電力判断部1141が、ルーフラインモデルの勾配部とルーフラインモデルの平坦部との間の不連続点が演算強度上に位置するようにプロセッサ11の動作周波数及び/又はコア数を下げる。性能電力判断部1141は、その際に、ルーフラインモデルデータ記憶部1110に保持されているプロセッサ11の選択可能な動作周波数及び/又はコア数からプロセッサ11の現在の動作周波数及び/又はコア数より小さい動作周波数及び/又はコア数を選択する。
ルーフラインモデルの勾配部は、主記憶装置12のメモリ性能が律速要因となる演算強度の範囲に存在する。ルーフラインモデルの平坦部は、プロセッサ11の演算性能が律速要因となる演算強度の範囲に存在する。
ステップS205においては、性能電力判断部1141が、プロセッサ11の動作周波数及び/又はコア数を上げる。性能電力判断部1141は、その際に、ルーフラインモデルデータ記憶部1110に保持されているプロセッサ11の選択可能な動作周波数及び/又はコア数からプロセッサ11の現在の動作周波数及び/又はコア数より大きい動作周波数及び/又はコア数を選択する。
続くステップS206においては、性能電力判断部1141が、ルーフラインモデルを更新する。性能電力判断部1141は、その際に、選択したプロセッサ11の動作周波数及び/又はコア数に基づいてルーフラインモデルを更新する。
続くステップS207においては、性能電力判断部1141が、ルーフラインモデルの勾配部とルーフラインモデルの平坦部との間の不連続点が演算強度上に位置するように主記憶装置12の動作周波数を下げる。性能電力判断部1141は、その際に、ルーフラインモデルデータ記憶部1110に保持されている主記憶装置12の選択可能な動作周波数から主記憶装置12の現在の動作周波数より小さい動作周波数を選択する。
図9は、実施の形態1の情報処理システムにより行われる、実行ブロックがメモリインテンシブである場合の省電力制御の方針の例を図示する図である。
図9に図示される省電力制御の方針の例においては、破線により図示される現在の主記憶装置12のメモリ性能及びプロセッサ11の演算性能に対して、実行ブロックが実行される際の性能の足かせとなる主記憶装置12のメモリ性能を実線勾配部により図示される主記憶装置12のメモリ性能に上げることが決定されて性能要求が満たされる。また、勾配部と平坦部との間の不連続点が演算強度上に位置するようにプロセッサ11の演算性能を実線平坦部により図示されるプロセッサ11の演算性能に下げることが決定されて省電力化が図られる。これらにより、主記憶装置12のメモリ性能及びプロセッサ11の演算性能が実線により図示される主記憶装置12のメモリ性能及びプロセッサ11の演算性能に移行するように主記憶装置12のメモリ性能及びプロセッサ11の演算性能が選択される。
図10は、実施の形態1の情報処理システムにより行われる、実行ブロックが演算インテンシブである場合の省電力制御の方針の例を図示する図である。
図10に図示される省電力制御の方針の例においては、破線により図示される現在の主記憶装置12のメモリ性能及びプロセッサ11の演算性能に対して、実行ブロックが実行される際の性能の足かせとなるプロセッサ11の演算性能を実線平坦部により図示されるプロセッサ11の演算性能に上げることが決定されて性能要求が満たされる。また、勾配部と平坦部との間の不連続点が演算強度上に位置するように主記憶装置12のメモリ性能を実線勾配部により図示される主記憶装置12のメモリ性能に下げることが決定されて省電力化が図られる。これらにより、主記憶装置12のメモリ性能及びプロセッサ11の演算性能が実線により図示される主記憶装置12のメモリ性能及びプロセッサ11の演算性能に移行するように主記憶装置12のメモリ性能及びプロセッサ11の演算性能が選択される。
図9及び図10に図示される省電力制御の方針によれば、必要な性能要求を満たしながら、省電力化を行うことができる。
図11は、実施の形態1の情報処理システムにおける、各制御を行うのにかかるオーバヘッド時間の例を図示する図である。
図11に図示される、各制御を行うのにかかるオーバヘッド時間は、予め定義されている。当該各制御を行うのにかかるオーバヘッド時間は、プロセッサ11の動作周波数、プロセッサ11のコアのON/OFF及び主記憶装置12の動作周波数の制御にかかるオーバヘッド時間を含む。
図12は、実施の形態1の情報処理システムに備えられる電力制御レイテンシデータ部及び性能電力指令部の動作の手順を図示する図である。
システム基本ソフトウェア1100による性能電力制御に関する処理は、図12に図示されるように、ソフトウェア割込みにより演算アプリケーションを構成する各実行ブロックが実行される前に実行される。
システム基本ソフトウェア1100による性能電力制御に関する処理が実行された後には、実行時間計測部1142は、当該処理の前後に現在の時刻を取得することにより、各実行ブロックの実行時間を計測することができる。電力制御レイテンシデータ部1143は、計測された各実行ブロックの実行時間を保持する。また、電力制御レイテンシデータ部1143は、計測された各実行ブロックの実行時間と、図11に図示される、各制御を行うのにかかるオーバヘッド時間と、から性能電力制御を行うか否かを判断する。実施の形態1においては、電力制御レイテンシデータ部1143は、ひとつ前の周期における実行ブロックの実行時間及びオーバヘッド時間の合計が、演算強度データ取得部1130により取得された当該実行ブロックのデッドライン時間を超えない場合は、当該実行ブロックについて性能電力制御を行う命令を性能電力指令部1144に出力する。一方、電力制御レイテンシデータ部1143は、そうでない場合は、当該実行ブロックについて性能電力制御を行わない命令を性能電力指令部1144に出力する。
これにより、各実行ブロックのデッドライン時間を遵守しながら各実行ブロックについて性能電力制御を行うことができる。
<実施の形態2>
以下では、実施の形態2が実施の形態1と異なる点が説明される。説明されない点については、実施の形態1において採用された構成が実施の形態2においても採用される。
実施の形態1においては、演算アプリケーション1200を構成する各実行ブロックの演算強度データのみに基づいて、計算機システム10の現在の動作環境に対応するルーフラインモデルから性能電力制御が行われる。当該動作環境は、プロセッサ11の動作周波数及びコア数並びに主記憶装置12の動作周波数である。しかし、演算アプリケーション1200が実行される際の実際の性能は、必ずしもルーフラインモデルにより示される計算機システム10の限界性能と一致しない。
そこで、実施の形態2においては、演算アプリケーション1200を構成する各実行ブロックの演算強度データに加えて、演算アプリケーション1200が実行される際の実際の演算性能を利用することにより、より高い精度を有する性能電力制御が実現される。以下では、利用される当該演算性能が「実演算性能」と呼ばれる。
各実行ブロックの実演算性能は、演算強度データ取得部1130により取得された各実行ブロックの演算強度データから特定される浮動小数点演算の総数を、電力制御レイテンシデータ部1143により保持される各実行ブロックの実行時間で割ることにより求めることができる。
図13は、実施の形態2の情報処理システムに備えられる性能電力判断部の動作の流れを図示するフローチャートである。
性能電力制御部1140は、図13に図示されるステップS300からS309までを実行する。
ステップS300においては、性能電力判断部1141が、受け取ったルーフラインモデル上に受け取った実行ブロックの演算強度データをプロットする。また、性能電力判断部1141が、ルーフラインモデルと実行ブロックの演算強度データとを照合する。
続くステップS301においては、性能電力判断部1141が、当該実行ブロックがメモリインテンシブであるか否かを判定する。
当該実行ブロックがメモリインテンシブであると判定された場合は、ステップS302からS305までが実行される。当該実行ブロックがメモリインテンシブでないと判定された場合は、ステップS306からS309までが実行される。
ステップS302においては、性能電力判断部1141が、当該実行ブロックの実演算性能が現在の動作環境における主記憶装置12のメモリ性能のピーク性能に到達しているか否かを判定する。
当該実行ブロックの実演算性能が主記憶装置12のメモリ性能のピーク性能に到達していると判定された場合は、ステップS303からS305までが実行される。当該実行ブロックの実演算性能がメモリ性能のピーク性能に到達していないと判定された場合は、ステップS305が実行される。
ステップS303においては、性能電力判断部1141が、主記憶装置12の動作周波数を上げる。性能電力判断部1141は、その際に、ルーフラインモデルデータ記憶部1110に保持されている主記憶装置12の選択可能な動作周波数から主記憶装置12の現在の動作周波数より大きい動作周波数を選択する。
続くステップS304においては、性能電力判断部1141が、ルーフラインモデルを更新する。性能電力判断部1141は、その際に、選択した主記憶装置12の動作周波数に基づいてルーフラインモデルを更新する。
続くステップS305においては、性能電力判断部1141が、ルーフラインモデルの勾配部とルーフラインモデルの平坦部との間の不連続点が演算強度上に位置するようにプロセッサ11の動作周波数及び/又はコア数を下げる。性能電力判断部1141は、その際に、ルーフラインモデルデータ記憶部1110に保持されているプロセッサ11の選択可能な動作周波数及び/又はコア数からプロセッサ11の現在の動作周波数及び/又はコア数より小さい動作周波数及び/又はコア数を選択する。
ステップS302からS305までにおいては、当該実行ブロックの実演算性能が主記憶装置12のメモリ性能のピーク性能に到達していない場合は、主記憶装置12の動作周波数に関して、現在の動作環境が主記憶装置12のメモリ性能の要件を満たすと判断されて、その選択が行われない。
ステップS306においては、性能電力判断部1141が、当該実行ブロックの実演算性能が現在の動作環境におけるプロセッサ11の演算性能のピーク性能に到達しているか否かを判定する。
当該実行ブロックの実演算性能がプロセッサ11の演算性能のピーク性能に到達していると判定された場合は、ステップS307からS309までが実行される。当該実行ブロックの実演算性能がプロセッサ11の演算性能のピーク性能に到達していないと判定された場合は、ステップS309が実行される。
ステップS307においては、性能電力判断部1141が、プロセッサ11の動作周波数及び/又はコア数を上げる。性能電力判断部1141は、その際に、ルーフラインモデルデータ記憶部1110に保持されているプロセッサ11の選択可能な動作周波数及び/又はコア数からプロセッサ11の現在の動作周波数及び/又はコア数より大きい動作周波数及び/又はコア数を選択する。
続くステップS308においては、性能電力判断部1141が、ルーフラインモデルを更新する。性能電力判断部1141は、その際に、選択したプロセッサ11の動作周波数及び/又はコア数に基づいてルーフラインモデルを更新する。
続くステップS309においては、性能電力判断部1141が、ルーフラインモデルの勾配部とルーフラインモデルの平坦部との間の不連続点が演算強度上に位置するように主記憶装置12の動作周波数を下げる。性能電力判断部1141は、その際に、ルーフラインモデルデータ記憶部1110に保持されている主記憶装置12の選択可能な動作周波数から主記憶装置12の現在の動作周波数より小さい動作周波数を選択する。
ステップS306からS309までにおいては、当該実行ブロックの実演算性能がプロセッサ11の演算性能のピーク性能に到達していない場合は、プロセッサ11の動作周波数及びコア数に関して、現在の動作環境がプロセッサ11の演算性能の要件を満たすと判断されて、その選択が行われない。
図14及び図15は、実施の形態2の情報処理システムにより行われる、実行ブロックがメモリインテンシブである場合の省電力制御の方針の例を図示する図である。
図14に図示される省電力制御の方針の例においては、当該実行ブロックの実演算性能が現在の動作環境における主記憶装置12のメモリ性能のピーク性能に到達している。このため、当該実行ブロックが実行される際の性能の足かせとなっている主記憶装置12のメモリ性能が実線勾配部により図示されるメモリ性能に上げられて性能要求が満たされる。また、勾配部と平坦部との間の不連続点が演算強度上に位置するようにプロセッサ11の演算性能が実線平坦部により図示される演算性能に下げられて省電力化が図られる。これらにより、主記憶装置12のメモリ性能及びプロセッサ11の演算性能が実線により図示されるそれに移行する。
図15に図示される省電力制御の方針の例においては、当該実行ブロックの実演算性能が現在の動作環境における主記憶装置12のメモリ性能のピーク性能に到達していない。このため、当該実行ブロックが実行される際の性能の足かせとなっていない主記憶装置12のメモリ性能が維持される。また、勾配部と平坦部との間の不連続点が演算強度上に位置するようにプロセッサ11の演算性能が実線平坦部により図示されるプロセッサ11の演算性能に下げられて省電力化が図られる。これらにより、主記憶装置12のメモリ性能及びプロセッサ11の演算性能が実線により図示されるそれに移行する。
図16及び図17は、実施の形態2の情報処理システムにより行われる、実行ブロックが演算インテンシブである場合の省電力制御の方針の例を図示する図である。
図16に図示される省電力制御の方針の例においては、当該実行ブロックの実演算性能が現在の動作環境におけるプロセッサ11の演算性能のピーク性能に到達している。このため、当該実行ブロックが実行される際の性能の足かせとなっているプロセッサ11の演算性能が実線平坦部により図示されるプロセッサ11の演算性能に上げられて性能要求が満たされる。また、勾配部と平坦部との間の不連続点が演算強度上に位置するように主記憶装置12のメモリ性能が実線勾配部により図示される主記憶装置12のメモリ性能に下げられて省電力化が図られる。これらにより、主記憶装置12のメモリ性能及びプロセッサ11の演算性能が実線により図示されるそれに移行する。
図17に図示される省電力制御の方針の例においては、当該実行ブロックの実演算性能が現在の動作環境におけるプロセッサ11の演算性能のピーク性能に到達していない。このため、当該実行ブロックが実行される際の性能の足かせとなっていないプロセッサ11の演算性能が維持される。また、勾配部と平坦部との間の不連続点が演算強度上に位置するように主記憶装置12のメモリ性能が実線勾配部により図示される主記憶装置12のメモリ性能に下げられて省電力化が図られる。これらにより、主記憶装置12のメモリ性能及びプロセッサ11の演算性能が実線により図示されるそれに移行する。
なお、各実施の形態を自由に組み合わせたり、各実施の形態を適宜、変形、省略することが可能である。
実施の形態は詳細に説明されたが、上記した説明は、すべての局面において、例示であって、実施の形態がそれに限定されるものではない。例示されていない無数の変形例が、想定され得るものと解される。
10 計算機システム、11 プロセッサ、12 主記憶装置、13 補助記憶装置、1000 情報処理システム、1100 システム基本ソフトウェア、1200 演算アプリケーション、1110 ルーフラインモデルデータ記憶部、1120 動作環境取得部、1130 演算強度データ取得部、1140 性能電力制御部、1141 性能電力判断部、1142 実行時間計測部、1143 電力制御レイテンシデータ部、1144 性能電力指令部、1210 プログラム領域、1220 データ領域、1230 実行ブロック演算強度データ領域。

Claims (10)

  1. 省電力機構を備えるプロセッサ及び主記憶装置を備える計算機システムの動作環境で動作する演算アプリケーションを構成する各実行ブロックの演算強度データを保持する実行ブロック演算強度データ領域と、
    前記プロセッサの動作周波数及びコア数並びに前記主記憶装置の動作周波数に対応するルーフラインモデルを保持するルーフラインモデルデータ記憶部と、
    前記実行ブロック演算強度データ領域から前記各実行ブロックの演算強度データを取得する演算強度データ取得部と、
    前記ルーフラインモデル及び前記各実行ブロックの演算強度データに基づいて前記プロセッサの動作周波数及びコア数並びに前記主記憶装置の動作周波数の制御を行う性能電力制御部と、
    を備える情報処理システム。
  2. 前記プロセッサの現在の動作周波数及びコア数並びに前記主記憶装置の現在の動作周波数を取得する動作環境取得部を備える
    請求項1の情報処理システム。
  3. 前記実行ブロック演算強度データ領域は、前記各実行ブロックの実行アドレス、前記各実行ブロックの演算強度データ、及び前記各実行ブロックの処理を終了しなければならない時間を示す前記各実行ブロックのデッドライン時間を保持する
    請求項1又は2の情報処理システム。
  4. 前記演算強度データ取得部は、前記各実行ブロックの実行アドレスに基づいて前記各実行ブロックの演算強度データ及び前記各実行ブロックのデッドライン時間を取得する
    請求項3の情報処理システム。
  5. 前記ルーフラインモデルは、前記プロセッサの選択可能な動作周波数及びコア数の組み合わせの各々及び前記主記憶装置の選択可能な動作周波数の各々について演算強度に対する性能の上限値を規定する
    請求項1から4までのいずれかの情報処理システム。
  6. 前記性能電力制御部は、
    前記ルーフラインモデル及び前記各実行ブロックの演算強度データから前記プロセッサの動作周波数及びコア数並びに前記主記憶装置の動作周波数を決定する性能電力判断部と、
    前記各実行ブロックの実行時間を計測する実行時間計測部と、
    前記性能電力判断部により決定された前記プロセッサの動作周波数及びコア数並びに前記主記憶装置の動作周波数に従って前記制御を行う性能電力指令部と、
    前記制御を前記性能電力指令部に行わせた場合にかかるオーバヘッド時間から前記制御を前記性能電力指令部に行わせるか否かを判定する電力制御レイテンシデータ部と、
    を備える
    請求項1から5までのいずれかの情報処理システム。
  7. 前記性能電力判断部は、
    前記ルーフラインモデルと前記各実行ブロックの演算強度データとを照合し、
    前記主記憶装置のメモリ性能及び前記プロセッサの演算性能のいずれが前記演算アプリケーションの性能面における律速要因であるのかを判定し、
    前記メモリ性能が前記律速要因であると判定した場合は、前記ルーフラインモデルデータ記憶部に保持されている前記主記憶装置の選択可能な動作周波数から前記主記憶装置の現在の動作周波数より大きい動作周波数を選択し、
    前記演算性能が前記律速要因であると判定した場合は、前記ルーフラインモデルデータ記憶部に保持されている前記プロセッサの選択可能な動作周波数及び/又はコア数から現在の動作周波数及び/又はコア数より大きい動作周波数及び/又はコア数を選択する
    請求項6の情報処理システム。
  8. 前記電力制御レイテンシデータ部は、前記実行時間計測部により計測された前記各実行ブロックの実行時間と、予め定義された各制御を行うのにかかるオーバヘッド時間と、から前記制御を行うか否かを判断する
    請求項6又は7の情報処理システム。
  9. 前記性能電力指令部は、前記電力制御レイテンシデータ部により前記制御を行うと判断された場合に、前記性能電力判断部により決定された前記プロセッサの動作周波数及びコア数並びに前記主記憶装置の動作周波数を、前記プロセッサの動作周波数及びコア数並びに前記主記憶装置の動作周波数に設定する
    請求項6から8までのいずれかの情報処理システム。
  10. a) 省電力機構を備えるプロセッサ及び主記憶装置を備える計算機システムの動作環境で動作する演算アプリケーションを構成する各実行ブロックの演算強度データを保持する工程と、
    b) 前記各実行ブロックの演算強度データを取得する工程と、
    c) 前記プロセッサの動作周波数及びコア数並びに前記主記憶装置の動作周波数に対応するルーフラインモデルを記憶する工程と、
    d) 前記ルーフラインモデル及び前記各実行ブロックの演算強度データから前記プロセッサの動作周波数及びコア数並びに前記主記憶装置の動作周波数の制御を行う工程と、
    を備える情報処理システムの制御方法。
JP2022530363A 2020-06-08 2020-06-08 情報処理システム及び情報処理システムの制御方法 Active JP7357790B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2020/022517 WO2021250737A1 (ja) 2020-06-08 2020-06-08 情報処理システム及び情報処理システムの制御方法

Publications (2)

Publication Number Publication Date
JPWO2021250737A1 JPWO2021250737A1 (ja) 2021-12-16
JP7357790B2 true JP7357790B2 (ja) 2023-10-06

Family

ID=78845430

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2022530363A Active JP7357790B2 (ja) 2020-06-08 2020-06-08 情報処理システム及び情報処理システムの制御方法

Country Status (5)

Country Link
US (1) US20230141385A1 (ja)
JP (1) JP7357790B2 (ja)
CN (1) CN115698950A (ja)
DE (1) DE112020007310T5 (ja)
WO (1) WO2021250737A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023238276A1 (ja) * 2022-06-08 2023-12-14 三菱電機株式会社 情報処理装置および情報処理方法

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005085164A (ja) * 2003-09-10 2005-03-31 Sharp Corp マルチプロセッサシステムの制御方法およびマルチプロセッサシステム
JP4231516B2 (ja) 2006-08-04 2009-03-04 株式会社日立製作所 実行コードの生成方法及びプログラム
WO2008120274A1 (ja) 2007-03-29 2008-10-09 Fujitsu Limited 演算能力を制御する処理装置
WO2013088519A1 (ja) * 2011-12-13 2013-06-20 トヨタ自動車株式会社 マルチコア・プロセッサ
US20140089699A1 (en) * 2012-09-27 2014-03-27 Advanced Micro Devices Power management system and method for a processor
US10048740B2 (en) * 2015-07-31 2018-08-14 International Business Machines Corporation Controlling power consumption
JP7107818B2 (ja) * 2018-11-08 2022-07-27 シャープ株式会社 電子機器、制御装置、電子機器の制御方法、および制御プログラム
KR20220124530A (ko) * 2021-03-03 2022-09-14 삼성전자주식회사 뉴럴 프로세싱 장치 및 뉴럴 프로세싱 장치의 동작 방법

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
佐藤 義永,ルーフラインモデルに基づくベクトルプロセッサ向けプログラム最適化戦略 ,ハイパフォーマンスコンピューティングと計算科学シンポジウム(HPCS) 2011 ,日本,情報処理学会,2011年01月11日,pp.140-147

Also Published As

Publication number Publication date
US20230141385A1 (en) 2023-05-11
CN115698950A (zh) 2023-02-03
WO2021250737A1 (ja) 2021-12-16
JPWO2021250737A1 (ja) 2021-12-16
DE112020007310T5 (de) 2023-06-15

Similar Documents

Publication Publication Date Title
JP5283762B2 (ja) 演算処理装置、情報処理装置及びその制御方法
US11500557B2 (en) Systems and methods for energy proportional scheduling
US8707314B2 (en) Scheduling compute kernel workgroups to heterogeneous processors based on historical processor execution times and utilizations
TWI540503B (zh) 提高處理器中渦輪加速模式之操作的電源效率之設備、方法及系統
US8482571B2 (en) Information processing processing apparatus, method for controlling information processing apparatus, and program
US8276015B2 (en) Managing the power-performance range of an application
US8560812B2 (en) Device for executing an instruction using a target execution speed
KR101723127B1 (ko) 그래픽 프로세서 내의 simd 유닛들의 동적 인에이블링 및 디스에이블링
US20080034236A1 (en) Method and program for generating execution code for performing parallel processing
Santriaji et al. GRAPE: Minimizing energy for GPU applications with performance requirements
US10551901B2 (en) Core frequency management using effective utilization for power-efficient performance
BRPI0907774B1 (pt) Programação de encadeamento ciente de energia e uso dinâmico de processadores
JP5316718B1 (ja) マルチコア・プロセッサ
JP5345990B2 (ja) 特定のプロセスを短時間で処理する方法およびコンピュータ
US9734075B2 (en) Cache memory control program, processor incorporating cache memory, and cache memory control method
US20160342191A1 (en) Cpu frequency scaling apparatus and method
US10242418B2 (en) Reconfigurable graphics processor for performance improvement
Mukhanov et al. Alea: Fine-grain energy profiling with basic block sampling
JP7357790B2 (ja) 情報処理システム及び情報処理システムの制御方法
WO2018179873A1 (ja) アクセラレータを有する計算機のためのライブラリ、およびアクセラレータ
JP2010160715A (ja) 車両用電子制御ユニット
KR101862981B1 (ko) 명령어 기반 카운터를 통한 성능 및 전력량 예측 시스템 및 방법
US10761512B2 (en) Numerical controller
US20160357243A1 (en) Processor throttle rate limiter
JP7157542B2 (ja) プリフェッチコントローラ

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220623

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230926

R150 Certificate of patent or registration of utility model

Ref document number: 7357790

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150