JPH11327917A - プログラム処理装置 - Google Patents

プログラム処理装置

Info

Publication number
JPH11327917A
JPH11327917A JP10126535A JP12653598A JPH11327917A JP H11327917 A JPH11327917 A JP H11327917A JP 10126535 A JP10126535 A JP 10126535A JP 12653598 A JP12653598 A JP 12653598A JP H11327917 A JPH11327917 A JP H11327917A
Authority
JP
Japan
Prior art keywords
function
load
component
database
computer system
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.)
Granted
Application number
JP10126535A
Other languages
English (en)
Other versions
JP3259682B2 (ja
Inventor
Kinya Miyashita
欣也 宮下
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 JP12653598A priority Critical patent/JP3259682B2/ja
Publication of JPH11327917A publication Critical patent/JPH11327917A/ja
Application granted granted Critical
Publication of JP3259682B2 publication Critical patent/JP3259682B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Abstract

(57)【要約】 【課題】 ソースプログラムを逐次読み込み、コンパイ
ルと実行を並行して行うに際して、ハードウエアの使用
状況を監視及び制御し、ソースプログラムの円滑な実行
が可能となるプログラム処理装置を提供する。 【解決手段】 コンピュータシステム3が、自己内のハ
ードウエアの負荷状態を監視及び制御する負荷監視制御
装置5を備える構成とする。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、プログラム処理装
置に関し、特に、ソースプログラムを逐次読み込み、コ
ンパイルと実行をほぼ同時に並行して行うプログラム処
理装置に関する。
【0002】
【従来の技術】従来より、ソースプログラムの実行処理
方法において、ソースプログラム実行前にソースプログ
ラムの全ソースプログラムをコンパイル、リンクし実行
するコンパイラと、ソースプログラムをインタプリタし
ながら実行するインタプリタとが良く知られている。
【0003】これに対し、最近では、これらのコンパイ
ラとインタプリタの中間の方法が提案されている(例え
ば、特開平9−282174号公報)。この方法は、ソ
ースプログラムの実行に必要となったソースコードを逐
次読み込み、コンパイルと実行をほぼ同時に並行して行
う。
【0004】
【発明が解決しようとする課題】しかしながら、特開平
9−282174号公報に開示された発明によれば、実
行コードが増加して実行ファイルのサイズが過剰となっ
たり、負荷そのものが大きくなるため、ソースプログラ
ムを処理するコンピュータシステムのハードウエアに大
きな負荷がかかる結果、処理が停止するおそれがあり、
ソースプログラム処理が円滑にできないおそれがある。
【0005】本発明は、上記事情に鑑みてなされたもの
であり、ソースプログラムを逐次読み込み、コンパイル
と実行を並行して行うに際して、ハードウエアの使用状
況を監視及び制御し、ソースプログラムの円滑な実行が
可能となるプログラム処理装置を提供することを目的と
する。
【0006】
【課題を解決するための手段】上記目的を達成するた
め、請求項1記載のプログラム処理装置は、複数のコン
ポーネントから構成されるソースプログラムをマシンコ
ードに変換して実行するに際し、前記ソースプログラム
に含まれる関数の位置まで該ソースプログラムをコンパ
イル、実行した後、この関数の属する前記コンポーネン
ト及びこの関数に依存している前記コンポーネントを取
得し、この関数の実行に必要な部分をコンパイル、リン
クして再実行するコンピュータシステムと、このコンピ
ュータシステムとバスを介して接続され、前記ソースプ
ログラムに含まれる関数の属するコンポーネント及びこ
の関数に依存しているコンポーネントを格納し、前記コ
ンピュータシステムの要求により関数の属するコンポー
ネント及びこの関数に依存しているコンポーネントを前
記コンピュータシステムに与えるデータベースとを有す
るプログラム処理装置であって、前記コンピュータシス
テムが、自己内のハードウエアの負荷状態を監視及び制
御する負荷監視制御装置を備える構成としてある。
【0007】このような構成の発明によれば、ソースプ
ログラムを逐次読み込み、コンパイルと実行を並行して
行うに際して、プログラム処理を行うコンピュータシス
テムが、自己内のハードウエアの負荷状態を監視及び制
御する負荷監視制御装置を備えるため、ソースプログラ
ムの円滑な実行が可能となる。
【0008】請求項2記載のプログラム処理装置は、請
求項1記載のプログラム処理装置において、前記負荷監
視制御装置が、前記コンピュータシステムの前記ハード
ウエアが過負荷状態にあると判断した場合に、前記コン
ピュータシステムからの前記データベースへの前記関数
の属するコンポーネント及びこの関数に依存しているコ
ンポーネントの要求を停止させる構成としてある。
【0009】このような構成の発明によれば、負荷監視
制御装置がプログラム処理装置を構成するデータベース
に対するコンポーネント要求を停止するため、プログラ
ム処理を行うコンピュータシステムのハードウエアの負
荷を減らし、ソースプログラムの円滑な実行が可能とな
る。
【0010】請求項3記載のプログラム処理装置は、請
求項1又は2記載のプログラム処理装置において、前記
負荷監視制御装置が、前記コンピュータシステム内の前
記ハードウエアの負荷履歴を保存する手段と、前記関数
の受け取り時刻と前記負荷履歴とから負荷の大きい関数
を推定する推定手段と、前記ハードウエアの負荷状態と
前記負荷の大きい関数の存在から過負荷状態となること
を予測する判定手段と、この判断手段からの情報を受け
て前記コンピュータシステムからの前記データベースへ
の前記関数の属するコンポーネント及びこの関数に依存
しているコンポーネントの要求を停止させる負荷制御手
段とを備える構成としてある。
【0011】このような構成の発明によれば、予め負荷
の大きな関数を推定しておき、受け取った関数と推定し
た負荷の大きな関数とが一致し、かつその関数によりハ
ードウエアの負荷が所定より大きくなることを予め予測
することができるため、コンピュータシステムが判断し
てハードウエアの使用状況に応じた処理をすることがで
きる。
【0012】請求項4記載のプログラム処理装置は、請
求項2記載のプログラム処理装置において、前記負荷監
視制御装置が、前記コンピュータシステムの前記ハード
ウエアが過負荷状態にあると判断した場合に、前記デー
タベースから受け取って未処理の前記コンポーネントを
破棄し、該破棄したコンポーネントの再要求信号を作成
して保存する構成としてある。
【0013】このような構成の発明によれば、コンピュ
ータシステムのハードウエアの負荷を軽減してソースプ
ログラムの円滑な実行が可能となる。
【0014】請求項5記載のプログラム処理装置は、請
求項1〜4いずれかに記載のプログラム処理装置におい
て、前記コンピュータシステムが、複数の異なるソース
プログラムを並行してマシンコードに変換する構成とし
てある。
【0015】このような構成の発明によれば、ソースプ
ログラムを逐次読み込み、コンパイルと実行を並行して
行うプログラム処理では、関数をデータベースに問い合
わせる度に、実行を一旦中断する必要があるが、この場
合でも、複数のプログラム処理を並行して行うことで、
一つのプログラムの処理が中断している間に他のプログ
ラムを処理できるので、全体の処理速度が向上する。
【0016】請求項6記載のプログラム処理装置は、請
求項1〜5いずれかに記載のプログラム処理装置におい
て、前記コンピュータシステムが、ソースプログラム毎
にそのソースプログラムのコンポーネント間の依存関係
を管理し、該依存関係の変更を前記コンピュータシステ
ム上のみで保存するコンポーネント依存関係情報テーブ
ルを備え、前記ソースプログラの全てを実行した後、前
記データベースに対してコンポーネント依存関係情報テ
ーブルを反映させることができる構成としてある。
【0017】このような構成の発明によれば、プログラ
ム処理の実行が終わったときにコンピュータシステムに
記録されたコンポーネント依存性をデータベースに反映
させることができるので、逐次データベースのコンポー
ネント依存性を変更する場合に比べて、ハードウエアの
負荷が少なくて済む。
【0018】
【発明の実施の形態】以下、本発明のプログラム処理装
置の一実施形態について、図面を参照しながら説明す
る。図1及び図2は、本発明の実施形態にかかるプログ
ラム処理装置を示す構成図である。このプログラム処理
装置1は、異なる複数のソースプログラム(図面ではpr
og1,prog2,prog3)を並行処理するコンピュータシステ
ムであるサーバ2と、ソースプログラムに含まれる関数
のコンポーネント(図面ではA,B,C,D,E,・
・)を供給するデータベース3とがバス4によって接続
されたネットワークである。
【0019】サーバ2は、図示していないが、ソースコ
ードをオブジェクトコードに変換するコンパイルと、変
換されたオブジェクトコードを連結して実行可能なマシ
ンコードを作るリンカとを有する。また、データベース
3に関数を問い合わせる関数問い合わせフレームを格納
する関数問い合わせキューとデータベース3から転送さ
れたデータベース転送データフレームを格納するデータ
ベース転送データキューとを備える。サーバ2は、ソー
スプログラム毎に関数とその関数が所属するコンポーネ
ント及びその関数に依存しているコンポーネントの関係
を格納するコンポーネント依存関係情報テーブル10を
有し、ソースプログラム毎に管理している。また、この
コンポーネント依存関係情報テーブルを検索するコンポ
ーネント検索機能を有する。更に、データベース3から
取得したコンポーネントを格納する記憶手段11を有す
る。
【0020】サーバ2が実行するソースプログラムは、
全てデータベース3に格納されている関数を含んでい
る。サーバ2は、ソースプログラムを関数の位置までコ
ンパイル、実行し、ここで一時処理を中断し、その関数
をサーバ2内のコンポーネント依存関係情報テーブル1
0に問い合わせ、関数がここに記述されている場合は、
関数の属するコンポーネントから関数の実行に必要な分
だけコンパイル、リンクを行い、実行を再開する。コン
ポーネント依存関係情報テーブル10に関数が記述され
ていなかったときは、その関数をデータベース3に問い
合わせる。
【0021】データベース3は、サーバ2によって登録
可能なコンポーネント依存関係情報テーブルをプログラ
ム毎に有し、一つのデータ依存関係を選択する。この場
合、前回実行に必要としたコンポーネント依存テーブル
をプログラムインデックスによってユーザが指定するこ
とができ、また、これをデータベースに登録、削除でき
るようになっている。なお、プログラム実行時に登録可
能なコンポーネントをもたない(つまり、コンポーネン
トと関数のデータのみ)とき、プログラムを実行する
と、サーバとデータベースとの問い合わせ回数が大きい
ので、予め1つの依存関係を用意して、問い合わせ回数
を減少させることが好ましい。サーバ2からの関数の問
い合わせに対して、選択した依存関係に基づいてこの関
数の属するコンポーネント及びこの時点でこの関数に依
存しているコンポーネントをサーバに転送する。サーバ
2は、データベース3から渡された1つ又は複数のコン
ポーネントの関数に必要な部分についてコンパイル、リ
ンクして実行を再開する。
【0022】なお、データベース3は、図2に示すよう
に、全体のデータの転送量を下げるために、転送された
コンポーネントには転送済みマークSが付けられ、それ
以外のコンポーネントのみが転送可能になっている。サ
ーバ2のコンポーネント検索機能が故障した場合、実行
する毎に同一のコンポーネントがデータベースに対して
要求されデータ転送を行う結果、ディスクへの負荷がか
かるようになるが、データ転送の回数を制限すること
で、過負荷を防止している。
【0023】図3に、サーバ2上のコンポーネント依存
関係情報テーブルの具体的な例を示す。図3に示すよう
に、コンポーネント依存関係情報テーブルは、関数イン
デックス、関数名、その関数が所属するコンポーネント
及びこの関数に依存しているコンポーネントが関係づけ
られている。関数インデックスはデータベースに記憶さ
れる関数の数が多くなると、対象となる関数を検索する
必要が生じた場合に必要となり、データベースによって
与えられる。
【0024】サーバ2は、データベース3から転送され
たコンポーネントを記憶手段11に保存すると共に、実
行時に変更された関数に対するコンポーネント間の依存
関係についてはコンポーネント依存関係情報テーブル1
0に保存する。
【0025】データベース3からコンポーネントが次々
と転送され、ソースプログラムを順次コンパイルするた
め、マシンコードが大きくなり、その分の処理も増加す
ることから、本発明においては、サーバ2のハードウエ
ア資源を監視し、制御する負荷監視制御装置5をサーバ
2に設けている。負荷監視制御装置5は、データベース
3から転送されてくる関数の属するコンポーネント情報
の獲得を行うと共に、コンパイル、リンク、実行に関す
るサーバ2のハードウエアの使用量の測定を行い、これ
らを解析して関数をデータベースへ問い合わせるかどう
か、更にはデータベースからコンポーネントを含むデー
タの転送を受けるかどうかを決定し、ハードウエアの負
荷を軽減するように制御する。
【0026】図6は、負荷監視制御装置5の構成を示す
ブロック図である。負荷監視制御装置5は、サーバのハ
ードウエア21に対して、ディスクの使用量を計測する
ディスク使用量計測手段51、メモリの使用量を計測す
るメモリ使用量計測手段52、CPUの使用率を計測す
るCPU使用率計測手段53を介して監視アプリケーシ
ョン54と接続され、監視アプリケーション54によっ
て、ハードウエア内21の資源の使用量が一定時間毎に
監視される。監視アプリケーション54の情報は負荷検
知処理部6に送られる。また、データベース3から転送
されてきた関数についての情報は、サーバ2のハードウ
エア21からデータベース転送データ解析部55に渡さ
れる。
【0027】データベース転送データ解析部55は、必
要な情報を抽出した後、関数に関する情報を負荷検知処
理部6へ渡す。負荷検知処理部6は、受け取ったデータ
ベースから転送されたデータの適当な部分とサーバのハ
ードウエア資源消費情報を合成してデータを作成し、こ
のデータから判断して、データベースへの関数の問い合
わせを行うかどうか、又はデータベースからのコンポー
ネントの受け取りを行うかどうかを決定する。
【0028】図7は、負荷検知処理部6の構成を示すブ
ロック図である。負荷検知処理部6は、負荷情報保存部
61と負荷判断部62と負荷制御部63とから構成され
ている。
【0029】図8は、負荷情報保存部61の構成を示す
ブロック図である。負荷情報保存部61は、サーバのハ
ードウエア資源の消費状況を監視する監視アプリケーシ
ョン54から報告されたデータを保存する負荷履歴保存
部611と、データベース転送データ解析部55から渡
された転送データから関数名やその関数が属するコンポ
ーネントを抽出したデータを保存するデータベース送信
記録保存部612と、これらの負荷履歴保存部611か
ら送られてくる負荷履歴データとデータベース送信記録
保存部612から送られてくる編集データとを合成する
負荷データ合成部613とから構成される。
【0030】図9は、図7に示した負荷判断部62の構
成を示すブロック図である。この負荷判断部62は、負
荷情報保存部61で作られたコールされる関数と負荷の
関係を示す合成データから、負荷が上昇した原因を割り
出す負荷原因推定手段621と、この推定結果を負荷原
因関数リストとして記憶する負荷原因記憶手段613
と、サーバのデータベースに対するアクセスを制御する
かどうかを判断する負荷制御判定手段623から構成さ
れる。
【0031】図10は、負荷制御部63の構成を示すブ
ロック図である。この負荷制御部63は、負荷判断部6
2で負荷制御が必要であるときに出されるフラグを発見
する負荷制御感知手段631と、サーバ2のデータベー
ス3に対するアクセスを実際に制御する負荷制御実行手
段632とから構成される。負荷制御実行手段632
は、負荷原因記憶手段622に記憶されている負荷原因
関数リストを参照して過負荷になることを予想するか、
あるいは過負荷のフラグが出されていることを受けて、
関数をデータベースに問い合わせるための関数問い合わ
せキューにエントリされている関数問い合わせフレー
ム、及びデータベース転送データキューに返されるデー
タベース転送データフレームを制御する。
【0032】以上に示した本実施形態のプログラム処理
装置の動作について説明する。図1に示したサーバ2
は、異なる複数のユーザプログラムに対して、コンパイ
ルと実行を並行して行う。
【0033】これらのユーザプログラムは、複数のコン
ポーネントから構成され、これらのコンポーネントには
関数が含まれる。サーバ2がソースプログラム実行命令
時にこれらの関数に出会うと、まず、サーバ2内にある
ソースプログラム毎に管理されているコンポーネント依
存関係情報テーブル10を調べる。コンポーネント依存
関係情報テーブル10に関数が存在しなければ、関数問
い合わせデータフレームによって、関数問い合わせキュ
ーからデータベース3に関数を問い合わせる。データベ
ース3側では、プログラムインデックスからユーザが指
定したコンポーネント依存関係情報テーブルがこの関数
の属するコンポーネント、及びこの時点でこの関数につ
いて依存関係にあるコンポーネントを調べ、データベー
ス転送フレームによってこれをサーバ2に転送する。サ
ーバ2は、データベース転送データキューからこれを取
得する。
【0034】サーバ2が関数の属するコンポーネントを
獲得すると、この関数が実行に必要とされる分のソース
コードをコンパイルして、それまでに処理されたユーザ
プログラムのオブジェクトプログラムとリンクを行った
後、再実行する。
【0035】例えば、図4に示すように、ユーザプログ
ラムprog1をコンパイルして関数func1に出会うと、デー
タベースへ問い合わせ、データベースのコンポーネント
依存関係情報テーブルが所属コンポーネントAと関数fu
nc1に依存しているコンポーネントがB及びCをサーバ
に転送し、サーバはこれらのコンポーネントA,B,C
を取得し、必要な部分をコンパイル、リンクし、再実行
する。その後、その関数についてのコンポーネント依存
関係情報テーブルを新規作成又は更新する。
【0036】特に、サーバ2は、実行中に前回に行った
処理と比較して関数に依存するコンポーネントに変更を
生じた場合には、サーバ上にこのコンポーネントが存在
している場合はこれを使用し、存在しない場合はデータ
ベース3にこのコンポーネントを要求する。
【0037】例えば、図5に示すように、関数func2()
が前回コールされたとき依存するコンポーネントとして
A、Cを有していたが、その後、何らかの理由によって
この関数の依存関係に変化が生じていたとする。関数fu
nc2()が最初にコールされたとき、サーバ2上のコンポ
ーネント依存関係情報テーブルに基づいて依存コンポー
ネントA、Cからコンパイル、リンクを試みるが、実行
に必要なコンポーネントが発見できないことになる。そ
こで、データベース3に関数を問い合わせると、データ
ベース3は、コンポーネントAとコンポーネントXが実
行に必要なコンポーネントであるという情報と、コンポ
ーネントXをサーバに転送する。サーバ2はこれらを受
け取った後、関数をコンパイル、リンクして実行し、更
にコンポーネント依存関係情報テーブルを更新する。以
上はコンポーネントXがサーバ2上に存在していない場
合であるが、サーバ2上に存在している場合は、コンポ
ーネントXを転送する必要はない。
【0038】本実施形態においては、サーバ2が管理し
ている各コンポーネント間の依存関係は、プログラム実
行中は、サーバ2上のコンポーネント依存関係情報テー
ブル10のみを変更して、データベース上のコンポーネ
ント依存関係情報テーブル10は変更せず、プログラム
終了後に、ユーザがデータベース3に対してこれを反映
させることが可能になっている。
【0039】すなわち、プログラム終了後に、処理の過
程で追加、修正を施された依存関係に対して、これを表
示してユーザ側からこれらの依存関係の変更を許可する
かどうかを選択できる手段が設けられている。
【0040】これらの依存関係の変更は全てプログラム
を実行したサーバ2上で一時的に保存されており、依存
関係の変更を許可した場合は、変更された依存関係に更
新した後、これを保存する。許可しない場合は、この依
存関係の変更を削除して変更以前の依存関係に戻す。こ
れらの依存関係の変更についての許可、不許可はユーザ
(サーバ)の側からデフォルト値で設定することも可能
である。依存関係の変更を許可した場合は、サーバがデ
ータベースに対してこの変更を通知する。データベース
は、サーバから通知された依存関係の変更を受けて、排
他処理により依存関係を更新する。これによって、これ
以降に実行されるソースプログラムにおける関数の問い
合わせは、この依存関係が基準となって行われる。
【0041】本発明では、このような2つ以上のソース
プログラムを並行処理するプログラム処理装置における
問題点、すなわち、実行コードが増加して実行ファイル
のサイズが過剰となったり、負荷そのものが大きくなり
すぎると処理が停止し、ソースプログラム処理が円滑に
進められないおそれがある問題を解決するため、サーバ
2に負荷監視制御装置5を設けている。以下、負荷監視
制御装置によってサーバのハードウエアの負荷を判断す
る方法とデータベースへの問い合わせを制限する過程に
ついて説明する。
【0042】監視アプリケーション54は、ディスク使
用量計測手段51、メモリ使用率計測手段52、CPU
使用率計測手段53によって、一定時間毎にサーバのハ
ードウエア資源5を監視している。この情報を受けた負
荷検知処理部6の負荷履歴保存部611はその時の情報
に基づいて、図11に示すような表を管理する。この表
は、図11に示すように、例えばある時刻のCPU使用
率、メモリ使用率、ディスク使用率が記録され、負荷履
歴保存部611に負荷履歴リストとして管理される。
【0043】一方、データベース3から転送されてくる
データに関しては、次のように処理する。サーバ2のハ
ードウエア21は、データベース3から転送されてきた
コンポーネント情報をデータベース転送データ解析部5
5に渡し、データベース転送データ解析部55は、この
情報を図12に示すように編集する。編集された転送デ
ータ表は、例えば、サーバが受信した時刻に転送されて
きた関数名、その関数の所属するコンポーネント名、そ
の関数に依存するコンポーネント名が記述され、データ
ベース送信記録保持部612に保存する。
【0044】負荷データ合成部613は、図13に示す
ように、データベース送信記録保持部612からの編集
済み転送データ表を、負荷履歴保存部611からの編集
した時刻に最も近い負荷履歴リストの負荷履歴に対して
合成する。このようにして作成されたデータは負荷判断
部62に送られる。
【0045】負荷判断部62では、負荷原因推定手段6
21が、負荷データ合成部613で合成された編集済み
転送データが連結された負荷履歴リストを走査し、監視
アプリケーションで設定した負荷の限界増加割合に近い
箇所を発見し、その原因を表現するフラグ、例えば、メ
モリ負荷急増のフラグを立てると共に、これから所定時
間前までに負荷履歴リストに連結している転送データ表
を探索する。
【0046】例えば、図14に示すように、メモリ使用
率が急上昇したときの転送データ表を探索し、原因とな
った関数を推定する。もし、特徴的な関数が存在しない
場合は、一定時間前までに実行していた複数の関数を負
荷の大きい関数と見なすという手段を用いる。負荷の原
因となった関数が特定できる場合は、負荷原因関数リス
トに登録する。負荷原因推定手段621は、負荷原因記
憶手段622に負荷原因関数リストを登録する。この負
荷原因関数リストの要素は、図15に示すように、例え
ばCPU使用率、メモリ使用率、ディスク使用率のいず
れかを一定以上の割合で上昇させる関数名と、その関数
のインデックス、関数が属するコンポーネント名、ハー
ドウエアの負荷原因である。
【0047】また、負荷判断部62は、監視アプリケー
ション54から直接ディスク使用率、メモリ使用率、C
PU使用率の情報を一定時間毎に取得し、これらのハー
ドウエア資源のうちいずれかが過剰に使用されているか
どうかの判断を行う。過剰に使用されていると判断した
とき、負荷過剰フラグを立てる。
【0048】負荷制御部63の負荷制御感知手段631
は、負荷過剰フラグが立っていることを確認して、負荷
制御実行手段632に対して負荷過剰フラグが立ってい
ることを知らせる。負荷制御実行手段632は、負荷過
剰フラグが立っている情報が通知されている間は、全て
のデータベース3への問い合わせを保留させる。また、
図16に示すように、データベースからのデータ転送が
あった場合はこれを取り出してコンポーネントは削除し
て無効にし、再度この関数の関数問い合わせフレームを
作成した後、これを関数問い合わせキューの先頭に付け
る。後続がある場合はその順番で先頭から順次関数問い
合わせフレームを挿入していく。これにより、サーバ2
のハードウエア21の負荷が大きいときは、負荷を軽減
させるように制御できる。ハードウエア21の負荷が少
なくなったときは、負荷過剰フラグが解除され、関数問
い合わせキューから挿入した関数問い合わせフレームを
データベース3に送り、データベース3から関数の取得
を開始する。
【0049】また、本実施形態では、負荷過剰フラグが
立っていない場合でも、負荷判断部62は、一定時間毎
に負荷原因記憶手段622に管理されている負荷原因関
数リストをプローブし、負荷原因関数リストの関数名
(又は関数インデックス)とデータベース3に対する問
い合わせキュー又は受信キューに記録されている関数名
が一致しているかどうかをチェックしている。一致して
いる場合は、現在の負荷の状況にこれらが原因となる処
理による負荷分の上昇分を加算して、負荷過剰フラグが
立つ領域に及ぶと判定した場合、準負荷制御フラグを立
てる。
【0050】負荷制御実行手段632は、図17(a)
に示すように、これらの関数の問い合わせを保留するた
めにこの関数問い合わせフレームを関数問い合わせキュ
ーの最後尾に移動させる。この関数問い合わせフレーム
しかない場合は、このフレームの転送を準負荷制御フラ
グが解除されるまで保留する。
【0051】また、図17(b)に示すように、データ
ベースからの転送があった場合は、コンポーネントは削
除してこのデータ部分を無効にし、更に関数の関数問い
合わせフレームを作成し、問い合わせキューの最後尾に
このフレームを挿入する。これにより、サーバのハード
ウエアの過剰負荷を未然に防止して、ソースプログラム
処理を円滑に行うことができる。
【0052】この実施形態のプログラム処理装置によれ
ば、サーバは、異なる複数のユーザプログラムに対し
て、コンパイルと実行を並行して行う。これにより、関
数の問い合わせの時間にも他のソースプログラムの処理
が可能であり、全体の処理時間が短縮する。本実施例で
はサーバのみを例示しているが、現実にはクライアント
サーバ方式が一般的であり、この場合、複数のクライア
ントが同時にそれぞれプログラムを実行することにな
る。
【0053】ソースプログラムに存在する関数をデータ
ベースに問い合わせた結果、その関数の属するコンポー
ネント及びその関数について依存関係にあるコンポーネ
ントを全てサーバがロードした後、これをコンパイル、
リンクして実行し、そのときに生じうるコンポーネント
同士の依存関係の変更をサーバ上のみで行い、ソースプ
ログラム終了後、この修正された依存関係をデータベー
スに反映するのかの判断をユーザに任せることができる
ので、柔軟なプログラミング環境の構築が可能である。
【0054】また、サーバ上で実行されるユーザソース
プログラム単位でコンポーネント依存関係を管理するコ
ンポーネント依存関係情報テーブルを設けているので、
変更されたコンポーネントの依存関係が実行中の他のソ
ースプログラムに影響することはない。
【0055】また、データベース上のコンポーネント
は、依存関係がしばらくの間変化していなければ、複数
のユーザがこれらのコンポーネントを共有して使用でき
る。
【0056】また、ソースプログラムを必要としたその
後のソースプログラムの実行について一貫性が保たれる
という利用も可能である。
【0057】更に、サーバ上の複数のソースプログラム
の処理によってサーバのハードウエア資源がかなりの規
模で消費されている場合に、データベースへの関数の問
い合わせを保留したりデータベースからのコンポーネン
トを含むデータ転送を無効にしてもう一度データ転送を
行わせることができる負荷監視制御装置を設けたことに
より、サーバ上の負荷を軽減し、ソースプログラム処理
の停止を未然に防止して複数の異なるソースプログラム
処理を円滑に進めることができる。
【0058】なお、ユーザが誤って実行時に必要なコン
ポーネントを削除した場合、上述した実施形態では、転
送済みマークが付けられたコンポーネントはサーバに転
送されないことになる。そのため、プログラムの実行開
始、終了はサーバがデータベースに対してフレームを送
るようにして、プログラムの実行が開始されたことをデ
ータベースに認識させる必要がある。これにより、サー
バが該当するコンポーネントがサーバ上にないことを検
知して、データベースからコンポーネントを転送させる
ことが可能となる。
【0059】本実施形態では、サーバ、データベースが
それぞれ一つの場合で説明しているが、複数のサーバ、
複数のデータベースであってもよい。
【0060】また、本実施形態では、サーバが複数のソ
ースプログラムを処理するとしたが、これらのソースプ
ログラムは、クライアントのエディタによって記述さ
れ、サーバが実行処理を行ったものでもよい。
【0061】
【発明の効果】本発明のプログラム処理装置によれば、
ソースコードを逐次読み込み、コンパイルと実行をほぼ
同時に並行して行うソースプログラムの実行処理に際
し、ソースプログラムの実行処理を円滑化することがで
きる。
【図面の簡単な説明】
【図1】本発明のプログラム処理装置の概略の構成を示
す構成図である。
【図2】サーバとデータベースのそれぞれが所有するコ
ンポーネントを示す概念図である。
【図3】コンポーネント依存関係情報とコンポーネント
依存関係情報テーブルを示す概念図である。
【図4】サーバのコンポーネント依存関係情報テーブル
を示す概念図である。
【図5】サーバが読み込んだコンポーネント依存関係情
報テーブルとその後に変化が生じたときのサーバがデー
タベースから新しいコンポーネントを取得する状態を示
す概念図である。
【図6】本発明にかかる負荷監視制御装置の構成を示す
ブロック図である。
【図7】負荷監視制御装置の負荷検知処理部の構成を示
すブロック図である。
【図8】負荷検知処理部の負荷情報保存部の構成を示す
ブロック図である。
【図9】負荷検知処理部の負荷判断部の構成を示すブロ
ック図である。
【図10】負荷検知処理部の負荷制御部の構成を示すブ
ロック図である。
【図11】負荷履歴保存部で作成される負荷履歴と負荷
履歴リストを示す概念図である。
【図12】データベース転送データ解析部で編集される
転送データを示す概念図である。
【図13】データ合成器で合成される転送データと負荷
履歴リストを示す概念図である。
【図14】負荷推定手段による探索を示す概念図であ
る。
【図15】負荷原因記憶手段により登録される負荷原因
関数リストの要素を示す概念図である。
【図16】負荷制御実行手段が負荷制御感知手段からの
通知によってデータベースから転送されたフレームを処
理する状態を示す概念図である。
【図17】(a)は、準負荷制御時に関数問い合わせフ
レームを関数問い合わせキューの最後尾に移動させる状
態を示す概念図であり、(b)は、データベースから転
送されたフレームを処理する状態を示す概念図である。
【符号の説明】
1 プログラム処理装置 2 コンピュータシステム(サーバ) 21 ハードウエア 3 データベース 4 バス 5 負荷監視制御装置 54 監視アプリケーション 6 負荷検知処理部 61 負荷情報保存部 62 負荷判断部 53 負荷制御部

Claims (6)

    【特許請求の範囲】
  1. 【請求項1】 複数のコンポーネントから構成されるソ
    ースプログラムをマシンコードに変換して実行するに際
    し、前記ソースプログラムに含まれる関数位置まで該ソ
    ースプログラムをコンパイル、実行した後、この関数の
    属する前記コンポーネント及びこの関数に依存している
    前記コンポーネントを取得し、この関数の実行に必要な
    部分をコンパイル、リンクして再実行するコンピュータ
    システムと、 このコンピュータシステムとバスを介して接続され、前
    記ソースプログラムに含まれる関数の属するコンポーネ
    ント及びこの関数に依存しているコンポーネントを格納
    し、前記コンピュータシステムの要求により関数の属す
    るコンポーネント及びこの関数に依存しているコンポー
    ネントを前記コンピュータシステムに与えるデータベー
    スとを有するプログラム処理装置であって、 前記コンピュータシステムが、自己内のハードウエアの
    負荷状態を監視及び制御する負荷監視制御装置を備える
    ことを特徴とするプログラム処理装置。
  2. 【請求項2】 請求項1記載のプログラム処理装置にお
    いて、 前記負荷監視制御装置が、前記コンピュータシステムの
    前記ハードウエアが過負荷状態にあると判断した場合
    に、前記コンピュータシステムからの前記データベース
    への前記関数の属するコンポーネント及びこの関数に依
    存しているコンポーネントの要求を停止させることを特
    徴とするプログラム処理装置。
  3. 【請求項3】 請求項1又は2記載のプログラム処理装
    置において、 前記負荷監視制御装置が、前記コンピュータシステム内
    の前記ハードウエアの負荷履歴を保存する手段と、前記
    関数の受け取り時刻と前記負荷履歴とから負荷の大きい
    関数を推定する推定手段と、前記ハードウエアの負荷状
    態と前記負荷の大きい関数の存在から過負荷状態となる
    ことを予測する判定手段と、この判断手段からの情報を
    受けて前記コンピュータシステムからの前記データベー
    スへの前記関数の属するコンポーネント及びこの関数に
    依存しているコンポーネントの要求を停止させる負荷制
    御手段とを備えることを特徴とするプログラム処理装
    置。
  4. 【請求項4】 請求項2記載のプログラム処理装置にお
    いて、 前記負荷監視制御装置が、前記コンピュータシステムの
    前記ハードウエアが過負荷状態にあると判断した場合
    に、前記データベースから受け取って未処理の前記コン
    ポーネントを破棄し、該破棄したコンポーネントの再要
    求信号を作成して保存することを特徴とするプログラム
    処理装置。
  5. 【請求項5】 請求項1〜4いずれかに記載のプログラ
    ム処理装置において、前記コンピュータシステムが、複
    数の異なるソースプログラムを並行してマシンコードに
    変換することを特徴とするプログラム処理装置。
  6. 【請求項6】 請求項1〜5いずれかに記載のプログラ
    ム処理装置において、前記コンピュータシステムが、ソ
    ースプログラム毎にそのソースプログラムのコンポーネ
    ント間の依存関係を管理し、該依存関係の変更を前記コ
    ンピュータシステム上のみで保存するコンポーネント依
    存関係情報テーブルを備え、前記ソースプログラの全て
    を実行した後、前記データベースに対してコンポーネン
    ト依存関係情報テーブルを反映させることができること
    を特徴とするプログラム処理装置。
JP12653598A 1998-05-08 1998-05-08 プログラム処理装置 Expired - Fee Related JP3259682B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP12653598A JP3259682B2 (ja) 1998-05-08 1998-05-08 プログラム処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP12653598A JP3259682B2 (ja) 1998-05-08 1998-05-08 プログラム処理装置

Publications (2)

Publication Number Publication Date
JPH11327917A true JPH11327917A (ja) 1999-11-30
JP3259682B2 JP3259682B2 (ja) 2002-02-25

Family

ID=14937613

Family Applications (1)

Application Number Title Priority Date Filing Date
JP12653598A Expired - Fee Related JP3259682B2 (ja) 1998-05-08 1998-05-08 プログラム処理装置

Country Status (1)

Country Link
JP (1) JP3259682B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016095602A (ja) * 2014-11-13 2016-05-26 京セラドキュメントソリューションズ株式会社 電子機器およびプログラム

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63111538A (ja) * 1986-10-29 1988-05-16 Mitsubishi Electric Corp プログラム翻訳制御方式
JPH0683650A (ja) * 1992-08-31 1994-03-25 Fujitsu Ltd システム資源の監視方法
JPH09282174A (ja) * 1996-04-10 1997-10-31 Hitachi Ltd プログラム実行方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63111538A (ja) * 1986-10-29 1988-05-16 Mitsubishi Electric Corp プログラム翻訳制御方式
JPH0683650A (ja) * 1992-08-31 1994-03-25 Fujitsu Ltd システム資源の監視方法
JPH09282174A (ja) * 1996-04-10 1997-10-31 Hitachi Ltd プログラム実行方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016095602A (ja) * 2014-11-13 2016-05-26 京セラドキュメントソリューションズ株式会社 電子機器およびプログラム
US9652304B2 (en) 2014-11-13 2017-05-16 Kyocera Document Solutions Inc. Electronic apparatus that uses program from another program working on different platforms, and method

Also Published As

Publication number Publication date
JP3259682B2 (ja) 2002-02-25

Similar Documents

Publication Publication Date Title
US7383417B2 (en) Prefetching apparatus, prefetching method and prefetching program product
US6922827B2 (en) Iterative software development environment with prioritized build rules
US5349656A (en) Task scheduling method in a multiprocessor system where task selection is determined by processor identification and evaluation information
JP4003830B2 (ja) マルチプロセッシング環境における透過動的最適化のための方法およびシステム
US8332845B2 (en) Compile timing based on execution frequency of a procedure
US8191069B2 (en) Method of monitoring performance of virtual computer and apparatus using the method
US7284238B2 (en) Multithread tracing method and apparatus
US6041425A (en) Error recovery method and apparatus in a computer system
US20080052331A1 (en) Data arrangement management system, method, and program
EP2473917B1 (en) A lightweight service based dynamic binary rewriter framework
KR101106595B1 (ko) 소프트웨어 테스트의 자동화 장치 및 그 방법
US9189393B2 (en) Computer, control method of computer, and recording medium
US5634120A (en) Computer system supporting utilization of utility functions applicable to concurrently executing jobs by monitoring job excution characteristics and determining eligible job combinations for utility function
JPH05282265A (ja) 自己スケジューリング式並列コンピュータ・システムおよびその方法
US20210182039A1 (en) Apparatus and method for source code optimisation
US20010025295A1 (en) Computer system, memory management method, storage medium and program transmission apparatus
JP4935626B2 (ja) 制御プログラム及び方法並びにコンピュータ
JPH05282266A (ja) 自己編成式並列コンピュータ・システムおよびその方法
WO2009123343A1 (ja) 競合分析装置、競合分析方法、及びプログラム
JP3259682B2 (ja) プログラム処理装置
JP3642772B2 (ja) コンピュータ装置及びプログラム実行方法
RU2206119C2 (ru) Способ получения объектного кода
JPH11328138A (ja) 分散型コンピュータシステム
Liang et al. Scheduling loop applications in software distributed shared memory systems
JP2006092149A (ja) 文書ファイルコピー移動監視システム、方法及びプログラム

Legal Events

Date Code Title Description
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20071214

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20081214

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20091214

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20091214

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20101214

Year of fee payment: 9

LAPS Cancellation because of no payment of annual fees