JP2004348233A - ファイル共有システム及びサーバー並びにプログラム - Google Patents
ファイル共有システム及びサーバー並びにプログラム Download PDFInfo
- Publication number
- JP2004348233A JP2004348233A JP2003141941A JP2003141941A JP2004348233A JP 2004348233 A JP2004348233 A JP 2004348233A JP 2003141941 A JP2003141941 A JP 2003141941A JP 2003141941 A JP2003141941 A JP 2003141941A JP 2004348233 A JP2004348233 A JP 2004348233A
- Authority
- JP
- Japan
- Prior art keywords
- processing
- requests
- request
- server
- information
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
【解決手段】サーバー2では、I/O処理プロセス204により、各クライアント1−1〜1−nから送られてきたI/O要求を処理する。ここで、I/O処理プロセス204の数は、固定ではなく、サーバー2のI/O負荷に応じて動的に変更される。この動的なI/O処理プロセス数の変更は、プロセス数制御手段213がI/Oキュー206にキューイングされているI/O要求数や、I/O要求によって占有されているI/O処理プロセス204の数に基づいて行う。
【選択図】 図1
Description
【発明の属する技術分野】
本発明は、ファイルシステムを管理するサーバーと、サーバーに対してI/O要求を送信する複数のクライアントとを備えたファイル共有システムに関し、特に、サーバー上に無駄なシステム資源を確保することなく、効率良くI/O要求を処理することが可能なファイル共有システムに関する。
【0002】
【従来の技術】
従来から図14に示すように、ネットワーク回線6を介して相互に接続された複数のクライアント1−1〜1−nとサーバー2とが、複数のディスク装置5−1〜5−mからなるファイルシステム4を交換機3を介して共有するファイル共有システムが知られている(例えば、特許文献1参照)。
【0003】
この特許文献1に示されているファイル共有システムは、次のようにしてデータの入出力を行う。先ず、クライアント1−i(1≦i≦n)が、ネットワーク回線6を介してサーバー2へ、I/O処理の対象にするファイルのファイル名等を含むI/O要求を送信する。サーバー2内には、I/O要求を処理するプロセスである入出力制御手段(図示せず)が存在し、この入出力制御手段は、クライアント1−iからI/O要求が送られてくると、I/O処理の対象にするディスク装置5−j(1≦j≦m)のネットワークアドレスを求め、このネットワークアドレスをI/O要求に付加した拡張入出力命令をクライアント1−iに返信する。クライアント1−iでは、拡張入出力命令をディスク装置5−jに対するI/O命令に変換し、交換機3を介してディスク装置5−jへ発行する。これにより、クライアント1−iとディスク装置5−jとの間で、サーバー2を介さずに直接データの入出力が行われる。データの入出力が完了すると、クライアント1−iは、サーバー2に対して送信完了通知を送り、この通知を受けたサーバー2内の入出力制御手段は、I/O要求の完了通知をクライアント1−iに返信する。
【0004】
【特許文献1】
特開2000−250821号公報
【0005】
【発明が解決しようとする課題】
上述した特許文献1に記載された従来の技術によれば、サーバーを介さずに、クライアントとディスク装置との間で直接データを入出力することができるので、サーバーを介してデータを入出力する場合に比較して、高速にデータを入出力することができる。しかし、特許文献1では、I/O要求を処理するプロセス(入出力制御手段)のプロセス数については、全く言及していないため、次のような問題があった。
【0006】
サーバーに多数のクライアントから多数の入出力要求が送られてきた場合、I/O要求を処理するプロセス数が少ないと、待ちが発生し、I/O処理効率が悪くなる。また、この問題を解消するために、常時多数のプロセスを起動したとすると、I/O負荷が低い場合は、サーバーのシステム資源を無駄に消費することになり、I/O処理以外の他の処理の処理効率が悪くなる可能性がある。
【0007】
そこで、本発明の目的は、サーバー上に無駄なシステム資源を確保することなく、効率良くI/O要求を処理できるようにすることにある。
【0008】
【課題を解決するための手段】
本発明にかかるファイル共有システムは、上記目的を達成するため、
ファイルシステムを管理するサーバーと、該サーバーに対してI/O要求を送信する複数のクライアントとを備えたファイル共有システムにおいて、
前記サーバーが、
前記クライアントから送られてきたI/O要求に従った処理を行うI/O処理プロセスであって、前記I/O要求に従った処理が完了するまで前記I/O要求に占有されるI/O処理プロセスと、
該I/O処理プロセスの数を、自サーバーのI/O負荷に応じて動的に変更するプロセス数制御手段とを備えたことを特徴とする。
【0009】
より具体的には、本発明にかかるファイル共有システムは、
ファイルシステムを管理するサーバーと、該サーバーに対してI/O要求を送信する複数のクライアントとを備えたファイル共有システムにおいて、
前記サーバーが、
前記クライアントから送られてきたI/O要求をキューイングするI/Oキューと、
該I/OキューからI/O要求を取り出し、該I/O要求に従って処理を行うI/O処理プロセスであって、前記I/O要求に従った処理が完了するまで、前記I/O要求に占有されるI/O処理プロセスと、
前記I/OキューにキューイングされているI/O要求数と、I/O処理プロセスを占有しているI/O要求数との和である処理対象I/O要求数が増加する傾向にあり、且つ現時点における処理対象I/O要求数が現時点における起動I/O処理プロセス数よりも閾値以上大きい場合は、起動I/O処理プロセス数を現時点の処理対象I/O要求数まで増加させ、処理対象I/O要求数が減少する傾向にあり、且つ現時点における処理対象I/O要求数が現時点における起動I/O処理プロセス数よりも前記閾値以上小さい場合は、起動I/O処理プロセス数を現時点の処理対象I/O要求数まで減少させるプロセス数制御手段とを備えたことを特徴とする。
【0010】
また、本発明にかかるファイル共有システムは、
前記プロセス数制御手段が、
処理対象I/O要求数が増加する傾向にあり、且つ現時点における処理対象I/O要求数が現時点における起動I/O処理プロセス数よりも閾値以上多い場合は、起動I/O処理プロセス数を現時点の処理対象I/O要求数まで増加させるための起動プロセス数増加指示を出力し、処理対象I/O要求数が減少する傾向にあり、且つ現時点における処理対象I/O要求数が現時点における起動I/O処理プロセス数よりも前記閾値以上少ない場合は、起動I/O処理プロセス数を現時点の処理対象I/O要求数まで減少させるための起動プロセス数減少指示を出力するという処理を所定時間毎に行う処理対象I/O要求数増減判別手段と、
該処理対象I/O要求数増減判別手段から出力される起動プロセス数増加指示に従って、新たなI/O処理プロセスを起動するプロセス起動手段と、
前記処理対象I/O要求数増減判別手段から出力される起動プロセス数減少指示に従って、I/O要求待ち状態にあるI/O処理プロセスを終了させるプロセス終了手段とを備えたことを特徴とする。
【0011】
また、本発明にかかるファイル共有システムは、クライアントとサーバーとの間でデータをやり取りせず、クライアントとディスク装置との間で直接データを入出力できるようにするため、
前記各クライアントが、
前記ファイルシステム上の論理位置を含むI/O要求を前記サーバーに送信し、前記サーバーから前記I/O要求中の論理位置に対応する物理位置を含むraw I/O情報が返信されたとき、前記raw I/O情報に従ってディスク装置に対するI/O処理を行うI/O発行手段を備え、
前記サーバーが、
送信キューと、
該送信キューからraw I/O情報を取り出し、該raw I/O情報に対応するI/O要求の送信元のクライアントへ返信するサーバー側送信手段とを備え、且つ、
前記I/O処理プロセスが、
前記I/OキューからI/O要求を取り出し、該取り出したI/O要求中の論理位置に対応する物理位置を含むraw I/O情報を前記送信キューにキューイングする構成を有することを特徴とする。
【0012】
また、本発明にかかるファイル共有システムは、I/O対象にするファイルが、複数のディスク装置によってストライピングされたファイルシステム上に存在する場合であっても、並列I/O性能を損なわないようにするため、
ファイルシステムを管理するサーバーと、該サーバーに対してI/O要求を送信する複数のクライアントとを備えたファイル共有システムにおいて、
前記各クライアントが、
前記ファイルシステム上の論理位置を含むI/O要求を前記サーバーに送信し、前記サーバーから前記I/O要求中の論理位置に対応する物理位置を含む複数のraw I/O情報が返信される毎に既に行っているI/O処理の終了を待たずに前記raw I/O情報に従ってディスク装置に対するI/O処理を行い、前記サーバーから前記I/O要求に対するI/O終了通知が送られてきたとき、終了処理を行うI/O発行手段と、
前記raw I/O情報に従ったI/O処理が終了する毎に、前記サーバーへI/O終了情報を送信する、前記I/O発行手段とは独立して動作するクライアント側送信手段とを備え、
前記サーバーが、
I/Oキューと、
送信キューと、
前記各クライアントから送られてきたI/O要求を前記I/OキューにキューイングするI/O要求受信手段と、
前記I/OキューにキューイングされているI/O要求を取り出し、該取り出したI/O要求中の論理位置に対応する各物理位置毎のraw I/O情報であって対応する物理位置を含むraw I/O情報を前記送信キューにキューイングし、前記各raw I/O情報に対応するI/O終了情報を全て受信したとき、前記I/O要求の送信元のクライアントに対してI/O終了通知を送信するI/O処理プロセスと、
前記送信キューからraw I/O情報を取り出し、該raw I/O情報に対応するI/O要求の送信元のクライアントへ送信するサーバー側送信手段と、
前記各クライアントからのI/O終了情報を受信し、該受信したI/O終了情報を、該I/O終了情報と対応するI/O要求によって占有されているI/O処理プロセスに渡す受信手段と、
前記I/OキューにキューイングされているI/O要求数と、I/O処理プロセスを占有しているI/O要求数との和である処理対象I/O要求数が増加する傾向にあり、且つ現時点における処理対象I/O要求数が現時点における起動I/O処理プロセス数よりも閾値以上大きい場合は、起動I/O処理プロセス数を現時点の処理対象I/O要求数まで増加させ、処理対象I/O要求数が減少する傾向にあり、且つ現時点における処理対象I/O要求数が現時点における起動I/O処理プロセス数よりも前記閾値以上小さい場合は、起動I/O処理プロセス数を現時点の処理対象I/O要求数まで減少させるプロセス数制御手段とを備えたことを特徴とする。
【0013】
【作用】
サーバーに対して、多数のクライアントから多数のI/O要求が発行され、サーバーのI/O負荷が高くなった場合、I/O要求を効率的に処理するためには、多くのI/O処理プロセスが必要になる。一方、I/O負荷が低い場合は、多数のI/O処理プロセスは必要としないが、I/O負荷が上がった場合のことを考慮して、予めクライアントからのI/O要求数に見合った数のI/O処理プロセスを起動しておく必要がある。しかし、負荷が低い場合に、I/O負荷が上がった場合のことを考慮して多くのI/O処理プロセスを起動しておくと、システム資源が無駄に消費され、他の処理に悪影響を与える可能性がある。
【0014】
そこで、本発明では、I/O要求を処理するI/O処理プロセスの数を、サーバーのI/O負荷に応じて動的に変更するプロセス数制御手段を設けることにより、サーバー上に無駄なシステム資源を確保することなく、効率良くI/O要求を処理できるようにしている。プロセス数制御手段では、I/OキューにキューイングされているI/O要求数と、I/O処理プロセスを占有しているI/O要求数との和である処理対象I/O要求数が増加する傾向にあるのか、減少する傾向にあるのかを判断している。そして、処理対象I/O要求数が増加する傾向にあり、且つ現時点における処理対象I/O要求数が、現時点における起動I/O処理プロセス数よりも閾値以上大きい場合は、起動I/O処理プロセス数を現時点の処理対象I/O要求数まで増加させる。これに対して、処理対象I/O要求数が減少する傾向にあり、且つ現時点における処理対象I/O要求数が、現時点における起動I/O処理プロセス数よりも閾値以上小さい場合は、起動I/O処理プロセス数を現時点の処理対象I/O要求数まで減少させる。
【0015】
また、本発明のファイル共有システムは、ファイルに対する入出力を行う場合、クライアントからサーバーに対しては、ファイルシステム上の論理位置を含むI/O要求を送信し、サーバーからクライアントに対しては、上記I/O要求に含まれている論理位置に対応する物理位置を含むraw I/O情報を送信するだけであるので、クライアントとサーバーとの間では、入出力するデータをやり取りせずに、クライアントとディスク装置との間で直接データを入出力することが可能になる。
【0016】
更に、本発明のファイル共有システムは、I/O対象にするファイルが、複数のディスク装置によってストライピングされたファイルシステム上に存在する場合における並列I/O性能を損なわないようにするため、次のようにしている。I/O対象にするファイルが、複数のディスク装置によってストライピングされたファイルシステム上に存在する場合、サーバーは、クライアントに対して、上記ファイルの論理位置に対応する各物理位置毎のraw I/O情報を送信する。クライアントのI/O発行手段は、raw I/O情報を受信する毎に、受信したraw I/O情報に従ってディスク装置に対してI/O処理を行う。このとき、I/O発行手段は、各raw I/O情報に対応したI/O処理の終了を待ち合わせずに、raw I/O情報を受信する毎に(連続的に)、raw I/O情報に従ったI/O処理を行うので、並列I/O性能を損なわないようにできる。
【0017】
【発明の実施の形態】
次に本発明の実施の形態について図面を参照して詳細に説明する。
【0018】
【実施例の構成】
図1は本発明にかかるファイル共有システムの実施例のブロック図である。同図を参照すると、本実施例にかかるファイル共有システムは、複数のクライアント1−1〜1−nと、サーバー2と、交換機3と、複数のディスク装置5−1〜5−mを含むファイルシステム4と、クライアント1−1〜1−nとサーバー2とを相互に接続するネットワーク回線6とから構成されている。
【0019】
クライアント1−1は、I/O発行プロセス101と、割込み処理手段105と、送信キュー106と、送信プロセス107とを備えている。なお、他のクライアントも同様の構成を有している。
【0020】
I/O発行プロセス101は、アプリケーションプログラムを実行する一般のプロセスであり、I/O要求手段102と、I/O発行手段103と、受信手段104とを備えている。
【0021】
I/O要求手段102は、アプリケーションプログラムからの要求に従って、I/O要求をネットワーク回線6を介してサーバー2へ送信する機能を有する。なお、I/O要求には、I/O処理の処理対象にするファイルの論理位置、このI/O要求を一意に識別するためのI/O要求識別子、およびread/write種別が含まれている。また、処理対象にするファイルの論理位置は、対象ファイルのファイルハンドラ、ファイルオフセットおよびI/Oサイズにより表すものとする。また、必要に応じて、I/O要求に認証情報を含ませるようにしても良い。
【0022】
受信手段104は、サーバー2からネットワーク回線6を介して送られてくるraw I/O情報やI/O終了通知を受信する機能、受信したraw I/O情報をI/O発行手段103に渡す機能、および、受信したI/O終了通知に従った終了処理を行う機能を有する。なお、raw I/O情報については、後で詳しく説明する。
【0023】
I/O発行手段103は、受信手段104からraw I/O情報が渡される毎に、そのraw I/O情報をディスクドライバが解釈できるI/O命令に変換し、該当するディスク装置5−jにI/O命令を発行する機能を有する。
【0024】
割込み処理手段105は、I/O発行手段103が発行したI/O命令に従ったI/O処理が終了する毎に、I/O終了情報を送信キュー106にキューイングする機能を有する。なお、I/O終了情報には、上記I/O命令を発行する契機となったraw I/O情報とI/O処理結果とが含まれる。
【0025】
送信プロセス107は、システム管理者によって起動されるシステムプロセスであり、送信手段108を備えている。この送信手段108は、送信キュー106にキューイングされているI/O終了情報をネットワーク回線6を介してサーバー2へ送信する機能を有している。
【0026】
サーバー2は、I/O要求受信プロセス201と、I/Oキュー203と、I/O処理プロセス204と、送信キュー206と、送信プロセス207と、受信プロセス209と、監視プロセス212とを備えている。なお、サーバー2内の各プロセス201、204、207、209、212は、システム管理者によって起動されるシステムプロセスである。
【0027】
I/O要求受信プロセス201は、I/O要求受信手段202を備えている。このI/O要求受信手段202は、クライアント1−iから送られてきたI/O要求にクライアント1−iのネットワークアドレスを付加してI/Oキュー203にキューイングする機能を有している。
【0028】
I/O処理プロセス204は、I/O手段205と、I/O終了通知手段211とを備えている。なお、図1では、1個のI/O処理プロセス204しか図示していないが、実際にはサーバー2のI/O負荷に応じた数のI/O処理プロセスが起動されている。
【0029】
I/O処理プロセス204内のI/O手段205は、I/Oキュー203にキューイングされているI/O要求(I/O要求元クライアントのネットワークアドレスが付加されている)の内の最も古いものを1つ取り出し、取り出したI/O要求に基づいてraw I/O情報を作成する機能や、作成したraw I/O情報を送信キュー206にキューイングする機能を有する。
【0030】
ここで、raw I/O情報の作成方法について説明しておく。I/O要求に基づいてraw I/O情報を作成する際、I/O手段205は、例えば、次のような処理を行う。先ず、ファイルシステム4を呼び出し、上記I/O要求中の論理位置(ファイルハンドラ、ファイルオフセット及びI/Oサイズ)をファイルシステム4に渡す。これにより、ファイルシステム4は、上記論理位置に対応する物理位置(I/O処理に対象にしているファイルが存在するディスク装置のデバイス番号、開始セクタ番号およびセクタ数)を、I/O手段205に返却する。I/O対象にするファイルが、複数のディスク装置によってストライピングされたファイルシステム上に存在する場合などは、複数の物理位置が返却される。I/O手段205は、返却された各物理位置毎に、その物理位置と、上記I/O要求に含まれていたI/O要求識別子、read/write種別およびネットワークアドレスと、I/O発行プロセス内のI/O対象の仮想メモリの開始アドレスからのオフセットとを含むraw I/O情報を作成する。
【0031】
また、I/O処理プロセス204内のI/O終了通知手段211は、受信プロセス209から受け取ったI/O終了情報に基づいて、I/O要求によって要求されたI/O処理が全て終了したと判断したとき(上記I/O要求に基づいて作成した全てのraw I/O情報に対応するI/O終了情報を受け取ったとき)、ファイルシステムとしての終了処理を行うと共に、エラー情報、I/Oサイズ、I/O処理後のファイルオフセット、ファイルの更新情報、I/O要求識別子などを含むI/O終了通知を要求元のクライアントへ返信する機能を有する。
【0032】
送信プロセス207は、送信手段208を含んでいる。この送信手段208は、送信キュー206にキューイングされているraw I/O情報を古いものから順番に取り出し、raw I/O情報に含まれているネットワークアドレスに従ってI/O要求元のクライアントへ送信する機能を有する。
【0033】
受信プロセス209は、受信手段210を含んでいる。この受信手段210は、クライアント1−iから送られてきたI/O終了情報を、起動されているI/O処理プロセスの内の、上記I/O終了情報に含まれているI/O要求識別子によって特定されるI/O要求を処理しているI/O処理プロセスに渡す機能を有する。
【0034】
監視プロセス212は、プロセス数制御手段213を含んでいる。このプロセス数制御手段213は、サーバー2のI/O負荷に応じて、I/O処理プロセス数を動的に変更する機能を有する。
【0035】
記録媒体Kは、ディスク、半導体メモリ、その他の記録媒体であり、コンピュータからなるサーバー2を、ファイル共有システムの一部として機能させるためのプログラムが記録されている。このプログラムは、サーバー2によって読み取られ、その動作を制御することで、サーバー2上に、I/O要求受信プロセス201、I/Oキュー203、I/O処理プロセス204、送信キュー206、送信プロセス207、受信プロセス209、監視プロセス212を実現する。
【0036】
【実施例の動作の説明】
次に各図を参照して本実施例の動作について詳細に説明する。なお、図2は、クライアント1−1がI/O要求(このI/O要求が対象にしているファイルが、複数のディスク装置によってストライピングされたファイルシステム上に存在する場合)をサーバー2に送信したときのネットワークシステム全体の処理例を示すフローチャート、図3はI/O発行プロセス101の処理例を示すフローチャート、図4は割込み処理手段105の処理例を示すフローチャート、図5は送信プロセス107の処理例を示すフローチャート、図6はI/O要求受信プロセス201の処理例を示すフローチャート、図7はI/O処理プロセス204の処理例を示すフローチャート、図8は送信プロセス207の処理例を示すフローチャート、図9は受信プロセス209の処理例を示すフローチャート、図10はプロセス数制御手段213の構成例を示すブロック図、図11は監視プロセス212の処理例を示すフローチャート、図12は監視プロセス212の処理内容を説明するための図、図13はクライアント1−1がI/O要求(このI/O要求が対象にしているファイルが、単一のディスク装置上に存在する場合)をサーバー2に送信したときのネットワークシステム全体の処理例を示すフローチャートである。
【0037】
クライアント1−1内のI/O発行プロセス101は、アプリケーションプログラム(図示せず)からファイルのI/O処理が要求されると、I/O要求手段102を使用してサーバー2へI/O要求を送信する(図2のステップS201、図3のステップS31)。なお、I/O要求には、I/O処理の対象にするファイルの論理位置(対象ファイルのファイルハンドラ、ファイルオフセット、I/Oサイズ)と、read/write種別と、上記I/O要求を一意に識別するためのI/O要求識別子とが含まれている。この後、I/O発行プロセス101においては、受信手段104がサーバー2からのパケットを待ち合わせる受信待ち状態となる(図3のステップS32、S33)。
【0038】
クライアント1−1からサーバー2に送信されたI/O要求は、I/O要求受信プロセス201内のI/O要求受信手段202で受信され、I/Oキュー203にキューイングされる(図2のステップS202、図6のステップS61、S62)。なお、I/O要求をI/Oキュー203にキューイングする際、I/O要求受信手段202は、要求元クライアント1−1のネットワークアドレスをI/O要求に付加する。この後、I/O要求受信手段202は、他に受信したI/O要求がなければ、受信待ち状態となる(ステップS63)。
【0039】
I/O処理プロセス204内のI/O手段205は、図7のフローチャートに示すように、I/Oキュー203が空の場合はI/O要求待ち状態となっているが(ステップS71がNo、S72)、I/Oキュー203にI/O要求がキューイングされている場合には、その内の最も古いI/O要求を1つ取り出す(ステップS71がYes、S73)。今、例えば、I/O手段205が、ステップS202においてI/Oキュー203にキューイングされた、クライアント1−1からのI/O要求およびそれに付加されているクライアント1−1のネットワークアドレスを取り出したとする。
【0040】
I/O手段205は、クライアント1−1からのI/O要求およびネットワークアドレスを取り出すと、ファイルシステム4を呼び出し、上記I/O要求中の論理位置(ファイルハンドラ、ファイルオフセット及びI/Oサイズ)をファイルシステム4に渡す。これにより、ファイルシステム4は、上記論理位置に対応する物理位置(I/O処理に対象にしているファイルが存在するディスク装置のデバイス番号、開始セクタ番号およびセクタ数)を、I/O手段205に返却する。I/O対象にするファイルが、複数のディスク装置によってストライピングされたファイルシステム上に存在する場合などは、複数の物理位置が返却される(ステップS74)。I/O手段205は、返却された各物理位置毎に、その物理位置と、上記I/O要求に含まれていたI/O要求識別子、read/write種別およびネットワークアドレスと、I/O発行プロセス内のI/O対象の仮想メモリの開始アドレスからのオフセットとを含むraw I/O情報を作成し、送信キュー206にキューイングする(ステップS75、図2のステップS203)。今、例えば、クライアント1−1からのI/O要求に対して第1番目〜第k番目までの、k個のraw I/O情報が送信キュー206にキューイングされたとする。その後、I/O処理プロセス204においては、I/O終了通知手段211がI/O終了情報の受信待ち状態になる(ステップS76)。
【0041】
送信プロセス207内の送信手段208は、図8のフローチャートに示すように、送信キュー206が空の場合は送信待ち状態となっているが(ステップS81がNo、S82)、送信キュー206にraw I/O情報がキューイングされている場合は、最も古いraw I/O情報を1つ取り出す(ステップS83)。そして、取り出したraw I/O情報をパケット化し、上記raw I/O情報に含まれているネットワークアドレスによって特定されるクライアントへ送信する(ステップS84)。今、例えば、送信手段208がクライアント1−1のネットワークアドレスを含んだ第1番目のraw I/O情報を送信キュー206から取り出したとすると、図2に示すように、パケット化された第1番目のraw I/O情報が、クライアント1−1へ送信される(ステップS204−1)。
【0042】
受信手段104で受信待ち状態の、クライアント1−1内のI/O発行プロセス101は、サーバー2からパケットを受信すると、それがraw I/O情報なのか、I/O終了通知なのかを判断する(ステップS32がYes、S34)。この例の場合、サーバー2からは、第1番目のraw I/O情報が送られてきているので、受信手段104は、raw I/O情報をI/O発行手段103に渡す。I/O発行手段103は、受信手段104から第1番目のraw I/O情報が渡されと、それをディスクドライバが解釈できる第1番目のI/O命令に変換し、該当するディスク装置5−jにI/O命令を発行する(ステップS35、S36)。これにより、図2に示すように、ディスク装置5−jにおいて、第1番目のI/O命令に従ったI/O処理が実行される(ステップS205−1)。その後、I/O発行プロセス101は、第1番目のI/O命令に従ったI/O処理の終了待ち合わせは行わず、再度受信手段104で受信待ち状態となる(ステップS33)。
【0043】
ここで、第1番目のI/O命令に従ったI/O処理を実行しているディスク装置5−jの処理速度は、クライアント1−1〜1−nやサーバー2の処理速度に比較して非常に低速であるため、第1番目のI/O命令に従ったI/O処理が終了する前に、サーバー2内の送信プロセス207からクライアント1−1内のI/O発行プロセス101に対して第2番目〜第k番目のraw I/O情報が連続的に送られてくる(ステップS204−2〜S204−k)。I/O発行プロセス101は、前述したようにI/O処理の終了待ち合わせは行わず、受信手段104で受信待ち状態となっているので(ステップS33)、第2番目〜第k番目のraw I/O情報が送られてくる毎に、該当するディスク装置にI/O命令を発行し(ステップS35、S36)、該当する各ディスク装置においてI/O処理が実行される(ステップS205−2〜S205−k)。つまり、複数のraw I/O情報に対応したI/O処理が並行して実行されることになる。
【0044】
その後、第1番目〜第k番目のI/O命令に従ったI/O処理を実行しているディスク装置の内の、あるディスク装置(例えば、第1番目のI/O命令に従ったI/O処理を実行しているディスク装置5−j)で、第1番目のI/O命令に従ったI/O処理が終了すると、割込み処理手段105は、第1番目のI/O終了情報を送信キュー106にキューイングする(図4、ステップS41、S42)。なお、I/O終了情報には、上記I/O命令を発行する契機となった第1番目のraw I/O情報とI/O処理結果とが含まれる。また、上記した処理は、例えば、ディスクドライバの終了処理から起動されるコールバック関数において行われる。この割込み処理手段105による処理は、I/O命令に従ったI/O処理が終了する毎に行われ、送信キュー106には、第1番目〜第k番目のI/O終了情報がキューイングされる。
【0045】
送信プロセス107内の送信手段108は、図5のフローチャートに示すように、送信キュー106が空の場合は送信待ち状態になっているが(ステップS51がNo、S52)、送信キュー106にI/O終了情報がキューイングされている場合は、最も古いI/O終了情報を1つ取り出し、それをパケット化してサーバー2へ送信する(ステップS51がYes、S53、S54)。今、例えば、送信キュー106に第1番目〜第k番目のI/O終了情報が、その順でキューイングされたとすると、送信手段108は、図2に示すように、第1番目〜第k番目のI/O終了情報を順次サーバー2へ送信することになる(ステップS206−1〜S206−k)。
【0046】
クライアント1−1から最初に送られてくる第1番目のI/O終了情報は、受信プロセス209の受信手段210によって受信され、上記第1番目のI/O終了情報に含まれているI/O要求識別子によって特定されるI/O要求を処理しているI/O処理プロセス204内のI/O終了通知手段211に渡される(図9のステップS91がYes、S93)。その後、受信手段210は、I/O終了情報の受信待ち状態となる(ステップS92)。
【0047】
I/O終了通知手段211は、受信手段210から第1番目のI/O終了情報が渡されると、ファイルシステム4を利用して、現在処理中のI/O要求に関する全てのI/O終了情報を受信したか否かを判断する(図7のステップS77、S78)。この例の場合、第1番目〜第k番目のI/O終了情報の内の第1番目のI/O終了情報しか受信していないので、I/O終了通知手段211は、I/O処理終了待ち状態となる(ステップS78がNo、S76)。
【0048】
クライアント1−1から送られてくる第2番目〜第(k−1)番目のI/O終了情報についても、受信手段210及びI/O終了通知手段211において前述した処理と同様の処理が行われる。
【0049】
サーバー2内のI/O終了通知手段211は、受信プロセス209を介してクライアント1−1からの第k番目(最後)のI/O処理情報を受信すると、ファイルシステム4を利用して、現在処理中のI/O要求に関する全てのI/O終了情報を受信したか否かを判断する(図7のステップS77、S78)。そして、この第k番目のI/O終了情報を受信することにより、第1番目〜第k番目のI/O終了要求を全て受信したと判断すると、第1番目〜第k番目のI/O終了情報に基づいて、ファイルシステム4に対する終了処理を行い、その後、処理結果(エラー情報等)や、I/Oサイズ、I/O後のファイルオフセット、ファイルの更新情報、I/O要求識別子等を含むI/O終了通知をパケット化してクライアント1−1へ送信する(図2のステップS207、図7のステップS79)。
【0050】
受信手段104で受信待ち状態のI/O発行プロセス101は、サーバー2からパケット化されたI/O終了通知を受信すると(図3のステップS32がYes、S34がYes)、処理結果を要求元のアプリケーションプログラムに返却する等の終了処理を行った後、ユーザモードに復帰する(ステップS37、S38、図2のステップS208)。
【0051】
なお、図2は、I/O対象にするファイルが、複数のディスク装置によってストライピングされたファイルシステム上に存在する場合の動作例を示したが、I/O対象にするファイルが単一ディスク装置上に存在する場合は、例えば、図13に示すような動作が行われる。
【0052】
クライアント1−1内のI/O発行プロセス101が、I/O要求をサーバー2に送信すると(ステップS131)、サーバー2内のI/O要求受信手段202が、クライアント1−1からのI/O要求をI/Oキュー203にキューイングし(ステップS132)、I/O手段205がI/Oキュー203からI/O要求を取り出し、取り出したI/O要求に対応するraw I/O情報を送信キュー206にキューイングする(ステップS133)。この例の場合、I/O対象ファイルが単一のディスク装置上に存在するので、I/O手段205は、1個のraw I/O情報を送信キュー206にキューイングすることになる。送信キュー206にキューイングされたraw I/O情報は、送信手段208によってクライアント1−1に送信される(ステップS134)。
【0053】
クライアント1−1内のI/O発行プロセス101は、送信手段208から送られてきたraw I/O情報に対応したI/O命令を該当するディスク装置に発行する。これにより、該当するディスク装置において、I/O命令に従ったI/O処理が実行される(ステップS135)。
【0054】
ディスク装置でのI/O処理が終了すると、割込み処理手段105がI/O終了情報を送信キュー106にキューイングし、送信手段108が送信キュー106にキューイングされているI/O終了情報をサーバー2へ送信する(ステップS136)。
【0055】
サーバー2内のI/O終了通知手段211は、受信手段210を介してI/O終了情報を受信すると、全てのI/O終了情報を受信したことになるので、I/O終了通知をクライアント1−1へ送信する(ステップS138)。クライアント1−1内のI/O発行プロセス101は、I/O終了通知を受信すると、終了処理を行う(ステップS138)。図13の例においては、クライアント1−1が1個のI/O要求をサーバー2に送信した場合の動作を示したが、例えば、クライアント1−1がステップS131の直後に他のI/O要求をサーバー2へ送信した場合は、この他のI/O要求に対応するraw I/O情報が、ステップS135とステップS136との間(最初のraw I/O情報に従ったI/O処理をディスク装置が行っている間)において、クライアント1−1内のI/O発行プロセス101で受信され、このraw I/O情報に従ったI/O処理が実行される。つまり、上記他のI/O要求に従ったI/O処理と、最初のI/O要求に従ったI/O処理とが並列に実行される。
【0056】
なお、上述した説明において、I/Oキュー203、送信キュー206及び送信キュー106を操作する場合は、排他制御をして、競合が発生しないようにする。
【0057】
監視プロセス212は、上記一連のI/O処理とは独立に動作する。図10に監視プロセス212内のプロセス数制御手段213の構成例を示す。同図に示すように、プロセス数制御手段213は、処理対象I/O要求数増減判別手段213−1と、処理対象I/O要求数管理表213−2と、プロセス起動手段213−3と、プロセス終了手段213−4とを備えている。
【0058】
処置対象I/O要求数増減判別手段213−1は、所定時間dt毎の観測点において処理対象I/O要求数(I/Oキュー203にキューイングされているI/O要求の数と、I/O処理プロセス204を占有しているI/O要求の数との和)を求め、処理対象I/O要求数管理表212−2に登録する機能や、処理対象I/O要求数管理表212−2に登録されている過去n回分の処理対象I/O要求数に基づいて、処理対象I/O要求数が増加する傾向にあるのか、減少する傾向にあるのかを判別する機能を有する。更に、処理対象I/O要求数増減判別手段213−1は、処理対象I/O要求数が増加する傾向にあり、且つ現時点における処理対象I/O要求数が現時点における起動I/O処理プロセス数よりも閾値α以上多い場合は、起動I/O処理プロセス数を現時点の処理対象I/O要求数まで増加させるための起動プロセス数増加指示を出力し、処理対象I/O要求数が減少する傾向にあり、且つ現時点における処理対象I/O要求数が現時点における起動I/O処理プロセス数よりも閾値α以上少ない場合は、起動I/O処理プロセス数を現時点の処理対象I/O要求数まで減少させるための起動プロセス数減少指示を出力する機能を有する。
【0059】
処理対象I/O要求数管理表213−2には、過去n回分の処理対象I/O要求数(最新のn個の観測点における処理対象I/O要求数)が格納される。
【0060】
プロセス起動手段213−3は、処理対象I/O要求数増減判別手段213−1から出力される起動プロセス数増加指示に従って、起動I/O処理プロセス数が現時点の処理対象I/O要求数になるまで新たなI/O処理プロセス204を起動する機能を有する。
【0061】
プロセス終了手段213−4は、処理対象I/O要求数増減判別手段213−1から出力される起動プロセス数減少指示に従って、起動I/O処理プロセス数が現時点の処理対象I/O要求数になるまで、I/O要求待ち状態にあるI/O処理プロセス204を終了させる機能を有する。
【0062】
次に、このような構成を有するプロセス数制御手段213の動作について説明する。
【0063】
処理対象I/O要求数増減判別手段213−1は、図11のフローチャートに示すように、ステップS111において、現時点の処理対象I/O要求数を求め、今回求めた処理対象I/O要求数を処理対象I/O要求数管理表212−2に追加登録する。更に、処理対象I/O要求数増減判別手段213−1は、ステップS111において、処理対象I/O要求数管理表212−2に登録されている過去n回分の処理対象I/O要求数に基づいて、処理対象I/O要求数がどのような割合で増減しているのかを示す傾きを求める。この傾きは、例えば、次式(1)により求める。なお、式(1)において、K1、Knは観測点1、nにおける処理対象I/O要求数を表し、t1、tnは観測点1、nの時刻を表している(図12参照)。また、本実施例では、式(1)により傾きを求めるようにしたが、他の計算式により求めるようにしても良い。
【0064】
傾き=(Kn−K1)/(tn−t1) …(1)
【0065】
その後、処理対象I/O要求数増減判別手段213−1は、現時点において起動されているI/O処理プロセス204の数を示す起動I/O処理プロセス数に閾値αを加算し、ステップS111で求めた現在の処理対象I/O要求数が上記加算結果を超えているか否かを調べる(ステップS112、S113)。但し、運用開始直後で、処理対象I/O要求数管理表212−2に過去n回分の処理対象I/O要求数が登録されていない場合は、ステップS120の処理を行う。
【0066】
ステップS113において、現時点の処理対象I/O要求数が(現時点の起動I/O処理プロセス数+α)を超えていると判断した場合は、ステップS111で求めた傾きに基づいて、処理対象I/O要求数が増加する傾向にあるか否かを判断する(ステップS114)。本実施例では、傾きが正または0の場合、増加する傾向にあると判断するが、傾きが正の場合のみ増加する傾向にあると判断するようにしても良い。
【0067】
そして、増加する傾向にあると判断した場合(ステップS114がYes)は、プロセス起動手段213−3に対して、起動I/O処理プロセス数を現時点の処理対象I/O要求数まで増加させることを指示する起動プロセス数増加指示を出力する(ステップS115)。これにより、プロセス起動手段213−3は、起動I/O処理プロセス数が現時点の処理対象I/O要求数になるまで、新たなI/O処理プロセスを起動する。その後、処理対象I/O要求数増減判別手段213−1は、一定時間dtだけ停止し(ステップS120)、再びステップS111の処理を行う。
【0068】
これに対して、増加する傾向にないと判断した場合(ステップS114がNo)は、ステップS120の処理に移る。
【0069】
また、ステップS113において、現時点の処理対象I/O要求数が(現時点の起動I/O処理プロセス数+α)を超えていないと判断した場合は、ステップS116の処理を行う。ステップS116では、現時点の起動I/O処理プロセス数から閾値αを減算し、次のステップS117では、現時点の処理対象I/O要求数が(現時点の起動I/O処理プロセス数−α)を下回っているか否かを判断する。
【0070】
ステップS117において、現時点の処理対象I/O要求数が(現時点の起動I/O処理プロセス数−α)を下回っていると判断した場合は、ステップS111で求めた傾きに基づいて、処理対象I/O要求数が減少する傾向にあるか否かを判断する(ステップS118)。本実施例では、傾きが負または0の場合、減少する傾向にあると判断するが、傾きが負の場合のみ減少する傾向にあると判断するようにしても良い。
【0071】
そして、減少する傾向にあると判断した場合(ステップS118がYes)は、プロセス終了手段213−4に対して、起動I/O処理プロセス数を現時点の処理対象I/O要求数まで減少させることを指示する、起動プロセス数減少指示を出力する(ステップS119)。これにより、プロセス終了手段213−4は、起動I/O処理プロセス数が現時点の処理対象I/O要求数になるまで、I/O要求待ち状態のI/O処理プロセスを終了させる。その後、処理対象I/O要求数増減判別手段213−1は、一定時間dtだけ停止し(ステップS120)、再びステップS111の処理を行う。
【0072】
これに対して、減少する傾向にないと判断した場合(ステップS118がNo)は、ステップS120の処理に移る。
【0073】
なお、上記n,α,dtの値は、システム管理者が適当な値を設定する。
【0074】
図12は、処理対象I/O要求数の変化と起動I/O処理プロセス数の変化の1例を示したものである。この例の場合、処理対象I/O要求数は局所的には減少している部分もあるが、全体的には増加傾向にある。観測点n−1までは、起動I/O処理プロセス数と処理対象I/O要求数との差分が閾値α以内であるため、起動I/O処理プロセス数の変更は行われない。しかし、観測点nにおいて、差分が閾値αを超えるため、起動I/O処理プロセス数が現時点の処理対象I/O要求数まで増やされることになる。
【0075】
【発明の効果】
第1の効果は、サーバー上のシステム資源を無駄に使用することなく、クライアントからのI/O要求を効率的に処理できることにある。
【0076】
その理由は、I/O負荷に応じて、動的にI/O処理プロセスの数を変更するからである。
【0077】
第2の効果は、I/O対象にするファイルが、複数のディスク装置によってストライピングされたファイルシステム上に存在する場合、並列I/O性能を損なわないことにある。
【0078】
その理由は、I/O対象にするファイルが、複数のディスク装置によってストライピングされたファイルシステム上に存在する場合、サーバーからクライアントに対して複数のraw I/O情報が送られ、クライアントのI/O発行手段が受信した各raw I/O情報に従ったI/O処理を行うが、その際、本発明のI/O発行手段では、各raw I/O情報に対応したI/O処理の終了を待ち合わせずに、raw I/O情報を受信する度に(連続的に)I/O処理を行うからである。
【図面の簡単な説明】
【図1】本発明にかかるファイル共有システムの実施例のブロック図である。
【図2】I/O対象にするファイルが、複数のディスク装置によってストライピングされたファイルシステム上に存在する場合の、実施例の全体的な処理例を示すフローチャートである。
【図3】I/O発行プロセス101の処理例を示すフローチャートである。
【図4】割込み処理手段105の処理例を示すフローチャートである。
【図5】送信プロセス107の処理例を示すフローチャートである。
【図6】I/O要求受信プロセス201の処理例を示すフローチャートである。
【図7】I/O処理プロセス204の処理例を示すフローチャートである。
【図8】送信プロセス207の処理例を示すフローチャートである。
【図9】受信プロセス209の処理例を示すフローチャートである。
【図10】プロセス数制御手段213の構成例を示すブロック図である。
【図11】監視プロセス212の処理例を示すフローチャートである。
【図12】処理対象I/O要求数の変化と起動I/O処理プロセス数との変化の一例を示す図である。
【図13】I/O対象にするファイルが、単一のディスク装置上に存在する場合の、実施例の全体的な処理例を示すフローチャートである。
【図14】一般的なファイル共有システムの構成を示すブロック図である。
【符号の説明】
1−1〜1−n…クライアント
101…I/O発行プロセス
102…I/O要求手段
103…I/O発行手段
104…受信手段
105…割込み処理手段
106…送信キュー
107…送信プロセス
108…送信手段
2…サーバー
201…I/O要求受信プロセス
202…I/O要求受信手段
203…I/Oキュー
204…I/O処理プロセス
205…I/O手段
206…送信キュー
207…送信プロセス
208…送信手段
209…受信プロセス
210…受信手段
211…I/O終了通知手段
212…監視プロセス
213…プロセス数制御手段
213−1…処理対象I/O要求数増減判別手段
213−2…処理対象I/O要求数管理表
213−3…プロセス起動手段
213−4…プロセス終了手段
K…記録媒体
3…交換機
4…ファイルシステム
5−1〜5−m…ディスク装置
6…ネットワーク回線
Claims (9)
- ファイルシステムを管理するサーバーと、該サーバーに対してI/O要求を送信する複数のクライアントとを備えたファイル共有システムにおいて、
前記サーバーが、
前記クライアントから送られてきたI/O要求に従った処理を行うI/O処理プロセスであって、前記I/O要求に従った処理が完了するまで前記I/O要求に占有されるI/O処理プロセスと、
該I/O処理プロセスの数を、自サーバーのI/O負荷に応じて動的に変更するプロセス数制御手段とを備えたことを特徴とするファイル共有システム。 - ファイルシステムを管理するサーバーと、該サーバーに対してI/O要求を送信する複数のクライアントとを備えたファイル共有システムにおいて、
前記サーバーが、
前記クライアントから送られてきたI/O要求をキューイングするI/Oキューと、
該I/OキューからI/O要求を取り出し、該I/O要求に従って処理を行うI/O処理プロセスであって、前記I/O要求に従った処理が完了するまで、前記I/O要求に占有されるI/O処理プロセスと、
前記I/OキューにキューイングされているI/O要求数と、I/O処理プロセスを占有しているI/O要求数との和である処理対象I/O要求数が増加する傾向にあり、且つ現時点における処理対象I/O要求数が現時点における起動I/O処理プロセス数よりも閾値以上大きい場合は、起動I/O処理プロセス数を現時点の処理対象I/O要求数まで増加させ、処理対象I/O要求数が減少する傾向にあり、且つ現時点における処理対象I/O要求数が現時点における起動I/O処理プロセス数よりも前記閾値以上小さい場合は、起動I/O処理プロセス数を現時点の処理対象I/O要求数まで減少させるプロセス数制御手段とを備えたことを特徴とするファイル共有システム。 - 請求項2記載のファイル共有システムにおいて、
前記プロセス数制御手段が、
処理対象I/O要求数が増加する傾向にあり、且つ現時点における処理対象I/O要求数が現時点における起動I/O処理プロセス数よりも閾値以上多い場合は、起動I/O処理プロセス数を現時点の処理対象I/O要求数まで増加させるための起動プロセス数増加指示を出力し、処理対象I/O要求数が減少する傾向にあり、且つ現時点における処理対象I/O要求数が現時点における起動I/O処理プロセス数よりも前記閾値以上少ない場合は、起動I/O処理プロセス数を現時点の処理対象I/O要求数まで減少させるための起動プロセス数減少指示を出力するという処理を所定時間毎に行う処理対象I/O要求数増減判別手段と、
該処理対象I/O要求数増減判別手段から出力される起動プロセス数増加指示に従って、新たなI/O処理プロセスを起動するプロセス起動手段と、
前記処理対象I/O要求数増減判別手段から出力される起動プロセス数減少指示に従って、I/O要求待ち状態にあるI/O処理プロセスを終了させるプロセス終了手段とを備えたことを特徴とするファイル共有システム。 - 請求項2記載のファイル共有システムにおいて、
前記各クライアントが、
前記ファイルシステム上の論理位置を含むI/O要求を前記サーバーに送信し、前記サーバーから前記I/O要求中の論理位置に対応する物理位置を含むraw I/O情報が返信されたとき、前記raw I/O情報に従ってディスク装置に対するI/O処理を行うI/O発行手段を備え、
前記サーバーが、
送信キューと、
該送信キューからraw I/O情報を取り出し、該raw I/O情報に対応するI/O要求の送信元のクライアントへ返信するサーバー側送信手段とを備え、且つ、
前記I/O処理プロセスが、
前記I/OキューからI/O要求を取り出し、該取り出したI/O要求中の論理位置に対応する物理位置を含むraw I/O情報を前記送信キューにキューイングする構成を有することを特徴とするファイル共有システム。 - ファイルシステムを管理するサーバーと、該サーバーに対してI/O要求を送信する複数のクライアントとを備えたファイル共有システムにおいて、
前記各クライアントが、
前記ファイルシステム上の論理位置を含むI/O要求を前記サーバーに送信し、前記サーバーから前記I/O要求中の論理位置に対応する物理位置を含む複数のraw I/O情報が返信される毎に既に行っているI/O処理の終了を待たずに前記raw I/O情報に従ってディスク装置に対するI/O処理を行い、前記サーバーから前記I/O要求に対するI/O終了通知が送られてきたとき、終了処理を行うI/O発行手段と、
前記raw I/O情報に従ったI/O処理が終了する毎に、前記サーバーへI/O終了情報を送信する、前記I/O発行手段とは独立して動作するクライアント側送信手段とを備え、
前記サーバーが、
I/Oキューと、
送信キューと、
前記各クライアントから送られてきたI/O要求を前記I/OキューにキューイングするI/O要求受信手段と、
前記I/OキューにキューイングされているI/O要求を取り出し、該取り出したI/O要求中の論理位置に対応する各物理位置毎のraw I/O情報であって対応する物理位置を含むraw I/O情報を前記送信キューにキューイングし、前記各raw I/O情報に対応するI/O終了情報を全て受信したとき、前記I/O要求の送信元のクライアントに対してI/O終了通知を送信するI/O処理プロセスと、
前記送信キューからraw I/O情報を取り出し、該raw I/O情報に対応するI/O要求の送信元のクライアントへ送信するサーバー側送信手段と、
前記各クライアントからのI/O終了情報を受信し、該受信したI/O終了情報を、該I/O終了情報と対応するI/O要求によって占有されているI/O処理プロセスに渡す受信手段と、
前記I/OキューにキューイングされているI/O要求数と、I/O処理プロセスを占有しているI/O要求数との和である処理対象I/O要求数が増加する傾向にあり、且つ現時点における処理対象I/O要求数が現時点における起動I/O処理プロセス数よりも閾値以上大きい場合は、起動I/O処理プロセス数を現時点の処理対象I/O要求数まで増加させ、処理対象I/O要求数が減少する傾向にあり、且つ現時点における処理対象I/O要求数が現時点における起動I/O処理プロセス数よりも前記閾値以上小さい場合は、起動I/O処理プロセス数を現時点の処理対象I/O要求数まで減少させるプロセス数制御手段とを備えたことを特徴とするファイル共有システム。 - ファイルシステムを管理すると共に、複数のクライアントからI/O要求が送られてくるサーバーであって、
前記クライアントから送られてきたI/O要求に従った処理を行うI/O処理プロセスであって、前記I/O要求に従った処理が完了するまで前記I/O要求に占有されるI/O処理プロセスと、
該I/O処理プロセスの数を、自サーバーのI/O負荷に応じて動的に変更するプロセス数制御手段とを備えたことを特徴とするサーバー。 - ファイルシステムを管理すると共に、複数のクライアントからI/Oが送られてくるサーバーであって、
前記クライアントから送られてきたI/O要求をキューイングするI/Oキューと、
該I/OキューからI/O要求を取り出し、該I/O要求に従って処理を行うI/O処理プロセスであって、前記I/O要求に従った処理が完了するまで、前記I/O要求に占有されるI/O処理プロセスと、
前記I/OキューにキューイングされているI/O要求数と、I/O処理プロセスを占有しているI/O要求数との和である処理対象I/O要求数が増加する傾向にあり、且つ現時点における処理対象I/O要求数が現時点における起動I/O処理プロセス数よりも閾値以上大きい場合は、起動I/O処理プロセス数を現時点の処理対象I/O要求数まで増加させ、処理対象I/O要求数が減少する傾向にあり、且つ現時点における処理対象I/O要求数が現時点における起動I/O処理プロセス数よりも前記閾値以上小さい場合は、起動I/O処理プロセス数を現時点の処理対象I/O要求数まで減少させるプロセス数制御手段とを備えたことを特徴とするサーバー。 - コンピュータを、ファイルシステムを管理すると共に、複数のクライアントからのI/O要求を処理するサーバーとして機能させるためのプログラムであって、
前記コンピュータを、
前記クライアントから送られてきたI/O要求に従った処理を行うI/O処理プロセスであって、前記I/O要求に従った処理が完了するまで前記I/O要求に占有されるI/O処理プロセス、
該I/O処理プロセスの数を、自サーバーのI/O負荷に応じて動的に変更するプロセス数制御手段として機能させるためのプログラム。 - コンピュータを、ファイルシステムを管理すると共に、複数のクライアントからのI/O要求を処理するサーバーとして機能させるためのプログラムであって、
前記クライアントから送られてきたI/O要求をキューイングするI/OキューからI/O要求を取り出し、該I/O要求に従って処理を行うI/O処理プロセスであって、前記I/O要求に従った処理が完了するまで、前記I/O要求に占有されるI/O処理プロセス、
前記I/OキューにキューイングされているI/O要求数と、I/O処理プロセスを占有しているI/O要求数との和である処理対象I/O要求数が増加する傾向にあり、且つ現時点における処理対象I/O要求数が現時点における起動I/O処理プロセス数よりも閾値以上大きい場合は、起動I/O処理プロセス数を現時点の処理対象I/O要求数まで増加させ、処理対象I/O要求数が減少する傾向にあり、且つ現時点における処理対象I/O要求数が現時点における起動I/O処理プロセス数よりも前記閾値以上小さい場合は、起動I/O処理プロセス数を現時点の処理対象I/O要求数まで減少させるプロセス数制御手段として機能させるためのプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003141941A JP4089506B2 (ja) | 2003-05-20 | 2003-05-20 | ファイル共有システム及びサーバー並びにプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003141941A JP4089506B2 (ja) | 2003-05-20 | 2003-05-20 | ファイル共有システム及びサーバー並びにプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2004348233A true JP2004348233A (ja) | 2004-12-09 |
JP4089506B2 JP4089506B2 (ja) | 2008-05-28 |
Family
ID=33530164
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003141941A Expired - Fee Related JP4089506B2 (ja) | 2003-05-20 | 2003-05-20 | ファイル共有システム及びサーバー並びにプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4089506B2 (ja) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011039800A (ja) * | 2009-08-12 | 2011-02-24 | Hitachi Ltd | データベース管理方法およびシステム並びにその処理プログラム |
JP2012064251A (ja) * | 2012-01-04 | 2012-03-29 | Bank Of Tokyo-Mitsubishi Ufj Ltd | データ処理装置 |
JP2013145606A (ja) * | 2013-04-30 | 2013-07-25 | Bank Of Tokyo-Mitsubishi Ufj Ltd | データ処理装置 |
WO2016151821A1 (ja) * | 2015-03-25 | 2016-09-29 | 株式会社日立製作所 | 計算機システムおよびプロセス実行方法 |
-
2003
- 2003-05-20 JP JP2003141941A patent/JP4089506B2/ja not_active Expired - Fee Related
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011039800A (ja) * | 2009-08-12 | 2011-02-24 | Hitachi Ltd | データベース管理方法およびシステム並びにその処理プログラム |
JP2012064251A (ja) * | 2012-01-04 | 2012-03-29 | Bank Of Tokyo-Mitsubishi Ufj Ltd | データ処理装置 |
JP2013145606A (ja) * | 2013-04-30 | 2013-07-25 | Bank Of Tokyo-Mitsubishi Ufj Ltd | データ処理装置 |
WO2016151821A1 (ja) * | 2015-03-25 | 2016-09-29 | 株式会社日立製作所 | 計算機システムおよびプロセス実行方法 |
Also Published As
Publication number | Publication date |
---|---|
JP4089506B2 (ja) | 2008-05-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6961686B2 (ja) | トリガ動作を用いたgpuリモート通信 | |
US7953915B2 (en) | Interrupt dispatching method in multi-core environment and multi-core processor | |
JP3382953B2 (ja) | 有限メモリコンピュータシステム上におけるクライアント管理フロー制御方法及び装置 | |
CN110383764B (zh) | 无服务器系统中使用历史数据处理事件的系统和方法 | |
JP4569846B2 (ja) | I/oノード制御方式及び方法 | |
WO2018035856A1 (zh) | 实现硬件加速处理的方法、设备和系统 | |
US20030187914A1 (en) | Symmetrical multiprocessing in multiprocessor systems | |
EP2618257B1 (en) | Scalable sockets | |
US10489208B1 (en) | Managing resource bursting | |
JP2005056391A (ja) | コンピューティング環境の作業負荷を均衡させる方法およびシステム | |
US8180730B2 (en) | Arbitration token for managing data integrity and data accuracy of information services that utilize distributed data replicas | |
US20080155154A1 (en) | Method and System for Coalescing Task Completions | |
US20080155571A1 (en) | Method and System for Host Software Concurrent Processing of a Network Connection Using Multiple Central Processing Units | |
US20200073707A1 (en) | System and method for managing tasks and task workload items between address spaces and logical partitions | |
US11556382B1 (en) | Hardware accelerated compute kernels for heterogeneous compute environments | |
US7506074B2 (en) | Method, system, and program for processing a packet to transmit on a network in a host system including a plurality of network adaptors having multiple ports | |
CN112600761A (zh) | 一种资源分配的方法、装置及存储介质 | |
US8924481B2 (en) | Apparatus for routing requests | |
US7478185B2 (en) | Directly initiating by external adapters the setting of interruption initiatives | |
JP4089506B2 (ja) | ファイル共有システム及びサーバー並びにプログラム | |
US20190250956A1 (en) | Low latency distributed counters for quotas | |
EP3539278B1 (en) | Method and system for affinity load balancing | |
JP2019526860A (ja) | スケーラブルなリアルタイムメッセージングシステム | |
JP2000010897A (ja) | コンピュ―タ・システムにおいて用いられマルチ処理を行う入出力サブシステムの間でタスクを分散させるシステム及び方法 | |
JP6657910B2 (ja) | 帯域設定方法、帯域設定プログラム、情報処理装置及び情報処理システム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20071023 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20071225 |
|
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: 20080205 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20080218 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110307 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110307 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120307 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120307 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130307 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130307 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140307 Year of fee payment: 6 |
|
LAPS | Cancellation because of no payment of annual fees |