JPH07262079A - バッファ再割当システム - Google Patents

バッファ再割当システム

Info

Publication number
JPH07262079A
JPH07262079A JP6046193A JP4619394A JPH07262079A JP H07262079 A JPH07262079 A JP H07262079A JP 6046193 A JP6046193 A JP 6046193A JP 4619394 A JP4619394 A JP 4619394A JP H07262079 A JPH07262079 A JP H07262079A
Authority
JP
Japan
Prior art keywords
buffer
buffers
acquisition
time
storage means
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
JP6046193A
Other languages
English (en)
Inventor
Keizo Hirano
景三 平野
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 JP6046193A priority Critical patent/JPH07262079A/ja
Priority to US08/297,621 priority patent/US5640604A/en
Publication of JPH07262079A publication Critical patent/JPH07262079A/ja
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/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • G06F9/5016Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy
    • G06F11/0754Error or fault detection not based on redundancy by exceeding limits
    • G06F11/076Error or fault detection not based on redundancy by exceeding limits by exceeding a count or rate limit, e.g. word- or bit count limit
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring
    • G06F11/3476Data logging
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3409Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/81Threshold
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/88Monitoring involving counting

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Memory System (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

(57)【要約】 【目的】 本発明の目的は、バッファ不足によるシステ
ム障害や性能問題を解決できるように最適なバッファ数
を決定することができるバッファ再割当システムを提供
することである。 【構成】 本発明は、初期立ち上げ時にバッファをバッ
ファ格納領域より初期獲得し、バッファ使用要求プログ
ラムに対して割り付けたバッファを監視することによ
り、バッファ量が所定の閾値より少なくなった場合に
は、再度バッファの割り当てを行う。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、バッファ再割当システ
ムに係り、特に、バッファを使用するシステムにおい
て、使用するバッファ数を設定する場合に、処理実行の
ために適正化されたバッファ数を確保するためのバッフ
ァ再割当システムに関する。
【0002】近年、システム内のソフトウェアの規模が
拡大し、物理的に限定されているメモリ資源をより有効
に使用することが求められている。例えば、空いている
メモリ資源がある場合には、使用頻度の高いソフトウェ
アに割り当てる等の方法により遊休する無駄な資源を減
少させ、使用頻度が高いソフトウェアのために新たにメ
モリ資源の増設を行わなくてもよいようなシステムが望
まれている。
【0003】
【従来の技術】従来、バッファ数を決定する作業は、一
般的に、設計者の経験則やシステムでの計算値により設
計者が処理能力、処理時間及び処理要求等により適当な
バッファ数を計算等やソフトウェアにおいて予測するこ
とにより固定的に決定されている。このようにバッファ
数が設定されている場合に、試験時またはバッファ不足
による障害発生時には、ソフトウェアを変更することに
よりバッファを設定しなおして対処する。
【0004】また、バッファの使用率を監視し、使用率
が予めシステム初期化時に設定されたバッファ使用閾値
を越えた場合に、オペレータコンソールにその旨を警告
として表示することにより、システムの性能低下を防止
する方法がある(特開平1−295300)。
【0005】また、バッフの使用数が閾値の上限を越え
た場合にフラグを用いてシステムに通知し、処理するデ
ータを間引くことによりバッファ使用数を閾値以下に抑
える(特開平2−14644)、または、優先度の低い
処理を停止したり、他の記憶手段にデータを一時退避す
ることにより記憶容量の低減や過負荷を抑止する方法が
ある(特願平4−225377)。
【0006】
【発明が解決しようとする課題】しかしながら、上記従
来の方法は、一般的には、設計者の経験則に頼ることが
多く、過去のバッファ計算の結果に基づいてバッファ量
の増減を設定するために設計者個人のスキルに依る部分
が大きい。
【0007】また、計算やソフトウェアによりバッファ
数を決定する方法では、当初より正確にバッファ数を割
り出すことは困難であり、求められたバッファ数で固定
的にシステムに設定するために、ソフトウェアの実行時
にバッファ不足によりシステムダウンが生じたり、バッ
ファ獲得待ちのための無処理時間の増加等がある。ま
た、原因が分からずにシステムダウンした場合に、バッ
ファ数の不足が原因であるという結論に達するまでの測
定時間が長く、バッファ数の不足を補うためにはさらに
再獲得時間を要することになる。
【0008】また、所定の閾値を越えた場合にオペレー
タに対して警告を表示する方法は、単にオペレータに通
知しているだけであるので、上記のバッファ数が原因で
システムダウンするまでの測定は不要となるが、設計者
によるバッファ再獲得のための作業が必要となる。
【0009】さらに、閾値の上限を越えた場合に処理す
るデータを間引く方法は、処理すべきデータに制限を設
けることになり、統計処理等のデータ数が多くないと正
確な結果が求められないような作業に支障が発生すると
共に、どのデータを間引くかを予め決定しておかなけれ
ばならない。また、優先度の低い処理を停止したり、他
に一時的に退避させることは、当該処理の待ち時間が長
くなるためにユーザ側から見れば、処理が行われていな
いと解することにより再度実行要求を発することにな
り、システム上では待ちキューの数が増加する。
【0010】このように、従来は、有限的メモリ資源の
効率的使用が困難であり、バッファの最適数を判断する
には、バッファ不足によるシステムダウン、バッファ獲
得待ちによる獲得要求元プログラムの無処理時間の増加
等の障害が発生した上での判断とならざるを得ないとい
う問題がある。
【0011】本発明は、上記の点に鑑みなされたもの
で、設計当初のバッファ数の割当が最適ではない場合に
おけるバッファ不足によるシステム障害や性能問題を解
決できるように最適なバッファ数を決定することができ
るバッファ再割当システムを提供することを目的とす
る。
【0012】また、本発明の目的は、バッファ使用要求
プログラムにバッファが割り当てられ、処理を実行時に
よりバッファが不足した場合でもバッファを追加取得す
ることが可能なバッファ再割当システムを提供すること
である。
【0013】また、更なる本発明の目的は、システム立
ち上げ時にバッファ使用要求プログラム毎の最大使用バ
ファ数を参照することができるバッファ再割当システム
を提供することである。
【0014】
【課題を解決するための手段】図1は、本発明の原理構
成図である。
【0015】本発明の目的は、複数のバッファ使用要求
プログラム300に対してバッファを割り当てるバッフ
ァ制御装置であって、複数のバッファを有するバッファ
格納手段140と、バッファ使用要求プログラム300
からのバッファ使用要求を受け付け、バッファ格納手段
140からバッファ使用要求プログラム300に対して
バッファを引き渡すバッファ使用権受付・引渡手段13
0と、バッファ格納手段140の使用中のバッファ数と
未使用のバッファ数を監視し、バッファ使用要求プログ
ラム300からのバッファ使用要求に応じたバッファが
バッファ格納手段140に存在するかを調査し、存在す
る場合には、バッファ割当可能通知を発行し、存在しな
い場合には、他のバッファ格納手段140からバッファ
使用要求を満足するバッファを探索して割当可能通知を
発行し、バッファの割り付け後のバッファの残数を確認
し、残数が所定の値より少ない場合には、バッファ格納
手段140のうちの他の種別のバッファから獲得するバ
ッファ割当通知を発行するバッファ量監視手段110
と、バッファ量監視手段110からのバッファ割当通知
に従ってバッファ格納手段140からバッファを獲得す
るバッファ取得手段120と、バッファ取得手段120
によりバッファ使用要求プログラム300毎にバッファ
使用要求プログラム300が使用した最大バッファ数を
記憶する不揮発性書込みメモリを用いたバッファ取得履
歴蓄積手段170とを有するバッファ再割当システムに
より解決される。
【0016】また、上記の本発明のバッファ量監視手段
110は、バッファ再獲得時に、バッファ取得履歴蓄積
手段170の最大使用バッファ数を参照して最大使用バ
ッファ数を取得する通知をバッファ取得手段120に発
行する。
【0017】本発明の目的は、バッファ量監視手段11
0によりバッファの再割り当ての通知を受け取った場合
に、バッファ使用要求プログラム300がバッファ使用
要求を発行した時刻に関する履歴及び前回のバッファ使
用要求を発行した時刻との差分を保持する時間間隔テー
ブル600より、バッファ再獲得時間T0が差分tより
少ないT0<t関係になることが所定の回数連続した場
合にバッファ格納手段140よりバッファを獲得し直す
バッファ取得手段120を有するバッファ再割当シスア
テムにより解決される。
【0018】また、本発明のバッファ取得履歴蓄積手段
170は、所定の分類要素毎にバッファ使用要求プログ
ラム300が取得した最大バッファ数を蓄積する。
【0019】また、上記バッファ取得履歴蓄積手段17
0はバッファ使用要求プログラム300の分類要素とし
て時計/カレンダ機能250を用いて時間情報毎に取得
した最大バッファ数を蓄積する。
【0020】また、上記バッファ取得履歴蓄積手段17
0は、時計カレンダ機能を用いてバッファの獲得履歴を
得る。
【0021】また、上記バッファ量監視手段110は、
バッファ数の再割当後、バッファ取得履歴蓄積手段17
0の最大バッファ数と再割当したバッファ数を比較し、
再割当を行ったバッファ数の方が多い場合にはバッファ
取得履歴蓄積手段170の最大バッファ数を再割当した
バッファ数で更新する。
【0022】また、本発明のバッファ量監視手段110
は、再割り当てを行っても、バッファ数が不足する場合
には、バッファ取得履歴蓄積手段170を参照して、最
も使用頻度が少ない時刻をバッファ取得手段120にバ
ッファの取得を通知する。
【0023】
【作用】本発明は、立ち上げ当初及び電源投入時の初期
立ち上げ時にバッファを初期獲得してバッファ格納域に
格納しておき、バッファ使用要求プログラムからの要求
によりバッファ格納域より空きバッファを探して、バッ
ファの割当を行う。また、メインメモリからバッファを
獲得できない場合には、メインメモリ上の余剰領域を不
足バッファとして再獲得するか、メインメモリに余剰な
バッファが存在しない場合には、他の未使用のバッファ
をバッファ使用要求元の処理プログラムに引き渡すこと
により、不足バッファを使用可能分だけ割当てし直すこ
とで安定的にバッファを使用することができる。
【0024】また、バッファ使用要求プログラムに対し
て初期割当したバッファを監視することにより、バッフ
ァ量がある閾値より少なくなった場合には、再度バッフ
ァ割り当てを行う。
【0025】また、バッファ取得の履歴を蓄積する機能
は、バッファ使用要求元の処理プログラム毎のバッファ
使用頻度を調べ、システムカレンダ、タイマより得た、
日・曜日・時刻に対応させて最大取得バッファ数を履歴
情報として蓄積することにより、例えば、最も使用頻度
の少ない時間帯を選んで、バッファの割当を行い、プロ
グラムの実行を行うことが可能となる。
【0026】また、上記の最大取得バッファ数が不揮発
性メモリに格納されることにより、電源断や障害発生時
においても当該情報が消失することがないため、システ
ムは、システム立ち上げ時等の初期状態時に、常時最大
取得バッファ数を参照して、バッファ取得を行うことが
できる。
【0027】また、バッファ使用要求プログラムからバ
ッファ使用要求が発行された場合に、システムは、当該
プログラムへのバッファ獲得時間(t)と当該プログラ
ムのバッファ使用要求の間隔(T)を複数管理してお
き、t<Tとなる関係が任意の回数分連続できた場合に
は、バッファ獲得中に次のバッファ使用要求が発行され
ない安全な時間帯において、バッファを再獲得すること
が可能である。
【0028】
【実施例】以下、図面とともに本発明の実施例を詳細に
説明する。
【0029】図2は、本発明の一実施例のシステム構成
を示す。同図に示すバッファ制御システムは、制御部1
00、不揮発性書き込みメモリであり、バッファの最大
使用数を格納する領域であるバッファ使用参照メモリ2
00、時計・カレンダ機能250、バッファ使用要求を
発するバッファ使用要求プログラム3001 、30
2 、…、300n 、獲得したバッファを格納領域50
0、立ち上げ時刻や各バッファ使用要求プログラム30
0からのバッファ要求時刻を保持する時間間隔テーブル
600より構成される。
【0030】図3は、本発明の一実施例の制御部100
の構成を示す。制御部100は、バッファ量監視部11
0、バッファ取得部120、及びバッファ使用権受付/
引渡部130より構成される。
【0031】バッファ使用権受付/引渡部130は、バ
ッファ使用要求プログラム300からのバッファ使用要
求を受け付け、バッファ取得部120によりバッファ格
納領域500に取得されたバッファの使用権を要求元バ
ッファ使用要求プログラム300にバッファの使用を許
可する。また、バッファ使用要求プログラム300から
のバッファ使用要求があると時計・カレンダ機能250
を用いて要求が発行された時刻をバッファ使用参照メモ
リ200に通知する。さらに、バッファ取得部120に
よりバッファ取得が行われた場合に、履歴として蓄積さ
れているバッファ使用参照メモリ200内の最大バッフ
ァ使用数と取得されたバッファの数を比較し、新たに取
得されたバッファ数が多ければ、バッファ使用参照メモ
リ200内の情報を更新する。
【0032】バッファ量監視部110は、バッファ格納
領域500の使用中バッファと未使用バッファの数を管
理している。バッファ使用要求プログラム300からバ
ッファ使用要求が発行されると、バッファ格納領域50
0を参照し、使用できるバッファ量を有するバッファが
存在するかを管理する。バッファ格納領域500から取
得可能なバッファが存在する場合には、バッファ取得部
120にバッファ取得可能通知を発行する。
【0033】バッファ取得部120は、バッファ量管理
部110によりバッファ使用要求プログラム300に対
して使用できるバッファがある場合に、当該バッファを
バッファ使用要求プログラム300にバッファを割り当
てる。
【0034】バッファ使用参照メモリ200は、バッフ
ァ使用要求プログラム300毎に蓄積してある最大バッ
ファ使用量を格納するバッファ使用参照テーブルを格納
する。図4は、本発明の一実施例のバッファ使用参照メ
モリ内のバッファ使用頻度テーブルの例を示す。同図に
示す例では、バッファ使用要求プログラム毎に、日付、
曜日、時刻及びバッファの使用最大数が記してある。例
えば、1日月曜日の午前1時のバッファ使用最大数(メ
インメモリ)は2であり、同日の24時のバッファ使用
最大数(メインメモリ)は8である。また、7日水曜日
の24時のバッファ使用最大数は10である。この例で
は何れも24時にバッファの使用が最大となる。また、
メインメモリ510に空きバッファが無くなると、第1
の他のメモリ5201、または第2の他のメモリ530
からバッファが取得される。
【0035】図5は、本発明の一実施例の処理動作を説
明するための図であり、図6は、本発明の一実施例の処
理動作のフローチャートである。図5に示す丸印の番号
は、図6のステップの番号に対応する。
【0036】ステップ1)バッファ使用要求プログラム
300がバッファ使用要求を制御部100に対して発行
する。
【0037】ステップ2)制御部100のバッファ使用
権受付/引渡部130は、バッファ使用要求プログラム
300からのバッファ使用要求を受け付る。
【0038】ステップ3)バッファ使用権受付/引渡部
130は、時計・カレンダ機能250から取得した時刻
情報及び、前回の要求時刻との差を時間間隔テーブル6
00に記録する。
【0039】ステップ4)バッファ量監視部110は、
バッファ要求プログラム300の要求に対応するバッフ
ァをバッファ格納領域500から空きバッファを探索
し、空きバッファがある場合には、バッファ取得部12
0に対して当該空きバッファが取得可能である通知を発
行する。さらにバッファ量監視部110は、このように
初期獲得したバッファの残数を確認する。
【0040】ステップ5)バッファ使用権受付/引渡部
130は、バッファ取得部120により取得されたバッ
ファをバッファ使用要求を発行したバッファ使用要求プ
ログラム300に対して引き渡す。
【0041】ステップ6)バッファ量監視部110は、
ステップ4にて獲得したバッファ使用要求プログラム3
00が使用中のバッファ格納領域500のバッファ個数
とバッファの残量を監視し、閾値aと比較する。
【0042】ステップ7)比較の結果、バッファ量監視
部110は、バッファの残量が閾値aより少ない場合に
は、バッファ使用要求プログラム300が使用している
バッファが不足し始めていると判断し、メインメモリ5
10の領域に余裕があるかを調べ、余裕がある場合には
バッファ取得部120に対して、メインメモリ510に
バッファの余裕があることを通知する。バッファ取得部
120は、メインメモリ510よりバッファを追加獲得
し、バッファ格納領域500に取得したバッファを格納
する。一方、メインメモリ510に余裕がない場合に
は、ステップ8に移行する。
【0043】ステップ8)バッファ量監視部110は、
メインメモリ510に余裕がない場合には、バッファの
最適化処理を行う。バッファ量監視部110は、メイン
メモリ510以外の他のメモリ520、530の最大使
用数をバッファ使用参照メモリ200のバッファ使用参
照テーブルより検索し、最大使用数が現在使用中のバッ
ファ量と比較し、現在の使用数の方が多い場合には、バ
ッファ使用参照テーブルのバッファ数を更新する。
【0044】ステップ9)バッファ量監視部110は、
時間間隔テーブル600を参照して、バッファ使用要求
の時間間隔がバッファの獲得時間tよりも長いことが任
意の安全係数k回以上連続して発生した場合には、バッ
ファをバッファ使用参照メモリ200のバッファ使用頻
度参照テーブルの値を参照して再獲得し直すことにより
各バッファの最適化を行う。
【0045】なお、本実施例では閾値aと安全係数kは
メインメモリ510上に保持しているものとする。
【0046】さらに、ステップ7において、バッファを
バッファ格納領域500より取得する場合に、バッファ
監視部110は最初にメインメモリ510に空きバッフ
ァがないかを探索し、メインメモリ510に空きバッフ
ァがない場合に他のバッファ領域520、530を探索
するが、最初にメインメモリ510を探索するのは、他
のバッファ領域520、530よりバッファを取得する
よりも獲得時間が短時間で済むことを目的としている
が、メインメモリ510を探索せずに、直接他のバッフ
ァ領域520または530を探索して、バッファを獲得
してもよい。
【0047】次に、具体例を示してバッファ制御の動作
を説明する。
【0048】図7は、本発明の一実施例の具体的な処理
の動作を説明するための図であり、図8、図9は、本発
明の一実施例の具体的な処理の動作を示すフローチャー
トである。図7において、矢印に付してある番号は図
8、図9に示すステップの番号と対応する。
【0049】図7おいて、バッファ格納領域500に
は、バッファE1,バッファE2,バッファE3があ
り、バッファE1は最大60Kバイト,バッファE2は
最大30Kバイト、バッファE3は最大20Kバイトの
バッファを有するものとする。また、本実施例では、残
バッファの閾値は4とする。さらに、バッファ使用参照
メモリ200のバッファ使用頻度テーブル上のバッファ
要求プログラム300からのあるバッファ要求時刻に対
応する各バッファ最大使用数は、バッファE1が6個、
バッファE2が5個、バッファE3が7個とする。な
お、各バッファのサイズは、バッファE1の1つのバッ
ファは6Kバイトであり、バッファE2の1つのバッフ
ァは3Kバイト、バッファE3の1つのバッファは2K
バイトとする。従って、各バッファEは10個のバッフ
ァを有する。また、本実施例では、安全係数をk=3と
する。
【0050】ステップ101)バッファ要求プログラム
3001 が制御部100に対してバッファ格納領域50
0のE1バッファの使用要求を発行する。
【0051】ステップ102)制御部100は、時計/
カレンダ機能250からバッファ使用要求が発行された
日時を得る。
【0052】ステップ103)制御部100は、時間間
隔テーブル600に前回の要求時刻との差を記録する。
同図の例では、ステップ101でバッファ使用要求の時
刻をT3に書き込む。例えば、T3において、2回目の
要求時刻が2日16時10分、今回の要求時刻が2日1
8時10分の場合の差分は、2時間となる。
【0053】ステップ104)制御部100のバッファ
量監視部110は、バッファ格納領域500に対して、
処理要求プログラム3001 に割り当てるためのバッフ
ァが存在するかを確認する。図7の例では、現在使用中
のバッファが6個あり、未使用のバッファ4個ある。こ
こで、バッファ量監視部110は、未使用バッファが4
個であることをバッファ取得部120に通知する。ま
た、バッファ量監視部110は、バッファE1の残数を
確認する。未使用のバッファが4個ある中より1個のバ
ッファを使用することになったため、残りのバッファE
1は未使用バッファ残数が3となる。
【0054】ステップ105)バッファ取得部120
は、バッファ量監視部110よりバッファE1に空き領
域があるとの通知を得たことにより、バッファE1を獲
得し、バッファ使用権受付/引渡部130は、バッファ
要求プログラム3001 に対してバッファE1を引き渡
す。
【0055】ステップ106)バッファ量監視部110
は、バッファE1の残数が3となったため、メインメモ
リ510内に格納してある閾値と残数を比較する。閾値
が4、バッファE1の残数が3であるため、バッファの
最適化が必要となる。
【0056】ステップ107)バッファ量監視部110
は、バッファの最適化が必要となったため、メインメモ
リ510に空きバッファが存在するかを調査する。この
とき、メインメモリ510に空きバッファがあれば、メ
インメモリ510からバッファを取得するが、本例で
は、空きメモリが存在しないものとする。バッファ量監
視部110は、バッファE2,E3の最大使用数をバッ
ファ使用参照メモリ200のバッファ使用頻度テーブル
より参照し、バッファE2=5,バッファE3=7を得
る。さらに、バッファ量監視部110は、バッファ格納
領域500内のバッファE2、バッファE3のバッファ
総数を検索し、バッファE2=10,バッファE3=1
0を得る。ここで、バッファ量監視部110は、バッフ
ァE1に割り当て直すバッファはE2かE3かを判断す
る。ここでは、バッファE2に割り当てるものとする。
この場合には、バッファE2は1個当たりの容量は3K
であるので、バッファE1に対しては2個のバッファが
必要となる。従って、バッファの総数が、バッファE1
=10,バッファE2=10,バッファE3=10から
バッファE1=11,バッファE2=8,バッファE3
=10にバッファ量監視部110により変更される。
【0057】ステップ108)次に、バッファ量監視部
110は、バッファ格納領域500のバッファE1の使
用中のバッファの数を6個から7個に変更する。さら
に、バッファ使用参照メモリ200のバッファ使用頻度
テーブルを参照し、バッファE1の使用中であるバッフ
ァ数とバッファ使用頻度テーブルの値を比較する。この
とき、バッファE1が使用しているバッファ数は7個で
あり、バッファ使用頻度テーブルの値は6であるので、
バッファ使用頻度テーブルの値を7に変更して更新す
る。
【0058】ステップ109)バッファ量監視部110
は、バッファ使用要求プログラム3001 のバッファ使
用要求毎の時間間隔を保持する時間間隔テーブル600
を検索し、制御部100がバッファを再獲得し直す時間
tよりも大きい事象が安全係数(k=3)以下であれば
バッファを再獲得し直す。ここで、時間間隔テーブル6
00において、T1は、立ち上げ時刻と、1回目の要求
時刻の差分、T2は、1回目の要求時刻と2回目の要求
時刻、T3は、2回目の要求時刻と今回バッファ使用要
求プログラム3001 がバッファ使用要求を発行した時
刻が保持される。ここで、バッファ再獲得時間をT0と
すると、T0<T1,T0<T2,T0<T3であれ
ば、安全係数(k=3)を満足しているため、バッファ
使用頻度テーブルに保持されている最大使用数(=最大
使用数7)でバッファの再獲得ができる。即ち、時間間
隔テーブル600に保持されている各差分の時間よりバ
ッファを再獲得する時間が所定の回数繰り返しても小さ
ければ、再獲得が可能となる。これにより、バッファ再
獲得中に、バッファ使用要求プログラム300よりバッ
ファ使用要求が発行されるという事態を防ぐことが可能
となる。
【0059】なお、上記のバッファ参照メモリ200
は、不揮発性書込み可能メモリを用いることにより電源
断時や障害発生時において、内部データが消失する心配
がない。従って、日、曜日、時刻毎の最大バッファ使用
数のデータが保全されることにより、バッファ格納領域
500内のバッファ割り当てが正確に行うことが可能で
ある。
【0060】なお、上記実施例において、制御部100
がバッファ使用要求プログラム300に対してバッファ
格納領域500のバッファ割当を行う場合に、まず、メ
インメモリ510に未使用の空きバッファが存在する時
には、バッファ獲得時間を短縮する目的からメインメモ
リ510よりバッファを獲得し、メインメモリ510に
空きバッファが存在しない時には、他のバッファ52
0、530からバッファを獲得する手順を示している
が、この例に限定されることなく、メインメモリ510
が他のオペレーティングシステム等のローディングによ
り使用予定等がある場合には、メインメモリ510に空
きバッファがあるかの調査を行わずに、最初から他のバ
ッファ520、530からバッファを獲得してもよい。
また、他のバッファ520、530に獲得できるバッフ
ァが不足し、メインメモリ510に空きバッファがまだ
存在する場合には、他のバッファ520、530からバ
ッファを獲得した後にメインメモリ510よりバッファ
の最適化を行ってもよい。
【0061】なお、上記の実施例では、バッファ使用参
照メモリ200のバッファ使用頻度テーブルの要因とし
て日、曜日、時刻によりバッファの使用頻度を保持して
いるが、この例に限定されることなく、ユーザ別、プロ
グラム種別毎に使用頻度の管理を行ってもよい。
【0062】なお、上記実施例において、閾値を設けて
初期獲得したバッファ数が当該閾値より少なくなり、バ
ッファが不足気味なるようであれば、バファの最適化処
理を行うが、この場合の閾値は設計時に種々任意に設定
することが可能である。
【0063】なお、上記実施例において、制御部100
は、バファ使用権受付/引渡部130、バッファ量監視
部110、バッファ取得部120はそれぞれサブルーチ
ンとし、ソフトウェアで実現されることが望ましい。
【0064】本発明は、上記実施例に限定されることな
く、特許請求の範囲内で種々変更が可能である。
【0065】
【発明の効果】上述のように本発明によれば、当初獲得
していたバッファにおいてバッファ量が不足した場合に
他のバッファ群に割り当てることが可能であるため、全
体のバッファ群としては余分なバッファを獲得すること
なく、バッファ量不足となることがない。従って、バッ
ファ不足による障害発生を回避することができる。
【0066】また、システムによっては、特に処理が重
複・増加する日、曜日及び時間帯が存在する場合には、
バッファ使用参照メモリのバッファ使用頻度テーブルを
要因別に構成することによりその要因別に最適な数のバ
ッファを獲得あるいは、蓄積することが可能である。例
えば、バッファ使用頻度が少ない時間帯にバッファ要求
プログラムに対してバッファを割り当てることが可能と
なる。さらに、当該バファ要求プログラムが要求するバ
ッファ数の最大値を不揮発性書込みメモリのバファ使用
頻度テーブルに格納しておくことにより、電源断になっ
ても記録情報が保持される。また、常に最大バッファ使
用数が格納されるため、バッファ使用要求プログラムが
同じ日付の同時刻にバッファ使用要求を発行した場合に
このテーブルを参照することにより、自動的に最大バッ
ファ使用数でバッファが確保されるため、バファ使用要
求を発する毎にソフトウェアの変更の必要がない。
【0067】なお、本発明によれば、バッファの初期設
定以外は、バッファアロケーションの経験がないもので
あっても、バッファ使用要求をバッファ使用要求プログ
ラムとして発行すればよいため、経験則によるバッファ
設定が不要となる。
【図面の簡単な説明】
【図1】本発明の原理構成図である。
【図2】本発明の一実施例のシステム構成図である。
【図3】本発明の一実施例の制御部の構成図である。
【図4】本発明の一実施例のバッファ参照メモリ内のバ
ッファ使用頻度テーブルの例を示す図である。
【図5】本発明の一実施例の処理動作を説明するための
図である。
【図6】本発明の一実施例の処理動作のフローチャート
である。
【図7】本発明の一実施例の具体的な処理動作を説明す
るための図である。
【図8】本発明の一実施例の具体的な処理の動作を示す
フローチャート(その1)である。
【図9】本発明の一実施例の具体的な処理の動作を示す
フローチャート(その2)である。
【符号の説明】
100 制御部 110 バッファ量監視手段、バッファ量監視部 120 バッファ取得手段、バッファ取得部 130 バッファ使用権受付/引渡手段、バッファ使用
権受付/引渡部 140 バッファ格納手段 141 メインメモリ 142 他のメモリ 170 バッファ取得履歴蓄積手段 200 バッファ使用参照メモリ 250 時計・カレンダ機能 300 バッファ使用要求プログラム 500 バッファ格納領域 510 メインメモリ 520 第2の他のメモリ 530 第3の他のメモリ 600 時間間隔テーブル

Claims (10)

    【特許請求の範囲】
  1. 【請求項1】 複数のバッファ使用要求プログラム(3
    00)に対してバッファを割り当てるバッファ制御装置
    において、 複数のバッファを有するバッファ格納手段(140)
    と、 該バッファ使用要求プログラム(300)からのバッフ
    ァ使用要求を受け付け、該バッファ格納手段(140)
    から該バッファ使用要求プログラム(300)に対して
    バッファを引き渡すバッファ使用権受付・引渡手段(1
    30)と、 バッファ格納手段(140)の使用中のバッファ数と未
    使用のバッファ数を監視し、該バッファ使用要求プログ
    ラム(300)からのバッファ使用要求に応じたバッフ
    ァが該バッファ格納手段(140)に存在するかを調査
    し、存在する場合には、バッファ割当可能通知を発行
    し、存在しない場合には、他のバッファ格納手段(14
    0)から該バッファ使用要求を満足するバッファを探索
    して割当可能通知を発行し、バッファの割り付け後の該
    バッファの残数を確認し、該残数が所定の値より少ない
    場合には、該バッファ格納手段(140)のうちの他の
    種別のバッファからバッファを再獲得する通知を発行す
    るバッファ量監視手段(110)と、 該バッファ量監視手段(110)からのバッファ割当通
    知を受けた場合に、該バッファ格納手段(140)から
    バッファを獲得するバッファ取得手段(120)と、 該バッファ取得手段(120)により該バッファ使用要
    求プログラム(300)毎に該バッファ使用要求プログ
    ラム(300)が使用した最大使用バッファ数を記憶す
    るバッファ取得履歴蓄積手段(170)とを有すること
    を特徴とするバッファ再割当システム。
  2. 【請求項2】 前記バッファ取得手段(120)は、前
    記バッファ量監視手段(110)によりバッファの再割
    当可能通知を受け取った場合に、前記バッファ使用要求
    プログラム(300)がバッファ使用要求を発行した時
    刻に関する履歴及び前回のバッファ使用要求を発行した
    時刻との差分を保持する時間間隔テーブル(600)よ
    り、バッファ再獲得時間T0が該差分tより少ない(T
    0<t)関係になることが所定の回数連続した場合にバ
    ッファ格納手段(140)よりバッファを獲得し直す請
    求項1記載のバッファ再割当システム。
  3. 【請求項3】 前記バッファ量監視手段(110)は、
    バッファ再獲得時に、前記バッファ取得履歴蓄積手段
    (170)の最大使用バッファ数を参照して最大使用バ
    ッファ数を取得する通知をバッファ取得手段(120)
    に発行する請求項2記載のバッファ再割当システム。
  4. 【請求項4】 前記バッファ取得履歴蓄積手段(17
    0)は、所定の分類要素毎に前記バッファ使用要求プロ
    グラム(300)が取得した最大バッファ数を蓄積する
    請求項1記載のバッファ再割当システム。
  5. 【請求項5】 前記バッファ取得履歴蓄積手段(17
    0)はバッファ使用要求プログラム(300)の分類要
    素として時間情報毎に取得した最大バッファ数を蓄積す
    る請求項4記載のバッファ再割当システム。
  6. 【請求項6】 前記バッファ取得履歴蓄積手段(17
    0)は、時計カレンダ機能を用いてバッファの獲得履歴
    を得る請求項5記載のバッファ再割当システム。
  7. 【請求項7】 前記バッファ量監視手段(110)は、
    バッファ数の再割当後、前記バッファ取得履歴蓄積手段
    (170)の最大バッファ数と再割当したバッファ数を
    比較し、該再割当を行ったバッファ数の方が多い場合に
    は前記バッファ取得履歴蓄積手段(170)の最大バッ
    ファ数を再割当したバッファ数で更新する請求項1記載
    のバッファ再割当システム。
  8. 【請求項8】 前記バッファ取得履歴蓄積手段(17
    0)は、不揮発性書込みメモリを用いる請求項1記載の
    バッファ再割当システム。
  9. 【請求項9】 前記バッファ量監視手段(110)は、
    再割り当てを行っても、バッファ数が不足する場合に
    は、前記バッファ取得履歴蓄積手段(170)を参照し
    て、最も使用頻度が少ない時刻を前記バッファ取得手段
    (120)にバッファの取得を通知する請求項5記載の
    バッファ再割当システム。
  10. 【請求項10】 前記バッファ格納手段(140)は、
    メインメモリ(141)及び該メインメモリ以外の他の
    メモリ(142)の少なくとも1つを有する請求項1記
    載のバッファ再割当システム。
JP6046193A 1994-03-16 1994-03-16 バッファ再割当システム Withdrawn JPH07262079A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP6046193A JPH07262079A (ja) 1994-03-16 1994-03-16 バッファ再割当システム
US08/297,621 US5640604A (en) 1994-03-16 1994-08-29 Buffer reallocation system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP6046193A JPH07262079A (ja) 1994-03-16 1994-03-16 バッファ再割当システム

Publications (1)

Publication Number Publication Date
JPH07262079A true JPH07262079A (ja) 1995-10-13

Family

ID=12740234

Family Applications (1)

Application Number Title Priority Date Filing Date
JP6046193A Withdrawn JPH07262079A (ja) 1994-03-16 1994-03-16 バッファ再割当システム

Country Status (2)

Country Link
US (1) US5640604A (ja)
JP (1) JPH07262079A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0964918A (ja) * 1995-08-29 1997-03-07 Nec Software Ltd 通信制御装置におけるバッファ管理方式

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5797042A (en) * 1995-03-16 1998-08-18 Intel Corporation Method and apparatus for adjusting the buffering characteristic in the pipeline of a data transfer system
US6038621A (en) * 1996-11-04 2000-03-14 Hewlett-Packard Company Dynamic peripheral control of I/O buffers in peripherals with modular I/O
US6098123A (en) * 1997-05-08 2000-08-01 International Business Machines Corporation Method and apparatus for dynamic allocation of bandwidth to/from network adapter memory amongst active input/output ports
US6366945B1 (en) * 1997-05-23 2002-04-02 Ibm Corporation Flexible dynamic partitioning of resources in a cluster computing environment
US6421747B1 (en) * 1998-02-27 2002-07-16 Stmicroelectronics N.V. Method for maximizing buffer usage on a disk drive
US6353864B1 (en) * 1998-04-20 2002-03-05 Fujitsu Limited System LSI having communication function
US6070202A (en) * 1998-05-11 2000-05-30 Motorola, Inc. Reallocation of pools of fixed size buffers based on metrics collected for maximum number of concurrent requests for each distinct memory size
US6032269A (en) * 1998-06-30 2000-02-29 Digi-Data Corporation Firmware recovery from hanging channels by buffer analysis
JP2001016593A (ja) * 1999-06-25 2001-01-19 Mitsubishi Electric Corp 画像復号表示装置
US6678813B1 (en) * 1999-10-28 2004-01-13 Hewlett-Packard Development Company, L.P. Dynamically adaptive buffer mechanism
US6785751B1 (en) * 2000-09-19 2004-08-31 Intel Corporation Method and apparatus for minimizing bus contention for I/O controller write operations
US6631446B1 (en) * 2000-10-26 2003-10-07 International Business Machines Corporation Self-tuning buffer management
GB0031535D0 (en) * 2000-12-22 2001-02-07 Nokia Networks Oy Traffic congestion
US6904597B2 (en) * 2001-03-30 2005-06-07 Intel Corporation Inter-thread communications between different components using double buffer
US20040249997A1 (en) * 2003-02-26 2004-12-09 Umberhocker Richard B. System and method for communicating data
US7284076B2 (en) * 2003-06-27 2007-10-16 Broadcom Corporation Dynamically shared memory
US7143263B2 (en) * 2003-10-16 2006-11-28 International Business Machines Corporation System and method of adaptively reconfiguring buffers
US9323571B2 (en) * 2004-02-06 2016-04-26 Intel Corporation Methods for reducing energy consumption of buffered applications using simultaneous multi-threading processor
US8307174B1 (en) * 2004-06-25 2012-11-06 Emc Corporation System and method for managing sessions and reallocating memory resources used for replication of data in a data storage environment
KR100636283B1 (ko) * 2005-08-01 2006-10-18 삼성전자주식회사 외부저장매체를 이용한 메시지 처리 시스템 및 그 방법
US8122450B2 (en) * 2006-03-30 2012-02-21 International Business Machines Corporation Method and apparatus for distributing memory in a data processing system
US9229791B1 (en) * 2012-08-24 2016-01-05 Qlogic, Corporation System and method for high speed multiple buffer allocation

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4638424A (en) * 1984-01-12 1987-01-20 International Business Machines Corporation Managing data storage devices connected to a digital computer
JPH0214644A (ja) * 1988-06-30 1990-01-18 Nec Corp パケット通信方式
US5093912A (en) * 1989-06-26 1992-03-03 International Business Machines Corporation Dynamic resource pool expansion and contraction in multiprocessing environments
JPH0418638A (ja) * 1990-05-11 1992-01-22 Fujitsu Ltd 静的メモリ割当て処理方法
US5386536A (en) * 1991-03-28 1995-01-31 Courts; Howard R. Apparatus and method for managing memory allocation
US5390299A (en) * 1991-12-27 1995-02-14 Digital Equipment Corporation System for using three different methods to report buffer memory occupancy information regarding fullness-related and/or packet discard-related information
US5303347A (en) * 1991-12-27 1994-04-12 Digital Equipment Corporation Attribute based multiple data structures in host for network received traffic

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0964918A (ja) * 1995-08-29 1997-03-07 Nec Software Ltd 通信制御装置におけるバッファ管理方式

Also Published As

Publication number Publication date
US5640604A (en) 1997-06-17

Similar Documents

Publication Publication Date Title
JPH07262079A (ja) バッファ再割当システム
US7761681B2 (en) Data storage system with persistent volatile memory across power failures
KR100352668B1 (ko) 시스템 자원을 스케쥴링하는 방법 및 시스템
US5239649A (en) Channel path load balancing, through selection of storage volumes to be processed, for long running applications
US8959515B2 (en) Task scheduling policy for limited memory systems
US6438553B1 (en) Distributed job integrated management system and method
JP5091912B2 (ja) マルチコアプロセッサシステム
JP4028674B2 (ja) 多重システム・クラスタ内のサーバの数を制御する方法及び装置
US8332611B2 (en) Method and system for managing memory
US20030037091A1 (en) Task scheduling device
US20060288159A1 (en) Method of controlling cache allocation
US9396027B2 (en) Resource allocation for a plurality of resources for a dual activity system
JP2003067351A (ja) 分散型コンピュータの構成制御システム
JPH0659982A (ja) 仮想記憶制御方法および装置
US20070256078A1 (en) Resource reservation system, method and program product used in distributed cluster environments
US6842838B2 (en) Preemptive memory-block splitting
JPH05158744A (ja) 計算機システムにおける装置管理方式及びメモリ管理方式
CN101154193B (zh) 存储管理装置和存储管理方法
JP2002278778A (ja) 対称型マルチプロセッサシステムにおけるスケジュール装置
JP2002244869A (ja) メモリ管理装置
US20060101469A1 (en) Method, controller, program product and services for managing resource element queues
EP1182553A2 (en) Efficient assignment of processing resources in a fair queuing system
JPH09265416A (ja) 階層的情報管理方法及びその実施装置
CN112612616A (zh) 一种任务处理方法及装置
JPH09218824A (ja) 情報処理システム

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: 20010605