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
Application number
JP9169935A
Other languages
English (en)
Other versions
JP3817339B2 (ja
Inventor
Naoki Utsunomiya
直樹 宇都宮
Takashi Nishikado
隆 西門
Koji Sonoda
浩二 薗田
Hiroyuki Kumazaki
裕之 熊▲崎▼
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 JP16993597A priority Critical patent/JP3817339B2/ja
Priority to US09/104,168 priority patent/US6101558A/en
Publication of JPH1115720A publication Critical patent/JPH1115720A/ja
Priority to US09/613,817 priority patent/US6347343B1/en
Priority to US10/056,082 priority patent/US6691177B2/en
Application granted granted Critical
Publication of JP3817339B2 publication Critical patent/JP3817339B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • G06F3/0613Improving I/O performance in relation to throughput
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/0643Management of files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0689Disk arrays, e.g. RAID, JBOD
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F2003/0697Digital 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
    • YGENERAL 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
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99932Access 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

(57)【要約】 【課題】 ユーザの所望するファイルのアクセスパター
ンに合うようなファイル構造の設定をファイルごとに可
能とし、ファイルを並列にアクセスする効果を発揮させ
る。 【解決手段】 アプリケーションプログラム(AP)1
7は、ファイルを複数の領域A,B,C,Dに分割し、
複数のディスク装置20〜24に分散して割り付けるよ
う要求するファイル構造定義をファイルサーバ(FS)
18に指定する。FS18はこの指示に従い、ファイル
構造記録テーブル60を作成してファイル内領域を指定
されたディスク装置に割り付ける。AP17からのファ
イルを並列にアクセスするための入出力要求に応答し
て、FS18はテーブル60を参照して入出力要求を各
ディスク装置ごとのアクセス要求に展開し、計算機1又
は計算機1〜4で実行される複数のプロセスとディスク
装置との間で並列にデータ転送を行うよう制御する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、ファイル入出力制
御方法に係わり、特に1つのファイルを関連する複数の
プロセスによって並列にアクセスするよう制御する高速
ファイル入出力制御方法に関する。
【0002】
【従来の技術】ファイルに何らかの属性を付加してファ
イルアクセスの高速化を図り、ファイル入出力のリアル
タイム性の保証を行うファイルシステムが知られてい
る。例えば特開平8−292905号公報は、ファイル
を複数の装置に分割して格納し、ファイルシステムが入
出力速度情報を保持し、ファイル入出力速度情報に従っ
て各装置に入出力するデータ量を決めるファイルシステ
ムを開示する。しかしこの技術は、ユーザがファイルの
構造を定義するものではなく、ファイルシステムが構造
を決定し、速度情報という属性を与えるものである。ま
た指定可能な属性は、ディスク装置の速度に限られてい
る。
【0003】ファイルの並列アクセスを目的とする他の
ファイルシステムとして、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)がある。このファイルシステムによってファ
イルの構造を設定することができるが、ユーザの所望す
るファイルのアクセスパターンに従ってファイル構造や
属性を変更することができない。
【0004】
【発明が解決しようとする課題】複数のプロセスが協調
して計算を行うようなアプリケーションプログラムにお
いて、各プロセスは、高速化のためにしばしばファイル
の一部分を並列にアクセスする必要が生じる。この場
合、アプリケーションプログラムがファイルに対するア
クセスのパターンを決定するので、ファイルシステムが
勝手にファイルの分割を行い分割された領域をディスク
装置へ割り付けると、ユーザの所望するアクセスパター
ンと合わなくなりファイルを並列アクセスすることによ
る高性能を引き出すことができない。例えば図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の範囲に合わせたとしても各アプリケーシ
ョンプログラムのアクセス範囲が均等でないので、上記
問題が生じる。
【0005】また従来のファイルシステムにおいては、
ユーザはファイル入出力の性能を決定する属性(ファイ
ルの論理構造と物理装置との対応、データの転送経路、
ストライピングなど)をファイルシステム単位に指定す
るか、又はシステム起動時にしか指定できず、ファイル
単位にこの属性を変えたい場合やパラメータを動的に変
えたい場合は問題である。例えば図18に示す702の
ような均一でない割り当て指定が可能であったとして
も、ファイルごとにその指定ができなければ意味がな
い。何故ならば、複数のファイルの集まりであるファイ
ルシステムに対して特定のアプリケーションのアクセス
パターンを指定することになるからである。また従来の
ファイルシステムは、ファイルの並列アクセスをする複
数のプロセスからのアクセス要求をまとめて発行する機
能をもっていないので、各プロセスが各々独立にアクセ
ス要求を発行する必要があり、性能上の問題が生じる。
【0006】さらにファイルデータの転送に際して、従
来のファイルシステムは、ネットワークを経由するデー
タ転送の場合、ディスク装置とネットワーク間のデータ
転送にファイル管理プログラムが介入するので、転送性
能上問題である。ディスク装置とネットワークを直接連
結するようなデータ転送方式が望まれる。
【0007】本発明の目的は、ユーザの所望するアクセ
スパターンに合うようなファイル構造の設定をファイル
ごとに可能とし、ファイルの並列アクセス効果を発揮す
るようなファイル入出力制御方法を提供することにあ
る。
【0008】本発明の他の目的は、ファイル内の各領域
に対応して種々の属性を設定可能とすることにある。
【0009】本発明の他の目的は、複数のプロセスから
のアクセス要求をまとめて発行し、ファイルの並列アク
セスを総合的にスケジューリングするファイル入出力制
御方法を提供することにある。
【0010】本発明のさらに他の目的は、ディスク装置
とネットワーク間のデータ転送の性能を向上させること
にある。
【0011】
【課題を解決するための手段】本発明は、ファイルを複
数の領域に分割し、複数の領域を複数の物理装置に分散
して割り付けるように要求するアプリケーションプログ
ラムによるファイル構造設定要求に応答して指定された
ファイル構造を設定するテーブルを作成して、ファイル
内領域を指定された物理装置に割り付け、ファイル内の
複数の領域を並列にアクセスするように要求する入出力
要求に応答して設定されたファイル構造テーブルを参照
して入出力要求を各物理装置ごとのアクセス要求に展開
し、アプリケーションプログラムを実行する複数のプロ
セスと物理装置との間で並列にデータ転送を行うよう制
御する高速ファイル入出力制御方法を特徴とする。なお
ファイル内の各領域に対応してデータの転送経路、デー
タのストライピング、データのキャッシングなど種々の
属性を設定可能とする。
【0012】また本発明は、アプリケーションプログラ
ムを実行する複数のプロセスのうちの1つのプロセスが
ファイル内の複数の領域を並列にアクセスするように要
求する入出力要求の全体をまとめて発行する高速ファイ
ル入出力制御方法を特徴とする。
【0013】さらに本発明は、ネットワークを介してア
プリケーションプログラムを実行するプロセスと物理装
置との間のデータ転送を行う場合に、該ファイル管理プ
ログラムによって物理装置のディバイスドライバが起動
された後、物理装置のディバイスドライバとネットワー
クのディバイスドライバを介してデータを直接ネットワ
ークと物理装置との間に転送する高速ファイル入出力制
御方法を特徴とする。
【0014】
【発明の実施の形態】以下に本発明の一実施形態につい
て図面を用いて詳細に説明する。
【0015】図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上で同様に動作す
る。次にファイル入出力処理の手順について述べる。
【0016】ユーザから見たファイル入出力処理は、図
2に示す様に、一般にファイルの作成、ファイル構造の
定義、ファイル入出力システムコールの発行及びファイ
ル入出力処理の終了の各ステップからなる。各ステップ
に対応するファイルサーバの処理の概略を以下に述べ
る。ファイルの作成に関しては、要求のあったファイル
に関する情報の管理領域の割り付け、ファイルディスク
リプタの割り付けなどを行う。ファイルディスクリプタ
は、ファイル名に対応する内部的なファイルIDであ
る。ファイル構造の定義では、ユーザから渡されたファ
イル構造定義用のスクリプトを解釈し、その結果を記憶
装置に格納する。ファイル入出力システムコールが発行
された場合は、ファイル構造定義に基づいてファイル入
出力を行う。ファイル入出力終了処理のステップでは、
キャッシュデータのディスク上への書き込み、主記憶上
の不要な管理データの解放などを行う。本実施形態のフ
ァイルサーバは、上記の処理を行うファイル管理プログ
ラムである。
【0017】次に上記ステップ中のファイル構造定義
(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に接続しているディスク装置のように見える。
【0018】このファイル構造定義スクリプトを受け取
ったファイルサーバは、これを解釈し、ファイル構造記
録テーブル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な
どいずれかのディスク装置に格納する。
【0019】本発明のファイル構造定義機能によれば、
ユーザは並列効果を発揮するような最適のアクセスパタ
ーンを想定し、そのアクセスパターンに合うようにファ
イル構造を設定できる。例えば図18に示す700のよ
うなAPのアクセスパターンに対して702のようにフ
ァイル構造を定義すれば、各APは完全に独立してディ
スク装置D1〜D4にアクセスすることができ、ファイ
ルの並列アクセスによる並列効果を得ることができる。
【0020】次にこの例における実際の入出力動作の詳
細を説明する。ファイル入出力処理は、図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)が
用意されている。
【0021】図7に示すようにAP17が入出力要求を
発行すると、ファイルサーバ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に対してのみの要求であることを特定する。
【0022】次に領域中の部分の特定処理202を行
う。これはここまでのステップで各領域対応となった要
求を更にディスク装置ごとの要求へと分割する(図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に関しては、要求先の物理装
置は要求範囲に亘って同じなのでこのステップではその
ままである。
【0023】次にファイルサーバ18は、スケジュール
ステップ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に対する要求は、以下に説明するリモ
ートファイルサーバとは若干異なった方法で処理され
る。
【0024】リモートファイルサーバは、ステップ30
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)であるとき、論理ブロック番号順にディスクを
アクセスするときのヘッドのシーク方向が一方向のみと
なるように論理ブロックを物理ブロックに対応させる。
これにより、論理ブロック番号順のアクセスは、一定方
向のヘッドのシークしか引き起こさないようになり、ヘ
ッドシークによる性能低下を防ぐことができる。
【0025】ステップ305ではフィルタリングを行う
かどうかの判断を行う。フィルタリングするかどうか
は、要求されたファイル上の領域に不要な部分(穴)が
含まれているかどうかによる。穴が含まれていない場合
はフィルタリングを行わない。元々の部分602、60
3はともに連続領域のアクセス要求であるので穴が含ま
れず、従ってフィルタリングする必要がないと判断す
る。フィルタリングする例については後述する。
【0026】領域D上の部分604に関しては、図9の
下段のボックスに示されるように、ステップ306で要
求を受け取ったファイルサーバ19は、アクセスがNF
Sプロトコルを介したディスク装置24へのアクセスで
あるので、アクセス手段であるNFSプロトコル実行プ
ログラムにアクセスを依頼する(ステップ307)。次
に処理は入出力実行ステップに入る。
【0027】図10は、計算機5のファイルサーバ15
が行う読み取り処理動作を示す図である。ファイルサー
バ15は、ディスクのディバイスドライバを起動して、
論理ブロック番号順に整列したアクセス要求70をディ
スクディバイスドライバへ渡す。ディスクディバイスド
ライバは空きバッファ72を管理しており、要求された
ディスクブロックのデータをディスク装置20から空き
バッファに読み込む。ディスクディバイスドライバとネ
ットワークディバイスドライバは結合されており、バッ
ファに読み込まれたデータはファイルサーバに返らず
に、そのまま制御情報とともにネットワークディバイス
ドライバに渡される。ディスクディバイスドライバから
ネットワークディバイスドライバへのデータの転送はデ
ィスクのブロック単位に行われる。この転送動作はパイ
プライン方式によって並列に行われる。この方式によつ
て従来のようにディスクディバイスドライバからファイ
ルサーバに一旦制御が戻る方式に比べてオーバヘッドを
削減でき、高性能のデータ転送が可能である。制御情報
には読み取りデータを要求したファイルサーバの識別子
とそのアドレスが記録されている。ネットワークドライ
バは、制御情報を参照して読み取りデータをファイルサ
ーバごとのキュー71に登録する。本事例によれば要求
元が1つの場合を扱っているので、計算機1用のサーバ
に関するキューに登録する。要求元が複数の場合は、そ
れぞれ対応する計算機用のサーバに対するキューに登録
する。ネットワークディバイスドライバとディスクディ
バイスドライバには共通の制御情報格納エリア73があ
り、ディスクディバイスドライバは、データ読み取り要
求を発行するたびに予想割り込み完了時刻をエリア73
に書き込む。ネットワークディスクドライバは、実際に
ネットワークディバイスを起動するときに、エリア73
の予想割り込み完了時刻を参照し、ネットワーク処理の
割り込みがディスクの割り込みと重ならないようなタイ
ミングでネットワーク9,10を介して要求元のファイ
ルサーバへ向けてデータ転送する。ディスクの予想割り
込み完了時刻の元であるディスクデータ転送終了割り込
みは、1要求分のディスクデータ転送の終端で発生す
る。またネットワークによる割り込みは、転送する1パ
ケツト又は複数パケツトの終端で発生する。
【0028】計算機5には他にディスク装置21も接続
されており、ディスク装置21からのデータ読み取り要
求は、上記と同様の手段によってディスク装置20から
のデータ読み取り要求と並列に実行される。さらに領域
Cへのアクセスに関してはアクセス経路が2つ指定され
ているので、ネットワークドライバはネットワーク9と
ネットワーク10を経由するアクセス経路の両方を用い
て高速な転送を行う。なお部分602と部分603は同
一のディスク装置20についてのアクセス要求を含む
が、ディスク装置20をアクセスする要求608と要求
611はマージされて1つの要求となり、ディスク上で
は連続にアクセスされるため、並列効果を低下させるよ
うなディスク装置20に対するアクセス競合は生じな
い。
【0029】要求元であるファイルサーバ18側の読み
取りデータの流れを図11に示す。要求先の計算機で読
み取られ、計算機1に転送されたデータは、計算機1の
ネットワークハードウェア75によつて受信される。ネ
ットワークハードウェア75は、変換テーブル76を参
照してアドレス変換を行う機構を有する。変換テーブル
76は、仮想空間上のアドレスを示す仮想アドレスと実
記憶上のアドレスを示す物理アドレスとの変換対を格納
する。予めファイルサーバによって設定された変換テー
ブル76を参照してネットワークハードウェアは、要求
したAP17の仮想空間上のバッファ領域に対応する主
記憶上の領域へ受信データをコピー無しに転送する。計
算機5から読み取ったデータは、ディスク装置20と2
1に対する要求608、611、612に対応するバッ
ファ領域に格納される。
【0030】領域Dのデータは、ゲートウェイ8を介し
て他のネットワーク25上の計算機7に接続されたディ
スク装置24から計算機7のアクセス手段78、ゲート
ウェイ8のアクセス手段77を経て、ネットワーク9を
介し計算機1のファイルサーバ18に転送される。領域
Dに関するアクセス手段としてNFSがファイル構造定
義に指定されているので、ゲートウェイ8と計算機7と
の間のデータ転送は、NFSプロトコルによって処理さ
れる。ファイルサーバ18の処理は、他の領域A,B,
Cの場合と同じである。上記のリモートファイルサーバ
15、16及び19の各読み取りステップは、それぞれ
並列に実行される。
【0031】次にデータ書き込みの場合について述べ
る。図12は、書き込みのステップとデータの流れを示
す図である。ファイルサーバ18は、ファイル名、ディ
スク装置番号、アクセス種別、アクセス領域の先頭と最
終オフセツトを含むデータ書き込み要求を例えばファイ
ルサーバ15へ送信する。ファイルサーバ15は、この
要求に応答しステップ401でバッファ領域を割り付け
る。一般に資源の制約があり全書き込みデータ分のバッ
ファを割り付けることは不可能なので、全データのうち
の一部分のデータを格納するバッファを割り付ける。次
にステップ402で書き込みデータ転送要求を書き込み
要求元計算機1上のファイルサーバ18に送る。書き込
みデータ要求410は、ファイルサーバ15上の転送先
アドレス、バッファ長及び転送速度から成る。転送速度
はパケットの実効転送速度である。ネットワークの伝送
速度と指定された転送速度からパケットの送出時間間隔
を計算できる。ファイルサーバ15が指示する転送速度
は、書き込みデータ転送要求発行時のディスクの実効転
送速度にほぼ等しい。ファイルサーバ18は書き込みデ
ータ要求を受信すると、ステップ403でこの要求に従
って書き込みデータを格納するバッファをネットワーク
ドライバに渡し、計算機5へ書き込みデータを転送す
る。ファイルサーバ18は、書き込みデータ要求中のブ
ロックごとにネットワークディバイスドライバへデータ
転送要求を発行する。ネットワークディバイスドライバ
は、要求された書き込みデータをパケットとして転送す
る(ステップ404)。この書き込みデータは、ファイ
ルサーバ15のバッファに直接転送される。ファイルサ
ーバ15のネットワークドライバは、受け取った書き込
みデータをファイルサーバ15を介さずに直接ディスク
ディバイスドライバに渡す(ステップ405)。ディス
クディバイスドライバは、受け取ったデータを順次ディ
スクに書き込む(ステップ406)。
【0032】上述したようにリモートファイルサーバ
は、一般に書き込みデータ全体を格納するような書き込
み用バッファを用意できないので、書き込みデータ要求
を必要回数発行する。ネットワークディバイスドライバ
は、ステップ404の書き込みデータを送信するとき、
各書き込みデータ要求ごとに指示される転送速度に従っ
てパケット送出の時間間隔を調節する。これによつてフ
ァイルサーバ15側のバッファオーバーフローによるデ
ータ喪失を防ぐ。
【0033】領域Dに書き込むデータは、ステップ40
4でゲートウェイ8へ転送され、一旦ファイルサーバ1
9に渡される。ファイルサーバ19は、指定されたアク
セス手段であるNFSプロトコルを用いてデータが格納
されるべきディスク装置24が接続されている計算機7
へデータを転送する。
【0034】上記の例ではデータのフィルタリングをし
ないので、フィルタステップ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全体に
亘るグローバルなスケジューリングが可能となる。この
スケジューリング方式は、次に示す配列の列方向にアク
セスする例で効果を発揮する。
【0035】次に上記のデータ構造をもつ行列に対して
各プログラムが列方向にアクセスする場合について説明
する。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の網が一番濃い部分のみを抜き
出す。このフィルタ処理によってディスクアクセスの単
位を大きくし、ディスクアクセスの回数を減らすことが
でき、性能を劣化させることなく上記のようなアクセス
パターンによるデータアクセスが可能となる。
【0036】上述したように、ユーザは最適のアクセス
パターンを想定してファイル構造を設定するが、別のア
クセスパターンによってファイルをアクセスする場合に
はファイル構造を変更しなくとも別のアクセス要求リス
トを指定し、ファイルシステムによるフィルタリングと
グローバルなスケジュール機能によってファイルの並列
アクセスによる並列効果を得ることができる。
【0037】なお図1に示すシステム構成は一例であ
り、種々の変形したシステムを構成し得る。本発明は、
計算機の台数、ネットワークの存在、ディスク装置を接
続する計算機、APを搭載する計算機、ファイルサーバ
を搭載する計算機などのハードウェア構成が限定される
ものではない。本発明の主旨とするところは、アプリケ
ーションプログラムを実行する複数のプロセスとファイ
ルの領域が割り付けられる物理装置との間で並列にデー
タ転送するような構成であり、この主旨に沿ったシステ
ム構成は本発明の範囲である。特に並列データ転送を効
果的に行うために、計算機の処理能力、ネットワークの
データ転送速度、ディスク装置−主記憶装置間のデータ
転送速度上のネックを解消しているシステム構成が望ま
しい。
【0038】次にその他の属性64の定義と動作につい
て説明する。図15は、属性としてキャッシュの有無、
信頼性の指定、他のファイルとの関連を指定するときの
ファイル構造定義スクリプトである。ファイルのデータ
構造は、上記の例と同じであるので、最後の6つのse
t文について説明する。最初のset文は、領域Aへの
アクセスをキャッシュすることを意味する。次のset
文は、領域Bに対するアクセスが読み出し専用であるこ
とを示す。3行目のset文は、領域Bへのアクセスを
キャッシュすることを意味する。次の2つのset文
は、領域Cをファイル”K”と”L”に関連付けること
を意味する。最後のset文は、領域Dのデータをミラ
ーリングすることを意味する。
【0039】この例では、領域の一部ではなく領域全部
に対してアクセスするものとする。ファイルサーバは、
全ファイルの一部分である領域についてファイル構造定
義時に指定した領域の名前を指定してオープンすること
を許すインタフェースを有する。以降は、この部分を通
常のファイルと同じプリミティブを用いてアクセスする
ことが可能となる。図16は、領域Cに対してopen
_subというプリミティブで領域名”C”を指定して
オープンすることを示している。
【0040】次に実際に各領域にアクセスする場合の動
作について述べる。領域Aに関しては、属性としてキャ
ッシュ属性が指定されている。計算機上のキャッシュ制
御部は、データ読み取り要求を受けた時、計算機のキャ
ッシュ上にデータがある場合、ディスクアクセスを行わ
ずにキャッシュ上のデータを取り込む。書き込みの場合
は、書き込みデータをキャッシュ上に残しておき非同期
に書き込みを行う。複数のプログラムから領域Aがアク
セスされる場合、図17に示すキャッシュ制御部650
は、一貫性制御ステップ651によってキャッシュ間の
一貫性及びキャッシュとファイルデータとの一貫性を保
証する。図17の場合は、領域Aについての読み取りア
クセス要求と書き込みアクセス要求が同時に発生してい
るので、キャッシュ制御部650は、一貫性制御ステッ
プによって各操作の順番を決定し、キャッシュおよびフ
ァイルデータの一貫性を保つ。一方領域Bへのアクセス
もキャッシュ属性が指定されているが、同時にアクセス
パターンとして読み込み専用属性も指定されているの
で、キャッシュ制御部650は、一貫性制御ステップ6
51を実行しない。このように属性によって本ファイル
システムは、キャッシュの制御処理を自動的に変える。
【0041】領域Cは、例えばハイパーテキストデータ
であるとする。このハイパーテキストは、リンク先とし
て、ファイル”K”と”L”を含んでいる。この場合、
ファイルCの読み取り要求と同時に、ファイル”K”お
よび”L”へも読み取り要求を発行し、バッファに保存
する。これにより、後のファイル”K”や”L”へのア
クセスに対してキャッシュが効くので、高速にファイル
にアクセスできる。
【0042】領域Dはディスク装置20と22へのミラ
ーリングが指定されているので、この領域に対する書き
込み要求があった場合は、入出力実行ステップ400
で、ディスク装置20と22が接続されている計算機5
と6へ書き込みデータを同時に転送し、各計算機は図1
2に示すように並列に書き込み動作を実行する。上記の
例では各計算機ごとに書き込みデータは異なっていた
が、ミラーリングの場合は計算機5と6に書き込むデー
タは同じである。領域Dへのアクセス時、ディスク装置
20と22のうちのどちらかの故障を検出したとき、フ
ァイルサーバは故障していない方のディスクを用いて入
出力動作を実行する。
【0043】
【発明の効果】本発明によれば、アプリケーションプロ
グラムがファイル構造とファイル内各領域に対応する属
性を指定することによって、ファイルアクセス時にユー
ザの所望するアクセスパターンに沿ったアクセスが可能
となり、ファイルの並列アクセス効果を発揮することが
できる。またファイルのアクセスパターンが変化したと
き、統合的なスケジューリング機構によりその状況での
最適なファイルアクセスを実現できる。また同一ファイ
ルをアクセスする複数のプロセスのアクセス要求をまと
めて発行できるため、ファイルの並列アクセスを統合的
にスケジューリングでき、効率的な入出力制御を行うこ
とができる。さらに物理装置のディバイスドライバとネ
ットワークディバイスドライバを介してデータを直接ネ
ットワークと物理装置との間に転送することができ、フ
ァイルサーバが介在することによるオーバヘッドを削減
することができる。また両ディバイスドライバ間で情報
を共有することにより、ディバイスドライバ間でパイプ
ライン的にデータを転送することができ、高速なファイ
ルデータの転送が実現できる。
【図面の簡単な説明】
【図1】実施形態の高速ファイルシステムの構成図であ
る。
【図2】実施形態のファイル入出力処理手順を示す図で
ある。
【図3】ファイル構造定義スクリプトの例を示す図であ
る。
【図4】ファイル構造とファイルアクセス範囲の例を示
す図である。
【図5】実施形態のファイル構造記録テーブル60のデ
ータ構成を示す図である。
【図6】ファイルアクセス要求のリストの例を示す図で
ある。
【図7】実施形態の検索ステップの処理の流れを示す図
である。
【図8】実施形態の入出力要求の分割を説明する図であ
る。
【図9】実施形態のスケジュールステップの処理の流れ
を示す図である。
【図10】実施形態のファイル読み取り処理動作を示す
図である。
【図11】実施形態のファイル読み取り時のデータの流
れを示す図である。
【図12】実施形態のファイル書き込み時のデータの流
れを示す図である。
【図13】ストライピング時のファイル構造定義スクリ
プトの例を示す図である。
【図14】実施形態のフィルタリングを説明する図であ
る。
【図15】属性としてキャッシュの有無、信頼性を指定
するときのファイル構造定義スクリプトの例を示す図で
ある。
【図16】ファイル構造定義時の名前をファイル入出力
の操作に使用したプログラムの例を示す図である。
【図17】実施形態のキャッシュ制御を説明する図であ
る。
【図18】ユーザプログラムのアクセスパターンと物理
装置上の領域割り付けとの対応を例示する図である。
【図19】1つのプロセスが他のプロセスの要求を集め
ることを説明する図である。
【符号の説明】
1〜8:計算機、11〜13、15、16、18、1
9:ファイルサーバ、17:アプリケーションプログラ
ム、9、10:ネットワーク、20〜24:ディスク装
置、60:ファイル構造記録テーブル、100:構造定
義ステップ、200:検索ステップ、300:スケジュ
ールステップ、400:入出力実行ステップ、500:
フィルタリングステップ
───────────────────────────────────────────────────── フロントページの続き (72)発明者 熊▲崎▼ 裕之 神奈川県横浜市戸塚区戸塚町5030番地 株 式会社日立製作所ソフトウェア開発本部内

Claims (10)

    【特許請求の範囲】
  1. 【請求項1】アプリケーションプログラムを実行するプ
    ロセスからのファイルアクセス要求に応答してファイル
    入出力を制御するファイル管理プログラムの方法におい
    て、 ファイルを複数の領域に分割し、該複数の領域を複数の
    物理装置に分散して割り付けるように要求するアプリケ
    ーションプログラムによるファイル構造設定要求に応答
    して指定されたファイル構造を設定するテーブルを作成
    してファイル内領域を指定された物理装置に割り付け、
    該ファイル内の複数の領域を並列にアクセスするように
    要求する入出力要求に応答して設定されたファイル構造
    テーブルを参照して該入出力要求を各物理装置ごとのア
    クセス要求に展開し、該アプリケーションプログラムを
    実行するプロセスと該物理装置との間で並列にデータ転
    送を行うよう制御することを特徴とする高速ファイル入
    出力制御方法。
  2. 【請求項2】該アプリケーションプログラムを実行する
    複数のプロセスは、複数の計算機上で分散して実行さ
    れ、該ファイル管理プログラムによって該複数のプロセ
    スと該物理装置との間で並列にデータ転送を行うよう制
    御することを特徴とする請求項1記載の高速ファイル入
    出力制御方法。
  3. 【請求項3】該アプリケーションプログラムを実行する
    複数のプロセスのうちの1つのプロセスが該ファイル内
    の複数の領域を並列にアクセスするように要求する入出
    力要求の全体をまとめて発行することを特徴とする請求
    項1記載の高速ファイル入出力制御方法。
  4. 【請求項4】ネットワークを介して該アプリケーション
    プログラムを実行するプロセスと該物理装置との間のデ
    ータ転送を行う場合に、該ファイル管理プログラムによ
    って物理装置のディバイスドライバが起動された後、該
    ファイル管理プログラムを介さずに物理装置のディバイ
    スドライバとネットワークのディバイスドライバを介し
    てデータを直接ネットワークと該物理装置との間に転送
    することを特徴とする請求項1記載の高速ファイル入出
    力制御方法。
  5. 【請求項5】該領域の1つに対応して複数の通信経路を
    設定し、複数の通信経路に対応する領域に関する該入出
    力要求に応答して該複数の通信経路を介する並列データ
    転送を行うよう制御することを特徴とする請求項1記載
    の高速ファイル入出力制御方法。
  6. 【請求項6】該入出力要求によってデータのフィルタリ
    ングを指定することによって該アプリケーションプログ
    ラムが必要とする以上のデータを該物理装置から該アプ
    リケーションプログラムに向けて転送し、該ファイル管
    理プログラムのフィルタリングの該ファイル構造設定に
    よって指定された必要部分のみのデータを該アプリケー
    ションプログラムに渡すことを特徴とする請求項1記載
    の高速ファイル入出力制御方法。
  7. 【請求項7】該領域の1つに対応してデータをキャッシ
    ュするよう指定し、該入出力要求に応答して該物理装置
    への書き込みデータ及び読み取りデータをキャッシュ上
    に残し、読み取りデータについてキャッシュ上にデータ
    があればキャッシュからデータを取得するよう制御する
    ことを特徴とする請求項1記載の高速ファイル入出力制
    御方法。
  8. 【請求項8】コンピュータ読み取り可能な記憶媒体上に
    実体化されるコンピュータプログラムであり、アプリケ
    ーションプログラムを実行するプロセスからのファイル
    アクセス要求に応答してファイル入出力を制御するファ
    イル管理プログラムであって、該ファイル管理プログラ
    ムは下記ステップを含む: (a)アプリケーションプログラムからの要求に基づい
    てファイルを複数の領域に分割し、該複数の領域を複数
    の物理装置に分散して割り付けるように要求するファイ
    ル構造設定要求に応答して指定されたファイル構造を設
    定するテーブルを作成してファイル内領域を指定された
    物理装置に割り付け、(b)該ファイル内の複数の領域
    を並列にアクセスするように要求する入出力要求に応答
    して設定されたファイル構造テーブルを参照して該入出
    力要求を各物理装置ごとのアクセス要求に展開し、該ア
    プリケーションプログラムを実行する複数のプロセスと
    該物理装置との間で並列にデータ転送を行うよう制御す
    る。
  9. 【請求項9】該アプリケーションプログラムを実行する
    複数のプロセスは、複数の計算機上で分散して実行さ
    れ、該複数のプロセスと該物理装置との間で並列にデー
    タ転送を行うよう制御することを特徴とする請求項8記
    載のファイル管理プログラム。
  10. 【請求項10】該アプリケーションプログラムを実行す
    る複数のプロセスのうちの1つのプロセスが該ファイル
    内の複数の領域を並列にアクセスするように要求する入
    出力要求の全体をまとめて受け取ることを特徴とする請
    求項8記載のファイル管理プログラム。
JP16993597A 1997-06-26 1997-06-26 ファイル入出力制御方法 Expired - Fee Related JP3817339B2 (ja)

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)

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

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

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

Cited By (16)

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