JP2013149065A - サーバ、サーバの消費電力削減方法、およびコンピュータプログラム - Google Patents
サーバ、サーバの消費電力削減方法、およびコンピュータプログラム Download PDFInfo
- Publication number
- JP2013149065A JP2013149065A JP2012008738A JP2012008738A JP2013149065A JP 2013149065 A JP2013149065 A JP 2013149065A JP 2012008738 A JP2012008738 A JP 2012008738A JP 2012008738 A JP2012008738 A JP 2012008738A JP 2013149065 A JP2013149065 A JP 2013149065A
- Authority
- JP
- Japan
- Prior art keywords
- memory
- surplus
- memory module
- dimm
- access frequency
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Memory System (AREA)
Abstract
【課題】オペレーティングシステム側において特段の対応を行なうことなく、余剰となったメモリモジュールの消費電力を削減できる、サーバを提供する。
【解決手段】本発明のサーバは、システム運用中に複数のメモリモジュールの中から外部指定されたメモリモジュールをシステムから切り離すとともに、この切り離したメモリモジュールを再組み込みする機能を有するオペレーティングシステムと、複数のメモリモジュールの中で余剰のメモリモジュールとなり得る余剰メモリモジュールを判定するメモリアクセス頻度監視手段と、オペレーティングシステムに対して、余剰メモリモジュールのシステムからの切り離し要求、および切り離した余剰メモリモジュールのシステムへの組み込み要求を行うとともに、余剰メモリモジュールがシステムから切り離された場合に当該余剰メモリモジュールの動作状態を制御するメモリ状態管理手段と、を備える。
【選択図】図1
【解決手段】本発明のサーバは、システム運用中に複数のメモリモジュールの中から外部指定されたメモリモジュールをシステムから切り離すとともに、この切り離したメモリモジュールを再組み込みする機能を有するオペレーティングシステムと、複数のメモリモジュールの中で余剰のメモリモジュールとなり得る余剰メモリモジュールを判定するメモリアクセス頻度監視手段と、オペレーティングシステムに対して、余剰メモリモジュールのシステムからの切り離し要求、および切り離した余剰メモリモジュールのシステムへの組み込み要求を行うとともに、余剰メモリモジュールがシステムから切り離された場合に当該余剰メモリモジュールの動作状態を制御するメモリ状態管理手段と、を備える。
【選択図】図1
Description
本発明は、DIMM(Dual Inline Memory Module)などのメモリモジュールの消費電力を削減できる、サーバ、サーバの消費電力削減方法、およびコンピュータプログラムに関する。
携帯機器などバッテリ駆動が必要とされる計算機システムにおいては、システム全体の消費電力が小さいことが非常に重要視される。このため、特許文献1に記載の計算機システムや、特許文献2に記載の端末装置に示されるように、オペレーティングシステム(以下、単に「OS」とも呼ぶ)、ドライバ、アプリケーション、ハードウェアが連携して、余剰となったメモリの消費電力を削減する方法が存在している。しかし、これらの省電力技術を、サーバの余剰メモリの消費電力削減のために用いるためには、サーバを開発しているサーバベンダではなく、別のOSベンダが販売しているOSに改造を施す必要があり、この省電力技術をサーバに適用するのは現実的には難しい。
なお、上述の特許文献1に記載の計算機システムの電力管理方法は、プログラムによる主記憶の利用状態に応じてソフトウェア的に主記憶に対する電源供給を制御することを目的としている。この計算機システムは、主記憶の割り当て及び開放を管理するOS内のメモリ管理部と、OSの一部またはそのOS上で動作するメモリ電源管理プログラム部と、が連携して、主記憶に対する電源供給を制御する。
また、上述の特許文献2に記載の端末装置は、DRAMのセルフリフレッシュにおける電力消費を低減した端末装置を提供することを目的としている。この端末装置は、省電力モードに移行する際に、リフレッシュを中止する領域にデータが割り付けられないように制御する。そして、この端末装置は、省電力モードにおいてデータが存在しないメモリ領域に対するリフレッシュを中止することによって、メモリのリフレッシュに要する消費電力を低減する。
また、関連する画像処理コントローラーがある(特許文献3を参照)。この特許文献3に記載の画像処理コントローラーは、各DRAMの使用状況に応じて適切にリフレッシュ動作を実行することを目的としている。この特許文献3に記載の画像処理コントローラーは、移行時間内にアクセスが発生しないDRAMに対して、作動クロックの供給停止を伴うセルフリフレッシュを実行させる。
また、関連する情報処理装置がある(特許文献4を参照)。この特許文献4に記載の情報処理装置は、アプリケーションの稼働に必要最低限のメモリに対してのみ電力供給を行ない、他のメモリに対しては効率良く電力供給を停止しシステム全体の消費電力消費を抑えることを目的としている。この特許文献4に記載の情報処理装置は、第1および第2の記憶手段と外部記憶装置とを有する。そして、この情報処理装置は、CPUから最も頻繁にアクセスされるデータ単位を第1の記憶手段に動的に配置し、各記憶手段をアクセスするために必要なバスのみを選択的にドライブすることにより必要最低限の電力でメモリへのアクセスを可能にする。また関連する技術が非特許文献1,2にも開示されている。
ACPI仕様書「ADVANCED CONFIGURATION AND POWER INTERFACE SPECIFICATION」、インターネット、「URL:http://www.acpi.info/」(2011年12月29日現在)
DIG64仕様書「DIG64 Hot-Plug and Partitioning Flows Specification」、インターネット、「URL:http://www.dig64.org/home/DIG64_HPPF_R1_0.pdf」(2011年12月29日現在)
運用中の計算機システムの余剰なメモリの消費電力を削減する方法として、例えば、上述の特許文献1に記載の計算機システムにおける電力管理方法がある。この電力管理方法は、OSのメモリ領域割り当て処理部位に手を入れる(変更を加える)ことで、現在プログラムに割り当てられているメモリ領域を特定し、そのメモリ領域に対応するDRAMのリフレッシュ動作を停止、もしくは電力供給を停止する。これにより、メモリの消費電力を削減する。
しかし、上記特許文献1に記載の手法は、OS、ドライバ、ハードウェアなど計算機システム全体について、実装者の意図通りに実装することが容易な組み込みシステムなどには適用しやすいが、サーバを開発するサーバベンダがサーバに適用するには次の課題がある。
まず、サーバベンダは、OSベンダが販売するサーバ向けOSの実装を自由に変更することが容易にはできないという課題がある。
次に、上記特許文献1の電力管理方法でも述べられているように、OS側のメモリ割り当て処理部位には手を入れず、OS上で動作するアプリケーションやドライバなどによってプログラムが利用していないメモリ領域を特定し、該当DRAMの消費電力削減処理を実行する場合を考える。この場合、アプリケーションやドライバなどと、メモリコントローラを制御するプラットフォーム側との間に、DRAMの電力制御を指示するためのインタフェースを設ける必要がある。しかし、その様なインタフェースを設けるための標準仕様は存在しない。そのため、サーバベンダが余剰DRAMの消費電力削減を実現するためのアプリケーションやドライバなどを開発するには、OS毎にサーバベンダは何かしらの独自のインタフェースを設ける必要がある。
まず、サーバベンダは、OSベンダが販売するサーバ向けOSの実装を自由に変更することが容易にはできないという課題がある。
次に、上記特許文献1の電力管理方法でも述べられているように、OS側のメモリ割り当て処理部位には手を入れず、OS上で動作するアプリケーションやドライバなどによってプログラムが利用していないメモリ領域を特定し、該当DRAMの消費電力削減処理を実行する場合を考える。この場合、アプリケーションやドライバなどと、メモリコントローラを制御するプラットフォーム側との間に、DRAMの電力制御を指示するためのインタフェースを設ける必要がある。しかし、その様なインタフェースを設けるための標準仕様は存在しない。そのため、サーバベンダが余剰DRAMの消費電力削減を実現するためのアプリケーションやドライバなどを開発するには、OS毎にサーバベンダは何かしらの独自のインタフェースを設ける必要がある。
そのためには、アプリケーションやドライバなどだけでなく、プラットフォーム側のソフトウェア、ハードウェア含めた対応が必要であり、サーバベンダの開発規模が増大するという課題がある。また、新規インタフェース追加のための改造ができない場所があるという制約や、制御に必要な情報を取得するためのインタフェースがOSに存在していないという制約などがある。このため、アプリケーションやドライバによって余剰DRAMの消費電力削減を実現することができない場合がありうる。以上の課題あるため、特許文献1の計算機システムで述べられている手法をサーバに適用することは,現実的には難しい。
また上述の他の特許文献についても、サーバのオペレーティングシステム(OS)が標準仕様として備えるメモリモジュールの切り離しおよび組み込み機能をそのまま利用して、余剰のメモリモジュールをシステムから切り離し、メモリモジュールにおける電力消費を低減することはできない。
本発明は、上述の課題を解決することのできるサーバ、サーバの消費電力削減方法、およびコンピュータプログラムを提供することにある。
本発明のサーバは、システム運用中に複数のメモリモジュールの中から外部要求により指定されたメモリモジュールをシステムから切り離すとともに、この切り離したメモリモジュールを再組み込みする機能を有するオペレーティングシステムと、前記複数のメモリモジュールの各メモリモジュールへのアクセス頻度を監視し、このアクセス頻度の監視結果を基に、前記複数のメモリモジュールの中で余剰のメモリモジュールとなり得る余剰メモリモジュールを判定するメモリアクセス頻度監視手段と、前記オペレーティングシステムに対して、前記余剰メモリモジュールのシステムからの切り離し要求、および前記切り離した余剰メモリモジュールのシステムへの組み込み要求を行うとともに、前記余剰メモリモジュールがシステムから切り離された場合に当該余剰メモリモジュールの動作状態を制御するメモリ状態管理手段と、を備えることを特徴とする。
また、本発明のサーバの消費電力削減方法は、システム運用中に複数のメモリモジュールの中から外部要求により指定されたメモリモジュールをシステムから切り離すとともに、この切り離したメモリモジュールを再組み込みする機能を有するオペレーティングシステムをサーバに搭載する手順と、前記複数のメモリモジュールの中で余剰のメモリモジュールとなり得る余剰メモリモジュールを判定する手順と、前記オペレーティングシステムに対して、前記余剰メモリモジュールの切り離し要求、または前記切り離した余剰メモリモジュールのシステムへの再組み込み要求を行う手順と、前記余剰メモリモジュールをシステムから切り離した場合に当該余剰メモリモジュールの動作状態を制御する手順と、を含むことを特徴とする。
また、本発明のコンピュータプログラムは、システム運用中に複数のメモリモジュールの中から外部要求により指定されたメモリモジュールをシステムから切り離すとともに、この切り離したメモリモジュールを再組み込みする機能を有するオペレーティングシステムを搭載したサーバ内のコンピュータに、前記複数のメモリモジュールの各メモリモジュールへのアクセス頻度を監視し、このアクセス頻度の監視結果を基に、前記複数のメモリモジュールの中で余剰のメモリモジュールとなり得る余剰メモリモジュールを判定するメモリアクセス頻度監視手順と、前記オペレーティングシステムに対して、前記余剰メモリモジュールのシステムからの切り離し要求、および前記切り離した余剰メモリモジュールのシステムへの組み込み要求を行うとともに、前記余剰メモリモジュールがシステムから切り離された場合に当該余剰メモリモジュールの動作状態を制御するメモリ状態管理手順と、を実行させるためのコンピュータプログラムである。
本発明のサーバ、サーバの消費電力削減方法、およびコンピュータプログラムにおいては、オペレーティングシステム側において特段の対応を行なうことなく、余剰となったメモリモジュールの消費電力を削減できる。
以下、本発明の実施形態の構成について図面を参照して詳細に説明する。
[概要]
図1は、本発明のサーバの概要について説明するための図である。この図1に示すサーバ1において、オペレーティングシステム(OS)10は、システム運用中に複数のDIMM60の中から外部要求により指定されたDIMMをシステムから切り離す機能と、この切り離されたDIMMの再組み込み機能とを、標準機能として備える。
なお、本明細書において、単に「システム」と呼ぶ場合は、オペレーティングシステム、または、オペレーティングシステムに組み込まれているサーバのメモリシステムを意味し、オペレーティングシステムであることを明示する場合は、「オペレーティングシステム」と呼ぶ。また、オペレーティングシステムは、単に「OS」とも呼ばれる。
図1は、本発明のサーバの概要について説明するための図である。この図1に示すサーバ1において、オペレーティングシステム(OS)10は、システム運用中に複数のDIMM60の中から外部要求により指定されたDIMMをシステムから切り離す機能と、この切り離されたDIMMの再組み込み機能とを、標準機能として備える。
なお、本明細書において、単に「システム」と呼ぶ場合は、オペレーティングシステム、または、オペレーティングシステムに組み込まれているサーバのメモリシステムを意味し、オペレーティングシステムであることを明示する場合は、「オペレーティングシステム」と呼ぶ。また、オペレーティングシステムは、単に「OS」とも呼ばれる。
メモリアクセス頻度監視手段200は、各DIMM60および単位時間あたりのアクセス頻度を監視し、複数のDIMM60の中から余剰とすることができるDIMMがあるか否かを判定する。この例では、DIMM60Aが余剰となる余剰DIMMであるとする。メモリアクセス頻度監視手段200は、この余剰となる余剰DIMM60Aの情報をメモリ状態管理手段201に通知するととともに、この余剰DIMM60Aをシステムから切り離すように指示する。
メモリ状態管理手段201は、メモリアクセス頻度監視手段200から余剰DIMM60Aの切り離し指示を受け取ると、この余剰DIMM60Aをシステムから切り離すようにオペレーティングシステム10に対して「切り離し要求」を発行する。オペレーティングシステム10は、メモリ状態管理手段201から「切り離し要求」を受け取ると、余剰DIMM60Aをシステムから切り離す。そして、オペレーティングシステム10において余剰DIMM60Aが切り離された後に、メモリ状態管理手段201は、余剰DIMM60Aのリフレッシュ動作を停止させる。または、メモリ状態管理手段201は、余剰DIMM60Aへの供給電力をオフ(電源オフ)にする。なおリフレッシュとは、メモリの記憶が失われないように電荷を補充する動作を示す。これにより、サーバ1は、余剰DIMM60Aのリフレッシュ動作に要する消費電力を低減することができる。また、サーバ1は、余剰DIMM60Aへの供給電力をオフ(電源オフ)にすることにより、余剰DIMM60Aの消費電力をさらに低減することができる。
また、メモリアクセス頻度監視手段200は、余剰DIMM60Aがシステムから切り離された後も、オペレーティングシステム10に組み込まれている各DIMM60のアクセス頻度を監視する。そして、組み込まれているDIMM60のアクセス頻度が上昇する傾向にある場合に、メモリアクセス頻度監視手段200は、切り離した余剰DIMM60Aを再びオペレーティングシステム10に組み込むと判定する。そして、メモリアクセス頻度監視手段200は、メモリ状態管理手段201に対して、切り離した余剰DIMM60Aを再びオペレーティングシステム10に組み込むように指示する。
メモリ状態管理手段201は、メモリアクセス頻度監視手段200から、余剰DIMM60Aの組み込み指示を受け取ると、余剰DIMM60Aを再びシステムに組み込むようにオペレーティングシステム10に対して「余剰DIMM60Aの組み込み要求」を発行する。また、メモリ状態管理手段201は、余剰DIMM60Aのリフレッシュ動作を再開させる。オペレーティングシステム10は、メモリ状態管理手段201から「余剰DIMM60Aの組み込み要求」を受け取ると、切り離した余剰DIMM60Aをシステムに再び組み込む。
これにより、サーバ1は、余剰DIMM60Aをシステムから切り離した後に、再び余剰DIMM60Aが必要になった場合は、オペレーティングシステム10が標準として備える組み込み機能を利用して、余剰DIMM60Aを再びシステムに組み込むことができる。
これにより、サーバ1は、余剰DIMM60Aをシステムから切り離した後に、再び余剰DIMM60Aが必要になった場合は、オペレーティングシステム10が標準として備える組み込み機能を利用して、余剰DIMM60Aを再びシステムに組み込むことができる。
このように、本発明のサーバ1は、プラットフォーム側にメモリアクセス頻度を監視するメモリアクセス頻度監視手段200、メモリの動作状態を管理するメモリ状態管理手段201を設ける。そして、保守交換などを実現するためにオペレーティングシステム10に標準仕様で規定されている機能、すなわち、システム運用中にDIMM60をシステムから切り離す機能、およびシステムに組み込む機能をそのまま利用する。これにより、本発明のサーバ1は、オペレーティングシステム10側での特段の対応なしに、サーバ1の運用中に余剰となったDIMM60の消費電力削減処理、または電力供給停止処理を実現することができる。
[第1の実施形態]
(第1実施形態のサーバの構成の説明)
図2は、本発明の第1実施形態に係わるサーバ1の構成を示す図である。
図2を参照すると、本実施形態のサーバ1は、オペレーティングシステム(OS)10と、BIOS(Basic Input/Output System)20と、ACPI(Advanced Configuration and Power Interface)ツリー30と、メモリコントローラ400を内蔵するプロセッサ40と、BMCFW(Baseboard Management Controller firmware)50と、複数のDIMM60と、から構成されるサーバである。プロセッサ40の数、プロセッサ40に内蔵されるメモリコントローラ400の数、DIMM60の数は、一例であり、これ以上の個数、これ以下の個数でもよい。また、OS10とBIOS20は、プロセッサ40により処理が実行される。BMCFW50における処理は、図2には記載していない別のプロセッサで実施される。
(第1実施形態のサーバの構成の説明)
図2は、本発明の第1実施形態に係わるサーバ1の構成を示す図である。
図2を参照すると、本実施形態のサーバ1は、オペレーティングシステム(OS)10と、BIOS(Basic Input/Output System)20と、ACPI(Advanced Configuration and Power Interface)ツリー30と、メモリコントローラ400を内蔵するプロセッサ40と、BMCFW(Baseboard Management Controller firmware)50と、複数のDIMM60と、から構成されるサーバである。プロセッサ40の数、プロセッサ40に内蔵されるメモリコントローラ400の数、DIMM60の数は、一例であり、これ以上の個数、これ以下の個数でもよい。また、OS10とBIOS20は、プロセッサ40により処理が実行される。BMCFW50における処理は、図2には記載していない別のプロセッサで実施される。
BIOS20は、OS10に対してBIOS20とOS10とのインタフェースとなるACPIツリー30を提供している。ACPIツリー30には、非特許文献1に示す標準仕様で規定されているNotifyオペコード300と、_OSTメソッド301と、_EJ0メソッド302と、を含む。
Notifyオペコード300は、システムに組み込まれているハードウェアをOS10から切り離す要求などをBIOS20からOS10に対して行なうためなどに利用される。
_OSTメソッド301は、ハードウェアをOS10から切り離す処理の進捗状況などをOS10からBIOS20に対して通知するためなどに利用される。
_EJ0メソッドは、OS10から切り離されたハードウェアをシステムから切り離す、例えば電源を切断する、などの要求を、OS10からBIOS20に対して行なうためなどに利用される。
なお、上述のNotifyオペコード300は、本発明における「メモリモジュールの切り離し要求」、または「メモリモジュールの組み込み要求」の信号に相当し、EJ0メソッドは、本発明における「切り離し許可の情報」に相当する。
Notifyオペコード300は、システムに組み込まれているハードウェアをOS10から切り離す要求などをBIOS20からOS10に対して行なうためなどに利用される。
_OSTメソッド301は、ハードウェアをOS10から切り離す処理の進捗状況などをOS10からBIOS20に対して通知するためなどに利用される。
_EJ0メソッドは、OS10から切り離されたハードウェアをシステムから切り離す、例えば電源を切断する、などの要求を、OS10からBIOS20に対して行なうためなどに利用される。
なお、上述のNotifyオペコード300は、本発明における「メモリモジュールの切り離し要求」、または「メモリモジュールの組み込み要求」の信号に相当し、EJ0メソッドは、本発明における「切り離し許可の情報」に相当する。
プロセッサ40に内蔵されるメモリコントローラ400は、プロセッサ40に接続されたDIMM60の制御を行なう。メモリコントローラ400は、少なくとも、各DIMM60の初期化に必要なレジスタ(初期化レジスタ401)と、各DIMM60に対してリフレッシュを行うか否かを設定するレジスタ(リフレッシュレジスタ402)と、各DIMM60に対して行なわれたアクセス回数を記録するレジスタ(アクセスカウンタレジスタ403)と、を備える。
BMCFW50は、プロセッサ40やDIMM60など、図2に記載していないハードウェアを含め、サーバを構成するハードウェアの電源制御などを行なっている。BIOS20はBMCFW50に対して、DIMM60への電力供給のオン、オフを指示することができる。
メモリアクセス頻度監視手段200は、メモリコントローラ400内のアクセスカウンタレジスタ403を監視し、ある単位時間において各DIMM60へのアクセスが何回行なわれたかを算出し、それを基に、OS10が必要としているメモリ容量に対して、現在OS10に組み込まれているDIMM60の容量が必要十分であるか否かを判定する。このメモリアクセス頻度監視手段200は、プロセッサ40からの定期的なBIOS20に対する割り込み処理の中で実行する。
メモリ状態管理手段201は、各DIMM60の動作状態の管理と、動作状態間の遷移に必要な処理を行なう。DIMM60の動作状態の遷移は、メモリアクセス頻度監視手段200またはACPIツリー30からの指示を契機に実施される。そして、状態遷移の際には、メモリ状態管理手段201が、メモリコントローラ400の各種レジスタ(例えば、リフレッシュレジスタ402)を操作するか、または、BMCFW50に対して電力供給の指示を行なうことにより、DIMM60の動作状態を制御する。
なお、図1および図2に示すサーバ1は、本発明におけるサーバに相当し、オペレーティングシステム10は、本発明におけるオペレーティングシステムに相当し、BIOS20は、本発明におけるBIOSに相当し、DIMM60は、本発明におけるメモリモジュールに相当する。また、メモリアクセス頻度監視手段200は、本発明におけるメモリアクセス頻度監視手段に相当し、プロセッサ40は、本発明におけるプロセッサに相当し、メモリコントローラ400は、本発明におけるメモリコントローラに相当し、BMCFW50は、本発明における電源制御手段に相当する。
(サーバ1の動作の説明)
次に、図2と図3と図4とを参照して、本実施形態のサーバ1の動作について詳細に説明する。
サーバ1の運用中、メモリアクセス頻度監視手段200は、定期的にメモリコントローラ400内のアクセスカウンタレジスタ403を参照し、各DIMM60へのアクセスが単位時間当たり何回行なわれたかを算出している。ここで、例としてOS10が現在必要としているメモリ容量に対して、現在OS10に組み込まれているDIMM60の容量が過不足ない状態での、各DIMM60に対する単位時間あたりのアクセス回数(アクセス頻度)が図3(A)に示す回数であった状態を考える。
次に、図2と図3と図4とを参照して、本実施形態のサーバ1の動作について詳細に説明する。
サーバ1の運用中、メモリアクセス頻度監視手段200は、定期的にメモリコントローラ400内のアクセスカウンタレジスタ403を参照し、各DIMM60へのアクセスが単位時間当たり何回行なわれたかを算出している。ここで、例としてOS10が現在必要としているメモリ容量に対して、現在OS10に組み込まれているDIMM60の容量が過不足ない状態での、各DIMM60に対する単位時間あたりのアクセス回数(アクセス頻度)が図3(A)に示す回数であった状態を考える。
この図3(A)に示す状態において、サーバ1の運用を続け、あるとき各DIMM60に対する単位時間当たりのアクセス回数(アクセス頻度)が、図3(B)に示すようになったとする。この図3(B)に示す例では、1つのDIMM、例えば、DIMM#2の単位時間当たりのアクセス回数が、その値が非常に小さく、あらかじめ決めておいたDIMM単位のアクセス頻度閾値(第1閾値)以下となる。このような場合に、メモリアクセス頻度監視手段200は、DIMM#2がOS10にとって、現在使われていない余剰なメモリとなっていると判定する。
一方で、図3(C)に示す状態は、単位時間当たりのアクセス回数(アクセス頻度)が、1つ1つのDIMM60についてはDIMM単位のアクセス頻度閾値(第1閾値)を下回らないが、複数のDIMM、例えば、DIMM#3と#4の単位時間当たりのアクセス回数の合計が複数DIMMでのアクセス頻度閾値(第2閾値)以下となる例である。図3(C)に示す状態において、メモリアクセス頻度監視手段200は、OS10にとってDIMM#3、DIMM#4のどちらか片方が存在しなくとも、残りのDIMMでOS10が必要としているメモリ容量を満たすことができると判定する。この場合に、メモリアクセス頻度監視手段200は、アクセス頻度の少ないDIMM#4が余剰なメモリになっていると判定する。
そして、メモリアクセス頻度監視手段200がDIMM60の中に余剰となっている余剰DIMMがあると判定した場合に、メモリアクセス頻度監視手段200は、余剰と判定した余剰DIMMをメモリ状態管理手段201に通知する。また、メモリアクセス頻度監視手段200は、余剰と判定した余剰DIMMを、図4に示す、OS10に組み込まれている状態(状態1)から、組み込み待機状態(状態2)に遷移させるための処理を実施するようメモリ状態管理手段201に対して指示を出す。
なお、図4において、OS10に組み込まれている状態(状態1)は、DIMMへの電力供給がオン(電源オン)であり、かつリフレッシュ動作がオン(リフレッシュ動作を実行)している状態である。また、組み込み待機状態(状態2)は、DIMMへの電力供給がオン(電源オン)であり、かつリフレッシュ動作がオフ(リフレッシュ動作を停止)している状態である。また、電源オフ状態(状態3)は、DIMMへの電力供給がオフ(電源オフ)であり、かつリフレッシュ動作がオフ(リフレッシュ動作を停止)している状態である。
なお、図4において、OS10に組み込まれている状態(状態1)は、DIMMへの電力供給がオン(電源オン)であり、かつリフレッシュ動作がオン(リフレッシュ動作を実行)している状態である。また、組み込み待機状態(状態2)は、DIMMへの電力供給がオン(電源オン)であり、かつリフレッシュ動作がオフ(リフレッシュ動作を停止)している状態である。また、電源オフ状態(状態3)は、DIMMへの電力供給がオフ(電源オフ)であり、かつリフレッシュ動作がオフ(リフレッシュ動作を停止)している状態である。
そして、メモリ状態管理手段201は、メモリアクセス頻度監視手段200から余剰DIMMの通知を受けると、この余剰DIMMについて、Notifyオペコード300を実施することで、OS10に対して、余剰DIMMのOS10からの切り離しを要求する。OS10は、そのDIMMに割り当てているページがページアウトされないようになっていないか、切り離し後のメモリ容量が十分であるかなど、そのDIMMの切り離しの可否を判定する。OS10は、余剰DIMMの切り離しが可能である場合に、OS10はその余剰DIMMにすでに割り当てられているページを別のDIMMにすべて移行させた上で、_EJ0メソッド302を実行する。一方で、切り離しが不可である場合は、OS10は、_OSTメソッド301を実行する。このNotifyオペコード300を実施した以降の、OS10のDIMM切り離しのための動きは、非特許文献2で示される標準仕様で定められているものであり、本実施形態のサーバ1を実現するためにOS10に何かしらの特別な対応を行なう必要はない。
メモリ状態管理手段201は、_EJ0メソッド302により余剰DIMMのシステムからの切り離しをOS10より許可された場合に、メモリコントローラ400のリフレッシュレジスタ402を操作し、該当DIMMのリフレッシュ動作を停止させる。これにより、メモリ状態管理手段201は、該当DIMMの消費電力を削減し、DIMMの状態を図4に示すOS10に組み込まれている状態(状態1)から、組み込み待機状態(状態2)に遷移させる。
ここで、余剰のDIMMへの電力供給までオフにした場合、そのDIMMを再度OS10に組み込めるようにするには、メモリコントローラ400が、メモリコントローラ400とDIMM間のインタフェースの初期化を含む、DIMMの初期化を実施する必要がある。このため、メモリ状態管理手段201は、_EJ0メソッド302の実行の際に、余剰DIMMへの電力供給をオフにはしない。これは、OS10が必要とするメモリ容量が短時間で変化し、余剰と判定したDIMMをすぐにOS10に組み込む必要がある状態になったときに、メモリコントローラ400がDIMMの再組み込みを完了するまでの時間を短縮するためである。
一方、メモリ状態管理手段201は、_OSTメソッド301にて余剰DIMMの切り離し不可がOS10より通知された場合に、余剰DIMMの状態を図4に示すOS10に組み込まれている状態(状態1)のままとし、消費電力削減のための動作は何も行なわない。
一方、メモリ状態管理手段201は、_OSTメソッド301にて余剰DIMMの切り離し不可がOS10より通知された場合に、余剰DIMMの状態を図4に示すOS10に組み込まれている状態(状態1)のままとし、消費電力削減のための動作は何も行なわない。
メモリアクセス頻度監視手段200が余剰なDIMMと判定したDIMMの状態が図4に示す組み込み待機状態(状態2)に遷移完了した後も、メモリアクセス頻度監視手段200は、定期的にOS10に組み込まれている状態のDIMMのアクセス頻度を監視する。余剰DIMMをOS10から切り離したことにより、余剰DIMM以外のOS10に組み込まれている状態のDIMMのアクセス頻度は、切り離しを行なう前より増加する。
この余剰DIMMを切り離した状態で、メモリアクセス頻度監視手段200は、OS10に組み込まれている状態のDIMM60のアクセス頻度を監視する。そして、メモリアクセス頻度監視手段200は、一定時間監視を続けてもOS10に組み込まれている状態のDIMM60のアクセス頻度がさらに増加せず、所定の閾値(第4閾値)以下を保っている場合に、余剰DIMMの電源オフが可能と判定する。そして、メモリアクセス頻度監視手段200は、余剰DIMMの電源オフが可能と判定した場合に、組み込み待機状態(状態2)となっている余剰のDIMMへの電力供給オフをメモリ状態管理手段201に指示する。指示を受けたメモリ状態管理手段201は、該当DIMMへの電力供給をオフする指示をBMCFW50に行い、該当するDIMMの状態を、電源オフ状態(状態3)に遷移させる。
余剰DIMMの状態が電源オフ状態に遷移(状態3)した後も、メモリアクセス頻度監視手段200は定期的にOS10に組み込まれている状態のDIMM60のアクセス頻度を監視する。ここで、OS10に組み込まれている状態のDIMM全体のアクセス頻度が、ある閾値(第5閾値)以上となった場合に、メモリアクセス頻度監視手段200は、今後、OS10が必要とするメモリ容量がさらに増大すると判定する。すなわち、メモリアクセス頻度監視手段200は、現在、電源オフ状態の余剰DIMMをOS10に組み込む必要がでてくる可能性があると判定する。
メモリアクセス頻度監視手段200は、電源オフ状態の余剰DIMMをOS10に組み込む必要がでてくると判定した場合に、メモリ状態管理手段201に対して、電源オフ状態(状態3)の余剰DIMMを組み込み待機状態(状態2)に遷移させるよう指示をする。この指示を受けたメモリ状態管理手段201は、該当余剰DIMMへの電力供給をオンする指示をBMCFW50に行う。さらに、メモリ状態管理手段201は、メモリコントローラ400内のDIMMの初期化に必要な初期化レジスタ401を操作し、該当余剰DIMMの初期化を完了した上で、該当余剰DIMMの状態を組み込み可能状態(状態2)に遷移させる。
その後、OS10に組み込まれている状態のDIMM60の全体のアクセス頻度がさらに増加し、ある閾値(第3閾値)以上になった場合、メモリアクセス頻度監視手段200は、OS10が必要としているメモリ容量が増加すると判定する。なお第5閾値<第3閾値である。すなわち、メモリアクセス頻度監視手段200は、現在OS10に組み込まれている状態のDIMMではメモリ容量が不十分な状態になったと判定する。この判定が行われた場合に、メモリアクセス頻度監視手段200は、メモリ状態管理手段201に対し、組み込み可能状態(状態2)の余剰DIMMを、OS10に組み込まれている状態(状態1)に遷移させるように指示をする。
指示を受けたメモリ状態管理手段201は、該当余剰DIMMについて、Notifyオペコード300を実行することでOS10に対し、該当余剰DIMMのOS10への組み込みを要求する。OS10は、該当余剰DIMMをOS10に組み込む。このNotifyオペコード300を実施した以降の、OS10のDIMM組み込みのための動きは、非特許文献2で示される標準仕様で定められているものであり、本発明を実現するためにOS10において何かしらの特別な対応を行なう必要はない。
以上説明したように、本実施形態のサーバ1は、プラットフォーム側に、余剰DIMMを推定するメモリアクセス頻度監視手段200と、システムから切り離された余剰DIMMの動作状態を管理するメモリ状態管理手段201と、を備える。また、サーバ1は、余剰DIMMをシステムから切り離す際に、オペレーティングシステム10に標準仕様で規定されている機能、すなわち、システム運用中にDIMM60をシステムから切り離す機能と、システムに組み込む機能とをそのまま利用する。これにより、本実施形態のサーバ1は、オペレーティングシステム10側での特段の対応なしに、サーバ1の運用中に余剰となったDIMM60を切り離し、余剰DIMMにおける消費電力削減処理、電力供給停止処理を実現することができる。
また、本実施形態のサーバ1は、OS10から切り離されている余剰DIMMの状態を、リフレッシュ動作のみ停止してすぐにOS10に組み込める組み込み可能状態(状態2)と、電力の供給をオフにしている電源オフ状態(状態3)の2つに分けて管理する。
これにより、サーバ1は、OS10に組み込まれているDIMM60へのアクセス頻度を基に、今後、OS10への余剰DIMMの再組み込みが必要となると予想される状況になった場合に、あらかじめ時間のかかるDIMMの初期化等を実施しておくことができる。このため、本実施形態にサーバ1は、OS10が必要としているメモリ容量の変化が激しく、一旦、余剰と判定されたDIMMを再度OS10に組み込む必要が生じた場合に、速やかに余剰DIMMをOS10に再組み込みすることができる。
これにより、サーバ1は、OS10に組み込まれているDIMM60へのアクセス頻度を基に、今後、OS10への余剰DIMMの再組み込みが必要となると予想される状況になった場合に、あらかじめ時間のかかるDIMMの初期化等を実施しておくことができる。このため、本実施形態にサーバ1は、OS10が必要としているメモリ容量の変化が激しく、一旦、余剰と判定されたDIMMを再度OS10に組み込む必要が生じた場合に、速やかに余剰DIMMをOS10に再組み込みすることができる。
なお、上述の余剰となるDIMMを判定するためのDIMM単位のアクセス頻度閾値は、本発明における「第1閾値」に相当する。また、上述の余剰となるDIMMを判定するための複数DIMM単位でのアクセス頻度閾値は、本発明における「第2閾値」に相当する。また、上述の組み込み可能状態(状態2)のDIMMをOS10に組み込まれている状態(状態1)に遷移させることを判定するための、組み込みDIMM60全体のアクセス頻度閾値は、本発明における「第3閾値」に相当する。また、上述の余剰DIMMの電源オフが可能と判定するための、組み込みDIMM60全体のアクセス頻度閾値は、本発明における「第4閾値」に相当する。また、上述の電源オフ状態(状態3)の余剰DIMMを組み込み待機状態(状態2)に遷移させるための、組み込みDIMM60全体のアクセス頻度閾値は、本発明における「第5閾値」に相当する。
[第2の実施形態]
次に、本発明の第2の実施形態について図5を参照して説明する。
図5は、本発明の第2の実施形態に係わるサーバの構成を示すブロック図である。
図5に示すサーバ1Aは、図2に示すサーバ1と比較して、図2に示すプロセッサ40内のメモリコントローラ400が省略され、代わりに図5に示すプロセッサ40の外部にメモリコントローラ70を独立して設けた点が構成上で異なる。
また、図2に示すサーバ1内のBIOS20内のメモリアクセス頻度監視手段200とメモリ状態管理手段201とが省略され、代わりに図5に示すメモリコントローラ70内にメモリアクセス頻度監視手段700とメモリ状態管理手段701とを新たに設けた点が異なる。また、図2に示すサーバ1内のBMCFW50を省略し、代わりに図5に示すメモリコントローラ70内にDIMM電源制御手段702を新たに設けた点が構成上で異なる。他の構成は、図2に示すサーバ1と同様である。このため、同一の構成部分には同一の符号を付している。
次に、本発明の第2の実施形態について図5を参照して説明する。
図5は、本発明の第2の実施形態に係わるサーバの構成を示すブロック図である。
図5に示すサーバ1Aは、図2に示すサーバ1と比較して、図2に示すプロセッサ40内のメモリコントローラ400が省略され、代わりに図5に示すプロセッサ40の外部にメモリコントローラ70を独立して設けた点が構成上で異なる。
また、図2に示すサーバ1内のBIOS20内のメモリアクセス頻度監視手段200とメモリ状態管理手段201とが省略され、代わりに図5に示すメモリコントローラ70内にメモリアクセス頻度監視手段700とメモリ状態管理手段701とを新たに設けた点が異なる。また、図2に示すサーバ1内のBMCFW50を省略し、代わりに図5に示すメモリコントローラ70内にDIMM電源制御手段702を新たに設けた点が構成上で異なる。他の構成は、図2に示すサーバ1と同様である。このため、同一の構成部分には同一の符号を付している。
上記構成のサーバ1Aにおいて、DIMM電源制御手段702は、図2に示すBMCFW50に代わり、DIMM60への電力供給のオン、オフを制御する。先の第1実施形態と異なり、本第2実施形態は、メモリコントローラ70単体で、余剰DIMMの判定と、余剰DIMMの動作状態の管理と、余剰DIMMへの電力供給のオン、オフを制御することができる。
また、メモリアクセス頻度監視手段700とメモリ状態管理手段701とDIMM電源制御手段702とは、メモリコントローラ70内にハードウェア的に実装してもよいし、メモリコントローラ70内に図5には記載してないプロセッサを別途設け、そのプロセッサで実行するソフトウェアとして実装してもよい。
本第2実施形態においても、先の第1実施形態と同様に、メモリアクセス頻度監視手段700は、各DIMM60の単位時間あたりのアクセス頻度を監視し、余剰となるDIMMを判定する。余剰と判定されるDIMMが存在する場合に、メモリアクセス頻度監視手段700は、先の第1実施形態と同様にメモリ状態管理手段701に該当DIMMの状態遷移指示を出す。指示を受けたメモリ状態管理手段701は、第1実施形態と同様に、Notifyオペコード300を実行し、OS10に対して余剰と判定したDIMMの切り離しを指示する。
Notifyオペコード300の実行は、メモリ状態管理手段701がOS10に対して割り込み要求をあげて実施させても良いし、一旦、BIOS20に対して割り込み要求をあげ、BIOS20がその処理を仲介してもよい。Notifyオペコード300実施後のOS10の動作は、先の第1実施形態と同様である。OS10が、_EJ0メソッド302または_OSTメソッド301を実行した場合、その要求は、ACPIツリー30から直接メモリコントローラ70のレジスタを操作するか、BIOS20を仲介して、メモリ状態管理手段701に伝えられる。要求がメモリ状態管理手段701に伝えられた以降の動作は、第1実施形態と同様である。
また、余剰DIMMが組み込み待機状態と電源オフ状態との間を遷移する際の動作については、余剰DIMMへの電力供給オンまたはオフ処理を、BMCFW50(図2)の代わりにDIMM電源制御手段702が行うことが、先の第1実施形態と異なるが、その他の動作は同様である。
また、DIMMが組み込み可能状態からOS10に組み込まれている状態に遷移する際の動作については、先の第1実施形態ではNotifyオペコード300の実施をメモリ状態管理手段201が行うが、第2実施形態では、メモリ状態管理手段701が行う。この場合に、メモリ状態管理手段701が、OS10に対して割り込み要求をあげてNotifyオペコード300を実施させる、もしくは、BIOS20がその処理を仲介するという形態の差があるが、それ以外の動作については、第1実施形態と同様である。
また、DIMMが組み込み可能状態からOS10に組み込まれている状態に遷移する際の動作については、先の第1実施形態ではNotifyオペコード300の実施をメモリ状態管理手段201が行うが、第2実施形態では、メモリ状態管理手段701が行う。この場合に、メモリ状態管理手段701が、OS10に対して割り込み要求をあげてNotifyオペコード300を実施させる、もしくは、BIOS20がその処理を仲介するという形態の差があるが、それ以外の動作については、第1実施形態と同様である。
なお、図5に示すサーバ1Aは、本発明におけるサーバに相当し、DIMM電源制御手段702は、本発明における電源制御手段に相当する。
以上説明したように、本発明のサーバによれば、OS側において特段の対応をすることと無く、余剰となったDIMMの消費電力削減を実施することができる。そのため、本発明は、特にサーバなどベンダが自由にOSの実装を改造することができない計算機システムにおいて、システムの消費電力を削減するために利用可能である。
以上、本発明の実施形態について説明したが、上述のサーバ1は、内部にコンピュータシステムを有している。そして、サーバ1におけるBIOS20、プロセッサ40等における処理は、ソフトウェアプログラムを実行することにより、その処理機能を実現することができる。また、上述のサーバ1Aは、内部にコンピュータシステムを有している。そして、サーバ1AにおけるBIOS20、プロセッサ40、メモリコントローラ70等における処理は、ソフトウェアプログラムを実行することにより、その処理機能を実現することができる。
そして、上述した処理に関する一連の処理の過程は、プログラムの形式でコンピュータ読み取り可能な記録媒体に記憶されており、このプログラムをコンピュータが読み出して実行することによって、上記処理が行われる。すなわち、サーバ1および1Aにおける、各処理は、CPU等の中央演算処理装置がROMやRAM等の主記憶装置に上記プログラムを読み出して、情報の加工、演算処理を実行することにより、実現されるものである。
そして、上述した処理に関する一連の処理の過程は、プログラムの形式でコンピュータ読み取り可能な記録媒体に記憶されており、このプログラムをコンピュータが読み出して実行することによって、上記処理が行われる。すなわち、サーバ1および1Aにおける、各処理は、CPU等の中央演算処理装置がROMやRAM等の主記憶装置に上記プログラムを読み出して、情報の加工、演算処理を実行することにより、実現されるものである。
ここでコンピュータ読み取り可能な記録媒体とは、磁気ディスク、光磁気ディスク、CD−ROM、DVD−ROM、半導体メモリ等をいう。また、このコンピュータプログラムを通信回線によってコンピュータに配信し、この配信を受けたコンピュータが当該プログラムを実行するようにしても良い。
また、サーバ1および1Aには、周辺機器として入力装置、表示装置等(いずれも図示せず)が接続されているものとする。ここで、入力装置としては、キーボード、マウス等の入力デバイスのことをいう。表示装置とは、CRT(Cathode Ray Tube)や液晶表示装置等のことをいう。
また、サーバ1および1Aには、周辺機器として入力装置、表示装置等(いずれも図示せず)が接続されているものとする。ここで、入力装置としては、キーボード、マウス等の入力デバイスのことをいう。表示装置とは、CRT(Cathode Ray Tube)や液晶表示装置等のことをいう。
以上、本発明の実施の形態について説明したが、本発明のサーバは、上述の図示例にのみ限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々変更を加え得ることは勿論である。
上記の実施形態の一部又は全部は、以下の付記のようにも記載されるが、以下には限られない。
(付記1)
システム運用中に複数のメモリモジュールの中から外部要求により指定されたメモリモジュールをシステムから切り離すとともに、この切り離したメモリモジュールを再組み込みする機能を有するオペレーティングシステムと、
前記複数のメモリモジュールの各メモリモジュールへのアクセス頻度を監視し、このアクセス頻度の監視結果を基に、前記複数のメモリモジュールの中で余剰のメモリモジュールとなり得る余剰メモリモジュールを判定するメモリアクセス頻度監視手段と、
前記オペレーティングシステムに対して、前記余剰メモリモジュールのシステムからの切り離し要求、および前記切り離した余剰メモリモジュールのシステムへの組み込み要求を行うとともに、前記余剰メモリモジュールがシステムから切り離された場合に当該余剰メモリモジュールの動作状態を制御するメモリ状態管理手段と、
を備えることを特徴とするサーバ。
システム運用中に複数のメモリモジュールの中から外部要求により指定されたメモリモジュールをシステムから切り離すとともに、この切り離したメモリモジュールを再組み込みする機能を有するオペレーティングシステムと、
前記複数のメモリモジュールの各メモリモジュールへのアクセス頻度を監視し、このアクセス頻度の監視結果を基に、前記複数のメモリモジュールの中で余剰のメモリモジュールとなり得る余剰メモリモジュールを判定するメモリアクセス頻度監視手段と、
前記オペレーティングシステムに対して、前記余剰メモリモジュールのシステムからの切り離し要求、および前記切り離した余剰メモリモジュールのシステムへの組み込み要求を行うとともに、前記余剰メモリモジュールがシステムから切り離された場合に当該余剰メモリモジュールの動作状態を制御するメモリ状態管理手段と、
を備えることを特徴とするサーバ。
(付記1)前記メモリ状態管理手段は、
前記システムから切り離された余剰メモリモジュールについて、リフレッシュ動作停止状態と、電源オフ状態との2つの動作状態を管理する機能を有し、
前記メモリアクセス頻度監視手段は、
オペレーティングシステムに組み込まれている各メモリモジュール全体へのアクセス頻度に応じて、前記切り離された余剰メモリモジュールをリフレッシュ動作停止状態と電源オフ状態との間で遷移させるように前記メモリ状態管理手段に指示する
ことを特徴とする付記1に記載のサーバ。
前記システムから切り離された余剰メモリモジュールについて、リフレッシュ動作停止状態と、電源オフ状態との2つの動作状態を管理する機能を有し、
前記メモリアクセス頻度監視手段は、
オペレーティングシステムに組み込まれている各メモリモジュール全体へのアクセス頻度に応じて、前記切り離された余剰メモリモジュールをリフレッシュ動作停止状態と電源オフ状態との間で遷移させるように前記メモリ状態管理手段に指示する
ことを特徴とする付記1に記載のサーバ。
(付記3)前記メモリアクセス頻度監視手段は、
前記各メモリモジュールにおいてメモリアクセス頻度が所定の第1閾値以下のメモリモジュールが検出された場合に、当該メモリモジュールが余剰メモリモジュールであると判定し、当該メモリモジュールを切り離すように、前記メモリ状態管理手段に指示する
ことを特徴とする付記1または付記2に記載のサーバ。
前記各メモリモジュールにおいてメモリアクセス頻度が所定の第1閾値以下のメモリモジュールが検出された場合に、当該メモリモジュールが余剰メモリモジュールであると判定し、当該メモリモジュールを切り離すように、前記メモリ状態管理手段に指示する
ことを特徴とする付記1または付記2に記載のサーバ。
(付記4)前記メモリアクセス頻度監視手段は、
各メモリモジュールのアクセス頻度が前記第1閾値を下回らず、かつ2以上のメモリモジュールのアクセス頻度の合計値が第2閾値以下となる場合に、
前記2以上のメモリモジュールの中で最もアクセス頻度の少ないメモリモジュールが余剰メモリモジュールであると判定し、当該余剰メモリモジュールをシステムから切り離すように、前記メモリ状態管理手段に指示する
ことを特徴とする付記1に記載のサーバ。
各メモリモジュールのアクセス頻度が前記第1閾値を下回らず、かつ2以上のメモリモジュールのアクセス頻度の合計値が第2閾値以下となる場合に、
前記2以上のメモリモジュールの中で最もアクセス頻度の少ないメモリモジュールが余剰メモリモジュールであると判定し、当該余剰メモリモジュールをシステムから切り離すように、前記メモリ状態管理手段に指示する
ことを特徴とする付記1に記載のサーバ。
(付記5)前記メモリアクセス頻度監視手段は、
前記余剰メモリモジュールをシステムから切り離した後に、システムに組み込まれている各メモリモジュール全体へのリアクセス頻度が所定の第3閾値以上になったと判定した場合に、前記切り離した余剰メモリモジュールを再度システムに組み込むように、前記メモリ状態管理手段に対して指示し、
前記メモリ状態管理手段は、
前記メモリアクセス頻度監視手段から前記余剰メモリモジュールを再度システムに組み込むように指示された場合に、
前記オペレーティングシステムに対して、前記切り離された余剰メモリモジュールのシステムへの組み込み要求を行うとともに、前記余剰メモリモジュールの動作を開始させる
ことを特徴とする付記1から4のいずれか1つに記載のサーバ。
前記余剰メモリモジュールをシステムから切り離した後に、システムに組み込まれている各メモリモジュール全体へのリアクセス頻度が所定の第3閾値以上になったと判定した場合に、前記切り離した余剰メモリモジュールを再度システムに組み込むように、前記メモリ状態管理手段に対して指示し、
前記メモリ状態管理手段は、
前記メモリアクセス頻度監視手段から前記余剰メモリモジュールを再度システムに組み込むように指示された場合に、
前記オペレーティングシステムに対して、前記切り離された余剰メモリモジュールのシステムへの組み込み要求を行うとともに、前記余剰メモリモジュールの動作を開始させる
ことを特徴とする付記1から4のいずれか1つに記載のサーバ。
(付記6)前記メモリアクセス頻度監視手段は、
前記切り離した余剰メモリモジュールのリフレッシュ動作を停止させた後に、システムに組み込まれている各メモリモジュール全体へのアクセス頻度が所定の第4閾値以下になったと判定した場合に、前記切り離した余剰メモリモジュールの電源をオフにするように、前記メモリ状態管理手段に指示し、
前記切り離した余剰メモリモジュールの電源オフの後に、システムに組み込まれている各メモリモジュール全体へのアクセス頻度が所定の第5閾値以上になったと判定された場合に、前記電源オフした余剰メモリモジュールの電源をオンにしてリフレッシュ動作を再開させるように、前記メモリ状態管理手段に指示する、
ことを特徴とする付記2から5のいずれか1つに記載のサーバ。
前記切り離した余剰メモリモジュールのリフレッシュ動作を停止させた後に、システムに組み込まれている各メモリモジュール全体へのアクセス頻度が所定の第4閾値以下になったと判定した場合に、前記切り離した余剰メモリモジュールの電源をオフにするように、前記メモリ状態管理手段に指示し、
前記切り離した余剰メモリモジュールの電源オフの後に、システムに組み込まれている各メモリモジュール全体へのアクセス頻度が所定の第5閾値以上になったと判定された場合に、前記電源オフした余剰メモリモジュールの電源をオンにしてリフレッシュ動作を再開させるように、前記メモリ状態管理手段に指示する、
ことを特徴とする付記2から5のいずれか1つに記載のサーバ。
(付記7)前記メモリ状態管理手段は、
前記メモリアクセス頻度監視手段から余剰メモリモジュールの切り離し指示を受け取った場合に、
前記オペレーティングシステムに対して当該余剰メモリモジュールの切り離し要求を発行し、
前記オペレーティングシステムから当該余剰メモリモジュールの切り離し許可の情報を受け取った場合に、当該余剰メモリモジュールのリフレッシュ動作を停止させる
ことを特徴とする付記2から6のいずれか1つに記載のサーバ。
前記メモリアクセス頻度監視手段から余剰メモリモジュールの切り離し指示を受け取った場合に、
前記オペレーティングシステムに対して当該余剰メモリモジュールの切り離し要求を発行し、
前記オペレーティングシステムから当該余剰メモリモジュールの切り離し許可の情報を受け取った場合に、当該余剰メモリモジュールのリフレッシュ動作を停止させる
ことを特徴とする付記2から6のいずれか1つに記載のサーバ。
(付記8)前記複数のメモリモジュールのそれぞれを構成する複数のDIMMと、
前記オペレーティングシステムに対してインタフェースとなるACPIツリーを提供するとともに、前記メモリアクセス頻度監視手段と前記メモリ状態管理手段とを含むBIOSと、
前記BIOSを介して前記オペレーティングシステムにアクセスするとともに、前記DIMMにアクセスする1また2以上のプロセッサと、
前記プロセッサに内蔵され前記DIMMの制御を行なうメモリコントローラであって、少なくとも、各DIMMに対してリフレッシュを行うか否かを設定するリフレッシュレジスタと、各DIMMに対して行なわれたアクセス回数を記録するアクセスカウンタレジスタと、を有するメモリコントローラと、
前記DIMMへの電力供給のオン、オフを制御する電源制御手段と、
を備え、
前記メモリアクセス頻度監視手段は、
前記メモリコントローラ内のアクセスカウンタレジスタを監視することにより、所定の単位時間に各DIMMへのアクセスが何回行なわれたかを算出し、このアクセス回数の算出結果を基に、複数のDIMMの中に余剰となる余剰DIMMがあるか否かを判定し、
前記メモリ状態管理手段は、
前記メモリアクセス頻度監視手段からの指示により、
前記オペレーティングシステムに対して、前記ACPIツリーを介して前記余剰DIMMのシステムからの切り離し要求、または前記切り離した余剰DIMMのシステムへの再組み込み要求を行うとともに、
前記余剰DIMMをシステムから切り離した場合に、該余剰DIMMの動作状態を、前記メモリコントローラ内のリフレッシュレジスタを介して前記余剰メモリモジュールのリフレッシュ動作を停止させるか、または、電力制御手段を介して前記余剰メモリモジュールの電源をオフにする
ことを特徴とする付記2から7のいずれか1つに記載のサーバ。
前記オペレーティングシステムに対してインタフェースとなるACPIツリーを提供するとともに、前記メモリアクセス頻度監視手段と前記メモリ状態管理手段とを含むBIOSと、
前記BIOSを介して前記オペレーティングシステムにアクセスするとともに、前記DIMMにアクセスする1また2以上のプロセッサと、
前記プロセッサに内蔵され前記DIMMの制御を行なうメモリコントローラであって、少なくとも、各DIMMに対してリフレッシュを行うか否かを設定するリフレッシュレジスタと、各DIMMに対して行なわれたアクセス回数を記録するアクセスカウンタレジスタと、を有するメモリコントローラと、
前記DIMMへの電力供給のオン、オフを制御する電源制御手段と、
を備え、
前記メモリアクセス頻度監視手段は、
前記メモリコントローラ内のアクセスカウンタレジスタを監視することにより、所定の単位時間に各DIMMへのアクセスが何回行なわれたかを算出し、このアクセス回数の算出結果を基に、複数のDIMMの中に余剰となる余剰DIMMがあるか否かを判定し、
前記メモリ状態管理手段は、
前記メモリアクセス頻度監視手段からの指示により、
前記オペレーティングシステムに対して、前記ACPIツリーを介して前記余剰DIMMのシステムからの切り離し要求、または前記切り離した余剰DIMMのシステムへの再組み込み要求を行うとともに、
前記余剰DIMMをシステムから切り離した場合に、該余剰DIMMの動作状態を、前記メモリコントローラ内のリフレッシュレジスタを介して前記余剰メモリモジュールのリフレッシュ動作を停止させるか、または、電力制御手段を介して前記余剰メモリモジュールの電源をオフにする
ことを特徴とする付記2から7のいずれか1つに記載のサーバ。
(付記9)前記メモリ状態管理手段は、
前記メモリモジュールをオペレーティングシステムから切り離す際に、前記オペレーティングシステムに対してNotifyオペコードを発行し、
前記オペレーティングシステムから前記Notifyオペコードに応じて返信される_EJ0メソッドを受信した後に、前記余剰DIMMのリフレッシュ動作を停止させる
ことを特徴とする付記8に記載のサーバ。
前記メモリモジュールをオペレーティングシステムから切り離す際に、前記オペレーティングシステムに対してNotifyオペコードを発行し、
前記オペレーティングシステムから前記Notifyオペコードに応じて返信される_EJ0メソッドを受信した後に、前記余剰DIMMのリフレッシュ動作を停止させる
ことを特徴とする付記8に記載のサーバ。
(付記10)前記メモリコントローラは、前記プロセッサの外部に独立して設けられ、
前記メモリアクセス頻度監視手段と、メモリ状態管理手段と、前記電源制御手段とが前記独立して設けられるメモリコントローラ内に配置される
ことを特徴とする付記8または付記9に記載のサーバ。
前記メモリアクセス頻度監視手段と、メモリ状態管理手段と、前記電源制御手段とが前記独立して設けられるメモリコントローラ内に配置される
ことを特徴とする付記8または付記9に記載のサーバ。
(付記11)システム運用中に複数のメモリモジュールの中から外部要求により指定されたメモリモジュールをシステムから切り離すとともに、この切り離したメモリモジュールを再組み込みする機能を有するオペレーティングシステムをサーバに搭載する手順と、
前記複数のメモリモジュールの中で余剰のメモリモジュールとなり得る余剰メモリモジュールを判定する手順と、
前記オペレーティングシステムに対して、前記余剰メモリモジュールの切り離し要求、または前記切り離した余剰メモリモジュールのシステムへの再組み込み要求を行う手順と、
前記余剰メモリモジュールをシステムから切り離した場合に当該余剰メモリモジュールの動作状態を制御する手順と、
を含むことを特徴とするサーバの消費電力削減方法。
前記複数のメモリモジュールの中で余剰のメモリモジュールとなり得る余剰メモリモジュールを判定する手順と、
前記オペレーティングシステムに対して、前記余剰メモリモジュールの切り離し要求、または前記切り離した余剰メモリモジュールのシステムへの再組み込み要求を行う手順と、
前記余剰メモリモジュールをシステムから切り離した場合に当該余剰メモリモジュールの動作状態を制御する手順と、
を含むことを特徴とするサーバの消費電力削減方法。
(付記12)システム運用中に複数のメモリモジュールの中から外部要求により指定されたメモリモジュールをシステムから切り離すとともに、この切り離したメモリモジュールを再組み込みする機能を有するオペレーティングシステムを搭載したサーバ内のコンピュータに、
前記複数のメモリモジュールの各メモリモジュールへのアクセス頻度を監視し、このアクセス頻度の監視結果を基に、前記複数のメモリモジュールの中で余剰のメモリモジュールとなり得る余剰メモリモジュールを判定するメモリアクセス頻度監視手順と、
前記オペレーティングシステムに対して、前記余剰メモリモジュールのシステムからの切り離し要求、および前記切り離した余剰メモリモジュールのシステムへの組み込み要求を行うとともに、前記余剰メモリモジュールがシステムから切り離された場合に当該余剰メモリモジュールの動作状態を制御するメモリ状態管理手順と、
を実行させるためのコンピュータプログラム。
前記複数のメモリモジュールの各メモリモジュールへのアクセス頻度を監視し、このアクセス頻度の監視結果を基に、前記複数のメモリモジュールの中で余剰のメモリモジュールとなり得る余剰メモリモジュールを判定するメモリアクセス頻度監視手順と、
前記オペレーティングシステムに対して、前記余剰メモリモジュールのシステムからの切り離し要求、および前記切り離した余剰メモリモジュールのシステムへの組み込み要求を行うとともに、前記余剰メモリモジュールがシステムから切り離された場合に当該余剰メモリモジュールの動作状態を制御するメモリ状態管理手順と、
を実行させるためのコンピュータプログラム。
1,1A…サーバ、10…オペレーティングシステム(OS)、20…BIOS、30…ACPIツリー、40…プロセッサ、60…DIMM、70…メモリコントローラ、200…メモリアクセス頻度監視手段、201…メモリ状態管理手段、300…Notifyオペコード、301…_OSTメソッド、302…EJ0メソッド、400…メモリコントローラ、401…初期化レジスタ、402…リフレッシュレジスタ、403…アクセスカウンタレジスタ、700…メモリアクセス頻度監視手段、701…メモリ状態管理手段、702…DIMM電源制御手段
Claims (10)
- システム運用中に複数のメモリモジュールの中から外部要求により指定されたメモリモジュールをシステムから切り離すとともに、この切り離したメモリモジュールを再組み込みする機能を有するオペレーティングシステムと、
前記複数のメモリモジュールの各メモリモジュールへのアクセス頻度を監視し、このアクセス頻度の監視結果を基に、前記複数のメモリモジュールの中で余剰のメモリモジュールとなり得る余剰メモリモジュールを判定するメモリアクセス頻度監視手段と、
前記オペレーティングシステムに対して、前記余剰メモリモジュールのシステムからの切り離し要求、および前記切り離した余剰メモリモジュールのシステムへの組み込み要求を行うとともに、前記余剰メモリモジュールがシステムから切り離された場合に当該余剰メモリモジュールの動作状態を制御するメモリ状態管理手段と、
を備えることを特徴とするサーバ。 - 前記メモリ状態管理手段は、
前記システムから切り離された余剰メモリモジュールについて、リフレッシュ動作停止状態と、電源オフ状態との2つの動作状態を管理する機能を有し、
前記メモリアクセス頻度監視手段は、
オペレーティングシステムに組み込まれている各メモリモジュール全体へのアクセス頻度に応じて、前記切り離された余剰メモリモジュールをリフレッシュ動作停止状態と電源オフ状態との間で遷移させるように前記メモリ状態管理手段に指示する
ことを特徴とする請求項1に記載のサーバ。 - 前記メモリアクセス頻度監視手段は、
前記各メモリモジュールにおいてメモリアクセス頻度が所定の第1閾値以下のメモリモジュールが検出された場合に、当該メモリモジュールが余剰メモリモジュールであると判定し、当該メモリモジュールを切り離すように、前記メモリ状態管理手段に指示する
ことを特徴とする請求項1または請求項2に記載のサーバ。 - 前記メモリアクセス頻度監視手段は、
各メモリモジュールのアクセス頻度が前記第1閾値を下回らず、かつ2以上のメモリモジュールのアクセス頻度の合計値が第2閾値以下となる場合に、
前記2以上のメモリモジュールの中で最もアクセス頻度の少ないメモリモジュールが余剰メモリモジュールであると判定し、当該余剰メモリモジュールをシステムから切り離すように、前記メモリ状態管理手段に指示する
ことを特徴とする請求項3に記載のサーバ。 - 前記メモリアクセス頻度監視手段は、
前記余剰メモリモジュールをシステムから切り離した後に、システムに組み込まれている各メモリモジュール全体へのリアクセス頻度が所定の第3閾値以上になったと判定した場合に、前記切り離した余剰メモリモジュールを再度システムに組み込むように、前記メモリ状態管理手段に対して指示し、
前記メモリ状態管理手段は、
前記メモリアクセス頻度監視手段から前記余剰メモリモジュールを再度システムに組み込むように指示された場合に、
前記オペレーティングシステムに対して、前記切り離された余剰メモリモジュールのシステムへの組み込み要求を行うとともに、前記余剰メモリモジュールの動作を開始させる
ことを特徴とする請求項1から4のいずれか1項に記載のサーバ。 - 前記メモリアクセス頻度監視手段は、
前記切り離した余剰メモリモジュールのリフレッシュ動作を停止させた後に、システムに組み込まれている各メモリモジュール全体へのアクセス頻度が所定の第4閾値以下になったと判定した場合に、前記切り離した余剰メモリモジュールの電源をオフにするように、前記メモリ状態管理手段に指示し、
前記切り離した余剰メモリモジュールの電源オフの後に、システムに組み込まれている各メモリモジュール全体へのアクセス頻度が所定の第5閾値以上になったと判定された場合に、前記電源オフした余剰メモリモジュールの電源をオンにしてリフレッシュ動作を再開させるように、前記メモリ状態管理手段に指示する、
ことを特徴とする請求項2から5のいずれか1項に記載のサーバ。 - 前記メモリ状態管理手段は、
前記メモリアクセス頻度監視手段から余剰メモリモジュールの切り離し指示を受け取った場合に、
前記オペレーティングシステムに対して当該余剰メモリモジュールの切り離し要求を発行し、
前記オペレーティングシステムから当該余剰メモリモジュールの切り離し許可の情報を受け取った場合に、当該余剰メモリモジュールのリフレッシュ動作を停止させる
ことを特徴とする請求項2から6のいずれか1項に記載のサーバ。 - 前記複数のメモリモジュールのそれぞれを構成する複数のDIMMと、
前記オペレーティングシステムに対してインタフェースとなるACPIツリーを提供するとともに、前記メモリアクセス頻度監視手段と前記メモリ状態管理手段とを含むBIOSと、
前記BIOSを介して前記オペレーティングシステムにアクセスするとともに、前記DIMMにアクセスする1また2以上のプロセッサと、
前記プロセッサに内蔵され前記DIMMの制御を行なうメモリコントローラであって、少なくとも、各DIMMに対してリフレッシュを行うか否かを設定するリフレッシュレジスタと、各DIMMに対して行なわれたアクセス回数を記録するアクセスカウンタレジスタと、を有するメモリコントローラと、
前記DIMMへの電力供給のオン、オフを制御する電源制御手段と、
を備え、
前記メモリアクセス頻度監視手段は、
前記メモリコントローラ内のアクセスカウンタレジスタを監視することにより、所定の単位時間に各DIMMへのアクセスが何回行なわれたかを算出し、このアクセス回数の算出結果を基に、複数のDIMMの中に余剰となる余剰DIMMがあるか否かを判定し、
前記メモリ状態管理手段は、
前記メモリアクセス頻度監視手段からの指示により、
前記オペレーティングシステムに対して、前記ACPIツリーを介して前記余剰DIMMのシステムからの切り離し要求、または前記切り離した余剰DIMMのシステムへの再組み込み要求を行うとともに、
前記余剰DIMMをシステムから切り離した場合に、該余剰DIMMの動作状態を、前記メモリコントローラ内のリフレッシュレジスタを介して前記余剰メモリモジュールのリフレッシュ動作を停止させるか、または、電力制御手段を介して前記余剰メモリモジュールの電源をオフにする
ことを特徴とする請求項2から7のいずれか1項に記載のサーバ。 - システム運用中に複数のメモリモジュールの中から外部要求により指定されたメモリモジュールをシステムから切り離すとともに、この切り離したメモリモジュールを再組み込みする機能を有するオペレーティングシステムをサーバに搭載する手順と、
前記複数のメモリモジュールの中で余剰のメモリモジュールとなり得る余剰メモリモジュールを判定する手順と、
前記オペレーティングシステムに対して、前記余剰メモリモジュールの切り離し要求、または前記切り離した余剰メモリモジュールのシステムへの再組み込み要求を行う手順と、
前記余剰メモリモジュールをシステムから切り離した場合に当該余剰メモリモジュールの動作状態を制御する手順と、
を含むことを特徴とするサーバの消費電力削減方法。 - システム運用中に複数のメモリモジュールの中から外部要求により指定されたメモリモジュールをシステムから切り離すとともに、この切り離したメモリモジュールを再組み込みする機能を有するオペレーティングシステムを搭載したサーバ内のコンピュータに、
前記複数のメモリモジュールの各メモリモジュールへのアクセス頻度を監視し、このアクセス頻度の監視結果を基に、前記複数のメモリモジュールの中で余剰のメモリモジュールとなり得る余剰メモリモジュールを判定するメモリアクセス頻度監視手順と、
前記オペレーティングシステムに対して、前記余剰メモリモジュールのシステムからの切り離し要求、および前記切り離した余剰メモリモジュールのシステムへの組み込み要求を行うとともに、前記余剰メモリモジュールがシステムから切り離された場合に当該余剰メモリモジュールの動作状態を制御するメモリ状態管理手順と、
を実行させるためのコンピュータプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012008738A JP2013149065A (ja) | 2012-01-19 | 2012-01-19 | サーバ、サーバの消費電力削減方法、およびコンピュータプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012008738A JP2013149065A (ja) | 2012-01-19 | 2012-01-19 | サーバ、サーバの消費電力削減方法、およびコンピュータプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2013149065A true JP2013149065A (ja) | 2013-08-01 |
Family
ID=49046517
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012008738A Pending JP2013149065A (ja) | 2012-01-19 | 2012-01-19 | サーバ、サーバの消費電力削減方法、およびコンピュータプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2013149065A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013250791A (ja) * | 2012-05-31 | 2013-12-12 | Toshiba Corp | プログラム、計算処理装置、メモリ管理方法および計算機 |
JP2016105273A (ja) * | 2014-11-18 | 2016-06-09 | エイチジーエスティーネザーランドビーブイ | 装置における電源管理のためのリソース割当及び解除 |
-
2012
- 2012-01-19 JP JP2012008738A patent/JP2013149065A/ja active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013250791A (ja) * | 2012-05-31 | 2013-12-12 | Toshiba Corp | プログラム、計算処理装置、メモリ管理方法および計算機 |
JP2016105273A (ja) * | 2014-11-18 | 2016-06-09 | エイチジーエスティーネザーランドビーブイ | 装置における電源管理のためのリソース割当及び解除 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI630476B (zh) | 執行平台裝置之動態功率控制的處理器、機器可讀取媒體及系統 | |
US10310588B2 (en) | Forcing core low power states in a processor | |
US10360114B2 (en) | Hardware recovery systems | |
US9721660B2 (en) | Configurable volatile memory without a dedicated power source for detecting a data save trigger condition | |
US8689017B2 (en) | Server power manager and method for dynamically managing server power consumption | |
US7877358B2 (en) | Replacing system hardware | |
US20060085794A1 (en) | Information processing system, information processing method, and program | |
JP2015064676A (ja) | 情報処理装置、半導体装置、情報処理方法およびプログラム | |
US8230237B2 (en) | Pre-boot environment power management | |
KR20130049201A (ko) | 저장 드라이브 관리 | |
US9746910B2 (en) | Supporting runtime D3 and buffer flush and fill for a peripheral component interconnect device | |
US11922172B2 (en) | Configurable reduced memory startup | |
US20160314024A1 (en) | Clearance mode in a multicore processor system | |
US11868265B2 (en) | Systems and methods for processing asynchronous reset events while maintaining persistent memory state | |
US7240227B2 (en) | Automatic restart and resume of computing system upon reapplication of external power | |
JP2005202506A (ja) | ブレードサーバにおける電力管理システム | |
US20120240125A1 (en) | System Resource Management In An Electronic Device | |
KR20210091048A (ko) | Soc의 동적 열 분배를 위한 시스템, 장치 및 방법 | |
JP2013149065A (ja) | サーバ、サーバの消費電力削減方法、およびコンピュータプログラム | |
CN112771470A (zh) | 用于对多个知识产权主体和共享电源轨进行共同功率控制的系统、装置及方法 | |
US9285865B2 (en) | Dynamic link scaling based on bandwidth utilization | |
EP2503430B1 (en) | System resource management in an electronic device | |
KR20090104768A (ko) | 전력 관리 방법 및 장치 | |
US20160216756A1 (en) | Power management in computing devices | |
JP2024512689A (ja) | 持続性キャッシュフラッシュのためのシステムサポート |