JP5294014B2 - ファイル共有方法、計算機システム及びジョブスケジューラ - Google Patents

ファイル共有方法、計算機システム及びジョブスケジューラ Download PDF

Info

Publication number
JP5294014B2
JP5294014B2 JP2008333135A JP2008333135A JP5294014B2 JP 5294014 B2 JP5294014 B2 JP 5294014B2 JP 2008333135 A JP2008333135 A JP 2008333135A JP 2008333135 A JP2008333135 A JP 2008333135A JP 5294014 B2 JP5294014 B2 JP 5294014B2
Authority
JP
Japan
Prior art keywords
job
host
file
calculation
processor
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2008333135A
Other languages
English (en)
Other versions
JP2010152846A (ja
Inventor
隆 安井
正明 清水
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
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 JP2008333135A priority Critical patent/JP5294014B2/ja
Priority to US12/388,174 priority patent/US8442939B2/en
Publication of JP2010152846A publication Critical patent/JP2010152846A/ja
Application granted granted Critical
Publication of JP5294014B2 publication Critical patent/JP5294014B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/176Support for shared access to files; File sharing support
    • G06F16/1767Concurrency control, e.g. optimistic or pessimistic approaches
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2147Locking files

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明は、複数の計算ホストを含む計算機システムにおいて、ファイルにアクセスしながらジョブを実行する技術に関する。
高速なネットワークに接続された数百台から数千台の計算ホストを含む計算機システムを構築する技術が知られている。各計算ホストにはプロセッサが備えられ、一又は複数の計算ホストによって各種処理が実行される。このような計算機システムは、クラスタ計算機システム、超並列計算機システム、又はスーパーコンピュータとして実現されている。このとき、大規模な計算機システムで処理されるデータ量は膨大であるため、高速なファイルアクセスが必要となる。
大規模な計算機システムにおける高速なファイルアクセスを実現するために、非特許文献1には、ファイルステージングと呼ばれる技術が開示されている。ファイルステージングは、ジョブの実行前後にジョブにアクセスされるファイルを計算ホストとログインホストの間で転送する技術である。ファイルステージングによって、各計算ホストで実行されているジョブは、当該計算ホストに備えられるローカルの記憶デバイス上のファイルにアクセスすればよいため、高速なファイルアクセスを実現できる。
また、大規模な計算機システムにおいて、複数の計算ホストで同じファイルを共有する技術として、非特許文献2には、共有ファイルシステムと呼ばれる技術が開示されている。共有ファイルシステムは、ジョブにアクセスされるファイルを計算ホストとログインホストの間で共有する技術である。共有ファイルシステムでは、ジョブにアクセスされるファイルを計算ホストとログインホストの間で転送する必要がない。
A.Uno、"Software of the Earth Simulator"、Journal of the Earth Simulator、Volume 3、September 2005、52−59 R.Sandberg、"The Sun Network Filesystem: Design, Implementation and Experien"、in Proceedings of the Summer 1986 USENIX Technical Conference and Exhibition
非特許文献1に開示されたファイルステージングが適用された計算機システムでは、各計算ホストにローカルなファイルシステムが備えられている。したがって、ジョブにアクセスされるファイルを計算ホストごとに転送する必要がある。
また、大規模な計算機システムでは、計算ホストの実行効率を向上させるため、ジョブの実行中に別のジョブが割り当てられた場合には、ジョブを実行していない他の計算ホストにジョブが割り当てられる。このとき、非特許文献2に開示された共有ファイルシステムが構築されている計算機システムでは、各計算ホストで実行中のジョブによるファイルアクセスがファイル共有を実現するサーバとなるホストに集中してしまう。このため、あるジョブによるファイルアクセスが別のジョブの実行の妨げとなる可能性が生じる。
本発明は、上記の問題点に鑑みてなされたものであり、複数の計算ホストを備えた計算機システムにおいて、ジョブを処理するために割り当てられた計算ホスト間で必要なファイルを、ジョブの実行時に共有することによって、高速なファイル共有を実現することを目的とする。
本発明の代表的な一形態によれば、
複数の計算機を含み、要求されたジョブを実行する計算機システムにおけるファイル共有方法であって、前記複数の計算機の一部は、それぞれ、前記ジョブを実行する計算ホストであり前記複数の計算機の一つは、前記ジョブの実行要求を受け付けるジョブスケジューラを構成する計算機であり、前記各計算ホストは、他の前記計算ホストに接続される第1のインタフェースと、前記第1のインタフェースに接続される第1のプロセッサと、前記第1のプロセッサに接続される第1のメモリと、を備え、前記ジョブスケジューラを構成する計算機は、前記計算ホストに接続される第2のインタフェースと、前記第2のインタフェースに接続される第2のプロセッサと、前記第2のプロセッサに接続される第2のメモリと、を備え、前記方法は、前記第2のプロセッサが、前記ジョブの実行要求を受け付け、前記第2のプロセッサが、前記受け付けられたジョブの実行要求に基づいて、前記ジョブを実行する前記計算ホストを選択し、前記第2のプロセッサが、前記ジョブの実行に必要なファイルの複製を指示し、前記ジョブが複数の計算ホストによって実行される場合には、前記ジョブを実行する各計算ホストの第1のプロセッサが、前記指示されたファイルの複製を共有し、前記ジョブを実行する各計算ホストの第1のプロセッサが、前記ファイルにアクセスすることによって、前記要求されたジョブを実行し、
前記要求されたジョブの実行が完了した後、前記要求されたジョブを実行する各計算ホストの第1のプロセッサが、前記ファイルの共有を解除することを特徴とするファイル共有方法。
本発明の一形態によれば、ジョブの実行前に必要なファイルを複製し、ファイルを計算ホストが共有することによって、他のジョブの影響を受けることなくジョブの実行に必要なファイルにアクセスすることができる。
以下、本発明の実施の形態を添付図面に基づいて説明する。なお、本発明の実施の形態を説明するためのすべての図面において、同一の構成には原則として同一の符号を付し、共通する説明については省略する。
(第1の実施の形態)
図1は、本発明の第1の実施の形態の計算機システムの構成の一例を示す図である。
本発明の第1の実施の形態の計算機システムは、ログインホスト110及び複数の計算ホスト120を含む。ログインホスト110及び計算ホスト120は、ネットワーク100を介して互いに接続される。また、各計算ホスト120間についても、ネットワーク100を介して互いに接続される。
ログインホスト110は、利用者によるジョブの実行を受け付ける。また、要求されたジョブを実行する計算ホスト120を選択し、選択された計算ホスト120に当該ジョブを実行させるなどの処理(ジョブスケジューリング)を行う。
ログインホスト110は、CPU111、メモリ112、記憶デバイス113及びネットワークインタフェースカード(NIC)114を含む。
CPU111は、メモリ112に記憶されたプログラムを実行することによって、ジョブのスケジューリングなどの処理を実行する。
メモリ112は、CPU111によって実行されるプログラム及び当該プログラムの実行に必要なデータを記憶する。例えば、ジョブのスケジューリングを行うためのプログラムを記憶したり、計算ホスト120の管理情報を記憶したりする。なお、メモリ112に記憶されたプログラム及びデータについては後述する。
記憶デバイス113は、プログラム及びファイルを格納する。例えば、記憶デバイス113に格納されたプログラムがメモリ112にロードされ、CPU111によって実行される。NIC114は、ネットワーク100を介して計算ホスト120に接続するためのインタフェースである。
計算ホスト120は、ログインホスト110によって割り当てられたジョブを実行する。また、単独の計算ホスト120でジョブが処理される場合もあるし、複数の計算ホスト120でジョブが処理される場合もある。また、計算機システムに含まれる計算ホスト120の処理性能は、原則的に同じである。処理性能が相違すると、複数の計算ホスト120でジョブを実行する場合に、処理性能が劣る計算ホスト120がボトルネックとなるおそれがある。
計算ホスト120は、CPU121、メモリ122、記憶デバイス123及びNIC124を含む。
CPU121は、メモリ122に記憶されたプログラムを実行することによって、割り当てられたジョブを処理する。
メモリ122は、CPU121によって実行されるプログラム及び当該プログラムの実行に必要なデータを記憶する。例えば、ジョブを実行するためのプログラムを記憶する。なお、メモリ122に記憶されたプログラム及びデータについては後述する。
記憶デバイス123は、プログラム及びファイルを格納する。例えば、ジョブが割り当てられた際に転送されたプログラムが格納される。格納されたプログラムはメモリ122にロードされ、CPU121に実行されることによって、割り当てられたジョブを処理する。また、ジョブの実行に必要なファイルを格納し、共有ファイルシステムを構成する。
NIC124は、ネットワーク100を介して、ログインホスト110及び他の計算ホスト120に接続するためのインタフェースである。
以上が本発明の第1の実施の形態の計算機システムのハードウェア構成である。続いて、ソフトウェア構成について説明する。
本発明の第1の実施の形態のログインホスト110は、ジョブ200及びジョブスケジューラ210をメモリ112に記憶する。
ジョブ200は、利用者によって要求された計算処理を実行するために必要な情報を含む。ジョブ200には、例えば、データ及び当該データを処理するためのプログラムが含まれる。ジョブ200は、単数又は複数の計算ホスト120によって実行される。
ジョブスケジューラ210は、CPU111によって処理されるプログラムである。ジョブスケジューラ210は、ジョブ200を管理し、例えば、ジョブ200を計算ホスト120に割り当てたり、ジョブ200の割当を解除したりする。
ジョブスケジューラ210は、ジョブ受付部211、ジョブスケジュール部212、ファイルシステム構成要求部213、及びファイルシステム解除要求部214を含む。
ジョブ受付部211は、利用者から要求されたジョブの実行を受け付ける。ジョブ受付部211による処理の詳細については、図5にて後述する。
ジョブスケジュール部212は、ジョブキュー215に格納されたジョブを取得し、当該ジョブを実行する計算ホスト120を割り当てる。さらに、ジョブの実行が終了すると、計算ホスト120に対するジョブの割り当てを解除する。ジョブスケジュール部212による処理の詳細については、図6及び図7にて後述する。
ファイルシステム構成要求部213は、ファイルを共有する計算ホスト120を特定し、共有ファイルシステムを構成するように要求する。ファイルシステム構成要求部213による処理の詳細については、図8にて後述する。
ファイルシステム解除要求部214は、構成された共有ファイルシステムを解除するように要求する。ファイルシステム解除要求部214による処理の詳細については、図9にて後述する。
さらに、ジョブスケジューラ210は、ジョブキュー215及び計算ホスト管理テーブル216を含む。ジョブキュー215は、利用者に処理を要求されたジョブ200を、処理が開始されるまで一時的に格納する。
計算ホスト管理テーブル216は、計算ホスト120の識別情報及び計算ホスト120に対するジョブ200の割り当て状態を保持する。計算ホスト管理テーブル216の構成の詳細については、図3にて後述する。
また、本発明の第1の実施の形態の計算ホスト120は、プログラム220及びファイルシステムプログラム230をメモリ122に記憶する。
プログラム220は、ログインホスト110のジョブスケジューラ210によって割り当てられたジョブ200に含まれているプログラムである。CPU121によってプログラム220が実行されることによって、利用者に要求されたジョブが実行される。
ファイルシステムプログラム230は、CPU121に実行されることによって、共有ファイルシステムの構成及び解除、さらに、ファイルアクセスに必要な処理を行う。
ファイルシステムプログラム230は、ファイルシステム構成部231、ファイルシステム解除部232、マスタサーバ部233、サブサーバ部234、及びクライアント部235を含む。
ファイルシステムプログラム230は、さらに、ファイルシステム構成ファイル236を含む。ファイルシステム構成ファイル236には、共有ファイルシステムを構成する計算ホスト120の情報などが保持される。
ファイルシステム構成部231は、ログインホスト110から受信したファイルシステム構成ファイル236に基づいて、ファイルシステムを構成する。ファイルシステム構成部231による処理の詳細については、図10にて後述する。
ファイルシステム解除部232は、ログインホスト110からジョブの完了を通知された場合に、構成されているファイルシステムを解除する。ファイルシステム解除部232による処理の詳細については、図11にて後述する。
本発明の第1の実施の形態の共有ファイルシステムは、マスタサーバ、サブサーバ及びクライアントによって構成される。計算ホスト120は、ログインホスト110によってジョブ200が割り当てられると、マスタサーバ、サブサーバ及びクライアントの少なくとも一つ以上の機能を実行する。
クライアントは、ジョブ200によるファイルのアクセス要求を受け付ける。サブサーバは、共有されるファイルを記憶デバイス123に格納する。マスタサーバは、ファイルの格納場所を管理し、クライアントからファイルの格納場所を問い合わせられた場合に、当該ファイルを格納するサブサーバを通知する。
本発明の第1の実施の形態では、複数の計算ホスト120でジョブが処理される場合に、各計算ホスト120でジョブ200に含まれるプログラム220が実行されるため、各計算ホスト120でクライアントの機能が実行される。
マスタサーバ部233は、構成された共有ファイルシステム内で、計算ホスト120がマスタサーバとして振る舞うための処理を実行する。マスタサーバ部233による処理の詳細については、図12にて後述する。
サブサーバ部234は、構成された共有ファイルシステム内で、計算ホスト120がサブサーバとして振る舞うための処理を実行する。サブサーバ部234による処理の詳細については、図13にて後述する。
クライアント部235は、構成された共有ファイルシステム内で、計算ホスト120がクライアントとして振る舞うための処理を実行する。クライアント部235による処理の詳細については、図15にて後述する。
図2は、本発明の第1の実施の形態のジョブ200の一例を示す図である。
本発明の第1の実施の形態のジョブ200は、前述のように、要求された計算処理を実行するために必要な情報を含む。図2には、ジョブ200の実行要求の一形態であるスクリプトファイルが示されている。
さらに具体的に説明すると、ジョブ200には、実行推定時間300、使用計算ホスト数310、共有ディレクトリ名320、ステージインファイルリスト330、ステージアウトファイルリスト340が定義されている。
実行推定時間300は、ジョブ200の処理に必要な時間の推定値である。使用計算ホスト数310は、ジョブ200を処理する計算ホスト120の数である。共有ディレクトリ名320は、ジョブを処理する計算ホスト間で共有されるファイルを格納する共有ディレクトリの名前である。
ステージインファイルリスト330は、共有ディレクトリに格納されるファイルの複製元のファイルのリストである。共有ファイルシステムが構成されると、共有ディレクトリ名320によって識別されるディレクトリがマウントされ、ステージインファイルリスト330に指定されたファイルが複製される。
ステージアウトファイルリスト340は、ジョブ200の処理結果が出力されるファイルのリストである。ジョブの実行が完了すると、ステージアウトファイルリスト340に指定されたファイルがログインホスト110に転送される。
図3は、本発明の第1の実施の形態の計算ホスト管理テーブル216の一例を示す図である。
計算ホスト管理テーブル216には、計算ホスト識別子400、計算ホスト名410、IPアドレス420及び実行ジョブ識別子430が含まれる。
計算ホスト識別子400は、計算機システムに含まれる計算ホスト120を識別する識別子である。計算ホスト名410は、計算ホスト120の名前である。IPアドレス420は、計算ホスト120のIPアドレスである。
実行ジョブ識別子430は、計算ホスト120で実行されているジョブ200の識別子である。図3を参照すると、実行ジョブ識別子430が「10」のジョブ200が、計算ホスト「comp0」及び「comp1」で実行されている。
図4は、本発明の第1の実施の形態のファイルシステム構成ファイル236の一例を示す図である。
ログインホスト110は、受け付けられたジョブ200の実行要求に基づいて、共有ファイルシステムの定義情報を含むファイルシステム構成ファイル236を作成する。ログインホスト110は、作成されたファイルシステム構成ファイル236を計算ホスト120に送信し、共有ファイルシステムの構築を指示する。
さらに具体的に説明すると、ファイルシステム構成ファイル236には、マスタサーバ計算ホスト名500、サブサーバ計算ホスト名リスト510、クライアント計算ホスト名リスト520及び共有ディレクトリ名530が含まれる。
マスタサーバ計算ホスト名500は、共有ファイルシステムでマスタサーバとなる計算ホスト120の名前である。
サブサーバ計算ホスト名リスト510は、サブサーバとなる計算ホスト120のリストである。サブサーバ計算ホスト名リスト510には、少なくとも一つの計算ホスト120の名前が記述される。
クライアント計算ホスト名リスト520は、クライアントとなる計算ホスト120のリストである。クライアント計算ホスト名リスト520には、少なくとも一つの計算ホスト120の名前が記述される。
共有ディレクトリ名530には、共有ファイルを格納するディレクトリの名前が記述されている。例えば、図2に示したジョブ200の実行要求に含まれる共有ディレクトリ名320が設定される。
図5は、本発明の第1の実施の形態のジョブ受付部211によって利用者からジョブ200の実行要求を受け付ける手順を示すフローチャートである。
ログインホスト110のCPU111は、ジョブ受付部211を実行することによって、利用者からのジョブ200の実行要求を受け付ける(ステップ600)。
ログインホスト110のCPU111は、ステップ600の処理で受け付けられたジョブ200をジョブキュー215に一時的に格納する(ステップ601)。
図6は、本発明の第1の実施の形態のジョブスケジュール部212によって実行待ちのジョブ200を計算ホスト120に割り当てる手順を示すフローチャートである。
ログインホスト110のCPU111は、まず、ジョブキュー215に実行待ちのジョブ200が格納されているか否かを判定する(ステップ700)。ジョブキュー215に実行待ちのジョブ200が格納されていない場合には(ステップ700の結果が「No」)、処理対象のジョブ200が存在しないため、ジョブキュー215に実行待ちのジョブ200が格納されるまで待機する。
ログインホスト110のCPU111は、ジョブキュー215に実行待ちのジョブ200が格納されている場合には(ステップ700の結果が「Yes」)、ジョブ200を実行するために必要な数の計算ホスト120を確保可能か否かを判定する(ステップ710)。
具体的には、ステップ710の処理は、ジョブが実行されていない計算ホスト120の数が、ジョブ200の実行要求で指定された計算ホスト120の数以上であるか否かを判定する処理である。ジョブが実行されていない計算ホスト120の数は、計算ホスト管理テーブル216を参照し、実行ジョブ識別子430に値が登録されていない計算ホスト120をカウントすることによって取得することができる。ジョブ200の実行要求で指定された計算ホスト120の数は、図2の使用計算ホスト数310で設定された値が対応する。
ログインホスト110のCPU111は、ジョブ200を実行するために必要な数の計算ホスト120を確保可能な場合には(ステップ710の結果が「Yes」)、ジョブ200を割り当てる計算ホスト120の情報を計算ホスト管理テーブル216から取得し、更新する(ステップ720)。具体的には、ジョブ200を割り当てる計算ホスト120に対応するレコードを取得し、当該レコードの実行ジョブ識別子430に実行対象のジョブ200の識別子を登録する。
ログインホスト110のCPU111は、ジョブ200を割り当てる計算ホスト120の情報に基づいて、ファイルシステム構成要求部213を実行することによって、共有ファイルシステムを構築する(ステップ721)。
ログインホスト110のCPU111は、共有ファイルシステムが構築されると、ジョブキュー215から実行待ちのジョブ200を取得し、取得されたジョブ200の実行を計算ホスト120に要求する(ステップ722)。
図7は、本発明の第1の実施の形態のジョブスケジュール部212によって計算ホスト120に対するジョブ200の割り当てを解除する手順を示すフローチャートである。
ログインホスト110のCPU111は、実行が完了したジョブ200が存在するか否かを判定する(ステップ800)。ジョブ200の完了は、例えば、計算ホスト120からジョブ200の実行完了通知を受信するようにしてもよいし、周期的に計算ホスト120に問い合わせるようにしてもよい。
ログインホスト110のCPU111は、実行が完了したジョブ200が存在しない場合には(ステップ800の結果が「No」)、ジョブ200の実行が完了するまで待機する。
一方、ログインホスト110のCPU111は、実行が完了したジョブ200が存在する場合には(ステップ800の結果が「Yes」)、実行が完了したジョブ200に割り当てられていた計算ホスト120の情報を計算ホスト管理テーブル216から取得する(ステップ810)。
さらに、ログインホスト110のCPU111は、ステップ810の処理で取得された計算ホスト120の情報に基づいてファイルシステム解除要求部214を実行し、共有ファイルシステムを解除する(ステップ811)。
最後に、ログインホスト110のCPU111は、計算ホスト管理テーブル216を更新する(ステップ812)。具体的には、実行が完了したジョブ200に割り当てられていた計算ホスト120に対応する計算ホスト管理テーブル216のレコードの実行ジョブ識別子430をクリアする。
図8は、本発明の第1の実施の形態のファイルシステム構成要求部213によって共有ファイルシステムの構築を要求する手順を示すフローチャートである。
ログインホスト110のCPU111は、まず、ジョブスケジュール部212からジョブ200が割り当てられる計算ホスト120の情報を受信する(ステップ900)。
ログインホスト110のCPU111は、受信した計算ホスト120の情報に基づいて、ファイルシステム構成ファイル236を作成する(ステップ901)。ファイルシステム構成ファイル236の内容は、一例として図4にて説明したとおりである。以下、図4に示したファイルシステム構成ファイル236を参照しながら本処理の詳細を説明する。
ログインホスト110のCPU111は、ファイルシステム構成ファイル236を作成すると、まず、マスタサーバとなる計算ホスト120を登録する(ステップ901)。具体的には、ジョブ200が割り当てられた計算ホスト120から一つの計算ホスト120を選択し、選択された計算ホスト120の名前をファイルシステム構成ファイル236のマスタサーバ計算ホスト名500に登録する。マスタサーバとなる計算ホスト120の選択には、例えば、割り当てられた計算ホスト120のうちで識別子が最も小さいものを選択すればよい。
ログインホスト110のCPU111は、次に、サブサーバとなる計算ホスト120を登録する(ステップ902)。本発明の第1の実施の形態では、ジョブ200が割り当てられたすべての計算ホスト120がサブサーバとして機能するように、ファイルシステム構成ファイル236のサブサーバ計算ホスト名リスト510にジョブ200が割り当てられたすべての計算ホスト120を登録する。
さらに、ログインホスト110のCPU111は、クライアントとなる計算ホスト120を登録する(ステップ903)。具体的には、ファイルシステム構成ファイル236のクライアント計算ホスト名リスト520にジョブ200が割り当てられたすべての計算ホスト120を登録する。本発明の第1の実施の形態では、ジョブ200が割り当てられたすべての計算ホスト120でジョブが実行されるため、ファイルアクセスをともなう処理を実行する際にオーバヘッドを最小限にするため、すべての計算ホスト120でクライアント機能を実行させる。
ログインホスト110のCPU111は、共有されるファイルが格納されるディレクトリを登録する(ステップ904)。具体的には、ジョブ200で定義された共有ファイルのディレクトリ(図2の共有ディレクトリ名320)を共有ディレクトリ名530に登録する。
ログインホスト110のCPU111は、ステップ901の処理で登録された共有ファイルシステムのマスタサーバとなる計算ホスト120に、作成したファイルシステム構成ファイル236を転送する(ステップ905)。このとき、ファイルシステム構成ファイル236の転送先の計算ホスト120にファイルシステム構成部231の実行を指示してもよい。ステップ905の処理が終了すると、ジョブ200を処理する計算ホスト120における共有ファイルシステムの構築が完了している。
ログインホスト110のCPU111は、ステップ903の処理で登録された共有ファイルシステムのクライアントとなる計算ホスト120のうちの一つにジョブ200で利用するファイルを転送する(ステップ906)。具体的には、図2のステージインファイルリスト330で指定されたファイルである。ファイルを転送する計算ホスト120には、例えば、クライアントとなる計算ホスト120のうちで識別子が最も小さいものを選択すればよい。
図9は、本発明の第1の実施の形態のファイルシステム解除要求部214によって共有ファイルシステムの解除を要求する手順を示すフローチャートである。
ログインホスト110のCPU111は、まず、ジョブスケジュール部212からジョブ200が割り当てられた計算ホスト120の情報を受信する(ステップ1000)。
ログインホスト110のCPU111は、受信した計算ホスト120の情報に基づいて、共有ファイルシステムのクライアントである計算ホスト120からジョブ200によって使用されたファイルを取得する(ステップ1001)。ジョブ200によって使用されたファイルは、図2のステージアウトファイルリスト340で指定されたファイルに対応する。ファイルを取得するためのクライアントである計算ホスト120は、例えば、識別子が最も小さいものを選択すればよい。
最後に、ログインホスト110のCPU111は、共有ファイルシステムのマスタサーバとして登録されていた計算ホスト120にジョブ200の実行終了を通知する(ステップ1002)。
図10は、本発明の第1の実施の形態のファイルシステム構成部231によって共有ファイルシステムを構築する手順を示すフローチャートである。
計算ホスト120のCPU121は、ログインホスト110のジョブスケジューラ210によって送信されたファイルシステム構成ファイル236を受信する(ステップ1100)。
計算ホスト120のCPU121は、共有ファイルシステムのマスタサーバとして稼働するために、マスタサーバ部233を起動する(ステップ1101)。なお、マスタサーバ部233による処理の詳細については、図12にて後述する。
続いて、計算ホスト120のCPU121は、ステップ1100の処理で受信したファイルシステム構成ファイル236のサブサーバ計算ホスト名リスト510に登録されている計算ホスト120にサブサーバ部234の起動を指示する(ステップ1102)。なお、サブサーバ部234による処理の詳細については、図13にて後述する。
最後に、計算ホスト120のCPU121は、ステップ1100の処理で受信したファイルシステム構成ファイル236のクライアント計算ホスト名リスト520に登録されている計算ホスト120にクライアント部235の起動を指示する(ステップ1103)。なお、クライアント部235による処理の詳細については、図14にて後述する。
図10に示す処理によって、共有ファイルシステムの構築が完了すると、ジョブ200が割り当てられた各計算ホスト120でジョブ200が実行される(図6のステップ722)。
図11は、本発明の第1の実施の形態のファイルシステム解除部232によって共有ファイルシステムを解除する手順を示すフローチャートである。
計算ホスト120のCPU121は、ログインホスト110のジョブスケジューラ210からジョブの終了通知を受信する(ステップ1200)。
計算ホスト120のCPU121は、ファイルシステム構成ファイル236を参照し、サブサーバとして登録されたすべての計算ホスト120に、ジョブ200の実行時に複製されたファイル及びジョブ200の実行中に生成されたファイルの削除を指示する(ステップ1201)。
計算ホスト120のCPU121は、ファイルシステム構成ファイル236を参照し、共有ファイルシステムのクライアントとして登録されていたすべての計算ホスト120にクライアント部235の停止を指示する(ステップ1202)。
計算ホスト120のCPU121は、ファイルシステム構成ファイル236を参照し、共有ファイルシステムのサブサーバとして登録されていたすべての計算ホスト120にサブサーバ部234の停止を指示する(ステップ1203)。
最後に、計算ホスト120のCPU121は、マスタサーバ部233を停止させる(ステップ1204)。
図12は、本発明の第1の実施の形態の共有ファイルシステムのマスタサーバにおける処理の手順を示すフローチャートである。
本処理は、マスタサーバ部233によって、共有ファイルシステムが解除されるまで継続して実行される。また、マスタサーバとしての機能は、記憶デバイス123に格納されたファイルに直接アクセスする処理を含まないため、ジョブの実行又はファイルアクセス処理よりも負荷が小さくなる。そこで、第1の実施の形態では、図4のファイルシステム構成ファイル236に示すように、マスタサーバがサブサーバのいずれかと重複して割り当てられている。
計算ホスト120のCPU121は、共有ファイルシステムのクライアントである計算ホスト120によって送信されたファイルのアクセス要求を受信する(ステップ1300)。
計算ホスト120のCPU121は、要求されたファイルを格納しているサブサーバである計算ホスト120の情報を、ステップ1300の処理でアクセス要求を送信した計算ホスト120に通知する(ステップ1301)。ファイルの格納先であるサブサーバを特定するためには、例えば、共有ディレクトリに格納されたファイルと実際にファイルが格納されている計算ホスト120との対応を保持するようにしてもよい。また、その他の一般的なファイル管理方法でサブサーバである計算ホスト120を特定してもよい。
図13は、本発明の第1の実施の形態の共有ファイルシステムのサブサーバにおける処理の手順を示すフローチャートである。
本処理は、サブサーバ部234によって、共有ファイルシステムが解除されるまで継続して実行される。
計算ホスト120のCPU121は、共有ファイルシステムのクライアントである計算ホスト120のクライアント部235によって送信されたファイルに対するアクセス要求を受信する(ステップ1400)。
計算ホスト120のCPU121は、ステップ1400の処理で受信したアクセス要求に基づいて、記憶デバイス123に格納されたファイルにアクセスする(ステップ1401)。さらに、要求元のクライアントである計算ホスト120に、ファイルに対するアクセス結果を転送する(ステップ1402)。
図14は、本発明の第1の実施の形態の共有ファイルシステムのクライアントにおける処理の手順を示すフローチャートである。
本処理は、クライアント部235によって、共有ファイルシステムが解除されるまで継続して実行される。
計算ホスト120のCPU121は、ジョブ200に含まれるプログラム220の実行によって要求されたファイルアクセスを受け付ける(ステップ1500)。
まず、計算ホスト120のCPU121は、共有ファイルシステムのマスタサーバである計算ホスト120にファイルに対するアクセス要求を発行する(ステップ1501)。
計算ホスト120のCPU121は、マスタサーバである計算ホスト120からファイルを実際に格納している記憶デバイス123を備えるサブサーバである計算ホスト120の情報を受信する(ステップ1502)。
さらに、計算ホスト120のCPU121は、ステップ1502の処理で受信したサブサーバである計算ホスト120の情報に基づいて、ファイルに対するアクセス要求を発行する(ステップ1503)。
計算ホスト120のCPU121は、ステップ1503の処理で送信したファイルアクセス要求のアクセス結果をサブサーバである計算ホスト120から受信する(ステップ1504)。
最後に、計算ホスト120のCPU121は、ステップ1504の処理で受信したファイルに対するアクセス結果をプログラム220へ返す(ステップ1505)。
以上のように、本発明の第1の実施の形態では、ジョブ200を実行する際に動的に共有ファイルシステムを構築することができる。具体的には、ジョブ200が受け付けられると(図5)、当該ジョブ200を処理する計算ホスト120が割り当てられる(図6)。そして、ジョブ200を処理する計算ホスト120によって構成される共有ファイルシステムが構築される(図8及び図10)。そして、構築された共有ファイルシステムにアクセスしながら要求されたジョブ200が処理される(図12〜図14)。そして、ジョブが終了すると、構築されたファイル共有システムが解除される(図9及び図11)。
本発明の第1の実施の形態によれば、ジョブ200が割り当てられた計算ホスト120によって構成される共有ファイルシステムを動的に構築することができる。したがって、他のジョブによるファイルアクセスなどを原因とする処理の遅延を防止することができる。また、ジョブ200の実行に必要なファイルのみを複製して共有ファイルシステムを構築するため、共有ファイルシステムを迅速に構築することができる。
(第2の実施の形態)
本発明の第1の実施の形態の計算機システムでは、ログインホスト110及び計算ホスト120によって構成されていたが、第2の実施の形態の計算機システムでは、ファイルアクセスの性能が計算ホスト120よりも高い計算機であるI/Oホストをさらに含む。第2の実施の形態では、I/Oホストがファイルにアクセスすることによって、ジョブの処理に必要な時間を短縮させる。
以下、図面を参照しながら第2の実施の形態について説明する。なお、第1の実施の形態の共通する内容については適宜省略し、第1の実施の形態との差分を中心に説明する。
図15は、本発明の第2の実施の形態の計算機システムの構成の一例を示す図である。
本発明の第2の実施の形態の計算機システムは、前述したように、ログインホスト110及び複数の計算ホスト120に加え、複数のI/Oホスト1600をさらに含む。ログインホスト110、計算ホスト120及びI/Oホスト1600は、ネットワーク100を介して接続される。また、複数のI/Oホスト1600についても、ネットワーク100を介して互いに接続される。
ログインホスト110及び計算ホスト120のハードウェア構成は、第1の実施の形態と同様である。
I/Oホスト1600は、計算ホスト120と同様に、ジョブの実行時に動的にジョブに割り当てられる。また、ジョブに割り当てられるI/Oホスト1600の数は、計算ホスト120の数と同じである必要はない。
I/Oホスト1600は、CPU1601、メモリ1602、記憶デバイス1603及びNIC1604を含む。CPU1601は、メモリ1602に記憶されたプログラムを実行することによって、ファイルシステムプログラムを実行する。
メモリ1602は、CPU1601によって実行されるプログラム及び当該プログラムを実行するために必要なデータを記憶する。例えば、ファイルアクセスに必要な制御プログラムを記憶する。
記憶デバイス1603は、プログラム及びファイルを格納する。例えば、共有ファイルシステムが構築された場合に、ジョブ200によってアクセスされるファイルが格納される。
NIC1604は、ネットワーク100を介して、ログインホスト110及び計算ホスト120に接続するためのインタフェースである。
続いて、本発明の第2の実施の形態のソフトウェア構成について説明する。本発明の第2の実施の形態のログインホスト110は、第1の実施の形態と同様に、ジョブ200及びジョブスケジューラ210をメモリ112に記憶する。
ジョブ200は、第1の実施の形態と同様である。一方、ジョブスケジューラ210は、第1の実施の形態のジョブスケジューラ210の構成に加え、I/Oホスト管理テーブル1700を有している。
I/Oホスト管理テーブル1700は、I/Oホスト1600の識別情報及びI/Oホスト1600に対するジョブ200の割り当て状態を保持する。なお、I/Oホスト管理テーブル1700の詳細については、図16にて後述する。
また、計算ホスト120は、第1の実施の形態と同様に、ファイルシステムプログラム230及びプログラム220をメモリ122に記憶する。ファイルシステムプログラム230及びプログラム220は、第1の実施の形態と同じでよい。
なお、ファイルシステムプログラム230の構成については、すべてのファイルアクセスをI/Oホスト1600を経由して行う場合には、マスタサーバ部233及びサブサーバ部234を除いた構成としてもよい。
I/Oホスト1600は、ファイルシステムプログラム230をメモリ1602に記憶する。ファイルシステムプログラム230の構成は、第1の実施の形態の計算ホスト120に備えられたファイルシステムプログラム230と同じである。なお、I/Oホスト1600では、クライアント部235を含まない構成としてもよい。
図16は、本発明の第2の実施の形態のI/Oホスト管理テーブル1700の一例を示す図である。
I/Oホスト管理テーブル1700には、I/Oホスト識別子1800、I/Oホスト名1810、IPアドレス1820及び割り当てジョブ識別子1830が含まれる。
I/Oホスト識別子1800は、計算機システムに含まれるI/Oホスト1600の識別子である。I/Oホスト名1810は、I/Oホスト1600の名前である。IPアドレス1820は、I/Oホスト1600のIPアドレスである。割り当てジョブ識別子1830は、I/Oホスト1600に割り当てられているジョブ200の識別子である。
図17は、本発明の第2の実施の形態のファイルシステム構成ファイル236の一例を示す図である。
ログインホスト110は、第1の実施の形態と同様に、受け付けられたジョブ200の実行要求に基づいて、共有ファイルシステムの定義情報を含むファイルシステム構成ファイル236を作成する。ログインホスト110は、作成されたファイルシステム構成ファイル236をI/Oホスト1600に送信し、共有ファイルシステムの構築を指示する。
ファイルシステム構成ファイル236の構成は、形式的には第1の実施の形態と同じである。第2の実施の形態では、マスタサーバ及びサブサーバの機能がI/Oホスト1600によって提供されるため、マスタサーバ計算ホスト名500及びサブサーバ計算ホスト名リスト510の代わりにマスタサーバI/Oホスト名1900及びサブサーバI/Oホスト名リスト1910を含む。
図17に示すファイルシステム構成ファイル236によって共有ファイルシステムを構築すると、I/Oホスト識別子が“io0”のI/Oホスト1600がマスタサーバ、I/Oホスト識別子が“io0”及び“io1”のI/Oホスト1600がサブサーバとして機能する。また、計算ホスト識別子が“comp0”及び“comp1”の計算ホスト120でクライアントとして機能し、要求されたジョブが処理される。
図18は、本発明の第2の実施の形態のジョブスケジュール部212によって実行待ちのジョブ200を計算ホスト120及びI/Oホスト1600に割り当てる手順を示すフローチャートである。
本発明の第2の実施の形態におけるジョブスケジュール部212による処理は、図6に示した第1の実施の形態の手順に加えて、I/Oホスト1600に関する手順が追加されている。
まず、ログインホスト110のCPU111は、第1の実施の形態と同様に、ジョブキュー215に実行待ちのジョブが格納されているか否かを判定し(ステップ700)、さらに、ジョブ200を実行するために必要な数の計算ホスト120を確保可能か否かを判定する(ステップ710)。
ログインホスト110のCPU111は、ジョブ200を実行するために必要な数の計算ホスト120を確保可能である場合には(ステップ710の結果が「Yes」)、さらに、ジョブ200を実行するために必要な数のI/Oホスト1600を確保可能か否かを判定する(ステップ2000)。
具体的には、I/Oホスト管理テーブル1700を参照し、割り当てジョブ識別子1830に値が登録されていないI/Oホスト1600の数を取得し、ジョブ200を実行するために必要なI/Oホスト1600の数以上であるか否かを判定する。I/Oホスト1600は、ファイルアクセス性能の高い計算機であるため、ジョブの実行に必要な計算ホスト120の数よりも少なくてもよい。例えば、ジョブの実行に必要な計算ホスト120の数との間で所定の比率を満たせばよい。このとき、所定の比率とは、計算機システムを構成するすべてのI/Oホスト1600とすべての計算ホスト120との比率としてもよい。また、I/Oホスト1600の性能などに基づいて設定してもよい。
ログインホスト110のCPU111は、ジョブ200を実行するために必要な数のI/Oホスト1600を確保できない場合には(ステップ2000の結果が「No」)、実行中のジョブが完了するまで待機する。
一方、ログインホスト110のCPU111は、ジョブ200を実行するために必要な数のI/Oホスト1600を確保可能な場合には(ステップ2000の結果が「Yes」)、第1の実施の形態と同様に、計算ホスト管理テーブル216を更新し(ステップ720)、ファイルシステム構成要求部213を実行する(ステップ721)。
さらに、ログインホスト110のCPU111は、I/Oホスト管理テーブル1700からジョブ200の実行に必要な数のI/Oホスト1600の情報を取得し、各I/Oホスト1600の割り当てジョブ識別子1830にジョブ200の識別子を登録する(ステップ2010)。
ログインホスト110のCPU111は、共有ファイルシステムを構築するために、ステップ2010の処理で取得されたI/Oホスト1600の情報をファイルシステム構成要求部213に送信する(ステップ2011)。
最後に、ログインホスト110のCPU111は、共有ファイルシステムが構築されると、ジョブキュー215から実行待ちのジョブ200を取得し、取得されたジョブ200の実行を計算ホスト120に要求する(ステップ722)。
図19は、本発明の第2の実施の形態のジョブスケジュール部212によって計算ホスト120及びI/Oホスト1600に対するジョブ200の割り当てを解除する手順を示すフローチャートである。
ログインホスト110のCPU111は、実行中のジョブが完了すると(ステップ800の結果が「Yes」)、第1の実施の形態と同様に、実行が完了したジョブの計算ホスト120に対する割り当てを解除する(ステップ810〜812)。
ログインホスト110のCPU111は、さらに、I/Oホスト管理テーブル1700を参照し、割り当てジョブ識別子1830に実行が終了したジョブ200の識別子が登録されているI/Oホスト1600の情報を取得する(ステップ2100)。
ログインホスト110のCPU111は、ステップ2100の処理で取得されたI/Oホスト1600の情報をファイルシステム解除要求部214に送信する(ステップ2101)。最後に、取得された各I/Oホスト1600の割り当てジョブ識別子1830をクリアする(ステップ2102)。
図20は、本発明の第2の実施の形態のファイルシステム構成要求部213によって共有ファイルシステムの構築を要求する手順を示すフローチャートである。
本発明の第2の実施の形態におけるファイルシステム構成要求部213による処理は、図8に示した第1の実施の形態の手順に加えて、I/Oホスト1600に関する手順を有している。
ログインホスト110のCPU111は、ジョブスケジュール部212から計算ホスト120の情報を受信した後(ステップ900)、ジョブ200に割り当てられたI/Oホスト1600の情報を受信する(ステップ2200)。
ログインホスト110のCPU111は、受信したI/Oホスト1600の情報に基づいて、ファイルシステム構成ファイル236を作成し、マスタサーバとなるI/Oホスト1600を登録する(ステップ2201)。例えば、割り当てられたI/Oホスト1600のうちで識別子が最も小さいものを選択して登録すればよい。
ログインホスト110のCPU111は、次に、サブサーバとなるI/Oホスト1600を登録する(ステップ2202)。具体的には、図17に示したファイルシステム構成ファイル236のサブサーバI/Oホスト名リスト1910にジョブ200に割り当てられたすべてのI/Oホスト1600を登録する。
ログインホスト110のCPU111は、第1の実施の形態と同様に、クライアントとなる計算ホスト120を登録する(ステップ903)。さらに、共有されるファイルが格納されるディレクトリを登録する(ステップ904)。
ログインホスト110のCPU111は、ステップ2201の処理で登録された共有ファイルシステムのマスタサーバとなるI/Oホスト1600に、作成したファイルシステム構成ファイル236を転送する(ステップ2210)。
最後に、ログインホスト110のCPU111は、ステップ903の処理で登録された共有ファイルシステムのクライアントとなる計算ホスト120のうちの一つにジョブ200で利用するファイルを転送する(ステップ906)。
図21は、本発明の第2の実施の形態のファイルシステム解除要求部214によって共有ファイルシステムの解除を要求する手順を示すフローチャートである。
本発明の第2の実施の形態におけるファイルシステム解除要求部214による処理は、図9に示した第1の実施の形態の手順に加えて、I/Oホスト1600に関する手順を有している。
ログインホスト110のCPU111は、第1の実施の形態と同様に、ジョブスケジュール部212からジョブ200が割り当てられた計算ホスト120の情報を受信し(ステップ1000)、クライアントの計算ホスト120からジョブ200で使用されたファイルを取得する(ステップ1001)。
さらに、ログインホスト110のCPU111は、ジョブスケジュール部212からジョブ200が割り当てられたI/Oホスト1600の情報を受信し(ステップ2300)、共有ファイルシステムのマスタサーバとして登録されていたI/Oホスト1600にジョブ200の実行終了を通知する(ステップ2301)。
図22は、本発明の第2の実施の形態のファイルシステム構成部231によって共有ファイルシステムを構築する手順を示すフローチャートである。
本発明の第2の実施の形態におけるファイルシステム構成部231による処理は、図10に示した第1の実施の形態の手順が一部変更され、I/Oホスト1600に関する手順を含んでいる。また、第1の実施の形態では、本処理は計算ホスト120によって実行されていたが、第2の実施の形態では、I/Oホスト1600によって実行される。
I/Oホスト1600のCPU1601は、ログインホスト110のジョブスケジューラ210によって送信されたファイルシステム構成ファイル236を受信し(ステップ1100)、マスタサーバ部233を起動する(ステップ1101)。なお、マスタサーバ部233の詳細については、図24にて後述する。
I/Oホスト1600のCPU1601は、ステップ1100の処理で受信したファイルシステム構成ファイル236のサブサーバI/Oホスト名リスト1910に登録されているすべてのI/Oホスト1600にサブサーバ部234の起動を指示する(ステップ2400)。なお、サブサーバ部234による処理は、動作主体が計算ホスト120からI/Oホスト1600に変更されたこと以外は、図13に示した第1の実施の形態における処理と同じである。
最後に、I/Oホスト1600のCPU1601は、ステップ1100の処理で受信したファイルシステム構成ファイル236のクライアント計算ホスト名リスト520に登録されている計算ホスト120にクライアント部235の起動を指示する(ステップ1103)。なお、クライアント部235による処理の詳細については、図25にて後述する。
図23は、本発明の第2の実施の形態のファイルシステム解除部232によって共有ファイルシステムを解除する手順を示すフローチャートである。
本発明の第2の実施の形態におけるファイルシステム解除部232による処理は、図11に示した第1の実施の形態の手順が一部変更され、I/Oホスト1600に関する手順を含んでいる。
I/Oホスト1600のCPU1601は、ログインホスト110のジョブスケジューラ210からジョブの終了通知を受信する(ステップ1200)。
I/Oホスト1600のCPU1601は、ファイルシステム構成ファイル236を参照し、サブサーバとして登録されたすべてのI/Oホスト1600に、ジョブ200の実行時に複製されたファイル及びジョブ200の実行中に生成されたファイルの削除を指示する(ステップ2500)。
I/Oホスト1600のCPU1601は、第1の実施の形態と同様に、ファイルシステム構成ファイル236を参照し、クライアントとして登録されていたすべての計算ホスト120にクライアント部235の停止を指示する(ステップ1202)。
I/Oホスト1600のCPU1601は、ファイルシステム構成ファイル236を参照し、サブサーバとして登録されていたすべてのI/Oホスト1600にサブサーバ部234の停止を指示する(ステップ2510)。
最後に、I/Oホスト1600のCPU1601は、マスタサーバ部233を停止させる(ステップ1204)。
図24は、本発明の第2の実施の形態の共有ファイルシステムのマスタサーバにおける処理の手順を示すフローチャートである。
本発明の第2の実施の形態におけるマスタサーバ部233による処理は、図12に示した第1の実施の形態の手順が一部変更され、I/Oホスト1600に関する手順を含んでいる。
I/Oホスト1600のCPU1601は、共有ファイルシステムのクライアントである計算ホスト120から送信されたファイルのアクセス要求を受信する(ステップ1300)。
I/Oホスト1600のCPU1601は、要求されたファイルを格納しているサブサーバであるI/Oホスト1600の情報を、ステップ1300の処理でアクセス要求を送信した計算ホスト120に通知する(ステップ2600)。
図25は、本発明の第2の実施の形態の共有ファイルシステムのクライアントにおける処理の手順を示すフローチャートである。
本発明の第2の実施の形態におけるクライアント部235による処理は、図14に示した第1の実施の形態の手順が一部変更され、I/Oホスト1600に関する手順を含んでいる。
計算ホスト120のCPU121は、第1の実施の形態と同様に、ジョブ200に含まれるプログラム220の実行によって要求されたファイルアクセスを受け付ける(ステップ1500)。
計算ホスト120のCPU121は、共有ファイルシステムのマスタサーバであるI/Oホスト1600にファイルに対するアクセス要求を発行する(ステップ2700)。
計算ホスト120のCPU121は、マスタサーバである計算ホスト120からアクセスするファイルを格納しているサブサーバであるI/Oホスト1600の情報を受信する(ステップ2701)。
さらに、計算ホスト120のCPU121は、ステップ2701の処理で受信したサブサーバであるI/Oホスト1600の情報に基づいて、ファイルに対するアクセス要求を発行する(ステップ2702)。
最後に、計算ホスト120のCPU121は、ステップ2702の処理で送信したファイルアクセス要求のアクセス結果をサブサーバであるI/Oホスト1600から受信する(ステップ2703)。
最後に、計算ホスト120のCPU121は、ステップ2703の処理で受信したファイルに対するアクセス結果をプログラム220へ返す(ステップ1505)。
本発明の第2の実施の形態によれば、第1の実施の形態と同様に、ジョブ200が割り当てられた計算ホスト120によって構成される共有ファイルシステムを動的に構築することができる。したがって、他のジョブによるファイルアクセスなどを原因とする処理の遅延を防止することができる。また、ジョブ200の実行に必要なファイルのみを複製して共有ファイルシステムを構築するため、共有ファイルシステムを迅速に構築することができる。
さらに、本発明の第2の実施の形態によれば、計算ホスト120よりもファイルアクセスの性能が高いI/Oホスト1600によって実行されるため、ジョブの実行時にボトルネックとなりやすいファイルアクセスを高速に処理することができる。特に、ファイルアクセスの頻度が高い場合又はサイズの大きいファイルにアクセスする場合など、ファイルアクセスの負荷が高いジョブの実行時に性能を向上させることが可能となる。
以上、実施の形態に基づいて本発明を具体的に説明したが、本発明は上記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能である。
本発明は、計算機システムにおけるファイルへのアクセスの管理に適用することが可能であり、特に、大規模な計算機システムにおけるファイルへの共有アクセスの管理に適用することが可能である。
本発明の第1の実施の形態の計算機システムの構成の一例を示す図である。 本発明の第1の実施の形態のジョブの一例を示す図である。 本発明の第1の実施の形態の計算ホスト管理テーブルの一例を示す図である。 本発明の第1の実施の形態のファイルシステム構成ファイルの一例を示す図である。 本発明の第1の実施の形態のジョブ受付部によって利用者からジョブの実行要求を受け付ける手順を示すフローチャートである。 本発明の第1の実施の形態のジョブスケジュール部によって実行待ちのジョブを計算ホストに割り当てる手順を示すフローチャートである。 本発明の第1の実施の形態のジョブスケジュール部によって計算ホストに対するジョブの割り当てを解除する手順を示すフローチャートである。 本発明の第1の実施の形態のファイルシステム構成要求部によって共有ファイルシステムの構築を要求する手順を示すフローチャートである。 本発明の第1の実施の形態のファイルシステム解除要求部によって共有ファイルシステムの解除を要求する手順を示すフローチャートである。 本発明の第1の実施の形態のファイルシステム構成部によって共有ファイルシステムを構築する手順を示すフローチャートである。 本発明の第1の実施の形態のファイルシステム解除部によって共有ファイルシステムを解除する手順を示すフローチャートである。 本発明の第1の実施の形態の共有ファイルシステムのマスタサーバにおける処理の手順を示すフローチャートである。 本発明の第1の実施の形態の共有ファイルシステムのサブサーバにおける処理の手順を示すフローチャートである。 本発明の第1の実施の形態の共有ファイルシステムのクライアントにおける処理の手順を示すフローチャートである。 本発明の第2の実施の形態の計算機システムの構成の一例を示す図である。 本発明の第2の実施の形態のI/Oホスト管理テーブルの一例を示す図である。 本発明の第2の実施の形態のファイルシステム構成ファイルの一例を示す図である。 本発明の第2の実施の形態のジョブスケジュール部によって実行待ちのジョブを計算ホスト及びI/Oホストに割り当てる手順を示すフローチャートである。 本発明の第2の実施の形態のジョブスケジュール部によって計算ホスト及びI/Oホストに対するジョブの割り当てを解除する手順を示すフローチャートである。 本発明の第2の実施の形態のファイルシステム構成要求部によって共有ファイルシステムの構築を要求する手順を示すフローチャートである。 本発明の第2の実施の形態のファイルシステム解除要求部によって共有ファイルシステムの解除を要求する手順を示すフローチャートである。 本発明の第2の実施の形態のファイルシステム構成部によって共有ファイルシステムを構築する手順を示すフローチャートである。 本発明の第2の実施の形態のファイルシステム解除部によって共有ファイルシステムを解除する手順を示すフローチャートである。 本発明の第2の実施の形態の共有ファイルシステムのマスタサーバにおける処理の手順を示すフローチャートである。 本発明の第2の実施の形態の共有ファイルシステムのクライアントにおける処理の手順を示すフローチャートである。
符号の説明
100 ネットワーク
110 ログインホスト
111 CPU
112 メモリ
113 記憶デバイス
114 NIC
120 計算ホスト
121 CPU
122 メモリ
123 記憶デバイス
124 NIC
200 ジョブ
210 ジョブスケジューラ
211 ジョブ受付部
212 ジョブスケジュール部
213 ファイルシステム構成要求部
214 ファイルシステム解除要求部
215 ジョブキュー
216 計算ホスト管理テーブル
220 プログラム
230 ファイルシステムプログラム
231 ファイルシステム構成部
232 ファイルシステム解除部
233 マスタサーバ部
234 サブサーバ部
235 クライアント部
236 ファイルシステム構成ファイル
300 実行推定時間
310 使用計算ホスト数
320 共有ディレクトリ名
330 ステージインファイルリスト
340 ステージアウトファイルリスト
400 計算ホスト識別子
410 計算ホスト名
420 IPアドレス
430 実行ジョブ識別子
500 マスタサーバ計算ホスト名
510 サブサーバ計算ホスト名リスト
520 クライアント計算ホスト名リスト
530 共有ディレクトリ名
1600 I/Oホスト
1601 CPU
1602 メモリ
1603 記憶デバイス
1604 NIC
1700 I/Oホスト管理テーブル
1800 I/Oホスト識別子
1810 I/Oホスト名
1820 IPアドレス
1830 割り当てジョブ識別子
1900 マスタサーバI/Oホスト名
1910 サブサーバI/Oホスト名リスト

Claims (13)

  1. 複数の計算機を含み、要求されたジョブを実行する計算機システムにおけるファイル共有方法であって、
    前記複数の計算機の一部は、それぞれ、前記ジョブを実行する計算ホストであり
    前記複数の計算機の一つは、前記ジョブの実行要求を受け付けるジョブスケジューラを構成する計算機であり、
    前記各計算ホストは、他の前記計算ホストに接続される第1のインタフェースと、前記第1のインタフェースに接続される第1のプロセッサと、前記第1のプロセッサに接続される第1のメモリと、を備え、
    前記ジョブスケジューラを構成する計算機は、前記計算ホストに接続される第2のインタフェースと、前記第2のインタフェースに接続される第2のプロセッサと、前記第2のプロセッサに接続される第2のメモリと、を備え、
    前記方法は、
    前記第2のプロセッサが、前記ジョブの実行要求を受け付け、
    前記第2のプロセッサが、前記受け付けられたジョブの実行要求に基づいて、前記ジョブを実行する前記計算ホストを選択し、
    前記第2のプロセッサが、前記ジョブの実行に必要なファイルの複製を指示し、
    前記ジョブが複数の計算ホストによって実行される場合には、前記ジョブを実行する各計算ホストの第1のプロセッサが、前記指示されたファイルの複製を共有し、
    前記ジョブを実行する各計算ホストの第1のプロセッサが、前記ファイルにアクセスすることによって、前記要求されたジョブを実行し、
    前記要求されたジョブの実行が完了した後、前記要求されたジョブを実行する各計算ホストの第1のプロセッサが、前記ファイルの共有を解除することを特徴とするファイル共有方法。
  2. 前記各計算ホストは、前記ファイルを格納する記憶装置をさらに備え、
    前記方法は、
    前記第2のプロセッサが、前記ジョブを実行する計算ホストのうちの一つの計算ホストに前記ファイルの複製を転送し、
    前記ファイルの複製が転送された計算ホストの第1のプロセッサが、前記記憶装置に前記ファイルの複製を格納することを特徴とする請求項1に記載のファイル共有方法。
  3. 前記方法は、
    前記第2のプロセッサが、前記ファイルを格納する計算ホストを特定するための情報を保持するマスタサーバを、前記計算ホストから選択し、
    前記ジョブを実行する各計算ホストの第1のプロセッサが、前記ジョブの実行に必要なファイルにアクセスする場合には、前記マスタサーバに問い合わせることによって、前記ファイルが格納された計算ホストを特定し、
    前記ジョブを実行する各計算ホストの第1のプロセッサが、前記特定された計算ホストから前記ジョブの実行に必要なファイルを取得することを特徴とする請求項2に記載のファイル共有方法。
  4. 前記方法は、
    前記第2のプロセッサが、前記ファイルの複製を転送する前に、前記ジョブを実行する計算ホストの一覧を含むファイル共有システム構成情報を前記マスタサーバに送信し、
    前記マスタサーバの第1のプロセッサが、前記ファイル共有システム構成情報に基づいて、前記ジョブの実行に必要なファイルが格納された計算ホストを特定することを特徴とする請求項3に記載のファイル共有方法。
  5. 前記複数の計算機には、ファイルにアクセスする性能が前記計算ホストより高い複数のI/Oホストがさらに含まれ、
    前記各I/Oホストは、前記ジョブスケジューラ及び前記計算ホストと通信可能な第3のインタフェースと、前記第3のインタフェースに接続される第3のプロセッサと、前記第3のプロセッサに接続される第3のメモリと、前記ファイルを格納する記憶装置と、を備え、
    前記方法は、
    前記第2のプロセッサが、前記受け付けられたジョブの実行要求に基づいて、前記ファイルを格納する少なくとも一つ以上の前記I/Oホストを選択し、
    前記第2のプロセッサが、前記選択されたI/Oホストに前記生成されたファイルの複製を転送し、
    前記選択されたI/Oホストの第3のプロセッサが、前記複製されたファイルを前記記憶装置に格納し、
    前記ジョブを実行する各計算ホストの第1のプロセッサが、前記選択されたI/Oホストから前記ジョブの実行に必要なファイルを取得することを特徴とする請求項1に記載のファイル共有方法。
  6. 前記方法は、
    前記第2のプロセッサが、前記ファイルを格納するI/Oホストを特定するための情報を保持するマスタサーバを、前記選択されたI/Oホストから選択し、
    前記ジョブを実行する各計算ホストの第1のプロセッサが、前記ジョブの実行に必要なファイルにアクセスする場合には、前記マスタサーバに問い合わせることによって、前記ファイルが格納されたI/Oホストを特定し、
    前記ジョブを実行する各計算ホストの第1のプロセッサが、前記特定されたI/Oホストから前記ジョブの実行に必要なファイルを取得することを特徴とする請求項5に記載のファイル共有方法。
  7. 前記方法は、
    前記第2のプロセッサが、前記ファイルの複製を転送する前に、前記ファイルを格納するI/Oホストの一覧を含むファイル共有システム構成情報を前記マスタサーバに送信し、
    前記マスタサーバの第3のプロセッサが、前記ファイル共有システム構成情報に基づいて、前記ジョブの実行に必要なファイルが格納されたI/Oホストを特定することを特徴とする請求項6に記載のファイル共有方法。
  8. 前記方法は、前記第2のプロセッサが、前記複数の計算機に含まれる前記計算ホストの数と前記I/Oホストの数との比率に基づいて、前記選択されるI/Oホストの数を決定することを特徴とする請求項5に記載のファイル共有方法。
  9. 複数の計算機を含み、要求されたジョブを実行する計算機システムであって、
    前記複数の計算機の一部は、それぞれ、前記ジョブを実行する複数の計算ホストであり、
    前記複数の計算機の一つは、前記ジョブの実行要求を受け付けるジョブスケジューラを構成する計算機であり、
    前記各計算ホストは、他の前記計算ホストに接続される第1のインタフェースと、前記第1のインタフェースに接続される第1のプロセッサと、前記第1のプロセッサに接続される第1のメモリと、を備え、
    前記ジョブスケジューラを構成する計算機は、前記計算ホストに接続される第2のインタフェースと、前記第2のインタフェースに接続される第2のプロセッサと、前記第2のプロセッサに接続される第2のメモリと、を備え、
    前記ジョブスケジューラを構成する計算機は、
    前記ジョブの実行要求を受け付け、
    前記受け付けられたジョブの実行要求に基づいて、前記ジョブを実行する前記計算ホストを選択し、
    前記ジョブの実行に必要なファイルの複製を指示し、
    前記ジョブを実行する各計算ホストは、
    前記ジョブが複数の計算ホストによって実行される場合には、前記指示されたファイルの複製を共有し、
    前記ファイルにアクセスすることによって、前記要求されたジョブを実行し、
    前記要求されたジョブの実行が完了した後、前記ファイルの共有を解除することを特徴とする計算機システム。
  10. 前記各計算ホストは、前記ファイルを格納する記憶装置をさらに備え、
    前記ジョブスケジューラを構成する計算機は、
    前記ジョブを実行する計算ホストのうちの一つの計算ホストに前記ファイルの複製を転送し、
    前記ファイルの複製が転送された計算ホストは、前記記憶装置に前記ファイルの複製を格納することを特徴とする請求項9に記載の計算機システム。
  11. 前記ジョブスケジューラを構成する計算機は、
    前記ファイルを格納する計算ホストを特定するための情報を保持するマスタサーバを、前記計算ホストから選択し、
    前記ジョブを実行する各計算ホストは、
    前記ジョブの実行に必要なファイルにアクセスする場合には、前記マスタサーバに問い合わせることによって、前記ファイルが格納された計算ホストを特定し、
    前記特定された計算ホストから前記ジョブの実行に必要なファイルを取得することを特徴とする請求項10に記載の計算機システム。
  12. 前記複数の計算機には、ファイルにアクセスする性能が前記計算ホストより高い複数のI/Oホストがさらに含まれ、
    前記各I/Oホストは、前記ジョブスケジューラ及び前記計算ホストと通信可能な第3のインタフェースと、前記第3のインタフェースに接続される第3のプロセッサと、前記第3のプロセッサに接続される第3のメモリと、前記ファイルを格納する記憶装置と、を備え、
    前記ジョブスケジューラを構成する計算機は、
    前記第2のプロセッサが、前記受け付けられたジョブの実行要求に基づいて、前記ファイルを格納する少なくとも一つ以上の前記I/Oホストを選択し、
    前記第2のプロセッサが、前記選択されたI/Oホストに前記生成されたファイルの複製を転送し、
    前記選択されたI/Oホストは、前記複製されたファイルを前記記憶装置に格納し、
    前記ジョブを実行する各計算ホストは、前記選択されたI/Oホストから前記ジョブの実行に必要なファイルを取得することを特徴とする請求項9に記載の計算機システム。
  13. 前記ジョブスケジューラを構成する計算機は、
    前記ファイルを格納するI/Oホストを特定するための情報を保持するマスタサーバを、前記選択されたI/Oホストから選択し、
    前記ジョブを実行する各計算ホストは、
    前記ジョブの実行に必要なファイルにアクセスする場合には、前記マスタサーバに問い合わせることによって、前記ファイルが格納されたI/Oホストを特定し、
    前記特定されたI/Oホストから前記ジョブの実行に必要なファイルを取得することを特徴とする請求項12に記載の計算機システム。
JP2008333135A 2008-12-26 2008-12-26 ファイル共有方法、計算機システム及びジョブスケジューラ Expired - Fee Related JP5294014B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2008333135A JP5294014B2 (ja) 2008-12-26 2008-12-26 ファイル共有方法、計算機システム及びジョブスケジューラ
US12/388,174 US8442939B2 (en) 2008-12-26 2009-02-18 File sharing method, computer system, and job scheduler

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008333135A JP5294014B2 (ja) 2008-12-26 2008-12-26 ファイル共有方法、計算機システム及びジョブスケジューラ

Publications (2)

Publication Number Publication Date
JP2010152846A JP2010152846A (ja) 2010-07-08
JP5294014B2 true JP5294014B2 (ja) 2013-09-18

Family

ID=42286100

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008333135A Expired - Fee Related JP5294014B2 (ja) 2008-12-26 2008-12-26 ファイル共有方法、計算機システム及びジョブスケジューラ

Country Status (2)

Country Link
US (1) US8442939B2 (ja)
JP (1) JP5294014B2 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8307134B2 (en) 2010-01-15 2012-11-06 Apple Inc. Multiple communication interfaces on a portable storage device
JP5640151B2 (ja) * 2011-05-31 2014-12-10 株式会社日立製作所 計算機及び計算機によるデータ管理方法
US20170308542A1 (en) * 2014-11-01 2017-10-26 Hewlett Packard Enterprise Development Lp File system configuration data storage
WO2017217653A1 (ko) * 2016-06-16 2017-12-21 재단법인 실감교류인체감응솔루션연구단 다중 사용자간 데이터 공유를 위한 데이터 처리 장치, 방법 및 컴퓨터 프로그램
CN113678113A (zh) * 2019-03-29 2021-11-19 美光科技公司 计算存储装置与基于网络化的系统

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS60209858A (ja) * 1984-04-04 1985-10-22 Hitachi Ltd フアイル処理方式
JPS63301352A (ja) * 1987-06-02 1988-12-08 Nec Corp 通信制御によるフアイル共有デ−タ交換方式
US5386517A (en) * 1993-01-26 1995-01-31 Unisys Corporation Dual bus communication system connecting multiple processors to multiple I/O subsystems having a plurality of I/O devices with varying transfer speeds
JPH0713823A (ja) * 1993-06-24 1995-01-17 Nec Corp 仮想計算機システムにおけるファイル資源管理方式
JPH0785020A (ja) * 1993-09-20 1995-03-31 Hitachi Ltd 文書管理方法
WO2003005247A2 (en) * 2001-07-06 2003-01-16 Computer Associates Think, Inc. Systems and methods of information backup
CN1294514C (zh) * 2001-08-20 2007-01-10 信息中心科技有限公司 高效的计算机文件备份系统和方法
JP4603256B2 (ja) * 2003-12-01 2010-12-22 日本電気株式会社 ユーザ認証システム
JP4992408B2 (ja) * 2006-12-19 2012-08-08 富士通株式会社 ジョブ割当プログラム、方法及び装置
JP4370336B2 (ja) * 2007-03-09 2009-11-25 株式会社日立製作所 低消費電力ジョブ管理方法及び計算機システム
KR20100133418A (ko) * 2008-04-15 2010-12-21 인터내셔널 비지네스 머신즈 코포레이션 워크로드 스케줄링을 위한 방법, 시스템 및 컴퓨터 프로그램
US8209299B2 (en) * 2008-04-28 2012-06-26 International Business Machines Corporation Selectively generating program objects on remote node of a multi-node computer system

Also Published As

Publication number Publication date
US8442939B2 (en) 2013-05-14
JP2010152846A (ja) 2010-07-08
US20100169271A1 (en) 2010-07-01

Similar Documents

Publication Publication Date Title
US10275851B1 (en) Checkpointing for GPU-as-a-service in cloud computing environment
JP5191062B2 (ja) ストレージ制御システム、ストレージ制御システムに関する操作方法、データ・キャリア及びコンピュータ・プログラム
JP4375435B2 (ja) 予知型データ移行を行う階層ストレージシステム
JP6963168B2 (ja) 情報処理装置、メモリ制御方法およびメモリ制御プログラム
US20190235900A1 (en) Automated data migration of services of a virtual machine to containers
JP2005056391A (ja) コンピューティング環境の作業負荷を均衡させる方法およびシステム
WO2012163245A1 (zh) 一种基于事务的服务控制系统及其控制方法
JP5862359B2 (ja) シンクライアントシステム、接続管理サーバ、接続管理方法、及び接続管理プログラム
JP2005018782A (ja) 分散ビルド環境におけるソフトウェアイメージ作成
WO2015083255A1 (ja) 計算機システム及び仮想マシンの制御方法
JP5294014B2 (ja) ファイル共有方法、計算機システム及びジョブスケジューラ
Mohamed et al. KOALA: a co‐allocating grid scheduler
US20190356541A1 (en) Apparatuses and methods for zero touch computing node initialization
JP2012103879A (ja) セッション管理方法、セッション管理システム及びプログラム
JP2008107966A (ja) 計算機システム
JP2006099307A (ja) 分散サーバへのアプリケーションセットのインストール方法
JP2017068480A (ja) ジョブ管理方法、ジョブ管理装置及びプログラム
JP5549189B2 (ja) 仮想マシン管理装置、仮想マシン管理方法、及び仮想マシン管理プログラム
US20150067689A1 (en) Method, system, and program for scheduling jobs in a computing system
JP2018041274A (ja) 情報処理装置その制御方法、印刷システム及びプログラム
Solt et al. Scalable, fault-tolerant job step management for high-performance systems
JP2007141056A (ja) 情報処理システムおよびライセンス管理方法
WO2011117921A1 (en) Method for concurrency control in a file versioning system
WO2016017219A1 (ja) データ処理システム及びデータ処理方法及びプログラム
JP2007179100A (ja) ジョブキューシステムおよびジョブ管理方法、制御プログラム、可読記録媒体

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20111027

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120309

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20121002

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20121003

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20121126

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20130514

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130529

R150 Certificate of patent or registration of utility model

Ref document number: 5294014

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees