JP2004185327A - Information processor, program, information processing system and control method for information processor - Google Patents
Information processor, program, information processing system and control method for information processor Download PDFInfo
- Publication number
- JP2004185327A JP2004185327A JP2002351663A JP2002351663A JP2004185327A JP 2004185327 A JP2004185327 A JP 2004185327A JP 2002351663 A JP2002351663 A JP 2002351663A JP 2002351663 A JP2002351663 A JP 2002351663A JP 2004185327 A JP2004185327 A JP 2004185327A
- Authority
- JP
- Japan
- Prior art keywords
- path
- data input
- logical
- information processing
- storage device
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Abstract
Description
【0001】
【発明の属する技術分野】
本発明は、情報処理装置、プログラム、情報処理システム、及び情報処理装置の制御方法に関する。
【0002】
【従来の技術】
近年コンピュータシステムで取り扱われるデータ量が増大しており、記憶装置の大容量化が進んでいる。大容量の記憶装置では記憶容量に見合うだけの入出力性能と信頼性を確保することが必要である。そのため記憶装置への入出力経路を多重化し、入出力性能の向上と信頼性の向上を図る技術が開発されている。
【0003】
記憶装置への入出力経路を多重化した場合、コンピュータでは、記憶装置へのデータ入出力要求を各入出力経路に振り分ける処理を行うことが必要となる。従来の技術では、各入出力経路にかかる負荷を分散させるために、各入出力経路に均等にデータ入出力要求を振り分けるようにしていた。振り分け方法としては、各入出力経路を順番に指定するラウンドロビン方式が採用されていた。
【0004】
【特許文献1】
特開2001−325207号公報
【0005】
【発明が解決しようとする課題】
しかしながら、記憶装置へのデータ入出力要求はどれも同じではなく、データ入出力要求を発行するアプリケーションプログラムにより、優先度の高いものや低いものがある。従来の技術では、記憶装置へのデータ入出力要求をラウンドロビン方式により各入出力経路に振り分けていたため、例えば記憶装置へのデータ入出力要求が殺到した場合に、優先度の高いデータ入出力要求を優先して記憶装置へ送信することができなかった。
【0006】
そこで本発明は、データ入出力要求増加時に優先度の高いデータ入出力要求を優先させることのできる情報処理装置、プログラム、情報処理システム、及び情報処理装置の制御方法を提供することを主たる目的とする。
【0007】
【課題を解決するための手段】
記憶デバイスへデータ入出力要求を送信するために、前記記憶デバイスとの間に論理的な経路である論理パスを複数設定する手段と、前記データ入出力要求に記述されている前記記憶デバイスにより提供される記憶領域のうちの特定の記憶領域を指定するための情報と前記論理パスとを対応付ける手段と、前記各論理パスの使用率を判定値と比較する手段と、前記比較の結果に応じて、前記データ入出力要求を、前記情報に対応付けられている前記論理パスを介して前記記憶デバイスに送信する制御に切り替える手段とを備えることを特徴とする情報処理装置に関する。
その他、本願が開示する課題、及びその解決方法は、発明の実施の形態の欄、及び図面により明らかにされる。
【0008】
【発明の実施の形態】
===全体構成例===
以下、本発明の実施の形態について図面を用いて詳細に説明する。
まず、本実施の形態に係る情報処理システム(コンピュータシステム)の全体構成を示すブロック図を図1に示す。
【0009】
情報処理装置(ホスト)100はCPU(Central Processing Unit)やメモリを備え、各種アプリケーションプログラムを実行する。例えば銀行の自動預金預け払いシステムや航空機の座席予約システム等のプログラムを実行する。また情報処理装置100は、上記アプリケーションプログラムを実行する際に記憶装置(記憶デバイス、ストレージ)200が記憶しているデータにアクセスする。上記データアクセスは、情報処理装置100と記憶装置200との間でデータ転送を行うためにハードウェアにより物理的に構成されるデータ転送路である物理パスに対応付けられている論理パスを転送経路として行われる。情報処理装置100と記憶装置200とを接続する4本の接続部301乃至304は、それぞれ上記物理パスを構成する。また、IF1(141)乃至IF4(144)は記憶装置200との間の通信インタフェースである。IF1(141)乃至IF4(144)はそれぞれ接続部1(301)乃至接続部4(304)と共に物理パスを構成する。
【0010】
記憶装置200は論理ユニット220、ディスク制御部210を備える。論理ユニット220は、情報処理装置100に提供される記憶資源を論理的に区分して構成される記憶領域である。図1に示す記憶装置200には、LU(Logical Unit)1(221)とLU2(222)の2つの論理ユニットが備えられている。記憶資源としては、例えばハードディスク装置やフレキシブルディスク装置、半導体記憶装置等様々なものを用いることができる。ディスク制御部210は情報処理装置100からのデータ入出力要求を受け、論理ユニット220に記憶されているデータのアクセスを制御する。ディスク制御部210は図1に示すように記憶装置200と一体型とすることもできるし、別体型とすることもできる。また図1においては2つの論理ユニットが記されているが、1つの論理ユニット220を複数のパーティションに分割した形態とすることもできる。パーティションとは論理ユニット220を論理的に区分して構成される記憶領域のことである。
【0011】
情報処理装置100においては様々なアプリケーションプログラム110が実行される。図1に示す情報処理装置100においてはAP1(111)及びAP2(112)の2つが実行されている。AP1(111)及びAP2(112)は共に記憶装置200に記憶されているデータへのアクセスを適宜行いながら所定の処理を実行する。通常、情報処理装置100で実行される各アプリケーションプログラム110にはそれぞれがアクセス可能な論理ユニット220が割り当てられている。ここではAP1(111)にはLU1(221)が割り当てられ、AP2(112)にはLU2(222)が割り当てられているものとする。もちろん、例えばAP1(111)にLU1(221)とLU2(222)の両方を割り当てるようにすることもできる。
【0012】
AP1(111)及びAP2(112)からのデータアクセス要求は、上記論理パスを転送経路として送信される。上記データアクセス要求は、パス管理フィルタドライバ120により論理パス毎に転送経路を振り分けられて記憶装置200に送信される。振り分けは、データアクセス要求に記載されている当該データアクセス要求の送信先である論理ユニットを指定するための情報に基づいて行われる。図1においては、AP1(111)からのデータアクセス要求が”▲1▼”及び”▲2▼”で示され、AP2(112)からのデータアクセス要求が”1”及び”2”で示されている。それぞれのデータアクセス要求(▲1▼、▲2▼、1、2)は、所定のデータ長毎に分割(図1では4つに分割)された上で、論理パス毎に転送経路を振り分けられる。振り分けられたデータアクセス要求は、それぞれの論理パスに対応する物理パス毎に設けられた入出力キュー131乃至134に記憶される。そして順次インタフェース部141乃至144から記憶装置200へ送信される。
【0013】
パス管理フィルタドライバ120は、情報処理装置100と記憶装置200との間のデータ転送経路を多重化するためのプログラムである。情報処理装置100と記憶装置200との間のデータ転送経路を多重化することにより、データアクセスにおけるボトルネックを解消しデータ入出力処理性能を向上させることができる。データアクセス要求を各データ転送経路へ適宜振り分けることによって負荷分散も行う。またデータ転送経路に障害が発生した場合には、当該データ転送経路を閉塞し正常なデータ転送経路により記憶装置200へのデータアクセスを継続する機能を有するようにすることもできる。これにより、データ転送経路障害によるサービス停止を回避しシステムの信頼性を高めることができる。
【0014】
なお、情報処理装置100で実行されるオペレーティングシステムによっては、記憶装置200との間を複数の論理パスで接続されることに対する考慮がなされていないものがある。このようなオペレーティングシステムを情報処理装置100で実行している場合に、情報処理装置100と記憶装置200との間を複数の論理パスで接続すると、アプリケーションプログラム110には、記憶装置200上に存在する1つの論理ユニット220が論理パス毎に存在するかのように見えてしまうという問題が生じる。これを回避するため、パス管理フィルタドライバ120は論理パス毎に見える本来一つの論理ユニット220を一つに統合してアプリケーションプログラム110に見せる機能も有している。
【0015】
===データ入出力要求の特性について===
次に、本実施の形態に係る情報処理装置100において実行されるAP1(111)及びAP2(112)の入出力特性を示す図を図2に示す。
図2は、横軸に「曜日」、縦軸に「データ入出力要求回数(IO要求回数)」をとり、AP1(111)及びAP2(112)のそれぞれのデータ入出力要求回数をグラフに表したものである。
【0016】
図2に示すように、AP1(111)とAP2(112)とでは記憶装置200へのデータアクセス特性が大きく異なる。すなわちAP1(111)は特定の時期(金曜日)にアクセスが集中する特性を有し(113)、AP2(112)は比較的一定のデータアクセス特性を有する(114)。
ここで、上述したようにAP1(111)はLU1(221)に記憶されているデータをアクセスし、AP2(112)はLU2(222)に記憶されているデータをアクセスするが、どちらも4本の接続部301乃至304を共通に使用する。
【0017】
この場合、AP1(111)により行われる処理が優先度の高いものである場合、例えば銀行の自動預金預け払いシステムのように待ち時間の少ない迅速な処理が求められるものである場合には、AP1(111)及びAP2(112)からのデータ入出力要求を各論理パスに均等に振り分けてしまうと、4本の物理パスをAP1(111)とAP2(112)とで共用していることがボトルネックとなり、AP1(111)により行われるデータ入出力処理が滞ることが想定される。
【0018】
従来のパス管理フィルタドライバ120では、アプリケーションプログラム110からのデータ入出力要求を各論理パスにラウンドロビン方式で均等に振り分けるようにしていた。そのため、各アプリケーションプログラム110からのデータ入出力要求の優先度を考慮した振り分けを行うことができなかった。
【0019】
===データ入出力要求の振り分けについて===
パス管理フィルタドライバ120により、AP1(111)及びAP2(112)からのデータ入出力要求が4本の接続部301乃至304に均等に振り分けられている様子を図3に示す。図3においては、AP1(111)及びAP2(112)からのデータ入出力要求(▲1▼、▲2▼、▲3▼、1、2)が所定のデータ長毎に5つに分割された上で入出力キュー131乃至134に均等に振り分けられている様子が示されている。
【0020】
この場合、AP1(111)からのデータ入出力処理(▲1▼、▲2▼、▲3▼)を迅速に行わなければならないにも拘わらず、AP2(112)からのデータ入出力処理(1、2)と均等に割り振られる結果、AP1(111)からのデータ入出力処理が遅れてしまっている。
【0021】
===パスの優先化処理について===
これを改善するために、本実施の形態に係る情報処理装置100においてパスの優先化を実施した場合の入出力キュー130の様子を図4に示す。パスの優先化は、指定した物理パスを優先度の高いデータ入出力要求が優先的に使用できるように、パス管理フィルタドライバ120がデータ入出力要求を各論理パスに振り分けることにより行われる。
【0022】
図4においては、LU1(221)へのデータ入出力要求(▲1▼、▲2▼、▲3▼)は、接続部1(301)乃至接続部3(303)を占有するように振り分けられている。接続部4(304)はその他の論理ユニット、すなわちLU1(221)以外の論理ユニット(ここではLU2(222))へのデータ入出力要求に対して割り振られている。
【0023】
このように、AP1(111)からのデータ入出力要求が増加し入出力処理の遅れが発生しそうな場合にパスの優先化を実施することにより、入出力処理の遅れを回避することが可能となる。パスの優先化を実施するための具体的手段については後述する。
【0024】
===情報処理装置の詳細な構成例===
次に、本実施の形態に係る情報処理装置100におけるデータ入出力処理を説明するためのブロック図を図5に示す。
AP1(111)とAP2(112)は、ファイルシステム240を介して記憶装置200に設定されている論理ユニット220にアクセスする。ファイルシステム240は通常オペレーティングシステムの持つ機能の一つとして提供され、記憶装置200により提供される記憶領域を管理する。すなわち、記憶装置200により提供される記憶領域上の論理ブロック内にファイルという抽象概念を実現し、ファイルに対するデータ入出力要求を論理ブロックアドレス単位のデータ入出力要求に対応させる。
【0025】
パス管理フィルタドライバ120は、ファイルシステム240を介してアプリケーションプログラム110から出されたデータ入出力要求を論理パス毎に振り分ける。
上記振り分けられたデータ入出力要求は、ディスクドライバ160及びIF(Inter Face)ドライバ170を介してIF1(141)乃至IF4(144)から記憶装置200に送信される。ディスクドライバ160はブロックモードのデバイスを論理ディスクとして抽象化する。IFドライバ170はデータ入出力要求を所定の通信プロトコルのパケットに変換・復元する。通信プロトコルとしては例えばファイバチャネルを採用することができる。
【0026】
上記データ入出力要求は、4本の接続部301乃至304を含むハードウェアにより構成される物理パスにより情報処理装置100から記憶装置200へ送信される。一方、前述した通り上記物理パス上には論理パスが対応付けられている。論理パスはソフトウェアにより論理的に構成されるデータ転送路である。図5において論理パスは801乃至808で示される。論理パスはLU毎に設けられる。論理パス801乃至808を定義するための要素については後述する。
【0027】
図5においては、論理パス1(801)及び論理パス5(805)が接続部1(301)を含むデータ転送路である物理パス1に対応付けられている。論理パス2(802)及び論理パス6(806)が接続部2(302)を含むデータ転送路である物理パス2に対応付けられている。論理パス3(803)及び論理パス7(807)が接続部3(303)を含むデータ転送路である物理パス3に対応付けられている。論理パス4(804)及び論理パス8(808)が接続部4(304)を含むデータ転送路である物理パス4に対応付けられている。
【0028】
情報処理装置100と記憶装置200との間は、図5に示すようにSAN(Storage Area network)700で接続される形態とすることもできるし、図1に示すように直接に接続される形態とすることもできる。
【0029】
IF1(141)乃至IF4(144)から送信されたデータ入出力要求は、記憶装置200のディスク制御部1(211)又はディスク制御部2(212)に送られる。そしてディスク制御部1(211)又はディスク制御部2(212)の制御の下、論理ユニット220へのデータアクセスが行われる。
【0030】
パス管理フィルタドライバ120は、ロジック部124が備えるLU管理表600により、ファイルシステム240からのデータ入出力要求をどこの論理パスに出すかを決定する。すなわち、通常は負荷分散のために4本の接続部301乃至304を均等に使用するようにラウンドロビン方式で振り分けるが、前述したように特定のLUに対するデータ入出力要求が増加した場合には、当該LUに対するデータ入出力要求が優先的に接続部を使用できるように上記振り分け方を切り替える。
【0031】
ドライバ管理プログラム121は、ドライバUI(User Interface)プログラム122及びドライバAPI(Application Program Interface)プログラム123と共に、パス管理フィルタドライバ120を管理する。例えばLU管理表600の更新を行う。ドライバUIプログラム122は、ドライバ管理プログラム121を介してパス管理フィルタドライバ120の設定を行う際のユーザインタフェースを提供するためのプログラムである。ドライバAPIプログラム123は、ドライバUIプログラム122を用いてパス管理フィルタドライバ120を設定する際に使用可能な命令や関数を集めたプログラムである。これらのプログラムは、以下に説明される本実施の形態に係る各種の動作を行うためのコードから構成されている。
【0032】
IO(Input/Output)実績表400は、情報処理装置100と記憶装置200との間で行われるデータ入出力処理の回数を記録したテーブルである。データ入出力処理の回数の計測は、定期的にあるいは不定期にパス管理フィルタドライバ120により行われる。そしてドライバ管理プログラム121は、パス管理フィルタドライバ120により計測された所定期間内のデータ入出力処理の回数を取得し、IO実績表400に反映する。
【0033】
閾値設定表500は、オペレータがドライバUIプログラム122を介して入力したデータに基づき、ドライバ管理プログラム121により設定されるテーブルである。
【0034】
ドライバ管理プログラム121は、IO実績表400に記録された上記データ入出力処理の回数と閾値設定表500に設定された閾値(判定値)とを比較する。IO実績表400に記録されたデータ入出力回数が閾値設定表500に設定された判定値を超えた場合には、パス管理フィルタドライバ120がLU管理表600に従って行うデータ入出力要求の振り分けを切り替える。
【0035】
===論理パスを定義するための要素について===
次に、上記論理パス801乃至808を定義するための要素について図6に示す。図6に示すように、論理パスはHLU(Host Logical Unit)223、TID(Target ID)181、Bus182、HPort(Host bus adapter Port)180、DPort(Disk controller Port)230、ディスク制御部210、及びLU220のハードウェアまたはソフトウェアを特定することにより定義される。HLU223、TID181、Bus182、HPort180はSCSI(Small Computer Systems Interface)通信規格で用いられる概念であり、それぞれホスト論理ユニット、ターゲットID、論理バス、ホストバスアダプタ側ポートを示す。DPort230はディスク制御部のポートを示す。もちろん論理パスの定義は必ず上記要素によらなければならない訳ではなく、システムにより上記要素のいずれかは不要とすることもできるし、上記以外の要素により論理パスを定義することもできる。これらの要素を特定することにより論理パスが定義され、当該各要素を論理的に設定している物理パスと論理パスとの対応付けが行われる。
【0036】
なお、図6に示すように情報処理装置100と記憶装置200とを接続するパスが複数ある場合には記憶装置200上の一つのLU220がパス毎に存在しているかのように見えてしまうが、図4に示すように、パス管理フィルタドライバ120を介することによりユーザへは一つの論理ユニットとして見せることが可能となる。
【0037】
===情報処理装置の他の構成例===
次に、図5に示した情報処理装置100と一部構成の異なるものを図7に示す。
すなわち図5における情報処理装置100では、ディスクドライバ160はパス管理フィルタドライバ120からデータ入出力要求を受け取り、ブロックモードのデバイスを論理ディスクとして抽象化した後にIFドライバ170に引き渡す。しかしながらオペレーティングシステムによっては、ディスクドライバ160をファイルシステム240とパス管理フィルタドライバ120との間に介在させる必要のあるものもある。図7に示したのはかかる場合の例である。図5の形態と図7の形態とはオペレーティングシステムの違いによって生じるものであって、どちらの形態も本発明の実施形態の一つである。
【0038】
===IO実績表について===
次に、本実施の形態に係るIO実績表400を図8に示す。
上述したようにIO実績表400は情報処理装置100と記憶装置200との間で行われるデータ入出力処理の回数を記録したテーブルである。図8に示すように、IO実績表400は曜日別に論理パス毎のデータ入出力要求の回数が集計されたものである。なお、図8において記載されている物理パス1乃至4とは、それぞれ接続部1乃至4を含むハードウェアにより物理的に構成されるデータ転送路のことである。
【0039】
論理パス1(801)乃至論理パス4(804)は、それぞれ物理パス1乃至物理パス4を介してLU1(221)に記憶されているデータをアクセスするためのパスである。LU1(221)に記憶されているデータをアクセスするのはAP1(111)であるので、上記論理パス1(801)乃至論理パス4(804)は、AP1(111)からのデータアクセス要求が使用するパスである。
【0040】
論理パス5(805)乃至論理パス8(808)は、それぞれ物理パス1乃至物理パス4を介してLU2(222)に記憶されているデータをアクセスするためのパスである。LU2(222)に記憶されているデータをアクセスするのはAP2(112)であるので、上記論理パス5(805)乃至論理パス8(808)は、AP2(112)からのデータアクセス要求が使用するパスである。
【0041】
ドライバ管理プログラム121は、パス管理フィルタドライバ120が計測したデータ入出力処理の回数を取得しIO実績表400に反映する。データ入出力処理の回数の取得は、定期的に行うようにすることもできるし不定期に行うようにすることもできる。定期的に行う場合には、例えば1分毎に行うようにすることもできるし1時間毎に行うようにすることもできる。不定期に行う場合には、例えばオペレータからの指示があった際に行うようにすることもできる。
【0042】
IO実績表400に記録されるデータ入出力の回数は、ドライバ管理プログラム121がパス管理フィルタドライバ120から取得したデータ入出力の回数をそのまま記録するようにすることもできるし、その日一日の累計を記録するようにすることもできる。さらにデータ入出力回数の平均値を記録するようにすることもできる。
【0043】
===閾値設定表について===
次に、本実施の形態に係る閾値設定表を図9に示す。
上述したように、閾値設定表500は、オペレータがドライバUIプログラム122を介して入力したデータに基づき、ドライバ管理プログラムにより設定されるテーブルである。図9に示すように閾値設定表500は物理パス毎に設定される。
【0044】
設定項目は、毎分のデータ入出力の回数に対する閾値(判定値)、上記毎分のデータ入出力処理が閾値を超えた場合にアクセスを優先させる論理ユニット、及び上記アクセス優先処理を実施する曜日指定である。
【0045】
図9においては、物理パス1乃至物理パス3に対して、データ入出力処理の回数が閾値を超えた場合の優先処理の設定がなされている。これにより、金曜日に物理パス1乃至物理パス3のいずれかを使用して行われるLU1(221)へのデータアクセス要求が毎分200回を超えた場合には、LU1(221)に対するデータ入出力要求は当該物理パスを優先的に使用することができるようになる。これにより、LU1(221)へのデータアクセス要求を迅速に行うことが可能となる。
【0046】
毎分のデータ入出力処理の回数が上記閾値を超えない場合には、物理パス1乃至物理パス3を使用して行えるデータ入出力処理はLU1(221)に対するものに限定されない。この場合、パス管理フィルタドライバ120は全ての物理パス、すなわち物理パス1乃至物理パス4に対して均等に、データ入出処理要求を振り分ける。
【0047】
一方、物理パス4に対しては閾値の設定がなされていない。この場合、物理パス1乃至物理パス3に対するデータ入出力処理の回数が上記設定された閾値を超えない場合には、パス管理フィルタドライバ120は、物理パス1乃至物理パス4に対して均等にデータ入出処理要求を振り分けるが、物理パス1乃至物理パス3のいずれかに対するデータ入出力処理要求の回数が上記設定された閾値を超えた場合には、物理パス4を使用して行えるデータ入出力要求は、LU1(221)以外に対するもの(ここではLU2(222)に対するもの)になる。LU1(221)に対するデータ入出力要求は物理パス1乃至物理パス3を占有して送信されるからである。
【0048】
ただしこの場合、LU1(221)へのデータ入出力要求に対し、物理パス1乃至物理パス3のみならず物理パス4も使用可能とすることもできる。この場合物理パス4には、LU1(221)に対するものと、LU1(221)以外に対するもの(ここではLU2(222)に対するもの)の両方のデータ入出力要求が送信されることになる。
【0049】
また図9においては、各物理パスには優先LUが一つずつしか記載されていないが、複数の優先LUを指定するようにすることもできる。この場合は優先LU毎に閾値を設定するようにすることができる。また有効日欄には一つの曜日しか指定されていないが、複数の曜日を指定するようにすることもできる。その他、「曜日」による指定ではなく「日付」による指定や「休祝日の前日」といった指定ができるようにすることもできる。また閾値は毎分の入出力回数以外にも毎時間の入出力回数やその日の始業からの入出力回数の累計とすることもできる。
【0050】
===LU管理表について===
次に、本実施の形態におけるLU管理表600を図10に示す。
LU管理表600は、パス管理フィルタドライバ120がデータ入出力要求を論理パスに振り分ける際に参照される表である。
【0051】
図10において”ON”と記載されている場合には当該論理パスを使用可能であることを表し、”OFF” と記載されている場合には当該論理パスを使用不可能であることを表す。図10においては、LU1(221)へのデータ入出力要求は論理パス1(801)乃至4(804)が使用可能であり、LU2(222)へのデータ入出力要求は論理パス5(805)乃至8(808)が使用可能であることが示されている。論理パス1(801)乃至4(804)及び論理パス5(805)乃至8(808)はそれぞれ物理パス1乃至4上に設定された論理パスである。
【0052】
LU管理表600が図10の様に設定されている場合には、パス管理フィルタドライバ120は、ファイルシステム240からのデータ入出力要求を4つの物理パス1乃至4を均等に使用するようにラウンドロビン方式で各論理パスに振り分ける。すなわちパスの優先化は実施されない。
【0053】
これに対しパスの優先化を実施する場合には、図11に示すように、使用させたくない論理パスについて”OFF”を設定する。
図11においては、論理パス4(804)乃至7(807)が使用不可能に設定されている。このとき、LU1(221)へのデータ入出力要求は論理パス1(801)乃至3(803)のみが使用可能であり、LU2(222)へのデータ入出力要求は論理パス8(808)のみが使用可能である。
【0054】
このようにLU管理表600は、データ入出力要求のあて先であるLUと当該データ入出力要求が使用する論理パスとを対応付けるものである。これにより、データ入出力要求に記述されているLUを指定するための情報に基づいて、当該データ入出力要求を論理パスに振り分けることができる。そして上述の様に、LU1(221)へのデータ入出力要求を物理パス1乃至3を占有させるように各論理パスへ振り分けることが可能となる。
【0055】
===パスの優先化処理===
IO実績表400に記録されているデータ入出力要求の回数が閾値設定表500に設定された閾値を超えた場合には、図10に示したLU管理表600から図11に示したLU管理表600への切り替えが行われ、パスの優先化が実施される。
【0056】
本実施の形態におけるパスの優先化を行うためにドライバ管理プログラム121により実行される処理の流れを示すフローチャートを図12乃至図13に示す。
まず、ドライバ管理プログラム121は閾値設定表500を作成する(S1000)。作成はドライバ管理プログラム121の起動時に行われ、ドライバUIプログラム122を用いてオペレータにより設定された閾値や優先LU等を取得することにより行われる。
次にIO実績表400を作成する(S1001)。作成はパス管理フィルタドライバ120が計測しているデータ入出力処理の回数を取得することにより行われる。
【0057】
以上の処理ステップを経た後、メイン処理ループの実行に移行する。まずS1002及びS1003において所定時間経過するのを待ち、S1004においてパス管理フィルタドライバ120よりデータ入出力回数を論理パス毎に取得する。これにより各論理パスの所定時間内のデータ入出力回数すなわち各論理パスの使用率を知ることができる。取得したデータ入出力回数はIO実績表400に記録される。続いてパスの優先化要求フラグを初期化する(S1005)。パスの優先化要求フラグとは、パスの優先化を実施する必要性の有無を判断するために使用されるフラグである。具体的には、データ入出力回数が閾値設定表500に設定されている閾値(判定値)を超えていることが判明した場合にセットされ、ドライバ管理プログラム121はパスの優先化要求フラグがセットされている場合にはパスの優先化を実行する。
【0058】
次に、ドライバ管理プログラム121は最初の論理パスを取得する。最初の論理パスとは論理パス1(801)のことである。以降のステップにおいては、論理パス1(801)について、データ入出力要求の回数が閾値を超えていないかをチェックすることになる。まずS1007においてチェックする論理パスの有無により終了判定を行うが、これから論理パス1(801)のチェックを行うところであるので、”Y”(Yes)に進む。
【0059】
S1008においては、データ入出力要求の回数が閾値を超えていないかどうかをチェックする。具体的にはS1000で作成した閾値設定表500とS1004で更新したIO実績表400とを比較する。比較は以下のようにして行う。まず、現在チェック対象となっている論理パス1(801)は物理パス1上に設定されたものであるので、閾値設定表500の物理パス1の欄に着目する。そしてまず「曜日」欄をチェックする。図9の例で説明すると、現在が金曜日でなければ比較の対象外であるのでチェックを終了し”N”(No)に進む。現在が金曜日である場合には、閾値設定表500に記載されている閾値の値と、IO実績表400内の金曜日の論理パス1の欄に記録されているデータ入出力回数を比較する。もしもIO実績表400の当該欄に記録されている値の方が大きい場合には、”Y”に進む。IO実績表400の当該欄に記録されている値の方が小さい場合には、”N”に進む。
【0060】
S1008において”Y”に進んだ場合には、S1009において優先化要求フラグがセットされる。S1010において次の論理パスを取得してS1007から処理を繰り返す。次の論理パスとはここでは論理パス2(802)のことである。
【0061】
そして全ての論理パスについての処理が終了したらS1007において”N”に進み、S1011を実行する。ここでは優先化要求フラグがセットされているか否かがチェックされる。すなわちデータ入出力要求の回数が閾値を超えている論理パスが一つでもあった場合には優先化要求フラグがセットされているため、”Y”に進む。そしてS1012においてパスの優先化処理を実施する。パスの優先化処理の実施とは、具体的にはパス管理フィルタドライバ120により参照されるLU管理表600を図10に示した態様から例えば図11に示した態様に切り替えることである。もちろん、初めからLU管理表600が図11の態様に切り替わっていた場合には、そのまま図11の態様で継続する。
【0062】
一方S1011において、優先化要求フラグがセットされていなかった場合には、S1013においてパスの優先化処理を終了する。パスの優先化処理の終了とは、具体的にはパス管理フィルタドライバ120により参照されるLU管理表600を図11に示した態様から例えば図10に示した態様に切り替えることである。もちろん、初めからLU管理表600が図10の態様に切り替わっていた場合には、そのまま図10の態様で継続する。
上記S1002からS1013の処理を所定時間毎に繰り返し行う。
【0063】
===データ入出力要求の振り分け処理===
次に、パス管理フィルタドライバ120がLU管理表600を参照してデータ入出力処理を振り分ける際の処理の流れを示すフローチャートを図14に示す。
まずパス管理フィルタドライバ120は、処理対象LUをLU1(221)に設定して処理を開始する(S2000、S2001)。次にLU1(221)に対する排他を取得する。LU1(221)に対する排他を取得するとは、LU1(221)へのデータ入出力要求を自分のみが行えるように独占することである。
【0064】
続いて論理パス1(801)を処理対象パスに設定し、処理を開始する(S2003、S2004)。LU管理表600のLU1(221)及び論理パス1(801)の欄が”ON”の場合には、論理パス1(801)からデータ入出力要求を送信する(S2005)。これを全ての論理パスに対して繰り返し行う(S2006)。次にLU1(221)に対する排他を解放する(S2007)。これを全てのLUに対して繰り返し行う(S2008)。上記処理を繰り返し行うことにより、パス管理フィルタドライバ120はLU管理表600を参照してデータ入出力処理の振り分け処理を行う。
【0065】
===LU管理表の設定===
次に本実施の形態におけるLU管理表を設定するための処理の流れを示すフローチャートを図15乃至図16に示す。LU管理表の設定は、パス管理フィルタドライバ120が行うようにすることもできるし、ドライバ管理プログラム121が行うようにすることもできる。
【0066】
前者の場合には、図12乃至図13において示したパスの優先化処理フローチャートのS1012においてパスの優先化を実施する際に、ドライバ管理プログラム121からの指示を受けて、パス管理フィルタドライバ120が本フローチャートに従って作成したLU管理表600へ切り替える処理を行う。
【0067】
後者の場合には、図12乃至図13において示したパスの優先化処理フローチャートのS1012においてパスの優先化を実施する際に、ドライバ管理プログラム121が本フローチャートに従って作成したLU管理表600をパス管理フィルタドライバ120が取得し、LU管理表600を切り替える処理を行うことになる。
【0068】
ここでは、前者の場合を例に図15乃至図16に示したフローチャートを説明する。
まず、パス管理フィルタドライバ120は閾値設定表500から最初の物理パスを取得する(S3000)。最初の物理パスとは物理パス1のことである。以降のステップにおいては、物理パス1についてLU管理表600を設定することになる。まずS3001において物理パスの有無により終了判定を行うが、ここではこれから物理パス1についてLU管理表600の設定を行うところであるので、”Y”に進む。
【0069】
S3002において、閾値設定表500の物理パス1の欄に優先LUの設定がなされているか否かがチェックされる。図9の例で説明すると物理パス1には優先LUとしてLU1(221)が設定されているので”Y”に進む。
S3003においてLU管理表600より最初の論理パスを取得する。最初の論理パスとは論理パス1(801)のことである。
そしてS3004において上記取得した論理パス1が設定されている物理パスが上記閾値設定表500から取得した物理パスと同一であるかどうかがチェックされる。ここでは論理パス1(801)が設定されている物理パスは物理パス1であるので、閾値設定表500から取得した物理パスと同一であることが判明する。加えてS3004において、閾値設定表500に設定されている優先LUと論理パス1が対象とするLUが同一でないかどうかもチェックされる。ここではどちらもLU1であり、同一であることが判明する。
以上よりS3004の判定は”N”となり、S3006に進む。S3005の処理を行わないことによりLU管理表600の論理パス1の欄は”ON”のままとされる。
S3006において次の論理パスを取得してS3004から処理を繰り返す。次の論理パスとは、ここでは論理パス2(802)のことである。
全ての論理パスについての処理が終了したら(S3007)、S3008において閾値設定表500から次の物理パスを取得してS3001から処理を繰り返す。次の物理パスとは物理パス2のことである。閾値設定表500の全ての物理パスについての処理が終了したら処理を終了する。
【0070】
なお、図9の例では物理パス4については閾値設定表500に優先LUは設定されていない。その場合S3002において”N”に進む。
まずS3009においてLU管理表600より最初の論理パスを取得する。最初の論理パスとは論理パス1(801)のことである。そしてS3010において上記取得した論理パス1が設定されている物理パスが上記閾値設定表500から取得した物理パスと同一であるかどうかがチェックされる。ここでは論理パス1(801)が設定されている物理パスは物理パス1であるので、閾値設定表500から取得した物理パス(物理パス4)と同一ではないことが判明する。加えてS3010において、閾値設定表500に優先LUとして設定されているLUと論理パス1が対象とするLUが同一であるかどうかもチェックされる。ここでは閾値設定表500に優先LUとして設定されているLUはLU1(物理パス1乃至物理パス3に対する優先LU)であり、論理パス1が対象とするLUはLU1であるので、同一であることが判明する。以上よりS3010の判定は”N”となりS3012に進む。そしてS3012において次の論理パスを取得してS3010から処理を繰り返す。次の論理パスとは、ここでは論理パス2(802)のことである。
【0071】
論理パス4についてのS3010の判定においては、論理パス4(804)が設定されている物理パスは物理パス4であり、閾値設定表500から取得した物理パス(物理パス4)と同一である。加えて閾値設定表500に優先LUとして設定されているLU(LU1)と論理パス4が対象とするLU(LU1)も同一である。よって論理パス4についてのS3010の判定は”Y”となりS3011に進み、LU管理表に”OFF”が設定される。全ての論理パスについての処理が終了したら(S3013)、S3008に進む。
【0072】
以上の処理を実施することにより、LU管理表600の設定を行うことができる。なお、上記LU管理表600の設定はパス管理フィルタドライバ120が行うものとして説明したが、ドライバ管理プログラム121が行う場合も同様である。
【0073】
このように本実施の形態によれば、情報処理装置100から記憶装置200の特定の記憶領域に対するデータ入出力要求を、LU管理表600によりあらかじめ対応付けられた論理パスを介して送信することができるので、例えばある論理パスの使用率が上昇した場合に、当該論理パスに対応付けられたデータ入出力要求を他のデータ入出力要求に優先して送信することができるようになる。これにより、優先度に応じたデータ入出力要求の送信が行えるようになるため、論理パスの有効利用が図れる。また優先度の高いデータ入出力要求に対して、入出力性能を落とさずに記憶装置200へのアクセスを行うことができる。
【0074】
以上本実施の形態について説明したが、上記実施例は本発明の理解を容易にするためのものであり、本発明を限定して解釈するためのものではない。本発明はその趣旨を逸脱することなく変更、改良され得ると共に、本発明にはその等価物も含まれる。
【0075】
【発明の効果】
情報処理装置、プログラム、情報処理システム、及び情報処理装置の制御方法を提供することができる。
【図面の簡単な説明】
【図1】本実施の形態に係る情報処理システムの全体構成を示すブロック図である。
【図2】本実施の形態に係る情報処理装置において実行されるアプリケーションプログラムの入出力特性を示す図である。
【図3】本実施の形態に係る情報処理装置においてパスの優先化を実施しない場合のデータ入出力キューの様子を示すブロック図である。
【図4】本実施の形態に係る情報処理装置においてパスの優先化を実施した場合のデータ入出力キューの様子を示すブロック図である。
【図5】本実施の形態に係る情報処理装置におけるデータ入出力処理を説明するためのブロック図である。
【図6】本実施の形態に係る情報処理装置と記憶装置との間のデータ入出力パスを構成する要素を示す図である。
【図7】本実施の形態に係る情報処理装置におけるデータ入出力処理を説明するためのブロック図である。
【図8】本実施の形態に係るIO実績表を示す図である。
【図9】本実施の形態に係る閾値設定表を示す図である。
【図10】本実施の形態においてパスの優先化を実施しない場合のLU管理表を示すブロック図である。
【図11】本実施の形態においてパスの優先化を実施する場合のLU管理表を示すブロック図である。
【図12】本実施の形態におけるデータ入出力パスの管理を行うための処理の流れを示すフローチャートである。
【図13】本実施の形態におけるデータ入出力パスの管理を行うための処理の流れを示すフローチャートの続きである。
【図14】本実施の形態におけるデータ入出力処理の流れを示すフローチャートである。
【図15】本実施の形態におけるLU管理表を設定するための処理の流れを示すフローチャートである。
【図16】本実施の形態におけるLU管理表を設定するための処理の流れを示すフローチャートの続きである。
【符号の説明】
100 情報処理装置 110 アプリケーションプログラム
111 AP1 112 AP2
120 パス管理フィルタドライバ 121 ドライバ管理プログラム
122 ドライバUIプログラム 123 ドライバAPIプログラム
124 ロジック部 130 入出力キュー
140 インタフェース部 160 ディスクドライバ
170 IFドライバ 180 HPort
181 TID 182 Bus
200 記憶装置 210 ディスク制御部
211 ディスク制御部1 212 ディスク制御部2
220 論理ユニット 221 LU1
222 LU2 223 HLU
230 DPort 240 ファイルシステム
241 LU1 242 LU2
300 接続部 400 IO実績表
500 閾値設定表 600 LU管理表
700 SAN 800 論理パス[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention relates to an information processing device, a program, an information processing system, and a method for controlling an information processing device.
[0002]
[Prior art]
In recent years, the amount of data handled by computer systems has increased, and storage devices have been increasing in capacity. In a large-capacity storage device, it is necessary to ensure input / output performance and reliability that are commensurate with the storage capacity. Therefore, a technique has been developed in which an input / output path to a storage device is multiplexed to improve input / output performance and reliability.
[0003]
When the input / output paths to the storage device are multiplexed, it is necessary for the computer to perform a process of distributing a data input / output request to the storage device to each input / output path. In the related art, data input / output requests are evenly distributed to each input / output path in order to distribute the load applied to each input / output path. As a sorting method, a round robin method in which each input / output path is designated in order has been adopted.
[0004]
[Patent Document 1]
JP 2001-325207 A
[0005]
[Problems to be solved by the invention]
However, all data input / output requests to the storage device are not the same, and some have higher or lower priority depending on the application program that issues the data input / output request. In the prior art, data input / output requests to a storage device are distributed to each input / output path in a round-robin manner. For example, when data input / output requests to a storage device are flooded, a high priority data input / output request is issued. Could not be sent to the storage device with priority.
[0006]
Therefore, an object of the present invention is to provide an information processing apparatus, a program, an information processing system, and a control method of an information processing apparatus, which can prioritize a high-priority data input / output request when the data input / output request increases. I do.
[0007]
[Means for Solving the Problems]
Means for setting a plurality of logical paths, which are logical paths to the storage device, for transmitting a data input / output request to the storage device, and provided by the storage device described in the data input / output request Means for associating information for designating a specific storage area among the storage areas to be executed with the logical path, means for comparing the usage rate of each logical path with a judgment value, and according to the result of the comparison. Means for switching the data input / output request to control for transmitting the data input / output request to the storage device via the logical path associated with the information.
In addition, the problems disclosed by the present application and the solution thereof will be clarified by the description of the embodiments of the invention and the drawings.
[0008]
BEST MODE FOR CARRYING OUT THE INVENTION
=== Overall configuration example ===
Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings.
First, FIG. 1 is a block diagram showing the overall configuration of an information processing system (computer system) according to the present embodiment.
[0009]
The information processing device (host) 100 includes a CPU (Central Processing Unit) and a memory, and executes various application programs. For example, a program such as an automatic teller system at a bank or a seat reservation system at an aircraft is executed. The
[0010]
The
[0011]
In the
[0012]
Data access requests from AP1 (111) and AP2 (112) are transmitted using the above logical path as a transfer path. The data access request is transmitted to the
[0013]
The path
[0014]
It should be noted that some operating systems executed by the
[0015]
=== Characteristics of data input / output request ===
Next, FIG. 2 is a diagram illustrating input / output characteristics of AP1 (111) and AP2 (112) executed in the
FIG. 2 shows the number of data input / output requests for AP1 (111) and AP2 (112) in a graph, with “day of the week” on the horizontal axis and “data input / output request count (IO request count)” on the vertical axis. It was done.
[0016]
As shown in FIG. 2, data access characteristics to the
Here, as described above, AP1 (111) accesses data stored in LU1 (221), and AP2 (112) accesses data stored in LU2 (222). Are commonly used.
[0017]
In this case, if the processing performed by the AP 1 (111) is of high priority, for example, if a quick processing with a short waiting time is required such as in a bank automatic teller system, the AP 1 (111) is used. If the data input / output requests from (111) and AP2 (112) are evenly distributed to each logical path, the bottleneck is that four physical paths are shared by AP1 (111) and AP2 (112). It is assumed that the data input / output processing performed by the AP 1 (111) is delayed due to a bottleneck.
[0018]
In the conventional path
[0019]
=== Distribution of data input / output request ===
FIG. 3 shows how the data input / output requests from the AP1 (111) and the AP2 (112) are equally distributed to the four
[0020]
In this case, although the data input / output processing ((1), (2), (3)) from the AP1 (111) must be performed promptly, the data input / output processing (1) from the AP2 (112) is performed. 2), the data input / output processing from the AP 1 (111) is delayed.
[0021]
=== Path Prioritization Process ===
FIG. 4 shows a state of the input /
[0022]
In FIG. 4, data input / output requests ((1), (2), (3)) to LU1 (221) are distributed so as to occupy connection units 1 (301) to 3 (303). ing. The connection unit 4 (304) is allocated to a data input / output request to another logical unit, that is, a logical unit other than LU1 (221) (here, LU2 (222)).
[0023]
In this way, when data input / output requests from the AP 1 (111) increase and delay of input / output processing is likely to occur, priority of the path is executed, thereby making it possible to avoid delay of input / output processing. Become. Specific means for implementing path prioritization will be described later.
[0024]
=== Detailed configuration example of information processing device ===
Next, FIG. 5 is a block diagram illustrating data input / output processing in
The AP1 (111) and the AP2 (112) access the
[0025]
The path
The allocated data input / output request is transmitted from the IF1 (141) to the IF4 (144) to the
[0026]
The data input / output request is transmitted from the
[0027]
In FIG. 5, the logical path 1 (801) and the logical path 5 (805) are associated with the
[0028]
The
[0029]
The data input / output requests transmitted from IF1 (141) to IF4 (144) are sent to the disk control unit 1 (211) or the disk control unit 2 (212) of the
[0030]
The path
[0031]
The
[0032]
The IO (Input / Output) performance table 400 is a table in which the number of data input / output processes performed between the
[0033]
The threshold setting table 500 is a table set by the
[0034]
The
[0035]
=== About the element for defining the logical path ===
Next, elements for defining the
[0036]
As shown in FIG. 6, when there are a plurality of paths connecting the
[0037]
=== Another Configuration Example of the Information Processing Device ===
Next, FIG. 7 illustrates an
That is, in the
[0038]
=== IO Results Table ===
Next, FIG. 8 shows an IO result table 400 according to the present embodiment.
As described above, the IO result table 400 is a table in which the number of times of data input / output processing performed between the
[0039]
The logical paths 1 (801) to 4 (804) are paths for accessing data stored in the LU 1 (221) via the
[0040]
The logical paths 5 (805) to 8 (808) are paths for accessing data stored in the LU 2 (222) via the
[0041]
The
[0042]
The number of times of data input / output recorded in the IO result table 400 can be recorded as it is the number of times of data input / output obtained from the path
[0043]
=== About the threshold setting table ===
Next, FIG. 9 shows a threshold setting table according to the present embodiment.
As described above, the threshold setting table 500 is a table set by the driver management program based on data input by the operator via the
[0044]
The setting items are a threshold (judgment value) for the number of data input / outputs per minute, a logical unit that gives priority to access when the data input / output processing per minute exceeds the threshold, and a day of the week that performs the access priority processing. It is specified.
[0045]
In FIG. 9, priority processing is set for the
[0046]
If the number of data input / output processes per minute does not exceed the threshold value, the data input / output process that can be performed using the
[0047]
On the other hand, no threshold value is set for the
[0048]
However, in this case, not only the
[0049]
Further, in FIG. 9, only one priority LU is described for each physical path, but a plurality of priority LUs may be designated. In this case, a threshold value can be set for each priority LU. Although only one day of the week is specified in the effective date field, a plurality of days can be specified. In addition, designation such as “date” or “the day before a holiday” can be performed instead of designation using “day of the week”. Further, the threshold value may be the total number of input / output times per hour or the total number of input / output times from the start of the day in addition to the number of input / output times per minute.
[0050]
=== About LU management table ===
Next, FIG. 10 shows an LU management table 600 according to the present embodiment.
The LU management table 600 is a table that is referred to when the path
[0051]
In FIG. 10, "ON" indicates that the logical path can be used, and "OFF" indicates that the logical path cannot be used. In FIG. 10, a logical path 1 (801) to logical path 4 (804) can be used for a data input / output request to LU1 (221), and a logical path 5 (805) for a data input / output request to LU2 (222). To 808 (808) can be used. Logical paths 1 (801) to 4 (804) and logical paths 5 (805) to 8 (808) are logical paths set on
[0052]
When the LU management table 600 is set as shown in FIG. 10, the path
[0053]
On the other hand, when prioritizing the paths, as shown in FIG. 11, "OFF" is set for the logical paths that are not to be used.
In FIG. 11, the logical paths 4 (804) to 7 (807) are set to be unusable. At this time, only the logical paths 1 (801) to 3 (803) can use the data input / output request to the LU1 (221), and the data input / output request to the LU2 (222) only the logical path 8 (808). Can be used.
[0054]
As described above, the LU management table 600 associates the LU as the destination of the data input / output request with the logical path used by the data input / output request. Thereby, the data input / output request can be distributed to the logical path based on the information for specifying the LU described in the data input / output request. As described above, the data input / output request to the LU 1 (221) can be distributed to each logical path so as to occupy the
[0055]
=== Pass priority processing ===
When the number of data input / output requests recorded in the IO result table 400 exceeds the threshold value set in the threshold value setting table 500, the LU management table 600 shown in FIG. Switching to 600 is performed, and the path is prioritized.
[0056]
FIGS. 12 and 13 are flowcharts showing the flow of processing executed by the
First, the
Next, an IO result table 400 is created (S1001). The creation is performed by acquiring the number of data input / output processes measured by the path
[0057]
After the above processing steps, the processing shifts to execution of the main processing loop. First, in S1002 and S1003, a predetermined time is waited, and in S1004, the number of times of data input / output is acquired from the path
[0058]
Next, the
[0059]
In S1008, it is checked whether the number of data input / output requests does not exceed the threshold. Specifically, the threshold setting table 500 created in S1000 is compared with the IO result table 400 updated in S1004. The comparison is performed as follows. First, the logical path 1 (801) currently being checked is set on the
[0060]
If the process proceeds to “Y” in S1008, a priority request flag is set in S1009. In S1010, the next logical path is obtained, and the processing is repeated from S1007. The next logical path is the logical path 2 (802) here.
[0061]
When the processing for all the logical paths is completed, the process proceeds to “N” in S1007, and S1011 is executed. Here, it is checked whether or not the priority request flag is set. That is, if there is at least one logical path in which the number of data input / output requests exceeds the threshold, the priority request flag is set, and the process proceeds to “Y”. In step S1012, a path priority process is performed. Executing the path prioritization process specifically means switching the LU management table 600 referred to by the path
[0062]
On the other hand, if the priority request flag has not been set in S1011, the path priority processing ends in S1013. The terminating of the path prioritization processing specifically means switching the LU management table 600 referred to by the path
The processing from S1002 to S1013 is repeated at predetermined time intervals.
[0063]
=== Data input / output request distribution processing ===
Next, FIG. 14 is a flowchart showing the flow of processing when the path
First, the path
[0064]
Subsequently, the logical path 1 (801) is set as a processing target path, and processing is started (S2003, S2004). When the LU 1 (221) and logical path 1 (801) columns of the LU management table 600 are “ON”, a data input / output request is transmitted from the logical path 1 (801) (S2005). This is repeated for all logical paths (S2006). Next, exclusion of the LU1 (221) is released (S2007). This is repeated for all LUs (S2008). By repeatedly performing the above processing, the path
[0065]
=== Setting of LU management table ===
Next, FIGS. 15 and 16 are flowcharts showing the flow of processing for setting the LU management table in the present embodiment. The setting of the LU management table can be performed by the path
[0066]
In the former case, the path
[0067]
In the latter case, when the path is prioritized in S1012 of the path prioritization processing flowchart shown in FIGS. 12 and 13, the LU management table 600 created by the
[0068]
Here, the flow charts shown in FIGS. 15 and 16 will be described taking the former case as an example.
First, the path
[0069]
In step S3002, it is checked whether a priority LU has been set in the
In S3003, the first logical path is acquired from the LU management table 600. The first logical path is the logical path 1 (801).
In S3004, it is checked whether the physical path to which the acquired
Thus, the determination in S3004 is “N”, and the process proceeds to S3006. Since the process of S3005 is not performed, the column of the
In S3006, the next logical path is obtained, and the processing is repeated from S3004. The next logical path here is the logical path 2 (802).
When the processing for all logical paths is completed (S3007), the next physical path is acquired from the threshold setting table 500 in S3008, and the processing is repeated from S3001. The next physical path is the
[0070]
In the example of FIG. 9, the priority LU is not set in the threshold setting table 500 for the
First, in S3009, the first logical path is acquired from the LU management table 600. The first logical path is the logical path 1 (801). In S3010, it is checked whether the physical path to which the obtained
[0071]
In the determination in S3010 for the
[0072]
By performing the above processing, it is possible to set the LU management table 600. Although the setting of the LU management table 600 has been described as being performed by the path
[0073]
As described above, according to the present embodiment, it is possible to transmit a data input / output request for a specific storage area of
[0074]
Although the present embodiment has been described above, the above embodiment is for the purpose of facilitating the understanding of the present invention, and is not for limiting and interpreting the present invention. The present invention can be changed and improved without departing from the spirit thereof, and the present invention also includes equivalents thereof.
[0075]
【The invention's effect】
An information processing device, a program, an information processing system, and a method for controlling an information processing device can be provided.
[Brief description of the drawings]
FIG. 1 is a block diagram showing an overall configuration of an information processing system according to the present embodiment.
FIG. 2 is a diagram illustrating input / output characteristics of an application program executed in the information processing apparatus according to the present embodiment.
FIG. 3 is a block diagram illustrating a state of a data input / output queue when a path is not prioritized in the information processing apparatus according to the present embodiment;
FIG. 4 is a block diagram showing a state of a data input / output queue when a path is prioritized in the information processing apparatus according to the present embodiment;
FIG. 5 is a block diagram for describing data input / output processing in the information processing apparatus according to the present embodiment.
FIG. 6 is a diagram showing elements constituting a data input / output path between the information processing device and the storage device according to the present embodiment.
FIG. 7 is a block diagram for describing data input / output processing in the information processing apparatus according to the present embodiment.
FIG. 8 is a diagram showing an IO result table according to the present embodiment.
FIG. 9 is a diagram showing a threshold setting table according to the present embodiment.
FIG. 10 is a block diagram showing an LU management table in a case where path prioritization is not performed in the present embodiment.
FIG. 11 is a block diagram illustrating an LU management table in a case where a path is prioritized in the present embodiment.
FIG. 12 is a flowchart showing a flow of processing for managing a data input / output path according to the present embodiment.
FIG. 13 is a continuation of the flowchart showing the flow of processing for managing a data input / output path in the present embodiment.
FIG. 14 is a flowchart showing a flow of data input / output processing in the present embodiment.
FIG. 15 is a flowchart illustrating a flow of a process for setting an LU management table in the present embodiment.
FIG. 16 is a continuation of the flowchart showing the flow of processing for setting the LU management table in the present embodiment.
[Explanation of symbols]
100
111
120 Path
122
124 Logic section 130 I / O queue
140
170 IF
181
200
211
220
222
230
241
300
500 Threshold setting table 600 LU management table
700
Claims (12)
前記データ入出力要求に記述されている前記記憶デバイスにより提供される記憶領域のうちの特定の記憶領域を指定するための情報と前記論理パスとを対応付ける手段と、
前記各論理パスの使用率を判定値と比較する手段と、
前記比較の結果に応じて、前記データ入出力要求を、前記情報に対応付けられている前記論理パスを介して前記記憶デバイスに送信する制御に切り替える手段と
を備えることを特徴とする情報処理装置。Means for setting a plurality of logical paths, which are logical paths between the storage device, for transmitting a data input / output request to the storage device;
Means for associating the logical path with information for specifying a specific storage area among storage areas provided by the storage device described in the data input / output request;
Means for comparing the usage rate of each logical path with a judgment value,
Means for switching the data input / output request to control for transmitting the data input / output request to the storage device via the logical path associated with the information in accordance with the result of the comparison .
前記論理パスは、
ハードウェアまたはソフトウェアの少なくともいずれか一方の組み合わせにより設定され、
前記複数の論理パスのそれぞれは、
前記ハードウェアまたは前記ソフトウェアの前記組み合わせが異なることを特徴とする情報処理装置。The information processing device according to claim 1,
The logical path is
Set by a combination of hardware and / or software,
Each of the plurality of logical paths is
An information processing apparatus, wherein the combination of the hardware and the software is different.
前記特定の記憶領域は、
前記情報処理装置により実行されるアプリケーションプログラム毎に、異なる領域が割り当てられていることを特徴とする情報処理装置。The information processing device according to claim 1,
The specific storage area is
A different area is allocated to each application program executed by the information processing apparatus.
前記記憶デバイスへデータ入出力要求を送信するために、前記記憶デバイスとの間に論理的な経路である論理パスを複数設定するステップと、
前記データ入出力要求に記述されている前記記憶デバイスにより提供される記憶領域のうちの特定の記憶領域を指定するための情報と前記論理パスとを対応付けるステップと、
前記各論理パスの使用率を判定値と比較するステップと、
前記比較の結果に応じて、前記データ入出力要求を、前記情報に対応付けられている前記論理パスを介して前記記憶デバイスに送信する制御に切り替えるステップと
を実行させるためのプログラム。In the information processing device connected to the storage device,
In order to transmit a data input / output request to the storage device, setting a plurality of logical paths that are logical paths between the storage device and
Associating the logical path with information for specifying a specific storage area among storage areas provided by the storage device described in the data input / output request;
Comparing the usage rate of each logical path with a determination value;
Switching the data input / output request to control for transmitting the data input / output request to the storage device via the logical path associated with the information in accordance with a result of the comparison.
前記論理パスは、
ハードウェアまたはソフトウェアの少なくともいずれか一方の組み合わせにより設定され、
前記複数の論理パスのそれぞれは、
前記ハードウェアまたは前記ソフトウェアの前記組み合わせが異なることを特徴とするプログラム。In the program according to claim 4,
The logical path is
Set by a combination of hardware and / or software,
Each of the plurality of logical paths is
A program wherein the combination of the hardware or the software is different.
前記特定の記憶領域は、
前記情報処理装置により実行されるアプリケーションプログラム毎に、異なる領域が割り当てられていることを特徴とするプログラム。In the program according to claim 4,
The specific storage area is
A different area is allocated to each application program executed by the information processing apparatus.
前記情報処理装置は、
前記記憶デバイスへデータ入出力要求を送信するために、前記記憶デバイスとの間に論理的な経路である論理パスを複数設定する手段と、
前記データ入出力要求に記述されている前記記憶デバイスにより提供される記憶領域のうちの特定の記憶領域を指定するための情報と前記論理パスとを対応付ける手段と、
前記各論理パスの使用率を判定値と比較する手段と、
前記比較の結果に応じて、前記データ入出力要求を、前記情報に対応付けられている前記論理パスを介して前記記憶デバイスに送信する制御に切り替える手段とを有する
ことを特徴とする情報処理システム。An information processing system comprising a storage device and an information processing device that stores data in the storage device,
The information processing device,
Means for setting a plurality of logical paths, which are logical paths between the storage device, for transmitting a data input / output request to the storage device;
Means for associating the logical path with information for specifying a specific storage area among storage areas provided by the storage device described in the data input / output request;
Means for comparing the usage rate of each logical path with a judgment value,
Means for switching the data input / output request to control for transmitting the data input / output request to the storage device via the logical path associated with the information in accordance with a result of the comparison. .
前記論理パスは、
ハードウェアまたはソフトウェアの少なくともいずれか一方の組み合わせにより設定され、
前記複数の論理パスのそれぞれは、
前記ハードウェアまたは前記ソフトウェアの前記組み合わせが異なることを特徴とする情報処理システム。The information processing system according to claim 7,
The logical path is
Set by a combination of hardware and / or software,
Each of the plurality of logical paths is
An information processing system, wherein the combination of the hardware or the software is different.
前記特定の記憶領域は、
前記情報処理装置により実行されるアプリケーションプログラム毎に、異なる領域が割り当てられていることを特徴とする情報処理システム。The information processing system according to claim 7,
The specific storage area is
A different area is allocated to each application program executed by the information processing apparatus.
前記情報処理装置は、
前記記憶デバイスへデータ入出力要求を送信するために、前記記憶デバイスとの間に論理的な経路である論理パスを複数設定し、
前記データ入出力要求に記述されている前記記憶デバイスにより提供される記憶領域のうちの特定の記憶領域を指定するための情報と前記論理パスとを対応付け、
前記各論理パスの使用率を判定値と比較し、
前記比較の結果に応じて、前記データ入出力要求を、前記情報に対応付けられている前記論理パスを介して前記記憶デバイスに送信する制御に切り替える
ことを特徴とする情報処理装置の制御方法。A method for controlling the information processing device in an information processing system including a storage device and an information processing device that stores data in the storage device,
The information processing device,
In order to send a data input / output request to the storage device, a plurality of logical paths that are logical paths between the storage device are set,
Corresponding information for specifying a specific storage area among storage areas provided by the storage device described in the data input / output request and the logical path,
Comparing the usage rate of each logical path with a judgment value,
A control method for an information processing apparatus, comprising: switching control of transmitting the data input / output request to the storage device via the logical path associated with the information in accordance with a result of the comparison.
前記論理パスは、
ハードウェアまたはソフトウェアの少なくともいずれか一方の組み合わせにより設定され、
前記複数の論理パスのそれぞれは、
前記ハードウェアまたは前記ソフトウェアの前記組み合わせが異なることを特徴とする情報処理装置の制御方法。The control method for an information processing device according to claim 10,
The logical path is
Set by a combination of hardware and / or software,
Each of the plurality of logical paths is
A method of controlling an information processing apparatus, wherein the combination of the hardware or the software is different.
前記特定の記憶領域は、
前記情報処理装置により実行されるアプリケーションプログラム毎に、異なる領域が割り当てられていることを特徴とする情報処理装置の制御方法。The control method for an information processing device according to claim 10,
The specific storage area is
A different area is assigned to each application program executed by the information processing apparatus.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002351663A JP2004185327A (en) | 2002-12-03 | 2002-12-03 | Information processor, program, information processing system and control method for information processor |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002351663A JP2004185327A (en) | 2002-12-03 | 2002-12-03 | Information processor, program, information processing system and control method for information processor |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2004185327A true JP2004185327A (en) | 2004-07-02 |
Family
ID=32753516
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002351663A Pending JP2004185327A (en) | 2002-12-03 | 2002-12-03 | Information processor, program, information processing system and control method for information processor |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2004185327A (en) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7120912B2 (en) | 2004-07-28 | 2006-10-10 | Hitachi, Ltd. | Computer system for load balance, program and method for setting paths |
US7873759B2 (en) | 2008-10-30 | 2011-01-18 | Hitachi, Ltd. | Information processing system and method of allocating I/O to paths in same |
JP2011022936A (en) * | 2009-07-17 | 2011-02-03 | Nec Corp | Disk array device and control method of the same |
-
2002
- 2002-12-03 JP JP2002351663A patent/JP2004185327A/en active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7120912B2 (en) | 2004-07-28 | 2006-10-10 | Hitachi, Ltd. | Computer system for load balance, program and method for setting paths |
US7873759B2 (en) | 2008-10-30 | 2011-01-18 | Hitachi, Ltd. | Information processing system and method of allocating I/O to paths in same |
JP2011022936A (en) * | 2009-07-17 | 2011-02-03 | Nec Corp | Disk array device and control method of the same |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5999963A (en) | Move-to-rear list scheduling | |
US10387202B2 (en) | Quality of service implementation in a networked storage system with hierarchical schedulers | |
EP1805632B1 (en) | Management of i/o operations in data storage systems | |
US7908410B2 (en) | Method for empirically determining a qualified bandwidth of file storage for a shared filed system using a guaranteed rate I/O (GRIO) or non-GRIO process | |
Chambliss et al. | Performance virtualization for large-scale storage systems | |
US5831985A (en) | Method and apparatus for controlling concurrent data transmission from multiple sources in a channel communication system | |
EP2608011B1 (en) | Storage device, and storage device control method | |
US7020878B1 (en) | System for allocating resource using the weight that represents a limitation on number of allowance active sessions associated with each resource consumer group | |
JP4672282B2 (en) | Information processing apparatus and control method of information processing apparatus | |
CN104102548B (en) | task resource scheduling processing method and system | |
JP2008015888A (en) | Load distribution control system and load distribution control method | |
KR20090024256A (en) | Method, system, and apparatus for scheduling computer micro-jobs to execute at non-disruptive times | |
JP2003256221A (en) | Parallel process executing method and multi-processor type computer | |
US9361474B2 (en) | Network filesystem asynchronous I/O scheduling | |
US10210338B2 (en) | Reducing decryption latency for encryption processing | |
JP3876100B2 (en) | A system that manages access to devices | |
JPH05216842A (en) | Resources managing device | |
Bruno et al. | Move-to-rear list scheduling: a new scheduling algorithm for providing QoS guarantees | |
JP2005010956A (en) | Method for controlling information processor, information processor, information processing system and program | |
JP2004185327A (en) | Information processor, program, information processing system and control method for information processor | |
US7178146B1 (en) | Pizza scheduler | |
US20040181589A1 (en) | Storage virtual channels and method for using the same | |
JP5299869B2 (en) | Computer micro job | |
JP2003131814A (en) | Disk array system | |
Jones | NAS requirements checklist for job queuing/scheduling software |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20040928 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20041007 |
|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20041007 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20060523 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060620 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060807 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20060807 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070306 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070427 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20080205 |