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 PDF

Info

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
Application number
JP2002351663A
Other languages
Japanese (ja)
Inventor
Atsushi Kondo
淳 近藤
Naoki Haramai
直樹 原間井
Hiroshi Sawara
宏史 佐原
由人 ▲高▼山
Yoshito Takayama
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2002351663A priority Critical patent/JP2004185327A/en
Publication of JP2004185327A publication Critical patent/JP2004185327A/en
Pending legal-status Critical Current

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To provide an information processor, a program, an information processing system and a control method for the information processor, capable of giving propriety to a high-propriety data input/output request when data input/output requests increase. <P>SOLUTION: This information processor has: a means setting a plurality of logical paths that are logical routes between a storage device and the information processor so as to transmit a data input/output request to the storage device; a means correlating the logical path to information for designating a specific storage area among storage areas provided by the storage device described in the data input/output request; a means comparing a use rate of each the logical path to a decision value; and a means switching to control for transmitting the data input/output request to the storage device through the logical path correlated to the information, according to a result of the comparison. <P>COPYRIGHT: (C)2004,JPO&NCIPI

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 information processing apparatus 100 accesses data stored in the storage device (storage device, storage) 200 when executing the application program. The data access is performed by transferring a logical path associated with a physical path, which is a data transfer path physically configured by hardware, to transfer data between the information processing apparatus 100 and the storage apparatus 200. It is done as. The four connection units 301 to 304 that connect the information processing device 100 and the storage device 200 respectively configure the physical path. Further, IF1 (141) to IF4 (144) are communication interfaces with the storage device 200. The IF1 (141) to IF4 (144) form a physical path together with the connection units 1 (301) to 4 (304), respectively.
[0010]
The storage device 200 includes a logical unit 220 and a disk control unit 210. The logical unit 220 is a storage area configured by logically dividing storage resources provided to the information processing apparatus 100. The storage device 200 shown in FIG. 1 includes two logical units LU (Logical Unit) 1 (221) and LU2 (222). Various resources such as a hard disk device, a flexible disk device, and a semiconductor storage device can be used as the storage resources. The disk control unit 210 receives a data input / output request from the information processing device 100 and controls access to data stored in the logical unit 220. The disk control unit 210 can be integrated with the storage device 200 as shown in FIG. 1, or can be a separate type. Although two logical units are shown in FIG. 1, one logical unit 220 may be divided into a plurality of partitions. The partition is a storage area configured by logically dividing the logical unit 220.
[0011]
In the information processing apparatus 100, various application programs 110 are executed. In the information processing apparatus 100 shown in FIG. 1, two of AP1 (111) and AP2 (112) are executed. The AP 1 (111) and the AP 2 (112) execute predetermined processing while appropriately accessing data stored in the storage device 200. Normally, each of the application programs 110 executed by the information processing apparatus 100 is assigned a logical unit 220 which can be accessed. Here, it is assumed that LU1 (221) is assigned to AP1 (111) and LU2 (222) is assigned to AP2 (112). Of course, for example, both LU1 (221) and LU2 (222) can be assigned to AP1 (111).
[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 storage device 200 after the transfer route is sorted for each logical path by the path management filter driver 120. The distribution is performed based on the information described in the data access request for specifying the logical unit to which the data access request is transmitted. In FIG. 1, the data access requests from AP1 (111) are indicated by "1" and "2", and the data access requests from AP2 (112) are indicated by "1" and "2". ing. Each data access request ((1), (2), 1, 2) is divided for each predetermined data length (divided into four in FIG. 1), and then the transfer path is allocated for each logical path. . The allocated data access requests are stored in input / output queues 131 to 134 provided for each physical path corresponding to each logical path. The data is sequentially transmitted from the interface units 141 to 144 to the storage device 200.
[0013]
The path management filter driver 120 is a program for multiplexing a data transfer path between the information processing device 100 and the storage device 200. By multiplexing a data transfer path between the information processing device 100 and the storage device 200, a bottleneck in data access can be eliminated and data input / output processing performance can be improved. Load distribution is also performed by appropriately distributing data access requests to the respective data transfer paths. Further, when a failure occurs in the data transfer path, the data transfer path may be closed to have a function of continuing data access to the storage device 200 via the normal data transfer path. As a result, a service stop due to a data transfer path failure can be avoided and the reliability of the system can be improved.
[0014]
It should be noted that some operating systems executed by the information processing apparatus 100 do not take into account connection with the storage device 200 via a plurality of logical paths. When such an operating system is executed by the information processing device 100 and the information processing device 100 and the storage device 200 are connected by a plurality of logical paths, the application program 110 There is a problem that it looks as if one logical unit 220 exists for each logical path. In order to avoid this, the path management filter driver 120 also has a function of integrating the originally one logical unit 220, which is visible for each logical path, into one and showing it to the application program 110.
[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 information processing apparatus 100 according to the present embodiment.
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 storage device 200 are significantly different between AP1 (111) and AP2 (112). That is, AP1 (111) has a characteristic that access is concentrated at a specific time (Friday) (113), and AP2 (112) has a relatively constant data access characteristic (114).
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 management filter driver 120, a data input / output request from the application program 110 is equally distributed to each logical path in a round-robin manner. Therefore, it was not possible to perform the distribution in consideration of the priority of the data input / output request from each application program 110.
[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 connection units 301 to 304 by the path management filter driver 120. In FIG. 3, data input / output requests ((1), (2), (3), 1, 2) from AP1 (111) and AP2 (112) are divided into five for each predetermined data length. Above, the state of being equally distributed to the input / output queues 131 to 134 is shown.
[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 / output queue 130 when the path is prioritized in the information processing apparatus 100 according to the present embodiment in order to improve this. The path prioritization is performed by the path management filter driver 120 distributing the data input / output request to each logical path so that the specified physical path can be used preferentially by the data input / output request with high priority.
[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 information processing apparatus 100 according to the present embodiment.
The AP1 (111) and the AP2 (112) access the logical unit 220 set in the storage device 200 via the file system 240. The file system 240 is usually provided as one of the functions of the operating system, and manages a storage area provided by the storage device 200. That is, an abstract concept of a file is realized in a logical block on a storage area provided by the storage device 200, and a data input / output request for a file is made to correspond to a data input / output request in units of logical block addresses.
[0025]
The path management filter driver 120 distributes a data input / output request issued from the application program 110 via the file system 240 for each logical path.
The allocated data input / output request is transmitted from the IF1 (141) to the IF4 (144) to the storage device 200 via the disk driver 160 and the IF (Inter Face) driver 170. The disk driver 160 abstracts the block mode device as a logical disk. The IF driver 170 converts and restores a data input / output request into a packet of a predetermined communication protocol. As a communication protocol, for example, fiber channel can be adopted.
[0026]
The data input / output request is transmitted from the information processing device 100 to the storage device 200 through a physical path configured by hardware including the four connection units 301 to 304. On the other hand, a logical path is associated with the physical path as described above. The logical path is a data transfer path logically configured by software. In FIG. 5, logical paths are denoted by 801 to 808. A logical path is provided for each LU. Elements for defining the logical paths 801 to 808 will be described later.
[0027]
In FIG. 5, the logical path 1 (801) and the logical path 5 (805) are associated with the physical path 1 which is a data transfer path including the connection unit 1 (301). The logical path 2 (802) and the logical path 6 (806) are associated with the physical path 2, which is a data transfer path including the connection unit 2 (302). The logical path 3 (803) and the logical path 7 (807) are associated with the physical path 3, which is a data transfer path including the connection unit 3 (303). The logical path 4 (804) and the logical path 8 (808) are associated with the physical path 4 which is a data transfer path including the connection unit 4 (304).
[0028]
The information processing device 100 and the storage device 200 may be connected by a SAN (Storage Area Network) 700 as shown in FIG. 5, or may be directly connected as shown in FIG. It can also be.
[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 storage device 200. Then, under the control of the disk control unit 1 (211) or the disk control unit 2 (212), data access to the logical unit 220 is performed.
[0030]
The path management filter driver 120 determines to which logical path a data input / output request from the file system 240 is to be issued based on the LU management table 600 included in the logic unit 124. That is, normally, the four connection units 301 to 304 are distributed in a round-robin manner so as to use them equally for load distribution. However, as described above, when the data input / output request for a specific LU increases, The distribution method is switched so that the data input / output request to the LU can use the connection unit preferentially.
[0031]
The driver management program 121 manages the path management filter driver 120 together with a driver UI (User Interface) program 122 and a driver API (Application Program Interface) program 123. For example, the LU management table 600 is updated. The driver UI program 122 is a program for providing a user interface when setting the path management filter driver 120 via the driver management program 121. The driver API program 123 is a program in which commands and functions that can be used when setting the path management filter driver 120 using the driver UI program 122 are collected. These programs are composed of codes for performing various operations according to the present embodiment described below.
[0032]
The IO (Input / Output) performance table 400 is a table in which the number of data input / output processes performed between the information processing apparatus 100 and the storage device 200 is recorded. The number of times of data input / output processing is measured by the path management filter driver 120 regularly or irregularly. Then, the driver management program 121 acquires the number of times of data input / output processing within a predetermined period measured by the path management filter driver 120, and reflects the number in the IO result table 400.
[0033]
The threshold setting table 500 is a table set by the driver management program 121 based on data input by the operator via the driver UI program 122.
[0034]
The driver management program 121 compares the number of times of the data input / output processing recorded in the IO result table 400 with a threshold (judgment value) set in the threshold setting table 500. When the number of times of data input / output recorded in the IO result table 400 exceeds the determination value set in the threshold setting table 500, the distribution of the data input / output request performed by the path management filter driver 120 according to the LU management table 600 is switched. .
[0035]
=== About the element for defining the logical path ===
Next, elements for defining the logical paths 801 to 808 are shown in FIG. As shown in FIG. 6, the logical path includes a host logical unit (HLU) 223, a target ID (TID) 181, a bus 182, a host bus adapter port (HPort) 180, a disk controller (Dport) 230, a disk controller 210, and a disk controller 210. It is defined by specifying the hardware or software of the LU 220. HLU 223, TID 181, Bus 182, and HP Port 180 are concepts used in the SCSI (Small Computer Systems Interface) communication standard, and represent a host logical unit, a target ID, a logical bus, and a port on the host bus adapter side, respectively. DPort 230 indicates a port of the disk control unit. Of course, the definition of the logical path does not necessarily have to be based on the above elements, and any of the above elements may be unnecessary depending on the system, and the logical path may be defined by other elements. By specifying these elements, a logical path is defined, and a physical path that logically sets each element is associated with a logical path.
[0036]
As shown in FIG. 6, when there are a plurality of paths connecting the information processing apparatus 100 and the storage device 200, it looks as if one LU 220 on the storage device 200 exists for each path. As shown in FIG. 4, through the path management filter driver 120, it is possible to show a user as one logical unit.
[0037]
=== Another Configuration Example of the Information Processing Device ===
Next, FIG. 7 illustrates an information processing apparatus 100 having a partly different configuration from the information processing apparatus 100 illustrated in FIG.
That is, in the information processing apparatus 100 in FIG. 5, the disk driver 160 receives a data input / output request from the path management filter driver 120, abstracts the block mode device as a logical disk, and then passes it to the IF driver 170. However, some operating systems require the disk driver 160 to be interposed between the file system 240 and the path management filter driver 120. FIG. 7 shows an example of such a case. The embodiment of FIG. 5 and the embodiment of FIG. 7 are caused by differences in the operating system, and both embodiments are one embodiment of the present invention.
[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 information processing device 100 and the storage device 200 is recorded. As shown in FIG. 8, the IO result table 400 is a table in which the number of data input / output requests for each logical path is tabulated for each day of the week. Note that the physical paths 1 to 4 described in FIG. 8 are data transfer paths physically configured by hardware including the connection units 1 to 4, respectively.
[0039]
The logical paths 1 (801) to 4 (804) are paths for accessing data stored in the LU 1 (221) via the physical paths 1 to 4, respectively. Since the AP1 (111) accesses the data stored in the LU1 (221), the logical path 1 (801) to the logical path 4 (804) are used by the data access request from the AP1 (111). Is the path to be taken.
[0040]
The logical paths 5 (805) to 8 (808) are paths for accessing data stored in the LU 2 (222) via the physical paths 1 to 4, respectively. Since the AP2 (112) accesses the data stored in the LU2 (222), the logical paths 5 (805) to 8 (808) are used by the data access request from the AP2 (112). Is the path to be taken.
[0041]
The driver management program 121 acquires the number of times of data input / output processing measured by the path management filter driver 120 and reflects it on the IO result table 400. The acquisition of the number of times of data input / output processing can be performed periodically or irregularly. In the case of performing it periodically, for example, it can be performed every minute or every hour. When the operation is performed irregularly, for example, the operation may be performed when an instruction is given from an operator.
[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 management filter driver 120 by the driver management program 121, or can be a total of one day. Can also be recorded. Further, an average value of the number of times of data input / output can be recorded.
[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 driver UI program 122. As shown in FIG. 9, the threshold setting table 500 is set for each physical path.
[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 physical paths 1 to 3 when the number of data input / output processing exceeds a threshold value. Accordingly, when the data access request to the LU1 (221) performed using any of the physical paths 1 to 3 on Friday exceeds 200 times per minute, the data input / output to / from the LU1 (221) is performed. The request can use the physical path preferentially. Thus, a data access request to the LU 1 (221) can be promptly made.
[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 physical paths 1 to 3 is not limited to the LU 1 (221). In this case, the path management filter driver 120 distributes the data input / output processing request equally to all the physical paths, that is, the physical paths 1 to 4.
[0047]
On the other hand, no threshold value is set for the physical path 4. In this case, if the number of times of data input / output processing for the physical paths 1 to 3 does not exceed the set threshold value, the path management filter driver 120 equally distributes data to the physical paths 1 to 4. The input / output processing request is distributed. If the number of data input / output processing requests for any one of the physical paths 1 to 3 exceeds the set threshold value, the data input / output request that can be performed using the physical path 4 is performed. Are for LUs other than LU1 (221) (here for LU2 (222)). This is because a data input / output request to the LU 1 (221) is transmitted while occupying the physical paths 1 to 3.
[0048]
However, in this case, not only the physical paths 1 to 3 but also the physical path 4 can be used for a data input / output request to the LU 1 (221). In this case, both the data input / output requests for the LU1 (221) and those for the other than the LU1 (221) (here, for the LU2 (222)) are transmitted to the physical path 4.
[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 management filter driver 120 distributes a data input / output request to a logical 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 physical paths 1 to 4, respectively.
[0052]
When the LU management table 600 is set as shown in FIG. 10, the path management filter driver 120 rounds data input / output requests from the file system 240 so that the four physical paths 1 to 4 are used equally. Assigned to each logical path in the Robin method. That is, the path is not prioritized.
[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 physical paths 1 to 3.
[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 driver management program 121 to prioritize paths according to the present embodiment.
First, the driver management program 121 creates the threshold setting table 500 (S1000). The creation is performed when the driver management program 121 is started, and is performed by acquiring a threshold value, a priority LU, and the like set by an operator using the driver UI program 122.
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 management filter driver 120.
[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 management filter driver 120 for each logical path. This makes it possible to know the number of data inputs / outputs of each logical path within a predetermined time, that is, the usage rate of each logical path. The acquired data input / output count is recorded in the IO result table 400. Next, the path priority request flag is initialized (S1005). The path priority request flag is a flag used to determine whether or not it is necessary to prioritize the path. Specifically, this is set when it is determined that the number of times of data input / output exceeds the threshold (judgment value) set in the threshold setting table 500, and the driver management program 121 sets the path priority request flag to If so, the path is prioritized.
[0058]
Next, the driver management program 121 acquires the first logical path. The first logical path is the logical path 1 (801). In the subsequent steps, it is checked whether the number of data input / output requests has exceeded the threshold value for the logical path 1 (801). First, in S1007, the end is determined based on the presence / absence of the logical path to be checked. Since the logical path 1 (801) is to be checked, the process proceeds to “Y” (Yes).
[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 physical path 1, so attention is paid to the column of the physical path 1 in the threshold setting table 500. First, check the "Day of the week" column. Explaining with the example of FIG. 9, if the current time is not Friday, it is out of the comparison target, so that the check ends and the process proceeds to “N” (No). If the current time is Friday, the threshold value described in the threshold setting table 500 is compared with the number of times of data input / output recorded in the column of the logical path 1 on Friday in the IO result table 400. If the value recorded in the corresponding column of the IO result table 400 is larger, the process proceeds to “Y”. If the value recorded in the column of the IO result table 400 is smaller, the process proceeds to “N”.
[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 management filter driver 120 from the mode illustrated in FIG. 10 to, for example, the mode illustrated in FIG. 11. Of course, when the LU management table 600 has been switched to the mode of FIG. 11 from the beginning, the processing is continued as it is in the mode of FIG.
[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 management filter driver 120 from the mode illustrated in FIG. 11 to, for example, the mode illustrated in FIG. Of course, when the LU management table 600 has been switched to the mode of FIG. 10 from the beginning, the processing is continued in the mode of FIG.
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 management filter driver 120 refers to the LU management table 600 and allocates data input / output processing.
First, the path management filter driver 120 sets the LU to be processed to LU1 (221) and starts processing (S2000, S2001). Next, exclusion of the LU1 (221) is obtained. Acquiring the exclusion for LU1 (221) means to monopolize the data input / output request to LU1 (221) so that only the user himself / herself can perform the data input / output request.
[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 management filter driver 120 refers to the LU management table 600 to perform the data input / output processing distribution processing.
[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 management filter driver 120 or can be performed by the driver management program 121.
[0066]
In the former case, the path management filter driver 120 receives an instruction from the driver management program 121 when executing the path prioritization in S1012 of the path prioritization processing flowchart shown in FIGS. A process for switching to the LU management table 600 created according to this flowchart is performed.
[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 driver management program 121 according to this flowchart is stored in the path management. The filter driver 120 obtains and performs processing for switching the LU management table 600.
[0068]
Here, the flow charts shown in FIGS. 15 and 16 will be described taking the former case as an example.
First, the path management filter driver 120 acquires the first physical path from the threshold setting table 500 (S3000). The first physical path is physical path 1. In the subsequent steps, the LU management table 600 is set for the physical path 1. First, in S3001, the termination is determined based on the presence / absence of a physical path. Here, since the LU management table 600 is to be set for the physical path 1, the process proceeds to “Y”.
[0069]
In step S3002, it is checked whether a priority LU has been set in the physical path 1 column of the threshold setting table 500. In the example of FIG. 9, since the LU1 (221) is set as the priority LU for the physical path 1, the process proceeds to “Y”.
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 logical path 1 is set is the same as the physical path acquired from the threshold setting table 500. Here, the physical path to which the logical path 1 (801) is set is the physical path 1, so that it is determined that the physical path is the same as the physical path acquired from the threshold setting table 500. In addition, in S3004, it is also checked whether the priority LU set in the threshold setting table 500 and the LU targeted by the logical path 1 are not the same. Here, both are LU1, and it is found that they are the same.
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 logical path 1 in the LU management table 600 remains "ON".
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 physical path 2. When the processing for all the physical paths in the threshold setting table 500 has been completed, the processing ends.
[0070]
In the example of FIG. 9, the priority LU is not set in the threshold setting table 500 for the physical path 4. In that case, the process proceeds to “N” in S3002.
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 logical path 1 is set is the same as the physical path obtained from the threshold setting table 500. Here, since the physical path to which the logical path 1 (801) is set is the physical path 1, it is found that the physical path (physical path 4) obtained from the threshold setting table 500 is not the same. In addition, in S3010, it is checked whether the LU set as the priority LU in the threshold setting table 500 and the LU targeted by the logical path 1 are the same. Here, the LU set as the priority LU in the threshold setting table 500 is LU1 (priority LU for the physical path 1 to the physical path 3), and since the LU targeted for the logical path 1 is LU1, it is the same. Turns out. From the above, the determination in S3010 becomes “N” and the process proceeds to S3012. Then, in S3012, the next logical path is obtained, and the processing is repeated from S3010. The next logical path here is the logical path 2 (802).
[0071]
In the determination in S3010 for the logical path 4, the physical path to which the logical path 4 (804) is set is the physical path 4, which is the same as the physical path (physical path 4) acquired from the threshold setting table 500. In addition, the LU (LU1) set as the priority LU in the threshold setting table 500 and the LU (LU1) targeted by the logical path 4 are the same. Therefore, the determination in S3010 for the logical path 4 is “Y”, the process proceeds to S3011, and “OFF” is set in the LU management table. When the processing for all the logical paths is completed (S3013), the process proceeds to S3008.
[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 management filter driver 120, the same applies to the case where the driver management program 121 performs the setting.
[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 storage device 200 from information processing device 100 via a logical path associated in advance by LU management table 600. Therefore, for example, when the usage rate of a certain logical path increases, a data input / output request associated with the logical path can be transmitted prior to another data input / output request. As a result, it becomes possible to transmit a data input / output request according to the priority, so that the logical path can be effectively used. Further, it is possible to access the storage device 200 for a high priority data input / output request without lowering the input / output performance.
[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 information processing device 110 application program
111 AP1 112 AP2
120 Path management filter driver 121 Driver management program
122 Driver UI program 123 Driver API program
124 Logic section 130 I / O queue
140 Interface section 160 Disk driver
170 IF driver 180 HPot
181 TID 182 Bus
200 storage device 210 disk control unit
211 Disk control unit 1 212 Disk control unit 2
220 logical unit 221 LU1
222 LU2 223 HLU
230 DPort 240 file system
241 LU1 242 LU2
300 Connection part 400 IO results table
500 Threshold setting table 600 LU management table
700 SAN 800 logical path

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 .
請求項1に記載の情報処理装置において、
前記論理パスは、
ハードウェアまたはソフトウェアの少なくともいずれか一方の組み合わせにより設定され、
前記複数の論理パスのそれぞれは、
前記ハードウェアまたは前記ソフトウェアの前記組み合わせが異なることを特徴とする情報処理装置。
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.
請求項1に記載の情報処理装置において、
前記特定の記憶領域は、
前記情報処理装置により実行されるアプリケーションプログラム毎に、異なる領域が割り当てられていることを特徴とする情報処理装置。
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.
請求項4に記載のプログラムにおいて、
前記論理パスは、
ハードウェアまたはソフトウェアの少なくともいずれか一方の組み合わせにより設定され、
前記複数の論理パスのそれぞれは、
前記ハードウェアまたは前記ソフトウェアの前記組み合わせが異なることを特徴とするプログラム。
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.
請求項4に記載のプログラムにおいて、
前記特定の記憶領域は、
前記情報処理装置により実行されるアプリケーションプログラム毎に、異なる領域が割り当てられていることを特徴とするプログラム。
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. .
請求項7に記載の情報処理システムにおいて、
前記論理パスは、
ハードウェアまたはソフトウェアの少なくともいずれか一方の組み合わせにより設定され、
前記複数の論理パスのそれぞれは、
前記ハードウェアまたは前記ソフトウェアの前記組み合わせが異なることを特徴とする情報処理システム。
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.
請求項7に記載の情報処理システムにおいて、
前記特定の記憶領域は、
前記情報処理装置により実行されるアプリケーションプログラム毎に、異なる領域が割り当てられていることを特徴とする情報処理システム。
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.
請求項10に記載の情報処理装置の制御方法において、
前記論理パスは、
ハードウェアまたはソフトウェアの少なくともいずれか一方の組み合わせにより設定され、
前記複数の論理パスのそれぞれは、
前記ハードウェアまたは前記ソフトウェアの前記組み合わせが異なることを特徴とする情報処理装置の制御方法。
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.
請求項10に記載の情報処理装置の制御方法において、
前記特定の記憶領域は、
前記情報処理装置により実行されるアプリケーションプログラム毎に、異なる領域が割り当てられていることを特徴とする情報処理装置の制御方法。
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.
JP2002351663A 2002-12-03 2002-12-03 Information processor, program, information processing system and control method for information processor Pending JP2004185327A (en)

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)

* Cited by examiner, † Cited by third party
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

Cited By (3)

* Cited by examiner, † Cited by third party
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