JPH0675785A - プレステージング処理方法、バッファ管理方法及びファイルシステム - Google Patents

プレステージング処理方法、バッファ管理方法及びファイルシステム

Info

Publication number
JPH0675785A
JPH0675785A JP5086484A JP8648493A JPH0675785A JP H0675785 A JPH0675785 A JP H0675785A JP 5086484 A JP5086484 A JP 5086484A JP 8648493 A JP8648493 A JP 8648493A JP H0675785 A JPH0675785 A JP H0675785A
Authority
JP
Japan
Prior art keywords
block
buffer
job
prestaging
data transfer
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.)
Withdrawn
Application number
JP5086484A
Other languages
English (en)
Inventor
Takeo Murakami
岳生 村上
Satoru Torii
悟 鳥居
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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP5086484A priority Critical patent/JPH0675785A/ja
Publication of JPH0675785A publication Critical patent/JPH0675785A/ja
Priority to US08/576,402 priority patent/US5652916A/en
Priority to US08/791,781 priority patent/US5892921A/en
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/12Replacement control
    • G06F12/121Replacement control using replacement algorithms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0862Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with prefetch

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

(57)【要約】 【目的】 本発明は、プレステージング処理方法に関
し、最適なプレステージング開始時刻を決定してジョブ
の実行性能及び計算機システム全体の性能を向上させる
ことを目的とする。 【構成】 中央処理装置11、バッファ12,13、及
び二次記憶装置14を備えた計算機システムでジョブの
実行前にジョブの入力データを二次記憶装置14からバ
ッファ12,13に読み込んでおくプレステージング処
理方法において、投入されたジョブと同時にプレステー
ジングを行うべきジョブの数であるジョブ数を求めるス
テップ101と、プレステージングを行うべきジョブの
入力データが格納されている二次記憶装置14のデータ
転送速度及びジョブ数に基づいて実効データ転送速度を
求めるステップ102と、入力データの量を実効データ
転送速度で割った実効データ転送時間を、ジョブの開始
予定時刻から引いた時刻をジョブのプレステージング開
始時刻とするステップ103とを含む。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明はプレステージング処理方
法及びバッファ管理方法に係り、特に計算機システムの
ジョブ実行時のデータ読み出しを高速に行うためのプレ
ステージング処理方法及びこれに用い得るバッファ管理
方法及びその様なバッファ管理方法を用い得るファイル
システムに関する。
【0002】図26は、プレステージング処理が行われ
る計算機システムの構成図を示す。近年の計算機システ
ムの性能向上は著しいが、中央処理装置(CPU)11
の性能と入出力装置の性能とのギャップはますます大き
くなっている。これに対処するため、通常の計算機シス
テムにおいては、図26に示すようにCPU11に接続
される主記憶装置12、二次記憶装置として用いられる
ディスクキャッシュ13及び二次記憶装置として用いら
れるディスク14等の処理速度の異なる記憶装置が階層
的に配置され、計算機システム全体の性能向上を図って
いる。
【0003】ジョブが、スーパーコンピュータ等の場合
の様に例えばメガバイト単位の大容量のデータを読み込
むことが予測可能な場合、データ入力を高速化するため
に、ジョブの実行前に入力データを低速なディスク14
から高速なディスクキャッシュ13に読み込んでおく手
法であるプレステージングが広く用いられている。この
プレステージングが行われる時刻が、ジョブの実行性能
及び計算機システム全体の性能に影響を及ぼす。このた
め、最適なプレステージング開始時刻を決められるプレ
ステージング開始時刻決定方法が必要とされている。
【0004】
【従来の技術】従来のプレステージング処理方法では、
ジョブを計算機システムに投入する前に静的にプレステ
ージング開始時刻を設定していた。即ち、プレステージ
ング開始時刻は、ジョブの開始時刻、ジョブの入力デー
タ量及びディスク14からディスクキャッシュ13への
データ転送速度(固定の値と見なす)から決定してい
た。
【0005】
【発明が解決しようとする課題】しかるに、計算機シス
テムの負荷は動的に変化するものであり、データ転送速
度は状況によって変化するので、従来のプレステージン
グ処理方法では、予め設定された時刻にプレステージン
グを開始しても、ジョブ開始時刻より大幅に早くプレス
テージングが終了したり、ジョブ開始時刻までにプレス
テージングが全部終了しないということが起きる。
【0006】ジョブ開始時刻より大幅に早くプレステー
ジングが終了した場合は、プレステージング終了後から
ジョブ開始までの長い時間ディスクキャッシュ13の領
域を1つのジョブが占有することになり、他のジョブの
性能を低下させるという問題が生じていた。又、プレス
テージングした領域を他のジョブが横取りしてプレステ
ージングしたデータを消してしまうこともあり、この様
な場合はジョブの実行時に再び低速なディスク14から
データを読み出さなければならず、ジョブの実行性能が
低下するという問題も生じていた。
【0007】他方、ジョブ開始時刻までにプレステージ
ングが全部終了しない場合は、データの一部しかプレス
テージングされないので、ジョブ実行時に残りのデータ
を低速な二次記憶から読み出さなければならず、ジョブ
の実行性能が低下するという問題が生じていた。
【0008】本発明は、動的に変化する計算機システム
の負荷を考慮し、最適なプレステージング開始時刻を決
定してジョブの実行性能及び計算機システム全体の実行
性能を向上させることができるプレステージング処理方
法を提供することを目的とする。
【0009】
【課題を解決するための手段】請求項1の発明は、中央
処理装置(11)、バッファ(12,13)、及び二次
記憶装置(14)を備えた計算機システムでジョブの実
行前にジョブの入力データを二次記憶装置(14)から
バッファ(12,13)に読み込んでおくプレステージ
ング処理方法において、投入されたジョブと同時にプレ
ステージングを行うべきジョブの数であるジョブ数を求
めるステップ(101)と、プレステージングを行うべ
きジョブの入力データが格納されている二次記憶装置
(14)のデータ転送速度及び該ジョブ数に基づいて実
効データ転送速度を求めるステップ(102)と、入力
データの量を実効データ転送速度で割った実効データ転
送時間を、ジョブの開始予定時刻から引いた時刻をジョ
ブのプレステージング開始時刻とするステップ(10
3)とを含む構成とする。
【0010】請求項2の発明は、中央処理装置(1
1)、バッファ(12,13)、及び二次記憶装置(1
4)を備えた計算機システムでジョブの実行前にジョブ
の入力データを二次記憶装置(14)からバッファ(1
2,13)に読み込んでおくプレステージング処理方法
において、ジョブが投入された時の二次記憶装置(1
4)からバッファ(12,13)へのデータ転送経路の
負荷を調べるステップ(111)と、プレステージング
を行うべきジョブの入力データが格納されている二次記
憶装置(14)のデータ転送速度からデータ転送経路の
負荷を引いた実効データ転送速度を求めるステップ(1
12)と、入力データの量を実効データ転送速度で割っ
た実効データ転送時間を、ジョブの開始予定時刻から引
いた時刻をジョブのプレステージング開始時刻とするス
テップ(113)とを含む構成とする。
【0011】請求項3の発明は、中央処理装置(1
1)、バッファ(12,13)、及び二次記憶装置(1
4)を備えた計算機システムでジョブの実行前にジョブ
の入力データを二次記憶装置(14)からバッファ(1
2,13)に読み込んでおくプレステージング処理方法
において、投入されたジョブに対するプレステージング
を行う時点での二次記憶装置(14)からバッファ(1
2,13)へのデータ転送経路の負荷を予測するステッ
プ(121)と、プレステージングを行うべきジョブの
入力データが格納されている二次記憶装置(14)のデ
ータ転送速度から予測されるデータ転送経路の負荷を引
いた予測データ転送速度を求めるステップ(122)
と、入力データの量を予測データ転送速度で割った予測
データ転送時間を、ジョブの開始予定時刻から引いた時
刻をジョブのプレステージング開始時刻とするステップ
(123)とを含む構成とする。
【0012】請求項4の発明は、中央処理装置(1
1)、バッファ(12,13)、及び二次記憶装置(1
4)を備えた計算機システムでジョブの実行前にジョブ
の入力データを二次記憶装置(14)からバッファ(1
2,13)に読み込んでおくプレステージング処理方法
において、投入されたジョブに対するプレステージング
を行うために必要な二次記憶装置(14)から該バッフ
ァ(12,13)へのデータ転送経路を予め確保するス
テップ(131)と、確保したデータ転送経路に基づい
て予約データ転送速度を求めるステップ(132)と、
プレステージングを行うべきジョブの入力データの量を
予約データ転送速度で割った予測データ転送時間を、ジ
ョブの開始予定時刻から引いた時刻をジョブのプレステ
ージング開始時刻とするステップ(133)とを含む構
成とする。
【0013】請求項5の発明は、中央処理装置(1
1)、バッファ(12,13)、及び二次記憶装置(1
4)を備えた計算機システムでジョブの実行前にジョブ
の入力データを二次記憶装置(14)からバッファ(1
2,13)に読み込んでおくプレステージング処理方法
において、投入されたジョブに対するプレステージング
のプレステージング開始時刻を決定するステップ(14
1)と、プレステージング開始時刻の決定後に、該投入
されたジョブによる二次記憶装置(14)からバッファ
(12,13)へのデータ転送経路の負荷の変化に応じ
て、以前に投入されたジョブに対するプレステージング
開始時刻を修正するステップ(142)とを含む構成と
する。
【0014】請求項6の発明は、中央処理装置(1
1)、バッファ(12,13)、及び二次記憶装置(1
4)を備えた計算機システムでジョブの実行前にジョブ
の入力データを二次記憶装置(14)からバッファ(1
2,13)に読み込んでおくプレステージング処理方法
において、投入されたジョブに対するプレステージング
を実行するステップ(151)と、ジョブに対するプレ
ステージングの実行後に、プレステージングが基準時刻
以前に終了したか否かを調べるステップ(152)と、
プレステージングが基準時刻以前に終了し、入力データ
を読み込んだバッファ(12,13)内のデータ領域が
他のジョブに横取りされた場合は、再度プレステージン
グを行い横取りされたデータを二次記憶装置(14)か
らバッファ(12,13)に読み込むステップ(15
3)とを含む構成とする。
【0015】請求項15の発明は、中央処理装置(1
1)、バッファ(12,13)、及び二次記憶装置(1
4)を備えた計算機システムで、二次記憶装置(14)
とバッファ(12,13)との間でデータ転送を行う際
にバッファ(12,13)のバッファ領域をブロック単
位で管理するバッファ管理方法において、バッファ(1
2,13)のうち横取りの対象となるブロックに関する
ブロック情報を保持するフリーリストを、少なくとも、
再使用する可能性の低いブロック情報からなる「使用済
リスト」、未使用のブロック情報からなる「使用前リス
ト」及び再使用する可能性の高いブロック情報からなる
「使用中リスト」の3種類用意するステップと、バッフ
ァ(12,13)のブロックについてのデータ転送が終
了すると、このブロックに関するブロック情報をバッフ
ァ(12,13)の状態に応じて選択された種類のフリ
ーリストにキューイングすることによりこのブロックを
解放するステップとを含む構成とする。
【0016】請求項27の発明は、中央処理装置(1
1)、バッファ(12,13)、及び二次記憶装置(1
4)を備えた計算機システムで、二次記憶装置(14)
とバッファ(12,13)との間でデータ転送をブロッ
ク単位で行うファイルシステムにおいて、バッファ(1
2,13)のうち横取りの対象となるブロックに関する
ブロック情報を保持するフリーリストを、少なくとも、
再使用する可能性の低いブロック情報からなる「使用済
リスト」、未使用のブロック情報からなる「使用前リス
ト」及び再使用する可能性の高いブロック情報からなる
「使用中リスト」の3種類用意する手段と、バッファ
(12,13)のブロックについてのデータ転送が終了
すると、このブロックに関するブロック情報を該バッフ
ァ(12,13)の状態に応じて選択された種類のフリ
ーリストにキューイングすることによりこのブロックを
解放する手段とを含む構成とする。
【0017】
【作用】請求項1の発明によれば、同時にプレステージ
ングを行うべきジョブ数を考慮して最適な時刻に近いプ
レステージング開始時刻を決定することができる。従っ
て、ジョブの実行性能及びシステム全体の性能の向上を
可能とすることができる。
【0018】請求項2の発明によれば、ジョブ投入時点
のデータ転送経路の負荷を考慮して最適な時刻に近いプ
レステージング開始時刻を決定することができる。従っ
て、ジョブの実行性能及びシステム全体の性能の向上を
可能とすることができる。
【0019】請求項3の発明によれば、プレステージン
グ実行時のデータ転送経路の負荷を予測して最適な時刻
に近いプレステージング開始時刻を決定することができ
る。従って、ジョブの実行性能及びシステム全体の性能
の向上を可能とすることができる。
【0020】請求項4の発明によれば、予め確保したデ
ータ転送経路に基づいて最適なプレステージング開始時
刻を決定することができる。従って、ジョブの実行性能
及びシステム全体の性能の向上を可能とすることができ
る。
【0021】請求項5の発明によれば、新たなジョブが
システムに投入される毎に、データ転送経路の負荷の変
化を考慮して以前に投入されたジョブに対するプレステ
ージング開始時刻を修正するため、プレステージング開
始時刻をより適切な時刻とすることができる。従って、
ジョブの実行性能及びシステム全体の性能をより向上さ
せることを可能とすることができる。
【0022】請求項6の発明によれば、ジョブに対する
プレステージングが基準時刻以前に終了して、データを
読み込んだバッファ内のデータ領域が他のジョブに横取
りされたときに、再度プレステージングを行って横取り
されたデータを二次記憶装置からバッファに読み込むた
め、ジョブ実行時にデータがバッファ上に存在する確率
を向上させることができる。従って、ジョブの実行性能
及びシステム全体の性能をより向上させることを可能と
することができる。
【0023】請求項15の発明によれば、シーケンシャ
ルに1回データをアクセスするアプリケーションに適合
した効率の良いバッファ管理を行うことができる。従っ
て、アプリケーションの性能向上及び計算機システム全
体の性能向上を図ることができる。
【0024】請求項27の発明によれば、シーケンシャ
ルに1回データをアクセスするアプリケーションに適合
した効率の良いバッファ管理を行うことができる。従っ
て、アプリケーションの性能向上及び計算機システム全
体の性能向上を図ることができる。
【0025】
【実施例】本発明を適用し得る計算機システムは、例え
ば図26と同様に、中央処理装置(CPU)11、主記
憶装置12、二次記憶装置として用いられるディスクキ
ャッシュ13及び二次記憶装置として用いられるディス
ク14からなり、処理速度の異なる記憶装置が階層的に
配置されている。ジョブが読み込むデータは、ジョブの
実行前にプレステージングを行うことにより、ディスク
14からディスクキャッシュ13に読み込んでおく。
【0026】図1はジョブキューとジョブの実行手順の
説明図であり、図2はジョブのプレステージングと実行
の説明図である。図1に示すように、計算機システムの
利用者により実行を依頼されて投入されたジョブは、C
PU11のジョブ管理モジュールが管理しているジョブ
キューにつなげられる。プレステージングの開始時刻
は、ジョブキューにジョブをつなげる際に決定する。ジ
ョブキューは複数個存在し、ジョブキュー毎に一度に一
つのジョブが実行可能である。図1に示すように、一つ
のジョブキューにつなげられたジョブは、ジョブ1、ジ
ョブ2、ジョブ3というように順番に実行される。
【0027】図2に示すように、先行するジョブ1の実
行中に、ジョブ2に対応する予定されたプレステージン
グの開始時刻になると、ジョブ管理モジュールはプレス
テージング要求をCPU11のオペレーティングシステ
ム(OS)に対して発行する。これにより、プレステー
ジングが開始され、ジョブ2の実行開始前にこのジョブ
2に対応するプレステージングは終了する。ジョブ1の
実行が終了するとジョブ2の実行が開始される。
【0028】図3は、ジョブ管理モジュールとOSとの
関係を説明する図である。計算機システムの利用者より
ジョブの実行依頼があると、このジョブの実行依頼はC
PU11のジョブ管理モジュール21で管理される。ジ
ョブ管理モジュール21は、複数のアプリケーションプ
ログラム22及びOS23と共に主記憶装置13内に格
納されている。ジョブの実行依頼には、アプリケーショ
ンプログラム及びプレステージングファイルの指定を含
む。ジョブの実行依頼により投入されたジョブは、上述
した如くジョブ管理モジュール21が管理しているジョ
ブキューの一つにつなげられる。ジョブキューに関する
情報は、OS23内の資源管理モジュール23Aにより
管理される。各ジョブの実行は、アプリケーションプロ
グラム22に依頼され、アプリケーションプログラム2
2はOS23のファイル管理モジュール23B1に対し
てファイルの入出力要求を行ったり、バッファ13との
間でデータの転送を行ったりする。後者の場合、バッフ
ァ13は図11のディスクキャッシュ13に対応してい
るので、主記憶装置12とディスクキャッシュ13との
間でデータ転送が行われる。
【0029】他方、ジョブ管理モジュール21は、投入
されたジョブに対応するプレステージング要求をOS2
3内のファイル管理モジュール23B1に対して行う。
従って、OS23は、ファイル管理モジュール23B1
及びバッファ管理モジュール23B2でバッファ13と
ディスク14との間のデータ転送を制御することによ
り、プレステージングを行う。ファイル管理モジュール
23B1は、バッファ管理モジュール23B2と共にバ
ッファ13のバッファ領域を使用するファイルシステム
23Bを構成している。尚、ディスク14とバッファ1
3との間のデータ転送は、プレステージング時及びデー
タの入出力時に行われる。
【0030】具体的には、ファイル管理モジュール23
B1は、アプリケーションプログラム22からのファイ
ルの入出力要求を受取り、プログラム固有のデータ領域
を管理すると共に、バッファ13とディスク14との間
のデータ入出力処理を行う。又、バッファ管理モジュー
ル23B2は、ファイルシステム23Bで使用するバッ
ファ13のバッファ領域を管理して、ブロック単位でバ
ッファ領域の獲得及び解放処理を行う。
【0031】図4は、図3のジョブ管理モジュール21
及びOS23の動作の概略を説明するフローチャートで
ある。ジョブ管理モジュール21は、計算機システムの
利用者よりジョブの実行依頼があると、ステップ21ー
1でプレステージングの開始時刻を計算する。ステップ
21ー2は、ジョブの実行依頼により投入されたジョブ
をジョブ管理モジュール21が管理しているジョブキュ
ーの一つにつなげる。他方、ステップ21ー11は、プ
レステージングの開始時刻が来たか否かを判定する。ス
テップ21ー11の判定結果がYESになると、ステッ
プ21ー12は上記ジョブに対応するプレステージング
要求をOS23に対して発行する。OS23のファイル
システム23Bでは、ステップ23Bー1がこのプレス
テージング要求に応答してプレステージング処理を行
う。
【0032】図5は、上記ステップ23Bー1が行う処
理の概略を示すフローチャートである。ステップ23B
ー11は、ファイル識別(ID)番号をプレステージン
グを行うファイルのID番号に設定すると共に、ファイ
ル内位置を「0」に設定する。ステップ23Bー12
は、ファイル内位置がファイルサイズより小さいか否か
を判定し、判定結果がNOであれば処理を終了する。ス
テップ23Bー12の判定結果がYESであれば、ステ
ップ23Bー13がファイルID番号及びファイル内位
置に基づいてブロック獲得処理を行う。このブロック獲
得処理は、ディスク14に格納されているデータをディ
スクキャッシュ13、即ち、バッファ13内へ転送する
ための領域を確保するために行われる。ステップ23B
ー14は、ステップ23Bー13のブロック獲得処理が
成功したか否かを判定し、判定結果がNOであれば処理
を終了する。
【0033】他方、ステップ23Bー14の判定結果が
YESであれば、ステップ23Bー15でデータがディ
スク14よりディスクキャッシュ13、即ち、バッファ
13へ転送される。ステップ23Bー16は、バッファ
13の状態を先読みし、ステップ23Bー17は上記の
獲得したブロックに関する情報及びステップ23Bー1
6で得たバッファ13の状態に基づいてブロック解放処
理を行う。このブロック解放処理により、獲得されてい
たバッファ13内のブロックが解放される。更に、ステ
ップ23Bー18は、ファイル内位置をブロックのサイ
ズ分増加することにより更新する。ステップ23Bー1
8の後、処理はステップ23Bー12へ戻る。
【0034】尚、ブロック獲得処理及びブロック解放処
理については、後でより詳細に説明する。
【0035】次に、本発明になるプレステージング処理
方法の第1実施例の処理手順を図6に示すフローチャー
トと共に説明する。計算機システムの利用者がジョブの
実行依頼をしてジョブが計算機システムに投入された時
点で、ジョブ管理モジュール21はステップ101で全
てのジョブキューを調べ、投入されたジョブと同時刻に
実行されるジョブを探索する。探索により得られた同時
刻に実行されるジョブの数nは、同時にプレステージン
グを行うべきジョブの数である。次に、ステップ102
で下記(1)式に基づいて実効データ転送速度を求め
る。
【0036】 実効データ転送速度=f(ディスクの転送速度,n) ・・・(1) 上記(1)式において、関数fは、プレステージングを
行うべきジョブの入力データが格納されているディスク
14のデータ転送速度と、同時にプレステージングを行
うべきジョブの数nとから、ジョブの実効データ転送速
度を求める関数である。複数のジョブに対するプレステ
ージングを同時に行う場合には、一つのディスク14か
らデータを読み込むので、ジョブ毎のデータ転送速度は
ディスク14自体のデータ転送速度よりも遅くなる。こ
の関数fにより、実際のプレステージング実行時のデー
タ転送速度に極めて近い実効データ転送速度を求めるこ
とができる。
【0037】次に、ステップ103で下記の(2)式に
基づいてプレステージング開始時刻tPSを求める。
【0038】 tPS=tJS−(入力データ量)/(実効データ転送速度) ・・・(2) 上記(2)式において、ジョブの入力データ量を関数f
により求めた実効データ転送速度で割った値が、実効デ
ータ転送時間となる。プレステージング開始時刻tPS
は、ジョブ開始時刻tJSからこの実効データ転送時間を
引いた時刻に決定する。
【0039】本実施例では、上記のように同時にプレス
テージングを行うジョブの数nを考慮して実効データ転
送速度を求め、これを基にジョブの実行開始の直前にプ
レステージングが終了するようにプレステージング開始
時刻を決定している。このため、最適な時刻に極めて近
いプレステージング開始時刻を求めることができる。
【0040】従って、ジョブの実行時には、データをデ
ィスクキャッシュ13から高速に読み出すことができ、
ジョブの実行性能が向上する。又、プレステージングが
ジョブ実行開始時間より大幅に早く完了することがない
ので、ジョブ開始時までにプレステージングされたデー
タ領域を他のジョブが横取りしてジョブの実行性能が低
下してしまう不都合を防止できる。
【0041】又、実行前のジョブが無駄な時間ディスク
キャッシュ13の領域を占有して他のジョブの実行性能
を低下させてしまうこともなく、計算機システム全体の
性能を向上させることができる。
【0042】図7は、本発明になるプレステージング処
理方法の第2実施例の処理手順を示すフローチャートで
ある。計算機システムの利用者がジョブの実行依頼をし
てジョブが計算機システムに投入された時点で、ジョブ
管理モジュール21はステップ111で、この時点での
ディスク14とディスクキャッシュ13との間のデータ
転送経路の負荷を調べる。次に、ステップ112で、下
記(3)式により現在の実効データ転送速度を求める。
【0043】 現在の実効データ転送速度=(ディスク14のデータ転送速度) −(現在のデータ転送経路の負荷)・・・(3) 上記(3)式に示すように、ディスク14のデータ転送
速度から現時点のデータ転送経路の負荷を引いた値が、
現在の実効データ転送速度となる。データ転送経路の負
荷は常に一定ではなく、それぞれの時点でのジョブの入
力出力処理の実行状況により動的に変化する。しかし、
本実施例ではジョブ投入時点でのデータ転送経路の負荷
を調べているので、プレステージング実行時のデータ転
送速度に極めて近い、現在の実効データ転送速度を求め
ることができる。
【0044】尚、ジョブ投入時のデータ転送経路の負荷
を調べる方法としては、例えば次の方法を用いることが
できる。つまり、ディスクキャッシュ13とディスク1
4との間のデータの入出力は、特定のディスクドライバ
(図示せず)を介して行われる。そこで、ディスクドラ
イバの持っている入出力要求のキューを調べることによ
り、現在のデータ転送経路の負荷を求めることができ
る。
【0045】次に、ステップ113で下記の(4)式に
よりプレステージング開始時刻tPSを求める。
【0046】 tPS=tJS−(入力データ量)/(現在の実効データ転送速度)・・・(4) 上記(4)式において、ジョブの入力データ量を現在の
実効データ転送速度で割った値が、実効データ転送時間
となる。プレステージング開始時刻tPSは、ジョブ開始
時刻tJSからこの実効データ転送時間を引いた時刻に決
定する。
【0047】本実施例では、上記のようにジョブ投入時
点でのデータ転送経路の負荷を調べて現在の実効データ
転送速度を求め、これを基にジョブの実行開始の直前に
プレステージングが終了するようにプレステージング開
始時刻を決定している。このため、最適な時刻に極めて
近いプレステージング開始時刻を求めることができる。
【0048】従って、ジョブの実行時には、データをデ
ィスクキャッシュ13から高速に読み出すことができ、
ジョブの実行性能が向上する。又、プレステージングが
ジョブ実行開始時間より大幅に早く完了することがない
ので、ジョブ開始時までにプレステージングされたデー
タ領域を他のジョブが横取りしてジョブの実行性能が低
下してしまうことを防止できる。
【0049】また、実行前のジョブが無駄な時間ディス
クキャッシュ13の領域を占有して他のジョブの実行性
能を低下させてしまうこともなく、計算機システム全体
の性能を向上させることができる。
【0050】図8は本発明になるプレステージング処理
方法の第3実施例の処理手順を示すフローチャートであ
る。計算機システムの利用者がジョブの実行依頼をして
ジョブが計算機システムに投入された時点で、ジョブ管
理モジュール21はステップ121で全てのジョブキュ
ーを調べて、投入されたジョブに対応するプレステージ
ングの実行時のデータ転送経路の負荷を予測する。又、
ステップ121は、投入されたジョブと同時刻に実行さ
れるジョブを探索し、該当するジョブの入力データ量を
合計することによりデータ転送経路の負荷を予測する。
次に、ステップ122で、下記(5)式により予測デー
タ転送速度を求める。
【0051】 予測データ転送速度=(ディスク14のデータ転送速度) −(予測データ転送経路の負荷) ・・・(5) 上記(5)式に示すように、ディスク14のデータ転送
速度から予測したデータ転送経路の負荷を引いた値が、
予測データ転送速度となる。データ転送経路の負荷は常
に一定ではなく、それぞれの時点でのジョブの入力出力
処理の実行状況により動的に変化する。しかし、本実施
例では、ジョブ実行時のデータ転送経路の負荷を予測し
ているので、プレステージング実行時のデータ転送速度
に極めて近い予測データ転送速度を求めることができ
る。
【0052】尚、データ転送経路の負荷を予測する方法
としては、次の方法を用いることができる。つまり、ジ
ョブ管理モジュール21で管理されているジョブキュー
のジョブを全て探索し、それぞれのジョブについてプレ
ステージング時のデータ転送速度をプレステージング開
始時刻、ジョブ開始時刻及びデータ転送量から求める。
ここで、データ転送速度は、データ転送量を、ジョブ開
始時刻からプレステージング開始時刻を引いた値で割る
ことにより得られる。この様にして得られたデータ転送
速度を基に図9の如き表を作ることにより、各時点での
データ転送経路の負荷を予測できる。即ち、データ転送
経路の負荷は、その時点で行われているプレステージン
グ処理のデータ転送速度の合計である。
【0053】図9の例では、ジョブAに対するプレステ
ージングは1Mbyte/secで行われ、その開始時
刻はTAである。このジョブAの開始時刻はTBであ
る。ジョブBに対するプレステージングは2Mbyte
/secで行われ、ジョブCに対するプレステージング
は3Mbyte/secで行われる。この様な場合、時
刻TXにおけるデータ転送経路の負荷は、3Mbyte
/secである。
【0054】次に、ステップ123で、下記の(6)式
によりプレステージング開始時刻tPSを求める。
【0055】 tPS=tJS−(入力データ量)/(予測データ転送速度) ・・・(6) 上記(6)式において、ジョブの入力データ量を予測デ
ータ転送速度で割った値が、予測データ転送時間とな
る。プレステージング開始時刻tPSは、ジョブ開始時刻
tJSからこの予測データ転送時間を引いた時刻に決定す
る。
【0056】本実施例では、上記のようにジョブ投入時
点で、プレステージング実行時のデータ転送経路の負荷
を予測して、プレステージング実行時の予測データ転送
速度を求め、これを基にジョブの実行開始の直前にプレ
ステージングが終了するようにプレステージング開始時
刻を決定している。このため、最適な時刻に極めて近い
プレステージング開始時刻を求めることができる。
【0057】従って、ジョブの実行時には、データをデ
ィスクキャッシュ13から高速に読み出すことができ、
ジョブの実行性能が向上する。又、プレステージングが
ジョブ実行開始時間より大幅に早く完了することがない
ので、ジョブ開始時までにプレステージングされたデー
タ領域を他のジョブが横取りしてジョブの実行性能が低
下してしまうことを防止できる。
【0058】又、実行前のジョブが無駄な時間ディスク
キャッシュ13の領域を占有して他のジョブの実行性能
を低下させてしまうこともなく、計算機システム全体の
性能を向上させることができる。
【0059】図10は本発明になるプレステージング処
理方法の第4実施例の処理手順のフローチャートを示
し、図11は本実施例における資源の割り当ての説明図
を示す。計算機システムの利用者がジョブの実行依頼を
してジョブが計算機システムに投入された時点で、図1
1に示すように、ジョブ管理モジュール21は、資源管
理モジュール23Aに対してプレステージング時に必要
な資源、即ち、データ転送経路の割り当てを要求する。
【0060】資源管理モジュール23Aでは、要求され
たデータ転送経路が割り当て可能であるかどうかを調べ
て割り当てるデータ転送経路を決め、この割り当てるデ
ータ転送経路に関する情報をジョブ管理モジュール21
に通知する。ジョブ管理モジュール21では、図10に
示すステップ131でこの通知を受け取って、データ転
送経路を確保する。
【0061】次に、ステップ132で、確保したデータ
転送経路に基づいて予約データ転送速度を求める。本実
施例では、プレステージング実行時のデータ転送経路を
予約により確保しているので、プレステージング実行時
のデータ転送速度が予約データ転送速度として保証され
る。その後、ステップ133で下記の(7)式によりプ
レステージング開始時刻tPSを求める。
【0062】 tPS=tJS−(入力データ量)/(予約データ転送速度) ・・・(7) 上記(7)式において、ジョブの入力データ量を予約デ
ータ転送速度で割った値が、予測データ転送時間とな
る。プレステージング開始時刻tPSは、ジョブ開始時刻
tJSからこの予測データ転送時間を引いた時刻に決定す
る。
【0063】本実施例では、上記のようにジョブ投入時
点で、プレステージング実行時のデータ転送経路を予約
により確保してプレステージング実行時の予約データ転
送速度を求め、この保証された予約データ転送速度を基
に、ジョブの実行開始の直前にプレステージングが終了
するようにプレステージング開始時刻を決定している。
このため、最適なプレステージング開始時刻を求めるこ
とができる。
【0064】従って、ジョブの実行時には、データをデ
ィスクキャッシュ13から高速に読み出すことができ、
ジョブの実行性能が向上する。又、プレステージングが
ジョブ実行開始時間より大幅に早く完了することがない
ので、ジョブ開始時までにプレステージングされたデー
タ領域を他のジョブが横取りしてジョブの実行性能が低
下してしまうことを防止できる。
【0065】又、実行前のジョブが無駄な時間ディスク
キャッシュ13の領域を占有して他のジョブの実行性能
を低下させることもなく、計算機システム全体の性能を
向上させることができる。
【0066】図12は本発明になるプレステージング処
理方法の第5実施例の処理手順を示すフローチャートで
ある。計算機システムに新たなジョブが投入された時点
で、図12に示すように、ジョブ管理モジュール21は
ステップ141で、投入されたジョブのプレステージン
グ開始時刻を決定する。このプレステージング開始時刻
の決定方法としては、本発明になるプレステージング処
理方法の第1実施例〜第3実施例で用いたの方法を適用
することができる。
【0067】次に、ステップ142で、新たに投入され
たジョブによってデータ転送経路の負荷へ及ぼされる影
響を考慮して、以前に投入されたジョブのプレステージ
ング開始時刻を修正する。。
【0068】このため、本実施例では、ジョブ投入時に
プレステージング開始時刻を決めてこの時刻を固定して
おく方法に比べて、より適切なプレステージング開始時
刻を決めることができる。従って、ジョブの実行性能、
計算機システム全体の性能をより向上させることができ
る。
【0069】図13は本発明になるプレステージング処
理方法の第6実施例の処理手順を示すフローチャートで
ある。本実施例では、ステップ151でジョブのプレス
テージングの実行が終了すると、ステップ152でジョ
ブの実行開始時刻から所定時間前の基準時刻より以前に
プレステージングが終了したか否かを調べる。この結
果、基準時刻以降にプレステージングが終了してステッ
プ152の判定結果がNOのときは、再度のプレステー
ジングは必要ないので、何もしないで処理を終わる。
【0070】他方、基準時刻以前にプレステージングが
終了してステップ152の判定結果がYESのときは、
ステップ153へ進む。ステップ153は、プレステー
ジングの終了時点から所定時間経過後にデータが読み込
まれたディスクキャッシュ13内のデータ領域が他のジ
ョブに横取りされているかどうかを調べる。この結果、
ディスクキャッシュ13内のデータ領域が他のジョブに
横取りされているときは、再度プレステージングを実行
して、データ領域を横取りされたことにより消されたデ
ータをディスクキャッシュ13に再度読み込む。
【0071】このときの再プレステージングを、図14
と共に説明する。図14では、ジョブ2のプレステージ
ングがジョブ2の実行開始時刻よりも大幅に早く終了
し、データが読み込まれたディスクキャッシュ13内の
データ領域を他のジョブに横取りされて消された場合を
示している。図14では、初めのプレステージングの終
了後、所定時間経過後に、再度プレステージングを行
い、消されたデータを読み込んでいる。
【0072】上記のように本実施例では、ジョブのプレ
ステージングがジョブの実行開始時刻よりも大幅に早く
終了し、データが読み込まれたディスクキャッシュ13
内のデータ領域を他のジョブに横取りされて消された場
合、再度プレステージングを行って消されたデータを読
み込んでいる。このため、ジョブ実行時にデータがディ
スクキャッシュ13上に存在する確率を向上させること
ができ、ジョブの実行性能及びシステム全体の性能をよ
り向上させることができる。
【0073】尚、上記プレステージング処理方法の各実
施例では、本発明が図26に示す計算機システムに適用
された場合について説明したが、適応される計算機シス
テムは図15に示す構成を有するものであっても良い。
図15に示す計算機システムは、CPU11と、主記憶
装置12と、ディスク14とからなる。主記憶装置12
は、二次記憶装置であるディスク14のバッファとして
も利用される。
【0074】図15に示す計算機システムの場合、ジョ
ブ管理モジュールとOSとの関係は図16に示す如くな
る。図16中、図3と同一部分には同一符号を付し、そ
の説明は省略する。つまり、主記憶装置12に対応する
バッファ12は、OS23内のファイルシステム23B
に含まれる。これを除けば、図16は図3と実質的に同
じである。
【0075】ところで、計算機システムにおいては、通
常バッファを固定長のブロックに分割してブロック単位
にバッファ領域の割り当てを行う。又、セーケンシャル
アクセス、ランダムアクセス等の任意のファイル入出力
パターンに対してバッファ領域を効率良く利用するため
のブロック置き換えアルゴリズムであるLRU(Lea
st Recently Used)方式を採用して、
バッファ領域の管理を行っている。このLRU方式によ
れば、バッファ内の解放されたブロックを1本のフリー
リストに使用時期が古い順序にキューイングし、最近使
用されたブロックは再使用する可能性が高いと考え、使
用時期が古いブロックから順番に横取りしている。しか
し、数値計算、画像処理等のファイルを1回シーケンシ
ャルにアクセスするパターンの場合には、一度アクセス
したデータを再びアクセスする可能性は殆どないので、
フリーリストにキューイングする順序が適切でなく、他
の有用なブロックが先に横取りされてしまう。このた
め、数値計算、画像処理等のアプリケーションを中心と
して利用する計算機システムにおいて上記LRU方式を
採用すると、バッファ領域の有効利用がなされず、デー
タ入出力の性能を向上できないという問題がある。
【0076】そこで、ファイルをシーケンシャルに1回
アクセスするパターンに適応したブロック置き換えを行
って、各アプリケーシションの性能向上と計算機システ
ム全体の向上を図るバッファ管理方法の実施例を以下に
説明する。以下に説明するバッファ管理方法は、言うま
でもなく上記プレステージング処理方法の各実施例に適
用可能である。又、本発明になるファイルシステムは、
以下に説明するバッファ管理方法を用いる。尚、説明の
便宜上、バッファ管理方法は図15及び図16に示す計
算機システムに適用されるものとする。
【0077】先ず、本発明になるバッファ管理方法の第
1実施例を図17と共に説明する。本実施例では、新規
にバッファ12内のブロックの割り当てを行う際に、横
取りの対象となるブロックに関するブロック情報を保持
するフリーリストとして、図17に示す如く「使用済リ
スト」と「使用前リスト」と「使用中リスト」の3種類
のフリーリストを用意する。図17中、各「丸印」はブ
ロック情報を示す。
【0078】「使用済リスト」には、再使用する可能性
が殆どないか可能性が低いブロックに関するブロック情
報を保持する。「使用前リスト」には、未使用のブロッ
クに関するブロック情報を保持する。「使用中リスト」
には、再使用する可能性が高いブロックに関するブロッ
ク情報を保持する。ファイルシステム23Bでは、バッ
ファ12のブロックに関するデータの入出力が終了する
と、そのデータ入出力の種類やデータの入出力量に応じ
てフリーリストの種類を決定して、保持されたブロック
情報を決定された種類のフリーリストにキューイングす
る。
【0079】本実施例によれば、3種類のフリーリスト
を用意しておき、バッファ12内のブロックの状態に応
じてブロック情報をいずれかのフリーリストに保持して
いる。このため、使用済のブロックと、使用前のブロッ
クと、使用中のブロックとに関するブロック情報をそれ
ぞれ区別して管理することが可能である。従って、将来
使用される可能性が低いブロックの予測をより正確に行
うことができ、バッファ12のバッファ領域の利用効率
を向上させることができる。この結果、計算機システム
全体の性能向上も図れる。
【0080】次に、本発明になるバッファ管理方法の第
2実施例を図18と共に説明する。本実施例では、プロ
グラムの実行速度を上げるため、使用前の入力ファイル
を低速なディスク14から高速なバッファ12に予め先
読みしておく。そして、先読みしたファイルを格納して
いるバッファ12のブロックに関するブロック情報を
「使用前リスト」にキューイングする際に、そのブロッ
クのファイル内での位置を考慮に入れる。具体的には、
ファイルの先頭部分のブロックに関するブロック情報ほ
ど「使用前リスト」の後尾へ、又、ファイルの末尾部分
のブロックに関するブロック情報ほど「使用前リスト」
の先頭になるように、キューイングを行う。
【0081】アプリケーション22がファイルを先頭か
らシーケンシャルにアクセスする場合、ファイルの先頭
のデータを格納しているブロックほど最も近い将来に使
用される可能性が高い。そこで、本実施例では、先読み
したデータに対して上記のキューイング方式を採用する
ことにより、ファイルの先頭部分のブロックほど他のア
プリケーション22に横取りされる確率が低くなる。こ
のため、ファイルの先頭部分のデータを優先的にバッフ
ァ12内の領域に確保しておくことができる。従って、
シーケンシャルアクセスを行うプログラムの入力速度の
向上が可能となり、計算機システム全体の性能向上につ
ながる。
【0082】次に、本発明になるバッファ管理方法の第
3実施例を図19と共に説明する。ファイルシステム2
3Bでは、アプリケーション22からのファイルの入出
力要求を処理した後、バッファ12のブロック情報をフ
リーリストに格納する。この際、本実施例では、バッフ
ァ12のブロック全体に対するデータの入出力が完了し
たかどうかを判定する。判定の結果、データの入出力が
完了したことがわかると、該当するブロックに関するブ
ロック情報を「使用済リスト」へキューイングする。他
方、判定の結果、データの入出力が完了していないこと
がわかると、該当するブロックに関するブロック情報を
「使用中リスト」へキューイングする。
【0083】シーケンシャルに1回アクセスを行うアプ
リケーション22では、1回アクセスしたデータを再使
用する可能性は殆どない。そこで、本実施例では、ブロ
ック全体に対するデータの入出力が完了したものとそう
でないものとを区別して管理する。従って、ブロック全
体に対するデータの入出力が完了していないブロックに
関するブロック情報を優先的に「使用中リスト」に残し
ておくことができる。この結果、バッファ12の利用効
率が向上し、計算機システムの性能向上にも寄与する。
【0084】次に、本発明になるバッファ管理方法の第
4実施例を図20と共に説明する。本実施例では、アプ
リケーション22からファイルの削除要求が発行された
場合、ファイルシステム23Bでは該当するファイルの
データを保持していたバッファ12内のブロックを全て
無効にする。更に、無効にしたブロックに関するブロッ
ク情報を「使用済リスト」の先頭にキューイングする。
【0085】つまり、本実施例では、無効なブロックに
関するブロック情報のフリーリストへのキューイング
を、有効なブロックに関するブロック情報と区別して行
っている。図20中、有効なブロックに関するブロック
情報は「白丸印」で示し、無効なブロックに関するブロ
ック情報はXが付された「丸印」で示す。従って、無効
なデータが格納されているブロックを優先して他のデー
タ格納用として利用し、有効なデータが格納されている
ブロックを優先的に残しておくことが可能である。この
結果、バッファ12の利用効率が向上し、計算機システ
ム全体の性能向上につながる。
【0086】次に、本発明になるバッファ管理方法の第
5実施例を図21と共に説明する。本実施例では、アプ
リケーションプログラム22からファイルの入出力要求
が発行された場合、ファイルシステム23Bでは該当す
るデータがバッファ12内に存在するか否かを調べる。
該当するデータがバッファ12内に存在しなければ、バ
ッファ12のブロックを新に割り当てる。この割り当て
を行う際には、3種類のフリーリストを「使用済リス
ト」、「使用前リスト」、「使用中リスト」の順序で探
索し、最初に見つかったブロック情報のブロックを選
ぶ。
【0087】本実施例では、3種類のフリーリストを、
将来使用する可能性が低いデータが格納されたブロック
に関するブロック情報から順番に探索している。このた
め、将来使用する可能性が高いデータほど他の要求に横
取りされる確率が低い。従って、バッファ12の利用効
率及び計算機システム全体の性能が向上する。
【0088】次に、本発明になるバッファ管理方法の第
6実施例を図22と共に説明する。本実施例では、ファ
イルシステム23Bが図22に示す如くバッファ12の
バッファ領域全体をブロック毎に分けたマップ情報を保
持する。マップ内のブロック毎のエントリには、既に入
出力処理を終えたデータのデータ量を記録しておく。こ
のデータ量がバッファ12のブロックサイズに到達した
時、該当するブロック全体のデータ入出力が完了したと
判断する。
【0089】任意のアクセスパターンに対してバッファ
12のブロック全体のデータ入出力の完了及び未完了を
正しく判定するためには、例えば1バイトといったアク
セス可能なデータの最小単位毎にアクセスの有無を記録
しておく必要がある。この場合、必要となるメモリ容量
及び処理時間の増大が生じてしまう。しかし、本実施例
では、アプリケーションプログラム22がファイルをシ
ーケンシャルに1回アクセスする様な場合、同じバッフ
ァ領域を複数回アクセスする可能性は殆どないことに着
目している。従って、本実施例のようにバッファ12の
ブロック毎のアクセスデータ量を記録しておくだけで
も、バッファ12のブロック全体のデータ入出力の完了
及び未完了を正しく判定することができる。
【0090】図23は、図16におけるバッファ管理モ
ジュール23B2の構成を示す。図23中、「丸印」は
ブロック情報を示す。
【0091】バッファ管理モジュール23B2は、図2
3に示す如く、ブロック獲得処理部とブロック解放処理
部とに分かれている。又、バッファ管理モジュール23
B2は、バッファ12をブロック単位で管理するための
ハッシュキュー、フリーリスト等のデータ構造を保持し
ている。ハッシュキューは、ファイルID番号及びファ
イル内位置をキーとしたハッシュ値毎に有効なデータの
入ったブロックに関するブロック情報をリストの形で保
持している。上記の如く、フリーリストには「使用済リ
スト」、「使用前リスト」及び「使用中リスト」の3種
類のリストがあり、データに新規のブロックを割り当て
る際に横取りの対象となるブロックに関するブロック情
報をリストの形で保持している。
【0092】ファイル管理モジュール23B1は、バッ
ファ12を介したデータの入出力を行う際にはブロック
獲得処理部を呼び出して、バッファ12にブロックに関
するブロック情報を得る。又、ファイル管理モジュール
23B1は、得られたブロック情報に記述されているバ
ッファ領域を使用して、データの入出力を行う。バッフ
ァ12の該当するブロックについてデータの入出力が終
了すると、ファイル管理モジュール23B1はブロック
解放処理部を呼出して、バッファ12の該当するブロッ
クを解放することにより他の目的に使用可能な状態とす
る。
【0093】次に、ブロック獲得処理部のブロック獲得
処理について図24と共に説明する。図24は、図5中
ステップ23Bー13に対応している。
【0094】図24において、ステップ201は、ファ
イルID番号及びファイル内位置をキーとしたハッシュ
値を計算する。ステップ202は、ハッシュ値を用いて
ハッシュキューを探索する。ステップ203は、ハッシ
ュキューの中にハッシュ値に対応するブロック情報が存
在するか否かを判定する。該当するブロック情報がハッ
シュキューの中に存在し、ステップ203の判定結果が
YESの場合は、ステップ204へ進む。ステップ20
4は、フリーリストの中に該当するブロック情報が入っ
ていれば、このブロック情報をフリーリストから外す。
【0095】他方、ステップ203の判定結果がNOで
あると、ステップ205はフリーリストを「使用済リス
ト」、「使用前リスト」、「使用中リスト」の順序で探
索する。ステップ206は、ステップ205の探索によ
り空きブロックに関するブロック情報が存在するか否か
を判定する。ステップ206の判定結果がNOである
と、ステップ207はブロック獲得処理の失敗を検出
し、処理は終る。
【0096】ところが、ステップ206の判定結果がY
ESの場合は、ステップ208が空きブロックに関する
ブロック情報をフリーリストとから外す。又、ステップ
209は、古いハッシュキューから該当するブロック情
報を外し、ステップ210は、新しいハッシュキューに
該当するブロック情報を入れる。ステップ211は、ブ
ロック情報の初期化を行う。
【0097】ステップ204又はステップ211の後
で、ステップ212がブロック獲得処理の成功を検出
し、獲得したブロック情報をファイルシステム23Bの
ファイル管理モジュール23B1に返す。従って、ステ
ップ212は、図5のステップ23Bー14に対応して
いる。
【0098】尚、ステップ205は、上記バッファ管理
方法の第5実施例に対応している。
【0099】次に、ブロック解放処理部のブロック解放
処理について図25と共に説明する。図25は、図5中
ステップ23Bー17に対応している。
【0100】図25において、ステップ301は、バッ
ファ12の状態を判定する。このステップ301の判定
結果に応じて処理がステップ302、304、又は30
5へ進む。
【0101】ステップ301の判定により、あるブロッ
クが無効であることがわかると、ステップ302はこの
無効なブロックに関するブロック情報をハッシュキュー
より外す。ステップ303は、無効にしたブロックに関
するブロック情報を「使用済リスト」の先頭にキューイ
ングし、処理は終了する。従って、ステップ302及び
303はバッファ管理方法の第4実施例に対応してい
る。
【0102】ステップ301の判定により、先読みによ
り使用前の入力ファイルが予めディスク14からバッフ
ァ12へ読み込まれていることがわかると、ステップ3
04は、先読みしたファイルを格納しているバッファ1
2のブロックに関するブロック情報を「実行前リスト」
にキューイングする際に、そのブロックのファイル内で
の位置を考慮に入れてキューイングを行い、処理は終了
する。つまり、ファイルの先頭部分のブロックに関する
ブロック情報ほど「実行前リスト」の後尾へ、又、ファ
イルの末尾部分のブロックに関するブロック情報ほど
「実行前リスト」の先頭になるように、キューイングを
行う。従って、ステップ304はバッファ管理方法の第
2実施例に対応している。
【0103】ステップ301の判定により、あるブロッ
クの無効又はデータの先読みが検出されない場合は、ス
テップ305でブロック全体のデータ入出力が完了した
か否かを判定する。この結果、ブロック全体のデータ入
出力が未完了であることがわかると、ステップ306で
該当するブロックに関するブロック情報を「使用中リス
ト」の最後尾へキューイングし、処理は終了する。他
方、ブロック全体のデータ入出力が完了していることが
わかると、ステップ307で該当するブロックに関する
ブロック情報を「使用済リスト」の最後尾へキューイン
グし、処理は終了する。従って、ステップ305はバッ
ファ管理方法の第6実施例に対応している。又、ステッ
プ306及び307はバッファ管理方法の第3実施例に
対応している。
【0104】尚、ステップ305の判定は、次の様に行
える。つまり、先ずファイルのファイルID番号、オフ
セット及びデータ長に基づいて、入出力するべきデータ
長をブロックサイズ毎に分割することを、各ブロックに
対して行う。又、ファイルのファイルID番号及びオフ
セットを用いてバッファ12のブロックを獲得する。こ
れにより、ディスク14からバッファ12へ、又は、バ
ッファ12からディスク14へ、データが転送される。
この際、図22のマップ情報中、データ転送に係わるブ
ロックのアクセスデータ量を更新する。この結果、アク
セスデータ量がブロックサイズ以上であれば、バッファ
情報は、該当するブロック全体についてのデータの入出
力が完了したことを示す。他方、アクセスデータ量がブ
ロックサイズより小さければ、バッファ情報は、該当す
るブロック全体についてのデータの入出力が未完了であ
ることを示す。最後に、ファイルシステム23Bのファ
イル管理モジュール23B1へブロック情報及びバッフ
ァ状態を通知して、バッファ12の該当するブロックを
解放する。
【0105】尚、上記バッファ管理方法の各実施例にお
いては、説明の便宜上、主記憶装置12をバッファとし
て用いている。しかし、バッファ管理方法を図11に示
す計算機システムに適用した場合、ディスクキャッシュ
15をバッファとして用いても良いことは言うまでもな
い。
【0106】
【発明の効果】上述の如く、請求項1の発明によれば、
同時にプレステージングを行うべきジョブ数を考慮して
最適な時刻に近いプレステージング開始時刻を決定する
ことができる。従って、ジョブの実行性能及びシステム
全体の性能の向上を可能とすることができる。
【0107】請求項2の発明によれば、ジョブ投入時点
のデータ転送経路の負荷を考慮して最適な時刻に近いプ
レステージング開始時刻を決定することができる。従っ
て、ジョブの実行性能及びシステム全体の性能の向上を
可能とすることができる。
【0108】請求項3の発明によれば、プレステージン
グ実行時のデータ転送経路の負荷を予測して最適な時刻
に近いプレステージング開始時刻を決定することができ
る。従って、ジョブの実行性能及びシステム全体の性能
の向上を可能とすることができる。
【0109】請求項4の発明によれば、予め確保したデ
ータ転送経路に基づいて最適なプレステージング開始時
刻を決定することができる。従って、ジョブの実行性能
及びシステム全体の性能の向上を可能とすることができ
る。
【0110】請求項5の発明によれば、新たなジョブが
システムに投入される毎に、データ転送経路の負荷の変
化を考慮して以前に投入されたジョブに対するプレステ
ージング開始時刻を修正するため、プレステージング開
始時刻をより適切な時刻とすることができる。従って、
ジョブの実行性能及びシステム全体の性能をより向上さ
せることを可能とすることができる。
【0111】請求項6の発明によれば、ジョブに対する
プレステージングが基準時刻以前に終了して、データを
読み込んだバッファ内のデータ領域が他のジョブに横取
りされたときに、再度プレステージングを行って横取り
されたデータを二次記憶装置からバッファに読み込むた
め、ジョブ実行時にデータがバッファ上に存在する確率
を向上させることができる。従って、ジョブの実行性能
及びシステム全体の性能をより向上させることを可能と
することができる。
【0112】請求項15の発明によれば、シーケンシャ
ルに1回データをアクセスするアプリケーションに適合
した効率の良いバッファ管理を行うことができる。従っ
て、アプリケーションの性能向上及び計算機システム全
体の性能向上を図ることができる。
【0113】更に、請求項27の発明によれば、シーケ
ンシャルに1回データをアクセスするアプリケーション
に適合した効率の良いバッファ管理を行うことができ
る。従って、アプリケーションの性能向上及び計算機シ
ステム全体の性能向上を図ることができる。
【図面の簡単な説明】
【図1】ジョブキューとジョブの実行手順の説明図であ
る。
【図2】ジョブのプレステージングと実行の説明図であ
る。
【図3】ジョブ管理モジュールとOSとの関係を説明す
る図である。
【図4】図3のジョブ管理モジュール及びOSの動作の
概略を説明するフローチャートである。
【図5】図4中、ステップ23Bー1が行う処理の概略
を示すフローチャートである。
【図6】本発明になるプレステージング処理方法の第1
実施例の処理手順を示すフローチャートである。
【図7】本発明になるプレステージング処理方法の第2
実施例の処理手順を示すフローチャートである。
【図8】本発明になるプレステージング処理方法の第3
実施例の処理手順を示すフローチャートである。
【図9】データ転送経路の負荷を予測する方法を説明す
る図である。
【図10】本発明になるプレステージング処理方法の第
4実施例の処理手順を示すフローチャートである。
【図11】本発明になるプレステージング処理方法の第
4実施例における資源割り当ての説明図である。
【図12】本発明になるプレステージング処理方法の第
5実施例の処理手順を示すフローチャートである。
【図13】本発明になるプレステージング処理方法の第
6実施例の処理手順を示すフローチャートである。
【図14】プレステージング処理方法の第6実施例にお
ける再プレステージングの説明図である。
【図15】計算機システムの構成図である。
【図16】ジョブ管理モジュールとOSとの関係を説明
する図である。
【図17】本発明になるバッファ管理方法の第1実施例
を説明する図である。
【図18】本発明になるバッファ管理方法の第2実施例
を説明する図である。
【図19】本発明になるバッファ管理方法の第3実施例
を説明する図である。
【図20】本発明になるバッファ管理方法の第4実施例
を説明する図である。
【図21】本発明になるバッファ管理方法の第5実施例
を説明する図である。
【図22】本発明になるバッファ管理方法の第6実施例
で用いるマップ情報を説明する図である。
【図23】バッファ管理モジュールの構成を示す図であ
る。
【図24】ブロック獲得処理を説明するフローチャート
である。
【図25】ブロック解放処理を説明するフローチャート
である。
【図26】計算機システムの構成図である。
【符号の説明】
11 中央処理装置(CPU) 12 主記憶装置 13 ディスクキャッシュ 14 ディスク 21 ジョブ管理モジュール 22 アプリケーションプログラム 23 OS 23A 資源管理モジュール 23B ファイルシステム 23B1 ファイル管理モジュール 23B2 バッファ管理モジュール

Claims (38)

    【特許請求の範囲】
  1. 【請求項1】 中央処理装置(11)、バッファ(1
    2,13)、及び二次記憶装置(14)を備えた計算機
    システムでジョブの実行前にジョブの入力データを該二
    次記憶装置(14)から該バッファ(12,13)に読
    み込んでおくプレステージング処理方法において、 投入されたジョブと同時にプレステージングを行うべき
    ジョブの数であるジョブ数を求めるステップ(101)
    と、 該プレステージングを行うべきジョブの入力データが格
    納されている該二次記憶装置(14)のデータ転送速度
    及び該ジョブ数に基づいて実効データ転送速度を求める
    ステップ(102)と、 該入力データの量を該実効データ転送速度で割った実効
    データ転送時間を、該ジョブの開始予定時刻から引いた
    時刻を該ジョブのプレステージング開始時刻とするステ
    ップ(103)とを含むプレステージング処理方法。
  2. 【請求項2】 中央処理装置(11)、バッファ(1
    2,13)、及び二次記憶装置(14)を備えた計算機
    システムでジョブの実行前にジョブの入力データを該二
    次記憶装置(14)から該バッファ(12,13)に読
    み込んでおくプレステージング処理方法において、 ジョブが投入された時の該二次記憶装置(14)から該
    バッファ(12,13)へのデータ転送経路の負荷を調
    べるステップ(111)と、 プレステージングを行うべきジョブの入力データが格納
    されている二次記憶装置(14)のデータ転送速度から
    該データ転送経路の負荷を引いた実効データ転送速度を
    求めるステップ(112)と、 該入力データの量を該実効データ転送速度で割った実効
    データ転送時間を、該ジョブの開始予定時刻から引いた
    時刻を該ジョブのプレステージング開始時刻とするステ
    ップ(113)とを含むプレステージング処理方法。
  3. 【請求項3】 中央処理装置(11)、バッファ(1
    2,13)、及び二次記憶装置(14)を備えた計算機
    システムでジョブの実行前にジョブの入力データを該二
    次記憶装置(14)から該バッファ(12,13)に読
    み込んでおくプレステージング処理方法において、 投入されたジョブに対するプレステージングを行う時点
    での該二次記憶装置(14)から該バッファ(12,1
    3)へのデータ転送経路の負荷を予測するステップ(1
    21)と、 該プレステージングを行うべきジョブの入力データが格
    納されている該二次記憶装置(14)のデータ転送速度
    から該予測されるデータ転送経路の負荷を引いた予測デ
    ータ転送速度を求めるステップ(122)と、 該入力データの量を該予測データ転送速度で割った予測
    データ転送時間を、該ジョブの開始予定時刻から引いた
    時刻を該ジョブのプレステージング開始時刻とするステ
    ップ(123)とを含むプレステージング処理方法。
  4. 【請求項4】 中央処理装置(11)、バッファ(1
    2,13)、及び二次記憶装置(14)を備えた計算機
    システムでジョブの実行前にジョブの入力データを該二
    次記憶装置(14)から該バッファ(12,13)に読
    み込んでおくプレステージング処理方法において、 投入されたジョブに対するプレステージングを行うため
    に必要な該二次記憶装置(14)から該バッファ(1
    2,13)へのデータ転送経路を予め確保するステップ
    (131)と、 該確保したデータ転送経路に基づいて予約データ転送速
    度を求めるステップ(132)と、 該プレステージングを行うべきジョブの入力データの量
    を該予約データ転送速度で割った予測データ転送時間
    を、該ジョブの開始予定時刻から引いた時刻を該ジョブ
    のプレステージング開始時刻とするステップ(133)
    とを含むプレステージング処理方法。
  5. 【請求項5】 中央処理装置(11)、バッファ(1
    2,13)、及び二次記憶装置(14)を備えた計算機
    システムでジョブの実行前にジョブの入力データを該二
    次記憶装置(14)から該バッファ(12,13)に読
    み込んでおくプレステージング処理方法において、 投入されたジョブに対するプレステージングのプレステ
    ージング開始時刻を決定するステップ(141)と、 該プレステージング開始時刻の決定後に、該投入された
    ジョブによる該二次記憶装置(14)から該バッファ
    (12,13)へのデータ転送経路の負荷の変化に応じ
    て、以前に投入されたジョブに対するプレステージング
    開始時刻を修正するステップ(142)とを含むプレス
    テージング処理方法。
  6. 【請求項6】 中央処理装置(11)、バッファ(1
    2,13)、及び二次記憶装置(14)を備えた計算機
    システムでジョブの実行前にジョブの入力データを該二
    次記憶装置(14)から該バッファ(12,13)に読
    み込んでおくプレステージング処理方法において、 投入されたジョブに対するプレステージングを実行する
    ステップ(151)と、 該ジョブに対するプレステージングの実行後に、該プレ
    ステージングが基準時刻以前に終了したか否かを調べる
    ステップ(152)と、 該プレステージングが基準時刻以前に終了し、入力デー
    タを読み込んだ該バッファ(12,13)内のデータ領
    域が他のジョブに横取りされた場合は、再度プレステー
    ジングを行い横取りされたデータを該二次記憶装置(1
    4)から該バッファ(12,13)に読み込むステップ
    (153)とを含むプレステージング処理方法。
  7. 【請求項7】 前記計算機システムの主記憶装置(1
    2)を前記バッファ(12,13)として用いる請求項
    1〜6のうちいずれか一項記載のプレステージング処理
    方法。
  8. 【請求項8】 前記二次記憶装置(14)と前記バッフ
    ァ(12,13)との間のデータ転送をブロック単位で
    行うステップと、 前記バッファ(12,13)のうち他のジョブによる横
    取りの対象となるブロックに関するブロック情報を保持
    するフリーリストを、少なくとも、再使用する可能性の
    低いブロック情報からなる「使用済リスト」、未使用の
    ブロック情報からなる「使用前リスト」及び再使用する
    可能性の高いブロック情報からなる「使用中リスト」の
    3種類用意するステップと、 該バッファ(12,13)のブロックについてのデータ
    転送が終了すると、このブロックに関するブロック情報
    を該バッファ(12,13)の状態に応じて選択された
    種類のフリーリストにキューイングすることによりこの
    ブロックを解放するステップとを更に含む請求項7記載
    のプレステージング処理方法。
  9. 【請求項9】 前記バッファ(12,13)の状態は、
    データ転送の種類及びデータ転送量を含む請求項8記載
    のプレステージング処理方法。
  10. 【請求項10】 前記二次記憶装置(14)から前記バ
    ッファ(12,13)のブロックへのファイルデータの
    先読みが終了してこのブロックを解放する際に、このブ
    ロックのファイル内での位置に応じてこのブロックに関
    するブロック情報の前記フリーリストへのキューイング
    を変化させるステップを更に含む請求項8又は9記載の
    プレステージング処理方法。
  11. 【請求項11】 前記二次記憶装置(14)と前記バッ
    ファ(12,13)のブロックとの間のデータ転送が終
    了してこのブロックを解放する際に、このブロック全体
    についての転送が完了したか否かを判定してその判定結
    果に基づいてこのブロックに関するブロック情報の前記
    フリーリストへのキューイングを変化させるステップを
    更に含む請求項8〜10のうちいずれか一項記載のプレ
    ステージング処理方法。
  12. 【請求項12】 ファイルを消去する時点で該ファイル
    に対応するブロックを無効にして解放する際に、前記二
    次記憶装置(14)と前記バッファ(12,13)のブ
    ロックとの間の通常のデータ転送とは区別して無効なブ
    ロックに関するブロック情報を前記フリーリストへキュ
    ーイングするステップを更に含む請求項8〜11のうち
    いずれか一項記載のプレステージング処理方法。
  13. 【請求項13】 ファイルに対して新にブロックを割り
    当てる際に、前記3種類のフリーリストを「使用済リス
    ト」、「使用前リスト」及び「使用中リスト」の順序で
    探索して割り当て可能なブロックに関するブロック情報
    を得るステップを更に含む請求項8〜12のうちいずれ
    か一項記載のプレステージング処理方法。
  14. 【請求項14】 前記バッファ(12,13)のバッフ
    ァ領域に関するマップ情報を、前記二次記憶装置(1
    4)と該バッファ(12,13)のブロックとの間のの
    データ転送がある毎に更新するステップと、該マップ情
    報に基づいてブロック全体についての転送が完了したか
    否かを判定するステップを更に含む請求項8〜13のう
    ちいずれか一項記載のプレステージング処理方法。
  15. 【請求項15】 中央処理装置(11)、バッファ(1
    2,13)、及び二次記憶装置(14)を備えた計算機
    システムで、該二次記憶装置(14)と該バッファ(1
    2,13)との間でデータ転送を行う際に該バッファ
    (12,13)のバッファ領域をブロック単位で管理す
    るバッファ管理方法において、該バッファ(12,1
    3)のうち横取りの対象となるブロックに関するブロッ
    ク情報を保持するフリーリストを、少なくとも、再使用
    する可能性の低いブロック情報からなる「使用済リス
    ト」、未使用のブロック情報からなる「使用前リスト」
    及び再使用する可能性の高いブロック情報からなる「使
    用中リスト」の3種類用意するステップと、 該バッファ(12,13)のブロックについてのデータ
    転送が終了すると、このブロックに関するブロック情報
    を該バッファ(12,13)の状態に応じて選択された
    種類のフリーリストにキューイングすることによりこの
    ブロックを解放するステップとを含むバッファ管理方
    法。
  16. 【請求項16】 前記バッファ(12,13)の状態
    は、データ転送の種類及びデータ転送量を含む請求項1
    5記載のバッファ管理方法。
  17. 【請求項17】 前記二次記憶装置(14)から前記バ
    ッファ(12,13)のブロックへのファイルデータの
    先読みが終了してこのブロックを解放する際に、このブ
    ロックのファイル内での位置に応じてこのブロックに関
    するブロック情報の前記フリーリストへのキューイング
    を変化させるステップを更に含む請求項15又は16記
    載のバッファ管理方法。
  18. 【請求項18】 前記フリーリストへのキューイングを
    変化させるステップは、ファイルの先頭部分に対応する
    ブロックに関するブロック情報ほど「使用前リスト」の
    後尾へ、又、ファイルの末尾部分に対応するブロックに
    関するブロック情報ほど「使用前リスト」の先頭にキュ
    ーイングする請求項17記載のバッファ管理方法。
  19. 【請求項19】 前記二次記憶装置(14)と前記バッ
    ファ(12,13)のブロックとの間のデータ転送が終
    了してこのブロックを解放する際に、このブロック全体
    についての転送が完了したか否かを判定してその判定結
    果に基づいてこのブロックに関するブロック情報の前記
    フリーリストへのキューイングを変化させるステップを
    更に含む請求項15〜18のうちいずれか一項記載のバ
    ッファ管理方法。
  20. 【請求項20】 前記フリーリストへのキューイングを
    変化させるステップは、転送完了と判定されると該当す
    るブロックに関するブロック情報を「使用済リスト」へ
    キューイングし、転送未完了と判定されると該当するブ
    ロックに関するブロック情報を「使用中リスト」へキュ
    ーイングする請求項19記載のバッファ管理方法。
  21. 【請求項21】 ファイルを消去する時点で該ファイル
    に対応するブロックを無効にして解放する際に、前記二
    次記憶装置(14)と前記バッファ(12,13)のブ
    ロックとの間の通常のデータ転送とは区別して無効なブ
    ロックに関するブロック情報を前記フリーリストへキュ
    ーイングするステップを更に含む請求項15〜20のう
    ちいずれか一項記載のバッファ管理方法。
  22. 【請求項22】 前記無効なブロックに関するブロック
    情報を前記フリーリストへキューイングするステップ
    は、該無効なブロックに関するブロック情報を「使用済
    リスト」の先頭にキューイングする請求項21記載のバ
    ッファ管理方法。
  23. 【請求項23】 ファイルに対して新にブロックを割り
    当てる際に、前記3種類のフリーリストを「使用済リス
    ト」、「使用前リスト」及び「使用中リスト」の順序で
    探索して割り当て可能なブロックに関するブロック情報
    を得るステップを更に含む請求項15〜22のうちいず
    れか一項記載のバッファ管理方法。
  24. 【請求項24】 探索の結果見つかった最初のブロック
    情報に基づいて割り当て可能なブロックを決定するステ
    ップを更に含む請求項23記載のバッファ管理方法。
  25. 【請求項25】 前記バッファ(12,13)のバッフ
    ァ領域に関するマップ情報を、前記二次記憶装置(1
    4)と該バッファ(12,13)のブロックとの間のの
    データ転送がある毎に更新するステップと、該マップ情
    報に基づいてブロック全体についての転送が完了したか
    否かを判定するステップを更に含む請求項15〜24の
    うちいずれか一項記載のバッファ管理方法。
  26. 【請求項26】 前記マップ情報は既に転送を終えたデ
    ータの量を記録しており、前記ブロック全体についての
    転送が完了したか否かを判定するステップは、マップ情
    報のデータ量がブロックサイズに到達するとブロック全
    体についての転送の完了とみなす請求項25記載のバッ
    ファ管理方法。
  27. 【請求項27】 中央処理装置(11)、バッファ(1
    2,13)、及び二次記憶装置(14)を備えた計算機
    システムで、該二次記憶装置(14)と該バッファ(1
    2,13)との間でデータ転送をブロック単位で行うフ
    ァイルシステムにおいて、 該バッファ(12,13)のうち横取りの対象となるブ
    ロックに関するブロック情報を保持するフリーリスト
    を、少なくとも、再使用する可能性の低いブロック情報
    からなる「使用済リスト」、未使用のブロック情報から
    なる「使用前リスト」及び再使用する可能性の高いブロ
    ック情報からなる「使用中リスト」の3種類用意する手
    段と、 該バッファ(12,13)のブロックについてのデータ
    転送が終了すると、このブロックに関するブロック情報
    を該バッファ(12,13)の状態に応じて選択された
    種類のフリーリストにキューイングすることによりこの
    ブロックを解放する手段とを含むファイルシステム。
  28. 【請求項28】 前記バッファ(12,13)の状態
    は、データ転送の種類及びデータ転送量を含む請求項2
    7記載のファイルシステム。
  29. 【請求項29】 前記二次記憶装置(14)から前記バ
    ッファ(12,13)のブロックへのファイルデータの
    先読みが終了してこのブロックを解放する際に、このブ
    ロックのファイル内での位置に応じてこのブロックに関
    するブロック情報の前記フリーリストへのキューイング
    を変化させる手段を更に含む請求項27又は28記載の
    ファイルシステム。
  30. 【請求項30】 前記フリーリストへのキューイングを
    変化させる手段は、ファイルの先頭部分に対応するブロ
    ックに関するブロック情報ほど「使用前リスト」の後尾
    へ、又、ファイルの末尾部分に対応するブロックに関す
    るブロック情報ほど「使用前リスト」の先頭にキューイ
    ングする請求項29記載のファイルシステム。
  31. 【請求項31】 前記二次記憶装置(14)と前記バッ
    ファ(12,13)のブロックとの間のデータ転送が終
    了してこのブロックを解放する際に、このブロック全体
    についての転送が完了したか否かを判定してその判定結
    果に基づいてこのブロックに関するブロック情報の前記
    フリーリストへのキューイングを変化させる手段を更に
    含む請求項27〜30のうちいずれか一項記載のファイ
    ルシステム。
  32. 【請求項32】 前記フリーリストへのキューイングを
    変化させる手段は、転送完了と判定されると該当するブ
    ロックに関するブロック情報を「使用済リスト」へキュ
    ーイングし、転送未完了と判定されると該当するブロッ
    クに関するブロック情報を「使用中リスト」へキューイ
    ングする請求項31記載のファイルシステム。
  33. 【請求項33】 ファイルを消去する時点で該ファイル
    に対応するブロックを無効にして解放する際に、前記二
    次記憶装置(14)と前記バッファ(12,13)のブ
    ロックとの間の通常のデータ転送とは区別して無効なブ
    ロックに関するブロック情報を前記フリーリストへキュ
    ーイングする手段を更に含む請求項27〜32のうちい
    ずれか一項記載のファイルシステム。
  34. 【請求項34】 前記無効なブロックに関するブロック
    情報を前記フリーリストへキューイングする手段は、該
    無効なブロックに関するブロック情報を「使用済リス
    ト」の先頭にキューイングする請求項33記載のファイ
    ルシステム。
  35. 【請求項35】 ファイルに対して新にブロックを割り
    当てる際に、前記3種類のフリーリストを「使用済リス
    ト」、「使用前リスト」及び「使用中リスト」の順序で
    探索して割り当て可能なブロックに関するブロック情報
    を得る手段を更に含む請求項27〜35のうちいずれか
    一項記載のファイルシステム。
  36. 【請求項36】 探索の結果見つかった最初のブロック
    情報に基づいて割り当て可能なブロックを決定する手段
    を更に含む請求項35記載のファイルシステム。
  37. 【請求項37】 前記バッファ(12,13)のバッフ
    ァ領域に関するマップ情報を、前記二次記憶装置(1
    4)と該バッファ(12,13)のブロックとの間のの
    データ転送がある毎に更新する手段と、該マップ情報に
    基づいてブロック全体についての転送が完了したか否か
    を判定する手段を更に含む請求項27〜36のうちいず
    れか一項記載のファイルシステム。
  38. 【請求項38】 前記マップ情報は既に転送を終えたデ
    ータの量を記録しており、前記ブロック全体についての
    転送が完了したか否かを判定する手段は、マップ情報の
    データ量がブロックサイズに到達するとブロック全体に
    ついての転送の完了とみなす請求項37記載のファイル
    システム。
JP5086484A 1992-06-29 1993-04-13 プレステージング処理方法、バッファ管理方法及びファイルシステム Withdrawn JPH0675785A (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP5086484A JPH0675785A (ja) 1992-06-29 1993-04-13 プレステージング処理方法、バッファ管理方法及びファイルシステム
US08/576,402 US5652916A (en) 1992-06-29 1995-12-21 Prestaging method, buffer management method and file system
US08/791,781 US5892921A (en) 1992-06-29 1997-01-29 Prestaging method, buffer management method and file system

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP4-171054 1992-06-29
JP17105492 1992-06-29
JP5086484A JPH0675785A (ja) 1992-06-29 1993-04-13 プレステージング処理方法、バッファ管理方法及びファイルシステム

Publications (1)

Publication Number Publication Date
JPH0675785A true JPH0675785A (ja) 1994-03-18

Family

ID=26427594

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5086484A Withdrawn JPH0675785A (ja) 1992-06-29 1993-04-13 プレステージング処理方法、バッファ管理方法及びファイルシステム

Country Status (2)

Country Link
US (2) US5652916A (ja)
JP (1) JPH0675785A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09204394A (ja) * 1996-01-26 1997-08-05 Fujitsu Ltd データ転送制御装置
JP2008015888A (ja) * 2006-07-07 2008-01-24 Hitachi Ltd 負荷分散制御システム及び負荷分散制御方法
JP2015156185A (ja) * 2014-02-21 2015-08-27 日本電気株式会社 データ処理装置、計算機システム、データ処理方法およびデータ処理プログラム
JP2016091555A (ja) * 2014-11-06 2016-05-23 富士通株式会社 データステージング管理システム

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6038620A (en) * 1996-09-09 2000-03-14 International Business Machines Corporation Method and system for optimal high speed match in a high performance controller which ensures an input/output interface stays ahead of a host interface
US5870553A (en) * 1996-09-19 1999-02-09 International Business Machines Corporation System and method for on-demand video serving from magnetic tape using disk leader files
JPH10303840A (ja) * 1997-04-25 1998-11-13 Sony Corp マルチチャンネル放送システム
JPH11252550A (ja) * 1998-03-02 1999-09-17 Sony Corp デイジタル信号符号化装置、デイジタル信号復号化装置、デイジタル信号伝送装置及び方法
US6516360B1 (en) * 1999-09-23 2003-02-04 Qualcomm Incorporated Method and apparatus for buffering data transmission between producer and consumer
US6574820B1 (en) * 1999-10-22 2003-06-10 The Gillette Company Brush head for toothbrush
WO2001043438A1 (en) * 1999-12-10 2001-06-14 Diva Systems Corporation Method and apparatus for storing content within a video on demand environment
AU2001272072A1 (en) 2000-02-15 2001-08-27 Smithkline Beecham Gmbh & Co. Kg Brush part for an electric toothbrush
US6842893B1 (en) * 2000-11-13 2005-01-11 International Business Machines Corporation Method for global breakout identification
US7385720B2 (en) * 2001-11-05 2008-06-10 Hewlett-Packard Development Company, L.P. Systems and methods for scheduling print jobs
EP1418506A3 (en) * 2002-11-08 2005-10-12 Matsushita Electric Industrial Co., Ltd. Data storing system and transmission control method
US7277991B2 (en) * 2004-04-12 2007-10-02 International Business Machines Corporation Method, system, and program for prefetching data into cache
US7461300B2 (en) * 2005-03-23 2008-12-02 Seiko Epson Corporation Image forming apparatus and communication data handling method therein
US20060253807A1 (en) * 2005-04-05 2006-11-09 Hirokazu So Recording medium and data processing device
JP2010134630A (ja) * 2008-12-03 2010-06-17 Sony Corp 情報処理装置、分割管理サーバ、情報処理方法、分割管理方法、プログラムおよび情報処理システム
WO2012089701A1 (en) * 2010-12-27 2012-07-05 Amplidata Nv A distributed object storage system comprising performance optimizations
JP5962140B2 (ja) * 2012-03-30 2016-08-03 富士通株式会社 プログラム、制御方法、制御装置およびシステム
KR102145420B1 (ko) * 2013-07-25 2020-08-18 삼성전자주식회사 데이터 전송 속도를 변경하는 스토리지 시스템 및 그것의 데이터 전송 속도 변경 방법

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4956808A (en) * 1985-01-07 1990-09-11 International Business Machines Corporation Real time data transformation and transmission overlapping device
US4860193A (en) * 1986-05-22 1989-08-22 International Business Machines Corporation System for efficiently transferring data between a high speed channel and a low speed I/O device
DE3782819D1 (de) * 1987-06-02 1993-01-07 Itt Ind Gmbh Deutsche Steuerprozessor.
US4993030A (en) * 1988-04-22 1991-02-12 Amdahl Corporation File system for a plurality of storage classes
JPH07122868B2 (ja) * 1988-11-29 1995-12-25 日本電気株式会社 情報処理装置
US5347637A (en) * 1989-08-08 1994-09-13 Cray Research, Inc. Modular input/output system for supercomputers

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09204394A (ja) * 1996-01-26 1997-08-05 Fujitsu Ltd データ転送制御装置
JP2008015888A (ja) * 2006-07-07 2008-01-24 Hitachi Ltd 負荷分散制御システム及び負荷分散制御方法
JP2015156185A (ja) * 2014-02-21 2015-08-27 日本電気株式会社 データ処理装置、計算機システム、データ処理方法およびデータ処理プログラム
JP2016091555A (ja) * 2014-11-06 2016-05-23 富士通株式会社 データステージング管理システム

Also Published As

Publication number Publication date
US5892921A (en) 1999-04-06
US5652916A (en) 1997-07-29

Similar Documents

Publication Publication Date Title
JPH0675785A (ja) プレステージング処理方法、バッファ管理方法及びファイルシステム
US9529724B2 (en) Layered architecture for hybrid controller
US8131894B2 (en) Method and system for a sharing buffer
US5983324A (en) Data prefetch control method for main storage cache for protecting prefetched data from replacement before utilization thereof
US5349656A (en) Task scheduling method in a multiprocessor system where task selection is determined by processor identification and evaluation information
US5649156A (en) Cache management system utilizing a cache data replacer responsive to cache stress threshold value and the period of time a data element remains in cache
US5410700A (en) Computer system which supports asynchronous commitment of data
US5307473A (en) Controller for storage unit and method of controlling storage unit
EP0104588A2 (en) Peripheral storage system having multiple data transfer rates
JP4599172B2 (ja) フリーバッファプールを使用することによるメモリの管理
JP3324572B2 (ja) 情報処理装置並びにコンピュータに実行させるためのプログラムを記録した記録媒体
JP2003228461A (ja) ディスクアレイ装置のディスクキャッシュ管理方法
Han et al. Remap-based inter-partition copy for arrayed solid-state drives
JP4189342B2 (ja) ストレージ装置、ストレージコントローラ及びライトバックキャッシュ制御方法
US20080301324A1 (en) Processor device and instruction processing method
US6574718B2 (en) Excessive spin detection and avoidance for systems using a least recently used page replacement algorithm
JPH05189316A (ja) ディスクキャッシュ制御方法
JPH09244931A (ja) リアルタイムファイルシステム
JP4506292B2 (ja) キャッシュ制御方法およびデータ処理システム並びにその処理プログラム
US7937552B2 (en) Cache line reservations
JPH06243042A (ja) 記憶制御装置
US11386007B1 (en) Methods and systems for fast allocation of fragmented caches
JP7512498B2 (ja) メッセージ送受信方法およびオペレーティングシステム
JP3898369B2 (ja) ページング処理装置および記録媒体
CN117311638A (zh) 缓存管理方法、缓存管理装置、处理器

Legal Events

Date Code Title Description
A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20000704