JP5699847B2 - 制御装置及び方法 - Google Patents

制御装置及び方法 Download PDF

Info

Publication number
JP5699847B2
JP5699847B2 JP2011172668A JP2011172668A JP5699847B2 JP 5699847 B2 JP5699847 B2 JP 5699847B2 JP 2011172668 A JP2011172668 A JP 2011172668A JP 2011172668 A JP2011172668 A JP 2011172668A JP 5699847 B2 JP5699847 B2 JP 5699847B2
Authority
JP
Japan
Prior art keywords
memory
power saving
saving state
data storage
transition
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
JP2011172668A
Other languages
English (en)
Other versions
JP2013037508A (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 JP2011172668A priority Critical patent/JP5699847B2/ja
Priority to US13/525,776 priority patent/US8788856B2/en
Publication of JP2013037508A publication Critical patent/JP2013037508A/ja
Application granted granted Critical
Publication of JP5699847B2 publication Critical patent/JP5699847B2/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
    • 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/3234Power saving characterised by the action undertaken
    • G06F1/325Power saving in peripheral device
    • G06F1/3275Power saving in memory, e.g. RAM, cache
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C5/00Details of stores covered by group G11C11/00
    • G11C5/02Disposition of storage elements, e.g. in the form of a matrix array
    • G11C5/04Supports for storage elements, e.g. memory modules; Mounting or fixing of storage elements on such supports
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C5/00Details of stores covered by group G11C11/00
    • G11C5/14Power supply arrangements, e.g. power down, chip selection or deselection, layout of wirings or power grids, or multiple supply levels
    • G11C5/148Details of power up or power down circuits, standby circuits or recovery circuits
    • 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
    • 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
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/50Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Executing Machine-Instructions (AREA)
  • Memory System (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Power Sources (AREA)

Description

本技術は、記憶装置の制御技術に関する。
例えば、コンピュータの主記憶装置は、DIMM(Dual Inline Memory Module)など1又は複数のメモリモジュールを含んでおり、1つのメモリモジュールは、データを入出力する単位である1又は複数のランクを含んでいる。また、ランク(Rank)は、電力制御の単位でもある。
また、中央演算処理装置(Central Processing Unit:CPU)に接続されているメモリアクセスコントローラ(Memory Access Controller:MAC)は、例えば特定のランクへ一定時間アクセスがない場合には省電力モードに遷移させるような制御を行っている。
例えば一つのプログラムの2つのスレッドA及びBを中央演算処理装置(Central Processing Unit:CPU)で並列実行する場合を想定する。この場合、図1に模式的に示すように、Rank0にはスレッドAのデータDataA及びスレッドBのデータDataBが記憶されており、Rank1にはスレッドBのデータDataBが記憶されているものとする。また、スレッドAのメモリアクセスは、短い間隔で頻繁に発生し、スレッドBのメモリアクセスは、比較的長い間隔で行われるものとする。そうすると、Rank1については、アクセス頻度が低いため省電力モードに遷移しやすくなる。そうすると、スレッドBがメモリにアクセスする際に、Rank1が省電力モードになってしまっている場合が多く発生することが想定される。
例えば、いずれのRankも省電力モードに遷移しない場合には、図2に示すようにスレッドA及びスレッドBの実行時間が同じであるものとする。しかし、アクセス頻度が低い場合には省電力モードに遷移するような電力制御を行うと、図3に示すように、省電力モードのRankにアクセスしたことによるストールが、スレッドAよりスレッドBに多く発生してしまう可能性がある。このように、特定のスレッドについてのみストールが多く発生すると、特定のスレッドの実行時間が長くなって、全体としても実行時間が長くなってしまう。図3の例では、Tdだけ、省電力モードに遷移しない場合に比して実行時間が長くなってしまう。同期をとるためスレッドAがスレッドBを待機するような場合も同様に実行時間が長くなってしまう。そうすると、たとえメモリについて省電力が図られても、中央演算処理装置については電力を使用する時間が長くなり、中央演算処理装置の単位時間あたりの消費電力が多い分全体の消費電力が多くなる可能性がある。
なお、無駄な消費電力を削減することを目的としてタスクの起動状態または停止状態に応じて必要なデバイスの電源を管理する技術や、メモリ領域毎に、割り当てが行われたメモリブロックの数を管理して、割り当てがメモリブロックの数が閾値(例えば0)になると電力供給を停止するという技術も存在している。しかしながら、上で述べたような問題については考慮されていない。
特開平8−234872号公報 特開2007−86909号公報
従って、本技術の目的は、一側面としては、1つのプログラムから生成される複数のスレッド間の実行時間の不均衡を抑制するための技術を提供することである。
本技術に係る制御装置は、(A)記憶装置において電力制御が行われる単位のメモリブロックに対応させて省電力状態への遷移が禁止されているか否かを表すデータを格納する第1のデータ格納部と、(B)あるプログラムのスレッドに対応させて、省電力状態にあるメモリブロックへのアクセスが要求された回数を格納する第2のデータ格納部と、(C)演算処理装置から受信したメモリ要求のアクセス先を含むメモリブロックが省電力状態となっている場合には第2のデータ格納部においてメモリ要求の要求元スレッドについての回数を増加させ、増加後の回数が所定の閾値を超えた場合には第1のデータ格納部においてメモリ要求のアクセス先を含むメモリブロックについて省電力状態への遷移が禁止されていることを表すデータを設定する第1の制御部とを有する。
1つのプログラムから生成される複数のスレッド間の実行時間の不均衡を抑制することができる。
図1は、ランク(Rank)を説明するための図である。 図2は、従来技術の問題を説明するための図である。 図3は、従来技術の問題を説明するための図である。 図4は、第1の実施の形態における構成例を示す図である。 図5は、第1の実施の形態における処理フローを示す図である。 図6は、第1の実施の形態における効果を説明するための図である。 図7は、第2の実施の形態における構成例を示す図である。 図8は、Rank毎の状態を管理するためのデータの一例を示す図である。 図9は、モードレジスタに格納されるデータの一例を示す図である。 図10は、管理テーブルの一例を示す図である。 図11は、第2の実施の形態における処理フローを示す図である。
[実施の形態1]
図4に、本技術の実施の形態の構成例を示す。図4は、コンピュータの一部を示しており、制御装置200は、中央演算処理装置100及び主記憶装置300と接続されている。中央演算処理装置100では1つのプログラムについての複数のスレッド(例えばスレッドA及びB)を実行している。主記憶装置300は、電力制御の単位であるメモリブロック(例えばメモリブロックA乃至D)が複数含まれている。すなわち、メモリブロック毎に、通常状態(又は通常モードとも呼ぶ)から省電力状態(又は省電力モード、若しくは低消費電力状態又は低消費電力モードとも呼ぶ)への遷移などの電力制御が行われる。なお、各メモリブロックについてのアドレスの範囲については制御装置200が管理しているものとする。
制御装置200は、本実施の形態における主要な処理を実施する第1制御部210と、第1データ格納部220と、第2データ格納部230と、主記憶装置300における各メモリブロックについて電力制御を実施する第2制御部240とを有する。
第1データ格納部220は、上で述べたメモリブロック毎に省電力状態への遷移が禁止されているか否かを表すデータを格納する。第2データ格納部230は、あるプログラムのスレッド毎に、省電力状態にあるメモリブロックへのアクセスが要求された回数を格納する。
第1制御部210は、中央演算処理装置100からのメモリ要求に応じて、第1データ格納部220及び第2データ格納部230に格納されているデータを用いて以下で述べる処理を実施する。また、第1制御部210は、処理結果として第1データ格納部220にデータを格納する場合もあれば、第2データ格納部230にデータを格納する場合もある。
次に、図5を用いて図4に示した装置の処理内容を説明する。なお、図5の処理は、中央演算処理装置100からのメモリ要求を処理する毎に実行される。
例えば、第1制御部210は、中央演算処理装置100からメモリ要求を受信して当該メモリ要求を処理する段階になると、メモリ要求のアクセス先を含むメモリブロックが省電力状態であるか判断する(図5:ステップS1)。各メモリブロックが省電力状態であるか否かを表すデータについては、第1制御部210が管理している場合もあれば、例えば第2制御部240が第1データ格納部220に格納するようにして、第1制御部210がそのデータを参照するようにしても良い。
メモリ要求のアクセスを含むメモリブロックが省電力状態でない場合には、第1制御部210は、通常処理を実施する(ステップS3)。具体的には、メモリ要求に従って主記憶装置300に対してリード又はライトを実施する。そして処理を終了する。
一方、メモリ要求のアクセス先を含むメモリブロックが省電力状態である場合には、第1制御部210は、第2データ格納部230において当該メモリ要求の要求元スレッドについての回数を例えば1増加させる(ステップS5)。例えばメモリ要求にはスレッド識別子(すなわちID)が含まれており、メモリ要求から該当スレッドを特定する。
また、第1制御部210は、第2制御部240に対して、メモリ要求のアクセス先を含むメモリブロックを通常状態に遷移させて、その後メモリ要求に従って主記憶装置300に対してアクセスを実施する(ステップS7)。第2制御部240は、例えば第1制御部210からの指示に応じて又は第1制御部210が第1データ格納部220に書き込んだ状態変更指示データに応じて、メモリ要求のアクセス先を含むメモリブロックを通常状態に遷移させる。
さらに、第1制御部210は、第2データ格納部230における要求元スレッドの回数が予め定められた閾値を超えているか判断する(ステップS9)。予め定められた閾値については、第2データ格納部230に格納されている場合もあれば、固定値であれば第1制御部210自体が保持している場合もある。要求元スレッドの回数が予め定められた閾値を超えていない場合には、処理を終了する。一方、要求元スレッドの回数が予め定められた閾値を超えている場合には、第1制御部210は、第1データ格納部220において、メモリ要求のアクセス先を含むメモリブロックについて、省電力状態への遷移を禁止するデータを格納する(ステップS11)。第2制御部240は、このような省電力状態への遷移を禁止するデータに従って、このメモリブロックについてはアクセス頻度が予め定められた閾値以下といった状態になっても省電力状態に遷移させることはない。そして処理を終了する。
このような処理を実施することで、1つのプログラムの複数のスレッドのうち特定のスレッドの実行時間だけが長くなったりすることを回避できる。例えば、図6に模式的に示すように、閾値を2に設定すれば、図3に示した例より1回分ストールが少なくなり、図2のように省電力状態に遷移しない場合に比して長くなる実行時間はTd2(<Td)に短縮される。また、スレッド間の実行時間の不均衡が是正される。さらに、おおよそストール1回分中央演算処理装置100が消費する電力を削減できるようになる。また、上では中央演算処理装置100と主記憶装置300との関係を例として説明したが、マルチスレッドでプログラムを実行する他の演算処理装置と、他の記憶装置についても適用可能である。
[実施の形態2]
本技術の第2の実施の形態における構成例を図7に示す。本実施の形態におけるプロセッサ装置1000は、中央演算処理装置(CPU:Central Processing Unit)1100と、メモリアクセスコントローラ(MAC:Memory Access Controller)1200とを有する。CPU1100には、キャッシュも含まれているものとする。また、プロセッサ装置1000は、主記憶装置1500に接続されている。本実施の形態では、主記憶装置1500は、1又は複数のDIMMを含む。DIMMは、1又は複数のランク(Rank)を含む。例えば、DIMMが両面実装の場合、1面が1ランクとなる場合もある。
MAC1200は、メモリ要求キュー(MRQ:Memory Request Queue)1210と、スケジューラ1220と、モードレジスタ1230と、比較器1250と、メモリ1240とを有する。
MRQ1210は、CPU1100が出力するメモリ要求を格納するキューである。メモリ要求は、CPU1100で実行されている1のプログラムの要求元スレッドを識別するためのスレッドIDと、アクセス先アドレスと、リードとライトのいずれであるかを表すデータとを含む。
スケジューラ1220は、メモリ要求についてのアクセス制御と、主記憶装置1500におけるランク毎の電力制御とを行う。電力制御のために、各Rankが省電力状態にあるのか通常状態にあるのかを表すデータを保持している。図8は、DIMM毎に2つのRankが含まれる例を示しており、DIMM1についてRank0及びRank1のそれぞれにつき省電力状態(例えば「1」)又は通常状態(例えば「0」)を表すデータと、DIMM2についてRank0及びRank1のそれぞれにつき省電力状態又は通常状態を表すデータとが格納されるようになっている。なお、各Rankについてのアドレスの範囲についてはスケジューラ1220が管理しているものとする。
モードレジスタ1230は、ランク毎に、省電力状態への遷移が禁止されているか否かを表すフラグ(禁止されている場合には「1」、禁止されていない場合には「0」)を格納するレジスタである。モードレジスタ1230は、例えば、図9に示すようなデータを格納する。図9は、DIMM毎に2つのRankが含まれる例を示しており、DIMM1についてRank0及びRank1のそれぞれにつき「0」又は「1」のフラグが格納され、DIMM2についてRank0及びRank1のそれぞれにつき「0」又は「1」のフラグが格納される。
メモリ1240は、スレッド毎に、MRQ1210から読み出したメモリ要求のアクセス先を含むメモリブロックが省電力状態であった回数を格納する管理テーブル1241を格納している。管理テーブル1241のフォーマットは、例えば図10に示すようなものである。図10の例では、スレッドID毎に、上記回数を表すカウンタ値と、閾値とが格納されている。閾値については、各スレッドについて同一の固定値あっても良いし、例えば、プログラムの実行開始時に、当該プログラムについて生成されるスレッド毎に予め定められた閾値が設定される場合もある。
比較器1250は、スケジューラ1220からの指示に応じて管理テーブル1241における特定のスレッドのカウンタ値と閾値とを読み出して比較を行い、カウンタ値が閾値を上回っていればそれを表す信号をスケジューラ1220に出力する。
次に、図7に示した構成についての処理内容を図11を用いて説明する。この処理は、1つのメモリ要求毎に実行される。まず、スケジューラ1220は、MRQ1210からメモリ要求を1つ読み出す(図11:ステップS21)。そして、スケジューラ1220は、当該メモリ要求の要求元スレッドが、管理テーブル1241に登録済みであるか判断する(ステップS23)。要求元スレッドが管理テーブル1241に登録されていない場合には、スケジューラ1220は、要求元スレッドについてのデータを、管理テーブル1241に登録する(ステップS25)。例えば、スレッドIDと、カウンタ値=0と、閾値とを登録する。閾値は、上で述べたように固定値の場合もあれば、プログラムによって指定された値の場合もある。そして、ステップS27に遷移する。
メモリ要求の要求元スレッドが管理テーブル1241に登録されている場合又はステップS25の後に、スケジューラ1220は、メモリ要求のアクセス先が含まれるRankを特定し、モードレジスタ1230における当該Rankのモードレジスタ値が0であるか、すなわち省電力状態への遷移が禁止されていないかを判断する(ステップS27)。モードレジスタ1230における当該Rankのモードレジスタ値が1である、すなわち省電力状態への遷移が禁止されている場合には、スケジューラ1220は、通常処理を実施する(ステップS29)。すなわち、メモリ要求に従って、アクセス先アドレスに対して、データのリード又はライトを実施する。そして処理は終了する。
一方、モードレジスタ1230における当該Rankのモードレジスタ値が0であれば、スケジューラ1220は、メモリ要求のアクセス先のRankが現在省電力状態であるか判断する(ステップS31)。図8のようなデータに基づき現在の状況を把握する。アクセス先のRankが現在通常状態であれば、特別な処理を行わず、ステップS29に遷移する。
一方、アクセス先のRankが現在省電力状態であれば、スケジューラ1220は、管理テーブル1241において要求元スレッドのカウンタ値を1インクリメントする(ステップS33)。また、スケジューラ1220は、メモリ要求のアクセス先のRankを通常状態に遷移させた後、メモリ要求に従ってアクセスを実施する(ステップS35)。アクセス先のアドレスに対して、データのリード又はライトを実施する。
その後、スケジューラ1220からの指示に応じて、比較器1250は、管理テーブル1241から要求元スレッドのカウンタ値と閾値とを比較して、カウンタ値>閾値が成立するか判断する(ステップS37)。カウンタ値≦閾値であれば、処理を終了する。一方、カウンタ値>閾値が成立する場合には、比較器1250は、スケジューラ1220に信号を出力し、スケジューラ1220は、この信号に応じて、モードレジスタ1230において、メモリ要求のアクセス先を含むRankについてのモードレジスタ値を「1」に設定する(ステップS39)。そして処理を終了する。
このようにすれば、1つのプログラムについて生成された複数のスレッドのうち特定のスレッドについて、アクセス先のRankが省電力状態であったことによって生ずるストールの回数が偏ったりすることを回避することができる。すなわち、複数のスレッド間で実行時間の不均衡を防止することができる。これによってプログラム全体の処理時間を短縮させることができる。複数のスレッドで同期をとる場合も、実行時間の不均衡があれば待機時間が長くなるが、本実施の形態によれば実行時間の不均衡が抑制されるので、待機時間が短くなり、プログラム全体の処理時間が短縮される。
また、複数のスレッド間で実行時間の不均衡が存在すると、処理が終了したスレッドを実行していたCPU1100のコアはアイドル状態で電力を消費することになる。このCPU1100のコアがアイドル状態で消費する消費電力は数十Wで、主記憶装置1500に用いられるDIMMのDRAM(Dynamic Random Access Memory)を省電力状態に遷移させることで削減できる電力は数W程度である。従って、実行時間の不均衡が抑制されて、プログラム全体の処理時間が短縮されるということは、消費電力の削減になる。
なお、スケジューラ1220は、主記憶装置1500におけるRank毎にアクセス間隔等を計測して、所定時間以上アクセスがない場合には当該Rankを省電力状態に遷移させる処理も行っている。但し、スケジューラ1220は、モードレジスタ1230において省電力状態への遷移を禁止するか否かを表すフラグが「1」にセットされているRankについては、省電力状態に遷移させることはない。
また、図11の処理フローでは、スレッドが管理テーブル1241に登録されていなかった場合には登録する処理を示したが、スケジューラ1220は、例えば一定時間以上主記憶装置1500に対するアクセスを行わないスレッドについては管理テーブル1241から削除する処理も行う。さらに、管理テーブル1241からスレッドの登録が全く無くなった場合には、モードレジスタ1230の全モードレジスタ値を「0」に初期化する。
以上本技術の実施の形態について述べたが、本技術はこれに限定されるものではない。例えば、機能ブロック図は一例であって必ずしも実際の機能ブロックと一致しない場合もある。処理フローについても、例えばステップS33とステップS35のように同時実行しても処理結果が変わらないものについては、順番を入れ替えたり、並列実行するようにしてもよい。
また、プロセッサ装置1000にMAC1200が含まれる例を示したが、MAC1200が別の半導体装置に実装される場合もある。
以上述べた本実施の形態をまとめると、以下のようになる。
本実施の形態に係る制御装置は、(A)記憶装置において電力制御が行われる単位のメモリブロック毎に省電力状態への遷移が禁止されているか否かを表すデータを格納する第1のデータ格納部と、(B)あるプログラムのスレッド毎に、省電力状態にあるメモリブロックへのアクセスが要求された回数を格納する第2のデータ格納部と、(C)演算処理装置から受信したメモリ要求のアクセス先を含むメモリブロックが省電力状態となっている場合には第2のデータ格納部においてメモリ要求の要求元スレッドについての回数を増加させ、増加後の回数が所定の閾値を超えた場合には第1のデータ格納部においてメモリ要求のアクセス先を含むメモリブロックについて省電力状態への遷移が禁止されていることを表すデータを設定する第1の制御部とを有する。
このようにすれば、メモリ要求におけるアクセス先を含むメモリブロックが省電力状態になっている回数が閾値を超えることが無くなるので、あるプログラムのスレッド間で実行時間の不均衡が抑制されるようになる。すなわち、あるプログラムの処理時間を短縮させ、消費電力の削減も図られる。
なお、本実施の形態に係る制御装置は、第1のデータ格納部に格納されているデータに基づき、記憶装置の電力制御を実施する第2の制御部を含むようにしても良い。
さらに、上で述べた第1の制御部が、第1のデータ格納部においてメモリ要求のアクセス先を含むメモリブロックが省電力状態への遷移が禁止されていないことを表すデータが格納されているか判断し、省電力状態への遷移が禁止されていないことを表すデータが格納されている場合に処理を実施するようにしてもよい。省電力状態への遷移が禁止されている場合には処理を簡略化することができる。
なお、上で述べたような処理をメモリアクセスコントローラなどに実施させるためのプログラムを作成することができ、当該プログラムは、例えばフレキシブル・ディスク、CD−ROMなどの光ディスク、光磁気ディスク、半導体メモリ(例えばROM)、ハードディスク等のコンピュータ読み取り可能な記憶媒体又は記憶装置に格納される。
以上の実施例を含む実施形態に関し、さらに以下の付記を開示する。
(付記1)
記憶装置において電力制御が行われる単位のメモリブロックに対応させて省電力状態への遷移が禁止されているか否かを表すデータを格納する第1のデータ格納部と、
あるプログラムのスレッドに対応させて、前記省電力状態にあるメモリブロックへのアクセスが要求された回数を格納する第2のデータ格納部と、
演算処理装置から受信したメモリ要求のアクセス先を含むメモリブロックが前記省電力状態となっている場合には前記第2のデータ格納部において前記メモリ要求の要求元スレッドについての回数を増加させ、増加後の回数が所定の閾値を超えた場合には前記第1のデータ格納部において前記メモリ要求のアクセス先を含むメモリブロックについて前記省電力状態への遷移が禁止されていることを表すデータを設定する第1の制御部と、
を有する制御装置。
(付記2)
前記第1のデータ格納部に格納されているデータに基づき、前記記憶装置の電力制御を実施する第2の制御部
をさらに有する付記1記載の制御装置。
(付記3)
前記第1の制御部が、
前記第1のデータ格納部において前記メモリ要求のアクセス先を含むメモリブロックが前記省電力状態への遷移が禁止されていないことを表すデータが格納されているか判断し、前記省電力状態への遷移が禁止されていないことを表すデータが格納されている場合に処理を実施する
付記1又は2記載の制御装置。
(付記4)
記憶装置において電力制御が行われる単位のメモリブロックのうち、演算処理装置から受信したメモリ要求のアクセス先を含むメモリブロックが省電力状態となっているか判断するステップと、
前記アクセス先アドレスを含むメモリブロックが省電力状態となっている場合には、あるプログラムのスレッドに対応させて前記省電力状態にあるメモリブロックへのアクセスが要求された回数を格納する第1のデータ格納部において、前記メモリ要求の要求元スレッドについての回数を増加させるステップと、
増加後の回数が所定の閾値を超えたか判断するステップと、
増加後の回数が所定の閾値を超えたと判断された場合には、前記メモリブロックに対応させて省電力状態への遷移が禁止されているか否かを表すデータを格納する第2のデータ格納部において、前記メモリ要求のアクセス先を含むメモリブロックについて前記省電力状態への遷移が禁止されていることを表すデータを設定するステップと、
を含む制御方法。
100 中央演算処理装置
200 制御装置
210 第1制御部
220 第1データ格納部
230 第2データ格納部
240 第2制御部
300 主記憶装置
1000 プロセッサ装置
1100 CPU
1200 MAC
1210 MRQ
1220 スケジューラ
1230 モードレジスタ
1240 メモリ
1241 管理テーブル
1250 比較器

Claims (7)

  1. 複数のスレッドを含むプログラムを実行するとともにメモリアクセスを出力する演算処理装置と、通常状態と省電力状態のいずれかにより動作するメモリブロックを複数有する記憶装置とに接続する制御装置において、
    前記複数のメモリブロックの各々が前記通常状態から前記省電力状態への遷移を禁止する旨を示す遷移禁止情報を、前記複数のメモリブロックの各々に対応させて格納する第1のデータ格納部と、
    前記複数のメモリブロックのうち前記省電力状態にあるメモリブロックに対して前記演算処理装置が出力したメモリアクセスが要求された要求回数を、前記複数のスレッドの各々に対応させて格納する第2のデータ格納部と、
    前記演算処理装置が出力したメモリアクセスの要求先を含むメモリブロックが前記省電力状態にある場合、前記第2のデータ格納部に格納された前記メモリアクセスに対応するスレッドの要求回数を増加させ、増加後の要求回数が所定の閾値を超えたとき、前記第1のデータ格納部に格納された前記メモリアクセスの要求先を含むメモリブロックについて前記省電力状態への遷移を禁止することを示す遷移禁止情報を設定する設定部を有する制御装置。
  2. 前記制御装置はさらに、
    前記第1のデータ格納部に前記複数のメモリブロックの各々に対応させて格納された遷移禁止情報に基づき、前記記憶装置の電力を制御する制御部を有する請求項1記載の制御装置。
  3. 前記制御装置において、
    前記設定部はさらに、
    前記演算処理装置が出力したメモリアクセスの要求先を含むメモリブロックが前記省電力状態にある場合、前記第2のデータ格納部に格納された前記メモリアクセスに対応するスレッドの要求回数を増加させ、増加後の要求回数が所定の閾値を超えたとき、前記第1のデータ格納部において、前記メモリアクセスの要求先を含むメモリブロックが前記通常状態から前記省電力状態への遷移が禁止されていないことを示す遷移可能情報が格納されているか判断した結果、前記遷移可能情報が格納されている場合にのみ前記第1のデータ格納部に格納された前記メモリアクセスの要求先を含むメモリブロックについて前記省電力状態への遷移を禁止することを示す遷移禁止情報を設定する請求項1又は2記載の制御装置。
  4. 前記制御装置において、
    前記設定部はさらに、
    前記通常状態または前記省電力状態が設定されるメモリブロック毎に、前記演算処理装置からのメモリアクセスの間隔を計測し、前記複数のメモリブロックのうち、メモリアクセスが所定時間以上無いメモリブロックを前記通常状態から前記省電力状態に遷移させる請求項1〜3のいずれか1項記載の制御装置。
  5. 前記制御装置において、
    前記設定部はさらに、
    前記第2の格納部において、前記複数のスレッドの各々に対応させて格納された要求回数のうち、メモリアクセスが一定時間以上無いスレッドに対応する要求回数を削除する請求項1〜4のいずれか1項記載の制御装置。
  6. 複数のスレッドを含むプログラムを実行するとともにメモリアクセスを出力する演算処理装置と、
    通常状態と省電力状態のいずれかにより動作するメモリブロックを複数有する記憶装置と、
    前記複数のメモリブロックの各々が前記通常状態から前記省電力状態への遷移を禁止する旨を示す遷移禁止情報を、前記複数のメモリブロックの各々に対応させて格納する第1のデータ格納部と、前記複数のメモリブロックのうち前記省電力状態にあるメモリブロックに対して前記演算処理装置が出力したメモリアクセスが要求された要求回数を、前記複数のスレッドの各々に対応させて格納する第2のデータ格納部と、前記演算処理装置が出力したメモリアクセスの要求先を含むメモリブロックが前記省電力状態にある場合、前記第2のデータ格納部に格納された前記メモリアクセスに対応するスレッドの要求回数を増加させ、増加後の要求回数が所定の閾値を超えたとき、前記第1のデータ格納部に格納された前記メモリアクセスの要求先を含むメモリブロックについて前記省電力状態への遷移を禁止することを示す遷移禁止情報を設定する設定部とを備えた制御装置を有する情報処理装置。
  7. 複数のスレッドを含むプログラムを実行するとともにメモリアクセスを出力する演算処理装置と、通常状態と省電力状態のいずれかにより動作するメモリブロックを複数有する記憶装置とに接続するとともに、前記複数のメモリブロックの各々が前記通常状態から前記省電力状態への遷移を禁止する旨を示す遷移禁止情報を、前記複数のメモリブロックの各々に対応させて格納する第1のデータ格納部と、前記複数のメモリブロックのうち前記省電力状態にあるメモリブロックに対して前記演算処理装置が出力したメモリアクセスが要求された要求回数を、前記複数のスレッドの各々に対応させて格納する第2のデータ格納部とを有する制御装置の制御方法において、
    前記制御装置が有する制御部が、前記演算処理装置が出力したメモリアクセスの要求先を含むメモリブロックが前記省電力状態にある場合、前記第2のデータ格納部に格納された前記メモリアクセスに対応するスレッドの要求回数を増加させ、
    増加後の要求回数が所定の閾値を超えたとき、前記制御部が、前記第1のデータ格納部に格納された前記メモリアクセスの要求先を含むメモリブロックについて前記省電力状態への遷移を禁止することを示す遷移禁止情報を設定する制御装置の制御方法。
JP2011172668A 2011-08-08 2011-08-08 制御装置及び方法 Expired - Fee Related JP5699847B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2011172668A JP5699847B2 (ja) 2011-08-08 2011-08-08 制御装置及び方法
US13/525,776 US8788856B2 (en) 2011-08-08 2012-06-18 Control apparatus and method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011172668A JP5699847B2 (ja) 2011-08-08 2011-08-08 制御装置及び方法

Publications (2)

Publication Number Publication Date
JP2013037508A JP2013037508A (ja) 2013-02-21
JP5699847B2 true JP5699847B2 (ja) 2015-04-15

Family

ID=47678289

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011172668A Expired - Fee Related JP5699847B2 (ja) 2011-08-08 2011-08-08 制御装置及び方法

Country Status (2)

Country Link
US (1) US8788856B2 (ja)
JP (1) JP5699847B2 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6415253B2 (ja) * 2014-11-10 2018-10-31 キヤノン株式会社 画像形成システム、該システムにおける画像形成装置の制御方法、及びプログラム
JP6690829B2 (ja) * 2015-08-28 2020-04-28 国立大学法人 東京大学 計算機システム、省電力化方法及び計算機
JP6769789B2 (ja) * 2016-09-07 2020-10-14 シャープ株式会社 メモリ制御装置、電子機器、メモリの制御方法、および制御プログラム
CN110456987B (zh) * 2019-08-06 2023-02-24 暨南大学 一种基于自适应页管理的数据存储磁盘节能方法
US20230214270A1 (en) * 2021-12-31 2023-07-06 Western Digital Technologies, Inc. Readiness states for partitioned internal resources of a memory controller

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08234872A (ja) 1995-02-23 1996-09-13 Fuji Xerox Co Ltd 情報処理装置
JPH096490A (ja) * 1995-06-20 1997-01-10 Hitachi Ltd マイクロコンピュータ、及びデータ処理装置
JPH09214623A (ja) * 1996-01-30 1997-08-15 Canon Inc データ通信装置
US7197652B2 (en) * 2003-12-22 2007-03-27 International Business Machines Corporation Method and system for energy management in a simultaneous multi-threaded (SMT) processing system including per-thread device usage monitoring
US8010764B2 (en) * 2005-07-07 2011-08-30 International Business Machines Corporation Method and system for decreasing power consumption in memory arrays having usage-driven power management
JP4839749B2 (ja) 2005-09-20 2011-12-21 日本電気株式会社 コンピュータ、携帯端末装置、電力制御方法、電力制御プログラム
JP5045163B2 (ja) * 2007-03-13 2012-10-10 富士通株式会社 演算処理装置および演算処理装置の制御方法
WO2010019119A1 (en) * 2008-08-13 2010-02-18 Hewlett-Packard Development Company, L.P. Dynamic utilization of power-down modes in multi-core memory modules
US8356139B2 (en) * 2009-03-24 2013-01-15 Hitachi, Ltd. Storage system for maintaining hard disk reliability
US8812889B2 (en) * 2010-05-05 2014-08-19 Broadcom Corporation Memory power manager

Also Published As

Publication number Publication date
US20130042120A1 (en) 2013-02-14
US8788856B2 (en) 2014-07-22
JP2013037508A (ja) 2013-02-21

Similar Documents

Publication Publication Date Title
US8214679B2 (en) Multi-core processor system with thread queue based power management
US8245070B2 (en) Method for optimizing voltage-frequency setup in multi-core processor systems
US8966305B2 (en) Managing processor-state transitions
JP5699847B2 (ja) 制御装置及び方法
US20100162256A1 (en) Optimization of application power consumption and performance in an integrated system on a chip
US8826049B2 (en) Minimizing airflow using preferential memory allocation by prioritizing memory workload allocation to memory banks according to the locations of memory banks within the enclosure
US20060149975A1 (en) Operating point management in multi-core architectures
US20160350152A1 (en) Bandwidth/resource management for multithreaded processors
KR20160016896A (ko) 메모리 시스템, 메모리 액세스 요청 처리 방법 및 컴퓨터 프로그램
US20140245045A1 (en) Control device and computer program product
JP2014167700A (ja) 計算機、メモリ管理方法およびプログラム
US20090249347A1 (en) Virtual multiprocessor, system lsi, mobile phone, and control method for virtual multiprocessor
US20120166729A1 (en) Subcache affinity
TWI731487B (zh) 系統級快取
US8484418B2 (en) Methods and apparatuses for idle-prioritized memory ranks
JP2014228915A (ja) データ処理装置
JP4620768B2 (ja) 複数のコアを含むプロセッサを有するコンピュータ・システムの制御
JP2014081819A (ja) 情報処理装置
JP2012043031A (ja) 共有キャッシュメモリ装置
JP2007172322A (ja) 分散処理型マルチプロセッサシステム、制御方法、マルチプロセッサ割り込み制御装置及びプログラム
US12013780B2 (en) Multi-partition memory sharing with multiple components
JP2009251713A (ja) キャッシュメモリ制御装置
JP5932261B2 (ja) メモリ制御装置、メモリ制御方法
US10884477B2 (en) Coordinating accesses of shared resources by clients in a computing device
US9411663B2 (en) Conditional notification mechanism

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140404

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20141016

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20141028

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20141226

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150202

R150 Certificate of patent or registration of utility model

Ref document number: 5699847

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees