JPH1115720A - 高速ファイル入出力制御方法 - Google Patents
高速ファイル入出力制御方法Info
- Publication number
- JPH1115720A JPH1115720A JP9169935A JP16993597A JPH1115720A JP H1115720 A JPH1115720 A JP H1115720A JP 9169935 A JP9169935 A JP 9169935A JP 16993597 A JP16993597 A JP 16993597A JP H1115720 A JPH1115720 A JP H1115720A
- Authority
- JP
- Japan
- Prior art keywords
- file
- request
- data
- access
- input
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
- G06F3/0613—Improving I/O performance in relation to throughput
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/0643—Management of files
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/067—Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
- G06F3/0689—Disk arrays, e.g. RAID, JBOD
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F2003/0697—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers device management, e.g. handlers, drivers, I/O schedulers
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99931—Database or file accessing
- Y10S707/99932—Access augmentation or optimizing
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Multi Processors (AREA)
Abstract
ンに合うようなファイル構造の設定をファイルごとに可
能とし、ファイルを並列にアクセスする効果を発揮させ
る。 【解決手段】 アプリケーションプログラム(AP)1
7は、ファイルを複数の領域A,B,C,Dに分割し、
複数のディスク装置20〜24に分散して割り付けるよ
う要求するファイル構造定義をファイルサーバ(FS)
18に指定する。FS18はこの指示に従い、ファイル
構造記録テーブル60を作成してファイル内領域を指定
されたディスク装置に割り付ける。AP17からのファ
イルを並列にアクセスするための入出力要求に応答し
て、FS18はテーブル60を参照して入出力要求を各
ディスク装置ごとのアクセス要求に展開し、計算機1又
は計算機1〜4で実行される複数のプロセスとディスク
装置との間で並列にデータ転送を行うよう制御する。
Description
御方法に係わり、特に1つのファイルを関連する複数の
プロセスによって並列にアクセスするよう制御する高速
ファイル入出力制御方法に関する。
イルアクセスの高速化を図り、ファイル入出力のリアル
タイム性の保証を行うファイルシステムが知られてい
る。例えば特開平8−292905号公報は、ファイル
を複数の装置に分割して格納し、ファイルシステムが入
出力速度情報を保持し、ファイル入出力速度情報に従っ
て各装置に入出力するデータ量を決めるファイルシステ
ムを開示する。しかしこの技術は、ユーザがファイルの
構造を定義するものではなく、ファイルシステムが構造
を決定し、速度情報という属性を与えるものである。ま
た指定可能な属性は、ディスク装置の速度に限られてい
る。
ファイルシステムとして、NilsNieuwejaa
r,David Kotz著、「Galley並列ファ
イルシステム」(article entitled
”The GalleyParallel File
System”,in the Conferenc
e Proceedings of the 1996
International Conference
on Supercomputing,pp.374
−381)がある。このファイルシステムによってファ
イルの構造を設定することができるが、ユーザの所望す
るファイルのアクセスパターンに従ってファイル構造や
属性を変更することができない。
して計算を行うようなアプリケーションプログラムにお
いて、各プロセスは、高速化のためにしばしばファイル
の一部分を並列にアクセスする必要が生じる。この場
合、アプリケーションプログラムがファイルに対するア
クセスのパターンを決定するので、ファイルシステムが
勝手にファイルの分割を行い分割された領域をディスク
装置へ割り付けると、ユーザの所望するアクセスパター
ンと合わなくなりファイルを並列アクセスすることによ
る高性能を引き出すことができない。例えば図18に示
すように、700は並列動作する各アプリケーションプ
ログラムP1〜P4がアクセスする論理ファイル内の範
囲を示すアクセスパターンである。各プログラムは、そ
れぞれ論理ファイル上の位置とアクセスバイト数を指定
してファイルの一部領域をアクセスする。P1からP4
までの4つのアプリケーションプログラム又はプロセス
は、各々の領域について並列にファイルをアクセスす
る。従来のファイルシステムの構造定義機能は、701
に示すようにファイルを均等に分割し、それぞれの領域
に対してディスクD1〜D4を割り付ける。従ってプロ
グラムP1はディスクD1とD2をアクセスし、プログ
ラムP2はディスクD2とD3をアクセスする。他のプ
ログラムについても同様である。この場合、ディスクD
2はプログラムP1とP2の両方からアクセスされるの
で、並列動作するP1とP2はディスクD2についてど
ちらかの処理の完了を待たなくてはならず、並列アクセ
スによる効果を期待できない。ディスクD1の範囲をプ
ログラムP1の範囲に合わせたとしても各アプリケーシ
ョンプログラムのアクセス範囲が均等でないので、上記
問題が生じる。
ユーザはファイル入出力の性能を決定する属性(ファイ
ルの論理構造と物理装置との対応、データの転送経路、
ストライピングなど)をファイルシステム単位に指定す
るか、又はシステム起動時にしか指定できず、ファイル
単位にこの属性を変えたい場合やパラメータを動的に変
えたい場合は問題である。例えば図18に示す702の
ような均一でない割り当て指定が可能であったとして
も、ファイルごとにその指定ができなければ意味がな
い。何故ならば、複数のファイルの集まりであるファイ
ルシステムに対して特定のアプリケーションのアクセス
パターンを指定することになるからである。また従来の
ファイルシステムは、ファイルの並列アクセスをする複
数のプロセスからのアクセス要求をまとめて発行する機
能をもっていないので、各プロセスが各々独立にアクセ
ス要求を発行する必要があり、性能上の問題が生じる。
来のファイルシステムは、ネットワークを経由するデー
タ転送の場合、ディスク装置とネットワーク間のデータ
転送にファイル管理プログラムが介入するので、転送性
能上問題である。ディスク装置とネットワークを直接連
結するようなデータ転送方式が望まれる。
スパターンに合うようなファイル構造の設定をファイル
ごとに可能とし、ファイルの並列アクセス効果を発揮す
るようなファイル入出力制御方法を提供することにあ
る。
に対応して種々の属性を設定可能とすることにある。
のアクセス要求をまとめて発行し、ファイルの並列アク
セスを総合的にスケジューリングするファイル入出力制
御方法を提供することにある。
とネットワーク間のデータ転送の性能を向上させること
にある。
数の領域に分割し、複数の領域を複数の物理装置に分散
して割り付けるように要求するアプリケーションプログ
ラムによるファイル構造設定要求に応答して指定された
ファイル構造を設定するテーブルを作成して、ファイル
内領域を指定された物理装置に割り付け、ファイル内の
複数の領域を並列にアクセスするように要求する入出力
要求に応答して設定されたファイル構造テーブルを参照
して入出力要求を各物理装置ごとのアクセス要求に展開
し、アプリケーションプログラムを実行する複数のプロ
セスと物理装置との間で並列にデータ転送を行うよう制
御する高速ファイル入出力制御方法を特徴とする。なお
ファイル内の各領域に対応してデータの転送経路、デー
タのストライピング、データのキャッシングなど種々の
属性を設定可能とする。
ムを実行する複数のプロセスのうちの1つのプロセスが
ファイル内の複数の領域を並列にアクセスするように要
求する入出力要求の全体をまとめて発行する高速ファイ
ル入出力制御方法を特徴とする。
プリケーションプログラムを実行するプロセスと物理装
置との間のデータ転送を行う場合に、該ファイル管理プ
ログラムによって物理装置のディバイスドライバが起動
された後、物理装置のディバイスドライバとネットワー
クのディバイスドライバを介してデータを直接ネットワ
ークと物理装置との間に転送する高速ファイル入出力制
御方法を特徴とする。
て図面を用いて詳細に説明する。
の構成を示す図である。ネットワーク9を介して計算機
1〜6、8が接続され、各計算機上にはファイルサーバ
(FS)11〜13、15、16、18及び19が搭載
され動作する。計算機1〜4及び8は、入出力装置とし
てネットワーク9又は25のみを接続する。計算機1及
び5は、ネットワーク9以外にネットワーク10を接続
する。計算機5及び6は、入出力装置としてネットワー
ク9,10以外にディスク装置20〜23を接続する。
ディスク装置20〜23は、各々装置番号によって参照
され、その装置番号はそれぞれ1、3、2、4である。
計算機8は、別のネットワーク25へのゲートウェイと
して機能する。ネットワーク25の他方には計算機7が
接続されており、計算機7はディスク装置24を接続す
る。計算機1に搭載されるユーザのアプリケーションプ
ログラム(AP)17は、ディスク装置20〜24上の
ファイルにアクセスするために、同計算機上のファイル
サーバ18にファイル構造の定義を指示し、ファイル入
出力要求を発行する。アプリケーションプログラムが計
算機1以外の計算機2〜4上で並列動作する場合、各計
算機2〜4上のファイルサーバ11〜13も計算機1の
ファイルサーバ18と同様の動作を行う。またディスク
装置20〜23を接続する計算機5,6や外部のネット
ワーク25を接続する計算機8上のファイルサーバ1
5,16,19は、他の計算機1〜4上のファイルサー
バからの要求を受け取って実際のディスク入出力処理を
行い、結果を要求元の計算機1〜4へ送信する。以下の
説明では、特に計算機1上のAP17について詳細に説
明するが、他の計算機2〜4上で並列動作するアプリケ
ーションプログラムも各計算機2〜4上で同様に動作す
る。次にファイル入出力処理の手順について述べる。
2に示す様に、一般にファイルの作成、ファイル構造の
定義、ファイル入出力システムコールの発行及びファイ
ル入出力処理の終了の各ステップからなる。各ステップ
に対応するファイルサーバの処理の概略を以下に述べ
る。ファイルの作成に関しては、要求のあったファイル
に関する情報の管理領域の割り付け、ファイルディスク
リプタの割り付けなどを行う。ファイルディスクリプタ
は、ファイル名に対応する内部的なファイルIDであ
る。ファイル構造の定義では、ユーザから渡されたファ
イル構造定義用のスクリプトを解釈し、その結果を記憶
装置に格納する。ファイル入出力システムコールが発行
された場合は、ファイル構造定義に基づいてファイル入
出力を行う。ファイル入出力終了処理のステップでは、
キャッシュデータのディスク上への書き込み、主記憶上
の不要な管理データの解放などを行う。本実施形態のフ
ァイルサーバは、上記の処理を行うファイル管理プログ
ラムである。
(100)について詳しく述べる。ファイル構造定義で
は、ユーザはファイル構造を定義し、定義したファイル
構造中の各領域に関して、属性(ファイル領域を割り付
けるディスク装置、使用するアクセス経路、ストライピ
ング、アクセス時に使用するプロトコルなど)を与える
ことにより、ファイルサーバに対して性能と信頼性を向
上するようなファイルアクセスを指示することができ
る。アプリケーションプログラムが複数のプロセスによ
って動作する場合には、そのアプリケーションプログラ
ムに対して1つの構造定義を設定する。図3にファイル
構造定義スクリプトの例を示す。斜体の単語がキーワー
ドであり、文の区切りはセミコロンである。最初の文
は、ファイルの論理構造を定義しており、定義するファ
イルがA,B,C,Dの4つの領域から構成されている
ことを示している。type_Aなどは、データの型と
領域の大きさを示す型指定子であり、その内容は図示し
ない文によって定義される。例えば固定長のバイトの配
列、固定長の文字列などである。struct文は、フ
ァイルがA〜Dまでの4つの領域から成ることを示す。
struct文の下は、上記の各領域に対して属性を指
定している部分である。distribute文は、属
性として物理的な装置を指定する。図3では、領域A,
B,Cについて各々複数の入出力装置が設定されている
ことを示す。例えば最初のdistribute文で
は、領域Aはディスク装置20、22(図1参照、ファ
イル構造記録テーブル上のディスク装置番号はそれぞれ
1と2である)に均等に分配されることを意味する。s
et path文は、属性として該当領域へアクセスす
るための経路を指定する。この例では領域Cが存在する
ディスク装置20、21は計算機5に接続されており、
アプリケーションプログラムが動作する計算機1とこの
計算機の間には、図1に示すようにネットワーク9を用
いる経路P1と、ネットワーク10を用いる経路P2の
2つが存在する。最初のset path文は、領域C
に対するアクセスに上記の経路P1とP2を使用するこ
とを意味する。これによりこれら2経路を使用した大き
な通信バンド幅のデータ転送が可能となり、領域Cへの
高性能アクセスが達成できる。ただしこれは計算機1上
のアプリケーションプログラムに対してのみ適用する。
最後のset path文は、領域Dへのアクセス経路
を指定すると同時に、アクセス手段がNFSプロトコル
であることを示している。従って領域Dへのアクセス
は、ゲートウェイ計算機8を介して行われる。ディスク
装置24は、NFS指定によって計算機1〜4上で動作
するアプリケーションプログラムからは、ゲートウェイ
計算機8に接続しているディスク装置のように見える。
ったファイルサーバは、これを解釈し、ファイル構造記
録テーブル60を作成する。図4に上記ステップで定義
されたファイル構造を示す。上段(600)はスクリプ
トで定義した領域の名前を示す。下段(601)は、各
領域がどの装置上に分散されているかを示す。ファイル
サーバは、各領域の物理装置への割り当てを決定する。
例えば領域Aについては、領域Aの前半分がディスク装
置20に、後半分がディスク装置22に割り付けられ
る。従って領域Aの前半分へのアクセスは全てディスク
装置20へのアクセスとなる。図5にファイル構造記録
テーブル60のデータ構成を示す。このテーブルは、始
めの列から順番に領域の名前、領域の各分割部分の開始
オフセット61、分割部分の長さ(バイト数)62、割
り付けられるディスク装置の番号63及びその他の属性
64から構成される。開始オフセット61は、当該ファ
イルの先頭を0とする相対バイトアドレス(RBA)に
よって表現される。領域Aについては、ディスク装置2
0と22に分散して格納されるという指定になってい
る。しかし分散する量は明記されていないので、ファイ
ルサーバは領域Aを等分して格納することにする。これ
により領域Aの2つの部分のファイル全体に対するオフ
セットと長さが決まる。領域Aについてはファイルの先
頭から長さL1バイト分のデータがディスク装置20
に、OFT1(=L1)から長さL2バイト分のデータ
がディスク装置22に格納される。領域Cに関しては、
アクセスする経路としてP1、P2が指定されているの
で、その他の属性の欄にアクセス経路が記録される。ま
た領域Dに関しては、別なネットワークN1を介してN
FSプロトコルでアクセスするので、その他の属性の欄
にはプロトコルが記録される。ファイルサーバ18は、
ファイル構造定義ステップの最後で作成したファイル構
造記録テーブル60の情報をディスク装置20,21な
どいずれかのディスク装置に格納する。
ユーザは並列効果を発揮するような最適のアクセスパタ
ーンを想定し、そのアクセスパターンに合うようにファ
イル構造を設定できる。例えば図18に示す700のよ
うなAPのアクセスパターンに対して702のようにフ
ァイル構造を定義すれば、各APは完全に独立してディ
スク装置D1〜D4にアクセスすることができ、ファイ
ルの並列アクセスによる並列効果を得ることができる。
細を説明する。ファイル入出力処理は、図1に示すとお
り、検索ステップ200、スケジュールステップ30
0、入出力実行ステップ400及びフィルタステップ5
00から成る。AP17は、ファイル中の図4に示す部
分602、603、604にアクセスするものとする。
部分602は領域Aのみのアクセス領域であり、範囲は
オフセットo1からo2である。部分603は領域Bと
Cにまたがったアクセス領域であり、604は領域Dの
みのアクセス領域である。APがアクセス要求を発行す
るとき、図6に示すようなアクセス要求のリストをファ
イルサーバ18に渡す。要求リストの各要素620、6
21、622は、それぞれ部分602、603、604
へのアクセス要求に対応する。各要素にはアクセスする
領域のオフセット、長さ、アクセスするAPプロセスの
プロセスID、データを受け渡しするバッファ領域及び
アクセスの種類を格納する。この例ではアクセスする3
つの領域は、各領域にアクセスするプロセスによって並
行してアクセスされることを示している。要素620で
は、オフセットo1から長さl1バイト分のデータをバ
ッファb1へ読み込む要求を示す。AP17とファイル
サーバ18の間には、このような要求のリストを渡すこ
とによって複数のアクセス要求を一度に発行できるアプ
リケーションプログラム・インタフェース(API)が
用意されている。
発行すると、ファイルサーバ18はその要求を受け取
り、処理は検索ステップ(図7の200)に入る。検索
ステップ200では、要求リストの各要素のオフセット
と長さを取得し、ファイル構造記録テーブル60を検索
して、要求がどの領域に対応するかを特定する。これが
領域の特定(201)である。部分602への要求に対
しては、テーブル60(図5)を検索して、要求の開始
オフセットo1が0からp2(=0+L1+L2)の間
にあることを確認し、要求の終了オフセットo2(=o
1+l1)が0からp2にあることを確認することによ
り、部分602への要求が領域Aに対してのみの要求で
あることを特定する(図8参照)。部分603への要求
の場合は、オフセットo3がp2とp4の間にあること
を確認し、要求の最後のo4(=o3+l2)がp4と
p6の間にあることを確認することにより、この要求が
2つの領域BとCに対する要求であることを特定する。
このような2つ以上の領域に対する要求の場合は、要求
を部分606と607の様に、領域毎に分割する。部分
604への要求は、部分602への要求と同様に、領域
Dに対してのみの要求であることを特定する。
う。これはここまでのステップで各領域対応となった要
求を更にディスク装置ごとの要求へと分割する(図8参
照)。部分602への要求については、ファイル構造記
録テーブル60(図5)と要求範囲を比べて要求がディ
スク装置20と22に渡っていることを認識し、部分6
02への要求をディスク装置ごとの要求として、ディス
ク装置20への要求608とディスク装置22への要求
609に分割する。要求606の場合は、ディスク装置
23のみを対象とするアクセス要求なので、このステッ
プではそのままである。要求607に関しては、ファイ
ル構造記録テーブル60を調べて要求がディスク装置2
0と21に渡っていることを認識し、要求をディスク装
置20への要求611とディスク装置21への要求61
2に分割する。要求604に関しては、要求先の物理装
置は要求範囲に亘って同じなのでこのステップではその
ままである。
ステップ300を実行する。図9にスケジュールステッ
プを示す。スケジュールステップは、ファイル入出力要
求を発行したAP17が存在する計算機1上のファイル
サーバ(18)上で動作する部分と、検索ステップによ
つてディスク装置ごとに分割されたアクセス要求に対応
する計算機上のファイルサーバ上で動作する部分とに分
かれる。前者のファイルサーバをローカルファイルサー
バ、後者のファイルサーバをリモートファイルサーバと
呼ぶ。スケジュールステップは、検索ステップで分割さ
れた要求608、609、606、611、612及び
604を受け取る。まずステップ301で、受け取った
要求を要求先となるファイルサーバごとに集める。ファ
イルサーバ15が動作する計算機5には、ディスク装置
20、21が接続されているので、ディスク装置20、
21に対する要求608、611、612を集める。フ
ァイルサーバ16が動作する計算機6に対しては、ディ
スク装置22、23が接続されているので、ディスク装
置22、23に対する要求609、606を集める。要
求604に関しては、ゲートウェイを介して別のネット
ワークへアクセスする必要があるので、ゲートウェイ8
上のファイルサーバ19に対する要求とする。次にステ
ップ302で要求先の各ファイルサーバ(リモートファ
イルサーバ)に対して、集めた要求を同時に発行する。
要求はファイル名、ディスク装置番号、アクセス種別、
アクセス領域の先頭と最終オフセツト、アクセス経路が
2つ以上ある場合の各ネットワーク識別子を含む。以降
のステップは、各リモートファイルサーバ上で実行され
る。ただし領域Dに対する要求は、以下に説明するリモ
ートファイルサーバとは若干異なった方法で処理され
る。
3で受け取った要求をステップ304で、ディスク装置
ごとのグループに分割してから、論理ブロック番号の順
に並べ換える。論理ブロック番号は、ファイルの先頭の
論理ブロック番号を0とする相対ブロック番号であり、
上記のオフセツトから変換される。物理ブロック番号
は、CCHHRのようにディスク装置の物理アドレスで
あり、論理ブロック番号から変換される。論理ブロック
の長さは物理ブロックの長さに等しく、論理ブロック番
号の順序は、物理ブロック番号の順序に一致する。ファ
イルサーバ15は、ディスク装置20に対する要求60
8、611のグループと、ディスク装置21に対する要
求612のグループとに分割する。ファイルサーバ16
は、ディスク装置22に対する要求609のグループ
と、ディスク装置23に対する要求606のグループと
に分割する。ファイルサーバはディバイスドライバへデ
ィスクの論理ブロック番号によってアクセス要求を発行
する。ファイルサーバは、ディバイスドライバへ要求を
出す前に要求されたデータの論理ブロックをその番号に
よって整列する。ディスクのフォーマットを作成すると
きに論理ブロック番号によるファイルの順アクセスによ
ってヘッドの移動が一方向にだけ発生するように論理ブ
ロックに対応する物理ブロックを初期化する。すなわち
論理ブロック番号の列をLB(1)、LB(2)・・・
LB(N)とし、LB(1)≦LB(2)≦・・・≦L
B(N)であるとき、論理ブロック番号順にディスクを
アクセスするときのヘッドのシーク方向が一方向のみと
なるように論理ブロックを物理ブロックに対応させる。
これにより、論理ブロック番号順のアクセスは、一定方
向のヘッドのシークしか引き起こさないようになり、ヘ
ッドシークによる性能低下を防ぐことができる。
かどうかの判断を行う。フィルタリングするかどうか
は、要求されたファイル上の領域に不要な部分(穴)が
含まれているかどうかによる。穴が含まれていない場合
はフィルタリングを行わない。元々の部分602、60
3はともに連続領域のアクセス要求であるので穴が含ま
れず、従ってフィルタリングする必要がないと判断す
る。フィルタリングする例については後述する。
下段のボックスに示されるように、ステップ306で要
求を受け取ったファイルサーバ19は、アクセスがNF
Sプロトコルを介したディスク装置24へのアクセスで
あるので、アクセス手段であるNFSプロトコル実行プ
ログラムにアクセスを依頼する(ステップ307)。次
に処理は入出力実行ステップに入る。
が行う読み取り処理動作を示す図である。ファイルサー
バ15は、ディスクのディバイスドライバを起動して、
論理ブロック番号順に整列したアクセス要求70をディ
スクディバイスドライバへ渡す。ディスクディバイスド
ライバは空きバッファ72を管理しており、要求された
ディスクブロックのデータをディスク装置20から空き
バッファに読み込む。ディスクディバイスドライバとネ
ットワークディバイスドライバは結合されており、バッ
ファに読み込まれたデータはファイルサーバに返らず
に、そのまま制御情報とともにネットワークディバイス
ドライバに渡される。ディスクディバイスドライバから
ネットワークディバイスドライバへのデータの転送はデ
ィスクのブロック単位に行われる。この転送動作はパイ
プライン方式によって並列に行われる。この方式によつ
て従来のようにディスクディバイスドライバからファイ
ルサーバに一旦制御が戻る方式に比べてオーバヘッドを
削減でき、高性能のデータ転送が可能である。制御情報
には読み取りデータを要求したファイルサーバの識別子
とそのアドレスが記録されている。ネットワークドライ
バは、制御情報を参照して読み取りデータをファイルサ
ーバごとのキュー71に登録する。本事例によれば要求
元が1つの場合を扱っているので、計算機1用のサーバ
に関するキューに登録する。要求元が複数の場合は、そ
れぞれ対応する計算機用のサーバに対するキューに登録
する。ネットワークディバイスドライバとディスクディ
バイスドライバには共通の制御情報格納エリア73があ
り、ディスクディバイスドライバは、データ読み取り要
求を発行するたびに予想割り込み完了時刻をエリア73
に書き込む。ネットワークディスクドライバは、実際に
ネットワークディバイスを起動するときに、エリア73
の予想割り込み完了時刻を参照し、ネットワーク処理の
割り込みがディスクの割り込みと重ならないようなタイ
ミングでネットワーク9,10を介して要求元のファイ
ルサーバへ向けてデータ転送する。ディスクの予想割り
込み完了時刻の元であるディスクデータ転送終了割り込
みは、1要求分のディスクデータ転送の終端で発生す
る。またネットワークによる割り込みは、転送する1パ
ケツト又は複数パケツトの終端で発生する。
されており、ディスク装置21からのデータ読み取り要
求は、上記と同様の手段によってディスク装置20から
のデータ読み取り要求と並列に実行される。さらに領域
Cへのアクセスに関してはアクセス経路が2つ指定され
ているので、ネットワークドライバはネットワーク9と
ネットワーク10を経由するアクセス経路の両方を用い
て高速な転送を行う。なお部分602と部分603は同
一のディスク装置20についてのアクセス要求を含む
が、ディスク装置20をアクセスする要求608と要求
611はマージされて1つの要求となり、ディスク上で
は連続にアクセスされるため、並列効果を低下させるよ
うなディスク装置20に対するアクセス競合は生じな
い。
取りデータの流れを図11に示す。要求先の計算機で読
み取られ、計算機1に転送されたデータは、計算機1の
ネットワークハードウェア75によつて受信される。ネ
ットワークハードウェア75は、変換テーブル76を参
照してアドレス変換を行う機構を有する。変換テーブル
76は、仮想空間上のアドレスを示す仮想アドレスと実
記憶上のアドレスを示す物理アドレスとの変換対を格納
する。予めファイルサーバによって設定された変換テー
ブル76を参照してネットワークハードウェアは、要求
したAP17の仮想空間上のバッファ領域に対応する主
記憶上の領域へ受信データをコピー無しに転送する。計
算機5から読み取ったデータは、ディスク装置20と2
1に対する要求608、611、612に対応するバッ
ファ領域に格納される。
て他のネットワーク25上の計算機7に接続されたディ
スク装置24から計算機7のアクセス手段78、ゲート
ウェイ8のアクセス手段77を経て、ネットワーク9を
介し計算機1のファイルサーバ18に転送される。領域
Dに関するアクセス手段としてNFSがファイル構造定
義に指定されているので、ゲートウェイ8と計算機7と
の間のデータ転送は、NFSプロトコルによって処理さ
れる。ファイルサーバ18の処理は、他の領域A,B,
Cの場合と同じである。上記のリモートファイルサーバ
15、16及び19の各読み取りステップは、それぞれ
並列に実行される。
る。図12は、書き込みのステップとデータの流れを示
す図である。ファイルサーバ18は、ファイル名、ディ
スク装置番号、アクセス種別、アクセス領域の先頭と最
終オフセツトを含むデータ書き込み要求を例えばファイ
ルサーバ15へ送信する。ファイルサーバ15は、この
要求に応答しステップ401でバッファ領域を割り付け
る。一般に資源の制約があり全書き込みデータ分のバッ
ファを割り付けることは不可能なので、全データのうち
の一部分のデータを格納するバッファを割り付ける。次
にステップ402で書き込みデータ転送要求を書き込み
要求元計算機1上のファイルサーバ18に送る。書き込
みデータ要求410は、ファイルサーバ15上の転送先
アドレス、バッファ長及び転送速度から成る。転送速度
はパケットの実効転送速度である。ネットワークの伝送
速度と指定された転送速度からパケットの送出時間間隔
を計算できる。ファイルサーバ15が指示する転送速度
は、書き込みデータ転送要求発行時のディスクの実効転
送速度にほぼ等しい。ファイルサーバ18は書き込みデ
ータ要求を受信すると、ステップ403でこの要求に従
って書き込みデータを格納するバッファをネットワーク
ドライバに渡し、計算機5へ書き込みデータを転送す
る。ファイルサーバ18は、書き込みデータ要求中のブ
ロックごとにネットワークディバイスドライバへデータ
転送要求を発行する。ネットワークディバイスドライバ
は、要求された書き込みデータをパケットとして転送す
る(ステップ404)。この書き込みデータは、ファイ
ルサーバ15のバッファに直接転送される。ファイルサ
ーバ15のネットワークドライバは、受け取った書き込
みデータをファイルサーバ15を介さずに直接ディスク
ディバイスドライバに渡す(ステップ405)。ディス
クディバイスドライバは、受け取ったデータを順次ディ
スクに書き込む(ステップ406)。
は、一般に書き込みデータ全体を格納するような書き込
み用バッファを用意できないので、書き込みデータ要求
を必要回数発行する。ネットワークディバイスドライバ
は、ステップ404の書き込みデータを送信するとき、
各書き込みデータ要求ごとに指示される転送速度に従っ
てパケット送出の時間間隔を調節する。これによつてフ
ァイルサーバ15側のバッファオーバーフローによるデ
ータ喪失を防ぐ。
4でゲートウェイ8へ転送され、一旦ファイルサーバ1
9に渡される。ファイルサーバ19は、指定されたアク
セス手段であるNFSプロトコルを用いてデータが格納
されるべきディスク装置24が接続されている計算機7
へデータを転送する。
ないので、フィルタステップ500が実行されなかっ
た。以下にデータのストライピングを例にとってフィル
タステップについて説明する。図13は、ストライピン
グ時のファイル構造定義スクリプト84、APのデータ
参照方向に沿った論理的なデータの配置80及びファイ
ル上のデータの配置81を示す図である。データは10
0×100の要素から構成される2次元の配列である。
計算機1〜4上で動作するAPは、このデータ構造をも
つたファイルに並列にアクセスする。ファイル構造定義
スクリプト84の始めのstruct文で、100×1
00の要素から構成される配列を定義している。次のd
istribute文で配列の各行を4ブロックに分
け、4ブロックごとに4つのディスクのうちの各ディス
ク上にストライプのパターンを形成するように分散して
格納することを示している。ブロック長はtype_A
のデータ25個分とみなす。従って各行は4ブロックと
なる。80はユーザから見た配列の分割状況を示してい
る。この分割は、row−majorで(行の方向に)
配列を分割するようなデータの配置を仮定する。ファイ
ル上のデータの配置81は、データが配列の始めの行か
ら行の順番に並んでいる。82はファイル上のデータの
配置81に対応する物理的なディスク上のデータの配置
を示している。最初の行A[1,*]については、全て
のブロックがディスク装置20上に割り当てられている
ことを示す。ディスク装置20には、A[5,*]、A
[9,*]なども割り当てられる。83は対応する配列
の行を用いて計算を行う計算機の番号が示されている。
例えば行A[1,*]は計算機1上のAP17によって
参照される。この構成定義の場合、各計算機上のAP
は、各々独立にディスク装置にアクセスする。APが配
列の行方向にアクセスする場合には、上記のような手順
によってファイルにアクセスを行い、フィルタリング動
作は発生しない。ただし全体のスケジュールを行うため
に、図19のように要求の発行者を4つのプログラム
(またはプロセス)の中のどれか一つに決め(例えば、
計算機1上のAP17)、これが他のプログラム(プロ
セス)の要求もリストとして繋いでファイルサーバ18
にアクセス要求を発行する。ファイルサーバ18は、他
のプログラムの要求もリストとして繋いだ要求をまとめ
て受け付ける。計算機1上のAP17は、このようなA
PIを用いて各計算機2〜4のAPの要求も一緒に発行
する。ファイルサーバ18は、すべての要求に対して検
索ステップ200、スケジュールステップ300を、上
述した手順に従って行う。入出力実行ステップ400で
は、要求発行元が指示するデータアクセスする計算機に
従って入出力動作を実行する。データ読み取りの場合に
は、計算機1ではなくデータを参照する計算機へ読み取
りデータを転送する。このようにファイルサーバに他の
APの要求も渡すことによって並列動作するAP全体に
亘るグローバルなスケジューリングが可能となる。この
スケジューリング方式は、次に示す配列の列方向にアク
セスする例で効果を発揮する。
各プログラムが列方向にアクセスする場合について説明
する。85はこの場合のAPの参照方向に沿った論理的
なデータの配置を示す。A[*,1]は行列Aの1列目
を表す。ファイルは行方向のアクセスに対して最適化さ
れているため、列方向のアクセスの場合には83に示す
計算機のアクセスパターンの代わりに84に示すように
各APは行列の各要素ごとに順にかつ交互にアクセスす
る。例えば計算機1上で動作するAP17は図の白抜き
の部分の要素をアクセスする。各計算機がこのようなア
クセスをそれぞれ独立して行うとすれば、入出力性能が
極端に低下する。このような場合、すなわちあるプログ
ラムからアクセスするデータが不要部分を含んでいる場
合は、フィルタステップ500でデータのフィルタリン
グを行うように判断する。AP17は他のプログラムの
要求もリストとして繋いでファイルサーバ18にこのよ
うなアクセスパターンによるアクセス要求を発行する。
ファイルサーバは、フィルタステップ500で転送され
るデータのフィルタリングを行う。フィルタリングは、
図14に示すようにディスク装置の接続された計算機上
(フィルタ510)か、ファイルを要求したプログラム
が存在する計算機上(フィルタ511,512)で実行
される。図14は、ディスク装置20にあるデータを各
プログラムが読み込む場合のデータの流れを示す。ディ
スク装置20から読み出されたデータ84は、各プログ
ラムから見ると図13に示すように不要部分のあるデー
タなので、スケジュールステップ305(図9)でフィ
ルタリングを行うと判断される。ネットワーク9を制御
する通信制御ハードウェアがスキャタ/ギャザの機能を
備えている場合は、フィルタ510がスキャタ/ギャザ
の準備をして該当する計算機上へ転送する。例えば計算
機1の必要とするデータとして84の白抜きの部分のみ
が集められて計算機1へ転送される。この場合にはグロ
ーバルなスケジュール機能によって、計算機1が要求し
た領域(白抜きの領域)以外の領域も必要であると計算
機5のファイルサーバは判断するので、他の計算機2〜
4が必要とする部分を集めて各計算機へ転送する。ハー
ドウェアにスキャタ/ギャザの機能がない場合は、ディ
スク装置20から取得されたデータ84はアクセスする
計算機1〜4全てにブロードキャストで転送される。次
に各計算機はフィルタ511,512によるフィルタ処
理を行い、APには必要な部分のデータのみが渡され
る。例えば計算機1は、フィルタリング処理によって受
信したデータ84から513の白抜きの部分のみを抜き
出し、計算機4は514の網が一番濃い部分のみを抜き
出す。このフィルタ処理によってディスクアクセスの単
位を大きくし、ディスクアクセスの回数を減らすことが
でき、性能を劣化させることなく上記のようなアクセス
パターンによるデータアクセスが可能となる。
パターンを想定してファイル構造を設定するが、別のア
クセスパターンによってファイルをアクセスする場合に
はファイル構造を変更しなくとも別のアクセス要求リス
トを指定し、ファイルシステムによるフィルタリングと
グローバルなスケジュール機能によってファイルの並列
アクセスによる並列効果を得ることができる。
り、種々の変形したシステムを構成し得る。本発明は、
計算機の台数、ネットワークの存在、ディスク装置を接
続する計算機、APを搭載する計算機、ファイルサーバ
を搭載する計算機などのハードウェア構成が限定される
ものではない。本発明の主旨とするところは、アプリケ
ーションプログラムを実行する複数のプロセスとファイ
ルの領域が割り付けられる物理装置との間で並列にデー
タ転送するような構成であり、この主旨に沿ったシステ
ム構成は本発明の範囲である。特に並列データ転送を効
果的に行うために、計算機の処理能力、ネットワークの
データ転送速度、ディスク装置−主記憶装置間のデータ
転送速度上のネックを解消しているシステム構成が望ま
しい。
て説明する。図15は、属性としてキャッシュの有無、
信頼性の指定、他のファイルとの関連を指定するときの
ファイル構造定義スクリプトである。ファイルのデータ
構造は、上記の例と同じであるので、最後の6つのse
t文について説明する。最初のset文は、領域Aへの
アクセスをキャッシュすることを意味する。次のset
文は、領域Bに対するアクセスが読み出し専用であるこ
とを示す。3行目のset文は、領域Bへのアクセスを
キャッシュすることを意味する。次の2つのset文
は、領域Cをファイル”K”と”L”に関連付けること
を意味する。最後のset文は、領域Dのデータをミラ
ーリングすることを意味する。
に対してアクセスするものとする。ファイルサーバは、
全ファイルの一部分である領域についてファイル構造定
義時に指定した領域の名前を指定してオープンすること
を許すインタフェースを有する。以降は、この部分を通
常のファイルと同じプリミティブを用いてアクセスする
ことが可能となる。図16は、領域Cに対してopen
_subというプリミティブで領域名”C”を指定して
オープンすることを示している。
作について述べる。領域Aに関しては、属性としてキャ
ッシュ属性が指定されている。計算機上のキャッシュ制
御部は、データ読み取り要求を受けた時、計算機のキャ
ッシュ上にデータがある場合、ディスクアクセスを行わ
ずにキャッシュ上のデータを取り込む。書き込みの場合
は、書き込みデータをキャッシュ上に残しておき非同期
に書き込みを行う。複数のプログラムから領域Aがアク
セスされる場合、図17に示すキャッシュ制御部650
は、一貫性制御ステップ651によってキャッシュ間の
一貫性及びキャッシュとファイルデータとの一貫性を保
証する。図17の場合は、領域Aについての読み取りア
クセス要求と書き込みアクセス要求が同時に発生してい
るので、キャッシュ制御部650は、一貫性制御ステッ
プによって各操作の順番を決定し、キャッシュおよびフ
ァイルデータの一貫性を保つ。一方領域Bへのアクセス
もキャッシュ属性が指定されているが、同時にアクセス
パターンとして読み込み専用属性も指定されているの
で、キャッシュ制御部650は、一貫性制御ステップ6
51を実行しない。このように属性によって本ファイル
システムは、キャッシュの制御処理を自動的に変える。
であるとする。このハイパーテキストは、リンク先とし
て、ファイル”K”と”L”を含んでいる。この場合、
ファイルCの読み取り要求と同時に、ファイル”K”お
よび”L”へも読み取り要求を発行し、バッファに保存
する。これにより、後のファイル”K”や”L”へのア
クセスに対してキャッシュが効くので、高速にファイル
にアクセスできる。
ーリングが指定されているので、この領域に対する書き
込み要求があった場合は、入出力実行ステップ400
で、ディスク装置20と22が接続されている計算機5
と6へ書き込みデータを同時に転送し、各計算機は図1
2に示すように並列に書き込み動作を実行する。上記の
例では各計算機ごとに書き込みデータは異なっていた
が、ミラーリングの場合は計算機5と6に書き込むデー
タは同じである。領域Dへのアクセス時、ディスク装置
20と22のうちのどちらかの故障を検出したとき、フ
ァイルサーバは故障していない方のディスクを用いて入
出力動作を実行する。
グラムがファイル構造とファイル内各領域に対応する属
性を指定することによって、ファイルアクセス時にユー
ザの所望するアクセスパターンに沿ったアクセスが可能
となり、ファイルの並列アクセス効果を発揮することが
できる。またファイルのアクセスパターンが変化したと
き、統合的なスケジューリング機構によりその状況での
最適なファイルアクセスを実現できる。また同一ファイ
ルをアクセスする複数のプロセスのアクセス要求をまと
めて発行できるため、ファイルの並列アクセスを統合的
にスケジューリングでき、効率的な入出力制御を行うこ
とができる。さらに物理装置のディバイスドライバとネ
ットワークディバイスドライバを介してデータを直接ネ
ットワークと物理装置との間に転送することができ、フ
ァイルサーバが介在することによるオーバヘッドを削減
することができる。また両ディバイスドライバ間で情報
を共有することにより、ディバイスドライバ間でパイプ
ライン的にデータを転送することができ、高速なファイ
ルデータの転送が実現できる。
る。
ある。
る。
す図である。
ータ構成を示す図である。
ある。
である。
る。
を示す図である。
図である。
れを示す図である。
れを示す図である。
プトの例を示す図である。
る。
するときのファイル構造定義スクリプトの例を示す図で
ある。
の操作に使用したプログラムの例を示す図である。
る。
装置上の領域割り付けとの対応を例示する図である。
ることを説明する図である。
9:ファイルサーバ、17:アプリケーションプログラ
ム、9、10:ネットワーク、20〜24:ディスク装
置、60:ファイル構造記録テーブル、100:構造定
義ステップ、200:検索ステップ、300:スケジュ
ールステップ、400:入出力実行ステップ、500:
フィルタリングステップ
Claims (10)
- 【請求項1】アプリケーションプログラムを実行するプ
ロセスからのファイルアクセス要求に応答してファイル
入出力を制御するファイル管理プログラムの方法におい
て、 ファイルを複数の領域に分割し、該複数の領域を複数の
物理装置に分散して割り付けるように要求するアプリケ
ーションプログラムによるファイル構造設定要求に応答
して指定されたファイル構造を設定するテーブルを作成
してファイル内領域を指定された物理装置に割り付け、
該ファイル内の複数の領域を並列にアクセスするように
要求する入出力要求に応答して設定されたファイル構造
テーブルを参照して該入出力要求を各物理装置ごとのア
クセス要求に展開し、該アプリケーションプログラムを
実行するプロセスと該物理装置との間で並列にデータ転
送を行うよう制御することを特徴とする高速ファイル入
出力制御方法。 - 【請求項2】該アプリケーションプログラムを実行する
複数のプロセスは、複数の計算機上で分散して実行さ
れ、該ファイル管理プログラムによって該複数のプロセ
スと該物理装置との間で並列にデータ転送を行うよう制
御することを特徴とする請求項1記載の高速ファイル入
出力制御方法。 - 【請求項3】該アプリケーションプログラムを実行する
複数のプロセスのうちの1つのプロセスが該ファイル内
の複数の領域を並列にアクセスするように要求する入出
力要求の全体をまとめて発行することを特徴とする請求
項1記載の高速ファイル入出力制御方法。 - 【請求項4】ネットワークを介して該アプリケーション
プログラムを実行するプロセスと該物理装置との間のデ
ータ転送を行う場合に、該ファイル管理プログラムによ
って物理装置のディバイスドライバが起動された後、該
ファイル管理プログラムを介さずに物理装置のディバイ
スドライバとネットワークのディバイスドライバを介し
てデータを直接ネットワークと該物理装置との間に転送
することを特徴とする請求項1記載の高速ファイル入出
力制御方法。 - 【請求項5】該領域の1つに対応して複数の通信経路を
設定し、複数の通信経路に対応する領域に関する該入出
力要求に応答して該複数の通信経路を介する並列データ
転送を行うよう制御することを特徴とする請求項1記載
の高速ファイル入出力制御方法。 - 【請求項6】該入出力要求によってデータのフィルタリ
ングを指定することによって該アプリケーションプログ
ラムが必要とする以上のデータを該物理装置から該アプ
リケーションプログラムに向けて転送し、該ファイル管
理プログラムのフィルタリングの該ファイル構造設定に
よって指定された必要部分のみのデータを該アプリケー
ションプログラムに渡すことを特徴とする請求項1記載
の高速ファイル入出力制御方法。 - 【請求項7】該領域の1つに対応してデータをキャッシ
ュするよう指定し、該入出力要求に応答して該物理装置
への書き込みデータ及び読み取りデータをキャッシュ上
に残し、読み取りデータについてキャッシュ上にデータ
があればキャッシュからデータを取得するよう制御する
ことを特徴とする請求項1記載の高速ファイル入出力制
御方法。 - 【請求項8】コンピュータ読み取り可能な記憶媒体上に
実体化されるコンピュータプログラムであり、アプリケ
ーションプログラムを実行するプロセスからのファイル
アクセス要求に応答してファイル入出力を制御するファ
イル管理プログラムであって、該ファイル管理プログラ
ムは下記ステップを含む: (a)アプリケーションプログラムからの要求に基づい
てファイルを複数の領域に分割し、該複数の領域を複数
の物理装置に分散して割り付けるように要求するファイ
ル構造設定要求に応答して指定されたファイル構造を設
定するテーブルを作成してファイル内領域を指定された
物理装置に割り付け、(b)該ファイル内の複数の領域
を並列にアクセスするように要求する入出力要求に応答
して設定されたファイル構造テーブルを参照して該入出
力要求を各物理装置ごとのアクセス要求に展開し、該ア
プリケーションプログラムを実行する複数のプロセスと
該物理装置との間で並列にデータ転送を行うよう制御す
る。 - 【請求項9】該アプリケーションプログラムを実行する
複数のプロセスは、複数の計算機上で分散して実行さ
れ、該複数のプロセスと該物理装置との間で並列にデー
タ転送を行うよう制御することを特徴とする請求項8記
載のファイル管理プログラム。 - 【請求項10】該アプリケーションプログラムを実行す
る複数のプロセスのうちの1つのプロセスが該ファイル
内の複数の領域を並列にアクセスするように要求する入
出力要求の全体をまとめて受け取ることを特徴とする請
求項8記載のファイル管理プログラム。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP16993597A JP3817339B2 (ja) | 1997-06-26 | 1997-06-26 | ファイル入出力制御方法 |
US09/104,168 US6101558A (en) | 1997-06-26 | 1998-06-25 | High speed file I/O control method and system with user set file structure to effect parallel access pattern over a network |
US09/613,817 US6347343B1 (en) | 1997-06-26 | 2000-07-10 | High speed file I/O control system with user set file structure to effect parallel access pattern over a network |
US10/056,082 US6691177B2 (en) | 1997-06-26 | 2002-01-28 | High speed file I/O control system with user set file structure to effect parallel access pattern over a network |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP16993597A JP3817339B2 (ja) | 1997-06-26 | 1997-06-26 | ファイル入出力制御方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH1115720A true JPH1115720A (ja) | 1999-01-22 |
JP3817339B2 JP3817339B2 (ja) | 2006-09-06 |
Family
ID=15895654
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP16993597A Expired - Fee Related JP3817339B2 (ja) | 1997-06-26 | 1997-06-26 | ファイル入出力制御方法 |
Country Status (2)
Country | Link |
---|---|
US (3) | US6101558A (ja) |
JP (1) | JP3817339B2 (ja) |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6687764B2 (en) | 2000-12-25 | 2004-02-03 | Hitachi, Ltd. | File I/O control method |
JP2005502096A (ja) * | 2001-01-11 | 2005-01-20 | ゼット−フォース コミュニケイションズ インコーポレイテッド | ファイルスイッチ及び交換ファイルシステム |
JP2005322020A (ja) * | 2004-05-10 | 2005-11-17 | Hitachi Ltd | ストレージシステム、ファイルアクセス制御プログラム及びファイルアクセス制御方法 |
JP2006146294A (ja) * | 2004-11-16 | 2006-06-08 | Dainippon Printing Co Ltd | データ保管制御システム |
US7774572B2 (en) | 2003-07-14 | 2010-08-10 | Fujitsu Limited | Migrating data in a distributed storage system based on storage capacity utilization |
WO2011121746A1 (ja) * | 2010-03-31 | 2011-10-06 | 株式会社日立ソリューションズ | ファイルサーバ装置、及びストレージシステムの管理方法、並びにプログラム |
WO2012053156A1 (ja) * | 2010-10-22 | 2012-04-26 | 株式会社インテック | ストレージサービス提供装置、システム、サービス提供方法、及びサービス提供プログラム |
JP2013093050A (ja) * | 2013-02-04 | 2013-05-16 | Intec Inc | ストレージサービス提供装置、システム、サービス提供方法、及びサービス提供プログラム |
JP2013105397A (ja) * | 2011-11-15 | 2013-05-30 | Toshiba Corp | ファイル処理装置及びファイル処理方法 |
JP2015176521A (ja) * | 2014-03-18 | 2015-10-05 | 日本電気株式会社 | 冗長化記憶制御装置、冗長化記憶制御方法、及び冗長化記憶制御プログラム |
JP2015207305A (ja) * | 2015-06-29 | 2015-11-19 | 株式会社インテック | ストレージサービス提供装置、システム、サービス提供方法、及びサービス提供プログラム |
Families Citing this family (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6327608B1 (en) | 1998-09-25 | 2001-12-04 | Microsoft Corporation | Server administration tool using remote file browser |
US6549934B1 (en) * | 1999-03-01 | 2003-04-15 | Microsoft Corporation | Method and system for remote access to computer devices via client managed server buffers exclusively allocated to the client |
US6961749B1 (en) | 1999-08-25 | 2005-11-01 | Network Appliance, Inc. | Scalable file server with highly available pairs |
US7167867B1 (en) * | 1999-10-05 | 2007-01-23 | Emc Corporation | Self-describing file system |
US7433951B1 (en) | 2000-09-22 | 2008-10-07 | Vmware, Inc. | System and method for controlling resource revocation in a multi-guest computer system |
US7346928B1 (en) * | 2000-12-01 | 2008-03-18 | Network Appliance, Inc. | Decentralized appliance virus scanning |
US7778981B2 (en) * | 2000-12-01 | 2010-08-17 | Netapp, Inc. | Policy engine to control the servicing of requests received by a storage server |
US7209973B2 (en) * | 2001-04-09 | 2007-04-24 | Swsoft Holdings, Ltd. | Distributed network data storage system and method |
US20020199017A1 (en) * | 2001-06-25 | 2002-12-26 | Russell Lance W. | Routing meta data for network file access |
US20030041097A1 (en) * | 2001-07-11 | 2003-02-27 | Alexander Tormasov | Distributed transactional network storage system |
US6877045B2 (en) * | 2001-12-18 | 2005-04-05 | International Business Machines Corporation | Systems, methods, and computer program products to schedule I/O access to take advantage of disk parallel access volumes |
JP4250933B2 (ja) * | 2002-09-04 | 2009-04-08 | コニカミノルタビジネステクノロジーズ株式会社 | データ管理システムおよびデータ管理プログラム |
JP2004164072A (ja) * | 2002-11-11 | 2004-06-10 | Hitachi Ltd | ディスク制御装置およびディスク制御装置の制御方法 |
WO2004077211A2 (en) * | 2003-02-28 | 2004-09-10 | Tilmon Systems Ltd. | Method and apparatus for increasing file server performance by offloading data path processing |
US7151544B2 (en) * | 2003-05-16 | 2006-12-19 | Sun Microsystems, Inc. | Method for improving texture cache access by removing redundant requests |
US8250093B2 (en) * | 2003-08-25 | 2012-08-21 | International Business Machines Corporation | Method and system for utilizing a cache for path-level access control to structured documents stored in a database |
US7792866B2 (en) * | 2003-08-25 | 2010-09-07 | International Business Machines Corporation | Method and system for querying structured documents stored in their native format in a database |
US8150818B2 (en) * | 2003-08-25 | 2012-04-03 | International Business Machines Corporation | Method and system for storing structured documents in their native format in a database |
US7519574B2 (en) * | 2003-08-25 | 2009-04-14 | International Business Machines Corporation | Associating information related to components in structured documents stored in their native format in a database |
US8775468B2 (en) | 2003-08-29 | 2014-07-08 | International Business Machines Corporation | Method and system for providing path-level access control for structured documents stored in a database |
US20060173901A1 (en) * | 2005-01-31 | 2006-08-03 | Mediatek Incorporation | Methods for merging files and related systems |
US7779411B2 (en) * | 2005-02-17 | 2010-08-17 | Red Hat, Inc. | System, method and medium for providing asynchronous input and output with less system calls to and from an operating system |
US8161362B2 (en) * | 2005-06-10 | 2012-04-17 | Hitachi, Ltd. | Task management control apparatus and method, having redundant processing comparison |
US7783666B1 (en) | 2007-09-26 | 2010-08-24 | Netapp, Inc. | Controlling access to storage resources by using access pattern based quotas |
KR20130081526A (ko) | 2012-01-09 | 2013-07-17 | 삼성전자주식회사 | 저장 장치, 그것을 포함하는 전자 장치, 및 그것의 데이터 관리 방법들 |
TWI502372B (zh) * | 2013-09-27 | 2015-10-01 | Acer Inc | 網路儲存系統及檔案快取方法 |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4901232A (en) * | 1983-05-19 | 1990-02-13 | Data General Corporation | I/O controller for controlling the sequencing of execution of I/O commands and for permitting modification of I/O controller operation by a host processor |
JPH07120250B2 (ja) * | 1989-05-19 | 1995-12-20 | 日本電気株式会社 | 並列ディスク制御バッファの割当て方式 |
US5163131A (en) * | 1989-09-08 | 1992-11-10 | Auspex Systems, Inc. | Parallel i/o network file server architecture |
US5224214A (en) * | 1990-04-12 | 1993-06-29 | Digital Equipment Corp. | BuIffet for gathering write requests and resolving read conflicts by matching read and write requests |
US5548724A (en) * | 1993-03-22 | 1996-08-20 | Hitachi, Ltd. | File server system and file access control method of the same |
JPH07191899A (ja) * | 1993-12-27 | 1995-07-28 | Hitachi Ltd | ファイル転送方法、データアクセス方法およびデータ書き込み方法 |
JPH07244564A (ja) * | 1994-03-02 | 1995-09-19 | Oki Electric Ind Co Ltd | ディスクアレイ装置 |
US5787465A (en) * | 1994-07-01 | 1998-07-28 | Digital Equipment Corporation | Destination indexed miss status holding registers |
JP3366143B2 (ja) * | 1995-01-10 | 2003-01-14 | 富士通株式会社 | ソフトウェア流通システムにおける識別子管理装置および方法ならびにソフトウェア流通管理装置および方法 |
US5745915A (en) * | 1995-03-17 | 1998-04-28 | Unisys Corporation | System for parallel reading and processing of a file |
JPH08292905A (ja) | 1995-04-21 | 1996-11-05 | Matsushita Electric Ind Co Ltd | ファイルデータ管理装置 |
US5893138A (en) * | 1995-10-02 | 1999-04-06 | International Business Machines Corporation | System and method for improving channel hardware performance for an array controller |
US5754888A (en) * | 1996-01-18 | 1998-05-19 | The Board Of Governors For Higher Education, State Of Rhode Island And Providence Plantations | System for destaging data during idle time by transferring to destage buffer, marking segment blank , reodering data in buffer, and transferring to beginning of segment |
US6003045A (en) * | 1997-09-17 | 1999-12-14 | International Business Machines Corporation | Accessing stored files from multiple storage devices |
-
1997
- 1997-06-26 JP JP16993597A patent/JP3817339B2/ja not_active Expired - Fee Related
-
1998
- 1998-06-25 US US09/104,168 patent/US6101558A/en not_active Expired - Fee Related
-
2000
- 2000-07-10 US US09/613,817 patent/US6347343B1/en not_active Expired - Fee Related
-
2002
- 2002-01-28 US US10/056,082 patent/US6691177B2/en not_active Expired - Fee Related
Cited By (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6687764B2 (en) | 2000-12-25 | 2004-02-03 | Hitachi, Ltd. | File I/O control method |
JP2005502096A (ja) * | 2001-01-11 | 2005-01-20 | ゼット−フォース コミュニケイションズ インコーポレイテッド | ファイルスイッチ及び交換ファイルシステム |
US7774572B2 (en) | 2003-07-14 | 2010-08-10 | Fujitsu Limited | Migrating data in a distributed storage system based on storage capacity utilization |
JP2005322020A (ja) * | 2004-05-10 | 2005-11-17 | Hitachi Ltd | ストレージシステム、ファイルアクセス制御プログラム及びファイルアクセス制御方法 |
JP4491273B2 (ja) * | 2004-05-10 | 2010-06-30 | 株式会社日立製作所 | ストレージシステム、ファイルアクセス制御プログラム及びファイルアクセス制御方法 |
JP2006146294A (ja) * | 2004-11-16 | 2006-06-08 | Dainippon Printing Co Ltd | データ保管制御システム |
JP4666577B2 (ja) * | 2004-11-16 | 2011-04-06 | 大日本印刷株式会社 | データ保管制御システム |
US8595440B2 (en) | 2010-03-31 | 2013-11-26 | Hitachi Solutions, Ltd. | File server apparatus, management method of storage system, and program |
WO2011121746A1 (ja) * | 2010-03-31 | 2011-10-06 | 株式会社日立ソリューションズ | ファイルサーバ装置、及びストレージシステムの管理方法、並びにプログラム |
JP5400889B2 (ja) * | 2010-03-31 | 2014-01-29 | 株式会社日立ソリューションズ | ファイルサーバ装置、及びストレージシステムの管理方法、並びにプログラム |
WO2012053156A1 (ja) * | 2010-10-22 | 2012-04-26 | 株式会社インテック | ストレージサービス提供装置、システム、サービス提供方法、及びサービス提供プログラム |
JP2012089094A (ja) * | 2010-10-22 | 2012-05-10 | Intec Inc | ストレージサービス提供装置、システム、サービス提供方法、及びサービス提供プログラム |
JP2013105397A (ja) * | 2011-11-15 | 2013-05-30 | Toshiba Corp | ファイル処理装置及びファイル処理方法 |
JP2013093050A (ja) * | 2013-02-04 | 2013-05-16 | Intec Inc | ストレージサービス提供装置、システム、サービス提供方法、及びサービス提供プログラム |
JP2015176521A (ja) * | 2014-03-18 | 2015-10-05 | 日本電気株式会社 | 冗長化記憶制御装置、冗長化記憶制御方法、及び冗長化記憶制御プログラム |
JP2015207305A (ja) * | 2015-06-29 | 2015-11-19 | 株式会社インテック | ストレージサービス提供装置、システム、サービス提供方法、及びサービス提供プログラム |
Also Published As
Publication number | Publication date |
---|---|
JP3817339B2 (ja) | 2006-09-06 |
US6691177B2 (en) | 2004-02-10 |
US6101558A (en) | 2000-08-08 |
US6347343B1 (en) | 2002-02-12 |
US20020073248A1 (en) | 2002-06-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPH1115720A (ja) | 高速ファイル入出力制御方法 | |
US20190075163A1 (en) | Apparatus including an i/o interface and a network interface and related method of use | |
US6047356A (en) | Method of dynamically allocating network node memory's partitions for caching distributed files | |
US5603003A (en) | High speed file access control method and computer system including a plurality of storage subsystems connected on a bus | |
US7093035B2 (en) | Computer system, control apparatus, storage system and computer device | |
US7222150B1 (en) | Network server card and method for handling requests received via a network interface | |
US5873085A (en) | Virtual file management system | |
JP4105398B2 (ja) | 情報処理システム | |
JP3003418B2 (ja) | プロセッサ間データ通信方法 | |
US7167854B2 (en) | Database control method | |
US20090125678A1 (en) | Method for reading data with storage system, data managing system for storage system and storage system | |
JPH1011372A (ja) | Cpu及びi/oデバイス間のリファレンスによるコンピュータシステムデータi/o | |
JPH11296313A (ja) | 記憶サブシステム | |
JPH09325944A (ja) | I/oデバイス及び多重メモリ装置間のリファレンスによるコンピュータシステムデータi/o | |
JPH103441A (ja) | Cpu及び多重メモリ装置間のリファレンスによるコンピュータシステムデータi/o | |
JPH09288654A (ja) | 多重データソース及びシンク間のリファレンスによるコンピュータシステムデータi/o | |
US6549988B1 (en) | Data storage system comprising a network of PCs and method using same | |
KR20200109547A (ko) | 네트워크 부착 디스크를 통한 파일 처리 방법 및 그 시스템 | |
JP2002157092A (ja) | 記憶システムおよび記憶システム間のデータ転送方法 | |
JP2001022614A (ja) | 階層形記憶システム | |
JPH09288653A (ja) | Cpu間のリファレンスによるコンピュータシステムデータi/o | |
JP2003316589A (ja) | 実記憶利用方法 | |
JPH07319839A (ja) | 分散共有メモリ管理方法及びネットワーク計算機システム | |
JP2000163317A (ja) | 情報システム | |
JPS62285150A (ja) | オペレ−テイングシステムのフアイル制御方式 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20050118 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050318 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060221 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060421 |
|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20060421 |
|
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: 20060523 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20060612 |
|
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: 20090616 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100616 Year of fee payment: 4 |
|
LAPS | Cancellation because of no payment of annual fees |