JP2005049922A - ジョブ実行計画の評価システム - Google Patents
ジョブ実行計画の評価システム Download PDFInfo
- Publication number
- JP2005049922A JP2005049922A JP2003202767A JP2003202767A JP2005049922A JP 2005049922 A JP2005049922 A JP 2005049922A JP 2003202767 A JP2003202767 A JP 2003202767A JP 2003202767 A JP2003202767 A JP 2003202767A JP 2005049922 A JP2005049922 A JP 2005049922A
- Authority
- JP
- Japan
- Prior art keywords
- simulation
- job
- model
- time
- unit
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3457—Performance evaluation by simulation
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
【課題】コンピュータシステムで実行するジョブの実行計画の評価を、シミュレーションを用いて行う場合に、利用者が要求する時間内にシミュレーションを終了させ実行計画の評価を終了する。
【解決手段】シミュレーションを実行する計算機の性能値を格納する性能格納部と、シミュレーションに用いる性能モデルを格納するモデルデータベースと、モデルデータベースに格納された性能モデルからシミュレーションに使用する性能モデルを作成するモデル作成部を有する。該モデル作成部は、ユーザが入力する制限時間と該性能格納部に格納された計算機の性能値をもとに、モデルの作成方法を変更する。該モデル作成部が作成した、性能モデルを用いてシミュレーションを実行し、ジョブの実行計画を評価する。
【選択図】 図3
【解決手段】シミュレーションを実行する計算機の性能値を格納する性能格納部と、シミュレーションに用いる性能モデルを格納するモデルデータベースと、モデルデータベースに格納された性能モデルからシミュレーションに使用する性能モデルを作成するモデル作成部を有する。該モデル作成部は、ユーザが入力する制限時間と該性能格納部に格納された計算機の性能値をもとに、モデルの作成方法を変更する。該モデル作成部が作成した、性能モデルを用いてシミュレーションを実行し、ジョブの実行計画を評価する。
【選択図】 図3
Description
【0001】
【発明の属する技術分野】
本発明は、ジョブの実行計画の評価を行う評価システムに関する。
【0002】
【従来の技術】
ジョブの実行計画に関する問題には、例えば、ジョブショップスケジューリング問題がある。
ジョブショップスケジューリング問題では、x個のトランザクションがy個のジョブで構成されており、各ジョブはz個の計算機のいずれか一つによって処理される。各ジョブには、所要時間が定められている。また、一つのトランザクションを構成するジョブの間には先行関係がある。このとき、すべてのトランザクションを終了するまでの総所要時間がなるべく短くなるように、ジョブの実行計画(ジョブの開始時刻とジョブを実行する計算機)を決定することが問題である。
【0003】
ジョブショップスケジューリング問題においては、ジョブの実行計画を評価する評価指標として、すべてのトランザクションを終了するまでの総所要時間が用いられる。
計算機がシングルタスク(同時に実行するジョブが一つ)である場合には、実行計画にしたがって各ジョブの所要時間の足し合わせることによって、実行計画の評価指標を算出することができる。
計算機がマルチタスク(同時に実行するジョブが複数)である場合には、複数のジョブが計算機を同時に利用するために、ジョブの所要時間が変化し、足し合わせによって総所要時間を算出することができない。そのため、マルチタスク環境における、実行計画を評価するために、離散イベントシミュレーションが広く用いられている。
離散イベントシミュレーションを用いれば、計算機がマルチタスクの場合であっても、実行計画の評価指標を算出することができる。
例えば、計算機がマルチタスクである場合に、計算機の性能指標をシミュレーションによって算出する方法として、マルチタスクシステムの評価システム及び予測方法並びにその方法プログラムを記録した記録媒体(特開2000−298593号)が開示されている。特開2000−298593における計算機の性能指標が、ジョブの所要時間に相当する。特開2000−298593を使用してジョブの所要時間の算出を繰り返し行うと、実行計画の評価指標を算出できる。
また、米国HyPerformix Inc.から、離散イベントシミュレーションを用いて、マルチタスク計算機の性能指標を算出するソフトウェア(Hyperformix Infrastructure Optimizer)が販売されている。
【特許文献1】
特開2000−298593号公報
【0004】
【発明が解決しようとする課題】
上述した離散イベントシミュレーションによるジョブ実行計画の評価においては、離散イベントシミュレーションの実行に、大量の演算をする必要がある。そのため、シミュレーションの実行に時間がかかり、実用上必要な時間内に、実行計画の評価を終了できない場合がある。
そこで、シミュレーションの実行を高速化し、利用者の要求する制限時間内に実行計画の評価を終了することが課題となる。
シミュレーションの実行を高速化する方策に、シミュレーションモデルを変更する方法がある。シミュレーションモデルによって、シミュレーションの実行に要する演算量が異なるため、より少ない演算量で実行できるシミュレーションモデルを使用すれば、シミュレーションの実行を高速化できる。
シミュレーションと現実の合致の度合い(シミュレーションの精度)は、シミュレーションモデルによって変わる。シミュレーションの精度が低いと、ジョブ実行計画の評価が不正確になるため、シミュレーションの精度は高いほうがよい。
シミュレーションの実行を高速化するために、シミュレーションモデルを変更した場合、シミュレーションの精度が低下する危険がある。シミュレーションモデルを変更する場合に、シミュレーションの精度の低下を抑えることが第2の課題である。
【0005】
【課題を解決するための手段】
本発明の評価システムは、ジョブの実行計画と制限時間を入力可能にする入力部と、ジョブモデルを格納するモデルデータベースと、モデルデータベースに格納されたジョブモデルからシミュレーションモデルを作成するモデル作成部と、シミュレーションを実行するシミュレーション実行部と、シミュレーションの結果から実行計画の評価をする評価部と、評価結果を出力する出力部を備えている。
さらに、本発明の評価システムは、シミュレーションを実行する計算機の性能値を格納する性能格納部を備えている。
【0006】
モデル作成部は、前記入力部に入力された制限時間と、前記性能格納部に格納された性能値に応じて、シミュレーションモデルを作成する方法を変更する。このシミュレーションモデル作成方法の変更により、前記シミュレーション実行部がシミュレーションの実行に要する時間を、入力部に入力された制限時間以下にする。
モデル作成部がジョブモデルからシミュレーションモデルを作成する方法は、シミュレーションモデルのパラメータを設定する工程を含む。モデル作成部は、前記入力部に入力された実行計画からジョブの干渉の度合いを算出し、算出された干渉の度合いが少ないジョブのジョブモデルを優先してシミュレーションモデルのパラメータを変更する。
【0007】
【発明の効果】
本発明のジョブ実行計画の評価システムは、性能格納部と、モデル作成部を備えることによって、シミュレーションの実行に要する時間を入力部に入力された制限時間以下にすることができる。
【0008】
【発明の実施の形態】
以下、本発明に係るジョブ実行計画の評価システムについて図面を参照しながら説明する。
この評価システムは、例えば図1に示すような制御計算機101、ネットワーク102、実行計算機S1(103)、および実行計算機S2(104)から構成されるコンピュータシステムに適用することができる。制御計算機101はネットワーク102を介して、実行計算機S1(103)、実行計算機S2(104)に対して、実行計算機上で動作するプログラムの実行を指示する。実行計算機上で動作するプログラムを本明細書ではジョブとよぶ。
図1のシステムでは、制御計算機101がジョブの実行計画(ジョブの開始時刻とジョブを実行する計算機)にしたがって、ジョブの実行指示をする。図2は、ジョブA、ジョブBおよびジョブCの3つのジョブを実行する際の実行計画の例である。図2に示すように、ジョブの実行計画とは、各ジョブの開始時刻201と実行する計算機202からなる。
【0009】
本発明の評価システムは、例えば図2に示す実行計画の優劣を評価するために適用する。この評価システムは、図3に示すように、ジョブの実行計画と制限時間を入力可能にする入力部301と、モデルデータベースに格納されたジョブモデルからシミュレーションモデルを作成するモデル作成部302と、シミュレーションを実行するシミュレーション実行部303と、シミュレーションの結果から実行計画の評価をする評価部304と、評価結果を出力する出力部305と、ジョブモデルを格納するモデルデータベース306と、シミュレーションを実行する計算機の性能値を格納性能格納部307とを有する。
入力部301は、キーボード、ディスプレイ、マウス等の入出力装置で実装され、利用者がこれらの入出力装置を操作することで、ジョブの実行計画と、シミュレーション実行部303がシミュレーションの実行に要する時間の上限値である制限時間を入力可能にする。ここにジョブの実行計画の入力とは、図2に示すように各ジョブの開始時刻101と実行する計算機102を入力することである。
また、制限時間の入力とは、例えば「2分」というように、時間を入力することである。
【0010】
モデルデータベース306には、ジョブモデルが格納される。図4に示すように、ジョブモデルとは所要時間401からなる。図4の例では、ジョブA、ジョブB、およびジョブCの3つのジョブモデルを示している。
モデル作成部302は、入力部301に入力されたジョブの実行計画と、モデルデータベース306に格納されたジョブモデルから、シミュレーションモデルを作成する。シミュレーションモデルとは、実行計画内の各ジョブに対し、開始時刻、実行計算機、所要時間、およびイベント間隔を指定したものである。このうち、開始時刻と実行計算機は、入力部301に入力された実行計画から、所要時間は、モデルデータベース306に格納されている各ジョブの所要時間から指定される。イベント間隔を決定するアルゴリズムについては後述する。図5は、図4のジョブモデルがモデルデータベース306に格納され、図4の実行計画が入力部301に入力された場合に作成されるシミュレーションモデルである。図5では、イベント間隔に10ミリ秒を指定して、シミュレーションモデルを例示している。本実施例においては、このイベント間隔が、請求項5の「シミュレーションモデルのパラメータ」に相当する。
【0011】
離散イベントシミュレーションの実行に要する時間は、シミュレーション実行時に発生するイベントの回数に比例し、その比例定数は、シミュレーションを実行する計算機によって決まることが見出された。図6は、同一の計算機を用いて、イベント回数の異なるシミュレーションを実行し、その実行時間を調べた結果である。図6のグラフが直線関係にあることが、シミュレーションの実行に要する時間と、シミュレーション実行時に発生するイベントの回数が比例することを示している。図6の比例関係の比例定数は、シミュレーションを実行する計算機によって変化する。
性能格納部307は、該評価システムにおいてシミュレーションを実行する計算機を用いた場合の、シミュレーション実行時に発生するイベントの回数とシミュレーション実行時間の比例定数を格納する。この比例定数は、1イベントあたりの実行時間であり、例えば「1ミリ秒」といった時間が格納される。
モデル作成部302が、シミュレーションモデルのイベント間隔を決定するアルゴリズムについて説明する。図7にイベント間隔を決定するアルゴリズムのフローチャートを示す。
【0012】
モデル作成部302はイベント間隔の初期値を持っており、この初期値を使ってシミュレーションモデルを作成する処理が処理701である。この初期値は、例えば「10ミリ秒」といった時間で指定されており、処理701によって、例えば図5のシミュレーションモデルが作成される。
処理702では、初期値を用いて作成されたシミュレーションモデルから、イベント数の総計を算出する。シミュレーションモデルの各ジョブのイベント数は、所要時間/イベント間隔で算出され、イベント数の総計とは、各ジョブのイベント数の総和である。例えば図5のシミュレーションモデルでは、ジョブA、ジョブB、ジョブCのイベント数は、それぞれ3万回(5分/10ミリ秒)、6万回(10分/10ミリ秒)、9万回(15分/10ミリ秒)であるから、イベント数の総和は18万回(3万回+6万回+9万回)である。
判断703では、処理702で算出したイベント数の総和と、性能格納部307に格納された性能値と、入力部301に入力された制限時間を使って、シミュレーションが制限時間内に終了するか否かを判断する。このために、処理702で算出したイベント総数と、性能格納部307に格納されている1イベントあたりの実行時間の積を計算し、制限時間と大小を比較する。制限時間の方が大きい場合、図7のフローチャートのYES、制限時間の方が小さい場合、図7のフローチャートのNOに分岐する。例えば、図5のシミュレーションモデルでイベント総数が18万回であり、性能格納部307に格納された性能値が1ミリ秒、制限時間が2分の場合、18万×1ミリ秒=3分で、これは制限時間の2分より大きいので、NOと判断される。
【0013】
処理704では、シミュレーションモデルから各ジョブの干渉度を算出する。
ジョブの干渉度は、開始時刻501から所要時間503の間に、同じ実行計算機502で実行している他のジョブの延べ時間で定義する。例えば、図5のシミュレーションモデルの場合、ジョブAの干渉度は、開始時刻(12:00)から所要時間(5分)の間(12:00〜12:05)に、同じ実行計算機(S1)で実行している他のジョブはないので、干渉度は0である。ジョブBの干渉度は、開始時刻(12:05)から所要時間(10分)の間(12:05〜12:15)に、同じ計算機(S2)で実行しているジョブは、ジョブCがあり、ジョブBとジョブCが同時に実行している時間が5分(12:10〜12:15)であるので、ジョブBの干渉度は5である。同様に、ジョブCの干渉度も5である。同時に実行しているジョブが2つ以上ある場合には、それぞれのジョブに対し同時に実行している時間を計算し、その総和が干渉度であり、これが干渉度の定義における「延べ時間」の意味である。
処理705では、シミュレーションモデルのイベント総数と性能格納部307に格納された性能値の積が、入力部301に入力された制限時間以下になるまで、シミュレーションモデルのイベント間隔を大きくする。このとき、処理704で算出した干渉度が小さいジョブのイベント間隔を優先して変更する。イベント間隔を大きくする場合、その上限はジョブの所要時間である。本実施例における、処理704で算出した干渉度が小さいジョブのイベント間隔を優先して変更する点が、請求項5の「算出された干渉の度合いがに従って、シミュレーションモデルのパラメータを変更すること」に相当する。
処理705を、図5のシミュレーションモデルで、性能格納部307に格納された性能値が1ミリ秒で、入力部301に入力された制限時間が2分の場合を例にとって説明する。処理704によってジョブA、ジョブB、ジョブCの干渉度は、それぞれ0、5、5である。ジョブAの干渉度が最小であるので、ジョブAのイベント間隔を大きくする。ジョブAのイベント間隔を大きくする場合、ジョブAの所要時間が5分であるから、ジョブAのイベント間隔の上限は5分である。ジョブAのイベント間隔を5分にしたとき、シミュレーションモデルのイベント総数は15万回(ジョブA0回、ジョブB6万回、ジョブC9万回)であり、性能値(1ミリ秒)との積は2分30秒であり、制限時間(2分)より大きい。そのため、干渉度が次に小さいジョブBとジョブCのイベント間隔を大きくしていく。ジョブBとジョブCのイベント間隔を12.5ミリ秒にしたとき、イベント総数は12万回(ジョブA0回、ジョブB4万8千回、ジョブC7万2千回)、性能値(1ミリ秒)との積は2分となり、制限時間(2分)以下になる。このようにして、処理705は、ジョブA、ジョブB、ジョブCのイベント間隔を、それぞれ5分、12.5ミリ秒、12.5ミリ秒に変更する。変更されたシミュレーションモデルを図8に示す。
処理705のように干渉度に従ってシミュレーションモデルのイベント間隔を変更する方法のほかに、すべてのジョブのイベント間隔を一律に増加させる方法も考えられる。例えば、図5のシミュレーションモデルで、性能格納部307に格納された性能値が1ミリ秒で、入力部301に入力された制限時間が2分の場合、図9に示すように、ジョブA、ジョブB、ジョブCのイベント間隔を15ミリ秒に変更すれば、イベント総数12万回(ジョブA2万回、ジョブB4万回、ジョブC8万回)と性能値(1ミリ秒)の積は2分で、制限時間(2分)以下になる。
図10は、図5のシミュレーションモデルを使ったシミュレーションの誤差と、図9のシミュレーションモデルを使ったシミュレーションの誤差をジョブBの終了時間で比較した結果である。図10に示すように、干渉度を用いてイベント間隔を変更した方が誤差が小さく、シミュレーションの精度が低下しない利点があることがわかる。
【0014】
シミュレーション実行部303は、モデル作成部302が作成したシミュレーションモデルを使ってシミュレーションを実行する。シミュレーション実行部303は、ジョブ名1101、開始時刻1102、終了時刻1103、実行済み時間1104、状態1105、実行計算機1106、次回イベント時刻1107と、シミュレーション時刻1108、イベント時刻1109、イベントジョブ名1110からなるシミュレーションデータを保持する。シミュレーションデータを図11に例示する。図12は、シミュレーション実行部303の動作を示すフローチャートであり、以下では図12のフローチャートに従って、シミュレーション実行部303の動作を説明する。
処理1201では、シミュレーションデータの初期値を設定する。ジョブ名1101には、シミュレーションモデルを参照して、シミュレーションモデルに設定されているすべてのジョブを設定する。各ジョブの開始時刻1102と終了時刻1103は空欄、実行済み時間1104は0分、状態1105は「未実行」に設定する。実行計算機1106には、シミュレーションモデルを参照して各ジョブの実行計算機802の値を設定する。次回イベント時刻1107には、シミュレーションモデルを参照して各ジョブの開始時刻801の値を設定する。シミュレーション時刻1108には、シミュレーションモデルを参照して、開始時刻801のうち最も早い時刻を設定する。イベント時刻1109とイベントジョブ名1110は空欄に設定する。
判断1202では、シミュレーションデータを参照して、すべてのジョブの状態1104が「終了」であるか否かを判断する。すべてのジョブの状態が「終了」である場合YESへ、その他の場合はNOに分岐する。
処理1203では、シミュレーションデータの次回イベント時刻1106から、最も早い時刻を検索し、この時刻をイベント時刻1209に、この時刻を検索したジョブ名1101をイベントジョブ名1110に設定する。
処理1204では、開始時刻1102、実行済み時間1104と状態1105を変更する。図13は処理1204の動作を示すフローチャートである。以下、図13を参照して、処理1204の動作を説明する。
処理1301では、状態1105が「実行中」のすべてのジョブの実行済み時間1104に、イベント時刻1109とシミュレーション時刻1108の差で求められる時間を加算する。
判断1302では、シミュレーションデータの状態1105を参照し、イベントジョブ名1110とジョブの状態が「未実行」であるか否かの判断をする。
処理1303では、イベントジョブ名1110のジョブのシミュレーションデータの開始時刻1102を、イベント時刻1109の値に変更する。
判断1304では、シミュレーションデータから、イベントジョブ名1110のジョブの実行計算機1106を検索する。そして、シミュレーションデータを参照して、検索された実行計算機と同じ計算機で、状態が「実行中」のジョブがあるか否かを判断する。
処理1306では、イベントジョブ名1110のジョブの状態1105を「実行待ち」に、次回イベント時刻1107を空欄に変更する。
処理1306では、イベントジョブ名1110のジョブの状態1105を「実行中」に、次回イベント時刻1107をシミュレーションモデルのイベント間隔804の値とイベント時刻1109の値の和に変更する。
シミュレーション実行部303の動作フローチャート図12の説明に戻る。処理1105では、終了時刻1103と状態1105とシミュレーション時刻1108を変更する。すべてのジョブに対して、シミュレーションデータの実行済み時間1104とシミュレーションモデルの所要時間803を比較し、実行済み時間が所要時間以上である場合に、そのジョブの状態1105を「終了」に、終了時刻1103をイベント時刻1109の値に設定する。また、シミュレーション時刻1108に、イベント時刻1109の値を設定する。
以上のシミュレーション実行部303の動作によって、各ジョブの開始時刻と終了時刻からなるシミュレーション結果が得られる。シミュレーション結果を図14に例示する。
【0015】
評価部304は、シミュレーション結果から、ジョブの実行計画の評価値を算出する。評価値の例として、すべてのジョブの実行に要した時間である総所要時間がある。総所要時間を算出するためには、シミュレーション結果から、最初に開始されたジョブの開始時刻と、最後に終了したジョブの終了時刻を検索し、この終了時刻と開始時刻の差を計算すればよい。総所要時間による評価値は、値が小さいほど、よい実行計画であることを示している。
出力部は、ディスプレイ装置によって実装され、評価部が算出した評価値をディスプレイに表示することで、利用者に対してジョブ実行計画の評価値を提示する。このとき、評価値とともに、図8のシミュレーションモデルをディスプレイに表示し、利用者に提示する方法も考えられる。
【図面の簡単な説明】
【図1】本発明にかかる評価システムが適用されるコンピュータシステムの例を示す図である。
【図2】ジョブの実行計画の例を示す図である。
【図3】本発明の評価システムの構成図である。
【図4】本発明のジョブモデルの例を示す図である。
【図5】シミュレーションモデルの例を示す図である。
【図6】シミュレーションのイベント数と実行時間の関係を示す図である。
【図7】本発明のモデル作成部の動作を示すフローチャートである。
【図8】シミュレーションモデルの例を示す図である。
【図9】シミュレーションモデルの例を示す図である。
【図10】シミュレーションの誤差を示す図である。
【図11】本発明のシミュレーション実行部が管理するシミュレーションデータを示す図である。
【図12】本発明のシミュレーション実行部の動作を示すフローチャートである。
【図13】本発明のシミュレーション実行部の動作を示すフローチャートである。
【図14】本発明のシミュレーション実行部によるシミュレーション結果の例を示す図である。
【符号の説明】
301…入力部、302…モデル作成部、303…シミュレーション実行部、304…評価部、305…出力部、306…モデルデータベース、307…性能格納部。
【発明の属する技術分野】
本発明は、ジョブの実行計画の評価を行う評価システムに関する。
【0002】
【従来の技術】
ジョブの実行計画に関する問題には、例えば、ジョブショップスケジューリング問題がある。
ジョブショップスケジューリング問題では、x個のトランザクションがy個のジョブで構成されており、各ジョブはz個の計算機のいずれか一つによって処理される。各ジョブには、所要時間が定められている。また、一つのトランザクションを構成するジョブの間には先行関係がある。このとき、すべてのトランザクションを終了するまでの総所要時間がなるべく短くなるように、ジョブの実行計画(ジョブの開始時刻とジョブを実行する計算機)を決定することが問題である。
【0003】
ジョブショップスケジューリング問題においては、ジョブの実行計画を評価する評価指標として、すべてのトランザクションを終了するまでの総所要時間が用いられる。
計算機がシングルタスク(同時に実行するジョブが一つ)である場合には、実行計画にしたがって各ジョブの所要時間の足し合わせることによって、実行計画の評価指標を算出することができる。
計算機がマルチタスク(同時に実行するジョブが複数)である場合には、複数のジョブが計算機を同時に利用するために、ジョブの所要時間が変化し、足し合わせによって総所要時間を算出することができない。そのため、マルチタスク環境における、実行計画を評価するために、離散イベントシミュレーションが広く用いられている。
離散イベントシミュレーションを用いれば、計算機がマルチタスクの場合であっても、実行計画の評価指標を算出することができる。
例えば、計算機がマルチタスクである場合に、計算機の性能指標をシミュレーションによって算出する方法として、マルチタスクシステムの評価システム及び予測方法並びにその方法プログラムを記録した記録媒体(特開2000−298593号)が開示されている。特開2000−298593における計算機の性能指標が、ジョブの所要時間に相当する。特開2000−298593を使用してジョブの所要時間の算出を繰り返し行うと、実行計画の評価指標を算出できる。
また、米国HyPerformix Inc.から、離散イベントシミュレーションを用いて、マルチタスク計算機の性能指標を算出するソフトウェア(Hyperformix Infrastructure Optimizer)が販売されている。
【特許文献1】
特開2000−298593号公報
【0004】
【発明が解決しようとする課題】
上述した離散イベントシミュレーションによるジョブ実行計画の評価においては、離散イベントシミュレーションの実行に、大量の演算をする必要がある。そのため、シミュレーションの実行に時間がかかり、実用上必要な時間内に、実行計画の評価を終了できない場合がある。
そこで、シミュレーションの実行を高速化し、利用者の要求する制限時間内に実行計画の評価を終了することが課題となる。
シミュレーションの実行を高速化する方策に、シミュレーションモデルを変更する方法がある。シミュレーションモデルによって、シミュレーションの実行に要する演算量が異なるため、より少ない演算量で実行できるシミュレーションモデルを使用すれば、シミュレーションの実行を高速化できる。
シミュレーションと現実の合致の度合い(シミュレーションの精度)は、シミュレーションモデルによって変わる。シミュレーションの精度が低いと、ジョブ実行計画の評価が不正確になるため、シミュレーションの精度は高いほうがよい。
シミュレーションの実行を高速化するために、シミュレーションモデルを変更した場合、シミュレーションの精度が低下する危険がある。シミュレーションモデルを変更する場合に、シミュレーションの精度の低下を抑えることが第2の課題である。
【0005】
【課題を解決するための手段】
本発明の評価システムは、ジョブの実行計画と制限時間を入力可能にする入力部と、ジョブモデルを格納するモデルデータベースと、モデルデータベースに格納されたジョブモデルからシミュレーションモデルを作成するモデル作成部と、シミュレーションを実行するシミュレーション実行部と、シミュレーションの結果から実行計画の評価をする評価部と、評価結果を出力する出力部を備えている。
さらに、本発明の評価システムは、シミュレーションを実行する計算機の性能値を格納する性能格納部を備えている。
【0006】
モデル作成部は、前記入力部に入力された制限時間と、前記性能格納部に格納された性能値に応じて、シミュレーションモデルを作成する方法を変更する。このシミュレーションモデル作成方法の変更により、前記シミュレーション実行部がシミュレーションの実行に要する時間を、入力部に入力された制限時間以下にする。
モデル作成部がジョブモデルからシミュレーションモデルを作成する方法は、シミュレーションモデルのパラメータを設定する工程を含む。モデル作成部は、前記入力部に入力された実行計画からジョブの干渉の度合いを算出し、算出された干渉の度合いが少ないジョブのジョブモデルを優先してシミュレーションモデルのパラメータを変更する。
【0007】
【発明の効果】
本発明のジョブ実行計画の評価システムは、性能格納部と、モデル作成部を備えることによって、シミュレーションの実行に要する時間を入力部に入力された制限時間以下にすることができる。
【0008】
【発明の実施の形態】
以下、本発明に係るジョブ実行計画の評価システムについて図面を参照しながら説明する。
この評価システムは、例えば図1に示すような制御計算機101、ネットワーク102、実行計算機S1(103)、および実行計算機S2(104)から構成されるコンピュータシステムに適用することができる。制御計算機101はネットワーク102を介して、実行計算機S1(103)、実行計算機S2(104)に対して、実行計算機上で動作するプログラムの実行を指示する。実行計算機上で動作するプログラムを本明細書ではジョブとよぶ。
図1のシステムでは、制御計算機101がジョブの実行計画(ジョブの開始時刻とジョブを実行する計算機)にしたがって、ジョブの実行指示をする。図2は、ジョブA、ジョブBおよびジョブCの3つのジョブを実行する際の実行計画の例である。図2に示すように、ジョブの実行計画とは、各ジョブの開始時刻201と実行する計算機202からなる。
【0009】
本発明の評価システムは、例えば図2に示す実行計画の優劣を評価するために適用する。この評価システムは、図3に示すように、ジョブの実行計画と制限時間を入力可能にする入力部301と、モデルデータベースに格納されたジョブモデルからシミュレーションモデルを作成するモデル作成部302と、シミュレーションを実行するシミュレーション実行部303と、シミュレーションの結果から実行計画の評価をする評価部304と、評価結果を出力する出力部305と、ジョブモデルを格納するモデルデータベース306と、シミュレーションを実行する計算機の性能値を格納性能格納部307とを有する。
入力部301は、キーボード、ディスプレイ、マウス等の入出力装置で実装され、利用者がこれらの入出力装置を操作することで、ジョブの実行計画と、シミュレーション実行部303がシミュレーションの実行に要する時間の上限値である制限時間を入力可能にする。ここにジョブの実行計画の入力とは、図2に示すように各ジョブの開始時刻101と実行する計算機102を入力することである。
また、制限時間の入力とは、例えば「2分」というように、時間を入力することである。
【0010】
モデルデータベース306には、ジョブモデルが格納される。図4に示すように、ジョブモデルとは所要時間401からなる。図4の例では、ジョブA、ジョブB、およびジョブCの3つのジョブモデルを示している。
モデル作成部302は、入力部301に入力されたジョブの実行計画と、モデルデータベース306に格納されたジョブモデルから、シミュレーションモデルを作成する。シミュレーションモデルとは、実行計画内の各ジョブに対し、開始時刻、実行計算機、所要時間、およびイベント間隔を指定したものである。このうち、開始時刻と実行計算機は、入力部301に入力された実行計画から、所要時間は、モデルデータベース306に格納されている各ジョブの所要時間から指定される。イベント間隔を決定するアルゴリズムについては後述する。図5は、図4のジョブモデルがモデルデータベース306に格納され、図4の実行計画が入力部301に入力された場合に作成されるシミュレーションモデルである。図5では、イベント間隔に10ミリ秒を指定して、シミュレーションモデルを例示している。本実施例においては、このイベント間隔が、請求項5の「シミュレーションモデルのパラメータ」に相当する。
【0011】
離散イベントシミュレーションの実行に要する時間は、シミュレーション実行時に発生するイベントの回数に比例し、その比例定数は、シミュレーションを実行する計算機によって決まることが見出された。図6は、同一の計算機を用いて、イベント回数の異なるシミュレーションを実行し、その実行時間を調べた結果である。図6のグラフが直線関係にあることが、シミュレーションの実行に要する時間と、シミュレーション実行時に発生するイベントの回数が比例することを示している。図6の比例関係の比例定数は、シミュレーションを実行する計算機によって変化する。
性能格納部307は、該評価システムにおいてシミュレーションを実行する計算機を用いた場合の、シミュレーション実行時に発生するイベントの回数とシミュレーション実行時間の比例定数を格納する。この比例定数は、1イベントあたりの実行時間であり、例えば「1ミリ秒」といった時間が格納される。
モデル作成部302が、シミュレーションモデルのイベント間隔を決定するアルゴリズムについて説明する。図7にイベント間隔を決定するアルゴリズムのフローチャートを示す。
【0012】
モデル作成部302はイベント間隔の初期値を持っており、この初期値を使ってシミュレーションモデルを作成する処理が処理701である。この初期値は、例えば「10ミリ秒」といった時間で指定されており、処理701によって、例えば図5のシミュレーションモデルが作成される。
処理702では、初期値を用いて作成されたシミュレーションモデルから、イベント数の総計を算出する。シミュレーションモデルの各ジョブのイベント数は、所要時間/イベント間隔で算出され、イベント数の総計とは、各ジョブのイベント数の総和である。例えば図5のシミュレーションモデルでは、ジョブA、ジョブB、ジョブCのイベント数は、それぞれ3万回(5分/10ミリ秒)、6万回(10分/10ミリ秒)、9万回(15分/10ミリ秒)であるから、イベント数の総和は18万回(3万回+6万回+9万回)である。
判断703では、処理702で算出したイベント数の総和と、性能格納部307に格納された性能値と、入力部301に入力された制限時間を使って、シミュレーションが制限時間内に終了するか否かを判断する。このために、処理702で算出したイベント総数と、性能格納部307に格納されている1イベントあたりの実行時間の積を計算し、制限時間と大小を比較する。制限時間の方が大きい場合、図7のフローチャートのYES、制限時間の方が小さい場合、図7のフローチャートのNOに分岐する。例えば、図5のシミュレーションモデルでイベント総数が18万回であり、性能格納部307に格納された性能値が1ミリ秒、制限時間が2分の場合、18万×1ミリ秒=3分で、これは制限時間の2分より大きいので、NOと判断される。
【0013】
処理704では、シミュレーションモデルから各ジョブの干渉度を算出する。
ジョブの干渉度は、開始時刻501から所要時間503の間に、同じ実行計算機502で実行している他のジョブの延べ時間で定義する。例えば、図5のシミュレーションモデルの場合、ジョブAの干渉度は、開始時刻(12:00)から所要時間(5分)の間(12:00〜12:05)に、同じ実行計算機(S1)で実行している他のジョブはないので、干渉度は0である。ジョブBの干渉度は、開始時刻(12:05)から所要時間(10分)の間(12:05〜12:15)に、同じ計算機(S2)で実行しているジョブは、ジョブCがあり、ジョブBとジョブCが同時に実行している時間が5分(12:10〜12:15)であるので、ジョブBの干渉度は5である。同様に、ジョブCの干渉度も5である。同時に実行しているジョブが2つ以上ある場合には、それぞれのジョブに対し同時に実行している時間を計算し、その総和が干渉度であり、これが干渉度の定義における「延べ時間」の意味である。
処理705では、シミュレーションモデルのイベント総数と性能格納部307に格納された性能値の積が、入力部301に入力された制限時間以下になるまで、シミュレーションモデルのイベント間隔を大きくする。このとき、処理704で算出した干渉度が小さいジョブのイベント間隔を優先して変更する。イベント間隔を大きくする場合、その上限はジョブの所要時間である。本実施例における、処理704で算出した干渉度が小さいジョブのイベント間隔を優先して変更する点が、請求項5の「算出された干渉の度合いがに従って、シミュレーションモデルのパラメータを変更すること」に相当する。
処理705を、図5のシミュレーションモデルで、性能格納部307に格納された性能値が1ミリ秒で、入力部301に入力された制限時間が2分の場合を例にとって説明する。処理704によってジョブA、ジョブB、ジョブCの干渉度は、それぞれ0、5、5である。ジョブAの干渉度が最小であるので、ジョブAのイベント間隔を大きくする。ジョブAのイベント間隔を大きくする場合、ジョブAの所要時間が5分であるから、ジョブAのイベント間隔の上限は5分である。ジョブAのイベント間隔を5分にしたとき、シミュレーションモデルのイベント総数は15万回(ジョブA0回、ジョブB6万回、ジョブC9万回)であり、性能値(1ミリ秒)との積は2分30秒であり、制限時間(2分)より大きい。そのため、干渉度が次に小さいジョブBとジョブCのイベント間隔を大きくしていく。ジョブBとジョブCのイベント間隔を12.5ミリ秒にしたとき、イベント総数は12万回(ジョブA0回、ジョブB4万8千回、ジョブC7万2千回)、性能値(1ミリ秒)との積は2分となり、制限時間(2分)以下になる。このようにして、処理705は、ジョブA、ジョブB、ジョブCのイベント間隔を、それぞれ5分、12.5ミリ秒、12.5ミリ秒に変更する。変更されたシミュレーションモデルを図8に示す。
処理705のように干渉度に従ってシミュレーションモデルのイベント間隔を変更する方法のほかに、すべてのジョブのイベント間隔を一律に増加させる方法も考えられる。例えば、図5のシミュレーションモデルで、性能格納部307に格納された性能値が1ミリ秒で、入力部301に入力された制限時間が2分の場合、図9に示すように、ジョブA、ジョブB、ジョブCのイベント間隔を15ミリ秒に変更すれば、イベント総数12万回(ジョブA2万回、ジョブB4万回、ジョブC8万回)と性能値(1ミリ秒)の積は2分で、制限時間(2分)以下になる。
図10は、図5のシミュレーションモデルを使ったシミュレーションの誤差と、図9のシミュレーションモデルを使ったシミュレーションの誤差をジョブBの終了時間で比較した結果である。図10に示すように、干渉度を用いてイベント間隔を変更した方が誤差が小さく、シミュレーションの精度が低下しない利点があることがわかる。
【0014】
シミュレーション実行部303は、モデル作成部302が作成したシミュレーションモデルを使ってシミュレーションを実行する。シミュレーション実行部303は、ジョブ名1101、開始時刻1102、終了時刻1103、実行済み時間1104、状態1105、実行計算機1106、次回イベント時刻1107と、シミュレーション時刻1108、イベント時刻1109、イベントジョブ名1110からなるシミュレーションデータを保持する。シミュレーションデータを図11に例示する。図12は、シミュレーション実行部303の動作を示すフローチャートであり、以下では図12のフローチャートに従って、シミュレーション実行部303の動作を説明する。
処理1201では、シミュレーションデータの初期値を設定する。ジョブ名1101には、シミュレーションモデルを参照して、シミュレーションモデルに設定されているすべてのジョブを設定する。各ジョブの開始時刻1102と終了時刻1103は空欄、実行済み時間1104は0分、状態1105は「未実行」に設定する。実行計算機1106には、シミュレーションモデルを参照して各ジョブの実行計算機802の値を設定する。次回イベント時刻1107には、シミュレーションモデルを参照して各ジョブの開始時刻801の値を設定する。シミュレーション時刻1108には、シミュレーションモデルを参照して、開始時刻801のうち最も早い時刻を設定する。イベント時刻1109とイベントジョブ名1110は空欄に設定する。
判断1202では、シミュレーションデータを参照して、すべてのジョブの状態1104が「終了」であるか否かを判断する。すべてのジョブの状態が「終了」である場合YESへ、その他の場合はNOに分岐する。
処理1203では、シミュレーションデータの次回イベント時刻1106から、最も早い時刻を検索し、この時刻をイベント時刻1209に、この時刻を検索したジョブ名1101をイベントジョブ名1110に設定する。
処理1204では、開始時刻1102、実行済み時間1104と状態1105を変更する。図13は処理1204の動作を示すフローチャートである。以下、図13を参照して、処理1204の動作を説明する。
処理1301では、状態1105が「実行中」のすべてのジョブの実行済み時間1104に、イベント時刻1109とシミュレーション時刻1108の差で求められる時間を加算する。
判断1302では、シミュレーションデータの状態1105を参照し、イベントジョブ名1110とジョブの状態が「未実行」であるか否かの判断をする。
処理1303では、イベントジョブ名1110のジョブのシミュレーションデータの開始時刻1102を、イベント時刻1109の値に変更する。
判断1304では、シミュレーションデータから、イベントジョブ名1110のジョブの実行計算機1106を検索する。そして、シミュレーションデータを参照して、検索された実行計算機と同じ計算機で、状態が「実行中」のジョブがあるか否かを判断する。
処理1306では、イベントジョブ名1110のジョブの状態1105を「実行待ち」に、次回イベント時刻1107を空欄に変更する。
処理1306では、イベントジョブ名1110のジョブの状態1105を「実行中」に、次回イベント時刻1107をシミュレーションモデルのイベント間隔804の値とイベント時刻1109の値の和に変更する。
シミュレーション実行部303の動作フローチャート図12の説明に戻る。処理1105では、終了時刻1103と状態1105とシミュレーション時刻1108を変更する。すべてのジョブに対して、シミュレーションデータの実行済み時間1104とシミュレーションモデルの所要時間803を比較し、実行済み時間が所要時間以上である場合に、そのジョブの状態1105を「終了」に、終了時刻1103をイベント時刻1109の値に設定する。また、シミュレーション時刻1108に、イベント時刻1109の値を設定する。
以上のシミュレーション実行部303の動作によって、各ジョブの開始時刻と終了時刻からなるシミュレーション結果が得られる。シミュレーション結果を図14に例示する。
【0015】
評価部304は、シミュレーション結果から、ジョブの実行計画の評価値を算出する。評価値の例として、すべてのジョブの実行に要した時間である総所要時間がある。総所要時間を算出するためには、シミュレーション結果から、最初に開始されたジョブの開始時刻と、最後に終了したジョブの終了時刻を検索し、この終了時刻と開始時刻の差を計算すればよい。総所要時間による評価値は、値が小さいほど、よい実行計画であることを示している。
出力部は、ディスプレイ装置によって実装され、評価部が算出した評価値をディスプレイに表示することで、利用者に対してジョブ実行計画の評価値を提示する。このとき、評価値とともに、図8のシミュレーションモデルをディスプレイに表示し、利用者に提示する方法も考えられる。
【図面の簡単な説明】
【図1】本発明にかかる評価システムが適用されるコンピュータシステムの例を示す図である。
【図2】ジョブの実行計画の例を示す図である。
【図3】本発明の評価システムの構成図である。
【図4】本発明のジョブモデルの例を示す図である。
【図5】シミュレーションモデルの例を示す図である。
【図6】シミュレーションのイベント数と実行時間の関係を示す図である。
【図7】本発明のモデル作成部の動作を示すフローチャートである。
【図8】シミュレーションモデルの例を示す図である。
【図9】シミュレーションモデルの例を示す図である。
【図10】シミュレーションの誤差を示す図である。
【図11】本発明のシミュレーション実行部が管理するシミュレーションデータを示す図である。
【図12】本発明のシミュレーション実行部の動作を示すフローチャートである。
【図13】本発明のシミュレーション実行部の動作を示すフローチャートである。
【図14】本発明のシミュレーション実行部によるシミュレーション結果の例を示す図である。
【符号の説明】
301…入力部、302…モデル作成部、303…シミュレーション実行部、304…評価部、305…出力部、306…モデルデータベース、307…性能格納部。
Claims (6)
- ジョブの実行計画の評価をシミュレーションを用いて行う評価システムであって、ジョブの実行計画と制限時間を入力可能にする入力部と、ジョブモデルを格納するモデルデータベースと、モデルデータベースに格納されたジョブモデルからシミュレーションモデルを作成するモデル作成部と、シミュレーションを実行するシミュレーション実行部と、シミュレーションの結果から実行計画の評価をする評価部と、評価結果を出力する出力部を備えることを特徴とする評価システム。
- 更にシミュレーションを実行する計算機の性能値を格納する性能格納部を含むことを特徴とする請求項1記載の評価システム。
- 前記モデル作成部は、前記入力部に入力された制限時間と、前記性能格納部に格納された性能値に応じて、シミュレーションモデルを作成する方法を変更することを特徴とする請求項2記載の評価システム。
- 前記モデル作成部は、前記シミュレーション実行部のシミュレーションの実行に要する時間が、前記入力部に入力された制限時間以下になるようにモデル作成方法を変更することを特徴とする請求項3記載の評価システム。
- 前記モデル作成部がジョブモデルからシミュレーションモデルを作成する方法は、シミュレーションモデルのパラメータを設定する工程を含み、前記モデル作成部は、前記入力部に入力された実行計画からジョブの干渉の度合いを算出し、算出された干渉の度合いに従って、シミュレーションモデルのパラメータを変更することを特徴とする請求項3又は4記載の評価システム。
- 前記出力部は、モデル作成部が作成したシミュレーションモデルを出力することを特徴とする請求項3記載の評価システム。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003202767A JP2005049922A (ja) | 2003-07-29 | 2003-07-29 | ジョブ実行計画の評価システム |
US10/790,201 US20050027504A1 (en) | 2003-07-29 | 2004-03-02 | Job execution plan evaluation system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003202767A JP2005049922A (ja) | 2003-07-29 | 2003-07-29 | ジョブ実行計画の評価システム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2005049922A true JP2005049922A (ja) | 2005-02-24 |
Family
ID=34100604
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003202767A Pending JP2005049922A (ja) | 2003-07-29 | 2003-07-29 | ジョブ実行計画の評価システム |
Country Status (2)
Country | Link |
---|---|
US (1) | US20050027504A1 (ja) |
JP (1) | JP2005049922A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2012020478A1 (ja) * | 2010-08-10 | 2012-02-16 | 富士通株式会社 | スケジューラ、マルチコアプロセッサシステムおよびスケジューリング方法 |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4240001B2 (ja) * | 2005-05-16 | 2009-03-18 | コニカミノルタビジネステクノロジーズ株式会社 | データ収集装置及びプログラム |
US7752545B2 (en) * | 2006-03-15 | 2010-07-06 | Microsoft Corporation | Generator system |
US8271982B2 (en) * | 2008-05-08 | 2012-09-18 | International Business Machines Corporation | Rescheduling jobs for execution by a computing system |
US8843221B2 (en) * | 2009-12-09 | 2014-09-23 | Comau Spa | Automation management system and method |
US10970183B1 (en) * | 2013-08-16 | 2021-04-06 | The Mathworks, Inc. | System and method for improving model performance |
SI3012695T1 (en) | 2014-10-23 | 2018-01-31 | Comau S.P.A. | System for monitoring and control of an industrial plant |
US11494727B2 (en) * | 2016-08-11 | 2022-11-08 | TruckPay Inc. | Job verification method and system based on code scanning |
US10467120B2 (en) * | 2016-11-11 | 2019-11-05 | Silexica GmbH | Software optimization for multicore systems |
JP6903950B2 (ja) * | 2017-02-28 | 2021-07-14 | 富士通株式会社 | 作業計画作成プログラム、作業計画作成装置、及び作業計画作成方法 |
IT201800005091A1 (it) | 2018-05-04 | 2019-11-04 | "Procedimento per monitorare lo stato di funzionamento di una stazione di lavorazione, relativo sistema di monitoraggio e prodotto informatico" |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5828867A (en) * | 1994-08-04 | 1998-10-27 | Lucent Technologies Inc. | Method for discrete digital event simulation |
US6311144B1 (en) * | 1998-05-13 | 2001-10-30 | Nabil A. Abu El Ata | Method and apparatus for designing and analyzing information systems using multi-layer mathematical models |
-
2003
- 2003-07-29 JP JP2003202767A patent/JP2005049922A/ja active Pending
-
2004
- 2004-03-02 US US10/790,201 patent/US20050027504A1/en not_active Abandoned
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2012020478A1 (ja) * | 2010-08-10 | 2012-02-16 | 富士通株式会社 | スケジューラ、マルチコアプロセッサシステムおよびスケジューリング方法 |
JP5408356B2 (ja) * | 2010-08-10 | 2014-02-05 | 富士通株式会社 | スケジューラプログラム、マルチコアプロセッサシステムおよびスケジューリング方法 |
US9262209B2 (en) | 2010-08-10 | 2016-02-16 | Fujitsu Limited | Scheduler, multi-core processor system, and scheduling method |
Also Published As
Publication number | Publication date |
---|---|
US20050027504A1 (en) | 2005-02-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Fekete et al. | Progressive analytics: A computation paradigm for exploratory data analysis | |
JP4739472B2 (ja) | 性能予測装置および方法、記録媒体 | |
US10402225B2 (en) | Tuning resources based on queuing network model | |
JP4464665B2 (ja) | 高速チップ管理システム | |
Schulz et al. | An enhanced visualization process model for incremental visualization | |
JP2005049922A (ja) | ジョブ実行計画の評価システム | |
JP2008518359A (ja) | 最適化問題の解決方法及びそのシステム | |
Bhardwaj et al. | Impact of size and productivity on testing and rework efforts for web-based development projects | |
Reiter et al. | A novel framework for monitoring and analyzing quality of data in simulation workflows | |
US7739083B2 (en) | Program and/or method for calculating tuning parameters for numerical computation library | |
US20060175393A1 (en) | Analysis technique of computer system | |
JP2021077364A (ja) | プロジェクトマネジメントシステム、プロジェクト管理方法及びプログラム | |
JP2005148901A (ja) | ジョブスケジューリングシステム | |
CN111382925A (zh) | 生产实绩数据分析装置 | |
JP4467823B2 (ja) | 設計支援装置および設計支援方法ならびに設計支援プログラム | |
JP2023131694A (ja) | タスクスケジューリング管理システム、タスクスケジューリング管理方法およびコンピュータプログラム | |
JP7380696B2 (ja) | 人員の手配装置、手配方法およびプログラム | |
CN114503140A (zh) | 生产模拟装置 | |
JP6573583B2 (ja) | システム開発支援装置およびシステム開発支援方法 | |
JP2001229407A (ja) | 数値解析用モデル作成装置、数値解析用モデル作成方法および記憶媒体 | |
JP5532052B2 (ja) | 評価モデル分析システム、評価モデル分析方法およびプログラム | |
JP4196764B2 (ja) | 原因・経路推定方法および原因推定装置 | |
JP2002268879A (ja) | プログラム設計支援装置、プログラム設計支援方法及びプログラム設計支援方法をコンピュータに実行させるためのプログラム。 | |
Agrawal et al. | Quantitative estimation of cost drivers for intermediate COCOMO towards traditional and cloud based software development | |
KR20190143595A (ko) | 동시병행 일정 최적화 방법 및 시스템 |