JP3835410B2 - 計算機システム及びメモリ割り当て量保証値動的変更方法並びにプログラム - Google Patents

計算機システム及びメモリ割り当て量保証値動的変更方法並びにプログラム Download PDF

Info

Publication number
JP3835410B2
JP3835410B2 JP2003034799A JP2003034799A JP3835410B2 JP 3835410 B2 JP3835410 B2 JP 3835410B2 JP 2003034799 A JP2003034799 A JP 2003034799A JP 2003034799 A JP2003034799 A JP 2003034799A JP 3835410 B2 JP3835410 B2 JP 3835410B2
Authority
JP
Japan
Prior art keywords
job
memory
memory allocation
guarantee value
amount
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.)
Expired - Fee Related
Application number
JP2003034799A
Other languages
English (en)
Other versions
JP2004246552A (ja
Inventor
章 水野
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.)
NEC Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Priority to JP2003034799A priority Critical patent/JP3835410B2/ja
Publication of JP2004246552A publication Critical patent/JP2004246552A/ja
Application granted granted Critical
Publication of JP3835410B2 publication Critical patent/JP3835410B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Memory System (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、仮想記憶方式を採用し、且つページ取得高速化のために、LRUアルゴリズムによって予め未使用ページを確保する処理を行っている計算機システムに関し、特に、メモリ余裕量に応じて実行中の各ジョブのメモリ割り当て量保証値を動的に変更する技術に関する。
【0002】
【従来の技術】
従来からメモリ(主記憶装置)のメモリ余裕量に応じて、実行中のジョブに割り当てるメモリ量を動的に変更するということが行われている(例えば、特許文献1参照)。この特許文献1に記載されている技術では、メモリの空き領域量が多い時はウィンドウサイズを大きくし、空き領域量が少ない時はウィンドウサイズを小さくすることにより、各ジョブに割り当てるメモリ量を動的に変更するようにしている。
【0003】
この他にも、ジョブに割り当てるメモリ量を動的に変更する従来の技術として、ジョブに割り当てられたメモリの仮想メモリ空間に対する比率が、ユーザによって指定された比率を超えないようにワーキングセットの計算値を制御する技術も知られている(例えば、特許文献2参照)。しかし、この特許文献2に記載されている技術は、メモリ余裕量に応じて、実行中のジョブに割り当てるメモリ量を動的に変更する技術ではない。
【0004】
【特許文献1】
特開昭59−207479号公報
【特許文献2】
特開2000−66911号公報
【0005】
【発明が解決しようとする課題】
上述した特許文献1に記載されている従来の技術によれば、動作中の各ジョブに割り当てるメモリ量を、メモリの空き領域量に応じて動的に変更することが可能になる。しかし、上述した従来の技術では、メモリの空き領域量に応じて決定したウィンドウサイズからはみ出したページをページアウトするだけであるので、ジョブの重要度に応じて割り当てるメモリ量を制御することができないという問題がある。
【0006】
そこで、本発明の目的は、メモリ余裕量およびジョブの重要度に応じて、動作中の各ジョブにメモリを割り当てられるようにすることにある。
【0007】
【課題を解決するための手段】
本発明にかかる第1の計算機システムは、上記目的を達成するため、
仮想記憶方式を採用している計算機システムにおいて、
実行中の各ジョブそれぞれについて、現時点におけるメモリ割り当て量保証値と、ユーザによって指定されているそのジョブ固有のメモリ割り当て量保証値の上限値および下限値とを管理する管理手段と、
ジョブからの割り当て要求によって要求されているメモリ量のメモリが前記要求元のジョブに割り当てられたとき、メモリ余裕量が予め定められている閾値以上である場合には、前記要求元のジョブのメモリ割り当て量保証値を、前記要求元のジョブに対応する上限値を上限として、前記要求元のジョブに新規に割り当てたメモリ量だけ増加させ、メモリ余裕量が前記閾値未満である場合には、前記各ジョブのメモリ割り当て量保証値を、そのジョブに対応する下限値を下限にして、前記メモリ余裕量が前記閾値以上となるように均等に減少させるメモリ割り当て量保証値計算手段とを備えたことを特徴とする。
【0008】
また、本発明に係る第2の計算機システムは、第1の計算機システムにおいて、
前記メモリ割り当て量保証値計算手段が、
ジョブからの解放要求に従って要求元のジョブからメモリが解放されたとき、前記要求元のジョブのメモリ割り当て量保証値を、前記要求元のジョブに対応する下限値を下限にして、前記解放されたメモリ量だけ減少させる構成を有することを特徴とする。
【0009】
また、本発明に係る第3の計算機システムは、メモリ割り当て量保証値の再計算によるオーバヘッドを少なくするため、第1の計算機システムにおいて、
前記管理手段が、実行中の各ジョブそれぞれについて、ユーザによって指定された動的変更フラグも管理する構成を有し、
前記メモリ割り当て量保証値計算手段が、動的変更フラグによってメモリ割り当て量保証値の動的変更を行うことが指示されているジョブのみを対象にしてメモリ割り当て量保証値を再計算する構成を有することを特徴とする
【0010】
また、本発明に係る第4の計算機システムは、第1の計算機システムにおいて、
前記メモリ余裕量が、
使用可能メモリ量から、前記各ジョブのメモリ割り当て量保証値の合計値或いは前記各ジョブに現在割り当てられているメモリ量の合計値の内の大きな方の値を差し引いたものであることを特徴とする。
【0011】
【作用】
各ジョブ毎に、メモリ割り当て量保証値の上限値及び下限値を設定できるので、メモリ余裕量およびジョブの重要度に応じて、動作中の各ジョブにメモリを割り当てることができる。また、動的変更フラグによって、メモリ割り当て量保証値の計算対象にされているジョブについてのみ、メモリ割り当て量保証値の再計算を行うようにしているので、オーバヘッドを少なくすることができる。
【0012】
【発明の実施の形態】
次に本発明の実施の形態について図面を参照して詳細に説明する。
【0013】
図1は本発明に係る計算機システム100の一実施例のブロック図である。同図を参照すると、計算機システム100は、スケジューラ1と、ジョブ管理テーブル管理手段2と、ジョブ管理テーブル3と、メモリ割り当て量保証値計算手段4と、ページアウト対象決定手段5と、メモリ割り当て・解放手段6と、ページアウト手段7と、ジョブ集合8と、ジョブ9−1〜9−nと、仮想記憶空間10−1〜10−nと、各仮想記憶空間10−1〜10−nに割り当てられているメモリ(主記憶装置)11−1〜11−nと、二次記憶装置12と、記録媒体K100とを備えている。
【0014】
ジョブ集合8は、現在実行中のn個のジョブ9−1〜9−nの集合である。各ジョブ9−1〜9−nは、それぞれ仮想記憶空間10−1〜10−nを持ち、各仮想記憶空間10−1〜10−nには、それぞれメモリ11−1〜11−nが割り当てられている。
【0015】
ジョブ管理テーブル3は、現在実行中の各ジョブ9−1〜9−nそれぞれのエントリを有し、各エントリには、対応するジョブのジョブ名と、現時点におけるメモリ割り当て量保証値と、ユーザによって指定されたメモリ割り当て量保証値の上限値および下限値と、現時点におけるメモリ量(そのジョブに割り当てられているメモリのページ数)とが格納されている。
【0016】
図2にジョブ管理テーブル3の内容例を示す。同図の例は、ジョブ9−1のジョブ名がJOB1、現時点におけるメモリ割り当て量保証値がG1、メモリ割り当て量保証値の上限値がMAX1、メモリ割り当て量保証値の下限値がMIN1、現時点におけるメモリ量がM1であることを示している。
【0017】
スケジューラ1は、ユーザが計算機システム100に投入したジョブの中から実行するジョブを選択し、実行に移す機能を有する。なお、ユーザは、ジョブを投入する際、そのジョブの重要度に応じたメモリ割り当て量保証値の上限値および下限値を指定する。即ち、重要度が高いジョブを投入する場合には、上限値および下限値として大きな値を指定し、重要度が低いジョブを投入する際には、上限値および下限値として小さな値を指定する。
【0018】
ジョブ管理テーブル管理手段2は、下記a〜dの機能を有する。
【0019】
a.スケジューラ1によって実行に移されたジョブに関し、ジョブ名、メモリ割り当て量保証値、ユーザによって指定されたメモリ割り当て量保証値の上限値および下限値、メモリ量をジョブ管理テーブル3に登録する機能。なお、この場合、メモリ割り当て量保証値(初期値)としては、ユーザによって指定されている下限値を登録する。
b.ジョブ管理テーブル3に登録されている各ジョブ9−1〜9−nに対応するメモリ量の内、メモリの割り当てや解放が行われたジョブ9−i(1≦i≦n)のメモリ量を、割り当て或いは解放されたメモリ量に応じて更新する機能。
c.メモリ割り当て量保証値計算手段4から渡されたメモリ割り当て量保証値の再計算結果に従って、ジョブ管理テーブル3に登録されている各ジョブのメモリ割り当て量保証値を更新する機能。
d.実行が終了したジョブに関する情報をジョブ管理テーブル3から削除する機能。
【0020】
メモリ割り当て・解放手段6は、下記e〜iの機能を有する。
【0021】
e.実行中のジョブ9−iからの割り当て要求に従って、要求されたメモリ量のメモリをジョブ9−iに割り当てる機能。
f.実行中のジョブ9−iからの解放要求に従って、要求されたページをジョブ9−iから解放する機能。
g.メモリの割り当てや解放を行ったジョブ9−iのジョブ名と、割り当て或いは解放したメモリ量とをジョブ管理テーブル管理手段2に通知し、ジョブ管理テーブル3に登録されているジョブ9−iのメモリ量を更新させる機能。
h.実行中のジョブ9−iからの割り当て要求や解放要求に従ってメモリの割り当てや解放を行った場合、ジョブ9−iのジョブ名と、割り当て或いは解放したメモリ量とを含む再計算指示をメモリ割り当て量保証値計算手段4に対して出力する機能。
i.実行が終了したジョブに割り当てられていたメモリを解放する機能。
【0022】
メモリ割り当て量保証値計算手段4は、下記j〜lの機能を有する。
【0023】
j.メモリ割り当て・解放手段6から再計算指示が加えられた場合、メモリ余裕量や、各ジョブ9−1〜9−nのメモリ割り当て量保証値の上限値および下限値を考慮して各ジョブ9−1〜9−nのメモリ割り当て量保証値を再計算する機能。メモリ余裕量とは、使用可能メモリ量から、各ジョブ9−1〜9−nのメモリ割り当て量保証値の合計値或いは各ジョブ9−1〜9−nのメモリ量の合計値の内の大きな方の値を差し引いた値である。
k.再計算結果をジョブ管理テーブル管理手段2に渡し、ジョブ管理テーブル3中の各ジョブ9−1〜9−nのメモリ割り当て量保証値を更新させる機能。
l.メモリ割り当て量保証値の再計算結果がジョブ管理テーブル3に反映された後、ページアウト対象決定手段5を起動させる機能。
【0024】
ページアウト対象決定手段5は、メモリ余裕量が予め定められている閾値th以上となるまで、実行中のジョブ9−1〜9−nを順次処理対象にして、処理対象にしているジョブ9−j(1≦j≦n)に割り当てられているメモリ上のページの中から、ページアウト後の上記ジョブ9−jのメモリ量が、上記ジョブ9−jに対して定められているメモリ割り当て量保証値未満とならない範囲で、LRUアルゴリズムに従ってページアウトの対象にするページを決定する機能を有する。
【0025】
ページアウト手段7は、ページアウト対象決定手段5で決定されたページアウト対象のページを、二次記憶装置12へとページアウトする機能や、メモリ割り当て・解放手段6に対して解放するページを指示する機能を有する。
【0026】
記録媒体K100は、ディスク、半導体メモリ、その他の記録媒体であり、計算機システム100上に、スケジューラ1、ジョブ管理テーブル管理手段2、ジョブ管理テーブル3、メモリ割り当て量保証値計算手段4、ページアウト対象決定手段5、メモリ割り当て・解放手段6、ページアウト手段7を実現するためのプログラムが記録されている。このプログラムは、計算機システム100によって読み取られ、その動作を制御することで、計算機システム100上にスケジューラ1、ジョブ管理テーブル管理手段2、ジョブ管理テーブル3、メモリ割り当て量保証値計算手段4、ページアウト対象決定手段5、メモリ割り当て・解放手段6、ページアウト手段7を実現する。
【0027】
【実施例の動作の説明】
次に各図を参照して本実施例の動作について詳細に説明する。
【0028】
ユーザは、計算機システム100にジョブ9−iを投入する際、そのジョブ9−iの重要度に応じたメモリ割り当て量保証値の上限値MAXiおよび下限値MINiを指定する。即ち、ジョブ9−iが重要度が高いジョブである場合には、上限値MAXiおよび下限値MINiとして大きな値を指定し、重要度が低いジョブである場合には、上限値MAXiおよび下限値MINiとして小さな値を指定する。ユーザによって投入されたジョブ9−iは、ユーザによって指定された上限値MAXiおよび下限値MINiと共にスケジュール待ち行列(図示せず)につながれる。
【0029】
その後、スケジューラ1によってジョブ9−iが選択され、実行に移されると、ジョブ管理テーブル管理手段2は、図3の流れ図に示すように、ジョブ管理テーブル3の空きエントリを確保し、確保したエントリに、ジョブ9−iのジョブ名JOBi、メモリ割り当て量保証値Gi、上限値MAXi、下限値MINi、メモリ量Miを登録する(ステップS31、S32)。なお、メモリ割り当て量保証値Giには、下限値MINiと同一値を格納する。
【0030】
次に、実行中のジョブ9−iがメモリの割り当て要求を行った場合の動作について説明する。
【0031】
実行中のジョブ9−iがメモリの割り当て要求を行うと、図4の流れ図に示すように、メモリ割り当て・解放手段6が、要求されたメモリ量ΔMiのページをジョブ9−iに割り当てる(ステップS41)。
【0032】
その後、メモリ割り当て・解放手段6は、割り当て要求元のジョブ9−iのジョブ名JOBiおよびジョブ9−iに新規に割り当てた(追加割り当てした)メモリ量ΔMiをジョブ管理テーブル管理手段2に通知する。これにより、ジョブ管理テーブル管理手段2は、ジョブ管理テーブル3に登録されているジョブ9−iのメモリ量を、通知されたメモリ量ΔMiだけ増加する(ステップS42)。
【0033】
次に、メモリ割り当て・解放手段6は、ジョブ9−iのジョブ名JOBiと、ジョブ9−iに新規に割り当てたメモリ量ΔMiとを含む再計算指示をメモリ割り当て量保証値計算手段4に出力する(ステップS43)。
【0034】
メモリ割り当て量保証値計算手段4は、メモリ割り当て・解放手段6からジョブ名JOBi及び新規に割り当てたメモリ量ΔMiを含む再計算指示が入力されると、メモリ余裕量や、実行中の各ジョブ9−1〜9−nのメモリ割り当て量保証値の上限値MAX1〜MAXnおよび下限値MIN1〜MINnを考慮して各ジョブ9−1〜9−nのメモリ割り当て量保証値G1〜Gnを再計算する(ステップS44)。
【0035】
ステップS44で行う処理を図5の流れ図を参照して詳細に説明する。
【0036】
メモリ割り当て量保証値計算手段4は、ジョブ名JOBi及び新規に割り当てたメモリ量ΔMiを含む再計算指示がメモリ割り当て・解放手段6から送られてくると、先ず、割り当て要求元のジョブ9−iを処理対象にする(ステップS51)。
【0037】
その後、メモリ余裕量を計算する(ステップS52)。これは、ジョブ集合8が使用できる全メモリ量(使用可能メモリ量)から、ジョブ集合8に属するジョブ9−1〜9−nのメモリ割り当て量保証値の合計値或いはジョブ9−1〜9−nのメモリ量の合計値の内の大きな方の値を差し引いた値である。すなわち、メモリ余裕量とは、未使用メモリ量とページアウト可能メモリ量の和のことである。
【0038】
次に、ステップS52で求めたメモリ余裕量が予め定められている閾値th以上であるか否かを調べる(ステップS53)。
【0039】
そして、メモリ余裕量が閾値th以上である場合(ステップS53がYES)は、新規に割り当てられたメモリ量ΔMiをそのままジョブ9−iに対するメモリ割り当て量保証値の増分とする(ステップS54)。
【0040】
これに対して、メモリ余裕量が閾値thを下回る場合(ステップS53がNO)は、次のような値をジョブ9−iに対するメモリ割り当て量保証値の増分とする(ステップS55)。即ち、実行中の全てのジョブ9−1〜9−nのメモリ割り当て量保証値から同一値を減算して、メモリ余裕量を閾値th以上にするために必要になる上記同一値の最低値をメモリ割り当て量保証値の増分とする。このような値は、例えば、メモリ余裕量から閾値thを減算し、減算結果を実行中のジョブ数(この場合は、n個)で除算することにより求めることができる。これを式で表すと、メモリ割り当て量保証値増分=(メモリ余裕量−閾値th)/(ジョブ集合に属するジョブ数)となる。
【0041】
その後、メモリ割り当て量保証値計算手段4は、現在処理対象にしているジョブ9−iの新しいメモリ割り当て量保証値を求める(ステップS56)。具体的には、先ず、ステップS54若しくはステップS55で求めた増分をジョブ9−iの現在のメモリ割り当て量保証値に加算する。そして、この加算結果とジョブ9−iの下限値MINiとを比較し、下限値MINiの方が大きい場合は、下限値MINiをジョブ9−iの新たなメモリ割り当て量保証値とする。これに対して、加算結果の方が大きい場合は、加算結果とジョブ9−iの上限値MAXiとを比較し、小さい方をジョブ9−iの新たなメモリ割り当て量保証値とする。
【0042】
その後、メモリ割り当て量保証値計算手段4は、次のジョブを処理対象にして再びステップS52〜S56の処理を行う。そして、実行中の全てのジョブ9−1〜9−nに対して、ステップS52〜S56の処理を行うと(ステップS58がNO)、各ジョブ9−1〜9−nの新たなメモリ割り当て量保証値をジョブ管理テーブル管理手段2に通知し(ステップS59)、その後、処理終了となる。
【0043】
ジョブ管理テーブル管理手段2は、メモリ割り当て量保証値計算手段4から各ジョブ9−1〜9−nの新たなメモリ割り当て量保証値が通知されると、ジョブ管理テーブル3に登録されている各ジョブ9−1〜9−nのメモリ割り当て量保証値を、通知された新たなメモリ割り当て量保証値に更新する(図4、ステップS45)。
【0044】
ジョブ管理テーブル3に登録されている各ジョブ9−1〜9−nのメモリ割り当て量保証値が更新されると、ページアウト対象決定手段5が、メモリ余裕量が予め定められている閾値th以上となるまで、実行中のジョブ9−1〜9−nを順次処理対象にして、処理対象にしているジョブ9−j(1≦j≦n)に割り当てられているメモリ上のページの中から、ページアウト後の上記ジョブ9−jのメモリ量が、上記ジョブ9−jに対して定められているメモリ割り当て量保証値未満とならない範囲で、LRUアルゴリズムに従ってページアウトの対象にするページを決定する(ステップS46)。
【0045】
その後、ページアウト手段7が、ページアウト対象決定手段5でページアウト対象とされたページを二次記憶装置12にページアウトし(ステップS47)、更に、メモリ割り当て・解放手段7を用いてメモリの解放を行う(ステップS48)。
【0046】
次に、実行中のジョブ9−k(1≦k≦n)がメモリの解放要求を行った場合の動作について説明する。
【0047】
実行中のジョブ9−kがメモリの解放要求を行うと、図6の流れ図に示すように、メモリ割り当て・解放手段6が、要求されたページを解放する(ステップS61)。
【0048】
その後、メモリ割り当て・解放手段6は、解放要求元のジョブ9−kのジョブ名JOBkおよびジョブ9−iから解放したメモリ量ΔMkをジョブ管理テーブル管理手段2に通知する。これにより、ジョブ管理テーブル管理手段2は、ジョブ管理テーブル3に登録されているジョブ9−kのメモリ量を、通知されたメモリ量ΔMkだけ減少する(ステップS62)。
【0049】
次に、メモリ割り当て・解放手段6は、ジョブ9−kのジョブ名JOBkと、ジョブ9−kから解放したメモリ量ΔMkとを含む再計算指示をメモリ割り当て量保証値計算手段4に出力する(ステップS63)。
【0050】
メモリ割り当て量保証値計算手段4は、ジョブ名JOBk及び解放したメモリ量ΔMkを含む再計算指示を受け付けると、ジョブ9−kのメモリ割り当て量保証値Gkを、ジョブ9−kの下限値MINkを下限にして、解放されたメモリ量ΔMkだけ減算することにより、ジョブ9−kの新たなメモリ割り当て量保証値を計算する(ステップS64)。
【0051】
その後、メモリ割り当て量保証値計算手段4は、ジョブ9−kの新たなメモリ割り当て量保証値をジョブ管理テーブル管理手段2に通知する。これにより、ジョブ管理テーブル管理手段2は、ジョブ管理テーブル3に登録されているジョブ9−kのメモリ割り当て量保証値を、通知された新たなメモリ割り当て量保証値に更新する(ステップS65)。
【0052】
【発明の他の実施例】
次に、本発明の他の実施形態について詳細に説明する。本実施例は、実行中のジョブの内、ユーザによってメモリ割り当て量保証値を動的に変更することが指示されているジョブ(動的変更フラグがONになっているジョブ)に対してのみ、メモリ割り当て量保証値を動的に変更するようにしたことを特徴とする。このようにすることにより、メモリ割り当て量保証値の再計算に伴うオーバヘッドを少なくすることができる。
【0053】
図7は本実施例に係る計算機システム100aの構成例を示したブロック図であり、図1に示した計算機システム100とは、ジョブ管理テーブル管理手段2の代わりにジョブ管理テーブル管理手段2aを備えている点、ジョブ管理テーブル3の代わりにジョブ管理テーブル3aを備えている点、メモリ割り当て量保証値計算手段4の代わりにメモリ割り当て量保証値計算手段4aを備えている点、及び記録媒体K100の代わりに記録媒体K100aを備えている点が相違している。なお、本実施例においては、ユーザはジョブを計算機システム100aに投入する際、そのジョブをメモリ割り当て量保証値の動的変更の対象にするか否かを示す動的変更フラグを付加する。即ち、実行中に必要とするメモリ量が大きく変動するジョブを投入する際には、動的変更の対象にすることを示す動的変更フラグ(ON)を付加し、実行中に必要とするメモリ量が余り変化しないジョブを投入する場合には、動的変更の対象外にすることを示す動的変更フラグ(OFF)を付加する。
【0054】
ジョブ管理テーブル3aは、ジョブ管理テーブル3に登録される項目に加え、動的変更フラグも登録される点がジョブ管理テーブル3と相違している。図8にジョブ管理テーブル3aの内容例を示す。同図の例は、ジョブ9−1がメモリ割り当て量保証値の動的変更の対象になっており、ジョブ9−nがメモリ割り当て量保証値の動的変更の対象外であることを示している。
【0055】
ジョブ管理テーブル管理手段2aは、スケジューラ1によって実行に移されたジョブに関する情報をジョブ管理テーブル2aに登録する際、動的変更フラグもジョブ管理テーブル3aに登録する機能を有する。
【0056】
メモリ割り当て量保証値計算手段4aは、動的変更フラグがONになっているジョブのみを対象にして、メモリ割り当て量保証値を再計算する点がメモリ割り当て量保証値計算手段4と相違している。
【0057】
記録媒体K100aは、ディスク、半導体メモリ、その他の記録媒体であり、計算機システム100a上に、スケジューラ1、ジョブ管理テーブル管理手段2a、ジョブ管理テーブル3a、メモリ割り当て量保証値計算手段4a、ページアウト対象決定手段5、メモリ割り当て・解放手段6、ページアウト手段7を実現するためのプログラムが記録されている。このプログラムは、計算機システム100aによって読み取られ、その動作を制御することにより、計算機システム100a上に、スケジューラ1、ジョブ管理テーブル管理手段2a、ジョブ管理テーブル3a、メモリ割り当て量保証値計算手段4a、ページアウト対象決定手段5、メモリ割り当て・解放手段6、ページアウト手段7を実現する。
【0058】
次に本実施例の動作について説明する。なお、ここでは、図1に示した実施例と異なる点についてのみ説明する。
【0059】
ジョブ管理テーブル管理手段2aは、スケジューラ1によってジョブ9−iが実行に移されると、図3の流れ図に示す処理とほぼ同様の処理を行うが、ステップS32において、ユーザによって付加されている動的変更フラグもジョブ管理テーブル3に登録する。
【0060】
メモリ割り当て量保証値計算手段4は、メモリ割り当て・解放手段6から再計算指示を受けると、図5の流れ図に示す処理と同様の処理を行う。但し、ステップS51において処理対象にした割り当て要求元のジョブの動的実行フラグがOFFになっている場合には、ステップS57の処理を行うようにする。また、ステップS57では、動的変更フラグがONになっているジョブの中から次の処理対象を決定するようにする。また、ステップS58では、動的変更フラグがONになっているジョブの中に未処理のジョブが存在するか否かを判断し、存在する場合には、ステップS52の処理を行い、存在しない場合には、ステップS59の処理を行うようにする。また、ステップS55において、メモリ割り当て量保証値増分=(メモリ余裕量−閾値th)/(ジョブ集合に属するジョブ数)なる演算の代わりに、メモリ割り当て量保証値増分=(メモリ余裕量−閾値th)/(ジョブ集合に属し、且つ動的変更フラグがONのジョブのジョブ数)なる演算を行う。
【0061】
また、メモリ割り当て量保証値計算手段4aは、図6のステップS64において、解放要求元のジョブ9−iのメモリ割り当て量保証値を再計算するが、ジョブ9−iの動的変更フラグがONになっている場合のみ、メモリ割り当て量保証値の再計算を行い、OFFになっている場合は処理終了とする。
【0062】
【発明の効果】
以上説明したように、本発明の計算機システムは、ジョブ毎に、メモリ割り当て量保証値の上限値及び下限値を設定できるので、メモリ余裕量およびジョブの重要度に応じて、動作中の各ジョブにメモリを割り当てることができる。
【0063】
また、本発明の計算機システムは、動的変更フラグによって、メモリ割り当て量保証値の計算対象にされているジョブについてのみ、メモリ割り当て量保証値の再計算を行うようにしているので、メモリ割り当て量保証値の再計算に伴うオーバヘッドを少なくすることができる。
【図面の簡単な説明】
【図1】本発明の一実施例のブロック図である。
【図2】ジョブ管理テーブル3の内容例を示す図である。
【図3】ジョブ管理テーブル管理手段2の処理例を示す流れ図である。
【図4】実行中のジョブからメモリの割り当て要求が出力された時の計算機システム100の処理例を示す流れ図である。
【図5】ジョブからメモリ割り当てが要求された時のメモリ割り当て量保証値計算手段4の処理例を示す流れ図である。
【図6】実行中のジョブからメモリの解放要求が出力された時の計算機システム100の処理例を示す流れ図である。
【図7】本発明の他の実施例のブロック図である。
【図8】ジョブ管理テーブル3aの内容例を示す図である。
【符号の説明】
100、100a…計算機システム
1…スケジューラ
2、2a…ジョブ管理テーブル管理手段
3、3a…ジョブ管理テーブル
4、4a…メモリ割り当て量保証値計算手段
5…ページアウト対象決定手段
6…メモリ割り当て・解放手段
7…ページアウト手段
8…ジョブ集合
9−1〜9−n…ジョブ
10−1〜10−n…仮想記憶空間
11−1〜11−n…メモリ
12…二次記憶装置
K100、K100a…記録媒体

Claims (9)

  1. 仮想記憶方式を採用している計算機システムにおいて、
    実行中の各ジョブそれぞれについて、現時点におけるメモリ割り当て量保証値と、ユーザによって指定されているそのジョブ固有のメモリ割り当て量保証値の上限値および下限値とを管理する管理手段と、
    ジョブからの割り当て要求によって要求されているメモリ量のメモリが前記要求元のジョブに割り当てられたとき、メモリ余裕量が予め定められている閾値以上である場合には、前記要求元のジョブのメモリ割り当て量保証値を、前記要求元のジョブに対応する上限値を上限として、前記要求元のジョブに新規に割り当てたメモリ量だけ増加させ、メモリ余裕量が前記閾値未満である場合には、前記各ジョブのメモリ割り当て量保証値を、そのジョブに対応する下限値を下限にして、前記メモリ余裕量が前記閾値以上となるように均等に減少させるメモリ割り当て量保証値計算手段とを備えたことを特徴とする計算機システム。
  2. 請求項1記載の計算機システムにおいて、
    前記メモリ割り当て量保証値計算手段が、
    ジョブからの解放要求に従って要求元のジョブからメモリが解放されたとき、前記要求元のジョブのメモリ割り当て量保証値を、前記要求元のジョブに対応する下限値を下限にして、前記解放されたメモリ量だけ減少させる構成を有することを特徴とする計算機システム。
  3. 請求項1記載の計算機システムにおいて、
    前記管理手段が、実行中の各ジョブそれぞれについて、ユーザによって指定された動的変更フラグも管理する構成を有し、
    前記メモリ割り当て量保証値計算手段が、動的変更フラグによってメモリ割り当て量保証値の動的変更を行うことが指示されているジョブのみを対象にしてメモリ割り当て量保証値を再計算する構成を有することを特徴とする計算機システム。
  4. 請求項1記載の計算機システムにおいて、
    前記メモリ余裕量が、
    使用可能メモリ量から、前記各ジョブのメモリ割り当て量保証値の合計値或いは前記各ジョブに現在割り当てられているメモリ量の合計値の内の大きな方の値を差し引いたものであることを特徴とする計算機システム。
  5. 仮想記憶方式を採用している計算機システムにおけるメモリ割り当て量保証値動的変更方法であって、
    実行中の各ジョブそれぞれについて、現時点におけるメモリ割り当て量保証値と、ユーザによって指定されているそのジョブ固有のメモリ割り当て量保証値の上限値および下限値とを管理する管理ステップと、
    ジョブからの割り当て要求によって要求されているメモリ量のメモリが前記要求元のジョブに割り当てられたとき、メモリ余裕量が予め定められている閾値以上である場合には、前記要求元のジョブのメモリ割り当て量保証値を、前記要求元のジョブに対応する上限値を上限として、前記要求元のジョブに新規に割り当てたメモリ量だけ増加させ、メモリ余裕量が前記閾値未満である場合には、前記各ジョブのメモリ割り当て量保証値を、そのジョブに対応する下限値を下限にして、前記メモリ余裕量が前記閾値以上となるように均等に減少させるメモリ割り当て量保証値計算ステップとを含むことを特徴とするメモリ割り当て量保証値動的変更方法。
  6. 請求項5記載のメモリ割り当て量保証値動的変更方法において、
    前記メモリ割り当て量保証値計算ステップが、
    ジョブからの解放要求に従って要求元のジョブからメモリが解放されたとき、前記要求元のジョブのメモリ割り当て量保証値を、前記要求元のジョブに対応する下限値を下限にして、前記解放されたメモリ量だけ減少させる処理を含むことを特徴とするメモリ割り当て量保証値動的変更方法。
  7. 請求項5記載のメモリ割り当て量保証値動的変更方法において、
    前記管理ステップが、実行中の各ジョブそれぞれについて、ユーザによって指定された動的変更フラグも管理する処理を含み、
    前記メモリ割り当て量保証値計算ステップが、動的変更フラグによってメモリ割り当て量保証値の動的変更を行うことが指示されているジョブのみを対象にしてメモリ割り当て量保証値を再計算することを特徴とするメモリ割り当て量保証値動的変更方法。
  8. 請求項5記載のメモリ割り当て量保証値動的変更方法において、
    前記メモリ余裕量が、
    使用可能メモリ量から、前記各ジョブのメモリ割り当て量保証値の合計値或いは前記各ジョブに現在割り当てられているメモリ量の合計値の内の大きな方の値を差し引いたものであることを特徴とするメモリ割り当て量保証値動的変更方法。
  9. 仮想記憶方式を採用している計算機システムに、
    実行中の各ジョブそれぞれについて、現時点におけるメモリ割り当て量保証値と、ユーザによって指定されているそのジョブ固有のメモリ割り当て量保証値の上限値および下限値とを管理する管理ステップと、
    ジョブからの割り当て要求によって要求されているメモリ量のメモリが前記要求元のジョブに割り当てられたとき、メモリ余裕量が予め定められている閾値以上である場合には、前記要求元のジョブのメモリ割り当て量保証値を、前記要求元のジョブに対応する上限値を上限として、前記要求元のジョブに新規に割り当てたメモリ量だけ増加させ、メモリ余裕量が前記閾値未満である場合には、前記各ジョブのメモリ割り当て量保証値を、そのジョブに対応する下限値を下限にして、前記メモリ余裕量が前記閾値以上となるように均等に減少させるメモリ割り当て量保証値計算ステップとを実行させるためのプログラム。
JP2003034799A 2003-02-13 2003-02-13 計算機システム及びメモリ割り当て量保証値動的変更方法並びにプログラム Expired - Fee Related JP3835410B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003034799A JP3835410B2 (ja) 2003-02-13 2003-02-13 計算機システム及びメモリ割り当て量保証値動的変更方法並びにプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003034799A JP3835410B2 (ja) 2003-02-13 2003-02-13 計算機システム及びメモリ割り当て量保証値動的変更方法並びにプログラム

Publications (2)

Publication Number Publication Date
JP2004246552A JP2004246552A (ja) 2004-09-02
JP3835410B2 true JP3835410B2 (ja) 2006-10-18

Family

ID=33020387

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003034799A Expired - Fee Related JP3835410B2 (ja) 2003-02-13 2003-02-13 計算機システム及びメモリ割り当て量保証値動的変更方法並びにプログラム

Country Status (1)

Country Link
JP (1) JP3835410B2 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8108871B2 (en) * 2005-01-13 2012-01-31 Hewlett-Packard Development Company, L.P. Controlling computer resource utilization
US20060209819A1 (en) 2005-03-21 2006-09-21 Jennings Raymond B Iii Method and apparatus for efficiently expanding a P2P network
JP5256744B2 (ja) 2008-01-16 2013-08-07 日本電気株式会社 資源割当てシステム、資源割当て方法及びプログラム
JP5322595B2 (ja) * 2008-11-12 2013-10-23 キヤノン株式会社 コンピュータ、制御方法、及びプログラム
WO2021235312A1 (ja) * 2020-05-20 2021-11-25 ソニーグループ株式会社 情報処理装置及び情報処理方法

Also Published As

Publication number Publication date
JP2004246552A (ja) 2004-09-02

Similar Documents

Publication Publication Date Title
JP2589932B2 (ja) 装置の割り当てのグローバルな最適化方法とシステム
US9081627B1 (en) Workload management with resource transfer sequence planned as a function of ranking of resource allocations
US20120096468A1 (en) Compute cluster with balanced resources
EP1607863A2 (en) System and method for memory allocation
US20240248648A1 (en) Memory system and method of controlling nonvolatile memory
WO2012029149A1 (ja) 情報処理プログラム、情報処理装置及び情報処理方法
US20160313922A1 (en) Memory system
KR20050011559A (ko) 개선된 edf 스케쥴링 방법
JP6885193B2 (ja) 並列処理装置、ジョブ管理方法、およびジョブ管理プログラム
JP2021140306A (ja) メモリシステムおよび制御方法
US20090300638A1 (en) Memory allocators corresponding to processor resources
JP3835410B2 (ja) 計算機システム及びメモリ割り当て量保証値動的変更方法並びにプログラム
KR20200036675A (ko) 저장 공간을 동적으로 할당하는 제어 장치 및 이를 포함하는 데이터 저장 장치
JP3664021B2 (ja) サービスレベルによる資源割当方式
JP4409568B2 (ja) 帯域制御プログラム及びマルチプロセッサシステム
JP5419134B2 (ja) ベクトルプロセッサ及びベクトル命令発行方法
US11816043B2 (en) System and method for managing resources of a storage device and quantifying the cost of I/O requests
US9223689B2 (en) Apparatus and method for managing memory
US20190294474A1 (en) Predictive queue map for parallel computing resource management
US20130332661A1 (en) Information processing apparatus and method and program
JP2853654B2 (ja) 密結合マルチプロセッサシステムにおける代替処理方式
JP3334588B2 (ja) リソースブロックによる資源分割管理方法及びプログラムを記録した機械読み取り可能な記録媒体
JP2001142723A (ja) 資源配分方法、計算機システム及び記録媒体
JP2016103258A (ja) 並列演算装置、並列演算システム、およびジョブ制御プログラム
JPH1078942A (ja) マルチプロセッサシステム

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20060621

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20060717

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

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100804

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110804

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110804

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120804

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130804

Year of fee payment: 7

LAPS Cancellation because of no payment of annual fees