JPH04213152A - プログラム起動方式 - Google Patents
プログラム起動方式Info
- Publication number
- JPH04213152A JPH04213152A JP4248791A JP4248791A JPH04213152A JP H04213152 A JPH04213152 A JP H04213152A JP 4248791 A JP4248791 A JP 4248791A JP 4248791 A JP4248791 A JP 4248791A JP H04213152 A JPH04213152 A JP H04213152A
- Authority
- JP
- Japan
- Prior art keywords
- computer
- program
- execution
- information
- processing time
- 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.)
- Pending
Links
- 230000003213 activating effect Effects 0.000 title 1
- 238000012545 processing Methods 0.000 claims abstract description 62
- 238000000034 method Methods 0.000 claims description 35
- 238000012546 transfer Methods 0.000 claims description 21
- 238000013480 data collection Methods 0.000 claims description 7
- 238000012937 correction Methods 0.000 claims description 5
- 238000010586 diagram Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 3
- 101000582320 Homo sapiens Neurogenic differentiation factor 6 Proteins 0.000 description 1
- 102100030589 Neurogenic differentiation factor 6 Human genes 0.000 description 1
- 230000004913 activation Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
Landscapes
- Multi Processors (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【0001】
【技術分野】本発明は、プログラム起動方式に関し、よ
り詳細には、複数のコンピュータが結合して形成された
ネットワーク上で、あるコンピュータのプログラムを他
のコンピューター上で実行すること、またプログラムを
実行する時に、実行処理時間の最小なコンピュータを自
動的に選択し、選択したコンピュータ上でプログラムを
実行するプログラム起動方式に関する。
り詳細には、複数のコンピュータが結合して形成された
ネットワーク上で、あるコンピュータのプログラムを他
のコンピューター上で実行すること、またプログラムを
実行する時に、実行処理時間の最小なコンピュータを自
動的に選択し、選択したコンピュータ上でプログラムを
実行するプログラム起動方式に関する。
【0002】
【従来技術】本発明に係る従来技術を記載した公知文献
としては、例えば、「並列計算機におけるスケジューリ
ングと負荷分散」(情報処理、坂井、Vol 27.N
o.9、1986.9.P.1031〜1038)があ
る。上記文献によれば、以下のような説明がなされてい
る。並列処理は台数効果による処理効率の向上を主たる
目的とするが、現実のシステムにおいては、並列度はリ
ニアに性能(スループットなど)に反映されず、飽和現
象を起こすのが普通である。 その原因として、プロセッサ数の増加にともなう通信時
間の増大、処理の対称となる問題に内在する並列度の抽
出の困難さなどがあげられるが、数多くのタスクを最も
効率的に処理するためのスケジューリングの問題もまた
、克服すべき重要な課題である。
としては、例えば、「並列計算機におけるスケジューリ
ングと負荷分散」(情報処理、坂井、Vol 27.N
o.9、1986.9.P.1031〜1038)があ
る。上記文献によれば、以下のような説明がなされてい
る。並列処理は台数効果による処理効率の向上を主たる
目的とするが、現実のシステムにおいては、並列度はリ
ニアに性能(スループットなど)に反映されず、飽和現
象を起こすのが普通である。 その原因として、プロセッサ数の増加にともなう通信時
間の増大、処理の対称となる問題に内在する並列度の抽
出の困難さなどがあげられるが、数多くのタスクを最も
効率的に処理するためのスケジューリングの問題もまた
、克服すべき重要な課題である。
【0003】並列計算機におけるスケジューリングとは
、タスクをいつどのような順序で実行させるかという時
間的配置とどのプロセッサに実行させるかという空間的
配置を最適化することである。このスケジューリングの
研究は、古くはORにおける資源の有効利用の問題とし
て定式化されたものがあり、パラレル・プロセッサだけ
に話を限っても、すでに20年以上の歴史を持ち、かつ
内容も多岐に渡り細に及ぶものが少なくない。
、タスクをいつどのような順序で実行させるかという時
間的配置とどのプロセッサに実行させるかという空間的
配置を最適化することである。このスケジューリングの
研究は、古くはORにおける資源の有効利用の問題とし
て定式化されたものがあり、パラレル・プロセッサだけ
に話を限っても、すでに20年以上の歴史を持ち、かつ
内容も多岐に渡り細に及ぶものが少なくない。
【0004】並列分散処理コンピュータ等のマルチプロ
セッサシステムでは、システムが自動的にプロセスを分
数のプロセッサにスケジューリングするシステムがある
。しかし、そのスケジューリングでは、実行しようとす
るプロセスの処理時間を考慮に入れないので、効率の良
いスケジューリングができない。トランザクション処理
のように、メモリアクセスやディスクアクセスがプログ
ラムの実行環境によらず、一定で、しかも、同じプログ
ラムを繰り返し実行する場合には、プログラムの処理時
間の予測をし、最適なスケジューリングが可能である。
セッサシステムでは、システムが自動的にプロセスを分
数のプロセッサにスケジューリングするシステムがある
。しかし、そのスケジューリングでは、実行しようとす
るプロセスの処理時間を考慮に入れないので、効率の良
いスケジューリングができない。トランザクション処理
のように、メモリアクセスやディスクアクセスがプログ
ラムの実行環境によらず、一定で、しかも、同じプログ
ラムを繰り返し実行する場合には、プログラムの処理時
間の予測をし、最適なスケジューリングが可能である。
【0005】また、従来技術ではユーザがプログラムに
依存する情報(実行命令数、データ転送量など)やネッ
トワークで結合された各コンピュータの情報を適当に設
定し、その情報から実行時間を推定し、複数のプログラ
ム起動要求をスケジューリングし、各コンピュータでプ
ログラムを実行する。但し、プログラムに依存する情報
をユーザが指定する必要があり、また、その情報が不適
当であるために予想した実行時間が実際の実行時間と異
なる場合に対処していない。
依存する情報(実行命令数、データ転送量など)やネッ
トワークで結合された各コンピュータの情報を適当に設
定し、その情報から実行時間を推定し、複数のプログラ
ム起動要求をスケジューリングし、各コンピュータでプ
ログラムを実行する。但し、プログラムに依存する情報
をユーザが指定する必要があり、また、その情報が不適
当であるために予想した実行時間が実際の実行時間と異
なる場合に対処していない。
【0006】
【目的】本発明は、上述のごとき実情に鑑みてなされた
もので、ユーザが実行可能なコンピュータであるかの判
断を必要とせず、処理時間の最も低いと思われるコンピ
ュータを自動的に選択することによりプログラムを速く
処理すること、また、起動するプログラムをデータベー
スに登録する時に、プログラムに依存する情報を自動的
に採取することにより、ユーザが指定する必要がなく、
また、その情報が不適当な場合に自動的にその情報を更
新することが可能である。これによってプログラムが実
際に実行されるコンピュータがどれかをユーザが意識せ
ずに、処理時間の最も短いと予想されるコンピュータを
自動的に選択することができ、ネットワークで結合され
た分散環境を効率的に利用することを可能にするプログ
ラム起動方式を提供することを目的としてなされたもの
である。
もので、ユーザが実行可能なコンピュータであるかの判
断を必要とせず、処理時間の最も低いと思われるコンピ
ュータを自動的に選択することによりプログラムを速く
処理すること、また、起動するプログラムをデータベー
スに登録する時に、プログラムに依存する情報を自動的
に採取することにより、ユーザが指定する必要がなく、
また、その情報が不適当な場合に自動的にその情報を更
新することが可能である。これによってプログラムが実
際に実行されるコンピュータがどれかをユーザが意識せ
ずに、処理時間の最も短いと予想されるコンピュータを
自動的に選択することができ、ネットワークで結合され
た分散環境を効率的に利用することを可能にするプログ
ラム起動方式を提供することを目的としてなされたもの
である。
【0007】
【構成】本発明は、上記目的を達成するために、(1)
コンピュータの2次記憶にプログラムが格納されており
、該格納されたプログラムをネットワーク上の他のコン
ピュータで実行する時に、予めどのコンピュータのユー
ザーアカウントを持っているか、またどのコンピュータ
でそのプログラムが実行できるかの情報を持ち、各中央
処理装置の稼動情報を集めるコンピュータ稼動情報採取
手段と、各コンピュータで実行した時の処理時間を予測
し、該予想処理時間の最も低いコンピュータを選択する
実行コンピュータ選択手段と、該コンピュータに実行す
るプログラム等を転送して実行環境を生成する実行環境
生成手段と、該コンピュータ上でプログラムを実行し、
実行結果をユーザーのコンピューターに転送する実行結
果転送手段とから成ること、或いは、(2)ネットワー
クで複数のコンピュータが結合した環境で、各コンピュ
ータの情報およびユーザが利用するプログラムの情報を
データベース化するプログラム実行情報データ採取手段
と、実際に該プログラムを実行する時に、前記データベ
ースを基にネットワークで結合された各コンピュータで
の実行時の予想処理時間を推定し、予想処理時間の最も
短いコンピュータを選択する実行コンピュータ選択手段
と、該コンピュータに実行するプログラム等を転送して
実行環境を生成する実行環境生成手段と、該コンピュー
タ上でプログラムを実行し、実行結果をユーザのコンピ
ュータに転送する実行結果転送手段とから成ること、或
いは、(3)ネットワークで複数のコンピュータが結合
した環境で、各コンピュータの情報をデータベース化す
るとともに、ユーザが利用するプログラムを試験的に実
行することにより実行情報を計測してデータベース化す
るプログラム実行情報データ採取手段と、実際に該プロ
グラムを実行する時に、前記データベースを基にネット
ワークで結合された各コンピュータでの実行時の予想処
理時間を推定し、予想処理時間の最も短いコンピュータ
を選択する実行コンピュータ選択手段と、該コンピュー
タ上でプログラムを実行し、実際の処理時間が予想処理
時間と異なる場合には試験的にそのプログラムを実行し
、実行情報を採取し、データベースを修正するプログラ
ム実行情報データベース登録修正手段とから成ることを
特徴としたものである。以下、本発明の実施例に基づい
て説明する。
コンピュータの2次記憶にプログラムが格納されており
、該格納されたプログラムをネットワーク上の他のコン
ピュータで実行する時に、予めどのコンピュータのユー
ザーアカウントを持っているか、またどのコンピュータ
でそのプログラムが実行できるかの情報を持ち、各中央
処理装置の稼動情報を集めるコンピュータ稼動情報採取
手段と、各コンピュータで実行した時の処理時間を予測
し、該予想処理時間の最も低いコンピュータを選択する
実行コンピュータ選択手段と、該コンピュータに実行す
るプログラム等を転送して実行環境を生成する実行環境
生成手段と、該コンピュータ上でプログラムを実行し、
実行結果をユーザーのコンピューターに転送する実行結
果転送手段とから成ること、或いは、(2)ネットワー
クで複数のコンピュータが結合した環境で、各コンピュ
ータの情報およびユーザが利用するプログラムの情報を
データベース化するプログラム実行情報データ採取手段
と、実際に該プログラムを実行する時に、前記データベ
ースを基にネットワークで結合された各コンピュータで
の実行時の予想処理時間を推定し、予想処理時間の最も
短いコンピュータを選択する実行コンピュータ選択手段
と、該コンピュータに実行するプログラム等を転送して
実行環境を生成する実行環境生成手段と、該コンピュー
タ上でプログラムを実行し、実行結果をユーザのコンピ
ュータに転送する実行結果転送手段とから成ること、或
いは、(3)ネットワークで複数のコンピュータが結合
した環境で、各コンピュータの情報をデータベース化す
るとともに、ユーザが利用するプログラムを試験的に実
行することにより実行情報を計測してデータベース化す
るプログラム実行情報データ採取手段と、実際に該プロ
グラムを実行する時に、前記データベースを基にネット
ワークで結合された各コンピュータでの実行時の予想処
理時間を推定し、予想処理時間の最も短いコンピュータ
を選択する実行コンピュータ選択手段と、該コンピュー
タ上でプログラムを実行し、実際の処理時間が予想処理
時間と異なる場合には試験的にそのプログラムを実行し
、実行情報を採取し、データベースを修正するプログラ
ム実行情報データベース登録修正手段とから成ることを
特徴としたものである。以下、本発明の実施例に基づい
て説明する。
【0008】図1は、本発明によるプログラム起動方式
の一実施例を説明するための構成図で、図中、1はコン
ピュータ稼動情報採取部、2は実行コンピュータ選択部
、3は実行環境生成部、4はプログラム起動部、5は実
行結果転送部、6はコンピュータ稼動情報データベース
、7はコンピュータ情報データベースである。本発明で
は、コンピュータ稼働情報データベースと、コンピュー
タ情報データベースの2つのデータベースを利用する。 そのデータベースの情報を以下に示す。
の一実施例を説明するための構成図で、図中、1はコン
ピュータ稼動情報採取部、2は実行コンピュータ選択部
、3は実行環境生成部、4はプログラム起動部、5は実
行結果転送部、6はコンピュータ稼動情報データベース
、7はコンピュータ情報データベースである。本発明で
は、コンピュータ稼働情報データベースと、コンピュー
タ情報データベースの2つのデータベースを利用する。 そのデータベースの情報を以下に示す。
【0009】コンピュータ情報データベースの情報は、
■マシン種別、 ■CPU(中央処理装置)の種別、 ■ファイルシステムのデータ転送速度(byte/se
c)、■平均命令実行時間(sec):マシン語の一命
令の平均実行時間、 ■アカウントの有無、 ■メモリサイズ(byte):メインメモリのサイズ、
■メモリアクセス時間(sec):メインメモリにアク
セスする時間、 ■プログラム実行履歴:本発明のプログラム起動方式に
より過去に実行されたプログラムの実行履歴、である。
■マシン種別、 ■CPU(中央処理装置)の種別、 ■ファイルシステムのデータ転送速度(byte/se
c)、■平均命令実行時間(sec):マシン語の一命
令の平均実行時間、 ■アカウントの有無、 ■メモリサイズ(byte):メインメモリのサイズ、
■メモリアクセス時間(sec):メインメモリにアク
セスする時間、 ■プログラム実行履歴:本発明のプログラム起動方式に
より過去に実行されたプログラムの実行履歴、である。
【0010】また、コンピュータ稼動情報データベース
の情報は、 ■フリーメモリサイズ(byte):プロセス実行に割
り当てられていない空きメモリのサイズ、 ■ディスクI/O率:ディスクがI/Oをしている時間
の割合、 ■実行中プロセス数:実行中またはスリープが20秒未
満のプロセスの数、である。
の情報は、 ■フリーメモリサイズ(byte):プロセス実行に割
り当てられていない空きメモリのサイズ、 ■ディスクI/O率:ディスクがI/Oをしている時間
の割合、 ■実行中プロセス数:実行中またはスリープが20秒未
満のプロセスの数、である。
【0011】本発明のプログラム起動方式で、ユーザが
指定する項目としては、実行するプログラム名として、
executeファイル、プログラムを実行するために
必要なファイル名として、実行プログラムが使用するデ
ータファイル、実行結果ファイル名として、実行結果が
格納されるデータファイル(指定しなくても良い。)が
あり、これらは、実行プログラム毎に与える。
指定する項目としては、実行するプログラム名として、
executeファイル、プログラムを実行するために
必要なファイル名として、実行プログラムが使用するデ
ータファイル、実行結果ファイル名として、実行結果が
格納されるデータファイル(指定しなくても良い。)が
あり、これらは、実行プログラム毎に与える。
【0012】次に実行手順について説明する。独立して
実行できるプログラムを複数指定した場合には、以下に
示す手順で処理する前に、各プログラム毎に、次式によ
り概算予想処理時間を算出する。
実行できるプログラムを複数指定した場合には、以下に
示す手順で処理する前に、各プログラム毎に、次式によ
り概算予想処理時間を算出する。
【0013】
【数1】
【0014】但し、全ホスト平均命令実行時間は、コン
ピュータ情報データベースより得られた全ホストの平均
命令実行時間の平均値で、全ホスト平均ディスク転送速
度は、コンピュータより得られた全ホストのディスク転
送速度の平均値で、全ホスト平均アクセス時間は、コン
ピュータ情報データベースより得られた全ホストのメモ
リアクセス時間である。
ピュータ情報データベースより得られた全ホストの平均
命令実行時間の平均値で、全ホスト平均ディスク転送速
度は、コンピュータより得られた全ホストのディスク転
送速度の平均値で、全ホスト平均アクセス時間は、コン
ピュータ情報データベースより得られた全ホストのメモ
リアクセス時間である。
【0015】また、以下の■〜■の変数は、コンピュー
タ情報データベースのプログラム実行履歴から所定の式
により算出された値である。コンピュータ情報データベ
ースに該当する情報がない場合には、ユーザが適当な値
を与える必要がある。 ■予想実行命令数:プログラムを実行した際のマシン語
命令実行数、 ■予想データ転送量(byte):プログラムを実行し
た際のディスクにアクセスする全データ量、 ■予想メモリアクセス回数:プログラムを実行した際の
メモリにアクセス回数、 ■要求メモリサイズ(byte):プログラムを実行し
た際の必要なメモリ量。
タ情報データベースのプログラム実行履歴から所定の式
により算出された値である。コンピュータ情報データベ
ースに該当する情報がない場合には、ユーザが適当な値
を与える必要がある。 ■予想実行命令数:プログラムを実行した際のマシン語
命令実行数、 ■予想データ転送量(byte):プログラムを実行し
た際のディスクにアクセスする全データ量、 ■予想メモリアクセス回数:プログラムを実行した際の
メモリにアクセス回数、 ■要求メモリサイズ(byte):プログラムを実行し
た際の必要なメモリ量。
【0016】図2は、本発明によるプログラム起動方式
の動作を説明するためのフローチャートである。以下、
各ステップに従って順に説明する。算出した概算予想処
理時間の長いプログラムから手順のstep1からst
ep4を繰り返し処理をする。 step1:コンピュータ稼動情報採取 ネットワー
クで接続されたコンピュータにそのコンピュータの稼動
情報(コンピュータ稼動情報データベースの項目)を送
るように命令する。この命令を送られたコンピュータは
自分の稼動情報を送り出す。各コンピュータから送られ
て来た稼動情報を収集し、稼動情報データベースを作成
する。
の動作を説明するためのフローチャートである。以下、
各ステップに従って順に説明する。算出した概算予想処
理時間の長いプログラムから手順のstep1からst
ep4を繰り返し処理をする。 step1:コンピュータ稼動情報採取 ネットワー
クで接続されたコンピュータにそのコンピュータの稼動
情報(コンピュータ稼動情報データベースの項目)を送
るように命令する。この命令を送られたコンピュータは
自分の稼動情報を送り出す。各コンピュータから送られ
て来た稼動情報を収集し、稼動情報データベースを作成
する。
【0017】step2:実行コンピュータ選択 実
行しようとするプログラムが実行できるコンピュータを
コンピュータ情報データベースのホスト種別、CPU種
別、アカウントの有無という情報から選択する。次に、
コンピュータ情報、コンピュータ稼動情報及び指定情報
から、以下の式によってプログラムの予想処理時間を求
める。メモリアクセス時間は、アクセスするメモリがペ
ージインまたはページアウトしているかにより異なるの
で、平均メモリアクセス時間として以下の式で予測する
。
行しようとするプログラムが実行できるコンピュータを
コンピュータ情報データベースのホスト種別、CPU種
別、アカウントの有無という情報から選択する。次に、
コンピュータ情報、コンピュータ稼動情報及び指定情報
から、以下の式によってプログラムの予想処理時間を求
める。メモリアクセス時間は、アクセスするメモリがペ
ージインまたはページアウトしているかにより異なるの
で、平均メモリアクセス時間として以下の式で予測する
。
【0018】
【数2】
【0019】したがって、
A=平均命令実行時間・(実行中プロセス数+1)B=
(1/ディスク転送速度)(1ーディスクI/O率)C
=平均メモリアクセス時間 予想処理時間=A・予想実行命令数+B・予想データ転
送量+C・予想メモリアクセス回数。 このようにして、各ホスト毎に予想処理時間を求め、そ
れが最小のホストを選択する。
(1/ディスク転送速度)(1ーディスクI/O率)C
=平均メモリアクセス時間 予想処理時間=A・予想実行命令数+B・予想データ転
送量+C・予想メモリアクセス回数。 このようにして、各ホスト毎に予想処理時間を求め、そ
れが最小のホストを選択する。
【0020】step3:実行環境生成 実行コンピ
ュータにプログラムを転送する。また、実行に必要なフ
ァイルが指定されているなら、それも転送して実行環境
を生成する。 step4:プログラム起動 プログラムを実行する。 step5:実行結果転送 指定されたプログラムの実行結果のファイルがある
なら、それをユーザのコンピュータに転送する。このよ
うにして、複数のコンピュータが結合して形成されたネ
ットワーク上で、あるコンピュータのプログラムを他の
コンピュータ上で実行することができる。
ュータにプログラムを転送する。また、実行に必要なフ
ァイルが指定されているなら、それも転送して実行環境
を生成する。 step4:プログラム起動 プログラムを実行する。 step5:実行結果転送 指定されたプログラムの実行結果のファイルがある
なら、それをユーザのコンピュータに転送する。このよ
うにして、複数のコンピュータが結合して形成されたネ
ットワーク上で、あるコンピュータのプログラムを他の
コンピュータ上で実行することができる。
【0021】図3は、本発明によるプログラム起動方式
の他の実施例を説明するための構成図で、図中、11は
プログラム実行情報データ採取部、12はプログラム実
行部、12aは実行コンピュータ選択処理部、12bは
プログラム実行処理部、13はプログラム実行情報デー
タベース登録修正部、14はコンピュータ稼働情報デー
タベース、15はコンピュータ情報データベース、16
はプログラム実行情報データベースである。
の他の実施例を説明するための構成図で、図中、11は
プログラム実行情報データ採取部、12はプログラム実
行部、12aは実行コンピュータ選択処理部、12bは
プログラム実行処理部、13はプログラム実行情報デー
タベース登録修正部、14はコンピュータ稼働情報デー
タベース、15はコンピュータ情報データベース、16
はプログラム実行情報データベースである。
【0022】本発明は、大きく、データベース、プログ
ラム実行情報データ採取部、プログラム実行部、プログ
ラム実行情報修正部に分けられる。データベースには、
コンピュータ情報データベース15とコンピュータ稼働
情報データベース14とプログラム実行情報データベー
ス16とがあり、コンピュータ情報データベース15は
、ネットワーグで接続された各マシンの静的な情報を保
持する。該コンピュータ情報データベースの情報は、■
マシン選別(OS種別)、 ■CPUの種別、 ■対象ユーザのアカウントの有無、 ■ファイルシステムのデータ転送速度(byte/se
c)、■平均命令実行時間(sec):マシン語の一命
令の平均実行時間、 ■メモリアクセス時間(sec):メインメモリにアク
セスする時間、である。
ラム実行情報データ採取部、プログラム実行部、プログ
ラム実行情報修正部に分けられる。データベースには、
コンピュータ情報データベース15とコンピュータ稼働
情報データベース14とプログラム実行情報データベー
ス16とがあり、コンピュータ情報データベース15は
、ネットワーグで接続された各マシンの静的な情報を保
持する。該コンピュータ情報データベースの情報は、■
マシン選別(OS種別)、 ■CPUの種別、 ■対象ユーザのアカウントの有無、 ■ファイルシステムのデータ転送速度(byte/se
c)、■平均命令実行時間(sec):マシン語の一命
令の平均実行時間、 ■メモリアクセス時間(sec):メインメモリにアク
セスする時間、である。
【0023】また、コンピュータ稼働情報データベース
14はプログラム実行時にネッシワークに接続された、
各マシンの稼働情報を保持する。該コンピュータ稼働情
報データベースの情報は、 ■フリーメモリサイズ(byte):プロセス実行に割
り当てられていない、空きメモリのサイズ、■ディスク
I/O率:デイスクがI/Oをしている時間の割合、 ■実行中プロセス数:実行中またはスリープが20秒未
満のプロセスの数、である。
14はプログラム実行時にネッシワークに接続された、
各マシンの稼働情報を保持する。該コンピュータ稼働情
報データベースの情報は、 ■フリーメモリサイズ(byte):プロセス実行に割
り当てられていない、空きメモリのサイズ、■ディスク
I/O率:デイスクがI/Oをしている時間の割合、 ■実行中プロセス数:実行中またはスリープが20秒未
満のプロセスの数、である。
【0024】また、プログラム実行情報データベース1
6は、プログラム毎の実行時の情報を保持する。該プロ
グラム実行情報データベースの情報は、■実行命令数:
プログラムを実行した際のマシン語命令実行数、 ■データ転送量(byte):プログラムを実行した際
のディスクにアクセスする全データ量、 ■メモリアクセス回数:プログラムを実行した際のメモ
リへのアクセス回数、 ■要求メモリサイズ(byte):プログラムを実行し
た際に必要なメモリ量、 ■実行処理時間履歴:過去に実際に実行した時の処理時
間、である。
6は、プログラム毎の実行時の情報を保持する。該プロ
グラム実行情報データベースの情報は、■実行命令数:
プログラムを実行した際のマシン語命令実行数、 ■データ転送量(byte):プログラムを実行した際
のディスクにアクセスする全データ量、 ■メモリアクセス回数:プログラムを実行した際のメモ
リへのアクセス回数、 ■要求メモリサイズ(byte):プログラムを実行し
た際に必要なメモリ量、 ■実行処理時間履歴:過去に実際に実行した時の処理時
間、である。
【0025】プログラム実行情報データ採取部11は、
プログラム実行部で必要なデータをあらかじめ採取して
おく。プログラム実行部12では、予想処理時間を算定
するために、前述のプログラム実行情報データベース1
6の各項目を必要とする。プログラム実行情報データ採
取部11では、対象とするプログラムが最も標準的な処
理をすると思われる環境を設定し、試験的に実行するこ
とにより、上記データを採取し、プログラム実行情報デ
ータベース16に登録する。プログラム実行部12は、
実行コンピュータ選択処理部12aとプログラム実行処
理部12bに大きく分けられる。ユーザは、プログラム
実行部12によりプログラムを実行するにあたり、実行
するプログラムの実行環境を、1つのディレクトリに構
築しておき、プログラムの実行に必要な入出力がディレ
クトリ内に閉じているようにする。
プログラム実行部で必要なデータをあらかじめ採取して
おく。プログラム実行部12では、予想処理時間を算定
するために、前述のプログラム実行情報データベース1
6の各項目を必要とする。プログラム実行情報データ採
取部11では、対象とするプログラムが最も標準的な処
理をすると思われる環境を設定し、試験的に実行するこ
とにより、上記データを採取し、プログラム実行情報デ
ータベース16に登録する。プログラム実行部12は、
実行コンピュータ選択処理部12aとプログラム実行処
理部12bに大きく分けられる。ユーザは、プログラム
実行部12によりプログラムを実行するにあたり、実行
するプログラムの実行環境を、1つのディレクトリに構
築しておき、プログラムの実行に必要な入出力がディレ
クトリ内に閉じているようにする。
【0026】図4は、本発明によるプログラム起動方式
の他の実施例の動作を説明するためのフローチャートで
ある。実行コンピュータ選択処理部12aでは、各コン
ピュータの予想処理的間を算定し、予想処理時間が最も
短いコンピュータを実行するコンピュータとして選択す
る。その手順を以下に示す。 step1,2:コンピュータ稼働情報採取 ネット
ワークで接続されたコンピュータにそのコンピュータの
稼働情報(コンピュータ稼働情報データベースの項目)
を送るように命令する。この命令を送られたコンピュー
タは自分の稼働情報を送り返す。各コンピュータから送
られて来た稼働情報を収集し、稼働情報データベースを
作成する。
の他の実施例の動作を説明するためのフローチャートで
ある。実行コンピュータ選択処理部12aでは、各コン
ピュータの予想処理的間を算定し、予想処理時間が最も
短いコンピュータを実行するコンピュータとして選択す
る。その手順を以下に示す。 step1,2:コンピュータ稼働情報採取 ネット
ワークで接続されたコンピュータにそのコンピュータの
稼働情報(コンピュータ稼働情報データベースの項目)
を送るように命令する。この命令を送られたコンピュー
タは自分の稼働情報を送り返す。各コンピュータから送
られて来た稼働情報を収集し、稼働情報データベースを
作成する。
【0027】step3:実行コンピュータ選択 プ
ログラムが実行できるコンピュータをコンピュータ情報
データベースのマシン種別、CPU種別、アカウントの
有無という情報から選択する。次に、コンピュータ情報
、コンピュータ稼働情報及びプログラム実行情報データ
ベースから、以下の式によって、プログラムの予想処理
時間を求める。メモリアクセス時間は、アクセスするメ
モリがページインまたはページアウトしているかにより
異なるので、平均メモリアクセス時間として、以下の式
で予測する。
ログラムが実行できるコンピュータをコンピュータ情報
データベースのマシン種別、CPU種別、アカウントの
有無という情報から選択する。次に、コンピュータ情報
、コンピュータ稼働情報及びプログラム実行情報データ
ベースから、以下の式によって、プログラムの予想処理
時間を求める。メモリアクセス時間は、アクセスするメ
モリがページインまたはページアウトしているかにより
異なるので、平均メモリアクセス時間として、以下の式
で予測する。
【0028】
【数3】
【0029】したがって、
A=平均命令実行時間・(実行中プロセス数+1)B=
(1/ディスク転送速度)(1ーディスクI/O率)C
=平均メモリアクセス時間 予想処理時間=A・予想実行命令数+B・予想データ転
送量+C・予想メモリアクセス回数。 このようにして算出した予想処理時間の最小コンピュー
タを実行コンピュータとして選択する。
(1/ディスク転送速度)(1ーディスクI/O率)C
=平均メモリアクセス時間 予想処理時間=A・予想実行命令数+B・予想データ転
送量+C・予想メモリアクセス回数。 このようにして算出した予想処理時間の最小コンピュー
タを実行コンピュータとして選択する。
【0030】次に、プログラム実行処理部12bの手順
を以下に示す。 step4:実行環境生成 プログラムの実行環境を含む指定されたディレクト
リを実行コンピュータに転送する。但し、ネットワーク
を介したファイルのマウント機能が利用できるなら、指
定されたディレクトリを実行コンピュータにマウントす
る。 step5:プログラム起動 実行コンピュータでプログラムを実行する。 step6:実行結果転送 プログラムの実行環境を含む指定されたディレクト
リを実行コンピュータから転送する。必要なファイルの
みを転送することも可能である。但し、ディレクトリを
マウントしている場合にはこの必要はない。
を以下に示す。 step4:実行環境生成 プログラムの実行環境を含む指定されたディレクト
リを実行コンピュータに転送する。但し、ネットワーク
を介したファイルのマウント機能が利用できるなら、指
定されたディレクトリを実行コンピュータにマウントす
る。 step5:プログラム起動 実行コンピュータでプログラムを実行する。 step6:実行結果転送 プログラムの実行環境を含む指定されたディレクト
リを実行コンピュータから転送する。必要なファイルの
みを転送することも可能である。但し、ディレクトリを
マウントしている場合にはこの必要はない。
【0031】プログラム実行情報データベース登録修正
部13は、実際の処理時間からプログラム実行情報デー
タベースを登録及び修正する。処理時間の登録は実際の
処理時間を実行情報データベースに登録する。次に過去
の平均処理時間を算出し、予想処理時間と比較し、誤差
が10%未満の場合には、今回の予想処理時間を含め平
均処理時間を算出する。また、10%以上ある場合には
、プログラム実行情報データベースの情報が適切ではな
いと考えられる。この場合には、自動的に現在実行した
環境を利用して、再度、実行情報(実行命令数、データ
転送量、メモリアクセス回数、要求メモリサイズ)を採
取し直し、プログラム実行データベースに再登録する。 ただし、実行回数が10回を越え、しかも、実行回数に
対する再登録回数の割合が50%を越える場合には、そ
のプログラムは本発明の方式の対象外とする。
部13は、実際の処理時間からプログラム実行情報デー
タベースを登録及び修正する。処理時間の登録は実際の
処理時間を実行情報データベースに登録する。次に過去
の平均処理時間を算出し、予想処理時間と比較し、誤差
が10%未満の場合には、今回の予想処理時間を含め平
均処理時間を算出する。また、10%以上ある場合には
、プログラム実行情報データベースの情報が適切ではな
いと考えられる。この場合には、自動的に現在実行した
環境を利用して、再度、実行情報(実行命令数、データ
転送量、メモリアクセス回数、要求メモリサイズ)を採
取し直し、プログラム実行データベースに再登録する。 ただし、実行回数が10回を越え、しかも、実行回数に
対する再登録回数の割合が50%を越える場合には、そ
のプログラムは本発明の方式の対象外とする。
【0032】図4に示すように、複数のコンピュータが
結合されたネットワーク環境において、あるマシンをス
ケジューリングマシンとする。このスケジューリングマ
シンに本システムを構築する。実際にスケジューリング
をする前準備を以下に示す。 1.コンピュータ情報データベースの構築ユーザはスケ
ジューリングの対象となるマシンの情報をコンピュータ
情報データベースに登録する。 2.プログラム実行情報データベースの構築対象とする
プログラムの実行情報をプログラム実行情報採取部によ
り、採取し登録する。このとき、ユーザは、プログラム
の実行環境を適当なディレクトリに設定し、実行プログ
ラム名及びその実行環境ディレクトリを指定する。
結合されたネットワーク環境において、あるマシンをス
ケジューリングマシンとする。このスケジューリングマ
シンに本システムを構築する。実際にスケジューリング
をする前準備を以下に示す。 1.コンピュータ情報データベースの構築ユーザはスケ
ジューリングの対象となるマシンの情報をコンピュータ
情報データベースに登録する。 2.プログラム実行情報データベースの構築対象とする
プログラムの実行情報をプログラム実行情報採取部によ
り、採取し登録する。このとき、ユーザは、プログラム
の実行環境を適当なディレクトリに設定し、実行プログ
ラム名及びその実行環境ディレクトリを指定する。
【0033】次に、プログラム実行部を起動し、プログ
ラム実行部はユーザからのプログラム起動要求待ちをす
る。ユーザからのプログラムの要求があると、プログラ
ム実行部は前述の手順に従い、実行コンピュータを選択
してプログラムを実行する。プログラムが終了するとプ
ログラム実行情報データベース登録修正部を実行し、再
びプログラム起動要求待ちとなる。また、対象とするプ
ログラムの実行時間が短く、他のネットワークを介した
他のマシンにプログラム要求する時間を無視できない場
合や、プログラム要求が多く1台のスケジューリングマ
シンには負荷が高過ぎる場合には、各マシンにそれぞれ
分散して本システムを構築し、ローカルなマシンのユー
ザの要求しか受けないようなシステムを構築することも
考えられる。
ラム実行部はユーザからのプログラム起動要求待ちをす
る。ユーザからのプログラムの要求があると、プログラ
ム実行部は前述の手順に従い、実行コンピュータを選択
してプログラムを実行する。プログラムが終了するとプ
ログラム実行情報データベース登録修正部を実行し、再
びプログラム起動要求待ちとなる。また、対象とするプ
ログラムの実行時間が短く、他のネットワークを介した
他のマシンにプログラム要求する時間を無視できない場
合や、プログラム要求が多く1台のスケジューリングマ
シンには負荷が高過ぎる場合には、各マシンにそれぞれ
分散して本システムを構築し、ローカルなマシンのユー
ザの要求しか受けないようなシステムを構築することも
考えられる。
【0034】
【効果】以上の説明から明らかなように、本発明による
と、以下のような効果がある。 (1)ネットワーク上の他のコンピュータに実行環境を
自動的に生成してプログラムを実行できる。 (2)プログラムの処理時間を予測し、最も速く処理さ
れるネットワーク上のコンピュータを自動的に選択でき
、また、複数の独立して実行できるプログラムの実行に
も対応している。 (3)ユーザレベルで処理されるので、既存のOSで実
行可能であり、また、ユーザが実行するコンピュータ選
択条件を自由に付加することができる。 (4)他のコンピュータに実行環境を自動的に生成して
プログラムを実行できることにより、ネットワークで接
続されたコンピュータ環境を効率良く利用することが可
能である。 (5)実行履歴を保持することにより、プログラムの処
理時間を正確に予測し、最も速く処理されるネットワー
ク上のコンピュータを自動的に選択できる。
と、以下のような効果がある。 (1)ネットワーク上の他のコンピュータに実行環境を
自動的に生成してプログラムを実行できる。 (2)プログラムの処理時間を予測し、最も速く処理さ
れるネットワーク上のコンピュータを自動的に選択でき
、また、複数の独立して実行できるプログラムの実行に
も対応している。 (3)ユーザレベルで処理されるので、既存のOSで実
行可能であり、また、ユーザが実行するコンピュータ選
択条件を自由に付加することができる。 (4)他のコンピュータに実行環境を自動的に生成して
プログラムを実行できることにより、ネットワークで接
続されたコンピュータ環境を効率良く利用することが可
能である。 (5)実行履歴を保持することにより、プログラムの処
理時間を正確に予測し、最も速く処理されるネットワー
ク上のコンピュータを自動的に選択できる。
【図1】 本発明によるプログラム起動方式の一実施
例を説明するための構成図である。
例を説明するための構成図である。
【図2】 本発明によるプログラム起動方式の動作を
説明するためのフローチャートである。
説明するためのフローチャートである。
【図3】 本発明によるプログラム起動方式の他の実
施例を示す図である。
施例を示す図である。
【図4】 本発明によるプログラム起動方式の他の実
施例の動作を説明するためのフローチャートである。
施例の動作を説明するためのフローチャートである。
1…コンピュータ稼動情報採取部、2…実行コンピュー
タ選択部、3…実行環境生成部、4…プログラム起動部
、5…実行結果転送部、6…コンピュータ稼動情報デー
タベース、7…コンピュータ情報データベース。
タ選択部、3…実行環境生成部、4…プログラム起動部
、5…実行結果転送部、6…コンピュータ稼動情報デー
タベース、7…コンピュータ情報データベース。
Claims (3)
- 【請求項1】 コンピュータの2次記憶にプログラム
が格納されており、該格納されたプログラムをネットワ
ーク上の他のコンピュータで実行する時に、予めどのコ
ンピュータのユーザーアカウントを持っているか、また
どのコンピュータでそのプログラムが実行できるかの情
報を持ち、各中央処理装置の稼動情報を集めるコンピュ
ータ稼動情報採取手段と、各コンピュータで実行した時
の処理時間を予測し、該予想処理時間の最も低いコンピ
ュータを選択する実行コンピュータ選択手段と、該コン
ピュータに実行するプログラム等を転送して実行環境を
生成する実行環境生成手段と、該コンピュータ上でプロ
グラムを実行し、実行結果をユーザーのコンピューター
に転送する実行結果転送手段とから成ることを特徴とす
るプログラム起動方式。 - 【請求項2】 ネットワークで複数のコンピュータが
結合した環境で、各コンピュータの情報およびユーザが
利用するプログラムの情報をデータベース化するプログ
ラム実行情報データ採取手段と、実際に該プログラムを
実行する時に、前記データベースを基にネットワークで
結合された各コンピュータでの実行時の予想処理時間を
推定し、予想処理時間の最も短いコンピュータを選択す
る実行コンピュータ選択手段と、該コンピュータに実行
するプログラム等を転送して実行環境を生成する実行環
境生成手段と、該コンピュータ上でプログラムを実行し
、実行結果をユーザのコンピュータに転送する実行結果
転送手段とから成ることを特徴とするプログラム起動方
式。 - 【請求項3】 ネットワークで複数のコンピュータが
結合した環境で、各コンピュータの情報をデータベース
化するとともに、ユーザが利用するプログラムを試験的
に実行することにより実行情報を計測してデータベース
化するプログラム実行情報データ採取手段と、実際に該
そのプログラムを実行する時に、前記データベースを基
にネットワークで結合された各コンピュータでの実行時
の予想処理時間を推定し、予想処理時間の最も短いコン
ピュータを選択する実行コンピュータ選択手段と、該コ
ンピュータ上でプログラムを実行し、実際の処理時間が
予想処理時間と異なる場合には試験的にそのプログラム
を実行し、実行情報を採取し、データベースを修正する
プログラム実行情報データベース登録修正手段とから成
ることを特徴とするプログラム起動方式。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP4248791A JPH04213152A (ja) | 1990-11-14 | 1991-02-14 | プログラム起動方式 |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2-307606 | 1990-11-14 | ||
JP30760690 | 1990-11-14 | ||
JP4248791A JPH04213152A (ja) | 1990-11-14 | 1991-02-14 | プログラム起動方式 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH04213152A true JPH04213152A (ja) | 1992-08-04 |
Family
ID=26382193
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP4248791A Pending JPH04213152A (ja) | 1990-11-14 | 1991-02-14 | プログラム起動方式 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH04213152A (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003058518A (ja) * | 2001-08-06 | 2003-02-28 | Internatl Business Mach Corp <Ibm> | ネットワークシステム、cpu資源プロバイダ、クライアント装置、処理サービスの提供方法、およびプログラム |
WO2003100648A1 (en) * | 2002-05-28 | 2003-12-04 | Dai Nippon Printing Co., Ltd. | Parallel processing system |
US8631402B2 (en) | 2007-11-13 | 2014-01-14 | Fujitsu Limited | Center management apparatus, method, and computer readable storage medium storing program thereof |
-
1991
- 1991-02-14 JP JP4248791A patent/JPH04213152A/ja active Pending
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003058518A (ja) * | 2001-08-06 | 2003-02-28 | Internatl Business Mach Corp <Ibm> | ネットワークシステム、cpu資源プロバイダ、クライアント装置、処理サービスの提供方法、およびプログラム |
US7454754B2 (en) | 2001-08-06 | 2008-11-18 | International Business Machines Corporation | System for providing resources based on licensing contract with user by correcting the error between estimated execution time from the history of job execution |
US8245237B2 (en) | 2001-08-06 | 2012-08-14 | International Business Machines Corporation | Providing resources to a job comparing estimated execution time on currently available nodes and estimated execution time on nodes available after completion of a currently executing job |
US8689229B2 (en) | 2001-08-06 | 2014-04-01 | International Business Machines Corporation | Providing computational resources to applications based on accuracy of estimated execution times provided with the request for application execution |
WO2003100648A1 (en) * | 2002-05-28 | 2003-12-04 | Dai Nippon Printing Co., Ltd. | Parallel processing system |
US8631402B2 (en) | 2007-11-13 | 2014-01-14 | Fujitsu Limited | Center management apparatus, method, and computer readable storage medium storing program thereof |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Barak et al. | A distributed load‐balancing policy for a multicomputer | |
US20200409768A1 (en) | Autoscaling using file access or cache usage for cluster machines | |
Jalaparti et al. | Network-aware scheduling for data-parallel jobs: Plan when you can | |
Hui et al. | Improved strategies for dynamic load balancing | |
JP2551312B2 (ja) | ジョブステップ並列実行方式 | |
JP2007213490A (ja) | アプリケーションサーバシステムおよび仮想マシンプログラム | |
JPH11237989A (ja) | 休止中にバイトコード最適化を実行する方法及び装置 | |
Petrou et al. | Implementing Lottery Scheduling: Matching the Specializations in Traditional Schedulers. | |
Pinciroli et al. | Cedule+: Resource management for burstable cloud instances using predictive analytics | |
JP4862056B2 (ja) | 仮想計算機管理機構及び仮想計算機システムにおけるcpu時間割り当て制御方法 | |
JPH04213152A (ja) | プログラム起動方式 | |
Ezzat | Load balancing in nest: A network of workstations | |
CN109189581B (zh) | 一种作业调度方法和装置 | |
Quan | Mapping heavy communication workflows onto grid resources within an SLA context | |
JP5045576B2 (ja) | マルチプロセッサシステム及びプログラム実行方法 | |
Fagg et al. | Taskers and general resource managers: PVM supporting DCE process management | |
Kiselev et al. | An energy-efficient scheduling algorithm for shared facility supercomputer centers | |
JP3807860B2 (ja) | コンパイル方法および装置、並びにメソッド活動度計算方法および装置 | |
Chhabra et al. | Qualitative Parametric Comparison of Load Balancing Algorithms in Distributed Computing Environment | |
JP5056346B2 (ja) | 情報処理装置、情報処理システム、仮想サーバの移動処理の制御方法、及び、プログラム | |
Tan et al. | tmPVM-task migratable PVM | |
Michon et al. | Porting grid applications to the cloud with schlouder | |
Hluchý et al. | Hybrid approach to task allocation in distributed systems | |
US7797692B1 (en) | Estimating a dominant resource used by a computer program | |
Yu et al. | Terms: Task management policies to achieve high performance for mixed workloads using surplus resources |