JP2014174844A - 性能評価支援プログラム、性能評価支援装置及び性能評価支援方法 - Google Patents
性能評価支援プログラム、性能評価支援装置及び性能評価支援方法 Download PDFInfo
- Publication number
- JP2014174844A JP2014174844A JP2013048485A JP2013048485A JP2014174844A JP 2014174844 A JP2014174844 A JP 2014174844A JP 2013048485 A JP2013048485 A JP 2013048485A JP 2013048485 A JP2013048485 A JP 2013048485A JP 2014174844 A JP2014174844 A JP 2014174844A
- Authority
- JP
- Japan
- Prior art keywords
- storage device
- read
- coefficient
- multiplicity
- redundancy
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0653—Monitoring storage devices or systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
- G06F3/0611—Improving I/O performance in relation to response time
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
- G06F3/0689—Disk arrays, e.g. RAID, JBOD
Abstract
【課題】ストレージ装置のレスポンス性能の予測の精度の向上を図る。
【解決手段】ストレージ装置の冗長化方式情報と、ストレージ装置の記憶装置数と、使用されている記憶領域の使用率と、要求に対する読み出し要求の割合と、読み出し要求に対して読み込まれるデータの平均データ量と、単位時間当たりの要求数を表す入出力指標と、ストレージ装置における書き込み要求に対する処理時間を表す定数と記憶装置の種類によって決定される記憶装置定数を用いて、ストレージ装置のデータ冗長化方式に対する特徴量を示す冗長化係数、記憶装置の性能に対する特徴量を示す記憶装置係数、低負荷と高負荷の境の多重度である相変化多重度、単位時間当たりの読み出し要求の数を表す読み出し要求指標を算出し、冗長化係数、記憶装置係数、相変化多重度、及び単位時間当たりに発行される読み出し入出力指標を用いて、読み出し要求に対する平均応答時間の予測値を算出することにより、上記課題の解決を図る。
【選択図】図1
【解決手段】ストレージ装置の冗長化方式情報と、ストレージ装置の記憶装置数と、使用されている記憶領域の使用率と、要求に対する読み出し要求の割合と、読み出し要求に対して読み込まれるデータの平均データ量と、単位時間当たりの要求数を表す入出力指標と、ストレージ装置における書き込み要求に対する処理時間を表す定数と記憶装置の種類によって決定される記憶装置定数を用いて、ストレージ装置のデータ冗長化方式に対する特徴量を示す冗長化係数、記憶装置の性能に対する特徴量を示す記憶装置係数、低負荷と高負荷の境の多重度である相変化多重度、単位時間当たりの読み出し要求の数を表す読み出し要求指標を算出し、冗長化係数、記憶装置係数、相変化多重度、及び単位時間当たりに発行される読み出し入出力指標を用いて、読み出し要求に対する平均応答時間の予測値を算出することにより、上記課題の解決を図る。
【選択図】図1
Description
本発明は、ストレージ装置の性能予測に関する。
サーバの仮想化技術(VM: Virtual Machine)、クラウドコンピューティングの発達により、サーバの統廃合やクラウド化が進んでいる。ストレージシステムに関しても、ハードウェア環境の統合が加速すると考えられる。ストレージシステムが統合される場合に必要とされるのは、マルチテナント性とソフトウェアもしくは運用によって提供されるQoS(Quality of Service)である。マルチテナント性とは、複数のユーザがアクセスしている環境において、自分のデータをいかに他人からアクセスできないように守れるということである。
ハードウェアはユーザ毎に用意されるため、ストレージシステムの性能は、ストレージを構築するハードウェアに依存する。ストレージが統合されると、複数のユーザが同時に同じハードウェアを利用する。そのため、そのハードウェア上でのユーザ毎のストレージシステムの性能予測や性能評価が重要となる。
ストレージシステムの性能判定方法の一例として、次の技術がある。ディスクアレイ制御部は、CPUと統計情報蓄積手段とを有し、CPUは、論理ディスクの構成の適否を判定する性能判定手段を備える。統計情報蓄積手段は、入出力コマンドの負荷を投入し、初期基準値と、予測基準値とを決定する基準応答時間決定手段を備える。初期基準値は、処理性能情報を実測した統計データから求められる。予測基準値は、通常業務上で入出力コマンド処理を実行したときの処理性能情報を統計データに追加することで求められる。
ここで、レスポンス性能に直接関与する統計値としては、単位時間当たりの入出力数(I/O頻度)であるIOPS(Input Output Per Second)、平均レスポンス(応答時間)、多重度の3種類がある。多重度は、ある瞬間において発行中である(発行したが、また応答が返ってきていない)I/Oの個数をカウントし、単位時間に対してその個数を平均した値である。これらは、「(多重度)=(I/O頻度)×(レスポンス)」の関係にある。
ここで、レスポンス性能予測を可能とする方法の一例として、多重度からレスポンスを予測する方法がある。
Abigail Lebrecht、"Queueing network models of Zoned RAID"、[online]、January, 2010、Imperial College Longon、[平成25年1月9日検索]、インターネット<http://pubs.doc.ic.ac.uk/Queueing-network-models-RAID/>
A.Gulati, et al、"Pesto: Online Storage Performance Management in Virtualized Datacenters"、[online]、SOCC '11 Proceedings of the 2nd ACM Symposium on Cloud Computing Article No. 19、[平成25年1月9日検索]、インターネット<http://dl.acm.org/citation.cfm?id=2038935>
しかしながら、上述の多重度からレスポンスを予測する方法では、測定するデータによって、モデル(関数)のパラメータが大きく変化する。そのため、例えば、多重度1〜10の範囲で測定した結果から作成したモデルと、多重度10より大きい範囲で測定した結果から作成したモデルとでは、非常に誤差が大きくなり、レスポンス性能の予測の精度に問題がある。
また、多重度からレスポンスを予測する手法においては、多重度を線形近似する方法が最も志度がよいと考える。しかしながら、測定した全範囲から近似関数を計算した場合と、測定範囲から一部部分を抜き出したデータで近似関数を計算した場合とでは、両者の誤差は大きい。これは厳密に言えば、多重度とレスポンスは線形関数の関係ではないということを意味している。したがって、このモデル(関数)は、測定範囲と適用範囲によっては、誤差が大きいモデルになってしまう。これに対して、厳密なモデルを作成しようとすると、関数が非常に難しいものになってしまう。
本発明は、一側面として、レスポンス性能の予測の精度を向上させる技術を提供する。
本実施形態に係る性能評価支援プログラムは、以下の処理をコンピュータに実行させる。コンピュータは、冗長化方式情報と、記憶装置の数と、使用率と、読み出し要求の割合と、平均データ量と、単位時間当たりに発行される要求の数を表す入出力指標と、処理時間を表す定数と、記憶装置定数とを取得する。冗長化方式情報は、ストレージ装置におけるデータ冗長化方式に関する情報である。記憶装置の数は、ストレージ装置が有する記憶装置の数である。使用率は、記憶装置の記憶領域のうち使用されている記憶領域の割合を表す使用率である。読み出し要求の割合は、読み出し要求及び書き込み要求を含む要求に対する読み出し要求の割合である。平均データ量は、読み出し要求に対して読み込まれるデータの平均データ量である。処理時間を表す定数は、ストレージ装置における書き込み要求に対する処理時間を表す定数である。記憶装置定数は、前記記憶装置の種類によって決定される定数である。コンピュータは、冗長化方式情報と、記憶装置の数と、平均データ量を用いて、ストレージ装置のデータ冗長化方式に対する特徴量を示す冗長化係数を算出する。コンピュータは、冗長化方式情報と、記憶装置の数と、平均データ量と、使用率と、記憶装置定数とを用いて、記憶装置の性能に対する特徴量を示す記憶装置係数を算出する。コンピュータは、記憶装置係数と、冗長化係数と、読み出し要求の割合と、処理時間を表す定数とを用いて、相変化多重度を算出する。相変化多重度は、入出力指標に対して応答時間が一定である低負荷相と、入出力指標に対してストレージ装置への読み出し要求または書き込み要求が単位時間当たりに重なる個数を表す多重度が増加する高負荷相との境界となる多重度を示す。コンピュータは、読み出し要求の割合と、単位時間当たりに発行される入出力指標とを用いて、単位時間当たりに発行される読み出し要求の数を表す読み出し要求指標を算出する。コンピュータは、冗長化係数と、記憶装置係数と、相変化多重度と、単位時間当たりに発行される読み出し要求数とを用いて、読み出し要求に対する平均応答時間の予測値を算出する。
本発明は、一側面として、レスポンス性能の予測の精度を向上させることができる。
また、性能予測を可能とする手法としては、I/O頻度からレスポンスを予測する手法が考えられる。この手法においては、I/O頻度を指数関数で近似する方法が精度がよいと考えられる。しかしながら、特に平均I/Oサイズが大きい場合に、中程度のI/O負荷におけるレスポンスの誤差が大きくなってしまう。
また、ストレージの性能予測は、待ち行列理論によって行うことも考えられる。しかしながら、実際に実測値から待ち行列理論を適用しても、制度のよい予測を行うことはできない。
そこで、本実施形態では、I/O頻度から多重度を予測するモデルを用いる。このモデルでは、多重度/I/O頻度=レスポンスとなるため、任意のI/O頻度におけるレスポンスを計算することができる。
図1は、本実施形態における性能評価支援装置のブロック図を示す。性能評価支援装置1は、取得部2、冗長化係数算出部3、記憶装置係数算出部4、相変化多重度算出部5、読み出し要求数算出部6、読み出し応答時間予測部7を含む。
取得部2は、冗長化方式情報と、記憶装置の数と、使用率と、読み出し要求の割合と、平均データ量と、単位時間当たりに発行される要求の数を表す入出力指標と、処理時間を表す定数と、記憶装置定数を取得する。冗長化方式情報は、ストレージ装置におけるデータ冗長化方式に関する情報であり、例えば後述するRAIDレベルである。記憶装置の数は、ストレージ装置が有する記憶装置の数であり、例えば後述するRAIDランク(R)である。使用率は、記憶装置の記憶領域のうち使用されている記憶領域の割合を表す使用率であり、例えば後述する使用割合(v)である。読み出し要求の割合は、読み出し要求及び書き込み要求を含む要求に対する前記読み出し要求の割合であり、例えば後述するREAD割合(c)である。平均データ量は、読み出し要求に対して読み込まれるデータの平均データ量であり、例えば後述するREAD平均ブロックサイズ(rR)である。単位時間当たりに発行される要求の数は、例えば後述するI/O頻度(X)である。処理時間を表す定数は、ストレージ装置における書き込み要求に対する処理時間を表す定数であり、例えば後述する仮想WRITEコスト(V)である。記憶装置定数は、記憶装置の種類によって決定される定数であり、例えば後述するディスク定数(D)である。取得部の一例としては、入力インターフェース(I/F)26が挙げられる。
冗長化係数算出部3は、冗長化方式情報と、記憶装置の数と、平均データ量を用いて、ストレージ装置のデータ冗長化方式に対する特徴量を示す冗長化係数を算出する。冗長化係数は、例えば後述するRAID係数(A)である。冗長化係数算出部3の一例として、CPU22が挙げられる。
記憶装置係数算出部4は、冗長化方式情報と、記憶装置の数と、平均データ量と、使用率とを用いて、記憶装置の性能に対する特徴量を示す記憶装置係数を算出する。記憶装置係数は、例えば後述するディスク係数(α)である。記憶装置係数算出部4の一例として、CPU22が挙げられる。
相変化多重度算出部5は、記憶装置係数と、冗長化係数と、読み出し要求の割合と、処理時間を表す定数とを用いて、相変化多重度を算出する。相変化多重度は、入出力指標に対して応答時間が一定である低負荷相と、入出力指標に対してストレージ装置への読み出し要求または書き込み要求が単位時間当たりに重なる個数を表す多重度が増加する高負荷相との境界となる多重度を示す。相変化多重度は、例えば後述する相変化多重度(ε)である。相変化多重度算出部5の一例として、CPU22が挙げられる。
読み出し要求数算出部6は、読み出し要求の割合と、単位時間当たりに発行される入出力指標とを用いて、単位時間当たりに発行される読み出し要求の数を表す読み出し要求指標を算出する。単位時間当たりに発行される読み出し要求の数を表す読み出し要求指標は、例えば後述するREAD I/O頻度(XR)である。読み出し要求数算出部6の一例として、CPU22が挙げられる。
読み出し応答時間予測部7は、冗長化係数と、記憶装置係数と、相変化多重度と、単位時間当たりに発行される読み出し要求数とを用いて、読み出し要求に対する平均応答時間の予測値を算出する。読み出し要求に対する平均応答時間の予測値は、例えば後述するREADレスポンス(WR)である。読み出し応答時間予測部7の一例として、CPU22が挙げられる。
前記読み出し応答時間予測部7は、以下の式を用いて、読み出し要求に対する平均応答時間の予測値WRを算出する。
ここで、A:冗長化係数、α:記憶装置係数、ε:相変化多重度、XR単位時間当たりに発行される読み出し要求数
性能評価支援装置1は、さらに、期待値変換部8を含む。
期待値変換部8は、読み出し要求時に、ストレージ装置が有する記憶装置から読み出される前記平均データ量を、読み出し要求または前記書き込み要求に応じて読み込まれるまたは書き込まれる記憶装置の個数の期待値に変換する。記憶装置の個数の期待値は、例えば後述するREADが跨るストライプブロック数の期待値(ER)である。期待値変換部8の一例として、CPU22が挙げられる。このとき、冗長化係数算出部3及び記憶装置係数算出部4は、期待値を用いて、冗長化係数及び記憶装置係数を算出する。
期待値変換部8は、読み出し要求時に、ストレージ装置が有する記憶装置から読み出される前記平均データ量を、読み出し要求または前記書き込み要求に応じて読み込まれるまたは書き込まれる記憶装置の個数の期待値に変換する。記憶装置の個数の期待値は、例えば後述するREADが跨るストライプブロック数の期待値(ER)である。期待値変換部8の一例として、CPU22が挙げられる。このとき、冗長化係数算出部3及び記憶装置係数算出部4は、期待値を用いて、冗長化係数及び記憶装置係数を算出する。
性能評価支援装置1は、さらに、応答時間予測部9、多重度算出部10を含む。取得部2は、さらに書き込み要求に対する応答時間を取得する。書き込み要求に対する応答時間は、例えば後述するWRITEレスポンス(WW)である。
このとき、応答時間予測部9は、読み出し要求の割合と、読み出し要求に対する平均応答時間の予測値と、書き込み要求に対する応答時間を用いて、ストレージ装置に対して発行される要求に対する平均応答時間の予測値を算出する。要求に対する平均応答時間の予測値は、例えば後述するレスポンス(W)である。応答時間予測部9の一例として、CPU22が挙げられる。
多重度算出部10は、要求に対する平均応答時間の予測値に、単位時間当たりに発行される要求の数を乗じて、ストレージ装置への読み出し要求または書き込み要求が単位時間当たりに重なる個数を表す多重度を算出する。多重度は、例えば後述する多重度(N)である。多重度算出部10の一例として、CPU22が挙げられる。
以下では、本実施形態の詳細について説明する。ストレージは、データを記憶する媒体(ハードディスク等)、もしくはそれらで構成された装置である。本実施形態では、性能を予測する対象の装置の一例としてRAID(Redundant Arrays of Independent Disks)を挙げているので、ストレージと表記した場合には、RAIDと同義である。
RAIDは、複数の記憶媒体を用い、データを分散したり、冗長性を持たせつつ格納する技術であり、性能向上や信頼性(記憶媒体が故障してもデータ消失することが無い)を実現する技術、または上記技術を用いてデータを格納する装置(RAID装置)を示す。RAID装置はRAIDの実現に必要な構成要素(ディスク装置(記憶媒体)、コントローラ(CPU)、キャッシュ(メモリ))を含み、それぞれ、RAIDディスク、RAIDコントローラ、RAIDキャッシュと呼ぶ。
RAIDには、その実装方法によって様々な種類があり、それぞれに対して番号が振られている(RAID1、RAID5、RAID6等)。その番号をRAIDレベルと呼ぶ。例えばRAID5のRAIDレベルは、“5”である。
RAIDメンバとは、RAIDレベルによって、データ分散方式や冗長性の構築方式が異なり、これらを数式によって表したものである。RAID5の場合、データ分割単位であるRAIDストライプに対してデータ冗長を実現するパリティデータを1つ作成するので、ストライプを構成する分割数と併せて、“4+1”のように表記される。RAID6の場合、RAIDストライプに対してパリティを2つ作成するので、“6+2”のように表記される。RAIDを構築する場合に必要なRAIDディスクの数は、表記の式を計算した値である。例えば、RAID5 4+1には5台のディスクが必要である。
RAIDランクとは、RAIDメンバに対して、RAIDストライプを構成する分割数を抜き出したものである。例えば、RAID5 4+1のRAIDランクは、4である。
I/O(Input/Output)は、READ/WRITEと同じ意味であり、READコマンドもしくはWRITEコマンド、要するに、ストレージに対する入出力を示す。なお、ストレージの観点から、READ = Output、WRITE = Input と定義される。
次に、図2、図3を用いて、RAIDシステムに対するREAD処理とWRITE処理との違いを説明する。
図2は、本実施形態におけるRAIDシステムに対するREAD処理を説明するための図である。図3は、本実施形態におけるRAIDシステムに対するWRITE処理を説明するための図である。ホスト11は、RAIDシステム12と接続されているコンピュータである。RAIDシステム12は、RAIDコントローラ13、RAIDグループ16を含む。
図2は、本実施形態におけるRAIDシステムに対するREAD処理を説明するための図である。図3は、本実施形態におけるRAIDシステムに対するWRITE処理を説明するための図である。ホスト11は、RAIDシステム12と接続されているコンピュータである。RAIDシステム12は、RAIDコントローラ13、RAIDグループ16を含む。
RAIDコントローラ13は、ホスト11から送信されたデータを記憶媒体17に書き込んだり、ホスト11からの要求に応じて、記憶媒体17からデータを読み出すためのコントローラモジュールであり、RAIDグループ16の動作制御を行う。RAIDコントローラ13は、READキャッシュ14、WRITEキャッシュ15を含む。READキャッシュ14は、READコマンド発行時に、RAIDコントローラ13により用いられるキャッシュメモリである。WRITEキャッシュ15は、WRITEコマンド発行時に、RAIDコントローラ13により用いられるキャッシュメモリである。
RAIDグループ16は、RAID内で、実際にRAIDを構成する記憶媒体(ディスク)に対して、あるRAIDレベル・RAIDメンバで構成される最小単位をいう。RAIDは、内部に様々なRAIDレベル・RAIDメンバからなる、複数のRAIDグループ16によって構成され、これらはRAIDコントローラ13によって管理される。
図2において、ホスト11よりREADコマンドが発行される(S1)。すると、RAIDコントローラ13は、READキャッシュ14に、READ対象のデータがあるかを確認する(S2)。READキャッシュ14にデータが無い場合(S2)、RAIDコントローラ13は、データが格納されている記憶媒体(ディスク)17からデータを読み出す(S3、S4)。RAIDコントローラ13は、読み出したデータをホスト11へ応答し(S5)、そのデータをREADキャッシュ14へ登録する(S6)。
本実施形態では、ランダムアクセスを前提としているので、READコマンドのデータはREADキャッシュ14に「無い」ものとする(100% READキャッシュミス)。よって、READレスポンスは、数×10−3[sec]以上かかるものとする。
図3において、ホスト11よりWRITEコマンドが発行される(S11)。すると、RAIDコントローラ13は、WRITEコマンドに指定されたWRITE対象データをWRITEキャッシュ15に格納し(S12)、すぐにホスト11へ応答を返す(S13)。それから、RAIDコントローラ13は、WRITEキャッシュ15に格納したWRITE対象データを記憶媒体(ディスク)17に書き込む(S14,S15)。
本実施形態では、WRITEキャッシュ15に空きがある場合を前提としている(100% WRITEキャッシュヒット)。よって、WRITEレスポンスは、0[sec]であるとする。
次に、RAIDシステムの処理性能が変化する要因について説明する。RAIDシステムの処理性能が変化する要因としては、ディスク特性、RAID構成、ボリューム構成、ワークロード特性がある。ディスク特性としては、ディスク容量、ディスクの回転数[rpm](=シーク時間)がある。ディスクの回転数[rpm]は、後述するように、ディスク定数(D)として考慮される。
RAID構成として、RAIDレベル、RAIDメンバがある。RAIDメンバは、RAIDランク(R)として考慮される。
ボリューム構成は、使用するボリューム割合(v)がある。使用するボリューム割合(v)は、あるRAIDレベル・RAIDメンバで構成されたRAIDグループ全体の容量に対して、実際にデータを格納している容量を示す。ディスク容量をCとすると、RAIDグループの容量はCRと表されるので、使用する容量をLとすると、v=L/CRとなる。
ワークロード特性は、I/O頻度、平均I/Oサイズ(=平均ブロックサイズ)、READ:WRITE比がある。
I/O頻度は、単位時間[sec]当たりに処理されたI/Oの個数(Input/Output per second:IOPS)を示す。READコマンドをカウントしたI/O頻度を、READ I/O頻度と呼ぶ。WRITEコマンドをカウントしたI/O頻度を、WRITE I/O頻度と呼ぶ。総I/O頻度を“X”、READ I/O頻度を“XR”、WRITE I/O頻度を“XW”と表記する。
READ:WRITE比は、READ割合(C)として考慮される(C=XR/X)。
平均I/Oサイズ(=平均ブロックサイズ)は、1回のリクエスト(I/O)で送られるデータサイズを示す。平均I/Oサイズは、READが跨るストライプブロック数の期待値(ER)、WRITEが跨るストライプブロック数の期待値(EW)として考慮される。ここで、図4を用いて、READが跨るストライプブロック数の期待値について説明する。
平均I/Oサイズ(=平均ブロックサイズ)は、1回のリクエスト(I/O)で送られるデータサイズを示す。平均I/Oサイズは、READが跨るストライプブロック数の期待値(ER)、WRITEが跨るストライプブロック数の期待値(EW)として考慮される。ここで、図4を用いて、READが跨るストライプブロック数の期待値について説明する。
図4は、本実施形態におけるREADが跨るストライプブロック数の期待値について説明するための図である。ブロックサイズが異なれば、RAIDの性能は異なる。すなわち、ブロックサイズが大きい程、ディスクにアクセスするデータ量が大きくなり、レスポンス時間が長くなる。しかし、ディスク単体でレスポンス時間を測定した場合は、この影響はほとんどレスポンス性能に表れない。実際にディスクからの読み出し・書き出しに要する時間の変化は、ブロックサイズの違いによってレスポンスにほとんど影響を及ぼさないということが分かる。
ところがRAIDでレスポンス時間を測定すると、ブロックサイズが大きい程、レスポンス性能は悪くなる。これは、I/Oがストライプブロックを跨る場合に、I/Oがストライプブロック単位に分割されることで、複数のディスクにアクセスするため、性能が悪くなると考えられる。
ディスクは、図4(A)に示すように、論理的にストライブブロック単位で分割され、RAIDグループの各ディスク17に対して同じ位置のストライプブロック(D1〜D4)でストライプが作成され、この単位で冗長性を保つためにパリティ(P)が作成される。
RAIDグループ16内のディスクは全く同じもの(同じ容量のもの)を使用する。RAID5、RAID6の場合は、各ストライプにおけるパリティが格納されるディスクは、ストライプによって異なる。
すなわち、ブロックサイズが性能に影響を及ぼすのではなく、アクセスするディスク数が性能に影響を及ぼす。I/Oが行われるディスク数を、I/Oが跨ぐストライプブロック数と同じであると見積り、その期待値を計算する。
I/Oが跨るストラップブロック数の期待値の算出方法について説明する。ストライプ幅(=ストライプブロックのサイズ)は、使用するRAIDによって異なる。本実施形態では、ストライプ幅(=ストライプブロックのサイズ)は64[K Byte(KB)]、ディスクブロックサイズを0.5[KB]とする。ディスクブロックサイズは、ディスクにおいて格納するデータの基本単位のサイズである。すべてのI/Oにおけるブロックサイズは、ディスクブロックサイズの整数倍である。ユーザ(アプリケーションプログラム)から発行されるブロックサイズは任意の大きさであるが、オペレーティングシステム(OS)で用いられているファイルシステムによって、どのようなシステムでもディスクブロックサイズの整数倍に整形されている。本実施形態では、ブロックサイズの平均値を用いるので、この平均値はディスクブロックサイズの整数倍とならない場合もあるが、ディスクブロックサイズの値よりも大きい。本実施形態では、説明の便宜のため、平均ブロックサイズは、ディスクブロックサイズの整数倍とする。
平均ブロックサイズを“r”[KB]と表記する。I/Oのオフセット(アクセスする領域の先頭アドレス)がストライプブロックの境界である場合に、アクセスする最後のストライプブロックにおけるブロックサイズMは、次の式で表される。
M= ( (r−0.5) mod 64)+0.5
また、I/Oがアクセスする最も少ないストライプブロックの個数Nは、次の式で表される。
N= (r −M+64)/64
I/Oが跨るストラップブロック数の期待値Eは、次の式で表される。
E= (N + 1) (2M − 1)/128 + N (128 − 2M + 1)/128
M= ( (r−0.5) mod 64)+0.5
また、I/Oがアクセスする最も少ないストライプブロックの個数Nは、次の式で表される。
N= (r −M+64)/64
I/Oが跨るストラップブロック数の期待値Eは、次の式で表される。
E= (N + 1) (2M − 1)/128 + N (128 − 2M + 1)/128
READ、WRITEそれぞれの平均ブロックサイズに対して、上記の期待値を算出する。
・READが跨るストライプブロック数の期待値(ER)
・WRITEが跨るストライプブロック数の期待値(EW)
・READが跨るストライプブロック数の期待値(ER)
・WRITEが跨るストライプブロック数の期待値(EW)
ここで、I/Oのオフセットが、ストライプブロックの境界と全く同じ場合(図4(B)の(ケース(1))を考える。この場合にアクセスする最後のストライプブロックにおいてアクセスするサイズをMとする。この場合が、I/Oがアクセスするストライプブロック数が最も少ない場合である。
次に、ケース(1)から、オフセットをディスクブロックサイズずつずらしていき、次の境界のひとつ手前まで動かす(図4(B)のケース(2))ことを考える。ストライプブロック中にディスクブロックは128個あるので、I/Oのオフセットは合計128通りある。この128通りのI/Oのオフセットが、I/Oが跨るストライプブロック数を考えるべき全ての状態である。
これら全てを考えると、ケース(1)での跨る数をN個とした時に、最大でもN+1個しか跨らないことが分かる。よって、128通りの中で、跨る数がN個の場合と、N+1個の場合、それぞれが何通りあるか数えれば良い。
ケース(1)から、I/Oの最後がストライプブロックの境界に重なる場合(図4(B)ケース(3))までがN個で、ケース(3)以降からケース(2)までがN+1個である。ケース(2)で、N+1個目のストライプブロックにアクセスしているサイズは、M−0.5[KB]である。そのサイズをディスクブロックの個数に換算すると、2M−1となる。よって、跨る数がN+1個になる確率は、(2M−1)/128となる。したがって、跨る数がN個になる確率は、1−((2M−1)/128)=(128−2M+1)/128となる。これらの確率に、各々の値(跨る数)をかけて足し合わせた値が、跨るストライプブロック数の期待値である。
次に、レスポンス性能モデルについて説明する。ある1つのRAIDグループにおけるランダムアクセス性能(READレスポンス)を予測する式は、次の式(1)で表される。なお、式中のパラメータA、α、εについては、後述する。
入力情報XR:READ I/O頻度[IOPS]
出力情報WR:READレスポンス[sec]
パラメータA:RAID係数
α:ディスク係数
ε:相変化多重度
出力情報WR:READレスポンス[sec]
パラメータA:RAID係数
α:ディスク係数
ε:相変化多重度
READの場合は、100%キャッシュミスとなり、WRITEの場合は、100%キャッシュヒットとなることを想定している。したがって、READレスポンスを予測すれば、全体のレスポンスを予測することができる。
RAID係数Aは、使用するディスクに関係なく、RAIDグループのRAID構成によって決まる値である。RAID5の場合、RAID係数(A)は以下の式(2)で表される。
RAID6の場合、RAID係数(A)は以下の式(2’)で表される。
Rは、RAIDランクを示す。ERは、READ I/Oが跨るセグメントブロック数の期待値である。RAIDレベルによって、Aの係数の値(1/2か2/3か)が決まり、RAIDメンバ(RAIDランク)によって分子の値が決まるので、RAID係数はRAID構成によって決定されるといえる。
ディスク係数(α)は、RAIDグループに関係なく、使用するディスクのディスク特性によって決まる値である。RAID5の場合、ディスク係数(α)は、以下の式(3)で表される。
RAID6の場合、ディスク係数(α)は、以下の式(3’)で表される。
である。ここで、R:RAIDランク、ER:READ I/Oが跨るセグメントブロック数の期待値、D:ディスク定数(RAIDに関わらず、ディスクの種別(回転数)で一定の値)、v:RAIDグループにおいて、実際にアクセスする領域の割合(0≦v≦1)
ディスク定数(D)は、ディスクに回転数などディスク特性によって決定される値であるが、全てのディスクに対してモデル化することは困難であるため、使用するディスクに関する測定値を用いる。
ディスク係数(α)の式にもRAIDランクが含まれる。ここでのRAIDランクは、RAIDレベルが変化してもREAD最少レスポンスが変化しないという測定結果(後述)から導き出される項であり、ディスク係数はRAID構成に関係せず、ディスク特性から設定される。ディスク定数Dが回転数などディスクそのものの性質から導き出される性能を示す。
の項が、使用割合減少によりシーク時間が確率的に減少することによるディスク性能の向上を見積もる項に相当する。シーク距離Lに対して、シーク時間を(L)1/2で見積もることが可能である。
次に相変化多重度(ε)について説明する。相変化多重度εはワークロードの特性によって決定される値であり、次の算出式(4)で表される。
ここで、α:ディスク係数、A:RAID係数、c:READ割合(総I/O頻度におけるREAD I/O頻度の割合)(0≦c≦1)、V:仮想WRITEコスト(WRITEの内部処理コストを見積もった値)
仮想WRITEコストは、READブロックサイズ(ER)、WRITEブロックサイズ(EW)、アクセスする領域の割合(v)によって変化する値であるため、使用するワークロードについてモデル化することは非常に困難である。そこで、使用するワークロードに関して限定条件を設定し、その限定条件に対する測定値を仮想WRITEコストとして用いる。例えば、v=1、ER=EW、READブロックサイズは8[KB]、16[KB]、32[KB]、48[KB]、64[KB]となる。
αAがREAD最少レスポンス(後述)、Vが仮想WRITEコスト、cがREAD割合を表すので、相変化多重度εの値は、ワークロードの特性によって決定されると言える。
次に、レスポンス性能の評価方法について説明する。ユーザがレスポンスに関して明確な指針を持っている場合、すなわち、RAIDをストレージとして利用するシステムを安全に運用するために、RAIDのレスポンスがある一定値以下でなければならない場合、その基準に対して、レスポンスを直接評価する。例えば、このRAIDに商品データを保存し、Web上での商品販売サイトを作成する場合、そのためにはRAIDのレスポンスが例えば0.010[sec]以内でないと商品販売サイトを利用するユーザが「遅い」と感じてしまう、というような場合が考えられる。この場合、想定される商品販売サイトのアクセス数からI/O頻度を算出し、そこから算出されたレスポンスが例えば0.010[sec]以内であれば、RAIDは十分な性能であるとみなす。もしくは、レスポンスが例えば10[sec]以内に収まるI/O頻度を逆算し、そのI/O頻度から商品販売サイトを安全に運用できるアクセス数を更に逆算することで、商品販売サイト全体の設計を行う。
一方、ユーザがレスポンスに関して明確な指針を持たない場合、多重度を指標とする。多重度はコマンドのキュー長と同じである。システムのハードウェアにはキュー長の最大値に制限があるものがある。例えば、ホストとRAIDの接続に用いられるFC HBA(Fibre Channel Host Bus Adaptor)は、内部のメモリ量の制限から、キュー長の最大値が30程度に制限されている。多重度がキュー長の最大値30以下であれば、安全に運用できるという評価を行う。
次に、本実施形態におけるレスポンス性能を評価する処理の詳細を説明する。
図5は、本実施形態におけるレスポンス性能を評価する処理を実行するコンピュータのハードウェアブロック図を示す。コンピュータ20は、実施形態の処理を行うプログラムを読み込むことにより、性能評価支援装置として機能する。
図5は、本実施形態におけるレスポンス性能を評価する処理を実行するコンピュータのハードウェアブロック図を示す。コンピュータ20は、実施形態の処理を行うプログラムを読み込むことにより、性能評価支援装置として機能する。
コンピュータ20は、出力I/F21、CPU22、ROM23、通信I/F24、入力I/F25、RAM26、記憶装置27、読み取り装置28、バス29を含む。コンピュータ20は、出力機器31、及び入力機器32と接続可能である。
ここで、CPUは、中央演算装置を示す。ROMは、リードオンリメモリを示す。RAMは、ランダムアクセスメモリを示す。I/Fは、インターフェースを示す。バス29には、出力I/F21、CPU22、ROM23、通信I/F24、入力I/F25、RAM26、記憶装置27、読み取り装置28が接続されている。読み取り装置28は、可搬型記録媒体を読み出す装置である。出力機器31は、出力I/F21に接続されている。入力機器32は、入力I/F25に接続されている。
記憶装置27としては、ハードディスクドライブ、フラッシュメモリ装置、磁気ディスク装置など様々な形式の記憶装置を使用することができる。
記憶装置27またはROM23には、後述する処理を実現するレスポンス性能評価支援プログラム、評価処理で用いるパラメータ、所定の閾値等が格納されている。
CPU22は、プロセッサの一例であり、記憶装置27等に格納した実施形態に係るレスポンス性能評価支援プログラムを読み出し、当該プログラムを実行する。
実施形態に係るレスポンス性能評価支援プログラムは、プログラム提供者側から通信ネットワーク30、および通信I/F24を介して、例えば記憶装置27に格納してもよい。また、第1〜第3の実施形態で説明した処理を実現するプログラムは、市販され、流通している可搬型記憶媒体に格納されていてもよい。この場合、この可搬型記憶媒体は読み取り装置28にセットされて、CPU22によってそのプログラムが読み出されて、実行されてもよい。可搬型記憶媒体としてはCD-ROM、フレキシブルディスク、光ディスク、光磁気ディスク、IC(Integrated Circuit)カード、USB(Universal Serial Bus)メモリ装置など様々な形式の記憶媒体を使用することができる。このような記憶媒体に格納されたプログラムが読み取り装置28によって読み取られる。
また、入力機器32には、キーボード、マウス、電子カメラ、ウェブカメラ、マイク、スキャナ、センサ、タブレット、タッチパネルなどを用いることが可能である。また、出力機器31には、ディスプレイ、プリンタ、スピーカなどを用いることが可能である。また、ネットワーク30は、インターネット、LAN、WAN、専用線、有線、無線等の通信網であってよい。
図6は、本実施形態におけるレスポンス性能を評価する処理のフローを示す。まず、事前準備(S21)について説明する。ここでは、ディスク容量(C)は、予め得られている。使用するディスクのディスク定数(D)は、測定により求められる。また、使用する限定されたワークロードパターンにおける仮想WRITEコスト(V)は、測定により求められる。WRITEは100%キャッシュヒットとなるが、その場合のレスポンス(どんな状況でも常に一定である値)(WW)を測定により求める。ディスク容量(C)、ディスク定数(D)、WRITEレスポンス(WW)、仮想WRITEコスト(V)は、予め、レスポンス性能を評価するコンピュータ20の記憶装置27に登録される。
次に、コンピュータ20は、ユーザの使用するストレージのRAID構成・ボリューム構成を取得する(S22)。ユーザは、入力機器32を用いて、RAIDレベル、RAIDランク(R)、ディスクの使用容量(L)を入力する。コンピュータ20は、ディスク容量(C)、RAIDランク(R)、使用容量(L)から、使用割合(v)(=L/(CR))を算出する。
コンピュータ20は、ユーザの使用するストレージのワークロード特性を取得する(S23)。ユーザは、入力機器32を用いて、総I/O頻度(X)、READ割合(c)、READ平均ブロックサイズ(rR)を入力する。コンピュータ20は、READ平均ブロックサイズ(rR)から、READが跨るストライプブロック数の期待値(ER)を計算する。また、コンピュータ20は、総I/O頻度(X)、READ割合(c)から、READ I/O頻度(XR)を計算する。
次に、コンピュータ20は、性能モデルにおけるパラメータを算出し、そのパラメータを用いて性能モデルを出力する(S24)。コンピュータ20は、RAIDレベル、RAIDランク(R)、及びREADが跨るストライプブロック数の期待値(ER)から、RAID係数(A)を計算する。また、コンピュータ20は、RAIDレベル、RAIDランク(R)、ディスク定数(D)、及び使用割合(v)から、ディスク係数(α)を計算する。また、コンピュータ20は、RAID係数(A)、ディスク係数(α)、仮想WRITEコスト(V)、READ割合(c)から、相変化多重度(ε)を計算する。コンピュータ20は、RAID係数(A)、ディスク係数(α)、相変化多重度(ε)、READ I/O頻度(XR)からREADレスポンス(WR)を計算する。
コンピュータ20は、性能モデルにより得られたREADレスポンス(WR)を用いて、ストレージのレスポンス・多重度を算出する(S25)。具体的には、コンピュータ20は、WRITEレスポンス(WW)、READ割合(c)、READレスポンス(WR)を用いて、以下の式(5)よりレスポンス(W)を算出する。
レスポンス(W)=cWR+(1−c)WW (5)
コンピュータ20は、I/O頻度(X)とレスポンス(W)から、以下の式(6)を用いて、多重度(N)を計算する。
多重度(N)=XW (6)
コンピュータ20は、レスポンス(W)と多重度(N)を出力する。ユーザは、出力されたレスポンス(W)と多重度(N)を用いて、対象のストレージのレスポンス性能を評価する。
レスポンス(W)=cWR+(1−c)WW (5)
コンピュータ20は、I/O頻度(X)とレスポンス(W)から、以下の式(6)を用いて、多重度(N)を計算する。
多重度(N)=XW (6)
コンピュータ20は、レスポンス(W)と多重度(N)を出力する。ユーザは、出力されたレスポンス(W)と多重度(N)を用いて、対象のストレージのレスポンス性能を評価する。
図6のフローについての実施例を以下に示す。なお、以下の実施例では、本実施形態に係る性能評価支援プログラムの一例であるRAIDの性能予測ツール(サービス)を用いる。
S21では、あるRAIDの性能評価に対して、性能評価支援プログラムで用いる条件情報を設定するための事前準備を行う。RAIDに搭載可能なディスクの種類(Online SAS /Nearline SAS、ディスクサイズ、回転数、容量)は、以下であるとする。ここで、SASは、Serial Attached SCSI (Small Computer System Interface)を示す。
・Online SAS 3.5[inch] 15,000[rpm] 300[GB], 450[GB], 600[GB]
・Online SAS 2.5[inch] 15,000[rpm] 300[GB], 450[GB], 600[GB]
・Online SAS 2.5[inch] 10,000[rpm] 300[GB], 450[GB], 600[GB]
・Nearline SAS 3.5[inch] 7.200[rpm] 1[TB], 2[TB], 3[TB]
・Nearline SAS 2.5[inch] 7.200[rpm] 1[TB]
・Online SAS 3.5[inch] 15,000[rpm] 300[GB], 450[GB], 600[GB]
・Online SAS 2.5[inch] 15,000[rpm] 300[GB], 450[GB], 600[GB]
・Online SAS 2.5[inch] 10,000[rpm] 300[GB], 450[GB], 600[GB]
・Nearline SAS 3.5[inch] 7.200[rpm] 1[TB], 2[TB], 3[TB]
・Nearline SAS 2.5[inch] 7.200[rpm] 1[TB]
ディスクの回転数は3種類であるため、それぞれのディスクに対してディスク定数を測定する。
・15,000[rpm]のディスクのディスク定数(D1)=0.017
・10,000[rpm]のディスクのディスク定数(D2)=0.021
・7,200[rpm]のディスクのディスク定数(D3)=0.037
・15,000[rpm]のディスクのディスク定数(D1)=0.017
・10,000[rpm]のディスクのディスク定数(D2)=0.021
・7,200[rpm]のディスクのディスク定数(D3)=0.037
ディスクのサイズ(2.5[inch]または3.5[inch])または容量が変わっても、性能は変化しないので、性能評価支援プログラムは上記3種類のディスク定数で列挙したディスクすべてに対応することができる。ただし、ディスクが製造された時期又はディスクの世代が異なると、同じ回転数、ディスクサイズ、容量でもファームウェアの制御またはディスクの部品が異なる可能性があるので、性能が異なる場合がある。よって、上記の3つのディスクは全て同じ世代であるとする。
次に、性能評価支援プログラムが対応するワークロードを限定、すなわち限定条件を設定する。本実施形態は、シーケンシャルアクセスには対応せず、ランダムアクセスに対応する。上述の通り、ランダムアクセスで、さらにREAD処理は100%キャッシュミスが発生し、WRITE処理は100%キャッシュヒットになる条件とする。この条件が、通常の運用の中で最もRAIDの性能が悪い条件であるので、このような制限は性能の評価として意義があると考える。
また、平均READブロックサイズと平均WRITEブロックサイズは同じであるとする。
平均ブロックサイズの代表値として、例えば、8[KB]、16[KB]、32[KB]、64[KB]が挙げられ、ユーザにはこれらの代表値から最も近い値を選択してもらうようにする。
平均ブロックサイズの代表値として、例えば、8[KB]、16[KB]、32[KB]、64[KB]が挙げられ、ユーザにはこれらの代表値から最も近い値を選択してもらうようにする。
上記限定条件に対応する仮想WRITEコスト(V)を測定する。上記3つのディスクのRAIDレベル毎、及びブロックサイズ毎の仮想WRITEコスト(V)の測定結果を図7に示す。
このとき、WRITEレスポンス(WW)も測定しておく。WRITE処理は、100%キャッシュヒットとなることを想定しているので、全ての場合でほぼ同じ値になると想定される。本実施形態では、WRITEレスポンス(WW)=0.000275[sec]であるとする。
次に、S22、S23について説明する。S22、S23では、ユーザは、性能評価支援プログラムに、RAID構成情報(使用するディスクの属性情報、RAIDレベル、RAIDメンバ、使用容量の情報)、ワークロード情報(I/O頻度、READ割合、平均ブロックサイズ)を入力する。例えば、以下のように入力された場合を考える。
・2.5[inch] 10,000[rpm] SAS 600[GB]のディスクを用い、RAID5(4+1)を作成する。
・上記RAIDにおける全ての領域を使用する。
・ユーザが上記RAIDに対して行うアクセス(負荷)は、300[IOPS]である。
・READ割合は75%であり、平均ブロックサイズは48[KB]である。
・2.5[inch] 10,000[rpm] SAS 600[GB]のディスクを用い、RAID5(4+1)を作成する。
・上記RAIDにおける全ての領域を使用する。
・ユーザが上記RAIDに対して行うアクセス(負荷)は、300[IOPS]である。
・READ割合は75%であり、平均ブロックサイズは48[KB]である。
コンピュータ20は、上記の入力により、予め準備した条件値から適切な条件値を選択し、性能モデルに使用するための入力パラメータを計算する。
・ディスク定数:D=0.021
・仮想WRITEコスト:V=0.0310
・WRITEレスポンス:WW=0.00275
・RAIDランク:R=4
・利用割合:v=1
・I/O頻度:X=1000
・READ割合:c=0.75
・READ I/O頻度:XR=cX=0.75×300=225
・平均ブロックサイズ:r=48 [KB]
・ディスク定数:D=0.021
・仮想WRITEコスト:V=0.0310
・WRITEレスポンス:WW=0.00275
・RAIDランク:R=4
・利用割合:v=1
・I/O頻度:X=1000
・READ割合:c=0.75
・READ I/O頻度:XR=cX=0.75×300=225
・平均ブロックサイズ:r=48 [KB]
I/Oが跨るストライプブロック数の期待値Eを求める。
・M=((r−0.5)mod 64)+0.5=48
・N=(r−M+64)/64=1
・E=(N+1)(2M−1)/128+N(128−2M+1)/128=1.7422
・M=((r−0.5)mod 64)+0.5=48
・N=(r−M+64)/64=1
・E=(N+1)(2M−1)/128+N(128−2M+1)/128=1.7422
平均ブロックサイズとREAD平均ブロックサイズが同じなので、READが跨るストライプブロック数の期待値ERは、上記のI/Oが跨るストライプブロック数の期待値Eと同じ値となる。
次に、S24について説明する。S24では、コンピュータ20は、性能予測ツールへの入力から、性能モデルで用いるパラメータを計算する。RAIDレベルはRAID5なので、コンピュータ20は、上述した式(2)を用いて、RAID係数Aを計算する。
RAIDレベルはRAID5なので、コンピュータ20は、上述した式(3)を用いて、ディスク係数αを計算する。
コンピュータ20は、上述した式(4)を用いて、相変化多重度εを計算する。ここで、計算の簡単のために、αA=0.00874を計算しておく。
コンピュータ20は、上述した式(1)で示す性能モデルを用いて、READレスポンスWRを計算する。
以上より、READレスポンスは0.0291 [sec]であるとの予測値が得られる。
次に、S25について説明する。S25では、READレスポンスからレスポンス・多重度を計算し、評価を行う。コンピュータ20は、上述した式(5)を用いて、レスポンスWを計算する。
・W=cWR+(1−c)WW=0.75×0.0291+0.25×0.000275=0.0219
よって、レスポンスは0.0219[sec]であることが分かる。
・W=cWR+(1−c)WW=0.75×0.0291+0.25×0.000275=0.0219
よって、レスポンスは0.0219[sec]であることが分かる。
コンピュータは、上述した式(6)を用いて、多重度(N)を計算する。
・N=XW=300×0.0219=6.57
・N=XW=300×0.0219=6.57
それから、コンピュータ20は、レスポンス(W)と多重度(N)を、性能予測ツール(サービス)の出力として表示する。
ユーザは、0.0219[sec]というレスポンスまたは6.57という多重度により、実際にRAIDを使用する前、またはリアルタイムにRAIDを使用しながら、性能の評価を行うことができる。その結果、例えば、レスポンス時間がシステム基準により長ければ、ユーザはより性能の高い構成に変更する等の対応を行うことができる。
次に、性能モデルの論理的解析について説明する。
ここで、性能モデルを論理的に解析する。まずは、READのみの場合の性能モデルの導出について説明する。多重度(N)は、非線形項を加えた指数関数(y=AeBx+β)によって得られる式として表される。
N=AeBX+β X:I/O頻度
ここで、性能モデルを論理的に解析する。まずは、READのみの場合の性能モデルの導出について説明する。多重度(N)は、非線形項を加えた指数関数(y=AeBx+β)によって得られる式として表される。
N=AeBX+β X:I/O頻度
この式に、リトルの公式((多重度)=I/O頻度×レスポンス[sec])を代入する。
レスポンス(W)=(AeBX+β)/X
レスポンス(W)=(AeBX+β)/X
しかし、上記の式では、Xが0の極限で無限大に発散してしまう。すなわち、
であるのに対し、
となる。これを解決するため、I/OがREADのみであるとし、多重度1を境界にして、上記レスポンス(W)の式の状態が異なると想定する。ここでは、WRITEは100%キャッシュヒットとなり、レスポンスがほぼ0[sec]であるため、とりあえず、READのみの場合を考える。
図8は、本実施形態における多重度を説明するための図である。多重度1以下の場合は、図8(A)に示すように、各I/Oが重なりなく処理される。したがって、ブロックサイズが同じであれば、各I/OのレスポンスはI/O頻度や多重度に関わらず一定であると考えられる。
多重度1以上の場合には、図8(B)に示すように、各I/Oに重なりがある。この場合、I/Oに重なりがあるので、I/Oがキューに繋がれているだけで処理を待つ時間が生じる。この「処理待ち時間」が、I/O頻度に対する多重度の指数関数的上昇を生み出すものと考えられる。
したがって、レスポンスWは、多重度1までは一定であり、多重度1以上は、指数関数的に上昇すると考えられる。
図9は、本実施形態におけるREADのみの場合の性能モデルの導出を説明するための図である。多重度1における状態変化を性能モデルの数式に組み入れると、以下の式になる。ここで、多重度1未満のレスポンスが一定である状態から、図9(A)に示すように、多重度1以上の多重度が指数関数的に上昇する状態に変わることを、物理的に「相が変化した」と捉え、この多重度1を「READのみの場合の相変化多重度」と呼ぶことにする。
X1:READの多重度が1となるREAD I/O頻度
READ多重度1のときにREAD I/O頻度がX1であるので、リトルの公式によりこの場合のレスポンスは1/X1である。I/O頻度がX1以下である場合、図9(B)に示すように、レスポンスは1/X1であることから、1/X1を最少レスポンスと呼ぶ。
N= AeαX+βという式は、X=0のときにN=A+βとなるが、これをX=X1のときにN=1になるようにアフィン変換(平行移動)を行うと、N= A(eα(X−X1)−1)+1となる。この式の右辺において、”−1”は、X=X1の場合に指数項を打ち消す定数であり、”+1”は、X=X1の場合の多重度を示す。この多重度の式をリトルの公式により変換すると、上記性能モデルが得られる。
さらに、性能モデルに、多重度1の前後で、I/O頻度に対する多重度の傾きは同じであるという平滑条件を考慮する。この平滑条件は多重度1未満から徐々にI/O頻度を増やしていった場合に、多重度1を境にして急激に多重度が上昇するのではなく、自然に緩やかに上昇していくという仮定である。
よって、多重度1前後で性能モデルをI/O頻度(X)に対して微分し、それらの値が同じであるとする。
ゆえに、平滑条件を仮定することにより、X1=1/(αA)とすることができる。ここで、指数関数は単調増加関数なので、I/O頻度がX1以下の場合のレスポンスW=1/X1=αAが最少レスポンスとなる。
以上より、以下の式(1’)で示すように、READのみの場合の性能モデルが得られる。
このとき、READのみ(c=1)の場合は相変化多重度ε=1であり、上記の式(1’)は性能モデルの式にε=1を代入した式と同一である。
係数をモデル化するに際し、様々なRAID構成に対するREADのみの性能測定を重ねた結果、以下の知見が得られた。以下の知見は、よく使用されるブロックサイズの範囲(8[KB]〜64[KB])における性能測定から得られた知見である。
指数関数に対する定数係数A:
・定数係数Aは、ディスク又は使用割合が変わっても同じ値である。
・定数係数Aは、RAIDランクに比例する。
・定数係数Aは、I/Oが跨るストライプブロック数の期待値に対して非線形の反比例という性質を示し、その非線形項の値はRAIDレベルに関わらず、一定(0.25)である。
指数関数に対する定数係数A:
・定数係数Aは、ディスク又は使用割合が変わっても同じ値である。
・定数係数Aは、RAIDランクに比例する。
・定数係数Aは、I/Oが跨るストライプブロック数の期待値に対して非線形の反比例という性質を示し、その非線形項の値はRAIDレベルに関わらず、一定(0.25)である。
指数関数に対する指数係数α:
・指数係数αは、RAIDランクに反比例する
・指数係数αは、I/Oが跨るストライプブロック数の期待値に対して切片を持つ比例という性質を示し、そのx切片はRAIDレベルに関わらず一定である。
・指数係数αは、使用割合の平方根を取った値に比例する。
最少レスポンスαA:
最少レスポンスαAは、RAIDレベル、RAIDランクに関わらず、一定である。
・指数係数αは、RAIDランクに反比例する
・指数係数αは、I/Oが跨るストライプブロック数の期待値に対して切片を持つ比例という性質を示し、そのx切片はRAIDレベルに関わらず一定である。
・指数係数αは、使用割合の平方根を取った値に比例する。
最少レスポンスαA:
最少レスポンスαAは、RAIDレベル、RAIDランクに関わらず、一定である。
そこで、定数係数AをRAID係数、指数係数αをディスク係数と名付け、RAID係数、ディスク係数を用いてモデル化を行ったところ、式(2)(2’)、式(3)(3’)が得られた。ここで、RAID5、RAID6とも
となり、この値はRAID構成とは無関係である。
次に、図10を用いて、READ及びWRITE混合時の性能モデルについて説明する。READのみ、WRITEのみのアクセスというのは特殊な場合で、通常はREAD及びWRITEが混ざったアクセスが行われる。
WRITE処理時は、100%キャッシュヒットとなることにより、レスポンスがほぼ0[sec]であるが、図10に示すように、通常WRITEの割合が多くなるほど、READの性能が悪化する。WRITEコマンドの処理が性能に及ぼす影響は、WRITEのレスポンスには表れないが、READレスポンスの悪化として間接的に表れる。この影響を定量化することは、非常に難しい。そこで、WRITEが混ざることで相変化多重度が1より小さい値になり、それが原因でREADレスポンスが悪化するということを想定する。
以下では、READ、WRITE混合時の相変化多重度の推定について考える。READレスポンスの最少レスポンスは、WRITEの割合がいくつあっても一定であることが測定結果の知見として得られた。そこで、相変化多重度以下の場合は、READレスポンスWR=αAとする。
通常、WRITEコマンドはREADコマンドより複雑な処理を行っているので、処理に係る時間はREADコマンドより長い。例えば、ストレージは、WRITEコマンドを取得した場合、WRITEデータに対応するパリティの読み出し、新パリティの計算、WRITEデータと新パリティをそれぞれのディスクに書き出すという内部処理を行う。ただし、その内部処理時間は100%WRITEキャッシュヒットしているため、図11に示すように、ホストから測定することはできない。そこで、WRITEコマンド当たりに要する内部処理時間を、仮想WRITEコストVと仮定する。また、図11に示すように、「RAID内部で、READとWRITEを合わせて多重度が1になる点」を相変化点であると想定する。
READ割合c(0<c<1)の場合にRAID内部で、READ、WRITEを合わせた多重度が1になるI/O頻度をXcとする。READ I/O頻度XRCは、XRC=cXCで求められる。READレスポンスWRCは図11に示すように、WRC=WR=αAである。READ多重度εはリトルの公式より、
ε=XRCWRC=cαAXc (7)
である。RAID内部で多重度1となることから、RAID内部でリトルの公式を適用する。
・N=XRCWRC+XWCWWC
・WRITE I/O頻度:XWC=(1−c)Xc
・WRITEレスポンス:WWC=V (WRITE仮想コスト)
・1= cαAXc+(1−c)VXc=(cαA+(1−c)V)Xc
・Xc=1/(cαA+(1−c)V)
この得られたXcを、式(7)で示すREAD多重度に代入する。
ε=cαA/(cαA+(1−c)V)
このREAD多重度を相変化多重度とし、READレスポンスの予測式である性能モデル式に適用する。
ε=XRCWRC=cαAXc (7)
である。RAID内部で多重度1となることから、RAID内部でリトルの公式を適用する。
・N=XRCWRC+XWCWWC
・WRITE I/O頻度:XWC=(1−c)Xc
・WRITEレスポンス:WWC=V (WRITE仮想コスト)
・1= cαAXc+(1−c)VXc=(cαA+(1−c)V)Xc
・Xc=1/(cαA+(1−c)V)
この得られたXcを、式(7)で示すREAD多重度に代入する。
ε=cαA/(cαA+(1−c)V)
このREAD多重度を相変化多重度とし、READレスポンスの予測式である性能モデル式に適用する。
以下では、性能モデルへのREAD、WRITE混在時の相変化多重度の適用について考える。READ割合cにおいて、READ多重度εが相変化多重度となる。この場合のRAID係数、ディスク係数をそれぞれ、A’、α’とする。多重度に関する非線形項を含んだ指数関数近似を、READのみの場合と同様に考える。READ I/O頻度をXRとしたときに、相変化多重度がεであることから、READ多重度に関する非線形項を含む指数関数式をREADのみの場合と同様に作成する。READ割合がcである場合にREAD多重度がεとなるREAD I/O頻度をX1’とする。
READ多重度εの点における平滑条件を、READのみの場合と同様に適用する。
より、X1’=ε/(α’A’)
READ割合によらず、最少レスポンスは一定であるという見地より、α’A’=αAとなる。
READ割合によらず、最少レスポンスは一定であるという見地より、α’A’=αAとなる。
以上より、性能モデルは式(1‘’)になる。
A、α:READのみの場合のRAID係数・ディスク係数
A’、α’:READ割合がcである場合のRAID係数・ディスク係数
A’、α’:READ割合がcである場合のRAID係数・ディスク係数
性能の実測値を上記式(1’’)に当てはめてA’、α’の値を求めたところ、以下の結果が得られた。
・A’=εA
・α’=α/ε
この結果より、αA=A’α’となり、どんなREAD割合でも最少レスポンスが変化しないという知見と一致する。
以上より、性能モデルの式(1)が導出される。
・A’=εA
・α’=α/ε
この結果より、αA=A’α’となり、どんなREAD割合でも最少レスポンスが変化しないという知見と一致する。
以上より、性能モデルの式(1)が導出される。
図12は、本実施形態におけるOnline SASディスクRAID5(4+1)に対する、性能の実測値と性能予測を示す。図13は、本実施形態におけるOnline SASディスクRAID6(4+2)に対する、性能の実測値と性能予測を示す。図12、図13において、横軸はREAD I/O頻度を示し、縦軸はREADレスポンス[sec]を示す。READ割合を100%から5%刻みで減らしていった場合に対して、I/O頻度を徐々に増やしていった場合の実際の測定値と、性能モデルを利用した予測結果を示している。ここで、実線はREAD割合毎の予測値を示し、点は実測値を示す。図12、図13に示すように、性能の実測値と性能予測とは近似しており、どちらも高精度に予測できていることが示されている。
本実施形態によれば、負荷(I/O頻度)に対する多重度の変化を非線形項を含む指数関数でモデル化することで、高精度な性能(レスポンス)予測を実現することができる。ここで、使用する式は、指数関数とリトルの法則である。これらの式に加え、性能が低負荷相(多重度が相変化多重度以下である状態)と高負荷相(多重度が相変化多重度以上である状態)に分かれるという仮定と、その相変化点に関する平滑条件を仮定することで、高精度な性能モデル式を生成することができる。
RAID内部装置やファームウェアをモデル化するのではなく、多重度及びレスポンスが示す統計的な特徴をモデル化しているので、汎用的かつ高精度な性能予測を実現することができる。また、最新のRAIDだけでなく、古いRAIDや未知のRAIDに関しても、少数のパラメータを測定することで、高精度な性能予測を行うことができる。
なお、本発明は、以上に述べた実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲内で種々の構成または実施形態を取ることができる。
上記実施形態に関し、更に以下の付記を開示する。
(付記1)コンピュータに、
ストレージ装置におけるデータ冗長化方式に関する冗長化方式情報と、該ストレージ装置が有する記憶装置の数と、該記憶装置の記憶領域のうち使用されている記憶領域の割合を表す使用率と、読み出し要求及び書き込み要求を含む要求に対する読み出し要求の割合と、読み出し要求に対して読み込まれるデータの平均データ量と、単位時間当たりに発行される要求の数を表す入出力指標と、前記ストレージ装置における書き込み要求に対する処理時間を表す定数と、前記記憶装置の種類によって決定される記憶装置定数とを取得させ、
前記冗長化方式情報と、前記記憶装置の数と、前記平均データ量を用いて、前記ストレージ装置のデータ冗長化方式に対する特徴量を示す冗長化係数を算出させ、
前記冗長化方式情報と、前記記憶装置の数と、前記平均データ量と、前記使用率と、前記記憶装置定数とを用いて、前記記憶装置の性能に対する特徴量を示す記憶装置係数を算出させ、
前記記憶装置係数と、前記冗長化係数と、前記読み出し要求の割合と、前記処理時間を表す定数とを用いて、前記入出力指標に対して応答時間が一定である低負荷相と、前記入出力指標に対して前記ストレージ装置への読み出し要求または書き込み要求が単位時間当たりに重なる個数を表す多重度が増加する高負荷相との境界となる多重度を示す相変化多重度を算出させ、
前記読み出し要求の割合と、前記単位時間当たりに発行される入出力指標とを用いて、単位時間当たりに発行される読み出し要求の数を表す読み出し要求指標を算出させ、
前記冗長化係数と、前記記憶装置係数と、前記相変化多重度と、前記読み出し要求指標とを用いて、前記読み出し要求に対する平均応答時間の予測値を算出させる
処理を実行させることを特徴とする性能評価支援プログラム。
(付記2)前記読み出し要求に対する平均応答時間の予測値WRは、前記冗長化係数と、前記記憶装置係数と、前記相変化多重度と、前記読み出し要求指標と、以下の式
(ここで、A:冗長化係数、α:記憶装置係数、ε:相変化多重度、XR:単位時間当たりに発行される読み出し要求数)
を用いて算出される
ことを特徴とする付記1に記載の性能評価支援プログラム。
(付記3)前記コンピュータに、さらに、
書き込み要求に対する応答時間を取得させ、
前記読み出し要求の割合と、前記読み出し要求に対する平均応答時間の予測値と、前記書き込み要求に対する応答時間を用いて、前記ストレージ装置に対して発行される要求に対する平均応答時間の予測値を算出させ、
前記要求に対する平均応答時間の予測値に、前記入出力指標を乗じて、前記ストレージ装置への読み出し要求または書き込み要求が単位時間当たりに重なる個数を表す多重度を算出させる
処理を実行させることを特徴とする付記1または2に記載の性能評価支援プログラム。
(付記4)前記冗長化係数及び前記記憶装置係数の算出において、読み出し要求時に、前記ストレージ装置が有する記憶装置から読み出される前記平均データ量を、前記読み出し要求または前記書き込み要求に応じて読み込まれるまたは書き込まれる記憶装置の個数の期待値に変換し、該期待値を用いて、前記冗長化係数及び前記記憶装置係数を算出する
ことを特徴とする付記1〜3のうちいずれか1項に記載の性能評価支援プログラム。
(付記5)ストレージ装置におけるデータ冗長化方式に関する冗長化方式情報と、該ストレージ装置が有する記憶装置の数と、該記憶装置の記憶領域のうち使用されている記憶領域の割合を表す使用率と、読み出し要求及び書き込み要求を含む要求に対する読み出し要求の割合と、読み出し要求に対して読み込まれるデータの平均データ量と、単位時間当たりに発行される要求の数を表す入出力指標と、前記ストレージ装置における書き込み要求に対する処理時間を表す定数と、前記記憶装置の種類によって決定される記憶装置定数とを取得する取得部と、
前記冗長化方式情報と、前記記憶装置の数と、前記平均データ量を用いて、前記ストレージ装置のデータ冗長化方式に対する特徴量を示す冗長化係数を算出する冗長化係数算出部と、
前記冗長化方式情報と、前記記憶装置の数と、前記平均データ量と、前記使用率と、前記記憶装置定数とを用いて、前記記憶装置の性能に対する特徴量を示す記憶装置係数を算出する記憶装置係数算出部と、
前記記憶装置係数と、前記冗長化係数と、前記読み出し要求の割合と、前記処理時間を表す定数とを用いて、前記入出力指標に対して応答時間が一定である低負荷相と、前記入出力指標に対して前記ストレージ装置への読み出し要求または書き込み要求が単位時間当たりに重なる個数を表す多重度が増加する高負荷相との境界となる多重度を示す相変化多重度を算出する相変化多重度算出部と、
前記読み出し要求の割合と、前記単位時間当たりに発行される入出力指標とを用いて、単位時間当たりに発行される読み出し要求の数を表す読み出し要求指数を算出する読み出し要求数算出部と、
前記冗長化係数と、前記記憶装置係数と、前記相変化多重度と、前記読み出し要求指標とを用いて、前記読み出し要求に対する平均応答時間の予測値WRを算出する読み出し応答時間予測部と、
を備えることを特徴とする性能評価支援装置。
(付記6)前記読み出し応答時間予測部は、前記冗長化係数と、前記記憶装置係数と、前記相変化多重度と、前記読み出し要求指標と、以下の式
(ここで、A:冗長化係数、α:記憶装置係数、ε:相変化多重度、XR:単位時間当たりに発行される読み出し要求数)
を用いて前記読み出し要求に対する平均応答時間の予測値WRを算出する
ことを特徴とする付記5に記載の性能評価支援装置。
(付記7)前記取得部は、さらに、書き込み要求に対する応答時間を取得し、
前記性能評価支援装置は、さらに、
前記読み出し要求の割合と、前記読み出し要求に対する平均応答時間の予測値と、前記書き込み要求に対する応答時間を用いて、前記ストレージ装置に対して発行される要求に対する平均応答時間の予測値を算出する応答時間予測部と、
前記要求に対する平均応答時間の予測値に、前記入出力指標を乗じて、前記ストレージ装置への読み出し要求または書き込み要求が単位時間当たりに重なる個数を表す多重度を算出する多重度算出部と、
を備えることを特徴とする付記5または6に記載の性能評価支援装置。
(付記8)前記性能評価支援装置は、さらに、
読み出し要求時に、前記ストレージ装置が有する記憶装置から読み出される前記平均データ量を、前記読み出し要求または前記書き込み要求に応じて読み込まれるまたは書き込まれる記憶装置の個数の期待値に変換する期待値変換部
を備え、
前記冗長化係数算出部及び前記記憶装置係数算出部は、前記期待値を用いて、前記冗長化係数及び前記記憶装置係数を算出する
ことを特徴とする付記5〜7のうちいずれか1項に記載の性能評価支援装置。
(付記9)コンピュータに実行されるストレージ装置の性能評価支援方法であって、
前記コンピュータは、
前記ストレージ装置におけるデータ冗長化方式に関する冗長化方式情報と、該ストレージ装置が有する記憶装置の数と、該記憶装置の記憶領域のうち使用されている記憶領域の割合を表す使用率と、読み出し要求及び書き込み要求を含む要求に対する読み出し要求の割合と、読み出し要求に対して読み込まれるデータの平均データ量と、単位時間当たりに発行される要求の数を表す入出力指標と、前記ストレージ装置における書き込み要求に対する処理時間を表す定数と、前記記憶装置の種類によって決定される記憶装置定数とを取得し、
前記冗長化方式情報と、前記記憶装置の数と、前記平均データ量を用いて、前記ストレージ装置のデータ冗長化方式に対する特徴量を示す冗長化係数を算出し、
前記冗長化方式情報と、前記記憶装置の数と、前記平均データ量と、前記使用率と、記憶装置定数とを用いて、前記記憶装置の性能に対する特徴量を示す記憶装置係数を算出し、
前記記憶装置係数と、前記冗長化係数と、前記読み出し要求の割合と、前記処理時間を表す定数とを用いて、前記入出力指標に対して応答時間が一定である低負荷相と、前記入出力指標に対して前記ストレージ装置への読み出し要求または書き込み要求が単位時間当たりに重なる個数を表す多重度が増加する高負荷相との境界となる多重度を示す相変化多重度を算出し、
前記読み出し要求の割合と、前記単位時間当たりに発行される入出力指標とを用いて、単位時間当たりに発行される読み出し要求の数を表す読み出し要求指標を算出し、
前記冗長化係数と、前記記憶装置係数と、前記相変化多重度と、前記読み出し要求指標とを用いて、前記読み出し要求に対する平均応答時間の予測値WRを算出する
処理を実行することを特徴とする性能評価支援方法。
(付記10)前記読み出し要求に対する平均応答時間の予測値WRは、前記冗長化係数と、前記記憶装置係数と、前記相変化多重度と、前記読み出し要求指標と、以下の式
(ここで、A:冗長化係数、α:記憶装置係数、ε:相変化多重度、XR:単位時間当たりに発行される読み出し要求数)
を用いて算出する
処理を実行することを特徴とする付記9に記載の性能評価支援方法。
(付記11)前記コンピュータは、さらに、
書き込み要求に対する応答時間を取得し、
前記読み出し要求の割合と、前記読み出し要求に対する平均応答時間の予測値と、前記書き込み要求に対する応答時間を用いて、前記ストレージ装置に対して発行される要求に対する平均応答時間の予測値を算出し、
前記要求に対する平均応答時間の予測値に、前記入出力指標を乗じて、前記ストレージ装置への読み出し要求または書き込み要求が単位時間当たりに重なる個数を表す多重度を算出する
処理を実行することを特徴とする付記9または10に記載の性能評価支援方法。
(付記12)前記冗長化係数及び前記記憶装置係数の算出において、読み出し要求時に、前記ストレージ装置が有する記憶装置から読み出される前記平均データ量を、前記読み出し要求または前記書き込み要求に応じて読み込まれるまたは書き込まれる記憶装置の個数の期待値に変換し、該期待値を用いて、前記冗長化係数及び前記記憶装置係数を算出する
ことを特徴とする付記9〜11のうちいずれか1項に記載の性能評価支援方法。
(付記1)コンピュータに、
ストレージ装置におけるデータ冗長化方式に関する冗長化方式情報と、該ストレージ装置が有する記憶装置の数と、該記憶装置の記憶領域のうち使用されている記憶領域の割合を表す使用率と、読み出し要求及び書き込み要求を含む要求に対する読み出し要求の割合と、読み出し要求に対して読み込まれるデータの平均データ量と、単位時間当たりに発行される要求の数を表す入出力指標と、前記ストレージ装置における書き込み要求に対する処理時間を表す定数と、前記記憶装置の種類によって決定される記憶装置定数とを取得させ、
前記冗長化方式情報と、前記記憶装置の数と、前記平均データ量を用いて、前記ストレージ装置のデータ冗長化方式に対する特徴量を示す冗長化係数を算出させ、
前記冗長化方式情報と、前記記憶装置の数と、前記平均データ量と、前記使用率と、前記記憶装置定数とを用いて、前記記憶装置の性能に対する特徴量を示す記憶装置係数を算出させ、
前記記憶装置係数と、前記冗長化係数と、前記読み出し要求の割合と、前記処理時間を表す定数とを用いて、前記入出力指標に対して応答時間が一定である低負荷相と、前記入出力指標に対して前記ストレージ装置への読み出し要求または書き込み要求が単位時間当たりに重なる個数を表す多重度が増加する高負荷相との境界となる多重度を示す相変化多重度を算出させ、
前記読み出し要求の割合と、前記単位時間当たりに発行される入出力指標とを用いて、単位時間当たりに発行される読み出し要求の数を表す読み出し要求指標を算出させ、
前記冗長化係数と、前記記憶装置係数と、前記相変化多重度と、前記読み出し要求指標とを用いて、前記読み出し要求に対する平均応答時間の予測値を算出させる
処理を実行させることを特徴とする性能評価支援プログラム。
(付記2)前記読み出し要求に対する平均応答時間の予測値WRは、前記冗長化係数と、前記記憶装置係数と、前記相変化多重度と、前記読み出し要求指標と、以下の式
を用いて算出される
ことを特徴とする付記1に記載の性能評価支援プログラム。
(付記3)前記コンピュータに、さらに、
書き込み要求に対する応答時間を取得させ、
前記読み出し要求の割合と、前記読み出し要求に対する平均応答時間の予測値と、前記書き込み要求に対する応答時間を用いて、前記ストレージ装置に対して発行される要求に対する平均応答時間の予測値を算出させ、
前記要求に対する平均応答時間の予測値に、前記入出力指標を乗じて、前記ストレージ装置への読み出し要求または書き込み要求が単位時間当たりに重なる個数を表す多重度を算出させる
処理を実行させることを特徴とする付記1または2に記載の性能評価支援プログラム。
(付記4)前記冗長化係数及び前記記憶装置係数の算出において、読み出し要求時に、前記ストレージ装置が有する記憶装置から読み出される前記平均データ量を、前記読み出し要求または前記書き込み要求に応じて読み込まれるまたは書き込まれる記憶装置の個数の期待値に変換し、該期待値を用いて、前記冗長化係数及び前記記憶装置係数を算出する
ことを特徴とする付記1〜3のうちいずれか1項に記載の性能評価支援プログラム。
(付記5)ストレージ装置におけるデータ冗長化方式に関する冗長化方式情報と、該ストレージ装置が有する記憶装置の数と、該記憶装置の記憶領域のうち使用されている記憶領域の割合を表す使用率と、読み出し要求及び書き込み要求を含む要求に対する読み出し要求の割合と、読み出し要求に対して読み込まれるデータの平均データ量と、単位時間当たりに発行される要求の数を表す入出力指標と、前記ストレージ装置における書き込み要求に対する処理時間を表す定数と、前記記憶装置の種類によって決定される記憶装置定数とを取得する取得部と、
前記冗長化方式情報と、前記記憶装置の数と、前記平均データ量を用いて、前記ストレージ装置のデータ冗長化方式に対する特徴量を示す冗長化係数を算出する冗長化係数算出部と、
前記冗長化方式情報と、前記記憶装置の数と、前記平均データ量と、前記使用率と、前記記憶装置定数とを用いて、前記記憶装置の性能に対する特徴量を示す記憶装置係数を算出する記憶装置係数算出部と、
前記記憶装置係数と、前記冗長化係数と、前記読み出し要求の割合と、前記処理時間を表す定数とを用いて、前記入出力指標に対して応答時間が一定である低負荷相と、前記入出力指標に対して前記ストレージ装置への読み出し要求または書き込み要求が単位時間当たりに重なる個数を表す多重度が増加する高負荷相との境界となる多重度を示す相変化多重度を算出する相変化多重度算出部と、
前記読み出し要求の割合と、前記単位時間当たりに発行される入出力指標とを用いて、単位時間当たりに発行される読み出し要求の数を表す読み出し要求指数を算出する読み出し要求数算出部と、
前記冗長化係数と、前記記憶装置係数と、前記相変化多重度と、前記読み出し要求指標とを用いて、前記読み出し要求に対する平均応答時間の予測値WRを算出する読み出し応答時間予測部と、
を備えることを特徴とする性能評価支援装置。
(付記6)前記読み出し応答時間予測部は、前記冗長化係数と、前記記憶装置係数と、前記相変化多重度と、前記読み出し要求指標と、以下の式
を用いて前記読み出し要求に対する平均応答時間の予測値WRを算出する
ことを特徴とする付記5に記載の性能評価支援装置。
(付記7)前記取得部は、さらに、書き込み要求に対する応答時間を取得し、
前記性能評価支援装置は、さらに、
前記読み出し要求の割合と、前記読み出し要求に対する平均応答時間の予測値と、前記書き込み要求に対する応答時間を用いて、前記ストレージ装置に対して発行される要求に対する平均応答時間の予測値を算出する応答時間予測部と、
前記要求に対する平均応答時間の予測値に、前記入出力指標を乗じて、前記ストレージ装置への読み出し要求または書き込み要求が単位時間当たりに重なる個数を表す多重度を算出する多重度算出部と、
を備えることを特徴とする付記5または6に記載の性能評価支援装置。
(付記8)前記性能評価支援装置は、さらに、
読み出し要求時に、前記ストレージ装置が有する記憶装置から読み出される前記平均データ量を、前記読み出し要求または前記書き込み要求に応じて読み込まれるまたは書き込まれる記憶装置の個数の期待値に変換する期待値変換部
を備え、
前記冗長化係数算出部及び前記記憶装置係数算出部は、前記期待値を用いて、前記冗長化係数及び前記記憶装置係数を算出する
ことを特徴とする付記5〜7のうちいずれか1項に記載の性能評価支援装置。
(付記9)コンピュータに実行されるストレージ装置の性能評価支援方法であって、
前記コンピュータは、
前記ストレージ装置におけるデータ冗長化方式に関する冗長化方式情報と、該ストレージ装置が有する記憶装置の数と、該記憶装置の記憶領域のうち使用されている記憶領域の割合を表す使用率と、読み出し要求及び書き込み要求を含む要求に対する読み出し要求の割合と、読み出し要求に対して読み込まれるデータの平均データ量と、単位時間当たりに発行される要求の数を表す入出力指標と、前記ストレージ装置における書き込み要求に対する処理時間を表す定数と、前記記憶装置の種類によって決定される記憶装置定数とを取得し、
前記冗長化方式情報と、前記記憶装置の数と、前記平均データ量を用いて、前記ストレージ装置のデータ冗長化方式に対する特徴量を示す冗長化係数を算出し、
前記冗長化方式情報と、前記記憶装置の数と、前記平均データ量と、前記使用率と、記憶装置定数とを用いて、前記記憶装置の性能に対する特徴量を示す記憶装置係数を算出し、
前記記憶装置係数と、前記冗長化係数と、前記読み出し要求の割合と、前記処理時間を表す定数とを用いて、前記入出力指標に対して応答時間が一定である低負荷相と、前記入出力指標に対して前記ストレージ装置への読み出し要求または書き込み要求が単位時間当たりに重なる個数を表す多重度が増加する高負荷相との境界となる多重度を示す相変化多重度を算出し、
前記読み出し要求の割合と、前記単位時間当たりに発行される入出力指標とを用いて、単位時間当たりに発行される読み出し要求の数を表す読み出し要求指標を算出し、
前記冗長化係数と、前記記憶装置係数と、前記相変化多重度と、前記読み出し要求指標とを用いて、前記読み出し要求に対する平均応答時間の予測値WRを算出する
処理を実行することを特徴とする性能評価支援方法。
(付記10)前記読み出し要求に対する平均応答時間の予測値WRは、前記冗長化係数と、前記記憶装置係数と、前記相変化多重度と、前記読み出し要求指標と、以下の式
を用いて算出する
処理を実行することを特徴とする付記9に記載の性能評価支援方法。
(付記11)前記コンピュータは、さらに、
書き込み要求に対する応答時間を取得し、
前記読み出し要求の割合と、前記読み出し要求に対する平均応答時間の予測値と、前記書き込み要求に対する応答時間を用いて、前記ストレージ装置に対して発行される要求に対する平均応答時間の予測値を算出し、
前記要求に対する平均応答時間の予測値に、前記入出力指標を乗じて、前記ストレージ装置への読み出し要求または書き込み要求が単位時間当たりに重なる個数を表す多重度を算出する
処理を実行することを特徴とする付記9または10に記載の性能評価支援方法。
(付記12)前記冗長化係数及び前記記憶装置係数の算出において、読み出し要求時に、前記ストレージ装置が有する記憶装置から読み出される前記平均データ量を、前記読み出し要求または前記書き込み要求に応じて読み込まれるまたは書き込まれる記憶装置の個数の期待値に変換し、該期待値を用いて、前記冗長化係数及び前記記憶装置係数を算出する
ことを特徴とする付記9〜11のうちいずれか1項に記載の性能評価支援方法。
1 性能評価支援装置
2 取得部
3 冗長化係数算出部
4 記憶装置係数算出部
5 相変化多重度算出部
6 読み出し要求数算出部
7 読み出し応答時間予測部
8 期待値変換部
9 応答時間予測部
10 多重度算出部
11 ホスト
12 RAIDシステム
13 RAIDコントローラ
14 READキャッシュ
15 WRITEキャッシュ
16 RAIDグループ
2 取得部
3 冗長化係数算出部
4 記憶装置係数算出部
5 相変化多重度算出部
6 読み出し要求数算出部
7 読み出し応答時間予測部
8 期待値変換部
9 応答時間予測部
10 多重度算出部
11 ホスト
12 RAIDシステム
13 RAIDコントローラ
14 READキャッシュ
15 WRITEキャッシュ
16 RAIDグループ
Claims (8)
- コンピュータに、
ストレージ装置におけるデータ冗長化方式に関する冗長化方式情報と、該ストレージ装置が有する記憶装置の数と、該記憶装置の記憶領域のうち使用されている記憶領域の割合を表す使用率と、読み出し要求及び書き込み要求を含む要求に対する読み出し要求の割合と、読み出し要求に対して読み込まれるデータの平均データ量と、単位時間当たりに発行される要求の数を表す入出力指標と、前記ストレージ装置における書き込み要求に対する処理時間を表す定数と、前記記憶装置の種類によって決定される記憶装置定数とを取得させ、
前記冗長化方式情報と、前記記憶装置の数と、前記平均データ量を用いて、前記ストレージ装置のデータ冗長化方式に対する特徴量を示す冗長化係数を算出させ、
前記冗長化方式情報と、前記記憶装置の数と、前記平均データ量と、前記使用率と、前記記憶装置定数とを用いて、前記記憶装置の性能に対する特徴量を示す記憶装置係数を算出させ、
前記記憶装置係数と、前記冗長化係数と、前記読み出し要求の割合と、前記処理時間を表す定数とを用いて、前記入出力指標に対して応答時間が一定である低負荷相と、前記入出力指標に対して前記ストレージ装置への読み出し要求または書き込み要求が単位時間当たりに重なる個数を表す多重度が増加する高負荷相との境界となる多重度を示す相変化多重度を算出させ、
前記読み出し要求の割合と、前記単位時間当たりに発行される入出力指標とを用いて、単位時間当たりに発行される読み出し要求の数を表す読み出し要求指標を算出させ、
前記冗長化係数と、前記記憶装置係数と、前記相変化多重度と、前記読み出し要求指標とを用いて、読み出し要求に対する平均応答時間の予測値を算出させる
処理を実行させることを特徴とする性能評価支援プログラム。 - 前記読み出し要求に対する平均応答時間の予測値WRは、前記冗長化係数と、前記記憶装置係数と、前記相変化多重度と、前記読み出し要求指標と、以下の式
を用いて算出されることを特徴とする請求項1記載の性能評価支援プログラム。 - 前記コンピュータに、さらに、
書き込み要求に対する応答時間を取得させ、
前記読み出し要求の割合と、前記読み出し要求に対する平均応答時間の予測値と、前記書き込み要求に対する応答時間を用いて、前記ストレージ装置に対して発行される要求に対する平均応答時間の予測値を算出させ、
前記要求に対する平均応答時間の予測値に、前記入出力指標を乗じて、前記ストレージ装置への読み出し要求または書き込み要求が単位時間当たりに重なる個数を表す多重度を算出させる
処理を実行させることを特徴とする請求項1または2に記載の性能評価支援プログラム。 - 前記冗長化係数及び前記記憶装置係数の算出において、読み出し要求時に、前記ストレージ装置が有する記憶装置から読み出される前記平均データ量を、前記読み出し要求または前記書き込み要求に応じて読み込まれるまたは書き込まれる記憶装置の個数の期待値に変換し、該期待値を用いて、前記冗長化係数及び前記記憶装置係数を算出する
ことを特徴とする請求項1〜3のうちいずれか1項に記載の性能評価支援プログラム。 - ストレージ装置におけるデータ冗長化方式に関する冗長化方式情報と、該ストレージ装置が有する記憶装置の数と、該記憶装置の記憶領域のうち使用されている記憶領域の割合を表す使用率と、読み出し要求及び書き込み要求を含む要求に対する読み出し要求の割合と、読み出し要求に対して読み込まれるデータの平均データ量と、単位時間当たりに発行される要求の数を表す入出力指標と、前記ストレージ装置における書き込み要求に対する処理時間を表す定数と、前記記憶装置の種類によって決定される記憶装置定数とを取得する取得部と、
前記冗長化方式情報と、前記記憶装置の数と、前記平均データ量を用いて、前記ストレージ装置のデータ冗長化方式に対する特徴量を示す冗長化係数を算出する冗長化係数算出部と、
前記冗長化方式情報と、前記記憶装置の数と、前記平均データ量と、前記使用率と、前記記憶装置定数とを用いて、前記記憶装置の性能に対する特徴量を示す記憶装置係数を算出する記憶装置係数算出部と、
前記記憶装置係数と、前記冗長化係数と、前記読み出し要求の割合と、前記処理時間を表す定数とを用いて、前記入出力指標に対して応答時間が一定である低負荷相と、前記入出力指標に対して前記ストレージ装置への読み出し要求または書き込み要求が単位時間当たりに重なる個数を表す多重度が増加する高負荷相との境界となる多重度を示す相変化多重度を算出する相変化多重度算出部と、
前記読み出し要求の割合と、前記単位時間当たりに発行される入出力指標とを用いて、単位時間当たりに発行される読み出し要求の数を表す読み出し要求指数を算出する読み出し要求数算出部と、
前記冗長化係数と、前記記憶装置係数と、前記相変化多重度と、前記読み出し要求指標とを用いて、読み出し要求に対する平均応答時間の予測値を算出する読み出し応答時間予測部と、
を備えることを特徴とする性能評価支援装置。 - 前記読み出し応答時間予測部は、前記冗長化係数と、前記記憶装置係数と、前記相変化多重度と、前記読み出し要求指標と、以下の式
を用いて前記読み出し要求に対する平均応答時間の予測値WRを算出する
ことを特徴とする請求項5に記載の性能評価支援装置。 - コンピュータに実行されるストレージ装置の性能評価支援方法であって、
前記コンピュータは、
前記ストレージ装置におけるデータ冗長化方式に関する冗長化方式情報と、該ストレージ装置が有する記憶装置の数と、該記憶装置の記憶領域のうち使用されている記憶領域の割合を表す使用率と、読み出し要求及び書き込み要求を含む要求に対する読み出し要求の割合と、読み出し要求に対して読み込まれるデータの平均データ量と、単位時間当たりに発行される前記要求の数を表す入出力指標と、前記ストレージ装置における書き込み要求に対する処理時間を表す定数と、前記記憶装置の種類によって決定される記憶装置定数とを取得し、
前記冗長化方式情報と、前記記憶装置の数と、前記平均データ量を用いて、前記ストレージ装置のデータ冗長化方式に対する特徴量を示す冗長化係数を算出し、
前記冗長化方式情報と、前記記憶装置の数と、前記平均データ量と、前記使用率と、前記記憶装置定数とを用いて、前記記憶装置の性能に対する特徴量を示す記憶装置係数を算出し、
前記記憶装置係数と、前記冗長化係数と、前記読み出し要求の割合と、前記処理時間を表す定数とを用いて、前記入出力指標に対して応答時間が一定である低負荷相と、前記入出力指標に対して前記ストレージ装置への読み出し要求または書き込み要求が単位時間当たりに重なる個数を表す多重度が増加する高負荷相との境界となる多重度を示す相変化多重度を算出し、
前記読み出し要求の割合と、前記単位時間当たりに発行される入出力指標とを用いて、単位時間当たりに発行される読み出し要求の数を表す読み出し要求指標を算出し、
前記冗長化係数と、前記記憶装置係数と、前記相変化多重度と、前記読み出し要求指標とを用いて、前記読み出し要求に対する平均応答時間の予測値を算出する
処理を実行することを特徴とする性能評価支援方法。 - 前記読み出し要求に対する平均応答時間の予測値WRは、前記冗長化係数と、前記記憶装置係数と、前記相変化多重度と、前記読み出し要求指標と、以下の式
を用いて算出する
処理を実行することを特徴とする請求項7に記載の性能評価支援方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013048485A JP2014174844A (ja) | 2013-03-11 | 2013-03-11 | 性能評価支援プログラム、性能評価支援装置及び性能評価支援方法 |
US14/166,894 US20140258647A1 (en) | 2013-03-11 | 2014-01-29 | Recording medium storing performance evaluation assistance program, performance evaluation assistance apparatus, and performance evaluation assistance method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013048485A JP2014174844A (ja) | 2013-03-11 | 2013-03-11 | 性能評価支援プログラム、性能評価支援装置及び性能評価支援方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2014174844A true JP2014174844A (ja) | 2014-09-22 |
Family
ID=51489361
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013048485A Pending JP2014174844A (ja) | 2013-03-11 | 2013-03-11 | 性能評価支援プログラム、性能評価支援装置及び性能評価支援方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20140258647A1 (ja) |
JP (1) | JP2014174844A (ja) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014174845A (ja) * | 2013-03-11 | 2014-09-22 | Fujitsu Ltd | 性能評価支援プログラム、性能評価支援装置及び性能評価支援方法 |
US9569118B2 (en) | 2014-12-30 | 2017-02-14 | International Business Machines Corporation | Promoting consistent response times in a data storage system having multiple data retrieval mechanisms |
WO2017119098A1 (ja) * | 2016-01-07 | 2017-07-13 | 株式会社日立製作所 | 計算機システム及び計算機の制御方法 |
CN114546279B (zh) * | 2022-02-24 | 2023-11-14 | 重庆紫光华山智安科技有限公司 | Io请求预测方法、装置、存储节点及可读存储介质 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7099816B2 (en) * | 2002-06-17 | 2006-08-29 | International Business Machines Corporation | Method, system and article of manufacture for an analytic modeling technique for handling multiple objectives |
JP5471859B2 (ja) * | 2010-06-10 | 2014-04-16 | 富士通株式会社 | 解析プログラム、解析方法、および解析装置 |
-
2013
- 2013-03-11 JP JP2013048485A patent/JP2014174844A/ja active Pending
-
2014
- 2014-01-29 US US14/166,894 patent/US20140258647A1/en not_active Abandoned
Also Published As
Publication number | Publication date |
---|---|
US20140258647A1 (en) | 2014-09-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10168946B2 (en) | Extent migration in multi-tier storage systems | |
Gulati et al. | BASIL: Automated IO Load Balancing Across Storage Devices. | |
US10324633B2 (en) | Managing SSD write quotas in data storage systems | |
JP2014174845A (ja) | 性能評価支援プログラム、性能評価支援装置及び性能評価支援方法 | |
Gulati et al. | Pesto: online storage performance management in virtualized datacenters | |
US10339455B1 (en) | Techniques for determining workload skew | |
US10318163B2 (en) | Balancing SSD wear in data storage systems | |
US10338825B2 (en) | Managing SSD wear rate in hybrid storage arrays | |
US20200242000A1 (en) | Run-time determination of application performance with low overhead impact on system performance | |
Gulati et al. | Modeling workloads and devices for io load balancing in virtualized environments | |
US20100257306A1 (en) | Metrics and management for flash memory storage life | |
US20110252210A1 (en) | Method and apparatus for rebalancing storage components within a storage tier | |
US20150127905A1 (en) | Cache Modeling Using Random Sampling and a Timestamp Histogram | |
JP2013164821A (ja) | 評価支援プログラム、評価支援方法および評価支援装置 | |
US8332586B2 (en) | Information processing system for measuring the cache effect in a virtual capacity | |
Park et al. | Romano: autonomous storage management using performance prediction in multi-tenant datacenters | |
JP2014174844A (ja) | 性能評価支援プログラム、性能評価支援装置及び性能評価支援方法 | |
JP2023553316A (ja) | ストレージシステム最適化を使用したアプリケーション性能の強化 | |
US20190317670A1 (en) | Distributing data across a mixed data storage center | |
WO2013114911A1 (ja) | リスク評価システム、リスク評価方法、及びプログラム | |
US11144427B2 (en) | Storage system performance models based on empirical component utilization | |
JP2013058169A (ja) | ディスクアレイ装置及びディスクアレイ装置制御方法 | |
US11853656B1 (en) | Data storage system modeling using application service level objectives and specified workload limits for storage tiers | |
JP2018136893A (ja) | ストレージ制御装置、ストレージ制御プログラム、及びストレージ制御方法 | |
US11507327B1 (en) | System and method of estimating performance headroom in a storage system |