JP6762450B2 - リソース制御装置、リソース制御方法及びリソース制御プログラム - Google Patents

リソース制御装置、リソース制御方法及びリソース制御プログラム Download PDF

Info

Publication number
JP6762450B2
JP6762450B2 JP2020503151A JP2020503151A JP6762450B2 JP 6762450 B2 JP6762450 B2 JP 6762450B2 JP 2020503151 A JP2020503151 A JP 2020503151A JP 2020503151 A JP2020503151 A JP 2020503151A JP 6762450 B2 JP6762450 B2 JP 6762450B2
Authority
JP
Japan
Prior art keywords
memory area
limit value
size
stopped
resource control
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
JP2020503151A
Other languages
English (en)
Other versions
JPWO2019167157A1 (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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric 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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Publication of JPWO2019167157A1 publication Critical patent/JPWO2019167157A1/ja
Application granted granted Critical
Publication of JP6762450B2 publication Critical patent/JP6762450B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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
    • 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
    • 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/485Task life-cycle, e.g. stopping, restarting, resuming execution
    • 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/5022Mechanisms to release resources
    • 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/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/5038Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration
    • 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/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/505Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
    • 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/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/5055Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering software capabilities, i.e. software resources associated or available to the machine
    • 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/5061Partitioning or combining of resources
    • G06F9/5077Logical partitioning of resources; Management or configuration of virtualized resources

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)
  • Memory System (AREA)
  • Stored Programmes (AREA)

Description

この発明は、プロセスが使用するリソースを制御する技術に関する。
従来のリソース制御では、グループ化したプロセス群に対して、そのグループが使用可能なメモリ使用量が制限される。また、グループのメモリ使用量が制限値に達した場合、グループに所属する全てのプロセスを停止させることにより、他のグループに影響させない制御されている。
特許文献1には、リソース制御対象のプロセスが動作するメモリ領域において、メモリ使用量の残量が無い場合に、基準値を用いてプロセスを選出し、選出されたプロセスを停止させることが記載されている。これにより、特許文献1では、メモリを確保し、不具合プロセスに起因したメモリ負荷による、他のプロセスへの影響を排除している。
特開2000−293386号公報
従来のリソース制御では、リソース制御対象のプロセスの素性が判明していることが前提となっている。
ユーザによって開発されたプロセスのように、機能及び特性を特定できないプロセスを有するシステムにおいて、リソース制御対象の全てのプロセスを特定のグループに分類し、グループ毎に適切なリソース制御を実施することは困難である。リソース制御対象のプロセスが動作するメモリ領域において、使用可能なメモリ領域の残量が無い場合、どのプロセスを再起動もしくは停止させるかの判定も同様に困難である。そのため、継続動作が期待されるサービスに関わるプロセスを再起動もしくは停止させる恐れがあり、サービスを継続して動作させられない可能性があった。
この発明は、リソース制御対象のプロセスの素性が判明してしない場合であっても、サービスを継続して動作させ易くすることを目的とする。
この発明に係るリソース制御装置は、
制限値x以下のサイズのメモリ領域で制御対象の複数のプロセスを動作させるプロセス制御部と、
前記制御対象の複数のプロセスから停止したプロセスを検出する停止検出部と、
前記停止検出部によって停止したプロセスが検出されると、前記制御対象のプロセス毎に使用可能なメモリ領域のサイズを緩和制限値として割り当てるリソース割当部と
を備え、
前記プロセス制御部は、前記停止検出部によって停止したプロセスが検出されると、前記制御対象の各プロセスを、前記リソース割当部によってそのプロセスに割り当てられた前記緩和制限値以下のサイズのメモリ領域で縮退運転させる。
この発明では、使用可能なメモリ領域の残量が無くなる前に、使用可能なメモリ領域をプロセス毎に分離して割り当て、縮退運転させる。これにより、各プロセスのメモリ領域の使用量を抑制させつつ、異常が発生していないプロセスを縮退運転により継続動作させることが可能である。
実施の形態1に係るリソース制御装置10のハードウェア構成図。 実施の形態1に係るリソース制御装置10のソフトウェア構成図。 実施の形態1に係るリソース制御装置10の全体的な動作を示すフローチャート。 実施の形態1に係る依存管理テーブル51を示す図。 実施の形態1に係る使用量管理テーブル52を示す図。 実施の形態1に係るグループ監視処理のフローチャート。 実施の形態2に係るリソース制御装置10のソフトウェア構成図。 実施の形態2に係る使用量ログテーブル53を示す図。 実施の形態2に係る操作履歴テーブル54を示す図。 実施の形態3に係るリソース制御装置10のソフトウェア構成図。 実施の形態3に係るリソース制御装置10の動作を示すフローチャート。
実施の形態1.
***構成の説明***
図1を参照して、実施の形態1に係るリソース制御装置10のハードウェア構成を説明する。
リソース制御装置10は、プロセッサ11と、メモリ12と、ストレージ13と、通信インタフェース14とのハードウェアを備える。プロセッサ11は、信号線を介して他のハードウェアと接続され、これら他のハードウェアを制御する。
プロセッサ11は、プロセッシングを行うIC(Integrated Circuit)である。つまり、プロセッサ11は、処理回路である。プロセッサ11は、具体例としては、CPU(Central Processing Unit)、DSP(Digital Signal Processor)、GPU(Graphics Processing Unit)である。
メモリ12は、データを一時的に記憶する記憶装置である。メモリ12は、具体例としては、SRAM(Static Random Access Memory)、DRAM(Dynamic Random Access Memory)である。
ストレージ13は、データを保管する記憶装置である。ストレージ13は、具体例としては、HDD(Hard Disk Drive)である。また、ストレージ13は、SD(登録商標,Secure Digital)メモリカード、CF(CompactFlash,登録商標)、NANDフラッシュ、フレキシブルディスク、光ディスク、コンパクトディスク、ブルーレイ(登録商標)ディスク、DVD(Digital Versatile Disk)といった可搬記録媒体であってもよい。
通信インタフェース14は、外部の装置と通信するためのインタフェースである。通信インタフェース14は、具体例としては、Ethernet(登録商標)、USB(Universal Serial Bus)、HDMI(登録商標,High−Definition Multimedia Interface)のポートである。
図1では、プロセッサ11は、1つだけ示されていた。しかし、プロセッサ11は、複数であってもよい。
図2を参照して、実施の形態1に係るリソース制御装置10のソフトウェア構成を説明する。
リソース制御装置10では、オペレーティングシステム20が動作する。オペレーティングシステム20では、複数のプロセス30と、管理部40とが動作する。図2では、4つのプロセス30が示されているが、プロセス30の数は2つであっても、3つであっても、5つ以上であってもよい。
オペレーティングシステム20は、機能構成要素として、リソース制御部21を備える。
リソース制御部21は、リソースの制御対象のプロセス30について、グループ作成と、グループ削除と、グループへのプロセス30の登録と、プロセス30の所属先のグループの変更と、メモリ使用量の制限と、メモリ使用量の収集とを実施するためのインタフェースである。
管理部40は、機能構成要素として、プロセス制御部41と、停止検出部42と、リソース割当部43とを備える。
プロセス制御部41は、プロセスのグループの作成といったグループに関する処理等をリソース制御部21に対して要求する。停止検出部42は、リソースの制御対象の複数のプロセス30から、停止したプロセス30を検出する。リソース割当部43は、制御対象のプロセス30毎に使用可能なメモリ領域のサイズを割り当てる。
***動作の説明***
図3から図6を参照して、実施の形態1に係るリソース制御装置10の動作を説明する。
実施の形態1に係るリソース制御装置10の動作は、実施の形態1に係るリソース制御方法に相当する。また、実施の形態1に係るリソース制御装置10の動作は、実施の形態1に係るリソース制御プログラムの処理に相当する。
図3を参照して、実施の形態1に係るリソース制御装置10の全体的な動作を説明する。
(ステップS101:テーブル生成処理)
プロセス制御部41は、リソースの制御対象である複数のプロセス30を管理するための依存管理テーブル51を生成する。プロセス制御部41は、依存管理テーブル51をストレージ13に書き込む。
図4に示すように、依存管理テーブル51は、プロセス30毎に、起動時刻と、依存プロセスとを記憶する。起動時刻は、互いに比較演算でき、絶対時刻が分かる形式の時刻である。具体例としては、起動時刻は、UNIX(登録商標) timeである。依存プロセスは、対象のプロセス30が動作するために必要なプロセス30である。つまり、依存プロセスが動作していない場合には、対象のプロセス30は動作できない。例えば、Linux(登録商標)であれば、依存プロセスは、対象のプロセス30の親プロセスのことである。
(ステップS102:グループX生成処理)
プロセス制御部41は、リソース制御部21を介して、グループXを生成し、リソースの制御対象である複数のプロセス30をグループXに所属させる。
リソース割当部43は、リソース制御部21を介して、メモリ12の使用量の制限値である制限値xをグループXに対して設定する。制限値xは、グループXが使用可能なメモリ領域のサイズよりも小さいサイズである。実施の形態1では、制限値xは、グループXが使用可能なメモリ領域のサイズに1よりも小さい値α(例えば、0.95)を乗じたサイズである。
(ステップS103:使用量取得処理)
プロセス制御部41は、リソース制御部21を介して、各プロセス30が使用しているメモリ領域のサイズであるメモリ使用量を取得する。図5に示すように、プロセス制御部41は、メモリ使用量を示す使用量管理テーブル52を生成する。プロセス制御部41は、使用量管理テーブル52をストレージ13に書き込む。
(ステップS104:停止検出処理)
停止検出部42は、リソース制御部21を介して、リソースの制御対象の複数のプロセス30から、停止したプロセス30を検出する。つまり、停止検出部42は、グループXに所属する複数のプロセス30から、停止したプロセス30を検出する。
停止検出部42は、停止したプロセス30が検出された場合には、処理をステップS105に進める。一方、停止検出部42は、停止したプロセス30が検出されなかった場合には、処理をステップS103に戻して、一定時間経過後に再びメモリ使用量を取得する。
(ステップS105:グループY生成処理)
プロセス制御部41は、リソース制御部21を介して、グループXに所属するプロセス30の数と同じ数のグループYを生成し、各プロセス30をそれぞれ別のグループYに所属させる。つまり、1つのグループYに1つのプロセス30が所属する。
リソース割当部43は、各グループYを対象として、メモリ領域の使用量の制限値である制限値yを対象のグループYに対して設定する。言い換えると、リソース割当部43は、プロセス30毎に使用可能なメモリ領域のサイズを制限値yとして割り当てる。制限値yは、ステップS104で停止したプロセスが検出された時点における、対象のグループYに所属するプロセス30が使用するメモリのサイズである。つまり、第2制限値は、直近のステップS103で取得された、対象のグループYに所属するプロセス30が使用するメモリ領域のサイズである。
各プロセス30が各グループYに移行されても、停止したプロセス30が使用可能なメモリ領域のサイズは、停止したときに使用しているサイズと同じ制限値yであるため、停止したプロセス30は停止したままになる。
(ステップS106:縮退運転処理)
プロセス制御部41は、複数のグループYから1つのグループを選択する。プロセス制御部41は、リソース制御部21を介して、選択したグループYの制限値yを緩和した上で、選択したグループYに所属するプロセス30を縮退運転させる。例えば、プロセス制御部41は、シグナル又はメッセージキューといったプロセス間通信、あるいは、共有メモリを用いて、プロセス30が停止したことの通知を、選択したグループYに所属するプロセス30に送信する。プロセス30は、通知を受信すると、メモリ不足が発生しているとして、縮退運転に移行する。
つまり、プロセス制御部41は、選択したグループYに対して、制限値yよりも大きいサイズである緩和制限値を割り当てる。緩和制限値は、直近のステップS103で取得された、対象のグループYに所属するプロセス30が使用するメモリ領域のサイズよりも大きいサイズである。実施の形態1では、直近のステップS103で取得された、対象のグループYに所属するプロセス30が使用するメモリ領域のサイズに、値αの逆数(つまり、1/α)を乗じたサイズである。
縮退運転は、不要な機能を動作させず、必要最小限の機能のみで動作する運転モードである。
ここで、プロセス制御部41は、依存管理テーブル51を参照して、依存プロセスを有するプロセス30が存在する場合には、依存プロセスを第1に優先して選択する。また、プロセス制御部41は、直近のステップS103で取得されたメモリ使用量が多いプロセス30を第2に優先して選択する。つまり、プロセス制御部41は、複数の依存プロセスが存在する場合には、メモリ使用量が多い依存プロセスを優先して選択する。
制限値yが緩和されたため、メモリ不足で停止したプロセス30の動作を再開させることが可能になる場合がある。
(ステップS107:緩和判定処理)
プロセス制御部41は、全てのグループYに所属するプロセス30について、ステップS106の処理が実行されたか否かを判定する。
プロセス制御部41は、実行された場合には、処理をステップS108に進める。一方、プロセス制御部41は、実行されていない場合には、処理をステップS106に戻して、未だ処理が実行されていないグループYを選択する。
(ステップS108:グループ監視処理)
プロセス制御部41は、全てのグループYに所属するプロセス30が使用するメモリ領域のサイズの合計値がステップS102で設定された制限値x以下になるまで監視を行う。
(ステップS109:グループY削除処理)
プロセス制御部41は、ステップS108で合計値が制限値x以下になることが確認され不要になった全てのグループYを削除する。
図6を参照して、実施の形態1に係るグループ監視処理(ステップS108)を説明する。
(ステップS201:使用量判定処理)
プロセス制御部41は、リソース制御部21を介して、全てのグループYに所属するプロセス30が使用しているメモリ領域のサイズであるメモリ使用量を取得する。そして、プロセス制御部41は、全てのグループYに所属するプロセス30が使用するメモリ領域のサイズの合計値が、ステップS102で設定された制限値x以下であるか否かを判定する。
プロセス制御部41は、合計値が制限値x以下である場合には、処理をステップS202に進める。一方、合計値が制限値xより大きい場合には、処理をステップS203に進める。
(ステップS202:復旧処理)
プロセス制御部41は、リソース制御部21を介して、全てのグループYに所属するプロセス30を、グループXに移行させる。そして、プロセス制御部41は、各プロセス30に対して、メモリ不足が解消されたことを通知し、各プロセス30を縮退運転ではなく通常運転で動作させる。
(ステップS203:停止判定処理)
停止検出部42は、全てのグループYに所属するプロセス30から、停止したプロセス30を検出する。
停止検出部42は、停止したプロセス30が検出された場合には、処理をステップS204に進める。一方、停止検出部42は、停止したプロセス30が検出されなかった場合には、処理をステップS201に戻して、一定時間経過後に再びメモリ使用量を取得する。
(ステップS204:再起動処理)
プロセス制御部41は、リソース制御部21を介して、ステップS203で検出された停止したプロセス30を再起動させる。そして、プロセス制御部41は、処理をステップS201に戻して、一定時間経過後に再びメモリ使用量を取得する。
***実施の形態1の効果***
以上のように、実施の形態1に係るリソース制御装置10は、使用可能なメモリ領域の残量が無くなる前に、使用可能なメモリ領域をプロセス30毎に分離して割り当て、各プロセス30を縮退運転させる。これにより、各プロセス30のメモリ領域の使用量を抑制させつつ、メモリ領域の使用量が異常に増加したプロセス30とは無関係なプロセス30を縮退運転により継続動作させることが可能である。また、異常が発生したプロセス30については、使用可能なメモリ領域のサイズを大きく割り当てることにより、動作を再開させることが可能である。
プロセス30を継続動作させることにより、システムの可用性が向上する。また、プロセス30毎に閾値及び対処方法を事前に設定する必要がなく、導入が容易である。
実施の形態2.
実施の形態2は、各プロセス30が使用するメモリ領域のサイズをログデータとして出力する点が実施の形態1と異なる。実施の形態2では、この異なる点を説明し、同一の点については説明を省略する。
***構成の説明***
図7を参照して、実施の形態2に係るリソース制御装置10のソフトウェア構成を説明する。
リソース制御装置10は、管理部40がログ出力部44を備える点が図2に示すリソース制御装置10と異なる。
***動作の説明***
図3と図6と図8と図9とを参照して、実施の形態2に係るリソース制御装置10の動作を説明する。
実施の形態2に係るリソース制御装置10の動作は、実施の形態2に係るリソース制御方法に相当する。また、実施の形態2に係るリソース制御装置10の動作は、実施の形態2に係るリソース制御プログラムの処理に相当する。
図3のステップS103と、図6のステップS201とにおいて、ログ出力部44は、取得されたメモリ使用量をログデータとして出力する。
実施の形態2では、図8に示すように、ログ出力部44は、取得されたメモリ使用量を使用量ログテーブル53に追記する。図8では、使用量ログテーブル53は、取得時刻毎に、各プロセス30のメモリ使用量と、メモリ使用量毎の比率とを記憶する。メモリ使用量毎の比率は、メモリ使用量をA1とA2とA3との3つのレベルに分類し、各レベルに該当するメモリ使用量のプロセス30の数を表している。つまり、図8の1行目のレコードであれば、メモリ使用量毎の比率は、4:0:0なので、レベルA1に該当するプロセス30の数が4であり、レベルA2とA3とに該当するプロセス30の数は0であることを表している。ここでは、レベルA1は、メモリ使用量が、制限値y以下の場合である。レベルA2は、メモリ使用量が、制限値yより多く、かつ、緩和制限値以下の場合である。レベルA3は、メモリ使用量が、緩和制限値より多い場合である。
図3のステップS102とステップS105とステップS106と、図6のステップS202とステップS203とステップS204とにおいて、ログ出力部44は、実施した操作をログデータとして出力する。なお、ログ出力部44は、各ステップにおいて、複数回ログデータを出力してもよい。
実施の形態2では、図9に示すように、ログ出力部44は、実施した操作を操作履歴テーブル54に追記する。図9では、操作履歴テーブル54は、時刻毎に、操作種類と、操作内容と、結果とを記憶する。操作種類は、実施された操作の分類である。操作種類は、グループ作成と、グループ削除と、グループへのプロセス30の登録と、プロセス30の所属先のグループの変更と、メモリ使用量の制限と、メモリ使用量の収集と、通知と、再起動と等である。操作内容は、実施された操作の具体的な内容である。結果は、実施された操作が成功したか失敗したかを示す。結果は、オペレーティングシステム20及びリソース制御部21に対する要求の結果である。なお、結果は、操作が失敗した場合には、原因を示すエラー番号を含んでもよい。
***実施の形態2の効果***
以上のように、実施の形態2に係るリソース制御装置10は、各時点において、メモリ使用量と実施された操作とをログデータとして出力する。これにより、メモリ不足が発生した場合に、原因がプロセス30にあるか環境にあるかといったことを特定可能である。また、障害のレベルの解析も可能である。
実施の形態3.
実施の形態3は、ガーベージコレクタを優先して縮退運転を開始させる点が実施の形態1,2と異なる。実施の形態3では、この異なる点を説明し、同一の点については説明を省略する。
実施の形態3では、実施の形態1に機能を追加した場合を説明するが、実施の形態2に機能を追加することも可能である。
***構成の説明***
図10を参照して、実施の形態3に係るリソース制御装置10のソフトウェア構成を説明する。
リソース制御装置10は、ガーベージコレクタ推定部45を備える点が図2に示すリソース制御装置10と異なる。
***動作の説明***
図11を参照して、実施の形態3に係るリソース制御装置10の動作を説明する。
実施の形態3に係るリソース制御装置10の動作は、実施の形態3に係るリソース制御方法に相当する。また、実施の形態3に係るリソース制御装置10の動作は、実施の形態3に係るリソース制御プログラムの処理に相当する。
ステップS301からステップS305の処理は、図3のステップS101からステップS105の処理と同じである。ステップS308からステップS310の処理は、図3のステップS107からステップS109の処理と同じである。
(ステップS306:ガーベージコレクタ推定処理)
ガーベージコレクタ推定部45は、全てのグループYに所属するプロセス30のうちガーベージコレクタを推定する。具体的には、ガーベージコレクタ推定部45は、依存管理テーブル51を参照して、起動時刻が最も早いプロセス30をガーベージコレクタと推定する。
プロセス制御部41は、ガーベージコレクタであるプロセス30が所属するグループYの制限値yを緩和した上で、ガーベージコレクタであるプロセス30を縮退運転させる。
プロセス制御部41は、ガーベージコレクタの動作が完了した、又は、ガーベージコレクタが未動作であることを示す通知を受信した場合と、縮退運転させたプロセス30が停止した場合とに、処理をステップS307に進める。
(ステップS307:縮退運転処理)
プロセス制御部41は、ステップS306で縮退運転させたプロセス30が所属するグループY以外のグループYから1つのグループを選択する。そして、プロセス制御部41は、リソース制御部21を介して、選択したグループYの制限値yを緩和した上で、選択したグループYに所属するプロセス30を縮退運転させる。
***実施の形態3の効果***
以上のように、実施の形態3に係るリソース制御装置10は、ガーベージコレクタであるプロセス30を推定し、ガーベージコレクタであるプロセス30を優先して、縮退運転させる。ガーベージコレクタが実行されれば、メモリが解放され、メモリ不足が解消する。そのため、ガーベージコレクタであるプロセス30を優先して運転させることにより、早期にメモリ不足を解消させることが可能である。
10 リソース制御装置、11 プロセッサ、12 メモリ、13 ストレージ、14 通信インタフェース、20 オペレーティングシステム、21 リソース制御部、30 プロセス、40 管理部、41 プロセス制御部、42 停止検出部、43 リソース割当部、44 ログ出力部、45 ガーベージコレクタ推定部。

Claims (11)

  1. 制限値x以下のサイズのメモリ領域で制御対象の複数のプロセスを動作させるプロセス制御部と、
    前記制御対象の複数のプロセスから使用可能なメモリの不足により停止したプロセスを検出する停止検出部と、
    前記停止検出部によって停止したプロセスが検出されると、前記制御対象のプロセス毎に使用可能なメモリ領域のサイズを緩和制限値として割り当てるリソース割当部と
    を備え、
    前記プロセス制御部は、前記停止検出部によって停止したプロセスが検出されると、停止したプロセスを除く前記制御対象の各プロセスを、前記リソース割当部によってそのプロセスに割り当てられた前記緩和制限値以下のサイズのメモリ領域で縮退運転させるとともに、前記停止したプロセスを前記リソース割当部によってそのプロセスに割り当てられた前記緩和制限値以下のサイズのメモリ領域で起動させるリソース制御装置。
  2. 前記制限値xは、使用可能なメモリ領域のサイズよりも小さいサイズであり、
    前記リソース割当部は、前記制御対象の各プロセスを対象プロセスとして、前記停止検出部によって停止したプロセスが検出された時点における前記対象プロセスが使用するメモリ領域のサイズよりも大きいサイズを前記緩和制限値として割り当てる
    請求項1に記載のリソース制御装置。
  3. 前記制限値xは、使用可能なメモリ領域のサイズに1よりも小さい値αを乗じたサイズであり、
    前記リソース割当部は、前記対象プロセスが使用するメモリ領域のサイズに、前記値αの逆数を乗じたサイズを前記緩和制限値として割り当てる
    請求項2に記載のリソース制御装置。
  4. 前記プロセス制御部は、他のプロセスが動作するために必要なプロセスである依存プロセスが存在する場合には、依存プロセスを優先して前記緩和制限値以下のサイズのメモリ領域で縮退運転させる
    請求項1から3までのいずれか1項に記載のリソース制御装置。
  5. 前記プロセス制御部は、使用するメモリ領域のサイズが大きいプロセスを優先して前記緩和制限値以下のサイズのメモリ領域で縮退運転させる
    請求項1から4までのいずれか1項に記載のリソース制御装置。
  6. 前記プロセス制御部は、前記各プロセスを前記緩和制限値以下のサイズのメモリ領域で縮退運転させている場合に、前記制御対象の複数のプロセスから停止したプロセスが検出されなくなると、前記制限値x以下のサイズのメモリ領域で前記制御対象の複数のプロセスを動作させる
    請求項1から5までのいずれか1項に記載のリソース制御装置。
  7. 前記リソース制御装置は、さらに、
    前記各プロセスが使用するメモリ領域のサイズと、実行した処理との少なくともいずれかを示すログデータを出力するログ出力部
    を備える請求項1から6までのいずれか1項に記載のリソース制御装置。
  8. 前記プロセス制御部は、ガーベージコレクタであるプロセスを優先して前記緩和制限値以下のサイズのメモリ領域で縮退運転させる
    請求項1から7までのいずれか1項に記載のリソース制御装置。
  9. 前記リソース制御装置は、さらに、
    前記各プロセスの起動時刻に基づき、ガーベージコレクタであるプロセスを推定するガーベージコレクタ推定部
    を備え、
    前記プロセス制御部は、前記ガーベージコレクタ推定部によってガーベージコレクタであるプロセスと推定されたプロセスを優先して前記緩和制限値以下のサイズのメモリ領域で縮退運転させる
    請求項8に記載のリソース制御装置。
  10. プロセス制御部が、制限値x以下のサイズのメモリ領域で制御対象の複数のプロセスを動作させ、
    停止検出部が、前記制御対象の複数のプロセスから使用可能なメモリの不足により停止したプロセスを検出し、
    リソース割当部が、前記停止検出部によって停止したプロセスが検出されると、前記制御対象のプロセス毎に使用可能なメモリ領域のサイズを緩和制限値として割り当て、
    前記プロセス制御部が、前記停止検出部によって停止したプロセスが検出されると、停止したプロセスを除く前記制御対象の各プロセスを、前記リソース割当部によってそのプロセスに割り当てられた前記緩和制限値以下のサイズのメモリ領域で縮退運転させるとともに、前記停止したプロセスを前記リソース割当部によってそのプロセスに割り当てられた前記緩和制限値以下のサイズのメモリ領域で起動させるリソース制御方法。
  11. 制限値x以下のサイズのメモリ領域で制御対象の複数のプロセスを動作させるプロセス制御処理と、
    前記制御対象の複数のプロセスから使用可能なメモリの不足により停止したプロセスを検出する停止検出処理と、
    前記停止検出処理によって停止したプロセスが検出されると、前記制御対象のプロセス毎に使用可能なメモリ領域のサイズを緩和制限値として割り当てるリソース割当処理と
    行うリソース制御装置としてコンピュータを機能させ
    前記プロセス制御処理では、前記停止検出処理によって停止したプロセスが検出されると、停止したプロセスを除く前記制御対象の各プロセスを、前記リソース割当処理によってそのプロセスに割り当てられた前記緩和制限値以下のサイズのメモリ領域で縮退運転させるとともに、前記停止したプロセスを前記リソース割当処理によってそのプロセスに割り当てられた前記緩和制限値以下のサイズのメモリ領域で起動させるリソース制御プログラム。
JP2020503151A 2018-02-28 2018-02-28 リソース制御装置、リソース制御方法及びリソース制御プログラム Expired - Fee Related JP6762450B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2018/007429 WO2019167157A1 (ja) 2018-02-28 2018-02-28 リソース制御装置、リソース制御方法及びリソース制御プログラム

Publications (2)

Publication Number Publication Date
JPWO2019167157A1 JPWO2019167157A1 (ja) 2020-05-28
JP6762450B2 true JP6762450B2 (ja) 2020-09-30

Family

ID=67805240

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020503151A Expired - Fee Related JP6762450B2 (ja) 2018-02-28 2018-02-28 リソース制御装置、リソース制御方法及びリソース制御プログラム

Country Status (7)

Country Link
US (1) US11409566B2 (ja)
JP (1) JP6762450B2 (ja)
KR (1) KR102254797B1 (ja)
CN (1) CN111742299A (ja)
DE (1) DE112018006950B4 (ja)
TW (1) TW201937376A (ja)
WO (1) WO2019167157A1 (ja)

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000293386A (ja) 1999-04-12 2000-10-20 Hitachi Ltd メモリ管理方式
JP2001331348A (ja) 2000-05-24 2001-11-30 Nec Software Kobe Ltd プロセスメモリ消費量増加傾向検出方式
JP3974762B2 (ja) 2001-09-19 2007-09-12 株式会社リコー 画像処理装置および画像処理方法
JP2006099332A (ja) * 2004-09-29 2006-04-13 Sony Corp 情報処理装置、プロセス制御方法、並びにコンピュータ・プログラム
JP2009238011A (ja) 2008-03-27 2009-10-15 Nec Corp 実行環境の制御方法およびプログラム
US8452875B2 (en) * 2008-10-13 2013-05-28 Mitsubishi Electric Corporation Resource allocation apparatus, resource allocation program and recording media, and resource allocation method
KR101283864B1 (ko) * 2008-10-27 2013-07-08 가부시키가이샤 히타치세이사쿠쇼 리소스 관리 방법과 내장 장치
KR100901286B1 (ko) 2008-12-23 2009-06-09 어울림정보기술주식회사 다중 코어 프로세서에서의 부하 변화에 따른 실시간 프로세스 동적 할당 시스템 및 그 방법
JP5601587B2 (ja) 2011-02-15 2014-10-08 Necソリューションイノベータ株式会社 プロセス再起動装置、プロセス再起動方法およびプロセス再起動プログラム
JP5783246B2 (ja) 2011-03-19 2015-09-24 富士通株式会社 端末装置、プロセス管理方法、およびプロセス管理プログラム
JP5691749B2 (ja) * 2011-03-31 2015-04-01 富士通株式会社 リソース抑制プログラム、リソース監視プログラム、リソース抑制装置、リソース監視装置、リソース抑制方法、リソース監視方法及びリソース抑制システム
WO2013145288A1 (ja) 2012-03-30 2013-10-03 富士通株式会社 情報処理装置、仮想マシン停止方法およびプログラム
JP6089783B2 (ja) * 2013-02-27 2017-03-08 富士通株式会社 制御装置、リソース制御プログラムおよびリソース制御方法
JP6257296B2 (ja) 2013-12-05 2018-01-10 三菱電機株式会社 リソース配分装置、リソース配分システム、リソース配分方法及びプログラム
CN104407924B (zh) 2014-10-31 2017-11-21 小米科技有限责任公司 内存优化方法及装置
US9678868B2 (en) 2014-10-31 2017-06-13 Xiaomi Inc. Method and device for optimizing memory
JP2017062721A (ja) * 2015-09-25 2017-03-30 日本電気株式会社 資源割当変更装置、資源割当変更方法、ならびに、プログラム
CN105824702A (zh) * 2016-03-22 2016-08-03 乐视云计算有限公司 一种管理程序内存占用量的方法和终端
CN106055407B (zh) * 2016-05-25 2020-02-07 努比亚技术有限公司 进程资源调整装置及方法

Also Published As

Publication number Publication date
CN111742299A (zh) 2020-10-02
DE112018006950B4 (de) 2022-07-14
KR102254797B1 (ko) 2021-05-21
DE112018006950T5 (de) 2020-11-19
TW201937376A (zh) 2019-09-16
US20210132997A1 (en) 2021-05-06
JPWO2019167157A1 (ja) 2020-05-28
US11409566B2 (en) 2022-08-09
WO2019167157A1 (ja) 2019-09-06
KR20200102526A (ko) 2020-08-31

Similar Documents

Publication Publication Date Title
US8635493B2 (en) High availability system allowing conditionally reserved computing resource use and reclamation upon a failover
US8413144B1 (en) Providing application-aware high availability of virtual machines
JP5851503B2 (ja) 高可用性仮想機械環境におけるアプリケーションの高可用性の提供
US8627143B2 (en) Dynamically modeling and selecting a checkpoint scheme based upon an application workload
US8135985B2 (en) High availability support for virtual machines
JP5212360B2 (ja) 制御プログラム、制御システムおよび制御方法
WO2016165304A1 (zh) 一种实例节点管理的方法及管理设备
US9229820B2 (en) Information processing device with memory dump function, memory dump method, and recording medium
CN109656895B (zh) 分布式存储系统、数据写入方法、装置和存储介质
CN109669822B (zh) 电子装置、备用存储池的创建方法和计算机可读存储介质
JP5713138B1 (ja) 仮想計算機システム、プリンタ制御システム、仮想計算機プログラム及びプリンタ制御プログラム
JP2014178913A (ja) 電子機器、スナップショットイメージの作成方法及びプログラム
US20150172160A1 (en) Monitoring file system operations between a client computer and a file server
US20210081234A1 (en) System and Method for Handling High Priority Management Interrupts
JP6762450B2 (ja) リソース制御装置、リソース制御方法及びリソース制御プログラム
US9749577B1 (en) Host video recording by baseboard management controller (BMC)
JP6677021B2 (ja) 情報処理装置、情報処理方法、プログラム
CN114756355A (zh) 一种计算机操作系统的进程自动快速恢复的方法和装置
US9176806B2 (en) Computer and memory inspection method
CN112328423A (zh) 一种搜索服务漏洞的处理方法、装置和存储介质
US10489239B2 (en) Multiplexing system, multiplexing method, and computer program product
CN114301927B (zh) 一种分布式系统中主节点选取方法、装置及介质
US20160266960A1 (en) Information processing apparatus and kernel dump method
US11630500B2 (en) Configuring power level of central processing units at boot time
CN107315624B (zh) 信息处理方法及虚拟化管理器

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200204

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20200204

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20200616

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200623

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200717

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200908

R150 Certificate of patent or registration of utility model

Ref document number: 6762450

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees