Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP6540409B2 - ストレージ制御装置、ストレージ制御プログラムおよびストレージ制御方法 - Google Patents
[go: Go Back, main page]

JP6540409B2 - ストレージ制御装置、ストレージ制御プログラムおよびストレージ制御方法 - Google Patents

ストレージ制御装置、ストレージ制御プログラムおよびストレージ制御方法 Download PDF

Info

Publication number
JP6540409B2
JP6540409B2 JP2015180357A JP2015180357A JP6540409B2 JP 6540409 B2 JP6540409 B2 JP 6540409B2 JP 2015180357 A JP2015180357 A JP 2015180357A JP 2015180357 A JP2015180357 A JP 2015180357A JP 6540409 B2 JP6540409 B2 JP 6540409B2
Authority
JP
Japan
Prior art keywords
job
access
storage device
server
power
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
JP2015180357A
Other languages
English (en)
Other versions
JP2017058710A (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 JP2015180357A priority Critical patent/JP6540409B2/ja
Priority to EP16186035.8A priority patent/EP3141998A1/en
Priority to US15/252,570 priority patent/US10437494B2/en
Publication of JP2017058710A publication Critical patent/JP2017058710A/ja
Application granted granted Critical
Publication of JP6540409B2 publication Critical patent/JP6540409B2/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
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0625Power saving in storage systems
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0634Configuration or reconfiguration of storage systems by changing the state or mode of one or more devices
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0653Monitoring storage devices or systems
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • 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)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Power Sources (AREA)
  • Debugging And Monitoring (AREA)

Description

本発明は、ストレージ制御装置、ストレージ制御プログラムおよびストレージ制御方法に関する。
近年、コンピュータシステムが取り扱うデータ量は増加の一途をたどっており、データを保管するストレージシステムも大規模化している。大規模化したストレージシステムには、複数のストレージ装置を備え、この複数のストレージ装置をストレージ制御装置が制御するものがある。
ところで、ストレージシステムの大規模化は、システムの電力消費量の増大を招く。そこで、ストレージ制御装置がストレージ装置へのアクセスを監視し、一定時間ストレージ装置にアクセスがないときに、このストレージ装置への電力供給を停止し、電力消費量を抑える制御を行う技術がある。また、ストレージ制御装置が、事前に所定の時間帯ごとのストレージ装置へのアクセス履歴を生成し、アクセス履歴に基づいてストレージ装置へのアクセスパターンを推定する技術がある。ストレージ制御装置が、推定したストレージ装置へのアクセスパターンに基づいてストレージ装置の電源制御を行うことによって、より効果的に消費電力を削減することができる。
特開平8−321123号公報 特開2009−157571号公報
しかしながら、ストレージ制御装置が、所定の時間帯のアクセス履歴に基づいてストレージ装置の電源制御を行っても、消費電力を効果的に削減できない場合がある。
ホストやサーバなどの外部装置からストレージ装置へアクセス要求を行うアクセスパターンは、外部装置が実行するジョブによって異なることが多い。多くのホストやサーバでは複数のジョブを並行して実行しており、また、実行しているジョブを終了し、他のジョブを開始するジョブの入れ替えも適宜行われる。このため、アクセス履歴の採取時と、ストレージ制御装置による電源制御時とでは、外部装置が実行しているジョブが異なり、外部装置からストレージ装置へのアクセスパターンが異なる場合がある。ストレージ制御装置は、アクセス履歴に基づいてストレージ装置へのアクセスパターンを推定し、推定結果に基づいてストレージ装置の電源制御を行う。このため、ストレージ制御装置が、外部装置が実行しているジョブが異なる状態において採取されたアクセス履歴に基づいてストレージ装置の電源制御を行うと、ストレージ装置の消費電力削減を効果的に行えない場合がある。
1つの側面では、本発明は、ストレージ装置の消費電力をストレージ装置へのアクセスパターンに応じて効果的に削減することが可能なストレージ制御装置、ストレージ制御プログラムおよびストレージ制御方法を提供することを目的とする。
上記課題を解決するために、以下に示すようなストレージ制御装置が提供される。ストレージ制御装置は、記憶部と、制御部と、を備える。記憶部は、ジョブの実行予定に関する予定情報と、ジョブのストレージデバイスごとのアクセス履歴に関する履歴情報と、を記憶する。制御部は、予定情報と履歴情報とに基づいて所定の時間区分におけるジョブからストレージデバイスへのアクセスを推定し、推定結果に基づいてストレージデバイスへの電源供給を制御する。履歴情報は、ジョブが起動されてからの経過時間に対応する時間区分ごとのアクセス履歴を含む。制御部は、所定の時間区分に実行が予定されるジョブに対応するアクセス履歴に基づいて、ジョブからストレージデバイスへの所定の時間区分におけるアクセスを推定する。
また、1つの態様では、コンピュータに処理を実行させるストレージ制御プログラムが提供される。また、1つの態様では、コンピュータが実行するストレージ制御方法が提供される。
1態様によれば、ストレージ制御装置、ストレージ制御プログラムおよびストレージ制御方法において、ストレージ装置の消費電力を、ストレージ装置へのアクセスパターンに応じて効果的に削減することができる。
第1の実施形態のストレージ制御装置の構成を示す図である。 第2の実施形態のコンピュータシステムの構成の一例を示す図である。 第2の実施形態のメタデータサーバのハードウェア構成の一例を示す図である。 第2の実施形態の各サーバの処理機能の構成の一例を示すブロック図である。 第2の実施形態のジョブ管理表の一例を示す図である。 第2の実施形態のアクセスログの一例を示す図である。 第2の実施形態のアクセスパターンの一例を示す図である。 第2の実施形態のアクセス集計表の一例を示す図である。 第2の実施形態の電源状態表の一例を示す図である。 第2の実施形態のジョブの起動とジョブによるアクセス要求時の処理を示す図である。 第2の実施形態のジョブ起動処理のフローチャートを示す図である。 第2の実施形態のジョブ割当処理のフローチャートを示す図である。 第2の実施形態のメタデータサーバの電力削減処理のフローチャートを示す図である。 第2の実施形態の電源管理処理のフローチャートを示す図である。 第2の実施形態のアクセス推定処理を説明する図である。 第2の実施形態のアクセス確率算出処理のフローチャートを示す図である。 第2の実施形態の電源制御指示処理のフローチャートを示す図である。
以下、本発明の実施形態について図面を参照して説明する。
[第1の実施形態]
図1は、第1の実施形態のストレージ制御装置の構成を示す図である。第1の実施形態のストレージ制御装置1は、ジョブA(4a)、ジョブB(4b)を実行する外部装置(たとえばホストやサーバなど)からのアクセス要求を受け付け、受け付けたアクセス要求に応じてストレージ装置2を制御する。ストレージ装置2は、ストレージデバイス2a,2bと、ストレージデバイス2a,2bに電源を供給する電源供給部2dを有する。ストレージデバイス2a,2bは、たとえば、SSD(Solid State Drive)やHDD(Hard Disk Drive)などである。電源供給部2dは、ストレージデバイス2a,2bに対し、個別に電源供給を行う。
ストレージ制御装置1は、記憶部1aと制御部1bとを有する。記憶部1aは、予定情報3aと履歴情報3bを記憶する。記憶部1aは、たとえば、RAM(Random Access Memory)などである。
予定情報3aは、ジョブA(4a)、ジョブB(4b)の実行予定時間を含むジョブの実行予定に関する情報である。予定情報3aは、利用者あるいは外部装置がジョブA(4a)、ジョブB(4b)の実行予約を行ったときに生成され、記憶部1aに格納される。図1に示す予定情報3aには、実行予定のジョブ[A]およびジョブAの実行が予定される利用時間帯[ta]と、実行予定のジョブ[B]およびジョブBの実行が予定される利用時間帯[tb]と、が登録されている。
履歴情報3bは、ジョブA(4a)、ジョブB(4b)によるストレージデバイス2a,2bごとのアクセス履歴に関する情報である。制御部1bは、ジョブA(4a)からのアクセス要求を受け付け、ストレージデバイス2a,2bにアクセスしたときにアクセス履歴を生成する。ジョブB(4b)についても同様である。図1に示す履歴情報3bのアクセス履歴には、アクセス時のジョブと、アクセスしたストレージデバイスと、アクセスした時間区分とが関連付けて記録されている。時間区分は、ジョブが開始されてからの経過時間を予め決められた時間区分の長さ(単位時間)で区切った時間帯である。時間区分には、たとえば、ジョブの開始に対応する時間区分を1とし、時間の経過にしたがって順に番号を付す。アクセス履歴に登録された時間区分の番号により、アクセスがジョブの開始からどのくらい時間が経過してから実行されたのかを知ることができる。たとえば、履歴情報3bの1行目には、ジョブ[A]がストレージデバイス[2a]に対し、時間区分[pa1]にアクセスしたことが記録されている。履歴情報3bには、所定の期間に生成されたアクセス履歴が蓄積されている。
制御部1bは、ストレージ装置2のストレージデバイス2a,2bに配置されるデータへのアクセス制御と、ストレージデバイス2a,2bの電源制御とを行う。
アクセス制御では、制御部1bは、ジョブA(4a)、ジョブB(4b)を実行する外部装置からのアクセス要求を受け付け、受け付けたアクセス要求に応じてストレージデバイス2a,2bの記憶領域へアクセスする。また、制御部1bは、ストレージデバイス2a,2bに対するアクセス処理を行うごとにアクセス履歴を生成し、履歴情報3bに蓄積する。制御部1bは、たとえば、ジョブA(4a)、ジョブB(4b)の開始時刻および単位時間を外部装置から取得し、ジョブの経過時間を単位時間で区切って時間区分を設定する。図1に示す履歴情報3bの例では、制御部1bは、ジョブA(4a)の開始から一つの単位時間が経過するまでの時間区分をpa1とし、順次pa2,pa3,・・・,pan(nはn≧1の整数)と設定する。制御部1bは、同様に、ジョブB(4b)の開始からの経過時間を区切り、pb1,pb2,・・・,pbm(mはm≧1の整数)としている。時間区分の単位時間は、ジョブA(4a)とジョブB(4b)とで共通にする。このような履歴情報3bを記録することにより、制御部1bは、ジョブの時間区分ごとのアクセスパターンを推定することができる。
電源制御では、制御部1bは、予定情報3aと履歴情報3bとに基づいて、所定の時間区分において実行が予定されるジョブA(4a)、ジョブB(4b)のストレージデバイス2a,2bへのアクセスを推定する。なお、時間区分は、たとえば、ストレージ制御装置1あるいはシステムを起動してからの経過時間を所定の単位時間で区切った時間帯である。制御部1bは、システムの起動時に対応する時間区分を1とし、順に番号を付して時間区分を管理する。所定の時間区分は、システム起動後の任意の時間区分を指す。時間区分に用いた単位時間の長さは、ジョブの起動時から開始する時間区分の単位時間と同じであることが好ましい。制御部1bは、履歴情報3bに蓄積したアクセス履歴に基づくジョブの過去のアクセスパターンから、対象の時間区分において実行が予定されるジョブからのアクセスを推定する。制御部1bは、推定結果に基づいてストレージデバイス2a,2bへの電源供給を制御する。制御部1bは、電源供給部2dに指示してストレージデバイス2a,2bへの電源制御を行う。
このようなストレージ制御装置1における電源制御処理を、図1に示す例を用いて説明する。履歴情報3bには、ジョブA(4a)、ジョブB(4b)が1回以上実行されたときのアクセス履歴が蓄積されているとする。履歴情報3bには、ジョブA(4a)の時間区分pa1からpanのアクセス履歴と、ジョブB(4b)の時間区分pb1からpbnのアクセス履歴とが蓄積されている。制御部1bは、所定の時間区分Tに実行が予定されるジョブによるストレージデバイス2aに対するアクセスを推定する。制御部1bは、予定情報3aに基づき、所定の時間区分Tに実行が予定されるジョブA(4a)を特定し、所定の時間区分TにおけるジョブA(4a)の時間区分pai(1≦i≦n)を検出する。これにより制御部1bでは、予定情報3aの開始時刻から処理を開始したジョブA(4a)は、所定の時間区分Tでは、開始から時間区分paiが経過した時間区分paiにおける処理を実行していると推定する。制御部1bは、履歴情報3bからジョブA(4a)が時間区分paiにおいてストレージデバイス2aにアクセスしたアクセス履歴を抽出する。制御部1bは、抽出したアクセス履歴に基づいて、所定の時間区分Tにおいて実行が予定されるジョブA(4a)のストレージデバイス2aへのアクセスを推定する。また、制御部1bは、ジョブB(4b)について、所定の時間区分Tに実行が予定される時間区分pbj(1≦j≦m)を検出し、同様の処理を行う。そして、制御部1bは、ジョブ間のアクセスは独立しているとして、ジョブA(4a)、ジョブB(4b)それぞれの推定結果に基づき、所定の時間区分Tにおけるストレージデバイス2aに対する全ジョブからのアクセスを推定する。制御部1bは、全ジョブによるアクセスの推定結果に基づき、電力供給を停止した場合の消費電力の低減効果やジョブ処理の性能へ与える影響などを評価し、評価結果に基づいてストレージデバイス2aへの電力供給を制御する。さらに、制御部1bは、同様の処理をストレージデバイス2bに対して実行し、ストレージデバイス2bへの電力供給を制御する。なお、たとえば、利用分野や処理内容などの属性が同じジョブをまとめ、同属性のジョブ単位に推定結果を算出し、これを用いて全ジョブによるアクセスの推定を行うとしてもよい。
このようなストレージ制御装置1によれば、制御部1bは、アクセス要求に応じてアクセス処理を行うとき、アクセス要求を行ったジョブ、アクセスしたストレージデバイスおよび時間区分を含むアクセス履歴を生成する。制御部1bは、アクセス履歴を履歴情報3bに登録し、記憶部1aに格納する。制御部1bは、蓄積した履歴情報3bと、予定情報3aとに基づいて、所定の時間区分における所定のストレージデバイスへのアクセスをジョブごとに推定する。制御部1bは、ジョブごとに推定した推定結果を用いて所定のストレージデバイスへのアクセスを推定し、推定結果に基づいてこのストレージデバイスへの電源供給を制御する。
このように、ストレージ制御装置1は、ジョブのストレージデバイスごとのアクセス履歴を蓄積した履歴情報3bと、ジョブの予定情報3aに基づいて所定の時間区分において実行が予定されるジョブごとのストレージデバイスへのアクセスを推定する。これにより、所定の時間区分において実行が予定されるジョブのアクセスパターンに基づいてストレージデバイスへのアクセス推定をより正確に行うことが可能となり、ストレージ装置の消費電力を効果的に削減することが可能となる。
[第2の実施形態]
次に、第2の実施形態のコンピュータシステムについて説明する。まず、第2の実施形態の構成について説明し、続いてストレージ装置へのアクセス要求に対応するアクセス処理と、ストレージ装置の消費電力を削減するための電力削減処理について説明する。
(1)構成
図2は、第2の実施形態のコンピュータシステムの構成の一例を示す図である。
第2の実施形態のコンピュータシステムは、メタデータサーバ群20と、データサーバ群30と、ジョブ管理サーバ50と、ジョブ実行サーバ群60と、がネットワーク(伝送路)70を介して接続する。メタデータサーバ群20と、データサーバ群30とは、ファイルシステム10に含まれ、ジョブ実行サーバ群60はジョブの実行時にファイルシステム10へアクセスする。
メタデータサーバ群20は、複数のメタデータサーバ200a,200bを有する。メタデータサーバ200a,200bは、ファイルデータが格納されるデータサーバとHDDを登録したディスク情報を有し、アクセス管理と電源管理を行う。メタデータサーバ200a,200bは、ジョブ実行サーバ600a,600bからの要求を受け付け、ディスク情報に基づいてストレージ装置400a,400bを管理するデータサーバ300a,300bにアクセス指示を行う。また、メタデータサーバ200a,200bは、データサーバ群30の各HDDの電源管理を行う。メタデータサーバ群20は、図1のストレージ制御装置1の一実施形態である。
データサーバ群30は、複数のデータサーバ300a,300bを有する。データサーバ300a,300bは、それぞれストレージ装置400a,400bが接続されており、メタデータサーバ200a,200bからの指示に応じてストレージ装置400a,400bへのアクセス制御と電源制御を行う。ストレージ装置400aには、複数のHDD411a,412a,413a,414aが実装されている。同様に、ストレージ装置400bには、複数のHDD411b,412b,413b,414bが実装されている。各ストレージ装置400a,400bは、内蔵するHDDを用いたRAID(Redundant Arrays of Inexpensive Disks)システムであってもよい。ファイルシステム10が管理するファイルデータは、各HDDの記憶領域に格納される。各HDDは、それぞれ一意に割り当てられたディスクIDによって管理される。データサーバ群30は、図1のストレージ装置2の一実施形態である。以下では、HDDを特に限定して説明する必要がないときは、ストレージ装置400a,400bに実装されるHDDをディスク410と表記する。
ジョブ管理サーバ50は、ジョブの実行予定に関する情報が登録されるジョブ管理表に基づき、ジョブの実行のスケジューリングを行う。
ジョブ実行サーバ群60は、複数のジョブ実行サーバ600a,600bを有する。ジョブ実行サーバ600a,600bは、ジョブ管理サーバ50から割り当てられたジョブを実行する。ジョブ実行時、ジョブ実行サーバ600a,600bでは、ファイルシステム10が保持するファイルへアクセスする際、メタデータサーバ200a,200bに対してアクセス要求を行う。
なお、ジョブ管理サーバ50、メタデータサーバ200a,200b、データサーバ300a,300bおよびジョブ実行サーバ600a,600bは、システム全体で同期がとれているシステム時間によって動作する。したがって、各サーバが計時するシステム時間は、サーバ間で一致する。
次に、第2の実施形態のメタデータサーバのハードウェア構成について図3を用いて説明する。図3は、第2の実施形態のメタデータサーバのハードウェア構成の一例を示す図である。以下において、メタデータサーバ200a,200bを特定する必要がないときは、メタデータサーバ200と表記する。データサーバ300、ストレージ装置400およびジョブ実行サーバ600についても同様である。
メタデータサーバ200は、CPU(Central Processing Unit)201によって装置全体が制御されている。CPU201には、バス208を介してRAM202と複数の周辺機器が接続されている。
RAM202は、メタデータサーバ200の主記憶装置として使用される。RAM202には、CPU201に実行させるOS(Operating System)のプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、RAM202には、CPU201による処理に必要な各種データが格納される。
バス208に接続されている周辺機器としては、HDD203、グラフィック処理装置204、入力インタフェース205、光学ドライブ装置206、および通信インタフェース207がある。
HDD203は、内蔵したディスクに対して、磁気的にデータの書き込みおよび読み出しを行う。HDD203は、メタデータサーバ200の二次記憶装置として使用される。HDD203には、OSのプログラム、アプリケーションプログラム、および各種データが格納される。なお、二次記憶装置としては、フラッシュメモリなどの半導体記憶装置を使用することもできる。
グラフィック処理装置204には、モニタ211が接続されている。グラフィック処理装置204は、CPU201からの命令にしたがって、画像をモニタ211の画面に表示させる。モニタ211としては、CRT(Cathode Ray Tube)を用いた表示装置や液晶表示装置などがある。
入力インタフェース205には、キーボード212とマウス213とが接続されている。入力インタフェース205は、キーボード212やマウス213から送られてくる信号をCPU201に送信する。なお、マウス213は、ポインティングデバイスの一例であり、他のポインティングデバイスを使用することもできる。他のポインティングデバイスとしては、タッチパネル、タブレット、タッチパッド、トラックボールなどがある。
光学ドライブ装置206は、レーザ光などを利用して、光ディスク214に記録されたデータの読み取りを行う。光ディスク214は、光の反射によって読み取り可能なようにデータが記録された可搬型の記録媒体である。光ディスク214には、DVD(Digital Versatile Disc)、DVD−RAM、CD−ROM(Compact Disc Read Only Memory)、CD−R(Recordable)/RW(ReWritable)などがある。
通信インタフェース207は、ネットワーク70に接続されている。通信インタフェース207は、ネットワーク70を介して、他のコンピュータまたは通信機器との間でデータの送受信を行う。
以上のようなハードウェア構成によって、本実施形態の処理機能を実現することができる。なお、図3にはメタデータサーバ200のハードウェア構成を示したが、データサーバ300、ジョブ管理サーバ50およびジョブ実行サーバ600も同様のハードウェア構成を有する。
次に、ジョブ管理サーバ50、メタデータサーバ200、データサーバ300およびジョブ実行サーバ600の各サーバの処理機能の構成について図4を用いて説明する。図4は、第2の実施形態の各サーバの処理機能の構成の一例を示すブロック図である。
ジョブ管理サーバ50は、記憶部510と、ジョブスケジューラ520と、を有する。記憶部510は、たとえば、RAMなどであり、ジョブ管理表810を含むジョブの実行に関連する情報を格納する。ジョブ管理表810は、ジョブの実行をスケジューリングした情報であり、ジョブスケジューラ520が生成し、記憶部510に格納する。ジョブ管理表810には、たとえば、各ジョブに一意に割り当てられたジョブIDと、ジョブを実行するジョブ実行サーバ600のノードIDと、ジョブの動作時間帯などが登録される。ノードIDは、ジョブ実行サーバ600に一意に割り当てられた識別情報である。
ジョブスケジューラ520は、利用者あるいは他のサーバからの要求を受け付け、ジョブのスケジューリングを行い、スケジューリング結果をジョブ管理表810に反映する。ジョブスケジューラ520は、ジョブの実行要求を受け付けたとき、ジョブ実行サーバ群60、メタデータサーバ群20およびデータサーバ群30など利用可能な資源をもとに、ジョブの実行をスケジューリングし、ジョブ管理表810に反映する。また、ジョブスケジューラ520は、ジョブ管理表810に基づいて、ジョブの起動と終了を管理する。ジョブスケジューラ520は、ジョブ管理表810に登録されているジョブの起動時間に、ジョブに必要な資源を割り当て、ジョブ実行サーバ600にジョブを割り当てて起動を指示する。また、ジョブスケジューラ520は、ジョブ管理表810に登録されているジョブの終了時間に、ジョブ実行サーバ600にジョブの終了を指示する。ジョブスケジューラ520は、ジョブが動作している期間に、ジョブを起動した開始時刻を含むジョブの実行状態に関するジョブ実行情報を記憶部510に格納しておく。なお、ジョブスケジューラ520は、ジョブ実行情報を、ジョブ管理表810の追加情報として、ジョブ管理表810とともに管理してもよい。さらに、ジョブスケジューラ520は、メタデータサーバ200からの要求に応じて、ジョブ管理表810およびジョブ実行情報を含むジョブに関する情報を提供する。
ジョブ実行サーバ600は、ジョブ管理サーバ50からの指示によって、割り当てられたジョブを実行する。ジョブ実行サーバ600は、ジョブ実行時にファイルシステム10へアクセスする際、メタデータサーバ200に対してアクセス要求を送信する。
メタデータサーバ200は、記憶部220と、アクセス管理部230と、集計処理部240と、電源管理部250と、を有し、データサーバ300を管理する。メタデータサーバ200は、メタデータサーバ200の起動時またはシステムの起動時からの経過時間を所定の単位時間で区切った時間区分を基準として処理を行う。以下の説明では、メタデータサーバ200またはシステムの起動時を起点として、単位時間が経過するごとに順に番号を付した時間区分を単に時間区分とする。一方、ジョブごとに、ジョブの開始に対応する時間区分を1としてジョブの終了まで順に番号を付した時間区分を経過時間区分とする。また、単位時間は、利用者が適宜設定する。利用者は、たとえば、ジョブによるアクセス頻度等に応じて、アクセスパターンを把握可能で、電源制御による電力削減の効果が見込める時間を想定して設定する。第2の実施形態では、一例として単位時間を5分とする。
記憶部220は、たとえば、RAM202の記憶領域に形成され、アクセスログ820と、アクセス集計表830と、ディスク情報850と、を格納する。アクセスログ820は、アクセス管理部230が行ったアクセス処理をアクセスごとに個別に記録した情報である。アクセス集計表830は、集計処理部240が、アクセスログ820に基づいてジョブ属性ごとに集計した経過時間区分における所定のディスク410へアクセスしたジョブ数と、実行された全ジョブ数を含む。ディスク情報850は、ファイルシステム10が管理するファイルに関し、ファイルデータが存在するデータサーバ300を特定する情報、ファイルデータが存在するディスク410を特定する情報、ファイルサイズなどが登録されている情報である。なお、ファイルデータが存在するディスク410を特定する情報によってデータサーバ300が特定できるときは、データサーバ300を特定する情報がなくてもよい。
アクセス管理部230は、ジョブ実行サーバ600からのアクセス要求を受け付け、ディスク情報850に基づいて、対応するデータサーバ300に対し、アクセス要求の実行を指示する。また、アクセス管理部230は、このときのアクセス処理に関するログデータを生成し、アクセスログ820に登録する。アクセス管理部230は、アクセスごとに生成したログデータをアクセスログ820に登録し、ログデータを蓄積していく。アクセス管理部230は、アクセス要求を行ったジョブ実行サーバ600を指定してジョブ管理サーバ50に問い合わせ、たとえば、アクセス要求を行ったジョブと、ジョブの開始時刻と、経過時間区分の単位時間を含むアクセスジョブ関連情報を取得する。なお、単位時間は、1度取得すれば、再度取得しなくてもよい。アクセス管理部230は、取得したジョブの開始時刻と、現在の時刻と、経過時間区分の単位時間とに基づいて、アクセスを行った現在の経過時間区分を算出する。アクセス管理部230は、こうして得られたアクセスを要求したジョブと、アクセスを行った経過時間区分に加え、ディスク情報850に基づくアクセス先のディスク410と、を含むログデータを生成し、アクセスログ820に登録する。なお、ログデータは第1の実施形態のアクセス履歴の一実施形態であり、アクセスログ820は第1の実施形態の履歴情報3bの一実施形態である。
集計処理部240は、所定のタイミングで周期的にアクセスログ820の集計処理を行い、アクセス集計表830を生成する。集計処理部240は、たとえば、アクセスログ820を解析し、同じジョブ属性を有するジョブが対象のディスク410にアクセスしたアクセスジョブ数を経過時間区分ごとに集計する。また、集計処理部240は、アクセスジョブ数を集計した経過時間区分において実行された同じジョブ属性を有する全ジョブ数をジョブ管理サーバ50から取得し、アクセスジョブ数に関連付けてアクセス集計表830に登録する。
電源管理部250は、データサーバ300からストレージ装置400のHDD411,412,413の電源状態を示す電源状態表840を取得する。電源状態表840には、HDD411,412,413の電源がオンしているか、オフしているかを示す情報が登録されている。電源管理部250は、アクセス集計表830に基づき、所定の時間区分におけるHDD411,412,413へのアクセスを推定する。電源管理部250は、電源状態表840に基づくHDD411,412,413への電源供給状態と、推定結果とに基づき、HDD411,412,413への電源供給を制御する。電源管理部250は、たとえば、所定の時間区分におけるHDD411,412,413にアクセスが行われるアクセス確率を算出し、アクセス確率に基づいて電源をオンする場合とオフする場合の消費電力量を評価する。電源管理部250は、評価結果に基づき、より消費電力量を低減することができる電源状態を選択する。そして、電源管理部250は、電源状態表840に基づき、選択した電源状態が現状の電源状態と異なるときは、電源状態を制御する指示をデータサーバ300へ出力する。
データサーバ300は、アクセス制御部310と、記憶部320と、電源制御部330と、HDDインタフェース340と、を有し、HDDインタフェース340を介してストレージ装置400に接続する。
アクセス制御部310は、メタデータサーバ200のアクセス管理部230からアクセス要求の実行指示を取得し、対象のファイルデータを格納するHDD411,412,413の記憶領域にデータを書き込む、または、データを読み込む。
記憶部320は、たとえば、RAMなどであり、電源状態表840を格納する。電源状態表840は、電源420が、HDD411,412,413それぞれの電源をオンしているか、オフしているかを示す情報である。電源状態表840の初期値は、電源制御部330が、電源420から状態を取得し、記憶部320に格納する。
電源制御部330は、メタデータサーバ200の電源管理部250からの要求に応じて、電源状態表840を電源管理部250に通知する。また、電源管理部250からの電源制御指示を受け付け、電源420に対してディスク410への電源供給の停止あるいは開始を指示する。また、電源管理部250からの指示に応じてディスク410への電源状態を変更したときは、変更に合わせて電源状態表840を更新する。
ストレージ装置400は、複数のHDD411,412,413と、各HDD411,412,413に個別に電源を供給する電源420とを有する。
HDD411,412,413は、ファイルデータを保持する記憶領域を有する。HDD411はディスクID=1、HDD412はディスクID=2、HDD413はディスクID=3が付されている。アクセス制御部310は、ディスクIDによってHDD411,412,413を管理する。
電源420は、データサーバ300の電源制御部330に接続し、電源制御部330の指示にしたがってHDD411,412,413に供給する電源のオンオフを制御する。また、電源420は、HDD411,412,413に対する電源状態を保持しており、電源制御部330からの要求に応じて電源状態を通知する。
次に、第2の実施形態のジョブ管理表810、アクセスログ820、アクセス集計表830および電源状態表840について順次説明する。
図5は、第2の実施形態のジョブ管理表の一例を示す図である。
ジョブ管理表810aは、ジョブの起動と終了に関する管理情報として、ユーザID、グループID、ジョブID、使用するノードIDおよび利用時間帯の情報項目を有する。
ユーザIDは、各利用者(ユーザ)に対して一意に割り当てられる番号である。グループIDは、ユーザの所属や業務内容などが共通するグループに対して一意に割り当てられる番号である。ユーザIDおよびグループIDを合わせてジョブ属性とする。なお、ジョブ属性はこれに限定されず、たとえば、ジョブの有する他の特徴をジョブ属性に含むとしてもよい。第2の実施形態では、ジョブ属性が同じジョブは、ジョブ実行サーバ600がジョブを実行したときのアクセスパターンが同様であると推定する。
ジョブIDは、各ジョブに対して一意に割り当てられる番号である。
使用するノードIDは、ジョブ管理サーバ50がジョブの割り当てに使用するジョブ実行サーバ600を特定する情報である。ノードIDは、それぞれジョブ実行サーバ群60に含まれるジョブ実行サーバ600に対し一意に割り当てられる番号である。ジョブ管理サーバ50は、利用者からジョブの実行を指示されてスケジューリングを行うとき、資源の利用状況に基づいてジョブ実行サーバ600にジョブを割り当てる。
利用時間帯は、ジョブ実行サーバ600が割り当てられたジョブを実行する時間帯である。
図6は、第2の実施形態のアクセスログの一例を示す図である。
アクセスログ820aは、ジョブID、ジョブ属性、ディスクIDおよびアクセスのあった経過時間区分の情報項目を有する。ジョブIDは、アクセス要求を行ったジョブの識別情報である。ジョブ属性は、ジョブIDに登録されているジョブが有する固有の属性であり、図6の例では、グループID(GID)およびユーザID(UID)である。ディスクIDは、アクセスを行ったディスク410の識別情報である。アクセスのあった経過時間区分は、アクセス管理部230がデータサーバ300にアクセスを指示した経過時間区分である。なお、前述のように、経過時間区分はジョブ属性ごとに計時の開始点が異なる。たとえば、図5のジョブ管理表810aに示すように、ジョブ[1]は13:00に起動され、ジョブ[2]は19:00に起動される。経過時間区分の単位時間を5分とすると、ジョブ[1]の経過時間区分1は13:00−13:05に相当する。同様に、ジョブ[2]の経過時間区分1は、19:00−19:05に相当する。
アクセスログ820aは、ジョブ実行サーバ600が、ジョブIDが[1]のジョブと、ジョブIDが[2]のジョブをそれぞれ1回以上実行したときに得られるログデータを示している。
図7は、第2の実施形態のアクセスパターンの一例を示す図である。アクセスパターン820bは、アクセスログ820aのログデータを採取したときに、ジョブ[1]と、ジョブ[2]が経過時間区分ごとにアクセスしたHDDのディスクIDを時系列に並べた図である。()内の数字は、HDDのディスクIDを示している。たとえば、ジョブ[1]は、経過時間区分1で(1)、経過時間区分3で(10)、経過時間区分5で(10)、経過時間区分7で(5)と(10)、経過時間区分9,10で(5)にアクセスしている。一方、ジョブ[2]は、経過時間区分1,2で(2)、経過時間区分4,7で(10)にアクセスしている。図7に示すように、ジョブが起動後にディスク410にアクセスするアクセスパターンは、ジョブごとに特徴を有する。
第2の実施形態のアクセス管理部230は、ジョブによるディスク410ごとのアクセスに関するログデータを採取し、アクセスログ820aに蓄積することにより、ジョブごとにアクセスパターンを解析することができる。
図8は、第2の実施形態のアクセス集計表の一例を示す図である。アクセス集計表830aは、図6に示すアクセスログ820aを集計した情報である。
アクセス集計表830aは、ディスクIDおよびジョブ属性と、経過時間区分ごとの集計値の情報項目を有する。ディスクIDおよびジョブ属性は、図6に示すアクセスログ820aと同様である。以下では、説明を簡単にするために、異なるジョブ属性をそれぞれA(GID:2,UID:5)、B(GID:4,UID:6)、C(GID:2,UID:8)、D(GID:7,UID:3)、E(GID:1,UID:5)とする。
経過時間区分ごとの集計値は、アクセスジョブ数と、全ジョブ数の2つの項目を有する。アクセスジョブ数は、経過時間区分N(NはN≧1の整数)において、所定のディスク410にアクセスした所定のジョブ属性のジョブ数である。集計処理部240は、たとえば、図6に示すアクセスログ820aの経過時間区分Nにおいて所定のディスク410にアクセスを行ったジョブの数を集計してアクセスジョブ数を算出する。経過時間区分内において、1つのジョブが同じディスク410に複数回アクセスした場合、アクセスジョブ数は1とカウントする。全ジョブ数は、アクセスジョブ数を集計した経過時間区分Nにおいて実行された同じジョブ属性を有する全ジョブの数である。全ジョブ数には、ディスク410にアクセスしなかったジョブが含まれる。たとえば、図8の1行目は、ジョブ属性Aのジョブの経過時間区分1において、実行された同ジョブ属性の全ジョブ数は[40]であり、そのうちディスクID[1]のディスクにアクセスしたジョブ数は[12]であることを示す。
集計処理部240は、集計処理を行う際、全ジョブ数をジョブ管理サーバ50から取得する。集計処理部240は、ジョブ管理サーバ50に対し、ジョブ属性と経過時間区分とを指定し、その経過時間区分に処理を行っていた該当ジョブの総数を要求し、ジョブ管理サーバ50が集計した全ジョブ数を取得する。
なお、経過時間区分ごとに集計するアクセスジョブ数と全ジョブ数は、メタデータサーバ200がアクセスログ820の取得を開始して以降の累積値である。ジョブ管理サーバ50は、ジョブ管理表810に基づいて、ジョブ属性が同じジョブを繰り返し実行させている。集計処理部240は、異なる開始時間に起動された同じジョブ属性のジョブによるアクセスログ820を解析し、該当するログデータをすべて集計し、累積値を算出する。集計処理部240は、たとえば、アクセスログ820aに基づいて、経過時間区分ごとに所定のディスク410にアクセスしたアクセスジョブ数を集計する。集計処理部240は、集計したアクセスジョブ数をアクセス集計表830aの対応するアクセスジョブ数欄の値に加算し、アクセスジョブ数欄の値を更新する。集計処理部240は、全ジョブ数についても同様に、ジョブ管理サーバ50から取得した全ジョブ数を対応する全ジョブ欄の値に加算し、全ジョブ欄の値を更新する。
集計したアクセスジョブ数と、全ジョブ数とを用いて、所定のジョブ属性を有するジョブが所定の時間区分において対象HDDへアクセスするアクセス比率を算出することができる。このように、本システムの運用が開始されてからのアクセスしたジョブ数と全ジョブ数を累積することにより、算出されるアクセス比率を平準化することができる。
図9は、第2の実施形態の電源状態表の一例を示す図である。電源状態表840aは、ディスクIDとHDDの状態の項目を有する。ディスクIDは、ストレージ装置400が有するHDDに一意に付された番号である。HDDの状態は、ディスクIDによって識別されるHDDの電源がオンまたはオフのいずれの状態であるかを示す情報である。
データサーバ300の電源制御部330は、データサーバ300の起動時に、電源420から電源状態を取得して電源状態表840aを設定する。それ以降は、メタデータサーバ200の電源管理部250からの電源状態の変更指示に応じてディスク410の電源状態を変更し、電源状態表840を書き換える。
このような構成により、第2の実施形態のストレージ制御が行われる。
(2)アクセス処理
第2の実施形態のアクセス処理について図10を用いて説明する。図10は、第2の実施形態のジョブの起動とジョブによるアクセス要求時の処理を示す図である。ここでは、全体の処理の流れについて説明する。
ジョブ管理サーバ50は、たとえば、ジョブ実行サーバ600がジョブの実行を完了するごとに、ジョブ起動処理901を開始する。ジョブ起動処理901では、ジョブ管理表810に基づき、起動予定時刻が過ぎたジョブを起動する処理を行う。ジョブ管理サーバ50は、起動するジョブがあるときは、ファイルシステム10(メタデータサーバ200とデータサーバ300)に対し、ジョブに必要なファイルシステム10資源を割り当てる資源割当902を指示する。ジョブ管理サーバ50は、資源割当902の送信後、ジョブ実行サーバ600に対しジョブを割り当てるジョブ割当905を送信し、ジョブの起動を指示する。ジョブ管理サーバ50によるジョブ起動処理901の詳細は、図11を用いて後で説明する。
メタデータサーバ200とデータサーバ300は、資源割当902の要求に応じて、ジョブが利用するファイルデータをディスク410に割り付ける。このとき、メタデータサーバ200は、ファイルデータをどのディスク410に割り当てたかをディスク情報850に登録する。また、メタデータサーバ200は、ジョブ実行サーバ600において新たなジョブが起動されるので、電源管理処理903を行う。そして、電源管理処理903による判定結果に応じて、ディスク410の電源状態を制御する電源制御指示904をデータサーバ300に出力する。電源管理処理903の詳細は、図14を用いて後で説明する。
ジョブが割り当てられたジョブ実行サーバ600は、ジョブ実行処理906を開始する。ジョブ実行サーバ600は、ジョブ実行処理906において、ファイルへのアクセスが必要となったとき、メタデータサーバ200に対し、ファイルを指定してアクセス要求907を送信する。メタデータサーバ200は、アクセス要求907を受信し、アクセス処理908を開始する。メタデータサーバ200は、アクセス処理908において、ディスク情報850に基づいてアクセス要求907に対応するデータサーバ300に対し、アクセス要求実行指示909を送信する。データサーバ300は、アクセス要求実行指示909を受信すると、対象のHDDにアクセスするアクセス処理910を実行し、応答911をメタデータサーバ200に送信する。メタデータサーバ200は、データサーバ300から応答911を受信し、ジョブ実行サーバ600に応答912を送信する。これにより、ジョブ実行サーバ600によるアクセス処理は終了する。
メタデータサーバ200は、アクセス処理908終了後、実行したアクセスに関するアクセスログを生成するアクセスログ生成処理913を実行する。メタデータサーバ200は、アクセスログ生成処理913において、アクセス要求907を送信してきたジョブ実行サーバ600のノードIDを用いて、ジョブ管理サーバ50にアクセスしたジョブに関するアクセスジョブ関連情報の問い合わせ914を送信する。ジョブ管理サーバ50は、問い合わせ914を受信し、ジョブ管理表810と、ジョブの実行状況を登録したジョブ実行情報とに基づき、問い合わせを受けたノードIDのジョブに関する情報を抽出する問い合わせ処理915を行う。ジョブ管理サーバ50は、問い合わせ処理915において、問い合わせを受けたノードIDのジョブID、ジョブ属性、ジョブの開始時間を含むアクセスジョブ関連情報916を作成し、メタデータサーバ200へ送信する。メタデータサーバ200は、アクセスジョブ関連情報916を受信して今回のアクセス要求907に関するジョブのジョブIDと、ジョブ属性と、ジョブの開始時間を取得する。メタデータサーバ200は、ジョブの開始時間と、メタデータサーバ200上のシステム時間と、経過時間区分の単位時間とからアクセス要求907に対応する経過時間区分を算出する。メタデータサーバ200は、たとえば、ジョブの開始時間とTs、システム時間をTsys、経過時間区分の単位時間をΔTとし、経過時間区分tを次の式(1)で算出する。
t=(Tsys−Ts)÷ΔT ・・・(1)
また、メタデータサーバ200は、ディスク情報850に基づいて、アクセス要求907に対応するディスクIDを特定する。こうして、メタデータサーバ200は、アクセス要求907に対応するジョブID、ジョブ属性、ディスクIDおよびアクセスのあった経過時間区分を特定する。メタデータサーバ200は、たとえば、アクセスログ820aのジョブID、ジョブ属性、ディスクIDの項目が一致するアクセスのあった経過時間区分の欄に、算出した時間区分tを追加登録する。なお、一致する項目がないときは、新たにレコードを作成する。
以上のジョブ実行サーバ600によるアクセス要求907からメタデータサーバ200によるアクセスログ生成処理913までの処理は、ジョブ実行サーバ600がジョブ実行処理906においてアクセス要求907があるごとに実行される。
次に、ジョブ管理サーバ50によるジョブ起動処理901について説明する。 図11は、第2の実施形態のジョブ起動処理のフローチャートを示す図である。
ジョブ管理サーバ50は、たとえば、ジョブの実行が完了するごと、あるいは、所定の周期でジョブ起動処理901を開始し、以下の処理手順を実行する。
[ステップS11]ジョブ管理サーバ50は、現在時刻を取得する。現在時刻は、システム全体で同期のとれているシステム時間Tsysである。
[ステップS12]ジョブ管理サーバ50は、ジョブ管理表810を読み出し、ジョブ管理表810にジョブを起動していない未処理のエントリがあるかどうかを判定する。ジョブ管理サーバ50は、未処理のエントリがあるときは処理をステップS13に進め、未処理のエントリがないときは処理を終了する。
[ステップS13]ジョブ管理サーバ50は、ジョブ管理表810に未処理のエントリがあるときは、未処理のエントリを1つ選択する。ジョブ管理サーバ50は、選択したエントリに登録される対象のジョブの利用時間帯を調べ、対象のジョブの開始時刻と、現在時刻とを比較する。現在時刻が対象のジョブの開始時刻を過ぎているときは、処理をステップS14にを進め、開始時刻を過ぎていないときは処理をステップS12に進める。
[ステップS14]ジョブ管理サーバ50は、対象のジョブの開始時刻を過ぎているときは、ジョブ実行情報に基づき、ジョブが未実行であるか否かを判定する。ジョブ管理サーバ50は、ジョブが未実行であるときは、処理をステップS15に進め、ジョブが未実行でなければ処理をステップS12に進める。
[ステップS15]ジョブ管理サーバ50は、対象のジョブが未実行であるときは、ファイルシステム10内のメタデータサーバ200とデータサーバ300に対し、対象のジョブに必要な資源の割り当てを指示する。これにより、ファイルシステム10内にジョブの実行に必要な資源が確保される。
[ステップS16]ジョブ管理サーバ50は、ジョブ実行サーバ600に対象のジョブを割り当てるジョブ割当処理を行う。ジョブ管理サーバ50は、ジョブ管理表810に基づき、対象のジョブを割り当てるジョブ実行サーバ600に対してジョブを割り当て、ジョブの起動を指示する。ジョブ管理サーバ50は、ジョブ割当処理の後、処理を終了する。
ジョブ管理サーバ50によるジョブ割当処理について説明する。図12は、第2の実施形態のジョブ割当処理のフローチャートを示す図である。
[ステップS161]ジョブ管理サーバ50は、ジョブ管理表810からジョブの実行に使用するジョブ実行サーバ600のノードIDを読み出す。図5に示すジョブ管理表810aの例では、ジョブIDが[1]のジョブに対し、使用するノードIDとして[0−63,128−255]のジョブ実行サーバ600が登録されている。
[ステップS162]ジョブ管理サーバ50は、ジョブが未割当のノード(ジョブ実行サーバ600)の有無を判定する。たとえば、上記の例であれば、ノードIDが0から63と、128から255のジョブ実行サーバ600にジョブが未割当のものがあるかどうかを判定する。ジョブ管理サーバ50は、たとえば、ジョブの実行状況に関する情報を記録するジョブ実行情報を参照して判定を行う。ジョブ管理サーバ50は、ジョブを未割当のノードがあるときは、処理をステップS163に進める。ジョブを未割当のノードがないときは、処理をステップS165に進める。
[ステップS163]ジョブ管理サーバ50は、ジョブが未割当のノードがあるときは、そのノードIDを有するジョブ実行サーバ600に対し、ジョブを割り当てる。
[ステップS164]ジョブ管理サーバ50は、ジョブを割り当てたノードの情報をジョブ実行情報に登録する。ジョブ管理サーバ50は、ジョブ実行情報に、たとえば、ジョブを割り当てたノードID、割り当てたジョブのジョブID、開始時刻などの情報を登録する。ジョブ管理サーバ50は、ジョブ実行情報の登録後、処理をステップS162に進める。
[ステップS165]ジョブ管理サーバ50は、ジョブ管理表810の使用するノードIDに登録されているすべてのノードIDにジョブを割り当てたので、すべてのノードに対し、ジョブ開始指令を送信する。これにより、ジョブを割り当てられたジョブ実行サーバ600によって対象のジョブが一斉に開始される。
図10、図11および図12に示す処理手順が実行されることにより、ジョブ管理サーバ50は、ジョブ管理表810に基づいてジョブ実行サーバ600にジョブを割り当てる。ジョブ実行サーバ600は、割り当てられたジョブを実行し、ファイルシステム10に対し、ファイルアクセスを要求する。また、ジョブ実行サーバ600がファイルシステム10に対しファイルアクセスを要求したときのログデータは、メタデータサーバ200が生成し、アクセスログ820として蓄積する。
なお、図10では、メタデータサーバ200およびデータサーバ300に対し、資源割当902が行われたとき、メタデータサーバ200において電源管理処理903が行われるとした。この電源管理処理903については、(3)電力削減処理において説明する。
(3)電力削減処理
電力削減処理では、メタデータサーバ200は、アクセス集計表830に基づいて所定の時間区分Tにおけるディスク410へのアクセスを推定し、推定結果に基づいて消費電力が削減されるように電源管理を行う。
電力削減処理について図13を用いて説明する。なお、上記で説明したように、メタデータサーバ200は、資源割当902を取得したときにも電力削減のため、電源管理処理を行う。資源割当902の取得は、ファイルシステム10にアクセス要求を行うジョブが新たに追加されることを示すので、ジョブ実行サーバ600からのアクセスパターンが変わる。そこで、資源割当902の取得時に、新たに実行されるジョブに合わせて電源管理処理を行うことにより、より効果的に消費電力を低減することができる。なお、ジョブの動作状況に合わせた通常の電源管理処理は、時間区分の単位時間(ΔT)ごとに定周期で行う。電源管理処理の基準となる時間区分は、システムの起動時からの経過時間を単位時間(ΔT)で区切った時間帯である。第2の実施形態では、単位時間は、ジョブの経過時間を区切る単位時間と共通とする。なお、システムの起動時からカウントする時間区分と、ジョブの起動時からカウントする経過時間区分とは、時間区分の開始時点が異なるが、時間区分の切り替わるタイミングは同じである。たとえば、システムの起動時からカウントする時間区分に付す番号に1を加算するタイミングで、ジョブの経過時間に付す番号に1を加算する。
次に、第2の実施形態のメタデータサーバによる電力削減処理について説明する。図13は、第2の実施形態のメタデータサーバの電力削減処理のフローチャートを示す図である。
[ステップS21]メタデータサーバ200は、資源割当902があったか否かを判定する。資源割当902があったときは、処理をステップS28に進める。また、メタデータサーバ200は、資源割当902がなかったときは、処理をステップS22に進める。
[ステップS22]メタデータサーバ200は、アクセスログ820を解析するアクセスログ解析処理の実行周期(ΔT)であるか否かを判定する。メタデータサーバ200は、アクセスログ解析処理の実行周期であるときは、処理をステップS23に進める。また、メタデータサーバ200は、アクセスログ解析処理の実行周期でないときは、処理をステップS21に進める。
[ステップS23]メタデータサーバ200は、記憶部220に格納されているアクセスログ820を読み出す。メタデータサーバ200は、たとえば、アクセスログ820から前回のアクセスログ解析処理終了後に採取されたログデータを抽出する。
[ステップS24]メタデータサーバ200は、読み出したアクセスログ820を解析し、ディスクIDとジョブ属性が同じエントリを抽出し、経過時間区分ごとにアクセスジョブ数を集計する。たとえば、図6に示すアクセスログ820aは、ディスクIDが[1]、かつ、ジョブ属性が[GID:2,UID5]のジョブに対応付けて、アクセスのあった経過時間区分が登録されている。この場合、メタデータサーバ200は、経過時間区分1に対応するアクセスジョブ数の集計値に1を加算する。ディスクIDとジョブ属性が同じエントリが他にあるときは、同様の処理を行う。
[ステップS25]メタデータサーバ200は、ジョブ属性と経過時間区分を指定し、ジョブ管理サーバ50に対し、指定に該当する全ジョブ数を要求する。メタデータサーバ200は、たとえば、ステップS24において、アクセスしたジョブ数を更新したジョブ属性と経過時間区分を記憶しておき、これを指定してジョブ管理サーバ50に同じジョブ属性を有するジョブがこの経過時間区分において実行された全ジョブ数を要求する。
[ステップS26]メタデータサーバ200は、集計したアクセスしたジョブ数と、ジョブ管理サーバ50より取得した全ジョブ数を、アクセス集計表830の対応するディスクID、ジョブ属性および経過時間区分におけるアクセスしたジョブ数と全ジョブ数に加算する。これにより、アクセス集計表830を更新する。このように、新たに集計したアクセスしたジョブ数と全ジョブ数を、前回までの集計値に加算していくことにより、このジョブ属性のジョブにおける経過時間区分ごとのアクセスしたジョブ数と全ジョブ数のシステムの起動時からの累積値が得られる。
[ステップS27]メタデータサーバ200は、全ディスクIDとジョブ属性についてアクセス集計処理が終了したか否かを判定する。メタデータサーバ200は、アクセス集計処理が終了したときは、処理をステップS28に進める。アクセス集計処理が終了していないときは、処理をステップS24に進める。
[ステップS28]メタデータサーバ200は、アクセス集計表830の更新が終了したので、電源管理処理を実行する。電源管理処理では、ストレージ装置400の電力消費を削減するように電源を管理する。なお、メタデータサーバ200は、集計処理に用いたエントリをアクセスログ820から削除するとしてもよい。メタデータサーバ200は、電源管理処理の終了後、処理をステップS21に進める。
上記のフローチャートでは、アクセス解析処理内において資源割当902の有無を判定して電源管理処理を起動しているが、たとえば、資源割当902の受付処理内で電源制御指示処理を起動するとしてもよい。
次に、第2の実施形態の電源制御について図14を用いて説明する。図14は、第2の実施形態の電源管理処理のフローチャートを示す図である。第2の実施形態の電源管理処理では、現時の時間区分の次の時間区分を対象時間区分として電源管理を行う。
[ステップS31]メタデータサーバ200は、今回の電源管理処理において、まだ電源管理の対象となっていないHDDの有無を判定する。メタデータサーバ200は、電源管理の対象となっていないHDDがあるときは、処理をステップS32に進める。また、メタデータサーバ200は、すべてのHDDに対する電源管理処理が終了し、電源管理の対象となっていないHDDがないときは、電源管理処理を終了する。
[ステップS32]メタデータサーバ200は、電源管理の対象となっているHDD(D)について、HDD(D)が対象時間区分においてアクセスされるアクセス確率を算出するアクセス確率算出処理を行う。アクセス確率算出処理の詳細は、図16を用いて後で説明する。
[ステップS33]メタデータサーバ200は、電源制御の対象となっているHDD(D)について、ステップS32において算出したアクセス確率に基づいて、各HDD(D)の電源をオンしたときと、オフしたときと、電源状態を維持したときのコストを算出する。コスト計算処理の詳細は、後で説明する。
[ステップS34]メタデータサーバ200は、ステップS33で算出したコストに基づいて、HDD(D)の消費電力を最も削減することができる電源状態に制御する電源制御指示処理を行う。電源制御指示処理の詳細は、図17を用いて後で説明する。
以上の処理手順が実行されることにより、メタデータサーバ200は、各ディスク410のアクセス確率を推定し、アクセス確率に基づいて最も消費電力量を削減する電源状態を決定するので、効果的に電力消費量を削減することができる。
次に、第2の実施形態のアクセス確率算出処理について説明する。まず、アクセス推定処理について図15を用いて説明する。図15は、第2の実施形態のアクセス推定処理を説明する図である。
システム時間(Tsys)は、システム全体で同期がとれている時間である。図15に示す点線は、時間区分の区切りであり、経過時間を単位時間(ΔT)で区切った線である。現在の時間区分をT0として、次の時間区分はT1とし、時間区分ごとにT2,T3,T4,・・・と表す。一方、T0より前の過去の時間区分は、1つ前の時間区分をT−1とし、時間区分をさかのぼるごとにT−2,T−3,・・・と表す。ここで、第2の実施形態では、電源制御のためのアクセス推定処理において、次の時間区分T1を対象時間区分とし、対象時間区分T1におけるジョブのアクセスを推定して電源制御を行うとする。
ジョブ属性A、ジョブ属性B、ジョブ属性C、ジョブ属性Dは、ジョブ実行サーバ600が実行するそれぞれ異なるジョブ属性を有するジョブである。また、各ジョブ属性のジョブは、T−3よりも前に、1回以上実行され、アクセスログ820には、経過時間区分ごとのログデータが登録されている。ジョブ実行サーバ600によるジョブ実行時、メタデータサーバ200は、ジョブ実行サーバ600がファイルシステム10にアクセスしたときにログデータを生成し、アクセスログ820に蓄積している。また、メタデータサーバ200は、アクセスログ820を集計したアクセス集計表830を生成し、記憶部220に格納している。
アクセス推定を行う対象時間区分T1の近傍において実行されるジョブについて説明する。ジョブ属性Aのジョブは、システム時間の時間区分T−1からT4の間に実行される。ta1,ta2,ta3,ta4,ta5,ta6は、ジョブ属性Aのジョブを起動したときからの経過時間区分を示す。たとえば、ta1は、ジョブ属性Aのジョブが起動を開始してから最初の経過時間区分である。ジョブ属性B、ジョブ属性C、ジョブ属性Dについても同様である。メタデータサーバ200は、ジョブ管理表810に基づいて、対象時間区分T1において実行が予定されるジョブと、そのジョブの経過時間区分とを検出する。図13の例では、ジョブ属性Aのジョブは対象時間区分T1において実行が予定され、ジョブの経過時間区分はta3である。ジョブ属性Bのジョブは対象時間区分T1において実行が予定され、ジョブの経過時間区分はtb2である。ジョブ属性Cのジョブは対象時間区分T1において実行が開始される予定であり、ジョブの経過時間区分はtc1である。ジョブ属性Dのジョブは、対象時間区分T1では終了しており、対象外である。
メタデータサーバ200は、このようにして検出した対象時間区分T1において実行予定のジョブとジョブの経過時間区分とを特定し、アクセス集計表830に基づいて、所定の時間区分T1における所定のディスク410へのアクセスを推定する。
メタデータサーバ200は、アクセス集計表830に登録されている観測された事象から推定したい事柄(着目する対象時間区分T1において所定のディスク410にアクセスが発生すること)を確率的に推論する。第2の実施形態では、このような確率論的推論の手法としてベイズ推定を用いる。たとえば、メタデータサーバ200は、対象時間区分T1において実行が予定されるジョブ属性のジョブが、対象のディスク410へアクセスするアクセス確率を事後確率として、アクセス推定を行う。メタデータサーバ200は、アクセス集計表830aから過去に同じ条件(対象のディスク410、ジョブ属性、経過時間区分が一致)で実行されたジョブの情報を取得し、実行されたジョブ数に対するアクセスを行ったジョブ数のアクセス比率を算出する。すなわち、メタデータサーバ200は、アクセス集計表830aに基づく観測結果から算出したアクセス比率に基づいて、アクセス確率を推定する。メタデータサーバ200は、一例として、jkをジョブ属性、Dを対象のHDD、tkをジョブの経過時間区分として、アクセス確率P(jk,D,tk)を次の式(2)で求める。なお、全ジョブ数をnとして、kは1≦k≦nの整数である。Dは全HDDの数をmとして1≦D≦mの整数である。
P(jk,D,tk)
=N_accessed(jk,D,tk)÷N_total(jk,D,tk)
・・・(2)
N_accessed(jk,D,tk)は、アクセス集計表830のディスクIDがHDD(D)のジョブ属性jkの経過時間区分tkにおける「ジョブアクセス数」から取得することができる。N_total(jk,D,tk)は、「ジョブアクセス数」に対応する「全ジョブ数」から取得することができる。
具体例を挙げて説明する。メタデータサーバ200は、特定した実行予定のジョブとジョブの経過時間区分とに基づいてアクセス集計表830を検索する。たとえば、対象のディスクIDを[1]としたとき、アクセス集計表830aには、ジョブ属性Aのジョブが、対象時間区分T1において経過時間区分ta3の処理を行うことが登録されている。メタデータサーバ200は、アクセス集計表830aから経過時間区分3の情報を読み出し、アクセスジョブ数[4]と、全ジョブ数[40]とを得る。抽出したアクセスジョブ数と全ジョブ数を式(2)に適用し、P(A,1,3)=4/40を得る。なお、(A,1,3)は、それぞれP(jk,D,tk)のjk=ジョブ属性A、D=ディスクID1、経過時間区分=ta3を表す。
同様にして、対象時間区分T1においてディスク[1]にアクセスする他のジョブ属性B、Cのジョブが、対象時間区分T1においてディスク[1]にアクセスするアクセス確率を算出する。たとえば、ジョブ属性Bは、対象時間区分T1における経過時間区分がtb2であるので、式(2)とアクセス集計表830aに基づき、アクセス確率はP(B,1,2)=2/35となる。ジョブ属性Cは、対象時間区分T1における経過時間区分がtc1であるので、式(2)とアクセス集計表830aに基づき、アクセス確率はP(C,1,1)=4/20となる。
このようにして、対象時間区分T1において実行が予定される全ジョブについて、個々のジョブによるアクセス確率を算出する。ジョブ間でのHDD(D)へのアクセスがすべて独立であるとすれば、HDD(D)に対して全ジョブが対象時間区分Tにアクセスするアクセス確率P(D)は次の式で求めることができる。
P(D)=1−Π(1−p(jk,D,tk)) ・・・(3)
このように、対象時間区分T1において実行が予定されるジョブごとのアクセスログ820aを集計したアクセス集計表830aに基づいてアクセスを推定するので、アクセス推定の精度を上げることができる。また、高い精度のアクセス推定に基づいて電源制御を行うことにより、消費電力量をより確実に低減することができる。
次に、上記のアクセス確率を算出するアクセス確率算出処理の手順について説明する。図16は、第2の実施形態のアクセス確率算出処理のフローチャートを示す図である。以下の説明では、対象のHDDをHDD(D)、対象時間区分をT、対象時間区分Tにおいて起動している全ジョブ属性をj1,j2,・・・,jnとする。
[ステップS321]メタデータサーバ200は、コスト計算の対象のHDD(D)と、対象時間区分Tを取得する。
[ステップS322]メタデータサーバ200は、ジョブ管理サーバ50に対し、対象時間区分Tを指定して、対象時間区分Tにおいて起動している全ジョブ属性j1,j2,・・・,jnの情報を要求する。ジョブ管理サーバ50は、ジョブ管理表810に基づいて、対象時間区分Tにおいて実行が予定される全ジョブ属性j1,j2,・・・,jnを抽出し、メタデータサーバ200に送信する。実行が予定されるジョブは、既に起動され、実行中のジョブと、次の時間区分において起動されるジョブと、を含む。
[ステップS323]メタデータサーバ200は、ジョブ管理サーバ50から取得したジョブ属性から未処理のジョブ属性jkを抽出し、対象時間区分Tにおけるジョブ属性jkの経過時間区分tkを算出する。
[ステップS324]メタデータサーバ200は、アクセス集計表830を検索して、ジョブ属性jkの経過時間区分tkに対応するアクセスジョブ数と全ジョブ数とを抽出する。メタデータサーバ200は、抽出したアクセスジョブ数と全ジョブ数とに基づいて、経過時間区分tkにおいてHDD(D)にアクセスしたアクセス比率を算出する。メタデータサーバ200は、式(2)を用いて、算出したアクセス比率に基づいて、対象時間区分Tにおけるジョブ属性jkのジョブのHDD(D)へのアクセス確率P(jk,D,tk)を算出する。
[ステップS325]メタデータサーバ200は、全ジョブ属性の処理が終了したか否かを判定する。メタデータサーバ200は、全ジョブ属性の処理が終了しているときは、処理をステップS326に進め、終了していないときは処理をステップS323に進める。
[ステップS326]メタデータサーバ200は、対象時間区分Tにおいて実行が予定される各ジョブのHDD(D)へのアクセス確率を算出したので、式(3)を用いて、対象時間区分TにおけるHDD(D)へのアクセス確率P(D)を算出する。
上記の処理手順が実行されることにより、アクセス集計表830に基づいて対象時間区分Tにおいて実行が予定されるジョブによるHDD(D)へのアクセス確率が得られる。
次に、コスト計算処理について説明する。
コスト計算処理では、上記のアクセス推定によって推定した対象時間区分Tにおいて所定のディスクHDD(D)にアクセスされるアクセス確率に応じたコストを算出する。
対象時間区分Tにおける対象のHDD(D)へのアクセス確率P(D)に基づき、電源制御を行ったときのコストを計算する。第2の実施形態では、コストの指標として電源制御を行ったときの電力消費量を算出する。ここでは、対象時間区分Tの開始時点において対象のHDD(D)の電源がオンであり、対象時間区分Tの区間もオンを継続していた場合を基準として電力消費量を考える。HDD(D)の電源がオンで、オンを継続した場合のコストC0(D)は、電源制御による電力消費量の削減は生じないので、次の式(4)で求めることができる。
C0(D)=0 ・・・(4)
一方、電源をオフしたときは、対象時間区分Tの区間(ΔT)において、HDD(D)が消費する電力消費量を削減することができる。ディスクの単位時間当たりの電力消費量をWdとしたとき、HDD(D)のオフによる電力消費量の期待値は、(−Wd)×ΔT×(1−P(D))と表すことができる。しかし、HDD(D)の電源をオフしているときに、ジョブ実行サーバ600からアクセス確率P(D)でアクセスが発生する。アクセスが発生したときは、HDD(D)の電源をオンし、HDD(D)へのアクセスが可能となるまでシステム全体が待ち状態になる。たとえば、電源オフのHDD(D)に対してアクセスが発生した場合にアクセスが可能となるまでの起動時間をTinc、単位時間当たりのシステム全体の電力消費量をWsとする。このとき、HDD(D)電源オフ時にアクセスが発生した場合に必要となる電力消費量の期待値は、(Tinc×Ws)×P(D)と表すことができる。したがって、電源をオフしたときの消費電力量に応じたコストC1(D)は、HDD(D)の電源オフによって削減が可能な電力消費量の期待値と、電源オフのときにアクセスが発生したときに必要となる電力消費量の期待値の合計になる。コストC1は、次の式(5)で算出することができる。
C1(D)=(Tinc×Ws)×P(D)+(−Wd)×ΔT×(1−P(D))
・・・(5)
メタデータサーバ200は、このようにしてHDD(D)の電源がオンのとき、対象時間区分Tにおいて電源オンを維持したときのコストC0(D)と、電源をオフしたときのコストC1(D)と、を算出する。メタデータサーバ200は、算出したコストC0(D)と、コストC1(D)を比較し、コストの小さい方を選択することができる。たとえば、次のように電源制御を指示することができる。
C1(D)>C0(D)であれば、HDD(D)の電源はオンを継続する。
C1(D)<C0(D)であれば、HDD(D)の電源はオフする。
なお、対象時間区分Tの開始時点において対象のHDD(D)の電源がオフであったときも同様にコストを算出することができる。HDD(D)の電源オフを継続する場合のコストC2(D)は、HDD(D)の電源をオンからオフにした場合と同様に、次の式(6)で算出することができる。
C2(D)=(Tinc×Ws)×P(D)+(−Wd)×ΔT×(1−P(D))
・・・(6)
一方、電源をオフからオンにした場合のコストC3(D)は、次の式(7)で算出することができる。
C3(D)=(−Wd)×ΔT×P(D) ・・・(7)
メタデータサーバ200は、このようにしてHDD(D)の電源がオフのとき、対象時間区分Tにおいて電源オフを維持したときのコストC2(D)と、電源をオンしたときのコストC3(D)と、を算出する。メタデータサーバ200は、算出したコストC2(D)と、コストC3(D)を比較し、コストの小さい方を選択することができる。たとえば、次のように電源制御を指示することができる。
C3(D)>C2(D)であれば、HDD(D)の電源はオフを継続する。
C3(D)<C2(D)であれば、HDD(D)の電源はオンする。
メタデータサーバ200は、アクセス確率に基づいて、HDD(D)の電源制御を行ったときのコストをそれぞれの場合について算出し、算出したコストに基づいて、よりコストが小さくなるように電源制御を行う。
次に、電源制御指示処理について図17を用いて説明する。図17は、第2の実施形態の電源制御指示処理のフローチャートを示す図である。なお、以下のフローチャートにおいて()で囲む処理は、メタデータサーバ200の指示を受けたデータサーバ300による処理を示す。
[ステップS341]メタデータサーバ200は、電源状態表840をデータサーバ300より取得する。メタデータサーバ200は、取得した電源状態表840に基づいて、対象のHDD(D)の電源がオンしているか否かを判定する。メタデータサーバ200は、対象のHDD(D)の電源がオンしているときは、処理をステップS342に進め、オンしていないときは処理をステップS344に進める。
[ステップS342]メタデータサーバ200は、対象のHDD(D)の電源をオフしたときのコストC1(D)と、オンを維持したときのコストC0(D)を比較する。メタデータサーバ200は、比較の結果、オフのコストC1(D)<オン維持のコストC0(D)であるときは、処理をステップS343に進める。メタデータサーバ200は、オフのコストC1(D)<オン維持のコストC0(D)でないときは、電源状態を変更せずに処理を終了する。
[ステップS343]メタデータサーバ200は、データサーバ300に対し、対象のHDD(D)の電源オフを指示し、処理をステップS346に進める。(指示を受けたデータサーバ300は、電源420を制御し、対象のHDD(D)への電源供給を停止する。)
[ステップS344]メタデータサーバ200は、対象のHDD(D)の電源をオンしたときのコストC3(D)と、オフを維持したときのコストC2(D)を比較する。メタデータサーバ200は、比較の結果、オンのコストC3(D)<オフ維持のコストC2(D)であるときは、処理をステップS345に進める。メタデータサーバ200は、オンのコストC3(D)<オフ維持のコストC2(D)でないときは、電源状態を変更せずに処理を終了する。
[ステップS345]メタデータサーバ200は、データサーバ300に対し、対象のHDD(D)の電源オンを指示し、処理をステップS346に進める。(指示を受けたデータサーバ300は、電源420を制御し、対象のHDD(D)への電源供給を開始する。)
[ステップS346]メタデータサーバ200は、データサーバ300に対し、対象のHDD(D)の電源オフを電源状態表840に反映し、電源状態表840を更新するように指示し、処理を終了する。(指示を受けたデータサーバ300は、電源状態表840を更新する。)
以上の処理手順が実行されることにより、メタデータサーバ200は、各HDD(D)へのアクセス確率を推定し、推定したアクセス確率から算出したコストに基づいて、HDD(D)の電源制御を行う。
このように、メタデータサーバ200は、ジョブごとに異なるアクセスパターンが反映されるアクセス履歴に基づいて、所定の時間区分における対象のHDD(D)へのジョブからのアクセス確率を算出する。メタデータサーバ200は、算出したアクセス確率に基づいて、電力消費量に応じたコストが最も小さくなるように電源制御を行う。これにより、アクセスパターンを考慮しない電源制御と比べ、より効率的にストレージ装置の電力消費を削減することが可能となる。
なお、上記の処理機能は、コンピュータによって実現することができる。その場合、ストレージ制御装置が有すべき機能の処理内容を記述したプログラムが提供される。そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、磁気記憶装置、光ディスク、光磁気記録媒体、半導体メモリなどがある。磁気記憶装置には、ハードディスク装置(HDD)、フレキシブルディスク(FD)、磁気テープなどがある。光ディスクには、DVD、DVD−RAM、CD−ROM/RWなどがある。光磁気記録媒体には、MO(Magneto-Optical disk)などがある。
プログラムを流通させる場合には、たとえば、そのプログラムが記録されたDVD、CD−ROMなどの可搬型記録媒体が販売される。また、プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。
プログラムを実行するコンピュータは、たとえば、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムに従った処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することもできる。また、コンピュータは、ネットワークを介して接続されたサーバコンピュータからプログラムが転送されるごとに、逐次、受け取ったプログラムに従った処理を実行することもできる。
また、上記の処理機能の少なくとも一部を、DSP(Digital Signal Processor)、ASIC(Application Specific Integrated Circuit)、PLD(Programmable Logic Device)などの電子回路で実現することもできる。
なお、本発明は上記の実施形態そのままに限定されるものではなく、実施段階でのその要旨を逸脱しない範囲で構成要素を変形して具体化することができる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成することができる。たとえば、実施形態に示される全構成要素を適宜組み合わせてもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。このような、発明の趣旨を逸脱しない範囲内において種々の変形や応用が可能である。
1 ストレージ制御装置
1a 記憶部
1b 制御部
2 ストレージ装置
2a,2b ストレージデバイス
2d 電源供給部
3a 予定情報
3b 履歴情報
4a ジョブA
4b ジョブB
10 ファイルシステム
20 メタデータサーバ群
30 データサーバ群
50 ジョブ管理サーバ
60 ジョブ実行サーバ群
70 ネットワーク
200,200a,200b メタデータサーバ
220 記憶部
230 アクセス管理部
240 集計処理部
250 電源管理部
300,300a,300b データサーバ
310 アクセス制御部
320 記憶部
330 電源制御部
340 HDDインタフェース
400,400a,400b ストレージ装置
420 電源
510 記憶部
520 ジョブスケジューラ
600,600a,600b ジョブ実行サーバ

Claims (6)

  1. ジョブの実行予定に関する予定情報と、前記ジョブのストレージデバイスごとのアクセス履歴に関する履歴情報と、を記憶する記憶部と、
    前記予定情報と前記履歴情報とに基づいて所定の時間区分における前記ジョブから前記ストレージデバイスへのアクセスを推定し、推定結果に基づいて前記ストレージデバイスへの電源供給を制御する制御部と、を備え、
    前記履歴情報は、前記ジョブが起動されてからの経過時間に対応する時間区分ごとのアクセス履歴を含み、
    前記制御部は、前記所定の時間区分に実行が予定される前記ジョブに対応する前記アクセス履歴に基づいて、前記ジョブから前記ストレージデバイスへの前記所定の時間区分におけるアクセスを推定する、
    トレージ制御装置。
  2. 前記制御部は、
    前記所定の時間区分に実行が予定される前記ジョブと同じジョブ属性である複数のジョブそれぞれの前記アクセス履歴に基づいて、前記所定の時間区分に対応する、前記アクセス履歴における時間区分に実行中であった前記ジョブ属性のジョブの総数に対して、前記アクセス履歴における当該時間区分に前記ストレージデバイスへアクセスした前記ジョブ属性のジョブの数の比率を計算することで、前記所定の時間区分に実行が予定される前記ジョブが前記ストレージデバイスへアクセスする事後確率を算出し、前記事後確率に基づいて前記ジョブから前記ストレージデバイスへのアクセスを推定する、
    請求項に記載のストレージ制御装置。
  3. 前記履歴情報は、第1の開始時間に起動した第1のジョブに関する第1のアクセス履歴と、第2の開始時間に起動した、前記第1のジョブと同じ前記ジョブ属性である第2のジョブに関する第2のアクセス履歴とを含み、
    前記制御部は、前記所定の時間区分に実行が予定される、前記第1のジョブと同じ前記ジョブ属性である第3のジョブが前記ストレージデバイスへアクセスする前記事後確率を、前記第1のアクセス履歴と前記第2のアクセス履歴とに基づいて算出する、
    請求項に記載のストレージ制御装置。
  4. 前記制御部は、
    前記所定の時間区分において、前記ストレージデバイスへの電源をオフしたときに削減される第1の電力消費量と、前記ストレージデバイスへの電源をオフしたときに前記ストレージデバイスへのアクセスが発生し、前記ストレージデバイスが利用可能となるまでの期間に消費される第2の電力消費量と、を前記事後確率を用いて算出し、前記第1の電力消費量と前記第2の電力消費量とに基づき、前記ストレージデバイスへの電源供給を制御する、
    請求項2または3に記載のストレージ制御装置。
  5. コンピュータに、
    ジョブの実行予定に関する予定情報と、前記ジョブのストレージデバイスごとのアクセス履歴に関する履歴情報と、に基づいて所定の時間区分における前記ジョブから前記ストレージデバイスへのアクセスを推定し、
    推定結果に基づいて前記ストレージデバイスへの電源供給を制御し、
    前記履歴情報は、前記ジョブが起動されてからの経過時間に対応する時間区分ごとのアクセス履歴を含み、
    前記ストレージデバイスへのアクセスの推定では、前記所定の時間区分に実行が予定される前記ジョブに対応する前記アクセス履歴に基づいて、前記ジョブから前記ストレージデバイスへの前記所定の時間区分におけるアクセスを推定する、
    処理を実行させるストレージ制御プログラム。
  6. コンピュータが、
    ジョブの実行予定に関する予定情報と、前記ジョブのストレージデバイスごとのアクセス履歴に関する履歴情報と、に基づいて所定の時間区分における前記ジョブから前記ストレージデバイスへのアクセスを推定し、
    推定結果に基づいて前記ストレージデバイスへの電源供給を制御し、
    前記履歴情報は、前記ジョブが起動されてからの経過時間に対応する時間区分ごとのアクセス履歴を含み、
    前記ストレージデバイスへのアクセスの推定では、前記所定の時間区分に実行が予定される前記ジョブに対応する前記アクセス履歴に基づいて、前記ジョブから前記ストレージデバイスへの前記所定の時間区分におけるアクセスを推定する、
    処理を実行するストレージ制御方法。
JP2015180357A 2015-09-14 2015-09-14 ストレージ制御装置、ストレージ制御プログラムおよびストレージ制御方法 Expired - Fee Related JP6540409B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2015180357A JP6540409B2 (ja) 2015-09-14 2015-09-14 ストレージ制御装置、ストレージ制御プログラムおよびストレージ制御方法
EP16186035.8A EP3141998A1 (en) 2015-09-14 2016-08-26 Storage control apparatus and method of controlling a storage apparatus
US15/252,570 US10437494B2 (en) 2015-09-14 2016-08-31 Storage control apparatus and method of controlling a storage apparatus based on prediction of storage access

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015180357A JP6540409B2 (ja) 2015-09-14 2015-09-14 ストレージ制御装置、ストレージ制御プログラムおよびストレージ制御方法

Publications (2)

Publication Number Publication Date
JP2017058710A JP2017058710A (ja) 2017-03-23
JP6540409B2 true JP6540409B2 (ja) 2019-07-10

Family

ID=56802403

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015180357A Expired - Fee Related JP6540409B2 (ja) 2015-09-14 2015-09-14 ストレージ制御装置、ストレージ制御プログラムおよびストレージ制御方法

Country Status (3)

Country Link
US (1) US10437494B2 (ja)
EP (1) EP3141998A1 (ja)
JP (1) JP6540409B2 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10379748B2 (en) * 2016-12-19 2019-08-13 International Business Machines Corporation Predictive scheduler for memory rank switching
US10621102B2 (en) * 2017-03-23 2020-04-14 International Business Machines Corporation Managing digital datasets on a multi-tiered storage system based on predictive caching
US20190075069A1 (en) * 2017-09-01 2019-03-07 Qualcomm Incorporated Behaviorally modelled smart notification regime
US10671303B2 (en) * 2017-09-13 2020-06-02 International Business Machines Corporation Controlling a storage system
JP2023030899A (ja) * 2021-08-24 2023-03-08 富士通株式会社 管理プログラム、管理装置及び管理方法

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3224473B2 (ja) * 1994-05-09 2001-10-29 キヤノン株式会社 電子機器及び該機器における電源制御方法
JPH08321123A (ja) 1995-05-29 1996-12-03 Hitachi Ltd 磁気ディスク装置
JPH09282057A (ja) * 1996-04-18 1997-10-31 Nippon Denki Joho Service Kk システム電源制御装置
US8518186B2 (en) * 2007-06-27 2013-08-27 H R D Corporation System and process for starch production
US7814351B2 (en) * 2007-06-28 2010-10-12 Seagate Technology Llc Power management in a storage array
JP5011028B2 (ja) * 2007-08-23 2012-08-29 株式会社日立製作所 ストレージシステム、管理装置、スケジューリング方法、プログラム、記録媒体
JP2009080603A (ja) * 2007-09-26 2009-04-16 Hitachi Ltd ストレージ装置及びその省電力方法
JP4620722B2 (ja) 2007-12-26 2011-01-26 富士通株式会社 データ配置制御プログラム、データ配置制御装置、データ配置制御方法、およびマルチノードストレージシステム
JP2010072846A (ja) * 2008-09-17 2010-04-02 Hitachi Software Eng Co Ltd ジョブ運用管理システム及び方法
US8468375B2 (en) * 2009-07-15 2013-06-18 Hitachi, Ltd. Energy consumption management for storage system using upper limit value during predetermined period
JP5052592B2 (ja) * 2009-12-28 2012-10-17 株式会社日立製作所 ストレージ管理システム、ストレージ階層管理方法及び管理サーバ
JP5423879B2 (ja) * 2010-03-29 2014-02-19 日本電気株式会社 データアクセス場所選択システム、方法およびプログラム
US10275276B2 (en) * 2013-08-19 2019-04-30 International Business Machines Corporation Migrating jobs from a source server from which data is migrated to a target server to which the data is migrated
CN104516471B (zh) * 2013-09-27 2017-04-12 国际商业机器公司 一种管理存储器系统的电源的方法和装置

Also Published As

Publication number Publication date
US20170075612A1 (en) 2017-03-16
EP3141998A1 (en) 2017-03-15
US10437494B2 (en) 2019-10-08
JP2017058710A (ja) 2017-03-23

Similar Documents

Publication Publication Date Title
JP6540409B2 (ja) ストレージ制御装置、ストレージ制御プログラムおよびストレージ制御方法
US10225333B2 (en) Management method and apparatus
JP4838878B2 (ja) データ管理プログラム、データ管理装置、およびデータ管理方法
JP5679256B2 (ja) 分散タスクシステムおよび分散タスク管理方法
CN103838668B (zh) 关联能量消耗与虚拟机
US9128899B1 (en) Predictive failover planning
JP6191691B2 (ja) 異常検出装置、制御方法、及びプログラム
JP5737057B2 (ja) プログラム、ジョブスケジューリング方法、および情報処理装置
JP6447217B2 (ja) 実行情報通知プログラム、情報処理装置および情報処理システム
US20150227397A1 (en) Energy efficient assignment of workloads in a datacenter
US20160299795A1 (en) Parallel computing control apparatus and parallel computing system
CN104113585A (zh) 用于产生指示负载平衡状态的硬件级中断的方法和设备
JP2004246852A (ja) 論理ボリュームコピー先性能調整方法及び装置
TW201241650A (en) Selecting storage locations for storing data based on storage location attributes and data usage statistics
US9342133B2 (en) Information processing apparatus and power saving control method
US9268609B2 (en) Application thread to cache assignment
US9720600B2 (en) Apparatus and method for transferring data between storages having different access speeds
WO2017123271A1 (en) Performance-based migration among data storage devices
US8914582B1 (en) Systems and methods for pinning content in cache
US9576061B2 (en) Information processing system and data update control method
US20150127985A1 (en) Information processing apparatus and access control method
JP6279816B2 (ja) ストレージ監視システムおよびその監視方法
Wan et al. SSD-optimized workload placement with adaptive learning and classification in HPC environments
US9652155B2 (en) Computer system, cash data management method, and computer
US20090320000A1 (en) Method and system for power management using tracing data

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180514

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20190131

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190226

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190419

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20190419

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20190419

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190527

R150 Certificate of patent or registration of utility model

Ref document number: 6540409

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees