JPWO2012124295A1 - コンピュータシステム、制御システム、制御方法および制御プログラム - Google Patents

コンピュータシステム、制御システム、制御方法および制御プログラム Download PDF

Info

Publication number
JPWO2012124295A1
JPWO2012124295A1 JP2013504552A JP2013504552A JPWO2012124295A1 JP WO2012124295 A1 JPWO2012124295 A1 JP WO2012124295A1 JP 2013504552 A JP2013504552 A JP 2013504552A JP 2013504552 A JP2013504552 A JP 2013504552A JP WO2012124295 A1 JPWO2012124295 A1 JP WO2012124295A1
Authority
JP
Japan
Prior art keywords
control
data
task
computer system
characteristic
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.)
Granted
Application number
JP2013504552A
Other languages
English (en)
Other versions
JP5692355B2 (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.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP2013504552A priority Critical patent/JP5692355B2/ja
Publication of JPWO2012124295A1 publication Critical patent/JPWO2012124295A1/ja
Application granted granted Critical
Publication of JP5692355B2 publication Critical patent/JP5692355B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5083Techniques for rebalancing the load in a distributed system
    • G06F9/5088Techniques for rebalancing the load in a distributed system involving task migration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

制御システムは、特性推定元データを基に、制御対象とされたコンピュータシステム上のタスクまたはデータの特性を推定する特性推定手段と、発行された制御命令に従い、コンピュータシステムのシステム構成要素に対する停止・稼働制御、タスク配置の変更、データ配置の変更、データ構造の変更を行う1つ以上の制御実行手段と、推定されたタスクまたはデータの特性から導出される将来の時間におけるコンピュータシステムの稼働状況を基に、実行する制御戦略として、上記4種の制御のうちのいずれか1つ以上を組み合わせた制御処理内容を決定する制御戦略決定手段と、制御戦略決定手段が決定した制御処理内容に従い、制御実行手段に対して制御命令を発行する制御命令発行手段とを備える。

Description

本発明は、コンピュータシステム、制御システム、制御方法および制御プログラムに関する。
近年、コンピュータシステムが扱うデータ量が増大している。そのため、大規模なコンピュータシステムにおいては、複数のストレージノードにデータが分散して格納される分散ストレージシステムが利用されている。このような技術では、データをどの計算機に配置するか、処理をどの計算機で行うかをソフトウェアや特別なハードウェアにより実現し、システムの状態に応じて動作を動的に変更することで、システム内のリソース使用量を調整してシステム利用者(クライアント計算機)に対する性能を向上させている。例えば、アクセス負荷に応じてサーバ台数を変動させ、アクセス負荷に対応するという技術がある。
また、別の課題として、システムの大規模化による消費電力量の増大がある。特許文献1には、分散ストレージシステムにおいて、分散ストレージノードへのアクセス統計情報をもとに無アクセス確率を算出し、算出された無アクセス確率を利用してデータの再配置を行うシステムが記載されている。特許文献1に記載されているシステムは、無アクセス時間の期待値が高くなるようにデータ配置を行うことにより、個々ディスクノードが省電力モードになる時間を長くすることができる。
また、特許文献2には、I/O(Input/Output)負荷を適切に分散する計算機システムが記載されている。特許文献2に記載されている計算機システムは、各統合デバイスに対するI/Oアクセス頻度の平均を、I/Oアクセス頻度の予想値として算出する。
また、非特許文献1には、気温や地震などの時系列データから、そのデータの特徴を捉え表現するための時系列解析技術が記載されている。
特開2009−157571号公報 特開2008−59315号公報
北川源四郎、「時系列解析入門」、岩波書店、2005年、p.125−141.
コンピュータシステムの制御の実現において最も本質的な課題は、ジョブ(アプリケーション)やデータを制御するための情報が不足していることにある。例えば、前述したような技術のアプローチでは、コンピュータシステムにとって未知であるデータアクセスを予測することが出来ないという問題があった。また、前述したような技術のアプローチでは、コンピュータシステムに対して前兆となる情報が無いアクセス負荷変動などには対応できないという問題があった。
本来、コンピュータシステムは、何らかの実世界に関係するサービスを提供するものである。従って、コンピュータシステムに対する予測可能な負荷変動に対する対応は、実世界の状況を人間が監視、判断して制御を行うことが一般的であった。単純な例としては、ショッピングサイトにおいて、クリスマスシーズンに向けてサーバ能力を増強したりアプリケーションを拡張するなどが挙げられる。すなわち、コンピュータシステムの外部の環境の変化は、当該システムに近い将来に見込まれる利用形態の変化を示唆しうるものであると言える。
しかし、近年のグローバル化や情報伝達速度の向上は、このような人手の対応が困難になっていく可能性を増加させている。例えば、地球の裏側で起きた現象がコンピュータシステムのある特定の負荷を増大させるような事象が起こりうる。
現在のコンピュータシステムの性能問題は、データのI/O(Input/Output)に対するボトルネックが原因であることが多い。そのため、データI/Oに伴う問題を回避できれば性能問題の多くは解消し変化に適合できると考えられる。例えば、負荷の増加に対し、負荷によって引き起こされるデータI/Oが分散されるよう事前にデータを分散して格納させておく制御を実現することが考えられる。
しかし、データI/Oの量的な観点でいえば十分と思えるような対応であっても、データへのアクセスのパターンによってデータ構造には有利不利があるため、データ構造についても制御可能であることが好ましい。また、CPU負荷を適切に平準化させ、かつデータI/Oに伴うネットワークボトルネックを引き起こさないようなタスク配置についても制御可能である必要がある。さらに、必要性能に応じた電力でシステムを動作させ続けるためには、システム構成要素に対する制御(ノードの電源を停止するなど)も可能であることが好ましい。このように、コンピュータシステムの利用形態の変化に柔軟に適合していくためには、データ配置だけでなく、データ構造、タスク配置、または、システム構成要素に対する制御を自律的に行えることが必要であると考えられる。
すなわち、上記コンピュータシステムの問題点は、コンピュータシステムが、利用形態の変化や外部環境の変化に柔軟に適応できないことにある。その理由は、利用形態の変化や外部環境の変化に合わせて自動でシステムの稼働状態(計算機負荷、動作しているアプリケーションの特性、保持・管理しているデータの特性など)を変化させるといった、そのコンピュータシステムを利用形態へ外部環境の変化に柔軟に適応させるための制御機能を必要十分以上(そのコンピュータシステムにとって必要十分以上)に備えていないからである。
そこで、本発明は、システムの利用形態の変化や外部環境の変化にコンピュータシステムが柔軟に適応できるようにすることを目的とする。より具体的には、データに対する将来のアクセス特性に基づいた、コンピュータシステムのシステム構成要素、タスク配置、データ配置またはデータ構造に関する制御を行うことが可能なコンピュータシステム、制御システム、制御方法および制御プログラムを提供することを目的とする。
本発明による制御システムは、制御対象とされるコンピュータシステム上で動作するタスクまたはコンピュータシステムが保持しているデータに関係する特性推定元データを基に、タスクまたはデータの特性を推定する特性推定手段と、発行された制御命令に従い、コンピュータシステムのシステム構成要素に対する停止・稼働制御、タスク配置の変更、データ配置の変更またはデータ構造の変更を行う1つ以上の制御実行手段と、特性推定手段によって推定されたタスクまたはデータの特性から導出される、将来の所定または指定された時間におけるコンピュータシステムの稼働状況を基に、実行する制御戦略として、コンピュータシステムのシステム構成要素に対する停止・稼働制御、タスク配置の変更、データ配置の変更、データ構造の変更のうちのいずれか1つ以上を組み合わせた制御処理内容を決定する制御戦略決定手段と、制御戦略決定手段が決定した制御処理内容に従い、制御実行手段に対して制御命令を発行する制御命令発行手段とを備えることを特徴とする。
本発明によるコンピュータシステムは、当該コンピュータシステム上で動作するタスクまたはコンピュータシステムが保持しているデータに関係のある情報である特性推定元データを基に、タスクまたはデータの特性を推定する特性推定手段と、発行された制御命令に従い、当該コンピュータシステムのシステム構成要素に対する停止・稼働制御、タスク配置の変更、データ配置の変更またはデータ構造の変更を行う1つ以上の制御実行手段と、特性推定手段によって推定されたタスクまたはデータの特性から導出される、将来の所定のまたは指定された時間における当該コンピュータシステムの稼働状況を基に、実行する制御戦略として、システム構成要素に対する停止・稼働制御、タスク配置の変更、データ配置の変更、データ構造の変更のうちのいずれか1つ以上を組み合わせた制御処理内容を決定する制御戦略決定手段と、制御戦略決定手段が決定した制御処理内容に従い、制御実行手段に対して制御命令を発行する制御命令発行手段とを備えることを特徴とする。
また、本発明による制御方法は、制御対象とされるコンピュータシステム上で動作するタスクまたはコンピュータシステムが保持しているデータに関係のある情報である特性推定元データを基に、タスクまたはデータの特性を推定し、推定されたタスクまたはデータの特性から導出される、将来の所定のまたは指定された時間におけるコンピュータシステムの稼働状況を基に、実行する制御戦略として、コンピュータシステムのシステム構成要素に対する停止・稼働制御、タスク配置の変更、データ配置の変更、データ構造の変更のうちのいずれか1つ以上を組み合わせた制御処理内容を決定し、決定した制御処理内容に従い、コンピュータシステムのシステム構成要素に対する停止・稼働制御、タスク配置の変更、データ配置の変更またはデータ構造の変更を行う1つ以上の制御実行手段に対して、制御命令を発行することを特徴とする。
また、本発明による制御プログラムは、コンピュータに、制御対象とされるコンピュータシステム上で動作するタスクまたはコンピュータシステムが保持しているデータに関係のある情報である特性推定元データを基に、タスクまたはデータの特性を推定する処理、推定されたタスクまたはデータの特性から導出される、将来の所定のまたは指定された時間におけるコンピュータシステムの稼働状況を基に、実行する制御戦略として、コンピュータシステムのシステム構成要素に対する停止・稼働制御、タスク配置の変更、データ配置の変更、データ構造の変更のうちのいずれか1つ以上を組み合わせた制御処理内容を決定する処理、および決定した制御処理内容に従い、コンピュータシステムのシステム構成要素に対する停止・稼働制御、タスク配置の変更、データ配置の変更またはデータ構造の変更を行う1つ以上の制御実行手段に対して、制御命令を発行する処理を実行させることを特徴とする。
本発明によれば、コンピュータシステムをその利用形態の変化や外部環境の変化に柔軟に適応させることができる。
本発明の実施形態のコンピュータシステムの制御システムの構成例を示すブロック図である。 特性推定処理実行手段の構成例を示すブロック図である。 特性推定処理実行手段の他の構成例を示すブロック図である。 特性記録管理部が保持するデータ形式の一例を示す説明図である。 特性記録管理部が保持するデータ形式の他の例を示す説明図である。 制御戦略決定・命令発行手段の構成例を示すブロック図である。 特性推定処理の処理フローの一例を示すフローチャートである。 特性モデル推定処理の処理フローの一例を示すフローチャートである。 制御戦略決定・実行処理の処理フローの一例を示すフローチャートである。 本発明の実施例である分散ストレージシステム制御システムの構成例を示すブロック図である。 実施例における特性記録管理DBに記憶される特性情報の他の例を示す説明図である。 本発明による制御システムの概要を示すブロック図である。 本発明による制御システムの他の構成例を示すブロック図である。
まず、本発明の実施形態の概要を説明する。本発明は、任意の特性推定元データを用いてデータやタスクの特性を推定し、また、特性推定元データが不足している場合には類似特徴を備えるデータやタスクの特性モデルを利用して対象のデータまたはタスクの特性を暫定的に推定することを特徴とする。また、本発明は、このモデル情報および外部情報源の情報を用いて制御の実行可否を判定し、システムの各構成要素に制御命令を発行することを特徴とする。
以下、本発明の実施形態を、図面を参照して説明する。図1は、本発明の実施形態のコンピュータシステムの制御システムの構成例を示すブロック図である。図1に示すコンピュータシステムの制御システムは、データ・タスク特性推定手段1と、特性記録管理部2と、制御戦略決定・命令発行手段3と、制御戦略実行手段群4として4種類の制御戦略実行手段(すなわちシステム構成要素制御実行手段41、タスク配置戦略制御実行手段42、データ配置戦略制御実行手段43、およびデータ構造戦略制御実行手段44)とを備える。
データ・タスク特性推定手段1は、制御対象とされたコンピュータシステムが保持、管理するデータや該コンピュータシステム上で処理するタスクの特性を推定する。図1に示す例では、データ・タスク特性推定手段1は、特性推定元データ取得・保持手段11と、特性推定処理実行手段12とを含む。これらはコンピュータ上で動作するソフトウェアとして実装されてもよい。また、データ・タスク特性推定手段1は、特性推定元データ取得・保持手段11と、特性推定処理実行手段12とを、それぞれ複数含んでいてもよい。
なお、タスクは、制御対象とされたコンピュータシステム上で実現するアプリケーションやサービスの処理実行単位を指す。また、データの特性またはタスクの特性は、現在または将来の当該データまたはタスクの利用や動作の傾向(例えば、いつ実行されるか、いつアクセスされるか)、当該データに対するアクセスの傾向(例えば、Read過多、Write過多、シーケンシャルアクセス、ランダムアクセス)を表すものである。これらのデータやタスク特性を表現する手法、計算式、計算プログラムを特性モデルと呼ぶ。
特性推定元データ取得・保持手段11は、特性推定を行うためのデータ(特性推定元データ)を取得し、保持(記憶)する。特性推定元データ取得・保持手段11は、例えば、データやタスクの履歴ログの取得を行うソフトウェアとその履歴ログの記録を行うソフトウェアおよび記録媒体とによって実現される。なお、特性推定元データは、例えば、実際の使用状況を示す情報といったタスクまたはデータの特性の一端を示すデータであればよく、特別な要件は設けられていない。特性推定元データは、少なくとも推定対象とされたデータまたはタスクに関係のあるデータであればよい。
特性推定処理実行手段12は、特性推定元データ所得・保持手段11に記憶されているデータ(履歴ログ等)を用いて、データまたはタスクの特性を表現する特性モデルの推定を行い、その推定結果を特性記録管理部2に格納する。なお、特性モデルは、1つ以上の任意の数だけ、本システム上で保持される。なお、推定候補となる特性モデルは、予め用意されていてもよいし、後述のモデル生成手段123によって推定処理の実行のなかで生成されてもよい。
特性推定処理実行手段12は、例えば、特性推定元データ取得・保持手段11から得られる特性推定元データを用いて、1つ以上の任意の特性モデルの中から将来にわたるデータやタスクの特性として最も適したモデル、またはそのような特性モデルの組み合わせを選択する。選択基準として、特性モデルの確からしさ、すなわち当該特性モデルが推定対象としたデータまたはタスクの現在だけでなく将来にわたる特性を表すモデルとして適している度合い(尤度)が用いられる。なお、「尤度」は、その値を示す数値を関数で捉えた尤度(関数)も含む。
特性記録管理部2は、特性推定処理実行手段12によって推定された特性モデルの情報である特性情報を保持、管理する。特性記録管理部2は、例えば、データベースソフトウェアと、これを動作させる計算機および記憶媒体とによって実現される。
図2は、特性推定処理実行手段12のより詳細な構成例を示すブロック図である。図2に示すように、特性推定処理実行手段12は、適合モデル発見手段121と、モデルセット記録部122と、モデル生成手段123とを含んでいてもよい。
適合モデル発見手段121は、モデルセット記録部122に格納される特性モデル群から、適合モデルとして、対象とされたデータまたはタスクに最も適した特性モデルまたは特性モデルの組み合わせを選択する。例えば、適合モデル発見手段121は、特性推定元データ取得・保持手段11からデータを受け取り、尤度計算を行い、閾値以上で最も優れた尤度を示す特性モデルを適合モデルとして選択する。このように選択された適合モデルは、特性モデルの推定結果として特性記録管理部2に格納される。
モデルセット記録部122は、尤度計算の対象となる特性モデル、すなわち制御対象のシステムが有するデータまたはタスクの特性モデルの候補となる特性モデルの情報を保持、管理する。モデルセット記録部122は、例えば、データベースソフトウェアと、これを動作させる計算機および記憶媒体とによって実現される。
モデル生成手段123は、既存の特性モデルの中に特性推定元データに適したモデルが無い場合に、新たなモデルを生成し、モデルセット記録部122に格納する。なお、本システムは、モデル生成手段123が省略されて構成されることも可能である。
また、図3は、特性推定処理実行手段12の他の構成例を示すブロック図である。図3に示すように、特性推定処理実行手段12は、モデルセット記録部122と、クラス適合状態モデル発見手段124と、データ適合モデル発見手段125とを含んでいてもよい。
なお、前述した図2の構成例は、特性の推定対象とされたデータまたはタスクとそれに適合する特性モデルが1対1であることを前提としている。しかし、データまたはタスクと特性モデルとを1対1として扱わず、データまたはタスクを集合として扱った方がよい場合がある。例えば、ユーザ毎にデータに対するアクセスの時間帯が決まっている場合、そのようなデータに付与されているメタデータ(例えば所有者のユーザ)毎に特性モデルを当てはめた方がよいことが予想される。
そこで、データを集合として扱って、集合毎に特性モデルを割り当てる仕組みが必要である。以下、このようなデータの集合を本発明では「クラス」と呼ぶ。クラスの例としては、ユーザや、グループ、またはコンテンツ類似度でクラスタリングした類似集合(例えば、○○のトピックについて記載された文書)などが挙げられる。
クラス適合状態モデル発見手段124は、図2に示した適合モデル発見手段121と同様に、モデルセット記録部122に格納されている特性モデル群から適切な特性モデル、またはその特性モデルの組み合わせを選択する。例えば、クラス適合状態モデル発見手段124は、特性推定元データ取得・保持手段11からデータを受け取り、尤度計算を行い、閾値以上で最も優れた尤度を示す特性モデルを適用モデルに選択する。クラス適合状態モデル発見手段124は、このように選択された特性モデルを推定結果として特性記録管理部2に格納する。ただし、本例では、データ毎に適合特性モデルの尤度計算が行われるのではなく、特性の推定対象とされたデータが所属するクラスに所属するデータ集合の特性推定元データを用いて、該クラスに対する適合特性モデルが発見(推定)され、特性記録管理部2に格納される。
データ適合モデル発見手段125は、クラス適合状態モデル発見手段124が発見した特性モデルから、データ毎の特性モデルを計算する。データは複数のクラスに所属している場合がある。そのため、データ適合モデル発見手段125は、それらの適合特性モデルの和を取ったり、最も尤度が高いモデルを選択する等の方法を用いて、データ毎の特性モデルを推定する。また、データ適合モデル発見手段125は、対象データの個別の特性推定元データを分析し、クラス適合モデルのいずれにも適していない場合には、データ固有の特性モデルを推定してもよい。
このように、クラスの概念が導入されることで、特性推定の計算量を削減したり、データのアクセス履歴ログが無いデータの将来アクセスを推定したりすることができる。なお、上記説明では、データ集合をクラスとして扱う例を示したが、また、そのようなデータに対する処理を行うタスクについても、同様に、データのメタデータ毎にクラス分けするなどして、タスク集合をクラスとして扱うことが可能である。そのほか、タスク集合のクラス化の他の例としては、タスクの生成元や、そのタスクが担っている機能の種類などに応じてクラス分けすることも考えられる。
特性記録管理部2は、特性推定処理実行手段12によって推定された特性情報(本実施形態では、特性モデル)を保持、管理する。特性記録管理部2は、例えば、データベースソフトウェアと、これを動作させる計算機および記憶媒体とによって実現される。
図4は、特性記録管理部2のデータ保持形式の一例を示す説明図である。図4に示すように、特性記録管理部2は、データを特定する識別子(「Oid」)と、それに適合する特性モデル(「適合状態モデル」)とを対応づけて記憶してもよい。図4では、例えば、Oid=1のデータについて、適合状態モデル=「特性モデルA」という情報が対応づけられて記憶される例が示されている。
ここで、特性モデルA,Bは、それぞれ状態1,2を表現した特性モデルである。例えば、特性モデルA(状態1)は、時間に比例してアクセス量が増加するといった特性を示す1次方程式のようなモデルであり、特性モデルB(状態2)は、日中アクセスが多くて夜間が少ないといった特性を示す三角関数のようなモデルであってもよい。このような場合には、Oid=1のデータは特性モデルがAであるので、時間に応じてアクセス量が増えるアクセスパターンを有するデータであることがわかる。また、Oid=2のデータは特性モデルがBであるので、1日サイクルでアクセス量が変わっているアクセスパターンを有するデータであることがわかる。また、Oid=3のデータは、特性モデルがA+Bであるので、時間に応じてアクセス量が増加する傾向で、その中で1日サイクルのうちでアクセス量が増加するようなアクセスパターンを有するデータであることがわかる。
また、図5に示すように、特性モデルの情報は、そのまま格納されるのではなく、1段階変換された情報(その特性モデルを用いて導出可能な制御指示に関する情報)にして格納されてもよい。図5は、特性記録管理部2のデータ保持形式の他の例を示す説明図である。例えば、将来のデータの使われない時間帯(Idle時間帯)を推定し、その使われない時間をある特定ノードに集中して格納して、その特定ノードをその時間帯において停止させるような制御を行う場合には、データ識別子毎にIdle時間帯の情報が格納されてもよい。これにより、制御時における計算が容易になる。図5では、例えば、Oid=1のデータについて、Idle時間帯=「10/14 daytime」という情報が対応づけられて記憶される例が示されている。なお、このようなIdle時間帯情報は、推定された特性モデル(本例の場合は、「特性モデルA」)から導出されうるものとする。従って、このような導出のための計算が、当該特性記録管理部2への格納時までに動作されればよい。
制御戦略決定・命令発行手段3は、データ・タスク特性推定手段1によって推定されたデータまたはタスクの特性情報に基づいて条件に適合した制御戦略を決定し、決定した制御戦略を実行するために制御戦略実行手段群に対して制御命令を発行する。図1に示す例では、制御戦略決定・命令発行手段3は、制御戦略決定・命令発行手段31を含む。
制御戦略決定・命令発行手段31は、特性記録管理部2に格納されている特性情報を用いて制御戦略を決定し、それに基づく制御命令を、当該システムが備える4種の制御戦略実行手段であるシステム構成要素制御実行手段41、タスク配置戦略制御実行手段42、データ配置戦略制御実行手段43、データ構造戦略制御実行手段44に対して適宜発行する。制御戦略決定・命令発行手段31は、例えば、それぞれコンピュータ上で動作するソフトウェアによって実現される。
制御戦略実行手段群4は、例えば、それぞれコンピュータ上で動作するソフトウェアと、これに連動して制御される計算機装置などのハードウェアとによって実現される。制御戦略実行手段41〜44の物理的な動作実行場所は、適用システムによって異なる。例えば、制御戦略実行手段41〜44は、必ずしも同一の計算機上で動作するように構成されていなくてもよい。また、制御戦略実行手段41〜44はそれぞれ複数存在していてもよく、そのような場合においてそれぞれが異なる計算機上で動作してもよい。
なお、制御戦略実行手段41〜44は、それぞれ実際に制御対象システムを制御することが可能な手段であればよく、当該手段の実装方法は問わない。制御対象システムが備える構成であってもよいし、制御対象システムとは異なる他のシステム(制御対象のシステムを管理するための管理システム等)が備える構成であってもよい。なお、ここで他のシステムとは、当該他のシステムに対して制御を行うことで制御対象システムの状態等が変更されるような機能を有する他のシステムをいう。
システム構成要素制御実行手段41は、制御戦略決定・命令発行手段31からの制御命令に応じて、制御対象のシステムを構成する要素(以下、システム構成要素という。)の動作状態を制御する。具体的な実施例としては、分散コンピュータシステムを構成するノード計算機において、ACPI(Advanced Configuration and Power Interface)に規定されている動作モードを変更するソフトウェアなどが挙げられる。制御対象のシステム構成要素は、計算機だけでなく、ハードディスクなどのより小さい単位のものであってもよい。例えば、ハードディスクをドライバソフトウェアによりプラッタの回転を停止させたり、ハードディスク全体の電源を停止させたりといったこともシステム構成要素の制御に該当する。また、CPUの回転周波数を変更したり、GPUボードの起動停止を行うことなどもシステム構成要素の制御に該当する。
このようなシステム構成要素制御実行手段41に対して、データやタスクの特性に基づく制御戦略による制御命令が発行されることによって、省電力化や、タスクの性能向上などの効果が期待できる。
タスク配置戦略制御実行手段42は、制御戦略決定・命令発行手段31からの制御命令に応じて、システム上で実行されるタスクをシステム構成要素のいずれで実行させるかを決定する手段に対して、その方法(決定先)を制御する。具体的な実施例としては、タスク配置戦略制御実行手段42は、分散コンピュータシステムにおけるタスク割り当て機能部(ソフトウェア)に対して、タスクの割り当て方法を制御する。例えば、タスク配置戦略制御実行手段42は、複数のタスク割り当てアルゴリズムがソフトウェア内に実装されているときに、動作アルゴリズムを設定する。例えば、タスク配置戦略制御実行手段42は、ラウンドロビンアルゴリズムによって割り当てる設定から、測定している各ノードの負荷状態に依存して割り当て比率を変更する設定に変更する、といった例が挙げられる。なお、割り当て方法の例には、この他にもタスクが利用するデータが格納されているノードを優先して割り当てる方法などが考えられる。
また、タスク配置決定制御の他の例としては、タスクに付与された識別子によって配置ノードを変更する、といった制御を有効にするなどが考えられる。配置ノードの例としては、例えば、特定の処理を高速実行できるハードウェア(GPGPUやGPGAなど)を搭載しているノードや、高速処理実装されているソフトウェアなどがインストールされているノードが挙げられる。また、タスクに付与される識別子は、例えば、任意のジョブ実行ミドルウェアによって付与されるものであってもよい。
データ配置戦略制御実行手段43は、制御戦略決定・命令発行手段31からの制御命令に応じて、実現するシステムにおいてデータをどのシステム構成要素に格納するかを決定する。なお、データ格納先の決定には、配置されているデータを移動したり、複製を増やしたりする機能を含むことが望ましい。
データ配置戦略制御実行手段43は、例えば、分散ストレージシステムにおいてデータを配置するソフトウェアによって実現される。また、例えば、分散ストレージシステムのデータ配置アルゴリズムにおいて、配置アルゴリズムを複数実装しておき、そのいずれかを用いるかを変更することによっても実現可能である。なお、データ配置戦略制御実行手段43は、制御戦略決定・命令発行手段31からのデータの移動命令を受け付け、データを移動させる処理等の各種制御処理を実行する。
データ構造戦略制御実行手段44は、例えば、コンピュータシステムにおいてデータを複数の構造で格納可能な際にどの構造を用いて格納するかを決定する手段に対し、その格納方式の決定方法を変更したり、既存のデータの格納方式を変更する。データ構造戦略制御実行手段44に対しても、制御戦略決定・命令発行手段31によって格納データの格納方式を変更する命令が発行され、データ構造戦略制御実行手段44は、その命令に従いデータの格納方式を変更する。最も単純な例としては、データ構造戦略制御実行手段44は、ハードディスクに格納されているデータをメモリ上に格納する、格納されているデータベースを変更する(データを移行する)といった処理を実行する。
次に、制御戦略決定・命令発行手段31についてより具体的に説明する。図6は、制御戦略決定・命令発行手段31のより詳細な構成例を示すブロック図である。図6に示すように、制御戦略決定・命令発行手段31は、命令発行手段311と、処理ルール対制御処理内容格納部312と、情報取得手段313と、条件判定手段314とを含んでいてもよい。
本例において、命令発行手段311は、当該システムが備える4種の制御戦略実行手段であるシステム構成要素制御実行手段41、タスク配置戦略制御実行手段42、データ配置戦略制御実行手段43、データ構造戦略制御実行手段44に対して実際に制御命令を発行する。なお、命令発行手段311は、当該命令発行手段311が動作する計算機とは別の計算機で動作する各戦略制御実行手段41〜44に対しては、一般にネットワークインタフェースを介して命令を送信する。発行する制御命令は、条件判定手段314から命令発行手段311に渡される。
処理ルール対制御処理内容格納部312は、任意の制御を行う条件(ルール)と、制御命令内容の情報とを対応づけて格納する記憶装置である。なお、この処理ルール対制御処理内容格納部312の内容を編集する手段として、さらにルール対制御処理内容入出力手段315を備えていてもよい。
情報取得手段313は、特性記録管理部2やその他の情報管理部21から、条件判定手段314が条件判定に必要な情報を取得する。なお、どのような情報をどこから取得するかといった情報は設定ファイル等により予め定めておけばよい。情報取得手段313は、制御対象のコンピュータシステムの状況を示す情報に限らず、例えば、その他の情報管理部21を介して取得可能な実世界の状況を示す情報を取得する。ここで、その他の情報管理部21は、特性記録管理部2以外の任意の情報保持手段や情報提供手段である。
その他の情報管理部21が提供する情報の例として、例えば、次のものが挙げられる。
・天気予報
・システムが動作しているデータセンタの電力情報
・システムを構成する計算機ノードの負荷情報
・システムを構成する計算機ノード上で動作する任意のサービスのログ情報
・WWW(ワールドワイドウェブ)上に存在する情報(例えば、Webページ、マイクロブログと呼ばれるようなサービス)
・TVの放送内容を示したサービス、TV放送の字幕情報
このような外部情報を利用することによって、実世界の変化に対してシステムを柔軟に適応させることができる。
条件判定手段314は、処理ルール対制御処理内容格納部312の内容と、情報取得手段313から得られた情報とを用いて、特性記憶管理部2に記憶されている各タスクまたは各データの特性モデルに基づき、処理ルール対制御処理内容格納部312に格納された制御処理内容を制御戦略として実行するべきか否かの判定を行う。具体的には、条件判定手段314は、情報取得手段313から得られた情報が示す状況(システム状況だけでなく、実世界の状況も含む)が、処理ルール対制御処理内容格納部312に格納されている、任意の制御を行う条件(ルール)を満たしているか否かを判定することによって、実行すべき制御戦略を決定する。条件判定手段314は、条件を満たしていると判定した際には、命令発行手段311に対して、制御処理内容が示す制御内容を実行するよう各戦略制御実行手段41〜44への命令発行を依頼する。
次に、具体的な制御を行う条件(ルール)と制御処理内容について、例を挙げて説明する。ここでは、最も簡単な例として、省電力化のために、最近のアクセス量の少ないノードを停止させる場合を例に挙げて説明する。この場合、ルールとしては「最近○時間におけるアクセス量が一定値以下であるノードが存在するとき」というものが当てはまる。制御命令セット(制御処理内容)としては「アクセス量が一定値以下のノードを停止する」というものとなる。
具体的に動作を説明すると、その他の情報管理部21としてノード毎のアクセスログ情報があり、情報取得手段313はそのアクセスログ情報を取得する。そして、条件判定手段314は、アクセスログ情報から最近○時間におけるアクセス量が一定値以下であるノードを検出し、該当ノードが存在すれば、命令発行手段311に、当該ルールと対応づけて登録されている制御命令セットを、対象とされたノードを制御可能な戦略制御実行手段宛てに発行するように指示する。
このとき、ノード1番のアクセス量が一定以下であったとすると、命令発行手段311はノード1番を制御可能なシステム構成要素制御実行手段41(例えば、電源制御プログラムなど)に対して電源停止命令を発行する。
なお、制御を行う条件に合致しているか否かの判定は、情報取得手段313から得られた情報を直接用いるだけでなく、将来のある時間(ルールで指定された時間や所定の時間等)を特性モデルに当て嵌めて導出される制御対象システムの状況を併せて用いて判定される。例えば、予め情報取得手段313に取得させるデータや、特性モデルに将来のある日時を示す時間情報(または現時点からの経過時間)を与えて得られる結果に変数名を与えておき、制御を行う条件として、それらの変数を用いて表現された条件式を与えることによって、条件判定手段314は、制御対象システムがその時点において制御を行う条件に合致しているか否かの判定を関数計算によって行えるようにしてもよい。なお、制御を行う条件として、条件式の他に、判定基準とする日時の情報や使用するデータまたはタスクの識別子や範囲を示す情報などを与えてもよい。また、条件式ではなく判定処理プログラムそのものがシステムに与えられてもよい。例えば、判定処理プログラムが実際に格納されているアドレスをルールの情報として与えて、条件判定手段314にその判定処理プログラムを実行させてもよい。
なお、前述の例では、単純化のため、システム構成要素制御実行手段41だけに制御命令を発効する例を示したが、データ・タスク特性推定結果を用いてノードを停止させる前に一部のデータを移行させることも可能である。例えば、ノード1番のアクセス負荷が低くても、アクセスが定期的にあるようなデータAを保持していた場合、そのデータAを移動させずにノード停止させてしまうと、そのデータAに対するアクセスが発生した時にノード1番を起動させなければならなくなり、その起動待ち時間によってシステム処理性能が劣化してしまう。そこで、制御命令セットとして「アクセス量が一定値以下のノードを停止する、ノード停止前にアクセスが予測されるデータを別ノードに移動する」といった別の処理が加えられてもよい。
この場合、前述の動作に加え、ノード1番が保持するデータの特性モデルを特性記録管理部2から取得し、取得した特性モデルからデータのアクセス確率が高いデータ識別子(上記のデータA)を抽出し、データ配置戦略制御手段34に対してデータAの別ノードへの移動を指示する処理が、ノード1番停止前に加えられればよい。
また、命令発行手段311は、必要あれば、データAに関連するタスクの配置戦略としてノード1番以外を用いるようにタスク配置戦略制御実行手段42に指示してもよい。また、命令発行手段311は、必ずしもデータを移動させるのではなく、データAの特性モデルとしてREADしかこない、すなわちデータAに対するアクセス方法がREADに限定されていることがわかっていれば、データAのREAD対象ノードを別ノードにするよう、データ配置戦略制御手段34およびタスク配置戦略制御実行手段42に命令を発行するようにしてもよい。
このように、制御戦略決定・実行手段3において、制御戦略決定命令発行手段31が、システム構成要素制御実行手段41、タスク配置戦略制御手段33、データ配置戦略制御実行手段43、データ構造戦略制御実行手段44のうちの1つ以上の手段に制御命令を組み合わせて発行することで、省電力化などのシステム制御が可能となる。
なお、処理ルール対制御処理内容格納部312には、上記に述べたようなルールを、複数保持することが可能である。各ルールと、それに対応した制御命令セットとを対応づけて格納すればよい。他のルールの例として、ある商品のショッピングサイトにおいて、TVの字幕情報に扱っている商品名が表示された時に、ショッピングサイトのリソースを増加させるといったシステム制御がある。この場合、ルールは「TVの字幕情報となる外部情報記録部に特定の商品名が検出されたとき」であり、制御命令セットは「ショッピングサイト用の計算機を増加させる(計算機ノードを増やす、負荷分散されるようデータの配置アルゴリズムを変更する、ショッピングサイトのデータを分散配置する、負荷分散のためのレプリカを作成する、該ショッピングサイト向けのタスク配置アルゴリズムを計算機増加に対応するよう変更する)」といったことが当てはまる。
さらに、データセンタ全体の電力が規定値以上になったときに、優先度の低いノードを停止させるといった制御を実行させることもできる。この場合、ルールを「データセンタ全体の電力消費量モニタの値が一定以上を記録した」とし、制御命令セットを「動作計算機数を縮退させる(負荷の低いノードが対応しているタスク・データを他のノードに集約する。すなわち、停止できるノードを増加させるようデータ配置およびタスク配置を変更して、ノード停止命令を発行する)」としてもよい。このようにすることによって、省電力化を図ることができる。
次に、本実施形態の動作を説明する。本実施形態における制御動作は、主に特性推定処理部分と制御戦略決定・実行部分の2つに分かれる。まず、特性推定処理を説明する。図7は、本実施形態の特性推定処理の処理フローの一例を示すフローチャートである。特性推定処理は、例えば定期的に実行される。なお、実行周期は任意の時間でよい。
まず、本実施形態の制御システムが制御対象とするコンピュータシステム上で動作する任意のサービスや計算機が、所定の機能を実行するなかで、特性推定を行う際に用いるデータ(特性推定元データ)を生成する(図7のステップS101)。生成されるデータの一例として、分散ストレージシステムにおいて、ストレージアクセスが発生した時に生成(更新)されるストレージノードへのアクセスログが挙げられる。ステップS101は、当該制御システムにおける特性推定処理とは関係なく定常的に実行されるものである。従って、特性推定処理は実質的にはステップS102から開始される。
特性推定元データ取得・保持手段11は、ステップS101で生成された特性推定元データを所定のタイミング(定期的または更新されたタイミング等)で取得する(ステップS102)。一実施例としては、特性推定元データ取得・保持手段11を実現するソフトウェアが、前述のストレージアクセスログデータの読み出し処理を行うことが当てはまる。なお、特性推定元データは、ストレージアクセスログデータに限らず、また1種類とも限らない。
次に、特性推定処理実行手段12は、ステップS102で得た特性推定元データを用いて、制御対象とするコンピュータシステム上で動作するタスクや該システムが保持しているデータについて該タスクやデータの特性を表現する特性モデルを推定(算出)する(ステップS103)。ステップS103については詳細を後述する。特性モデルが推定されると、特性推定処理実行手段12は、特性推定対象とされたタスクまたはデータと、推定された特徴推定モデル(特性モデル)を示す情報である特性モデル情報とを対応づけて、特性記録管理部2に記録する(ステップS104)。特性推定処理実行手段12は、例えば、特性記録管理部2を実現するデータベースに対して推定された特性モデルの内容を書き込む(更新する)。
特性推定処理では、ステップS102〜S104が繰り返し実行される。
次に、ステップS103における特徴モデル推定処理をより詳細に説明する。図8は、特徴モデル推定処理(図7のステップS103)のより詳細な処理フローの一例を示すフローチャートである。
特徴モデル推定処理では、特性推定処理実行手段12の適合モデル発見手段121が、まず特性推定元データ取得・保持手段11から特性推定元データを受け取り(ステップS201)、推定対象とされたタスクまたはデータに対して一定量以上の特性推定元データがあるかどうかを判断する(ステップS202)。ここで、一定量以上の特性推定元データがある場合にはステップS203に進み、無い場合にはステップS209に進む。
十分な特性推定元データがある場合、適合モデル発見手段121は、モデルセット記録部122から候補となる特性モデルの情報を取得する(ステップS203)。そして、適合モデル発見手段121は、取得したモデル毎およびモデルの組み合わせ毎に、取得された特性推定元データを用いて尤度計算を行う(ステップS204)。そして次に、適合モデル発見手段121は、計算された尤度のいずれかが予め指定された閾値以上かどうか判定する(ステップS205)。適合モデル発見手段121は、閾値以上の尤度のモデルが1つ以上ある場合、その中で最もよい尤度のモデルを、今回推定対象とされたタスクまたはデータの特性モデルとして選択する(ステップS206)。閾値以上の尤度のモデルが無い場合には、モデル生成手段123が特性推定元データから新規モデルを作成し、モデルセット記録部122に記録する(ステップS207)。
ステップS208では、ステップS206およびS207、S209において、選択または推定されたモデルの情報が、推定対象とされたデータまたはタスクの情報と対応づけられて特性記録管理部2に記録される。なお、モデル生成手段123が無い場合には、ステップS207では特性不明とし、特性記録管理部2に特性不明を示す情報を記録してもよい。また、例えば、特性不明データ用・特性不明タスク用の特性モデルを用意し、それを記録してもよい。
一方、特性推定元データが不足している場合には、何らかのモデルを暫定的に当てはめる処理が行われる(ステップS209)。この暫定的なモデル決定処理の例として次のものが挙げられる。
まず、特性不明用のモデルを用意しておき、それが暫定的に当てはめられるものである。これは、前述したモデル生成手段123が無い場合と同一でよい。
その他には、推定対象とされたデータまたはタスクに付与されたメタデータから他のデータまたはタスクの適合モデルを当てはめる方法である。例えば、メタデータが同一のものが付与されているデータまたはタスクのいずれかの適合モデルを選択してよい。また、例えば、データまたはデータアクセスを専ら行うタスクの場合には、データのコンテンツ類似度を比較して、内容が類似したデータと同じ適合モデルを当てはめてもよい。
次に、図9のフローチャートを参照して、本実施形態の制御戦略決定・実行処理の処理フローについて説明する。図9は、本実施形態の制御戦略決定・実行処理の処理フローの一例を示すフローチャートである。図9に示す例では、まず情報取得手段313が、特性記録管理部2やその他の情報管理部21から情報を取得し、条件判定手段314に渡す。(ステップS301)。情報取得手段313は、例えば、予め定められた方法に従って、特性記録管理部2やその他の情報管理部21から諸々の情報を取得する。なお、条件判定手段314が、処理ルール対制御処理内容格納部312に格納されている条件(処理ルール)に基づき、必要な情報を取得するよう情報取得手段313にリクエストしてもよい。そのような場合には、条件判定手段314が、ルールに記載された必要情報を特定するための情報を情報取得手段313に渡し、情報取得手段313は、その情報に基づいて特性記録管理部2またはその他の情報管理部21から情報を取得してもよい。
次に、条件判定手段314は、渡された情報またはそれら情報によって示されるコンピュータシステムその他の状況が、処理ルール対制御処理内容格納部312に格納されているいずれかの条件に適合しているかどうか判定する(ステップS302)。条件に適合している場合(ステップS303のYes)、条件判定手段314は、以降マッチした条件のうち最も優先度の高い制御処理内容を、実行する制御戦略として決定し、命令発行手段311に制御命令の発行を依頼する。命令発行手段311は、条件判定手段314からの依頼に応じて、実行する制御戦略として決定された制御処理内容に従って、戦略制御実行手段41〜44に対して必要な制御命令を発行する(ステップS304)。
一方、適合している条件が存在しない場合には(ステップS303のNo)、何もせずに処理を終了する。
このような処理フローを定期的に繰り返すことによって、現在から近い将来にかけてのコンピュータシステムの利用形態の変化に柔軟に適合させていくことができる。なぜなら、それらの変化に適合するために必要とされる制御を実際に実行できるシステム構成要素制御実行手段41、タスク配置戦略制御実行手段42、データ配置戦略制御実行手段43、データ構造制御戦略実行手段44を備えるとともに、制御対象システム上で動作する各タスクまたは該制御対象システムが保持している各データについて将来に渡る特性を表現した特性モデルを推定することによって、処理ルールと制御処理内容とが与えられれば、特性推定元データや外部環境データを基に、実行すべき制御戦略を時期を逸せずに導出することができるからである。
以下、具体的な例を用いて本発明の実施形態を説明する。本実施例は、本発明を分散ストレージシステムおよび分散ストレージシステム上のデータに対してジョブを実行する分散計算システムに適用したものである。図10は、本実施例の構成例を示すブロック図である。図10に示す分散ストレージシステムの制御システムは、ネットワーク500と、データノード計算機51(51−1〜51−3)と、特性記録DBノード計算機54と、制御命令ノード計算機55と、ジョブスケジューラ計算機56と、メタデータベースノード57とを備える。
ネットワーク500は、当該システムを構成する要素(計算機)間を結合するネットワークであり、イーサネット(登録商標)などによって実現される。その他の計算機は全てCPUと記憶装置を備えたIAサーバである。
なお、以下の説明では、本実施例の構成要素の一つとしてプログラムまたはソフトウェアが示されているが、そのプログラムまたはソフトウェアは、より具体的にはそのプログラムに従って動作するところのCPUを指すものとする。従って、「○○プログラムが〜する」という表現を用いた場合には、計算機が備えるCPUがそのプログラムに従ってその動作に係る処理を実行することを意味する。
データノード計算機51は、それぞれ分散ストレージシステムのデータを保持する機能を果たす計算機である。以下、データノード計算機51−1を例に当該データノード計算機51の構成について説明する。データノード計算機51−1は、分散ストレージサーバ実現プログラム511と、アクセスログ取得手段512と、アクセスログ記録部513と、データ記録部514と、データ構造制御手段515と、データ移動手段516と、データノード計算機電源制御手段517とを含む。なお、他のデータノード計算機51(本例では、51−2,51−3)は、基本的にはデータノード計算機51−1と同様の構成であるとするが、異なる構成であってもよい。
分散ストレージサーバ実現プログラム511は、当該データノード計算機において分散ストレージノードを実現するためのプログラムであり、クライアントからデータアクセス要求を処理するプログラムである。
アクセスログ取得手段512は、当該分散ストレージノード(より具体的には、当該データノード計算機が備えるデータ記録部514)へのアクセスの履歴であるアクセスログを生成、記録するプログラムである。なお、アクセスログ記録部513は、アクセスログ取得手段512によって生成されたアクセスログを格納する記憶媒体である。これらアクセスログ取得手段512およびアクセスログ記録部513は、上述の特性推定元データ取得・保持手段11の一実施例に相当する。
データ記録部514は、分散ストレージが保持格納するデータを実際に格納する記憶媒体およびソフトウェアである。
データ構造制御手段515は、データ記録部514に格納されているデータの格納形式を、制御命令ノード計算機55の制御命令発行手段551からの指示に従って制御するソフトウェアである。なお、データ構造制御手段515は、上述のデータ構造戦略制御実行手段44の一実施例に相当する。
データ移動手段516は、当該データノード計算機51に格納されているデータを他のノードに移動する処理を行うソフトウェアである。データ移動手段516は、他のデータノード計算機51とデータのやり取りを行う通信手段を含む。なお、データ移動手段516は、上述のデータ配置戦略制御実行手段43の一部(本例では移動元側)についての一実施例に相当する。また、本実施例では、データ移動の際にメタデータベースノード57のアクセス先決定手段571が保持管理する情報を変更する必要があるものとする。
データノード計算機電源制御手段517は、当該データノード計算機51のOS命令などを用いて、ノードを停止状態に移行する(または他ノードを起動させる)プログラムである。データノード計算機電源制御手段517は、上述のシステム構成要素制御実行手段41の一実施例に相当する。
特性記録DBノード計算機54は、特性記録部2と特性推定処理手段12の機能を果たす計算機である。特性記録DBノード計算機54は、推定処理手段541と、DBアクセス処理手段542と、特性記録管理DB543とを含む。
特性推定処理手段541は、当該特性記録DBノード計算機54上で動作するプログラムであり、制御対象である分散ストレージシステム上のデータおよびジョブについて各々特性モデルを推定する。特性推定処理手段541は、上述の特性推定処理手段12の一実施例に相当する。
特性記録管理DB543は、分散ストレージシステム上のデータおよびジョブについて、それらの識別子と特性モデル情報とを対応づけて記憶する記憶媒体およびデータベース基盤ソフトウェアである。また、DBアクセス処理手段542は、データベースに対するアクセスプログラムである。本実施例では、特性記録管理DB543とDBアクセス処理手段542とで、特性記録部2を実現している。
制御命令ノード計算機55は、制御戦略決定・命令発行手段31を実現する計算機である。より具体的には、制御命令発行手段551が、その処理を行う。なお、図示省略しているが、制御命令発行手段551は、例えば、図6に示した構成を有しているものとする。
ジョブスケジューラ計算機56は、制御対象である分散ストレージシステム上で処理するジョブを各計算機に割り当てる処理を行う計算機である。なお、実際にはタスク割り当て手段561がその処理を行う。ジョブスケジューラ計算機56は、タスク割り当て手段561の他に、タスク配置戦略制御手段562を含む。タスク配置戦略制御手段562は、制御命令ノード計算機55の制御命令発行手段551より命令されて、ジョブ配置(タスク配置)に関する制御をタスク割り当て手段561に対して行う。タスク配置戦略制御手段562は、上述のタスク配置戦略制御実行手段33の一実施例に相当する。
メタデータベースノード57は、分散ストレージのアクセス先を決定する計算機であり、アクセス先決定手段571はその機能を果たすソフトウェアである。具体的な例としては、アクセス先決定手段571は、グローバルなファイルパスから実際に格納されているデータノードを算出したり、グローバルなブロックアドレスからアクセスすべきノードを算出する処理を行う。
このような構成において、例えば、簡単なルールの例として示されている「最近○時間におけるアクセス量が一定値以下であるノードが存在するとき」に対して、「アクセス量が一定値以下のノードを停止する、ノード停止前にアクセスが予測されるデータを別ノードに移動する」といった制御処理内容が記憶されていたとする。
本例の制御戦略決定・実行処理では、まず制御命令ノード計算機55の制御命令発行手段551の情報取得手段313は、ノード毎にどのデータが格納されているか、という情報をその他情報管理部21に相当するメタデータベースノード57のアクセス先決定手段571より取得する。ノード毎のデータリストが取得されると、データ毎の将来のアクセス量情報がデータ毎の特性モデルから算出される。なお、この時点では、既に各データおよび各ジョブについてアクセスログを基に特性モデルが推定されているものとする。
制御命令ノード計算機55の制御命令発行手段551(より具体的には情報取得手段313)は、データ毎に、特性記録DBノード計算機54のDBアクセス処理手段542を介して、特性記録管理DB543を検索し、特性モデルを取得する。制御命令発行手段551(より具体的には条件判定手段314)は、この取得した特性モデルを用いて各データの将来のアクセス量(最近○時間のアクセス量)を算出する。
なお、事前に将来のアクセス量を算出しておいても構わない。この場合、データ毎の将来のアクセス量情報を特性モデルを取得して算出するのではなく、例えば図11に示すように特性モデルを推定した際に算出し保持しておいたテーブルから検索して取得すればよい。
図11は、特性記録管理DB543に記憶される特性情報の他の例を示す説明図である。図11では、データごとに、将来のある時点におけるアクセス量情報が記憶される例を示されている。
このように推定モデルから導出された各データの将来のアクセス量を基に、ノード毎に最近○時間のアクセス量を計算し、その結果が指定された一定値以下であるか否かを判定すればよい。その結果、一定値以下であるノードが存在すれば、当該条件にマッチしたとする。最終的にマッチした条件のうち最も優先度の高い制御処理内容を実行する制御戦略として決定すればよい。
例えば、マッチした条件のうちで「最近○時間におけるアクセス量が一定値以下であるノードが存在するとき」というルールに対する「アクセス量が一定値以下のノードを停止する、ノード停止前にアクセスが予測されるデータを別ノードに移動する」が最も優先度が高い制御処理内容であれば、制御命令発行手段551(より具体的には条件判定手段314)は、この制御処理内容を、実行する制御戦略として決定し、必要な制御命令を発行する。
本例では、データ計算機ノード51−1が「アクセス量が一定以下のノード」として検出されたとする。制御命令発行手段551は、データ計算機ノード51−1に格納されているデータについて再度該データの特性モデルから将来のある時点までのアクセス傾向(アクセス有無、アクセスの可能性)について算出し、アクセスが予想されるデータがあればそのデータを別ノード(他のデータ計算機ノード51−2,51−3等)に移動すべく、その旨の制御命令をデータ移動手段516に発行する。また、その際、制御命令発行手段551は、メタデータベースノード57のアクセス先決定手段571に、保持管理する情報を変更する旨の制御命令を発行する。さらに、制御命令発行手段551は、ジョブスケジューラ計算機56におけるタスク配置戦略制御手段562に対して、データ計算機ノード51−1にタスクを割り当てないように制御命令を発行する。最後に、制御命令発行手段551は、データ計算機ノード51−1のデータノード計算機電源制御517に電源停止命令を発行する。このように動作することで、データアクセスの性能劣化を低く抑えた上で、消費電力量を低減することができる。
また、例えば、データ構造を変更して性能やデータ容量効率を向上させる、といったことも可能である。例えば、制御ルールとして「将来の一定時間の間、アクセスが発生しないデータが存在するとき」、「該当データを圧縮する」が存在して、それが最も優先度の高い制御処理内容であれば、制御命令発行手段551は、データ構造制御手段515にデータ構造の変更命令として、該当データの圧縮を行う制御命令を発行する。
このようにして、システムの利用形態や実世界状況に適応した制御を実現する。
なお、上記実施形態では、制御対象により4つに分類した制御実行手段を4種すべて用いる例を示したが、これに限れられるものではなく少なくとも1種の所望の制御実行手段があればよい。
次に、本発明の概要について説明する。図12は、本発明による制御システムの概要を示すブロック図である。図12に示すように、本発明による制御システムは、特性推定手段701と、1つ以上の制御実行手段702と、制御戦略決定手段703と、制御命令発行手段704とを備えている。
特性推定手段701(例えば、特性推定処理実行手段12)は、制御対象とされるコンピュータシステム上で動作するタスクまたはコンピュータシステムが保持しているデータに関係する特性推定元データを基に、タスクまたはデータの特性を推定する。
制御実行手段702(例えば、システム構成要素制御実行手段41、タスク配置戦略制御実行手段42、データ配置戦略制御実行手段43またはデータ構造戦略制御実行手段44)は、発行された制御命令に従い、前記コンピュータシステムのシステム構成要素に対する停止・稼働制御、タスク配置の変更、データ配置の変更またはデータ構造の変更を行う。
制御戦略決定手段703(例えば、制御戦略決定・命令発行手段31,条件判定手段314)は、特性推定手段701によって推定されたタスクまたはデータの特性から導出される、将来の時間におけるコンピュータシステムの稼働状況を基に、実行する制御戦略として、制御対象とされるコンピュータシステムのシステム構成要素に対する停止・稼働制御、タスク配置の変更、データ配置の変更、データ構造の変更のうちのいずれか1つ以上を組み合わせた制御処理内容を決定する。
制御命令発行手段704(例えば、制御戦略決定・命令発行手段31,命令発行手段311)は、制御戦略決定手段706が決定した制御処理内容に従い、制御実行手段701に対して制御命令を発行する。
なお、図13は、本発明による制御システムの他の構成例を示すブロック図である。図13に示すように、本発明による制御システムは、システム構成要素制御実行手段721と、タスク配置制御実行手段722と、データ配置制御実行手段723と、データ構造制御実行手段724の4種の制御実行手段702を備えていてもよい。なお、そのような場合には、制御命令発行手段704は、制御戦略決定手段706が決定した制御処理内容に従い、タスク配置制御実行手段702、タスク配置制御実行手段703、データ配置制御実行手段704、データ構造制御実行手段705に対して制御命令を発行すればよい。
システム構成要素制御実行手段722(例えば、システム構成要素制御実行手段41)は、制御対象とされるコンピュータシステムのシステム構成要素に対する停止・稼働制御を行う。
タスク配置戦略制御実行手段723(例えば、タスク配置戦略制御実行手段42)は、制御対象とされるコンピュータシステムのタスク配置の変更を行う。
データ配置戦略制御実行手段724(例えば、データ配置戦略制御実行手段43)は、制御対象とされるコンピュータシステムのデータ配置の変更を行う。
データ構造戦略制御実行手段725(例えば、データ構造戦略制御実行手段44)は、制御対象とされるコンピュータシステムのデータ構造の変更を行う。
また、制御システムは、所定の情報源から実世界の状況を示す情報である外部環境情報を取得する外部環境情報取得手段(例えば、情報取得手段313)を備え、制御戦略決定手段は、特性推定手段によって推定されたタスクまたはデータの特性から導出される、将来の時間におけるコンピュータシステムの稼働状況と、外部環境情報取得手段によって取得された外部環境情報によって示される実世界の状況とを条件に用いて、実行する制御戦略を決定してもよい。
また、制御システムは、制御戦略として実行する制御処理内容と、制御処理内容を実行する条件とを対応づけた条件対制御処理内容記憶手段(例えば、処理ルール対制御処理内容格納部312)を備え、制御戦略決定手段は、特性推定手段によって推定されたタスクまたはデータの特性から導出される、将来の時間におけるコンピュータシステムの稼働状況、または外部環境情報取得手段によって取得された外部環境情報によって示される実世界の状況、もしくはその組み合わせが、条件対制御処理内容記憶手段に記憶されている条件に合致するか否かを判定することによって、実行する制御戦略を決定してもよい。
また、制御システムは、制御対象とされるコンピュータシステムが保持しているデータまたはタスクを、他のデータまたはタスクとの間の類似度に応じて分類しクラス化するクラス化手段を備え、特性推定手段は、クラス化手段によって分類された各クラスに対して、それぞれ特性を推定してもよい。
特性推定手段は、データまたはタスクの利用または動作の傾向を表現したモデルである1つ以上の任意の特性モデルに対して特性推定元データを基にモデル尤度を算出し、モデル尤度が所定の閾値以上の1の特性モデルまたはその組み合わせを選択することによって、データまたはタスクの特性を推定してもよい。
また、制御対象とされるコンピュータシステムが、発行された制御命令に従い、当該コンピュータシステムのシステム構成要素に対する停止・稼働制御、タスク配置の変更、データ配置の変更またはデータ構造の変更を行う1つ以上の制御実行手段を備えていてもよい。そのような場合には、制御命令発行手段は、制御対象とされるコンピュータシステムが備える前記制御実行手段に対して、制御戦略決定手段が決定した制御処理内容に従い制御命令を発行してもよい。
以上、実施形態及び実施例を参照して本願発明を説明したが、本願発明は上記実施形態および実施例に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
この出願は、2011年3月11日に出願された日本特許出願2011−054291を基礎とする優先権を主張し、その開示の全てをここに取り込む。
本発明は、分散コンピューティングシステムや、分散ストレージシステム、クラウド・コンピューティングのバックエンドシステムといった用途に好適に適用可能である。
1 データ・タスク特性推定手段
11 特性推定元データ取得・保持手段
12 特性推定処理実行手段
121 適合モデル発見手段
122 モデルセット記録部
123 モデル生成手段
124 クラス適合状態モデル発見手段
125 データ適合モデル発見手段
2 特性記録管理部
21 その他の情報管理部
3 制御戦略決定・命令発行手段
31 制御戦略決定・命令発行手段
311 命令発行手段
312 処理ルール対制御処理内容格納部
313 情報取得手段
314 条件判定手段
315 処理ルール対制御処理内容入出力手段
4 制御戦略実行手段群
41 システム構成要素制御実行手段
42 タスク配置戦略制御実行手段
43 データ配置戦略制御実行手段
44 データ構造戦略制御実行手段
701 特性推定手段
702 制御実行手段
703 制御戦略決定手段
704 制御命令発行手
721 システム構成要素制御実行手段
722 タスク配置戦略制御実行手段
723 データ配置戦略制御実行手段
724 データ構造戦略制御実行手段

Claims (10)

  1. 制御対象とされるコンピュータシステム上で動作するタスクまたは前記コンピュータシステムが保持しているデータに関係する特性推定元データを基に、前記タスクまたはデータの特性を推定する特性推定手段と、
    発行された制御命令に従い、前記コンピュータシステムのシステム構成要素に対する停止・稼働制御、タスク配置の変更、データ配置の変更またはデータ構造の変更を行う1つ以上の制御実行手段と、
    前記特性推定手段によって推定されたタスクまたはデータの特性から導出される、将来の時間における前記コンピュータシステムの稼働状況を基に、実行する制御戦略として、前記コンピュータシステムのシステム構成要素に対する停止・稼働制御、タスク配置の変更、データ配置の変更、データ構造の変更のうちのいずれか1つ以上を組み合わせた制御処理内容を決定する制御戦略決定手段と、
    前記制御戦略決定手段が決定した制御処理内容に従い、前記制御実行手段に対して制御命令を発行する制御命令発行手段とを備える
    ことを特徴とする制御システム。
  2. 制御対象とされるコンピュータシステムのシステム構成要素に対する停止・稼働制御を行うシステム構成要素制御実行手段、前記コンピュータシステムのタスク配置の変更を行うタスク配置制御実行手段、前記コンピュータシステムのデータ配置の変更を行うデータ配置制御実行手段、前記コンピュータシステムのデータ構造の変更を行うデータ構造制御実行手段、の4種の制御実行手段を備える
    請求項1に記載の制御システム。
  3. 所定の情報源から実世界の状況を示す情報である外部環境情報を取得する外部環境情報取得手段を備え、
    制御戦略決定手段は、特性推定手段によって推定されたタスクまたはデータの特性から導出される、将来の時間における前記コンピュータシステムの稼働状況と、前記外部環境情報取得手段によって取得された外部環境情報によって示される実世界の状況とを条件に用いて、実行する制御戦略を決定する
    請求項1または請求項2に記載の制御システム。
  4. 制御戦略として実行する制御処理内容と、前記制御処理内容を実行する条件とを対応づけた条件対制御処理内容記憶手段を備え、
    制御戦略決定手段は、特性推定手段によって推定されたタスクまたはデータの特性から導出される、将来の時間における前記コンピュータシステムの稼働状況、または前記外部環境情報取得手段によって取得された外部環境情報によって示される実世界の状況、もしくはその組み合わせが、前記条件対制御処理内容記憶手段に記憶されている条件に合致するか否かを判定することによって、実行する制御戦略を決定する
    請求項1から請求項3のうちのいずれか1項に記載の制御システム。
  5. 制御対象とされるコンピュータシステムが保持しているデータまたはタスクを、他のデータまたはタスクとの間の類似度に応じて分類しクラス化するクラス化手段を備え、
    特性推定手段は、前記クラス化手段によって分類された各クラスに対して、それぞれ特性を推定する
    請求項1から請求項4のうちのいずれか1項に記載の制御システム。
  6. 特性推定手段は、データまたはタスクの利用または動作の傾向を表現したモデルである1つ以上の任意の特性モデルに対して特性推定元データを基にモデル尤度を算出し、モデル尤度が所定の閾値以上の1の特性モデルまたはその組み合わせを選択することによって、データまたはタスクの特性を推定する
    請求項1から請求項5のうちのいずれか1項に記載の制御システム。
  7. 制御対象とされるコンピュータシステムが、
    発行された制御命令に従い、当該コンピュータシステムのシステム構成要素に対する停止・稼働制御、タスク配置の変更、データ配置の変更またはデータ構造の変更を行う1つ以上の制御実行手段を備え、
    制御命令発行手段は、制御対象とされるコンピュータシステムが備える前記制御実行手段に対して、制御戦略決定手段が決定した制御処理内容に従い制御命令を発行する
    請求項1から請求項6のうちのいずれか1項に記載の制御システム。
  8. 当該コンピュータシステム上で動作するタスクまたは前記コンピュータシステムが保持しているデータに関係のある情報である特性推定元データを基に、前記タスクまたはデータの特性を推定する特性推定手段と、
    発行された制御命令に従い、当該コンピュータシステムのシステム構成要素に対する停止・稼働制御、タスク配置の変更、データ配置の変更またはデータ構造の変更を行う1つ以上の制御実行手段と、
    前記特性推定手段によって推定されたタスクまたはデータの特性から導出される、将来の時間における当該コンピュータシステムの稼働状況を基に、実行する制御戦略として、システム構成要素に対する停止・稼働制御、タスク配置の変更、データ配置の変更、データ構造の変更のうちのいずれか1つ以上を組み合わせた制御処理内容を決定する制御戦略決定手段と、
    前記制御戦略決定手段が決定した制御処理内容に従い、前記制御実行手段に対して制御命令を発行する制御命令発行手段とを備える
    ことを特徴とするコンピュータシステム。
  9. 制御対象とされるコンピュータシステム上で動作するタスクまたは前記コンピュータシステムが保持しているデータに関係のある情報である特性推定元データを基に、前記タスクまたはデータの特性を推定し、
    推定されたタスクまたはデータの特性から導出される、将来の所定のまたは指定された時間における前記コンピュータシステムの稼働状況を基に、実行する制御戦略として、前記コンピュータシステムのシステム構成要素に対する停止・稼働制御、タスク配置の変更、データ配置の変更、データ構造の変更のうちのいずれか1つ以上を組み合わせた制御処理内容を決定し、
    決定した制御処理内容に従い、前記コンピュータシステムのシステム構成要素に対する停止・稼働制御、タスク配置の変更、データ配置の変更またはデータ構造の変更を行う1つ以上の制御実行手段に対して、制御命令を発行する
    ことを特徴とする制御方法。
  10. コンピュータに、
    制御対象とされるコンピュータシステム上で動作するタスクまたは前記コンピュータシステムが保持しているデータに関係のある情報である特性推定元データを基に、前記タスクまたはデータの特性を推定する処理、
    推定されたタスクまたはデータの特性から導出される、将来の時間における前記コンピュータシステムの稼働状況を基に、実行する制御戦略として、前記コンピュータシステムのシステム構成要素に対する停止・稼働制御、タスク配置の変更、データ配置の変更、データ構造の変更のうちのいずれか1つ以上を組み合わせた制御処理内容を決定する処理、および
    決定した制御処理内容に従い、前記コンピュータシステムのシステム構成要素に対する停止・稼働制御、タスク配置の変更、データ配置の変更またはデータ構造の変更を行う1つ以上の制御実行手段に対して、制御命令を発行する処理
    を実行させるための制御プログラム。
JP2013504552A 2011-03-11 2012-03-07 コンピュータシステム、制御システム、制御方法および制御プログラム Active JP5692355B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013504552A JP5692355B2 (ja) 2011-03-11 2012-03-07 コンピュータシステム、制御システム、制御方法および制御プログラム

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2011054291 2011-03-11
JP2011054291 2011-03-11
JP2013504552A JP5692355B2 (ja) 2011-03-11 2012-03-07 コンピュータシステム、制御システム、制御方法および制御プログラム
PCT/JP2012/001563 WO2012124295A1 (ja) 2011-03-11 2012-03-07 コンピュータシステム、制御システム、制御方法および制御プログラム

Publications (2)

Publication Number Publication Date
JPWO2012124295A1 true JPWO2012124295A1 (ja) 2014-07-17
JP5692355B2 JP5692355B2 (ja) 2015-04-01

Family

ID=46830387

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013504552A Active JP5692355B2 (ja) 2011-03-11 2012-03-07 コンピュータシステム、制御システム、制御方法および制御プログラム

Country Status (3)

Country Link
US (1) US20130346983A1 (ja)
JP (1) JP5692355B2 (ja)
WO (1) WO2012124295A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109725996A (zh) * 2018-06-15 2019-05-07 中国平安人寿保险股份有限公司 任务模式选择与任务执行方法、装置、设备及存储介质

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6318751B2 (ja) * 2014-03-20 2018-05-09 富士通株式会社 情報処理装置、アクション切替方法、及びアクション切替プログラム
JP6107801B2 (ja) * 2014-12-12 2017-04-05 日本電気株式会社 情報処理装置、情報処理システム、タスク処理方法、及び、プログラム
US10649810B2 (en) * 2015-12-28 2020-05-12 Advanced Micro Devices, Inc. Data driven scheduler on multiple computing cores

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7346927B2 (en) * 2002-12-12 2008-03-18 Access Business Group International Llc System and method for storing and accessing secure data
JP4705390B2 (ja) * 2005-03-25 2011-06-22 富士通株式会社 需要予測装置
US8185899B2 (en) * 2007-03-07 2012-05-22 International Business Machines Corporation Prediction based priority scheduling
US8326669B2 (en) * 2007-04-19 2012-12-04 International Business Machines Corporation System and method for selecting and scheduling corrective actions for automated storage management
JP4932749B2 (ja) * 2008-01-18 2012-05-16 株式会社日立製作所 リソース状態予測装置、リソース状態予測方法、およびプログラム
TW201112006A (en) * 2009-05-29 2011-04-01 Ibm Computer system, method and program product
US8352621B2 (en) * 2009-12-17 2013-01-08 International Business Machines Corporation Method and system to automatically optimize execution of jobs when dispatching them over a network of computers
US8850243B2 (en) * 2011-03-02 2014-09-30 Tso Logic Inc. Non-intrusive power management

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109725996A (zh) * 2018-06-15 2019-05-07 中国平安人寿保险股份有限公司 任务模式选择与任务执行方法、装置、设备及存储介质
CN109725996B (zh) * 2018-06-15 2023-07-21 中国平安人寿保险股份有限公司 任务模式选择与任务执行方法、装置、设备及存储介质

Also Published As

Publication number Publication date
US20130346983A1 (en) 2013-12-26
JP5692355B2 (ja) 2015-04-01
WO2012124295A1 (ja) 2012-09-20

Similar Documents

Publication Publication Date Title
JP7138126B2 (ja) リソース配置を最適化するための適時性リソース移行
US10467136B2 (en) Adaptable data caching mechanism for in-memory cluster computing
US9652161B2 (en) System, method, and medium of optimizing load reallocation in an in-memory data management grid
Rao et al. Performance issues of heterogeneous hadoop clusters in cloud computing
JP5744707B2 (ja) メモリ使用量照会ガバナのためのコンピュータ実装方法、コンピュータ・プログラム、およびシステム(メモリ使用量照会ガバナ)
Xu et al. Resource pre-allocation algorithms for low-energy task scheduling of cloud computing
US10298709B1 (en) Performance of Hadoop distributed file system operations in a non-native operating system
Costa et al. Towards automating the configuration of a distributed storage system
JP5692355B2 (ja) コンピュータシステム、制御システム、制御方法および制御プログラム
Ma et al. Dependency-aware data locality for MapReduce
US10579419B2 (en) Data analysis in storage system
Zhang et al. Aurora: Adaptive block replication in distributed file systems
EP3555767B1 (en) Partial storage of large files in distinct storage systems
JP5810918B2 (ja) スケジューリング装置、スケジューリング方法及びプログラム
Chen et al. Data prefetching and eviction mechanisms of in-memory storage systems based on scheduling for big data processing
CN104765572A (zh) 一种节能的虚拟存储服务器系统及其调度方法
US11169720B1 (en) System and method for creating on-demand virtual filesystem having virtual burst buffers created on the fly
Seibold et al. Efficient deployment of main-memory DBMS in virtualized data centers
Yazdanpanah et al. A comprehensive view of MapReduce aware scheduling algorithms in cloud environments
Rajput et al. Priority-based replication management for hadoop distributed file system
Bang et al. Design and Implementation of Burst Buffer Over-Subscription Scheme for HPC Storage Systems
Sun et al. An algorithm towards energy-efficient scheduling for real-time tasks under cloud computing environment
Xu et al. Agility and performance in elastic distributed storage
US20240202211A1 (en) State rebalancing in structured streaming
Singh et al. Energy efficient resource provisioning through power stability algorithm in cloud computing

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140708

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140903

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150119

R150 Certificate of patent or registration of utility model

Ref document number: 5692355

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150