JP2003076562A - メモリ量的制御方法、装置、コンピュータプログラム及び記録媒体 - Google Patents

メモリ量的制御方法、装置、コンピュータプログラム及び記録媒体

Info

Publication number
JP2003076562A
JP2003076562A JP2001270043A JP2001270043A JP2003076562A JP 2003076562 A JP2003076562 A JP 2003076562A JP 2001270043 A JP2001270043 A JP 2001270043A JP 2001270043 A JP2001270043 A JP 2001270043A JP 2003076562 A JP2003076562 A JP 2003076562A
Authority
JP
Japan
Prior art keywords
instance
memory
virtual memory
application
group
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
JP2001270043A
Other languages
English (en)
Inventor
Shinji Tanaka
田中  慎司
Tetsuyasu Yamada
哲靖 山田
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.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone 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 Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2001270043A priority Critical patent/JP2003076562A/ja
Publication of JP2003076562A publication Critical patent/JP2003076562A/ja
Withdrawn legal-status Critical Current

Links

Abstract

(57)【要約】 【課題】 情報処理システムにおいてアプリケーション
を構成する各クラスのインスタンスが消費するメモリを
量的に制御する技術を提供する。 【解決手段】 アプリケーションを構成する各クラスの
インスタンスを複数のグループに分割し、それぞれのグ
ループの消費するメモリの上限を設定する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、情報処理システム
において、アプリケーションを構成する各クラスのイン
スタンス(例えば変数)が消費するリソース例えばメモ
リを量的に制御する技術に関する。
【0002】
【従来の技術】UNIX(登録商標)などの従来のOS
では、メモリ制御はプロセスごとにメモリ空間を割り当
て、割り当てられた以上のメモリを消費できないことで
行っていた。しかし、JavaにおけるEJBでのモデ
ルのようにひとつのプロセス内でさまざまなサービスを
提供する場合、従来のOSで提供されているメモリ制御
機構では、それぞれのサービスごとにメモリ消費量を制
限することができない。
【0003】また、従来のJavaセキュリティモデル
では、クラスという開発単位ごとにメモリを制御してい
た。そのため、実行時に複数の実行単位がおなじクラス
を利用していた場合、開発単位であるクラスごとに制御
しているため、プロセス、スレッドや、クラスから生成
されるインスタンスという実行単位ごとにメモリ制御を
行うことができない。しかし、メモリの量的制御におい
ては開発単位より実行単位でメモリ制御を行うことが重
要となる。なぜなら、複数の実行単位が同じ開発単位を
利用していることがあり、その場合、その開発単位が利
用しているメモリはそれぞれの実行単位に属するべきも
のである。また、従来のJavaセキュリティモデルで
は、メモリ制御はそれぞれのメモリヘ読み取り、書き込
みなどの行為を可能にするかどうかを制御できるだけで
あった。このようなJavaセキュリティモデルでは、
メモリのような量的な制御を必要とするメモリに対して
制御を行う場合、行為だけでなく量の指定ができるよう
にするべきである。
【0004】
【発明が解決しようとする課題】本発明の目的は、上記
の問題を解決し、アプリケーションの各部位におけるメ
モリ消費量を動的で柔軟に制御可能にすることにある。
【0005】
【課題を解決するための手段】本発明は、基本ライブラ
リ、アプリケーション、およびヒープからなるシステム
におけるメモリ量的制御方法において、アプリケーショ
ンを構成するクラスのインスタンスを複数のインスタン
スグループに分割し、それぞれのインスタンスグループ
の消費するメモリの上限を設定する。
【0006】本発明の一実施例によると、基本ライブラ
リと、アプリケーションを構成する一部のインスタンス
をルートインスタンスと定義し、その他のインスタンス
をほかのインスタンスの子とすることにより、ひとつの
インスタンスグループをひとつのツリーとして構成す
る。
【0007】本発明の一実施例によると、各インスタン
スグループをそれぞれ別の仮想メモリ空間に配置するこ
とにより、各グループのメモリ消費量を制限する。
【0008】本発明の一実施例によると、それぞれの仮
想メモリ空間を別プロセスに配置することにより、各イ
ンスタンスグループ間でのメモリアクセスを制限する。
【0009】本発明は、更に、上記各方法を実施するた
めの装置、コンピュータプログラム、及びコンピュータ
プログラムを記録した記録媒体を提供する。
【0010】
【発明の実施の形態】図1は、本発明のメモリ量的制御
システムの構成を示す。同図に示すメモリ制御システム
は、アプリケーション10、基本ライブラリ20、イン
スタンスツリー管理部30、インスタンスツリー40お
よびヒープ50から構成される。アプリケーション10
は、ひとつもしくは複数のインスタンスグループ11か
ら構成される。インスタンスツリーDB40は、各ルー
トインスタンスと、その他のインスタンスのリンク先を
蓄積する。インスタンスツリー管理部30は、アプリケ
ーション10および基本ライブラリ20からの通知に基
づきインスタンスツリー40を操作する。ヒープ50
は、仮想メモリ空間51から構成される。仮想メモリ空
間51は、インスタンスを内含し、そのサイズが指定さ
れている。
【0011】表1に各インスタンスグループの名前とメ
モリ量の指定の表を表す。
【0012】
【表1】
【0013】次に、上記の構成における各部分の動作を
説明する。
【0014】システムの起動時に、まず基本ライブラリ
20が起動する。たとえば、基本ライブラリは、OS、
JVMを含む。次にアプリケーション10を起動させる
ために、基本ライブラリ20はプロセス11を作成し、
そのプロセスのための仮想メモリ空間51をユーザが指
定した表に従って作成し、アプリケーションのクラスの
インスタンスをその仮想メモリ空間51に生成する。基
本ライブラリ20は、最初に生成するインスタンスをル
ートインスタンスとし、インスタンスツリー管理部30
はその情報をインスタンスツリーに登録する。ルートイ
ンスタンスに指定されたインスタンスが、さらにインス
タンスを生成すると、新規に生成されるインスタンスか
らルートインスタンスヘのリンクがインスタンスツリー
管理部30に登録される。また、そのインスタンスは、
生成元のインスタンスと同じ仮想メモリ空間に作成され
る。このようにインスタンスが生成されると、そのイン
スタンスから生成元のインスタンスヘのリンクがインス
タンス管理部に登録され、インスタンスツリーが構成さ
れる。
【0015】インスタンスが生成される度に起動時に設
定された仮想メモリ空間51が消費される。仮想メモリ
空間51の大きさは固定されているため、ある程度以上
仮想メモリ空間51を消費するとインスタンスの生成が
失敗し、アプリケーション10に例外が伝えられる。
【0016】アプリケーション10は任意のタイミング
で、特定のインスタンスをルートインスタンスとするこ
とができる。この場合、インスタンスツリーは二つのイ
ンスタンスツリーに分割される。
【0017】アプリケーション10は、任意のタイミン
グで、新規のプロセス11を起動することができる。新
規のプロセス11を起動したときに、基本ライブラリ2
0は、新規に仮想メモリ空間51を作成し、そのプロセ
ス11に割り当てる。また、この時、アプリケーション
10は、そのプロセスから、ほかの仮想メモリ空間51
を参照することができるようにすることができ、また、
任意のインスタンスツリーを新たな仮想メモリ空間51
に移動させることができる。それぞれの仮想メモリ空間
に属するインスタンスが新規にインスタンスを生成する
場合、生成元のインスタンスの仮想メモリ空間と同一の
仮想メモリ空間に生成されるため、メモリ消費量を制限
したいインスタンスをそれぞれの仮想メモリ空間に配置
することにより、メモリ消費の制限が可能となる。ま
た、それらの仮想メモリ空間をそれぞれ独立したプロセ
スに配置することにより、許可されていない仮想メモリ
空間へのアクセスを制限することも可能となる。
【0018】図2に、本発明の構成における処理開始時
の動作のフローチャートを示す。 ステップ101);ユーザは、アプリケーション10の
起動に先立ち、基本ライブラリ20が起動する。また、
ユーザは事前、もしくは起動時にアプリケーション10
を構成する各インスタンスグループの名前と消費可能な
メモリ量を表1に従って指定する。 ステップ102);基本ライブラリ20は、アプリケー
ション10を実行させるために、ヒープ50に仮想メモ
リ空間51を確保し、アプリケーション10の一つ目の
インスタンスグループ11に属する一つ目のインスタン
スをその仮想メモリ空間51に生成する。 ステップ103);インスタンスツリー管理部30は、
生成されたインスタンスをルートインスタンスとして、
インスタンスツリー40に登録する。ステップ10
4);生成されたインスタンスが処理を実行する。
【0019】図3は、本発明の構成のインスタンスグル
ープ11が新規インスタンス生成時の動作のフローチャ
ートである。 ステップ201);インスタンスグループ11は、基本
ライブラリ20にインスタンスの新規生成を要求する。 ステップ202);基本ライブラリ20は、要求に基づ
き、そのインスタンスグループ11が割り当てられてい
る仮想メモリ空間51インスタンスを生成しようとす
る。 ステップ203);このときに、基本ライブラリ20
は、要求元のインスタンスグループ11が割り当てられ
ているメモリ量と消費しているメモリ量を比べ、新しく
インスタンス生成が可能か判定する。 ステップ204);インスタンス生成が成功した場合、
生成したインスタンスをインスタンスツリー40に登録
する。 ステップ205);アプリケーション10の処理を再開
する。 ステップ206);インスタンス生成が失敗した場合、
例外を発生させる。
【0020】図4は、本発明の構成のアプリケーション
10が新規のプロセス11を生成する時の動作のフロー
チャートである。 ステップ301);インスタンスツリー管理部30は、
アプリケーション10が指定したインスタンスをルート
インスタンスにする。 ステップ302);インスタンスツリー管理部30は、
新規ルートインスタンス以下のツリーをアプリケーショ
ン10が指定した名前を持つ新規のインスタンスツリー
とする。 ステップ303);基本ライブラリ20は、新規のプロ
セス11を生成する。 ステップ304);インスタンスツリー管理部30は、
事前、もしくは起動時に指定したインスタンスグループ
のメモリ量に応じた仮想メモリ空間51を確保し、独立
したインスタンスツリーのインスタンスをその仮想メモ
リ空間51上に配置する。 ステップ305);基本ライブラリ20は、新規のイン
スタンスグループ11の動作を開始させる。
【0021】
【発明の効果】上述のように、本発明によれば、インス
タンスをツリー状に分類し、任意のインスタンスをルー
トインスタンスとしてツリーを分割し、いくつかのイン
スタンスツリーを含む仮想メモリ空間を新規プロセスに
割り当てることにより、そのプロセスのメモリ消費量の
上限を設定することが可能となる。これにより、一部の
インスタンスの不具合や、過負荷によって、ほかのイン
スタンスの動作が妨げられることがない。
【図面の簡単な説明】
【図1】本発明によるメモリ量的制御システムの構成図
である。
【図2】本発明の構成における処理開始時の動作のフロ
ーチャートを示す。
【図3】本発明の構成における新規インスタンス生成時
の動作のフローチャートを示す。
【図4】本発明の構成における新規インスタンスグルー
プ生成の動作のフローチャートである。
【符号の説明】
10 アプリケーション 11 プロセス 20 基本ライブラリ 30 インスタンスツリー管理部 40 インスタンスツリーデータベース 41 ルートインスタンス 42 インスタンス 50 ヒープ 51 仮想メモリ空間

Claims (7)

    【特許請求の範囲】
  1. 【請求項1】 仮想メモリ空間およびプロセスを制御す
    る基本ライブラリ、一つ、もしくは複数の、仮想メモリ
    空間を与えられるプロセスから構成されるアプリケーシ
    ョン、および仮想メモリを蓄積するヒープを有するシス
    テムにおけるメモリ量的制御方法において、 アプリケーションを構成するクラスのインスタンスを複
    数のグループに分割し、それぞれのグループの消費する
    メモリの上限を設定することを特徴とするメモリ量的制
    御方法。
  2. 【請求項2】 前記基本ライブラリと、前記アプリケー
    ションを構成する一部のインスタンスをルートインスタ
    ンスとし、その他のインスタンスからは、生成元のイン
    スタンスヘのリンクを張ることにより、複数のインスタ
    ンスを含む、複数のツリーを構成することによりグルー
    プ分割を行う請求項1記載のメモリ量的制御方法。
  3. 【請求項3】 各ツリーをそれぞれ別の仮想メモリ空間
    に配置することにより、各グループのメモリ消費量を制
    限する請求項1記載のメモリ量的制御方法。
  4. 【請求項4】 それぞれの仮想メモリ空間を別プロセス
    に配置することにより、各グループ間でのメモリアクセ
    スを制限する請求項1記載のメモリ量的制御方法。
  5. 【請求項5】 仮想メモリ空間及びプロセスを制御する
    基本ライブラリと、一つ、もしくは複数の仮想メモリ空
    間を与えられるプロセスから構成されるアプリケーショ
    ンと、 前記仮想メモリを蓄積するヒープと、 ルートインスタンスと、その他のインスタンスのリンク
    先を蓄積するインスタンスツリーデータベースと、 前記アプリケーションと前記基本ライブラリからの通知
    に基づき前記インスタンスツリーデータベースを操作す
    るインスタンスツリー管理部とを有し、 前記アプリケーションを構成するクラスのインスタンス
    を複数のグループに分割し、それぞれのグループの消費
    するメモリの上限を設定することを特徴とするメモリ量
    的制御装置。
  6. 【請求項6】 仮想メモリ空間及びプロセスを制御する
    基本ライブラリ、一つ、もしくは複数の、仮想メモリ空
    間を与えられるプロセスから構成されるアプリケーショ
    ン、及び仮想メモリを蓄積するヒープを有するシステム
    において、 アプリケーションを構成するクラスのインスタンスを複
    数のグループに分割し、それぞれのグループの消費する
    メモリの上限を設定してメモリ量的制御をするようにプ
    ログラムされたコンピュータプログラム。
  7. 【請求項7】 仮想メモリ空間及びプロセスを制御する
    基本ライブラリ、一つ、もしくは複数の、仮想メモリ空
    間を与えられるプロセスから構成されるアプリケーショ
    ン、及び仮想メモリを蓄積するヒープを有するシステム
    において、 アプリケーションを構成するクラスのインスタンスを複
    数のグループに分割し、それぞれのグループの消費する
    メモリの上限を設定してメモリ量的制御をするようにプ
    ログラムされたコンピュータプログラムを記録した記録
    媒体。
JP2001270043A 2001-09-06 2001-09-06 メモリ量的制御方法、装置、コンピュータプログラム及び記録媒体 Withdrawn JP2003076562A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2001270043A JP2003076562A (ja) 2001-09-06 2001-09-06 メモリ量的制御方法、装置、コンピュータプログラム及び記録媒体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2001270043A JP2003076562A (ja) 2001-09-06 2001-09-06 メモリ量的制御方法、装置、コンピュータプログラム及び記録媒体

Publications (1)

Publication Number Publication Date
JP2003076562A true JP2003076562A (ja) 2003-03-14

Family

ID=19095749

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001270043A Withdrawn JP2003076562A (ja) 2001-09-06 2001-09-06 メモリ量的制御方法、装置、コンピュータプログラム及び記録媒体

Country Status (1)

Country Link
JP (1) JP2003076562A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7954105B2 (en) 2004-12-27 2011-05-31 Seiko Epson Corporation System for limiting resource usage by function modules based on limiting conditions and measured usage
JP2013175107A (ja) * 2012-02-27 2013-09-05 Nippon Telegr & Teleph Corp <Ntt> メモリ管理装置、メモリ管理方法およびメモリ管理プログラム
KR20200092237A (ko) * 2019-01-24 2020-08-03 서강대학교산학협력단 힙 메모리 오브젝트의 배치 방법 및 이를 구현하는 이기종 메모리 시스템

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7954105B2 (en) 2004-12-27 2011-05-31 Seiko Epson Corporation System for limiting resource usage by function modules based on limiting conditions and measured usage
JP2013175107A (ja) * 2012-02-27 2013-09-05 Nippon Telegr & Teleph Corp <Ntt> メモリ管理装置、メモリ管理方法およびメモリ管理プログラム
KR20200092237A (ko) * 2019-01-24 2020-08-03 서강대학교산학협력단 힙 메모리 오브젝트의 배치 방법 및 이를 구현하는 이기종 메모리 시스템
KR102187213B1 (ko) 2019-01-24 2020-12-04 서강대학교 산학협력단 힙 메모리 오브젝트의 배치 방법 및 이를 구현하는 이기종 메모리 시스템

Similar Documents

Publication Publication Date Title
JP5367816B2 (ja) オペレーションの保護モードスケジューリング
TWI292127B (en) Method, apparatus and program product of dynamically allocating computer resources in a multithreaded computer
US6289424B1 (en) Method, system and computer program product for managing memory in a non-uniform memory access system
JP2893071B2 (ja) マルチ・スレッド対応ディジタル・データ・プロセッサ用スレッド・プライベート・メモリ
EP2284774A1 (en) Startup and control of graph-based computation
WO2023000673A1 (zh) 硬件加速器设备管理方法、装置及电子设备和存储介质
JP2002196960A (ja) ファイル入出力制御方法、ファイル管理サーバ及び並列計算機システム
US7058656B2 (en) System and method of using extensions in a data structure without interfering with applications unaware of the extensions
JP3429582B2 (ja) マルチプロセッサシステム
JPH0926889A (ja) 仮想計算機システム
JP2003076562A (ja) メモリ量的制御方法、装置、コンピュータプログラム及び記録媒体
US6915408B2 (en) Implementation of thread-static data in multi-threaded computer systems
JPH09146904A (ja) アドレス空間共有システム
Walters et al. Enabling interactive jobs in virtualized data centers
JP3304445B2 (ja) プログラム生成処理装置
JP2004234643A (ja) プロセススケジューリング装置、プロセススケジューリング方法、プロセススケジューリングのためのプログラム、及びプロセススケジューリングのためのプログラムを記録した記録媒体
JP7461433B2 (ja) リソース再設定可能な深層ニューラルネットワーク加速器、システムおよび方法
JPH04346136A (ja) 仮想命令プロセッサ構成制御方法
JPH09146898A (ja) プロセッサ割当て制御方法
JPH08297585A (ja) オペレーティングシステムによるデータ転送方法
JP2000268004A (ja) 分散計算機環境におけるオブジェクトの最適分散配置方法
JP2571260B2 (ja) 論理時計による動作環境選択処理方式
JPH113231A (ja) ソフトウェア処理方法
JPH1131134A (ja) コンピュータシステム及び同システムに適用するスケジューリング方法
JP3251764B2 (ja) 入出力バッファ制御装置

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20081202