[go: up one dir, main page]

JP6221792B2 - 情報処理装置、情報処理システム、および情報処理システムの制御方法 - Google Patents

情報処理装置、情報処理システム、および情報処理システムの制御方法 Download PDF

Info

Publication number
JP6221792B2
JP6221792B2 JP2014020561A JP2014020561A JP6221792B2 JP 6221792 B2 JP6221792 B2 JP 6221792B2 JP 2014020561 A JP2014020561 A JP 2014020561A JP 2014020561 A JP2014020561 A JP 2014020561A JP 6221792 B2 JP6221792 B2 JP 6221792B2
Authority
JP
Japan
Prior art keywords
information processing
time
unit
arithmetic processing
data
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
JP2014020561A
Other languages
English (en)
Other versions
JP2015148890A (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 JP2014020561A priority Critical patent/JP6221792B2/ja
Priority to US14/572,854 priority patent/US9710047B2/en
Publication of JP2015148890A publication Critical patent/JP2015148890A/ja
Application granted granted Critical
Publication of JP6221792B2 publication Critical patent/JP6221792B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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 OR CALCULATING; 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 OR CALCULATING; 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 OR CALCULATING; 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1605Handling requests for interconnection or transfer for access to memory bus based on arbitration
    • G06F13/1652Handling requests for interconnection or transfer for access to memory bus based on arbitration in a multiprocessor architecture
    • G06F13/1657Access to multiple memories
    • 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

本発明は、情報処理装置、情報処理システム、および情報処理システムの制御方法に関する。
近年、情報処理装置の障害等に備え、高い可用性や拡張性を実現するクラスタシステムが導入されている。クラスタシステムとは、複数の情報処理装置が接続され、全体として1つのシステムとして運用するシステムをいう。この構成により、クラスタシステムは、複数の情報処理装置により負荷を分散することができる。さらに、クラスタシステムは、1つの情報処理装置において障害が発生しても、別の情報処理装置で処理を継続することができる。また、クラスタシステムは、サーバとして用いられる場合に、複数の情報処理装置により負荷を分散することができる。クラスタシステムにおいて接続される情報処理装置は、ノードと呼ばれる。各ノードは、演算処理装置としてのCPU(Central
Processing Unit)および主記憶装置としてのメモリを有する。複数ノード間で通信を行うクラスタシステムにおいて、あるノードのCPUは、他のノードのメモリ上のデータを取得するために通信している間、無駄な電力を消費することがある。クラスタシステムの大規模化により、CPUの演算時間に対し通信時間は増大している。このため、CPUが無駄に電力を消費する傾向がある。したがって、クラスタシステムの通信時において、CPUの消費電力を低減することが求められる。
クラスタシステムの実現手法の一つとして、分散共有メモリシステムが挙げられる。分散共有メモリシステムにおいて、複数のノードは、データの転送等に使用されるネットワークで接続される。複数のノードを接続するネットワークは、インターコネクトと呼ばれる。分散共有メモリシステムは、高速インターコネクトで接続した複数の情報処理装置を一つの情報処理装置に仮想化する。このため、分散共有メモリシステムは、プログラムの実行単位であるスレッドを、多数並列して実行することができる。また、分散共有メモリシステムは、各ノードが持つメモリをシステム全体で共有し、各ノード内のCPUから相互にアクセスができるようにすることで、大容量メモリを利用することができるという利点を有する。
ここで、あるノードのCPUで実行されるプロセスは、メモリを仮想アドレス空間と呼ばれる1つのメモリ空間として利用する。仮想アドレス空間はページと呼ばれる単位で管
理されており、プロセスはあるページにアクセスし、プログラムの実行に使用するデータを取得する。このとき、ノードがアクセスしようとするページの実体である物理メモリは、自身のノード内のメモリであるローカルメモリに割り当てられていない場合が生じる。アクセスしようとするページが、ローカルメモリに割り当てられていない場合、ページフォルトと呼ばれる例外が発生する。ページフォルトが発生すると、CPUは、例外処理または割込処理と呼ばれる処理を通じてアクセスしようとするページの取得処理を行う。単体の情報処理装置の場合、通常、HDD等の2次記憶装置に退避されたページをローカルメモリに移すなどの処理を行う。一方、分散共有メモリシステムでは、HDD等の2次記憶装置に退避されたページが他のノードのメモリに存在し、他のノードより当該ページのデータの取得を行う必要がある場合が存在する。他のノードのメモリであるリモートメモリから、ページのデータを取得するためには、通信処理が発生する。この通信処理の間、CPUは、多くの時間が通信完了待ちに費やされるにもかかわらず高いCPU周波数で動作するため、無駄な電力を消費する。
CPUの消費電力は、電圧の2乗とクロック周波数との積に比例するため、CPUの電
圧およびクロック周波数を低く設定することで、CPUの消費電力を削減することができる。CPUの電圧およびクロック周波数を制御するための技術として、DVFS(Dynamic Voltage and Frequency Scaling)機構が知られている(例えば、非特許文献3)。このDVFS機構を備えたCPUは、電圧およびクロック周波数を変更することができる。以下、CPUのクロック周波数を、CPU周波数という。
特開昭61−49268号公報 特開2005−182103号公報 特開2003−323334号公報
Venkatesh Pallipadi, Alexey Starikovskiy, "The Ondemand Governor", Canada, Proceedings of the Linux Symposium, July 19th-22nd, 2006, Volume Two 中島耕太、佐藤充、久門耕一、谷口秀夫「10Gb Ethernet 上のRDMA転送機能による仮想マシン移動の設計と評価」情報処理学会論文誌.コンピューティングシステム 48(SIG_18(ACS_20)), 2007-12-15, p.69-82 "Enhanced Intel(R) SpeedStep(R) Technology for the Intel(R) Pentium(R) M Processor",March 2004 Bhavyasree Unni, Nazia Parveen, Ankit Kumar, B. S. Bindhumadhava, "An intelligent energy optimization approach for MPI based applications in HPC systems", CSI Publications 2013, p.2 Konstantinos Koukos, David Black-Schaffer, Vasileios Spiliopoulos, Stefanos Kaxiras, "Towards More Efficient Execution: A Decoupled Access-Execute Approach", ICS’13, 2013, Uppsala University
分散共有メモリシステムにおいてページフォルトが発生した場合、CPUは、取得しようとするページのデータを、他の情報処理装置のメモリからローカルメモリへインターコネクト経由で転送する。以下、ページのデータを転送することをページ転送という。ページ転送処理は、CPUのリソースを専有する場合があり、転送処理の間も電力消費が発生する。CPUのリソースが専有された状態はビジーウェイトと呼ばれる。CPUがビジーウェイトの状態にあると、CPUの使用率が高くなる。近年の多くのCPUは、CPU使用率が高い場合に、CPU周波数は高く設定されるため、消費電力も大きくなる。しかしながら、ページ転送が完了するまでのビジーウェイトの間、CPU周波数が高くても、ページ転送の性能はあまり向上しない。図1を用いて、CPU周波数とCPUの性能の関係について説明する。図1は、CPUクロック周期を変更したときの片道におけるインターコネクトの遅延時間を示すグラフである。なお、図1で横軸のCPUクロック周期、縦軸の遅延ともに、単位は省略されている。ここでは、図1の縦軸、横軸は無単位であるとして説明する。CPUクロック周期を長く、すなわちCPU周波数を低く設定しても、インターコネクトの遅延時間の延びはわずかである。図1では、CPUクロック周期を約0.2長く設定した場合、インターコネクトの遅延時間は、4.77から4.86となっている。これは、約1.8%の延びである。つまり、CPU周波数を高く設定しても、CPU周波数が低い場合と比べてインターコネクトの遅延時間があまり短くなることはない。したがって、ページ転送処理の間、CPU周波数は高く設定されても性能向上は期待できず、消費電力が大きくなるという問題が生じる。
そこで、開示の技術では、情報処理装置は、ページ転送の間のCPUの動作に着目し、演算処理装置のクロック周波数又は電圧を制御することで、演算処理装置の性能低下を抑えつつ、演算処理装置の省電力化を図ることを目的とする。
開示の技術の一態様の情報処理装置は、他の情報処理装置と接続される情報処理装置であって、演算処理装置と、前記他の情報処理装置が有する主記憶装置上のデータへのアクセス要求が前記演算処理装置から発生したときに自身の主記憶装置の例外事象を検出する例外検出部と、前記例外事象の検出に基づいて前記演算処理装置のクロック周波数又は電圧を変更する制御部とを備える。
開示の技術によれば、情報処理装置は、他の情報処理装置が有する主記憶装置にアクセスした場合、例外の検出に基づいて、演算処理装置のクロック周波数又は電圧を制御することで、演算処理装置の性能低下を抑えつつ、演算処理装置の省電力化を図ることができる。
CPUクロック周期を変更したときの片道におけるインターコネクトの遅延時間を示すグラフである。 情報処理システムの構成を示す図である。 ページフォルトによる例外発生を示す図である。 都度方式のブロック構成図である。 変換テーブルのデータ構造を示す図である。 実施例1の手順によるCPU周波数の変化の例を示す図である。 プロセッサ毎のDVFS遷移に要する時間の例を示す図である。 実施例1におけるページ転送時間の計測処理手順を示すフローチャートである。 都度方式におけるページフォルト発生時の情報処理システムの処理フローの概要を示す図である。 実施例1におけるCPU周波数設定処理手順を示すフローチャートである。 スケジューラ方式のブロック構成図である。 実施例2の手順によるCPU周波数の変化の例を示す図である。 スケジューラ方式における単位時間中の情報処理システムの処理フローの概要を示す図である。 実施例2におけるページフォルト処理のための通信時間の計測処理手順を示すフローチャートである。 実施例2におけるCPU使用率換算処理手順を示すフローチャートである。 実施例2におけるOSによるCPU周波数設定処理手順を示すフローチャートである。 非特許文献2におけるDBサーバの更新ページ量を示すグラフである。 図17におけるapproximateのグラフを表す関数である。 図18の近似式においてt=0でのページ更新速度を示すグラフである。 8ノードを有する情報システムの例を示す図である。 DVFSによる電力削減効果を示すグラフである。
以下、図面に基づいて、本発明の実施の形態を説明する。以下の実施形態の構成は例示であり、本発明は実施形態の構成に限定されない。
<情報処理システムの構成>
図2は、情報処理システム1の構成を示す図である。図2において、情報処理システム1は、ノード2a、ノード2b、ハイパーバイザー3、OS4、インターコネクト6を有する。また、図2では、OS4上で実行中のプログラムの状態が、プロセス5として示されている。
ノード2aおよびノード2bは、情報処理システム1内で相互に接続される。なお、情報処理システム1内で相互に接続されるノードの数は、2より多くてもよい。情報処理システム1内で相互に接続されるノードを総称する場合は、ノード2という。ノード2aは、CPU20aおよびメモリ21aを有する。同様に、ノード2bは、CPU20bおよびメモリ21bを有する。CPU20aおよびCPU20bを総称する場合は、CPU20という。メモリ21aおよびメモリ21bを総称する場合は、メモリ21という。すなわち、情報処理システム1内で相互に接続されるノード2は、それぞれCPU20およびメモリ21を有し、各種演算処理を行う。ノード2は、情報処理装置の一例である。
ハイパーバイザー3は、複数のノード2を1つの情報処理装置に仮想化するためのプログラムである。図2において、ハイパーバイザー3は、仮想CPUであるvCPU30aおよびvCPU30bを有する。vCPU30aおよびvCPU30bを総称する場合は、vCPU30という。本実施形態では、ハイパーバイザー3は、情報処理システム1内で相互に接続されたノード2と同数のvCPU30を有する。各vCPU30は、各ノード2のCPU20と1対1で対応している。各vCPU30に割り当てられたプログラムは、実際には対応するCPU20に割り当てられ実行される。
OS4は、ハイパーバイザー3により仮想化された情報処理装置を管理し、あるいは、利用するためのプログラムである。図2において、プロセス5はOS4およびハイパーバイザー3を介してvCPU30aに割り当てられ、実際にはCPU20aにより実行される。
なお、ハイパーバイザー3およびOS4は、情報処理システム1内の代表する一つのノード2、例えばノード2aに含まれていてもよい。また、複数のノード2をハイパーバイザー3によって仮想化せずに、各ノード2が個別のOSにより動作し、各CPU20が相互に通信する場合にも、本技術は適用することができる。この場合、各CPU20は、通信を検知して、通信中にはCPU周波数を低くすればよい。
インターコネクト6は、複数のノード2を接続するネットワークである。各ノード2が有する各CPU20は、インターコネクト6を介して相互に通信する。
<ページフォルトによる例外発生>
図3は、ページフォルトによる例外発生を示す図である。図3において、プロセス5はvCPU30aに割り当てられている。プロセス5は、vCPU30aを介して、ノード2aおよびノード2bにアクセスする。vCPU30aは、CPU20aと対応づけられているため、プロセス5からみて、ノード2aはローカルノードであり、ノード2bはリモートノードである。
プロセス5は、実行中、vCPU30aを介して、ノード2aのメモリ21aのページを取得する。取得しようとするページがローカルノードのメモリ21aに割り当てられていない場合に、ページフォルトが発生する。ページフォルトが発生すると、CPU20a
は、例えば、ノード2bのメモリ21bから当該ページに対応するデータを取得する。
なお、ページフォルトは、取得しようとするページがメモリ21aに割り当てられていないが、当該ページに対応するデータはノード2aの補助記憶装置に存在する場合を含む。また、ページフォルトは、取得しようとするページがメモリ21aに割り当てられているが、当該ページに対応するデータが補助記憶装置に退避されているような場合も含む。
[実施例1]
実施例1では、ページフォルトによる例外が発生すると、情報処理装置は、他の情報処理装置への通信に着目し、ページフォルト発生からデータ取得までの間、CPU周波数を低くすることで消費電力を低減する。ノード2aは、ページフォルトが発生すると、1回のページフォルト毎に、例えば、通信処理を行う間CPU周波数を低く設定し、通信処理が完了すると元の周波数に戻すという制御を行う。この方式を都度方式と呼ぶ。実施例1では、CPU周波数を低くすることで消費電力を低減しているが、演算処理装置の電圧を低くすることにより消費電力を低減してもよい。以下、CPU周波数を変更する処理は、電圧を変更する処理に置き換えても良いものとする。
<都度方式のブロック構成>
図4は、都度方式のブロック構成図である。図4を用いて、都度方式のブロック構成について説明する。図4において、ノード2aでは、ハイパーバイザー3およびOS4の環境下で、プロセス5が実行される。またノード2aは、インターコネクト6を介してノード2bに接続される。CPU20aは、例外検出部200、周波数設定レジスタ201、およびタイマ202を備える。ハイパーバイザー3は、通信処理部300、アドレス変換部301、変換テーブル302、都度方式CPU周波数設定部303、および時間計測部304を備える。ノード2aは、情報処理装置の一例である。またノード2bは、他の情報処理装置の一例である。CPU20aは、ハイパーバイザー3に示された通信処理部300、アドレス変換部301、変換テーブル302、都度方式CPU周波数設定部303、時間計測部304として、メモリ21aに実行可能に展開されたコンピュータプログラムを実行する。ただし、通信処理部300、アドレス変換部301、変換テーブル302、都度方式CPU周波数設定部303、時間計測部304のいずれか、またはその処理の一部がハードウェア回路により実行されてもよい。
例外検出部200は、プロセス5においてページフォルトによる例外が発生したことを検知する。例外検出部200は、例えば、ページフォルトに対応する例外処理プログラムで、CPU20aの処理により、ハイパーバイザー3に制御を移す。周波数設定レジスタ201は、CPU20aのCPU周波数を格納する。CPU20aのCPU周波数は、周波数設定レジスタ201に設定された周波数に変更される。タイマ202は、ハイパーバイザー3、OS4等に計時機能を提供する。
通信処理部300は、ページフォルトが発生し、プロセス5が取得しようとするページを所有する他のノード2のメモリ21の物理アドレスが特定されると、ローカルメモリであるメモリ21aに当該ページのデータを転送する処理を起動する。
アドレス変換部301は、ページフォルトが発生すると、プロセス5が取得しようとするページの仮想アドレスから、当該ページを所有するノード2のメモリ21上の物理アドレスを、変換テーブル302を参照して特定する。
変換テーブル302は、プロセス5が取得しようとするページの仮想アドレスを、当該ページを所有するノード2および当該ノード2のメモリ21における物理アドレスと対応づける。図5は、変換テーブル302のデータ構造を示す図である。変換テーブル302
は、「仮想アドレス」、「ページ所有ノード」および「物理アドレス」の項目を有する。「仮想アドレス」はハイパーバイザー3のvCPU30における当該ページの仮想アドレスを示す項目である。「ページ所有ノード」は、「仮想アドレス」に割り当てられたページを所有するノード2を示す項目である。「物理アドレス」は、当該ノード2における「仮想アドレス」に割り当てられたページの物理アドレスを示す項目である。
都度方式CPU周波数設定部303は、ページフォルトが発生し、例えば、ページ転送処理が開始するとCPU周波数を低く設定する。また、都度方式CPU周波数設定部303は、所定時間経過後、CPU周波数を元に戻す。都度方式CPU周波数設定部303は、周波数設定レジスタ201にCPU周波数を設定することで、CPU周波数を変更する。都度方式CPU周波数設定部303は制御部の一例である。
時間計測部304は、ページの転送時間をあらかじめ計測する。また、時間計測部304は、タイマ202を参照してページ転送のために通信が開始してからの時間を計測し、所定時間の経過後にCPU周波数を元に戻すタイミングを都度方式CPU周波数設定部303に通知する。ここで、上記の所定時間は、本来、ページ転送に要する時間である。しかしながら、CPU20として使用するプロセッサのCPU周波数が、低く設定された状態から元のCPU周波数に戻るまでには、一般に10μsec程度の遷移時間を要する。この遷移時間は、DVFS遷移時間と呼ばれる。したがって、ページ転送の完了時に元のCPU周波数に戻った状態とするため、上記の所定時間は、ページ転送時間からDVFS遷移時間を差し引いた時間とする。なお、プロセッサ毎にDVFS遷移時間は異なるため、DVFS遷移に要する時間は、利用環境毎に設定しておく。図7は、プロセッサ毎のDVFS遷移時間設定の例を示す図である。例えば、Intel Xeon X5570プロセッサは10μsec、AMD FX−8150プロセッサは8μsecのDVFS遷移時間を要する(非特許文献5参照)。時間計測部304は、利用環境毎に設定されたDVFS遷移時間を差し引いて、上記の所定時間を算出する。
<都度方式におけるCPU周波数の変化>
図6は、実施例1の手順によるCPU周波数の変化の例を示す図である。図6を用いて、都度方式におけるページフォルト発生からOSに制御が復帰するまでのCPU周波数の変化について説明する。ページフォルトが発生し、例えば、ページ転送のために通信が開始すると、ハイパーバイザー3の都度方式CPU周波数設定部303は、CPU周波数を低く設定する。ここで、ページ転送のための通信開始の時点は、正確には、実際のページ転送の開始時点が望ましい。CPU周波数が低く設定される時点と、ビジーウェイトとなる時点とが、一致する精度が高まるからである。ただし、ページ転送のための通信開始の時点は、実際のページ転送の開始時点に限定される訳ではない。つまり、CPU周波数が低く設定される時点と、ビジーウェイトとなる時点との間に許容限度のずれを認める場合には、例えば、ページフォルトが発生した時点をページ転送のために通信開始の時点と見なしてもよい。また、ページフォルトが発生した後、通信処理部300がページのデータを転送する処理を起動した時点をページ転送のための通信開始の時点と見なしてもよい。
さらに、ページ転送のために通信が終了するか、あるいは、通信開始の時点から、(ページ転送時間)−(DVFS遷移時間)の時間が経過すると、都度方式CPU周波数設定部303は、CPU周波数を元のCPU周波数に設定する。なお、(ページ転送時間)−(DVFS遷移時間)の時間の経過を判定する始点となる通信開始の時点は、正確には、実際のページ転送の開始時点にすることが望ましい。CPU周波数が元の値に戻る時点と、ページ転送が終了し、CPU20がビジーウェイトから復帰する時点とが、一致する精度が高まるからである。ただし、通信開始の時点が実際のページ転送の開始時点に限定されるわけではない。つまり、CPU周波数が元の値に戻る時点と、ページ転送が終了し、CPU20がビジーウェイトから復帰する時点との間に許容限度のずれを認める場合には
、例えば、ページフォルトが発生した時点、あるいは、ページフォルトが発生した後、通信処理部300がページのデータを転送する処理を起動した時点等を通信開始の時点としてもよい。
<都度方式の処理フロー>
図8から図10を用いて、都度方式の処理フローについて説明する。都度方式では、時間計測部304は、ページ転送時間をあらかじめ計測しておく。ページフォルトが発生すると、ハイパーバイザー3は、ページ転送時間からDVFS遷移時間を差し引いた時間の間、CPU周波数を低く設定する。
図8は、実施例1におけるページ転送時間の計測処理手順を示すフローチャートである。ページ転送時間の計測処理の実行時期に限定がある訳ではない。例えば、ページ転送時間の計測処理は、1回目のページフォルトが発生したときに行ってもよい。ステップS10において、時間計測部304は、ページ転送のための通信が開始すると時間の計測を開始する。ステップS11において、CPU20aは、他のノード2bのメモリ21bから自身のノード2aのメモリ21aに所定のサイズのページのデータを転送する。所定のサイズとは、メモリ21上の管理単位であるページのサイズである。ステップS12において、時間計測部304は、ページ転送のための通信が完了すると時間の計測を終了する。ステップS12の処理が完了すると、時間計測部304は、ページ転送時間の計測処理を終了する。
図9は、都度方式におけるページフォルト発生時の情報処理システムの処理フローの概要を示す図である。ページフォルトによる例外が発生すると、例外検出部200は、例外を検出する(A1)。例外が検出されると、ハイパーバイザー3に制御が移動する(A2)。アドレス変換部301は、ページフォルトの原因となったページの仮想アドレスを、変換テーブル302を参照して、当該ページを所有するノードおよび当該ページの物理アドレスに変換する。通信処理部300は、変換により得られたページ所有ノードおよび物理アドレスを受け取り、転送処理を起動する(A3)。アドレス変換部301は、通信処理部300により転送処理が起動されることを、都度方式CPU周波数設定部303に通知する(A4)。都度方式CPU周波数設定部303は、周波数設定レジスタ201に低い値のCPU周波数を設定する(A5)。時間計測部304は、通信が開始されると、時間の計測を開始する(A6)。時間計測部304は、タイマ202を参照し、所定時間が経過すると、CPU周波数を元に戻すタイミングを都度方式CPU周波数設定部303に通知する(A7)。
図10は、実施例1におけるCPU周波数設定処理手順を示すフローチャートである。CPU周波数設定処理は、ページフォルトの発生により開始する。ステップS20において、例外検出部200は、ページフォルトによる例外を検出する。例外検出部200は、前記他の情報処理装置が有する主記憶装置上のデータへのアクセス要求が前記演算処理装置から発生したときに自身の主記憶装置の例外事象を検出するステップの一例として、ステップS20の処理を実行する。
ステップS21において、アドレス変換部301は、変換テーブル302を参照して、プロセス5がアクセスしようとしたページの仮想アドレスから、当該ページを所有するノード2を調査する。ステップS22において、通信処理部300は、転送処理を起動し通信が開始される。CPU20aは、ステップS21で調査したノード2、例えばノード2bのメモリ21bから当該ページを取得する。
ステップS23において、ハイパーバイザー3は、CPU周波数を低く設定する。具体的には、都度方式CPU周波数設定部303は、周波数設定レジスタ201に低い値のC
PU周波数を設定する。ステップS23は、周波数設定部が、例外事象の検出に基づいて、演算処理装置のクロック周波数を前記例外事象の検出前よりも低い周波数に設定することを例示する。また、ハイパーバイザー3は、前記例外事象の検出に基づいて前記演算処理装置のクロック周波数を変更するステップの一例としてステップS23の処理を実行する。
ステップS24において、ハイパーバイザー3は、ページ転送のための通信が完了したか否かを判定する。通信が完了した場合には、ハイパーバイザー3はステップS26の処理に進む。通信が完了していない場合には、ハイパーバイザー3はステップS25の処理に進む。
ステップS25において、ハイパーバイザー3は、ページ転送時間からDVFS遷移時間を差し引いた時間が経過したか否かを判定する。当該時間が経過していない場合は、ハイパーバイザー3はステップS24の処理に戻る。当該時間が経過した場合は、ハイパーバイザー3はステップS26の処理に進む。
ステップS26において、都度方式CPU周波数設定部303は、CPU周波数を元の周波数、すなわち通信開始前の値に設定する。具体的には、都度方式CPU周波数設定部303は、周波数設定レジスタ201に通信開始前のCPU周波数の値を設定する。ハイパーバイザー3は、前記例外事象の検出に基づいて前記演算処理装置のクロック周波数を変更するステップの一例としてステップS26の処理を実行する。ステップS26の処理が完了すると、ハイパーバイザー3は、CPU周波数設定処理を終了する。
実施例1で説明した都度方式は、1回のページフォルト毎に、通信処理を行う間CPU周波数を低く設定し、通信処理が完了すると元の周波数に戻すという制御を行う。都度方式は、ページ転送時間がDVFS遷移時間に対し十分に長い場合に有効である。すなわち、ページ転送時間からDVFS遷移時間を差し引いた時間の間、CPU周波数を低く設定することで、性能低下を抑えつつ、CPU20の省電力化を図ることができる。すなわち、実施例1で説明したノード2aは、例外検出部200によってページフォルトで例示される例外を検出し、検出した例外に基づいて性能低下を抑えつつ、都度方式CPU周波数設定部303により省電力化を図ることができる値に周波数を調整できる。さらに、図10の処理では、都度方式CPU周波数設定部303は、データの取得が完了したか(S24でY)、またはデータの取得にかかる時間からCPU20aのCPU周波数を変更前の周波数に戻すための遷移時間を引いた時間がデータの取得開始時から経過したときに(S25でY)、CPU20aのCPU周波数を変更前の周波数に設定する。したがって、ノード2aは、図10の処理によって、CPU周波数が低く設定される時点と、ビジーウェイトとなる時点とが一致する精度を高めることができる。
[実施例2]
実施例2では、ノード2aは、所定の単位時間中、ページフォルト処理のための通信時間を積算し、通信処理を行っている間CPUは動作していなかったとみなしてCPU使用率を算出する。ノード2aは、算出されたCPU使用率に応じて、CPU周波数を制御する。この方式をスケジューラ方式と呼ぶ。実施例2では、CPU周波数を制御することで消費電力を低減しているが、演算処理装置の電圧を制御することにより消費電力を低減してもよい。以下、CPU周波数を制御する処理は、電圧を制御する処理に置き換えても良いものとする。
<スケジューラ方式のブロック構成>
図11は、スケジューラ方式のブロック構成図である。図11を用いて、スケジューラ方式のブロック構成について説明する。都度方式と同じ構成については、説明を省略する
。ハイパーバイザー3は、実施例1の都度方式CPU周波数設定部303に代えて、CPU使用率換算部305を備える。OS4は、CPU周波数設定部400および換算CPU使用率受取り部401を備える。CPU20aは、CPU周波数設定部400、換算CPU使用率受取り部401として、メモリ21aに実行可能に展開されたコンピュータプログラムを実行する。ただし、CPU周波数設定部400、換算CPU使用率受取り部401のいずれか、またはその処理の一部がハードウェア回路により実行されてもよい。
CPU使用率換算部305は、所定の単位時間のうち、ページフォルト処理のための通信時間およびその他の作業指示やデータを待つためのアイドル時間の両方を差し引いた時間が、当該単位時間に占める割合をCPU使用率として算出する。このCPU使用率を換算CPU使用率と呼ぶ。なお、ページフォルト処理のための通信時間は、時間計測部304により計測される。具体的には、時間計測部304は、所定の単位時間中ページフォルトが発生すると、ページ転送のための通信開始から通信完了までの時間を計測し、計測した時間を積算してページフォルト処理のための通信時間を算出する。
CPU周波数設定部400は、ある単位時間において、換算CPU使用率がOS4で固有に定められた閾値より小さい場合、次の単位時間におけるCPU周波数を低く設定する。また、CPU周波数設定部400は、換算CPU使用率が閾値以上の場合は、次の単位時間におけるCPU周波数を高く設定する。OS4には、CPU使用率に応じてCPU周波数を調整する機構が備わっており、CPU周波数設定部400は、当該機構を利用してCPU周波数を設定する。CPU周波数設定部400は制御部の一例である。
換算CPU使用率受取り部401は、CPU使用率換算部305が算出したCPU使用率を受取り、CPU周波数設定部400に通知する。
<スケジューラ方式におけるCPU周波数の変化>
図12は、実施例2の手順によるCPU周波数の変化の例を示す図である。図12を用いて、スケジューラ方式におけるCPU周波数の制御について説明する。図12において、所定の単位時間は1msecとする。プロセスAの処理において、OS4は、1msecの単位時間ごとに、CPU周波数の制御を行う。各単位時間中、複数のページフォルトが発生する。時間計測部304は、ある単位時間中ページフォルトが発生すると、ページ転送のための通信開始から通信完了までの時間を計測し、計測した時間を積算してページフォルト処理のための通信時間の合計を算出する。
本実施例のスケジューラ方式では、ページフォルト処理のための通信時間を考慮し、当該通信時間をアイドル時間とみなす。このため、ページフォルトによる通信時間がCPU使用時間に含まれる場合と比較してCPU使用率は低くなる。
<スケジューラ方式の処理フロー>
図13から図16を用いて、スケジューラ方式の処理フローについて説明する。スケジューラ方式では、時間計測部304は、ページフォルト処理のための通信時間の合計を算出する。OS4は、換算CPU使用率に応じて、CPU周波数を制御する。
図13は、スケジューラ方式における単位時間中の情報処理システムの処理フローの概要を示す図である。ページフォルトによる例外が発生してから、通信処理部300が転送処理を起動するまでの処理(A1〜A3)は、図9の都度方式の場合と同様である。すなわち、例外検出部200による例外の検出(A1)に基づき、ハイパーバイザー3による処理を通じて、アドレス変換部301は、通信処理部300により転送処理が起動されることを、時間計測部304に通知する(B4)。時間計測部304は、ページ転送のための通信開始から通信完了までの時間を計測し、計測した時間を積算してページフォルト処理のため
の通信時間の合計を算出する。時間計測部304は、算出した通信時間の合計をCPU使用率換算部305に通知する(B5)。CPU使用率換算部305は、換算CPU使用率を算出して、換算CPU使用率受取り部401に通知する(B6)。換算CPU使用率受取り部401は、CPU周波数設定部400に換算CPU使用率を通知する(B7)。CPU周波数設定部400は、換算CPU使用率に応じたCPU周波数を、周波数設定レジスタ201に設定する(B8)。時間計測部304は、タイマ202を参照し、単位時間が経過すると、換算CPU使用率を算出するタイミングをCPU使用率換算部305に通知する(B9)。
図14は、実施例2におけるページフォルト処理のための通信時間の計測処理手順を示すフローチャートである。ページフォルト処理のための通信時間の計測処理は、単位時間が開始してから終了するまでの間、ページフォルトが発生する度に行われる。各ページフォルト処理のための通信時間は積算され、単位時間中の当該通信時間の合計が算出される。ページフォルト処理のための通信時間の計測処理は、ページフォルトの発生により開始する。
ステップS30からステップS32は、それぞれ、図10の都度方式におけるステップS20からステップS22と同様である。なお、例外検出部200は、前記他の情報処理装置が有する主記憶装置上のデータへのアクセス要求が前記演算処理装置から発生したときに自身の主記憶装置の例外事象を検出するステップの一例として、ステップS30の処理を実行する。
ステップS33において、時間計測部304は、ページ転送のための通信が開始すると時間の計測を開始する。ステップS34において、時間計測部304は、ページ転送のための通信が完了したか否かを判定する。通信が完了した場合には、時間計測部304はステップS35の処理に進む。通信が完了していない場合には、時間計測部304は再度ステップS34の処理を行う。ステップS35において、時間計測部304は、ページ転送のための通信が完了すると時間の計測を停止する。ステップS36において、時間計測部304は、通信に要した時間を、単位時間中の通信時間の合計時間に加算する。ステップS36処理が完了すると、ハイパーバイザー3は、ページフォルト処理のための通信時間の計測処理を終了する。
図15は、実施例2におけるCPU使用率換算処理手順を示すフローチャートである。CPU使用率換算処理は、単位時間の経過により開始する。ステップS40において、CPU使用率換算部305は、アイドル時間をOSから取得する。ステップS41において、CPU使用率換算部305は、単位時間のうち、ページフォルト処理のための通信時間の合計時間およびアイドル時間を除いた時間が、当該単位時間中に占める割合をCPU使用率として算出する。
ステップS42において、CPU使用率換算部305は、算出した換算CPU使用率をOS4の換算CPU使用率受取り部401に通知する。ステップS43において、換算CPU使用率受取り部401は、通知された換算CPU使用率をCPU周波数設定部400に通知する。ステップS44において、OS4は、通知された換算CPU使用率を周波数設定レジスタ201に設定し、CPU周波数設定処理を行う。OS4は、前記例外事象の検出に基づいて前記演算処理装置のクロック周波数を変更するステップの一例としてステップS44の処理を実行する。ステップS44の処理が完了すると、OS4はCPU使用率換算処理を終了する。
図16は、実施例2におけるOS4によるCPU周波数設定処理手順を示すフローチャートである。図16では、動作周波数として、2つの周波数F1、F2(F1+ΔF=F
2)を用いる。ここでΔFは2つの周波数の差である。OS4による周波数設定処理は、図15におけるステップS44に相当する。ステップS50において、OS4は、換算CPU使用率受取り部401から受け取ったCPU使用率が、閾値より大きいか否かを判定する。OS4は、CPU使用率が閾値以上の場合は、ステップS51の処理に進む。OS4は、CPU使用率が閾値より小さい場合は、ステップS52の処理に進む。ステップ51において、OS4は、CPU周波数設定レジスタ201に、2つの周波数のうち高い方のCPU周波数F2の値を設定する。ステップ52において、OS4は、CPU周波数設定レジスタ201に、2つの周波数のうち低い方のCPU周波数F1の値を設定する。ステップS51またはステップS52の処理が完了すると、OS4はCPU周波数設定処理を終了する。
実施例2で説明したスケジューラ方式は、ページフォルト処理のための通信時間を考慮してCPU使用率を算出し、算出されたCPU使用率に応じて、CPU周波数を制御する。スケジューラ方式は、ページ転送時間がDVFS遷移時間に対しそれほど長くない場合に有効である。スケジューラ方式は、所定の単位時間中、ページフォルト処理のための通信時間を積算し、通信処理を行っている間CPUは動作していなかったとみなすため、CPU使用率が低く算出される。CPU使用率が閾値より小さい場合には、OS4により、次の単位時間中CPU周波数が低く設定される。したがって、ページフォルト処理のための通信時間が考慮されない場合に比べて、性能低下を抑えつつ、CPU20の省電力化を図ることができる。すなわち、実施例2で説明したノード2aは、例外検出部200によってページフォルトで例示される例外を検出し、検出した例外に基づいて性能低下を抑えつつ、CPU使用率換算部305およびOS4により省電力化を図ることができる値に周波数を調整できる。実施例2では、図16のように、OS4はCPU使用率が閾値R以上かRより小さいかの2段階で判定し、CPU周波数を設定する。しかし、スケジューラ方式は、図16の手順に限定されない。例えば、CPU使用率が閾値R1以下、R1からR2の間、R2以上の3段階、またはそれ以上に細かく設定した閾値の段階により、CPU使用率を判定してもよい。
<システム効果見積もり>
本発明を分散共有メモリシステムに適用した場合の省電力効果を概算し、システム効果の見積もりを行った。見積もりの結果、効果が大きいケースでは、約50%のCPUの省電力化が可能であった。システム全体での効果を算出するために、まず以下の4項目について見積もりを行った。見積もりを行った項目は、(a)具体的なアプリケーションにおけるページ更新速度、(b)1回毎のページ転送時間、(c)分散共有メモリシステム上での平均ページアクセス処理時間、(d)DVFSによる電力削減効果である。
まず、1項目目の(a)具体的なアプリケーションにおけるページ更新速度の見積もりを行う。ページ更新速度の見積もりは、論文「10Gb Ethernet 上のRDMA転送機能による仮想マシン移動の設計と評価(非特許文献2)」内にある、DBサーバ(および負荷サーバ)を実行時のページ更新速度の調査結果を利用した。図17は、非特許文献2におけるDBサーバの更新ページ量を示すグラフである(非特許文献2、P10 図15参照)。図17のグラフにおける評価は、プロセッサがOpteron 254(2.8GHz)、
メモリが4GB、オンメモリのデータベースを使用するという条件で行った(非特許文献2、P3 表1参照)。評価対象のアプリケーションの実行において、図17のグラフの横軸は経過時間、縦軸は更新ページ数を示す。同じページの更新は1回とカウントした。図18は、図17におけるapproximateのグラフの近似式である。ページへのアクセスが完全にランダムであると仮定すると、更新ページ数Dは時間経過tにより図18の近似式により表される。
ここで、求めたいページ更新速度は、同じページの更新を重複してカウントした場合の
ページ更新速度である。重複してカウントした場合のページ更新速度は、更新されたページが存在しない場合t=0のときのグラフの傾きに相当し、図18の近似式の関数を微分して得られる導関数のt=0としたときの値である。図17のグラフの結果から、評価対象のアプリケーションのページ更新速度は、おおむね52511ページ/secとなる。図19は、図18の近似式においてt=0でのページ更新速度を示すグラフである。図19おいてt=0における接線の傾きが、図18の近似式の導関数においてt=0としたときのページ更新速度52511ページ/secを示している。
非特許文献2の評価環境は、ページサイズが4KBで、400MBのメモリを利用している。一方、本実施例は、ページサイズが2MBで、200GB程度のメモリを利用することを想定しているが、利用するメモリに対するページサイズの割合は、非特許文献2の評価環境と同程度であるため、ページ更新速度は同程度と考えられる。
したがって、システム効果の見積もりにおいて、ローカルメモリに対するページ更新速度は52511ページ/secとする。このとき、ローカルメモリ上のページに対する1ページ当たりのページアクセス時間は1/52511sec=19μsecとなる。
次に、2項目目の(b)1回毎のページ転送時間の見積もりを行う。ページサイズが2MBのデータを、RDMA(Remote Direct Memory Access)のRead(Write)機能により転送した場合のページ転送時間の測定値は、660μsec程度である。測定に使用したCPUはIntel Xeon X5570、RAM(Random Access Memory)は24GB、OSはRHEL5.4、HCA(Host Channel Adapter)はMellanox QDR(ConnectX)である。
さらに、3項目目の(c)分散共有メモリシステム上での平均ページアクセス処理時間の見積もりを行う。ここでは、8ノードを有する情報システムについて行う。また、平均ページアクセス処理時間とは、1ページ当たりのページアクセス時間に、ページ転送時間の平均値を加えた時間をいう。図20は、8ノードを有する情報システムの例を示す図である。図20において情報システム1は、分散共有メモリシステムであって8個のノードを有するものとする。評価対象のアプリケーションの実行中、各ページはランダムにアクセスされると仮定すると、ページフォルト、すなわちリモートノードへのアクセスは、(
ノード数−1)/(ノード数)の確率で発生する。図20の例では、リモートノードへの
アクセスは7/8の確率で発生する。リモートノードへのアクセスが発生すると、通信によるページ更新が行われる。なお、システム効果の見積もりは、リモートノードからページを取得した場合、ローカルノードの最も古いページを追い出すページの複製がないモデルで行った。
ここで、(a)具体的なアプリケーションにおけるページ更新速度の見積もり結果から、ローカルメモリ上のページに対する1ページ当たりのページアクセス時間は19μsecとなる。また、(b)1回毎のページ転送時間の見積もり結果から、ページ転送時間は660μsecである。リモートノードへのアクセスは7/8の確率で発生するため、ページ転送時間の平均値は、660×7/8μsecとなる。したがって、分散共有メモリシステム上での平均ページアクセス処理時間は、19+660×7/8μsecと見積もることができる。
さらに、4項目目の(d)DVFSによる電力削減効果の見積もりを行う。図21は、DVFSによる電力削減効果を示すグラフである。周波数を低くすることにより、CPU消費電力は約52%削減される。測定に使用したCPUはIntel Xeon(SDB)、RAMは24GB、OSはCentOS6である。CPU消費電力量は、CPUの持
つCPU消費電力量測定機能(RAPL:Running Average Power
Limiting)により算出した。
以上の4項目の見積もりから、都度方式およびスケジューラ方式における効果見積もり結果について説明する。なお、これらの見積もりにおいて、CPUのアイドル時間は考慮しないものとする。
都度方式における電力削減効果は、
((ページ転送時間の平均値)/(平均ページアクセス処理時間))×(電力削減割合)
によって求められる。すなわち、都度方式では、以下の計算により最大で約50%の電力削減効果が得られる。
((660×7/8)/(19+660×7/8))×0.52≒50(%)
スケジューラ方式では、平均ページアクセス処理時間中、通信以外の処理時間の占める割合が、CPU使用率と換算される。上記の見積もりにおいて、通信以外の処理時間は、ローカルメモリ上のページに対するページアクセス時間である19μsecとなる。したがって、以下の計算により、CPU使用率は、平均的に約3.2%と換算される。
(19/(19+660×7/8))×100≒3.2(%)…(*)
見積もりに使用したOSのCentOS5.3のデフォルトの設定では、CPU使用率が3.2%の場合、設定可能なCPU周波数のうち最も低いCPU周波数に設定するため省電力化が図られる。
スケジューラ方式の1つの環境例では80%を閾値としており、CPU使用率が80%より小さい場合は、設定可能な最低CPU周波数に設定される。また、CPU使用率が80%以上の場合は、設定可能な最高のCPU周波数に設定される。
上記のCPU使用率の計算式(*)において、ローカルメモリ上のページに対するページアクセス時間をt、ページ転送時間の平均値をsとすると、CPU使用率は、
t/(t+s)×100
の計算式により求めることができる。ここで、ローカルメモリ上のページに対するページアクセス時間tは、実行するアプリケーションによって異なる。またページ転送時間の平均値sは、転送するページのページサイズや利用するメモリの大きさ、またインターコネクトの通信性能によって異なる。したがって、ローカルメモリ上のページに対するページアクセス時間tがページ転送時間の平均値sに比べて小さい場合はCPU使用率はより低くなる。反対に、ローカルメモリ上のページに対するページアクセス時間tがページ転送時間の平均値sに比べて大きい場合はCPU使用率はより高くなる。このことから、スケジューラ方式では、ローカルメモリ上のページに対するページアクセス時間tが平均ページ転送時間sに比べて小さい場合に、CPU使用率が閾値を下回り、CPU使用率が低く変更され、電力削減効果が生じる。
1 情報処理システム
2a、2b ノード
3 ハイパーバイザー
4 OS
5 プロセス
6 インターコネクト
20a、20b CPU
21a、21b メモリ
30a、30b vCPU
200 例外検出部
201 周波数設定レジスタ
202 タイマ
300 通信処理部
301 アドレス変換部
302 変換テーブル
303 都度方式CPU周波数設定部
304 時間計測部
305 CPU使用率換算部
400 CPU周波数設定部
401 換算CPU使用率受取り部


Claims (9)

  1. 他の情報処理装置と接続される情報処理装置であって、
    演算処理装置と、
    前記他の情報処理装置が有する主記憶装置上のデータへのアクセス要求が前記演算処理装置から発生したときに自身の主記憶装置の例外事象を検出する例外検出部と、
    前記例外事象の検出に基づいて前記演算処理装置のクロック周波数又は電圧を変更する制御部と、
    前記例外事象を検出したときに前記他の情報処理装置から前記データを取得する通信処理部と、
    を備え
    前記制御部は、前記例外事象の検出に基づいて、前記演算処理装置のクロック周波数又は電圧を前記例外事象の検出前よりも低い周波数又は電圧に設定し、
    前記制御部は、前記データの取得にかかる時間から前記演算処理装置のクロック周波数を前記変更前の周波数に戻すための遷移時間を引いた時間が前記データの取得開始時から経過したときに、前記演算処理装置のクロック周波数又は電圧を前記変更前の周波数又は電圧に設定する
    ことを特徴とする情報処理装置。
  2. 他の情報処理装置と接続される情報処理装置であって、
    演算処理装置と、
    前記他の情報処理装置が有する主記憶装置上のデータへのアクセス要求が前記演算処理装置から発生したときに自身の主記憶装置の例外事象を検出する例外検出部と、
    前記例外事象の検出に基づいて前記演算処理装置のクロック周波数又は電圧を変更する制御部と、
    前記例外事象を検出したときに前記他の情報処理装置から前記データを取得する通信処理部と、
    前記データの取得が開始されてから完了するまでの経過時間を計測し、所定の単位時間内における前記経過時間を積算して、前記単位時間のうち前記データの取得に要した時間を求める時間計測部と、
    前記単位時間のうち、前記データの取得に要した時間および前記演算処理装置が処理を行わない時間の両方を除いた時間が、前記単位時間に占める割合を示す演算処理装置使用率を算出する演算処理装置使用率換算部と、
    を備え、
    前記制御部は、前記演算処理装置使用率が所定の値よりも小さい場合には、前記単位時間の次の単位時間の間、前記演算処理装置のクロック周波数又は電圧を低く設定する
    ことを特徴とする情報処理装置。
  3. 他の情報処理装置と接続される情報処理装置であって、
    演算処理装置と、
    前記他の情報処理装置が有する主記憶装置上のデータへのアクセス要求が前記演算処理装置から発生したときに自身の主記憶装置の例外事象を検出する例外検出部と、
    前記例外事象の検出に基づいて前記演算処理装置のクロック周波数又は電圧を変更する制御部と、
    前記例外事象を検出したときに前記他の情報処理装置から前記データを取得する通信処理部と、
    を備え、
    前記制御部は、前記例外事象を検出したときに、前記演算処理装置をアイドル状態とみなして前記演算処理装置の使用率を算出し、前記算出した使用率が閾値より小さい場合に、前記演算処理装置のクロック周波数又は電圧を前記例外事象の検出前よりも低い周波数又は電圧に設定し、
    前記制御部は、前記データの取得にかかる時間から前記演算処理装置のクロック周波数を前記変更前の周波数に戻すための遷移時間を引いた時間が前記データの取得開始時から経過したときに、前記演算処理装置のクロック周波数又は電圧を前記変更前の周波数又は電圧に設定する
    ことを特徴とする情報処理装置。
  4. 複数の情報処理装置を有する情報処理システムであって、
    前記複数の情報処理装置の1つで、他の情報処理装置と接続される情報処理装置が、
    演算処理装置と、
    前記他の情報処理装置が有する主記憶装置上のデータへのアクセス要求が前記演算処理装置から発生したときに自身の主記憶装置の例外事象を検出する例外検出部と、
    前記例外事象の検出に基づいて前記演算処理装置のクロック周波数又は電圧を変更する制御部と、
    前記例外事象を検出したときに前記他の情報処理装置から前記データを取得する通信処理部と、
    を備え
    前記制御部は、前記例外事象の検出に基づいて、前記演算処理装置のクロック周波数又は電圧を前記例外事象の検出前よりも低い周波数又は電圧に設定し、
    前記制御部は、前記データの取得にかかる時間から前記演算処理装置のクロック周波数を前記変更前の周波数に戻すための遷移時間を引いた時間が前記データの取得開始時から経過したときに、前記演算処理装置のクロック周波数又は電圧を前記変更前の周波数又は電圧に設定する
    ことを特徴とする情報処理システム。
  5. 複数の情報処理装置を有する情報処理システムであって、
    前記複数の情報処理装置の1つで、他の情報処理装置と接続される情報処理装置が、
    演算処理装置と、
    前記他の情報処理装置が有する主記憶装置上のデータへのアクセス要求が前記演算処理装置から発生したときに自身の主記憶装置の例外事象を検出する例外検出部と、
    前記例外事象の検出に基づいて前記演算処理装置のクロック周波数又は電圧を変更する制御部と、
    前記例外事象を検出したときに前記他の情報処理装置から前記データを取得する通信処理部と、
    前記データの取得が開始されてから完了するまでの経過時間を計測し、所定の単位時間内における前記経過時間を積算して、前記単位時間のうち前記データの取得に要した時間を求める時間計測部と、
    前記単位時間のうち、前記データの取得に要した時間および前記演算処理装置が処理を行わない時間の両方を除いた時間が、前記単位時間に占める割合を示す演算処理装置使用率を算出する演算処理装置使用率換算部と、
    を備え、
    前記制御部は、前記演算処理装置使用率が所定の値よりも小さい場合には、前記単位時間の次の単位時間の間、前記演算処理装置のクロック周波数又は電圧を低く設定する
    ことを特徴とする情報処理システム。
  6. 複数の情報処理装置を有する情報処理システムであって、
    前記複数の情報処理装置の1つで、他の情報処理装置と接続される情報処理装置が、
    演算処理装置と、
    前記他の情報処理装置が有する主記憶装置上のデータへのアクセス要求が前記演算処理装置から発生したときに自身の主記憶装置の例外事象を検出する例外検出部と、
    前記例外事象の検出に基づいて前記演算処理装置のクロック周波数又は電圧を変更する制御部と、
    前記例外事象を検出したときに前記他の情報処理装置から前記データを取得する通信処理部と、
    を備え、
    前記制御部は、前記例外事象を検出したときに、前記演算処理装置をアイドル状態とみなして前記演算処理装置の使用率を算出し、前記算出した使用率が閾値より小さい場合に、前記演算処理装置のクロック周波数又は電圧を前記例外事象の検出前よりも低い周波数又は電圧に設定し、
    前記制御部は、前記データの取得にかかる時間から前記演算処理装置のクロック周波数を前記変更前の周波数に戻すための遷移時間を引いた時間が前記データの取得開始時から経過したときに、前記演算処理装置のクロック周波数又は電圧を前記変更前の周波数又は電圧に設定する
    ことを特徴とする情報処理システム。
  7. 複数の情報処理装置を有する情報処理システムの制御方法であって、
    前記複数の情報処理装置の1つで、他の情報処理装置と接続される情報処理装置が、
    演算処理装置を備え、
    前記他の情報処理装置が有する主記憶装置上のデータへのアクセス要求が前記演算処理装置から発生したときに自身の主記憶装置の例外事象を検出するステップと、
    前記例外事象を検出したときに前記他の情報処理装置から前記データを取得するステップと、
    前記例外事象の検出に基づいて、前記演算処理装置のクロック周波数又は電圧を前記例外事象の検出前よりも低い周波数又は電圧に設定するステップと、
    前記データの取得にかかる時間から前記演算処理装置のクロック周波数を前記変更前の周波数に戻すための遷移時間を引いた時間が前記データの取得開始時から経過したときに、前記演算処理装置のクロック周波数又は電圧を前記変更前の周波数又は電圧に設定するステップと
    を実行する情報処理システムの制御方法。
  8. 複数の情報処理装置を有する情報処理システムの制御方法であって、
    前記複数の情報処理装置の1つで、他の情報処理装置と接続される情報処理装置が、
    演算処理装置を備え、
    前記他の情報処理装置が有する主記憶装置上のデータへのアクセス要求が前記演算処理装置から発生したときに自身の主記憶装置の例外事象を検出するステップと、
    前記例外事象を検出したときに前記他の情報処理装置から前記データを取得するステップと、
    前記データの取得が開始されてから完了するまでの経過時間を計測し、所定の単位時間内における前記経過時間を積算して、前記単位時間のうち前記データの取得に要した時間を求めるステップと、
    前記単位時間のうち、前記データの取得に要した時間および前記演算処理装置が処理を行わない時間の両方を除いた時間が、前記単位時間に占める割合を示す演算処理装置使用率を算出するステップと、
    前記演算処理装置使用率が所定の値よりも小さい場合には、前記単位時間の次の単位時間の間、前記演算処理装置のクロック周波数又は電圧を低く設定するステップと、
    を実行する情報処理システムの制御方法。
  9. 複数の情報処理装置を有する情報処理システムの制御方法であって、
    前記複数の情報処理装置の1つで、他の情報処理装置と接続される情報処理装置が、
    演算処理装置を備え、
    前記他の情報処理装置が有する主記憶装置上のデータへのアクセス要求が前記演算処理装置から発生したときに自身の主記憶装置の例外事象を検出するステップと、
    前記例外事象を検出したときに前記他の情報処理装置から前記データを取得するステップと、
    前記例外事象を検出したときに、前記演算処理装置をアイドル状態とみなして前記演算処理装置の使用率を算出し、前記算出した使用率が閾値より小さい場合に、前記演算処理装置のクロック周波数又は電圧を前記例外事象の検出前よりも低い周波数又は電圧に設定するステップと、
    前記データの取得にかかる時間から前記演算処理装置のクロック周波数を前記変更前の周波数に戻すための遷移時間を引いた時間が前記データの取得開始時から経過したときに、前記演算処理装置のクロック周波数又は電圧を前記変更前の周波数又は電圧に設定するステップと
    を実行する情報処理システムの制御方法。
JP2014020561A 2014-02-05 2014-02-05 情報処理装置、情報処理システム、および情報処理システムの制御方法 Expired - Fee Related JP6221792B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2014020561A JP6221792B2 (ja) 2014-02-05 2014-02-05 情報処理装置、情報処理システム、および情報処理システムの制御方法
US14/572,854 US9710047B2 (en) 2014-02-05 2014-12-17 Apparatus, system, and method for varying a clock frequency or voltage during a memory page transfer

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014020561A JP6221792B2 (ja) 2014-02-05 2014-02-05 情報処理装置、情報処理システム、および情報処理システムの制御方法

Publications (2)

Publication Number Publication Date
JP2015148890A JP2015148890A (ja) 2015-08-20
JP6221792B2 true JP6221792B2 (ja) 2017-11-01

Family

ID=53754791

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014020561A Expired - Fee Related JP6221792B2 (ja) 2014-02-05 2014-02-05 情報処理装置、情報処理システム、および情報処理システムの制御方法

Country Status (2)

Country Link
US (1) US9710047B2 (ja)
JP (1) JP6221792B2 (ja)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9715268B2 (en) * 2015-05-08 2017-07-25 Microsoft Technology Licensing, Llc Reducing power by vacating subsets of CPUs and memory
KR102309718B1 (ko) * 2016-05-09 2021-10-07 삼성전자 주식회사 네트워크를 자동적으로 관리하는 방법 및 장치
US10509449B2 (en) * 2017-07-07 2019-12-17 Hewlett Packard Enterprise Development Lp Processor power adjustment
US20200183836A1 (en) * 2018-12-10 2020-06-11 International Business Machines Corporation Metadata for state information of distributed memory
US11200168B2 (en) 2018-12-10 2021-12-14 International Business Machines Corporation Caching data from remote memories
CN111582235B (zh) * 2020-05-26 2023-04-07 瑞纳智能设备股份有限公司 用于实时监控站内异常事件的警报方法、系统及设备
US20220229687A1 (en) * 2021-01-21 2022-07-21 Vmware, Inc. Non-disruptive container runtime changes
US11449125B1 (en) * 2021-04-01 2022-09-20 Qualcomm Incorporated Adaptive dynamic clock and voltage scaling
US12112200B2 (en) 2021-09-13 2024-10-08 International Business Machines Corporation Pipeline parallel computing using extended memory

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS58130161A (ja) 1982-01-27 1983-08-03 日本電気株式会社 磁器組成物
CA2186349C (en) * 1994-05-12 2008-09-23 James C. Bunnell Cpu activity monitoring through cache watching
JPH0830568A (ja) * 1994-07-20 1996-02-02 Fujitsu Ltd 分散メモリ型並列計算機のキャッシュ制御方式
US5742843A (en) * 1994-07-20 1998-04-21 Fujitsu Limited Control system for access between processing elements in a parallel computer
US5613071A (en) * 1995-07-14 1997-03-18 Intel Corporation Method and apparatus for providing remote memory access in a distributed memory multiprocessor system
US6049853A (en) * 1997-08-29 2000-04-11 Sequent Computer Systems, Inc. Data replication across nodes of a multiprocessor computer system
JPH11203261A (ja) * 1998-01-09 1999-07-30 Nec Corp リモートメモリアクセス監視装置及びリモートメモリアクセス制御方法
US6591355B2 (en) * 1998-09-28 2003-07-08 Technion Research And Development Foundation Ltd. Distributed shared memory system with variable granularity
US6938128B1 (en) * 2000-07-20 2005-08-30 Silicon Graphics, Inc. System and method for reducing memory latency during read requests
JP3980401B2 (ja) 2002-05-07 2007-09-26 三菱電機株式会社 メモリアクセス制御システム及びメモリアクセス制御方法
US20040093390A1 (en) * 2002-11-12 2004-05-13 Matthias Oberdorfer Connected memory management
JP4673551B2 (ja) 2003-12-16 2011-04-20 三菱電機株式会社 制御回路
JP4376692B2 (ja) * 2004-04-30 2009-12-02 富士通株式会社 情報処理装置、プロセッサ、プロセッサの制御方法、情報処理装置の制御方法、キャッシュメモリ
US20050273571A1 (en) * 2004-06-02 2005-12-08 Lyon Thomas L Distributed virtual multiprocessor
CN101501607B (zh) * 2006-07-28 2011-10-05 Arm有限公司 具有主单元和从属单元的数据处理设备中的电源管理
US7882379B2 (en) * 2006-09-22 2011-02-01 Sony Computer Entertainment Inc. Power consumption reduction in a multiprocessor system
US7730340B2 (en) * 2007-02-16 2010-06-01 Intel Corporation Method and apparatus for dynamic voltage and frequency scaling
US7715400B1 (en) * 2007-04-26 2010-05-11 3 Leaf Networks Node identification for distributed shared memory system
JP4966956B2 (ja) * 2008-12-22 2012-07-04 株式会社日立製作所 半導体装置
JP5403160B2 (ja) * 2010-06-23 2014-01-29 富士通株式会社 通信装置、通信方法、および通信プログラム
US8484498B2 (en) * 2010-08-26 2013-07-09 Advanced Micro Devices Method and apparatus for demand-based control of processing node performance
US8843775B2 (en) * 2010-10-08 2014-09-23 Intel Corporation Energy optimization techniques in a computing system
US8575993B2 (en) * 2011-08-17 2013-11-05 Broadcom Corporation Integrated circuit with pre-heating for reduced subthreshold leakage
US9104423B2 (en) * 2012-05-16 2015-08-11 Nvidia Corporation Method and system for advance wakeup from low-power sleep states

Also Published As

Publication number Publication date
US20150220129A1 (en) 2015-08-06
JP2015148890A (ja) 2015-08-20
US9710047B2 (en) 2017-07-18

Similar Documents

Publication Publication Date Title
JP6221792B2 (ja) 情報処理装置、情報処理システム、および情報処理システムの制御方法
US10355966B2 (en) Managing variations among nodes in parallel system frameworks
US10877766B2 (en) Embedded scheduling of hardware resources for hardware acceleration
JP5317010B2 (ja) 仮想マシン配置システム、仮想マシン配置方法、プログラム、仮想マシン管理装置およびサーバ装置
TWI314291B (en) Bridges and methods for power management and traffic analyzing
EP2430541B1 (en) Power management in a multi-processor computer system
US8627143B2 (en) Dynamically modeling and selecting a checkpoint scheme based upon an application workload
EP3087503B1 (en) Cloud compute scheduling using a heuristic contention model
Qiao et al. Hermit:{Low-Latency},{High-Throughput}, and Transparent Remote Memory via {Feedback-Directed} Asynchrony
US20110106935A1 (en) Power management for idle system in clusters
HK1209248A1 (en) Method, system and monitoring and scheduling device for dynamic load balancing
US20130080809A1 (en) Server system and power managing method thereof
CN108958880A (zh) 数据处理方法、数据处理系统与计算机程序产品
JP2010086145A (ja) 分散処理システム
EP2972826B1 (en) Multi-core binary translation task processing
US10719107B2 (en) Method and apparatus to maintain node power budget for systems that share a power supply
Zhi et al. Oasis: energy proportionality with hybrid server consolidation
WO2013086054A2 (en) A method, apparatus, and system for energy efficiency and energy conservation including determining an optimal power state of the apparatus based on residency time of non-core domains in a power saving state
JP2024524979A (ja) 相互接続されたイベントカウンタ及び加重和アキュムレータを使用してプロセッサにおける電力消費を制御するためのシステム及び方法
KR101672357B1 (ko) 응답 타이밍 최적화에 기초하는 멀티프로세서 시스템에서의 주파수 조정 수행
Child et al. Using DVFS to optimize time warp simulations
KR101587600B1 (ko) Numa 시스템상에서 가상머신간의 통신방법
JP2014139845A (ja) データ処理システム、そのコンピュータプログラムおよびデータ処理方法
Kim et al. Dynamic power management for Cluster system
US10509452B2 (en) Hierarchical power distribution in large scale computing systems

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20161004

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170526

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170606

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170803

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170918

R150 Certificate of patent or registration of utility model

Ref document number: 6221792

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees