JPH0793198A - コンピュータシステム - Google Patents

コンピュータシステム

Info

Publication number
JPH0793198A
JPH0793198A JP5238639A JP23863993A JPH0793198A JP H0793198 A JPH0793198 A JP H0793198A JP 5238639 A JP5238639 A JP 5238639A JP 23863993 A JP23863993 A JP 23863993A JP H0793198 A JPH0793198 A JP H0793198A
Authority
JP
Japan
Prior art keywords
buffer
data
processes
database
size
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.)
Pending
Application number
JP5238639A
Other languages
English (en)
Inventor
Norihiro Kato
宣弘 加藤
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.)
Toshiba Corp
Original Assignee
Toshiba Corp
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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP5238639A priority Critical patent/JPH0793198A/ja
Publication of JPH0793198A publication Critical patent/JPH0793198A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

(57)【要約】 【目的】バッファ・キャッシュとデータ・バッファのサ
イズを自動的に調整できるようにし、主記憶管理の高率
化を図る。 【構成】プロセッサ利用率、スワッピングの有無、およ
びバッファヒット率を監視することによってシステム内
のプロセスの状態が管理される。バッファ・キャッシュ
251とデータ・バッファ261のそれぞれサイズは、
その管理情報に応じて動的に変更される。例えばデータ
ベース管理システム26のプロセッサ使用率のみが高い
場合には、データベース管理システム26のデータ・バ
ッファ261のサイスが大きくされ、オペレーティング
・システム25のバッファ・キャッシュ251が小さく
される。これにより、データベースの多数のデータ・ブ
ロックは、データベース管理システム26のデータ・バ
ッファ261上に保持されるので、データベースに対す
る平均アクセス時間が短くできる。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】この発明は、コンピュータシステ
ムに関し、特にデータベース管理システムを動作させる
オペレーティングシステムの主記憶管理技術に関する。
【0002】
【従来の技術】従来、オペレーティングシステムではデ
ィスクなどの補助記憶にあるファイルからデータ・ブロ
ックを主記憶のメモリに読み出す動作の高速化を図るた
めに、メモリの一部をバッファ・キャッシュと呼ばれる
バッファ領域にしている。
【0003】一旦ディスクからバッファ・キャッシュへ
読み出されたブロックは、他のブロックによりその領域
を奪われない限り、バッファ・キャッシュ内に留まる。
したがって、そのブロックをもう一度読む場合には、デ
ィスクからではなくメモリのバッファ・キャッシュから
読むことになり、高速なアクセスが実現できることにな
る。
【0004】例えば、図9に示すように、従来のコンピ
ュータシステム11で、ディスク装置14上のファイル
142からデータを読み出す2つのプロセス17,18
が実行されている場合を考える。プロセス17がファイ
ル142からデータを読み出そうとすると、オペレーテ
ィングシステム15はそのデータが格納されているデー
タ・ブロックGをディスク装置14からバッファ・キャ
ッシュ151へ読み出し、プロセス17へデータを返
す。プロセス17の実行が終了しても、バッファ・キャ
ッシュ151にデータ・ブロックGが保持されていれ
ば、プロセス18が同じデータを読み出そうとする場合
には、そのデータを含むデータ・ブロックをディスク装
置14から読み出す必要はない。つまり、2回のデータ
の読み出しに対して、ディスク装置14へのアクセスは
1回で済むことになる。
【0005】バッファ・キャッシュ151の領域が大き
いほど、バッファ・キャッシュ151内に保持できるブ
ロック数を多くできるので、ディスク装置14からブロ
ックを読み出す動作の回数を相対的に少なくでき、平均
アクセス時間を短くできる。一方、バッファ・キャッシ
ュ151の領域を大きくし過ぎると、ユーザ・プロセス
の使用可能なメモリ13の領域が小さくなり、最悪の場
合には実行可能状態のユーザ・プロセスのスワップ・ア
ウト、スワップ・インが繰り返されることになる。
【0006】また、従来のデータベース管理システム1
6は、高速なデータ・アクセスを実現するため、および
ディスク装置14への同期的な書き込みを制御するため
に、メモリ13にデータ・ブロック(オペレーティング
・システムの複数のデータ・ブロックからなる)を保持
するためのデータ・バッファ161と呼ばれる領域を確
保する。このデータ・バッファ16は、上記のオペレー
ティング・システム15のバッファ・キャッシュ151
とは異なるものである。
【0007】データベース管理システム16は、オペレ
ーティング・システム15の観点からはユーザ・プロセ
スであり、データベース管理システム16のディスク装
置14へのアクセスは、バッファ・キャッシュ151を
介して行われる。つまり、データベース管理システム1
6が、データベース141のある部分のデータ・ブロッ
クをデータ・バッファ161に読み出そうとすると、オ
ペレーティング・システム15はバッファ・キャッシュ
151にそのデータ・ブロックを構成する複数のブロッ
クを読み出すことになり、データ・バッファ161とバ
ッファ・キャッシュ151に同じデータ・ブロックを重
複して持つことになる。
【0008】例えば、図9に示すように、データベース
管理システム16が1つのデータ・ブロックXを読み出
そうとすると、オペレーティング・システム15が、そ
のデータ・ブロックに含まれる6つのブロックA〜Fを
バッファ・キャッシュ151へ読み出し、それをデータ
ベース管理システム16へ返す。データベース管理シス
テム16は読み出したデータ・ブロックをデータ・バッ
ファ161に保持する。バッファ・キャッシュ151に
読み出された6つのブロックのうち追い出されるブロッ
クもあるが、バッファ・キャッシュ151に留まるブロ
ックもある。図9では、データベース管理システム16
のデータ・バッファ161とオペレーティング・システ
ム15のバッファ・キャッシュ151で、データ・ブロ
ックA,B,D,Eを重複して保持している。メモリ容
量は有限であるので、このようなメモリの使い方は非効
率的であると言える。
【0009】つまり、このようなオペレーティング・シ
ステム15のバッファ・キャッシュ151とデータベー
ス管理システム16のデータ・バッファ161のサイズ
を調整し、メモリ13を効率的に使う必要がある。しか
し、従来は、そのような制御はなされておらず、バッフ
ァ・キャッシュ151およびデータ・バッファ161の
サイズ調整を自動的に行うことはできなかった。
【0010】
【発明が解決しようとする課題】従来では、データベー
ス管理システムを稼働しているときには、オペレーティ
ング・システムのバッファ・キャッシュとデータベース
管理システムのデータ・バッファには、データベースの
同じデータ・ブロックを重複して持つことが多くなり、
有限なメモリが無駄に使用される欠点があった。この場
合には、データベース管理システムのデータ・バッファ
を大きくして、オペレーティング・システムのバッファ
・キャッシュを小さくするという手段が有効である。し
かし、オペレーティング・システムのバッファ・キャッ
シュを小さくすると、データベース管理システム以外の
他のプロセスによるディスクの平均アクセス時間が大き
くなる。また、データベース管理システムのバッファ・
キャッシュを大きくし過ぎると、ユーザ・プロセスの使
用可能なメモリの領域が小さくなり、最悪の場合には実
行可能状態のユーザ・プロセスのスワップ・アウト、ス
ワップ・インが繰り返されることになる。したがって、
システムの状況に応じて、バッファ・キャッシュとデー
タ・バッファのサイズをどのように調整するかというこ
とが課題となる。
【0011】この発明はこのような点に鑑みてなされた
もので、各プロセスの動作状況に応じてバッファ・キャ
ッシュとデータ・バッファのサイズを自動的に調整でき
るようにし、主記憶のメモリ資源を有効利用することが
できるコンピュータシステムを提供することを目的とす
る。
【0012】
【課題を解決するための手段および作用】この発明は、
補助記憶装置と、実行対象の各種プロセスがロードされ
る主記憶装置と、この主記憶装置上に割り当てられ、前
記各プロセスによって要求された前記補助記憶装置のフ
ァイルデータを一時的に保持するキャッシュ領域と、前
記主記憶装置上にロードされたプロセスのうちデータベ
ース操作を行うプロセスによって要求された前記補助記
憶装置上のデータベースのデータを一時的に保持するデ
ータバッファ領域と、前記各プロセスをスワッピング操
作するスワッピング手段とを有するコンピュータシステ
ムにおいて、前記主記憶上の各種プロセスのプロセッサ
使用率に基づいて優先処理すべきプロセスを決定する手
段と、優先処理すべきプロセスが前記データベースのデ
ータをアクセスするプロセスの時には前記データバッフ
ァ領域のサイズが拡大され、優先処理すべきプロセスが
前記ファイルデータをアクセスするプロセスの時には前
記キャッシュ領域のサイズが拡大されるように、優先処
理すべきプロセスに応じて前記キャッシュ領域およびデ
ータバッファ領域それぞれのサイズを調整する手段とを
具備することを特徴とするコンピュータシステム。
【0013】このコンピュータシステムにおいては、プ
ロセッサ利用率によってシステム内のプロセスの状態が
管理され、その管理情報に応じて優先処理すべきプロセ
スが決定され、そのプロセス種類に応じてキャッシュ領
域とデータバッファのサイズがそれぞれ動的に変更され
る。例えば、データベースをアクセスするプロセスを優
先処理する場合には、データバッファが大きくされ、キ
ャッシュが小さくされる。これにより、データベースの
多数のデータ・ブロックは、データバッファ上に保持さ
れるので、データベースに対する平均アクセス時間が短
くなり、データベースにアクセスするプロセスの実行時
間が短くなるとともに、スループットも高くなる。
【0014】また、このとき、もし通常のファイルにア
クセスするプロセスも多数実行可能な状態ならば、キャ
ッシュも大きくされ、それらのプロセスの実行時間が短
くなり、スループットも高くなる。この場合、データ・
バッファあるいはバッファ・キャッシュは、実行可能な
状態のユーザ・プロセスがスワップ・アウトされ、すぐ
にスワップ・インされるような状態にならない限界のと
ころまで大きくする事が好ましい。これにより、システ
ム全体の性能を高くできる。
【0015】
【実施例】以下、図面を参照してこの発明の実施例を説
明する。図1には、この発明の一実施例に係るコンピュ
ータシステムの構成が示されている。このコンピュータ
システム21は、CPUとして機能するプロセッサ2
2、主記憶として機能するメモリ23、および補助記憶
装置として機能するディスク装置24を備えている。メ
モリ23には、オペレーティングシステム25、および
このオペレーティングシステム25の管理下で実行され
る各種プロセスがロードされて格納されている。これら
プロセスは、ディスク装置24上のデータベースを扱う
プロセス、ディスク装置24上のファイルをアクセスす
るプロセス、およびディスク装置24上のデータベース
やファイルをアクセスしないプロセスに大別される。
【0016】ここでは、データベースを扱うプロセスと
してデータベース管理システム26、ディスク装置24
上のデータベースやファイルをアクセスしないプロセス
としてプロセス27、およびディスク装置24上のファ
イルのみをアクセスするプロセスとしてプロセス28が
代表して示されている。
【0017】データベース管理システム26は、高速な
データ・アクセスを実現するため、およびディスク装置
24への同期的な書き込みを制御するために、メモリ2
3にデータ・ブロックを保持するためのデータ・バッフ
ァ261を確保する。データベース管理システム26
は、オペレーティング・システム25から見るとユーザ
・プロセスであり、データベース管理システム26のデ
ィスク装置24へのアクセスは、オペレーティング・シ
ステム25のバッファ・キャッシュ251を介して行わ
れる。
【0018】つまり、データベース管理システム26
が、データベースのある部分のデータ・ブロックをデー
タ・バッファ261に読み出そうとすると、オペレーテ
ィング・システム25はバッファ・キャッシュ251に
そのデータ・ブロックを構成する複数のブロックを読み
出し、そしてそれをデータベース管理システム26に渡
す。この結果、バッファ・キャッシュ251とデータバ
ッファ261には、その一部に同一のデータブロックが
重複して保持されることになる。
【0019】プロセス27は、ディスク装置24をアク
セスしないため、オペレーティング・システム25のバ
ッファ・キャッシュ251は利用しない。プロセス28
は、ディスク装置24のファイルをオペレーティング・
システム25のバッファ・キャッシュ251を介してア
クセスする。すなわち、プロセス28がディスク装置2
4のファイルからデータを読み出そうとすると、オペレ
ーティングシステム25はそのデータが格納されている
データ・ブロックをディスク装置24からバッファ・キ
ャッシュ251へ読み出し、プロセス27へデータを返
す。プロセス27あるいは他のプロセスが同じデータを
読み出そうとする場合には、そのデータを含むデータ・
ブロックがバッファ・キャッシュ251から読み出さ
れ、ディスク装置24のアクセスは実行されない。
【0020】オペレーティング・システム25は、デー
タベース管理システム26、プロセス27,28とこの
コンピュータシステムのハードウェア資源との間に位置
してそれらプロセスの動作を管理する。このオペレーテ
ィング・システム25には、メモリ23を管理するため
の主記憶管理機能が設けられている。主記憶管理機能に
は、前述のバッファ・キャッシュ251を利用したキャ
ッシュ機能、およびスワッピング機能がある。スワッピ
ング機能は、主記憶となるメモリ23の有効利用のため
に、多重プログラミングされたユーザ・プロセス(デー
タベース管理システム26、プロセス27,28など)
についてディスク装置24との間でプロセス(ジョブ)
の出し入れを行う機能であり、並行処理対象のプロセス
が増加してメモリ23の空き領域が不足するとスワップ
・アウト、スワップ・インが行われる。
【0021】さらに、オペレーティング・システム25
には、バッファキャッシュ251およびデータバッファ
261のサイズをシステム状態に応じて動的に変更する
ために、プロセス監視部301、バッファ監視部30
2、およびバッファサイズ調整部303が設けられてい
る。
【0022】プロセス監視部301は、ユーザ・プロセ
スを、データベースアクセスに関係するプロセス(ここ
では、データベース管理システム26、あるいはそれに
接続する他のプロセス)、通常のファイルにアクセスす
るプロセス(ここでは、プロセス28)、ファイルにア
クセスしないプロセス(ここでは、プロセス27)に分
類し、それぞれのプロセスについてプロセッサ22の使
用率と、実行可能状態あるいはディスク入出力待ち状態
であるにも関わらずスワップ・アウトされるプロセス
を、20秒単位でバッファ・サイズ調整部303に通知
する。
【0023】バッファ監視部302は、バッファ・キャ
ッシュ251とデータ・バッファ261それぞれに対す
る入出力動作を監視し、ヒット率を20秒ごとにバッフ
ァ・サイズ調整部303に通知する。ここで、ヒット率
とは、あるデータ・ブロックを読み出すときに、そのデ
ータ・ブロックがバッファ領域(バッファ・キャッシュ
251あるいはデータ・バッファ261)に保持されて
いる割合のことである。バッファ領域が大きければ大き
いほど、それに対するヒット率は高くなり、平均読み出
し時間は短くなる。
【0024】バッファ・サイズ調整部303は、プロセ
ス監視部301とバッファ監視部302から情報を受け
取り、オペレーティング・システム25のバッファ・キ
ャッシュ251とデータベース管理システム26のデー
タ・バッファ261のサイズを調整する。
【0025】以下、図2〜図8のフローチャートを参照
して、バッファサイズの調整動作を説明する。ここで
は、3種類のプロセス(データベース管理システム2
6、プロセス27、プロセス28)それぞれのプロセッ
サ使用率の高低に応じて、動作を分類して説明する。
【0026】プロセッサ使用率の高低の基準は、次の通
りである。すなわち、バッファ・サイズ調整部303
は、プロセス監視部301から受け取った3種類のプロ
セスのプロセッサ使用率を比較し、30%以上のプロセ
ッサ使用率を持つプロセスをプロセッサ使用率の高いプ
ロセス、それ以外のプロセスをプロセッサ使用率の低い
プロセスと判断する。
【0027】例えば、データベース管理システム26あ
るいはそれに接続するプロセスのプロセッサ使用率が7
0%であり、それ以外のプロセスが動いていなければ、
データベース管理システム26あるいはそれに接続する
プロセスだけプロセッサ使用率が高い状態となる。
【0028】また、バッファ・サイズ調整部303は、
プロセス監視部301から、実行可能状態あるいはディ
スク入出力待ち状態であるにも関わらずスワップ・アウ
トされるプロセスを通知されると、そのプロセスがスワ
ップ・アウトされなくなるまで、図2から図8に示した
フローにしたがってバッファ・キャッシュあるいはデー
タ・バッファを5%づつ小さくしていく。
【0029】また、バッファ・サイズ調整部303は、
バッファ監視部手段302から通知されたそれぞれのバ
ッファにおけるヒット率に基づき、バッファ・キャッシ
ュ251についてはヒット率が90%以上のとき、デー
タ・バッファ261についてはヒット率が70%以上の
とき、それぞれのバッファのヒット率が高いと判定す
る。また、それぞれ90%未満、70%未満のとき、そ
のバッファのヒット率が低いと判定し、図2から図8に
示したフローにしたがってバッファ・キャッシュ251
あるいはデータ・バッファ261を10%大きくする。
ただし、バッファのサイズが1Mバイト未満になった場
合には、そのバッファのサイズをそれ以上小さくしな
い。また、メモリ23の空き領域が全体の10%以下に
なった場合には、それ以上バッファを大きくしない。
【0030】図2は、データベース管理システム26と
それに接続するプロセスだけプロセッサ使用率が高い場
合の処理フローである。この場合には、データベース管
理システム26を高速に動作させる必要があるので、デ
ータ・バッファ261を大きくして、そのヒット率を高
くする。しかし、データ・バッファ261を大きくし過
ぎると、メモリ23の余裕がなくなり、実行可能状態の
プロセスがスワップ・アウトされることになる。その場
合には、データベース管理システム26にとっては無駄
な領域であるバッファ・キャッシュ251を小さくし
て、ユーザ・プロセスの使用可能なメモリ領域を大きく
する。それでも駄目ならば、データ・バッファ261を
小さくしてスワップ・アウトが起こらないようにする必
要がある。
【0031】すなわち、バッファ・サイズ調整部303
は、データバッファ261のヒット率が70%以上か否
かを判断し(ステップS11)、ヒット率が高い場合
(ヒット率=70%以上)にはバッファサイズの調整は
行わずに、そのまま処理を終了する。一方、ヒット率が
低い場合(ヒット率=70%未満)には、バッファ・サ
イズ調整部303は、メモリ23の空き領域が全体の1
0%以上あれば(ステップS12)、データバッファ2
61のサイズを10%大きくする(ステップS13)。
プロセスのスワップアウトが通知されない限り、ステッ
プS11〜S14が繰り返し実行され、データバッファ
261のヒット率が70%以上になるまで、データバッ
ファ261のサイズが10%ずつ増加される。
【0032】もしスワップアウトが発生したならば(ス
テップS24)、バッファ・サイズ調整部303は、バ
ッファ・キャッシュ251のサイズが1Mバイト未満に
なるまでは、バッファ・キャッシュ251のサイズを5
%ずつ小さくする(ステップS15、S16)。スワッ
プアウトが発生しなくなるか、バッファ・キャッシュ2
51のサイズが1Mバイト未満になるまで、ステップS
15が繰り返し実行される。
【0033】バッファ・キャッシュ251のサイズが1
Mバイト未満になると、今度は、バッファ・サイズ調整
部303は、スワップアウトが発生しなくなるまで、デ
ータ・バッファ261を5%ずつ小さくする(ステップ
S17)。
【0034】図3は通常のファイルにアクセスするプロ
セス28だけプロセッサ使用率が高い場合の処理フロー
である。この場合には、図2の場合と逆にバッファ・キ
ャッシュ251をできるだけ大きく、データ・バッファ
261をできるだけ小さくし、しかもスワップ・アウト
が起こらないようにするという方針をとる。
【0035】すなわち、バッファ・サイズ調整部303
は、バッファ・キャッシュ261のヒット率が90%以
上か否かを判断し(ステップS21)、ヒット率が高い
場合(ヒット率=90%以上)にはバッファサイズの調
整は行わずに、そのまま処理を終了する。一方、ヒット
率が低い場合(ヒット率=90%未満)には、バッファ
・サイズ調整部303は、メモリ23の空き領域が全体
の10%以上あれば(ステップS22)、バッファ・キ
ャッシュ251のサイズを10%大きくする(ステップ
S23)。プロセスのスワップアウトが通知されない限
り、ステップS21〜S24が繰り返し実行され、バッ
ファ・キャッシュ251のヒット率が90%以上になる
まで、バッファ・キャッシュ251のサイズが10%ず
つ増加される。
【0036】もしスワップアウトが発生したならば(ス
テップS24)、バッファ・サイズ調整部303は、デ
ータ・バッファ261のサイズが1Mバイト未満になる
までは、データ・バッファ261のサイズを5%ずつ小
さくする(ステップS25、S26)。スワップアウト
が発生しなくなるか、データ・バッファ261のサイズ
が1Mバイト未満になるまで、ステップS25が繰り返
し実行される。
【0037】データ・バッファ261のサイズが1Mバ
イト未満になると、今度は、バッファ・サイズ調整部3
03は、スワップアウトが発生しなくなるまで、バッフ
ァ・キャッシュ251を5%ずつ小さくする(ステップ
S27)。
【0038】図4はファイルにアクセスしないプロセス
27だけプロセッサ使用率が高い場合の処理フローであ
る。この場合には、バッファ領域をできるだけ小さくし
て、プロセスのスワップ・アウトを防ぐ必要がある。
【0039】すなわち、バッファ・サイズ調整部303
は、スワップアウトの発生の有無を判断し(ステップS
31)、スワップアウトが発生してなければ、バッファ
サイズを調整せずにそのまま処理を終了する。一方、ス
ワップアウトが発生していれば、バッファ・サイズ調整
部303は、データ・バッファ261のサイズが1Mバ
イト未満になるまでは、データ・バッファ261のサイ
ズを5%ずつ小さくする(ステップS325、S3
3)。スワップアウトが発生しなくなるか、データ・バ
ッファ261のサイズが1Mバイト未満になるまで、ス
テップS32が繰り返し実行される。
【0040】データ・バッファ261のサイズが1Mバ
イト未満の状態でスワップアウトが発生すると(ステッ
プS34)、今度は、バッファ・サイズ調整部303
は、バッファ・キャッシュ251を5%ずつ小さくする
(ステップS27)。スワップアウトが発生しなくなる
か、バッファ・キャッシュ251のサイズが1Mバイト
未満になるまで、ステップS36が繰り返し実行され
る。
【0041】図5はデータベース管理システム26とそ
れに接続するプロセス、さらに通常のファイルにアクセ
スするプロセス28のプロセッサ使用率が共に高い場合
の処理フローである。
【0042】この場合には、データベース管理システム
26に関連するプロセス、通常のファイルにアクセスす
るプロセス28のどちらを優先するかにより、方針が異
なる。
【0043】図5は、データベース管理システム26の
ほうを優先する場合のフローである。ここでは、プロセ
スのスワップ・アウトが起こらない範囲で、データ・バ
ッファ、バッファ・キャッシュの順にそのサイスを大き
くする方針である。
【0044】すなわち、バッファ・サイズ調整部303
は、データバッファ261のヒット率が70%以上か否
かを判断し(ステップS41)、ヒット率が高い場合
(ヒット率=70%以上)にはデータバッファ261の
調整は行わずに、バッファ・キャッシュ251のバッフ
ァサイズ調整ルーチンに移行する。一方、ヒット率が低
い場合(ヒット率=70%未満)には、バッファ・サイ
ズ調整部303は、メモリ23の空き領域が全体の10
%以上あれば(ステップS42)、データバッファ26
1のサイズを10%大きくする(ステップS43)。プ
ロセスのスワップアウトが通知されない限り、ステップ
S41〜S44が繰り返し実行され、データバッファ2
61のヒット率が70%以上になるまで、データバッフ
ァ261のサイズが10%ずつ増加される。
【0045】もしスワップアウトが発生したならば(ス
テップS44)、バッファ・サイズ調整部303は、バ
ッファ・キャッシュ251のサイズが1Mバイト未満に
なるまでは、バッファ・キャッシュ251のサイズを5
%ずつ小さくする(ステップS45、S46)。スワッ
プアウトが発生しなくなるか、バッファ・キャッシュ2
51のサイズが1Mバイト未満になるまで、ステップS
45が繰り返し実行される。
【0046】バッファ・キャッシュ251のサイズが1
Mバイト未満になると、今度は、バッファ・サイズ調整
部303は、スワップアウトが発生しなくなるまで、デ
ータ・バッファ261を5%ずつ小さくする(ステップ
S47)。
【0047】データバッファ261のヒット率が70%
以上になると、バッファ・サイズ調整部303は、バッ
ファ・キャッシュ261のヒット率が90%以上か否か
を判断し(ステップS48)、ヒット率が高い場合(ヒ
ット率=90%以上)にはバッファサイズの調整は行わ
ずに、そのまま処理を終了する。一方、ヒット率が低い
場合(ヒット率=90%未満)には、バッファ・サイズ
調整部303は、メモリ23の空き領域が全体の10%
以上あれば(ステップS49)、バッファ・キャッシュ
251のサイズを10%大きくする(ステップS5
0)。プロセスのスワップアウトが通知されない限り、
ステップS48〜S50が繰り返し実行され、バッファ
・キャッシュ251のヒット率が90%以上になるま
で、バッファ・キャッシュ251のサイズが10%ずつ
増加される。
【0048】もしスワップアウトが発生したならば(ス
テップS51)、バッファ・キャッシュ251を10%
小さくする(ステップS52)。図6はデータベース管
理システム26とそれに接続するプロセス、およびファ
イルにアクセスしないプロセス27のプロセッサ使用率
が高い場合のフローである。この場合は、図2のフロー
と全く同様の処理が行われる。
【0049】図7はデータベース管理システム以外のプ
ロセスのプロセッサ使用率が高い場合の処理フローであ
る。この場合は、図3のフローと全く同様の処理が行わ
れる。
【0050】図8はすべてプロセスのプロセッサ使用率
が高い場合である。この場合は、図5の場合と同じよう
にどのプロセスを優先するかにより、方針が異なる。デ
ータベース管理システム26を優先させる場合には、図
5のフローと全く同様の処理が行われる。
【0051】以上のように、この実施例においては、プ
ロセッサ利用率、スワッピングの有無、およびバッファ
ヒット率を監視することによってシステム内のプロセス
の状態を管理し、その管理情報に応じてバッファ・キャ
ッシュ251とデータ・バッファ261のサイズが動的
に変更される。
【0052】したがって、例えばデータベースにアクセ
スするプロセスが多数実行可能な状態の時などのように
データベース管理システム26のプロセッサ使用率のみ
が高い場合には、データベース管理システム26のデー
タ・バッファ261が大きくされ、オペレーティング・
システム25のバッファ・キャッシュ251が小さくさ
れる。これにより、データベースの多数のデータ・ブロ
ックは、データベース管理システム26のデータ・バッ
ファ261上に保持されるので、データベースに対する
平均アクセス時間が短くなり、データベースにアクセス
するプロセスの実行時間が短くなるとともに、スループ
ットを高くできる。
【0053】
【発明の効果】以上説明したように、この発明によれ
ば、実行可能なプロセスをスワップ・アウトすることな
く、データベース管理システムの負荷が高い場合にはデ
ータ・バッファを大きくして処理性能を高めるられ、通
常のファイルにアクセスするプロセスが多い場合にはバ
ッファ・キャッシュを大きくして平均アクセス時間を短
くするといった主記憶管理を行うことができる。
【図面の簡単な説明】
【図1】この発明の一実施例に係わるコンピュータシス
テムの構成を示すブロック図。
【図2】同実施例においてデータベース管理システムと
それに接続するプロセスだけがプロセッサ使用率が高い
場合のバッファサイズ変更処理を説明するフローチャー
ト。
【図3】同実施例において通常のファイルにアクセスす
るプロセスだけがプロセッサ使用率が高い場合のバッフ
ァサイズ変更処理を説明するフローチャート。
【図4】同実施例においてファイルにアクセスしないプ
ロセスだけがプロセッサ使用率が高い場合のバッファサ
イズ変更処理を説明するフローチャート。
【図5】同実施例においてデータベース管理システムと
それに接続するプロセスおよび通常のファイルにアクセ
スするプロセスのプロセッサ使用率が高い場合のバッフ
ァサイズ変更処理を説明するフローチャート。
【図6】同実施例においてデータベース管理システムと
それに接続するプロセスおよびファイルにアクセスしな
いプロセスのプロセッサ使用率が高い場合のバッファサ
イズ変更処理を説明するフローチャート。
【図7】同実施例においてデータベース管理システム以
外のプロセスのプロセッサ使用率が高い場合のバッファ
サイズ変更処理を説明するフローチャート。
【図8】同実施例においてすべてのプロセスのプロセッ
サ使用率が高い場合のバッファサイズ変更処理を説明す
るフローチャート。
【図9】従来のコンピュータシステムにおける主記憶管
理の様子を示すブロック図。
【符号の説明】
21…コンピュータシステム、22…プロセッサ、23
…メモリ、24…ディスク装置、25…オペレーティン
グシステム、26…データベース管理システム、27,
28…プロセス、251…バッファキャッシュ、261
…データバッファ、301…プロセス監視部301、3
02…バッファ監視部、303…バッファサイズ調整
部。

Claims (4)

    【特許請求の範囲】
  1. 【請求項1】 補助記憶装置と、実行対象の各種プロセ
    スがロードされる主記憶装置と、この主記憶装置上に割
    り当てられ、前記各プロセスによって要求された前記補
    助記憶装置のファイルデータを一時的に保持するキャッ
    シュ領域と、前記主記憶装置上にロードされたプロセス
    のうちデータベース操作を行うプロセスによって要求さ
    れた前記補助記憶装置上のデータベースのデータを一時
    的に保持するデータバッファ領域と、前記主記憶装置上
    のプロセスをスワッピング操作するスワッピング手段と
    を有するコンピュータシステムにおいて、 前記主記憶上の各種プロセスのプロセッサ使用率に基づ
    いて優先処理すべきプロセスを決定する手段と、 優先処理すべきプロセスが前記データベースのデータを
    アクセスするプロセスの時には前記データバッファ領域
    のサイズが拡大され、優先処理すべきプロセスが前記フ
    ァイルデータをアクセスするプロセスの時には前記キャ
    ッシュ領域のサイズが拡大されるように、優先処理すべ
    きプロセスに応じて前記キャッシュ領域およびデータバ
    ッファ領域それぞれのサイズを調整する手段とを具備す
    ることを特徴とするコンピュータシステム。
  2. 【請求項2】 補助記憶のデータを一時的に保持するた
    めのバッファ領域を主記憶上に確保し、補助記憶からそ
    の領域へデータを読み出す、あるいはその領域から補助
    記憶へデータを書き込む機構を有するオペレーティング
    システムによって動作管理されるコンピュータシステム
    において、 主記憶上に独自のバッファ領域を持ち、その領域へ補助
    記憶にあるデータベースのデータを読み出すデータベー
    ス管理システムを動作させる際、前記オペレーティング
    システムの管理下で動作するプロセスの中でデータベー
    スにアクセスするプロセス、データベース以外のファイ
    ルにアクセスするプロセス、それ以外のプロセスそれぞ
    れについての動作状況、動作中のプロセスのスワップア
    ウトの有無、および前記2種類のバッファ領域に対する
    入出力動作を監視する手段と、 この監視手段による監視情報に基づいて、オペレーティ
    ングシステムとデータベース管理システムのバッファ領
    域の大きさを調整する手段とを具備することを特徴とす
    るコンピュータシステム。
  3. 【請求項3】 データベースにアクセスするプロセスだ
    けを動作させる際、あるいはそのようなプロセスを他の
    プロセスよりも優先的に動作させる際には、それらのプ
    ロセスが動作中にスワップアウトされないという制約の
    もとで、データベース管理システムのバッファ領域を大
    きくし、オペレーティングシステムのバッファ領域を小
    さくすることを特徴とする請求項2記載のコンピュータ
    システム。
  4. 【請求項4】 データベース以外のファイルにアクセス
    するプロセスだけを動作させる際、あるいはそのような
    プロセスを他のプロセスよりも優先的に動作させる際に
    は、それらのプロセスが動作中にスワップアウトされな
    いという制約のもとで、オペレーティングシステムのバ
    ッファ領域を大きくし、データベース管理システムのバ
    ッファ領域を小さくすることを特徴とする請求項2記載
    のコンピュータシステム。
JP5238639A 1993-09-27 1993-09-27 コンピュータシステム Pending JPH0793198A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP5238639A JPH0793198A (ja) 1993-09-27 1993-09-27 コンピュータシステム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP5238639A JPH0793198A (ja) 1993-09-27 1993-09-27 コンピュータシステム

Publications (1)

Publication Number Publication Date
JPH0793198A true JPH0793198A (ja) 1995-04-07

Family

ID=17033133

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5238639A Pending JPH0793198A (ja) 1993-09-27 1993-09-27 コンピュータシステム

Country Status (1)

Country Link
JP (1) JPH0793198A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010073124A (ja) * 2008-09-22 2010-04-02 Nec Corp 命令制御回路、命令制御方法、および情報処理装置
JP2013524304A (ja) * 2010-09-10 2013-06-17 株式会社日立製作所 ストレージシステム及びストレージシステムのデータ転送方法
CN107305531A (zh) * 2016-04-20 2017-10-31 广州市动景计算机科技有限公司 缓存容量限值确定方法和装置以及计算设备
US20230057160A1 (en) * 2020-08-25 2023-02-23 Servicenow, Inc. Automated database cache resizing

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010073124A (ja) * 2008-09-22 2010-04-02 Nec Corp 命令制御回路、命令制御方法、および情報処理装置
JP2013524304A (ja) * 2010-09-10 2013-06-17 株式会社日立製作所 ストレージシステム及びストレージシステムのデータ転送方法
US8782337B2 (en) 2010-09-10 2014-07-15 Hitachi, Ltd. Storage system and data transfer method of storage system
CN107305531A (zh) * 2016-04-20 2017-10-31 广州市动景计算机科技有限公司 缓存容量限值确定方法和装置以及计算设备
CN107305531B (zh) * 2016-04-20 2020-10-16 阿里巴巴(中国)有限公司 缓存容量限值确定方法和装置以及计算设备
US20230057160A1 (en) * 2020-08-25 2023-02-23 Servicenow, Inc. Automated database cache resizing
US12079189B2 (en) * 2020-08-25 2024-09-03 Servicenow, Inc. Automated database cache resizing

Similar Documents

Publication Publication Date Title
US5537635A (en) Method and system for assignment of reclaim vectors in a partitioned cache with a virtual minimum partition size
US6948033B2 (en) Control method of the cache hierarchy
US5983293A (en) File system for dividing buffer areas into different block sizes for system and user data
US6665740B1 (en) Logical volume selection in a probability-based job scheduler
US7024512B1 (en) Compression store free-space management
US6904470B1 (en) Device selection by a disk adapter scheduler
US6857047B2 (en) Memory compression for computer systems
JPH0659982A (ja) 仮想記憶制御方法および装置
JPH0315957A (ja) コンピュータ・システム
JPH08129457A (ja) 外部記憶ストラクチャを拡大、縮小、及び再配分するための方法及び装置
US20080235696A1 (en) Access control apparatus and access control method
JP2005293205A (ja) 記憶制御装置、制御方法、および制御プログラム。
US6631446B1 (en) Self-tuning buffer management
US7370217B2 (en) Regulating file system device access
JPH0793198A (ja) コンピュータシステム
JP6194875B2 (ja) キャッシュ装置、キャッシュシステム、キャッシュ方法、及びキャッシュプログラム
JP3793682B2 (ja) コマンドキューイングの機能を持つ記憶装置
JP2001290704A (ja) マルチプロセス制御装置及びマルチプロセス制御方法
JPH05216760A (ja) 計算機システム
JPH06266619A (ja) ページ退避/復元装置
US7853771B2 (en) Page allocation management for virtual memory
JP3772003B2 (ja) メモリ管理システムおよびデータ管理方法
JP2591782B2 (ja) 補助記憶装置に対する入出力の負荷分散制御方式
JP3022829B2 (ja) 記憶装置の自動割り当て装置
JPH04134523A (ja) キャッシュ制御方法