JP2004005288A - Batch performance evaluating method and device - Google Patents
Batch performance evaluating method and device Download PDFInfo
- Publication number
- JP2004005288A JP2004005288A JP2002160904A JP2002160904A JP2004005288A JP 2004005288 A JP2004005288 A JP 2004005288A JP 2002160904 A JP2002160904 A JP 2002160904A JP 2002160904 A JP2002160904 A JP 2002160904A JP 2004005288 A JP2004005288 A JP 2004005288A
- Authority
- JP
- Japan
- Prior art keywords
- job
- input
- execution time
- machine
- performance
- 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
Abstract
Description
【0001】
【発明の属する技術分野】
本発明は、設計段階でシステム性能を見積るための性能見積り方法及び装置に関し、特にデータウェアハウスシステム等の構築のためのバッチジョブの性能見積り方法及び装置に関する。
【0002】
【従来の技術】
システムの性能を設計段階で見積るための性能見積り方法及び装置としては、特開2001−125784号公報に開示されるように、(1)データフロー図とレコード仕様定義、該データフローに含まれる各プロセスの処理概要を表す処理パターン、当該プロセスが扱うデータ件数、プロセスの算出時間を見積る算出ルールを入力し各プロセスの予測実行時間(CPU処理時間)を算出する、(2)プロセスの処理日と処理時間帯を設定する手段と(1)で算出したCPU処理時間から、各処理時間帯毎のCPU処理時間を算出する、及び、(3)ハードウェアの性能情報と(2)で算出した各処理時間帯毎のCPU処理時間から、ハードウェア選定へのアドバイス情報を出力する性能見積り方法及び装置が知られている。
【0003】
【発明が解決しようとする課題】
上記公知例は、オンラインアプリケーションの設計における性能見積り方法及び装置を前提としており、データウェアハウスを構築するバッチジョブに適用しようとした場合、(1)データウェアハウス構築のバッチ処理はデータの入出力性能に縛られるため、性能算出ルールが自明であり算出ルールを必ず入力する必要がない、(2)バッチ処理は該データフローとは別に定義されたジョブの実行順序に基づいて実行され、ジョブがどの時間帯に実行されるかは該ジョブの前に実行されるジョブの実行時間により決定されるため、ジョブの処理日と処理時間を事前に入力することが困難である、(3)ハードウェア選定は、バッチ処理をどれくらいの時間で完了させる必要があるかにより決定されるため、処理日及び処理時間帯毎のCPU利用時間からではハードウェアの選定を行うことができない、という課題がある。
【0004】
本発明の第一の目的は、データウェアハウスシステム等の見積りや設計段階において、ハードの性能単価情報とデータフロー図、ジョブが扱うデータ件数、ジョブスケジュール、ジョブ実行時間の目標値から、バッチ処理の処理時間及びジョブ実行時間を満たすハードを算出・提示し、見積りや設計段階での性能評価を可能とすることにより、開発工程上の手戻りを削減する性能見積り方法を提供することである。
【0005】
本発明の第二の目的は、データウェアハウスシステムの見積りや設計段階において、ハードの性能単価情報とデータフロー図、ジョブが扱うデータ件数、ジョブスケジュール、ジョブ実行時間の目標値から、バッチ処理の処理時間及びジョブ実行時間を満たすハードを算出・提示し、見積りや設計段階での性能評価を可能とすることにより、開発工程上の手戻りを削減する性能見積り装置を提供することである。
【0006】
【課題を解決するための手段】
上記の第1の目的は、システム仕様設計の際に作成する、テーブルとジョブとを並べて業務データの流れを表現したデータフローを入力するデータフロー入力ステップと、マシン毎の性能単価を入力するマシン性能単価入力ステップと、データフローに含まれるジョブの入力データ件数及び出力データ件数を設定するプロパティ設定ステップと、データフローに含まれるジョブの入力データ件数及び出力データ件数と、マシン性能単価入力ステップを用いて入力したマシン性能単価とから各ジョブの実行予想時間を算出するジョブ単独実行時間算出ステップと、ジョブのスケジュールを入力するジョブスケジュール入力ステップと、ジョブスケジュール入力ステップを用いて入力したジョブスケジュールと、各ジョブの実行予想時間からジョブ全体の実行時間を算出するジョブ全体実行時間算出ステップと、ジョブの実行許容時間を入力するジョブ実行許容時間入力ステップと、マシン性能単価入力ステップを用いて入力した各マシン毎にジョブ全体の実行予想時間を算出し、各マシン毎の実行予想時間とジョブ実行許容時間を突き合わせることによりジョブ実行推奨マシン情報を出力するマシン選択ステップを有する性能見積り方法により達成できる。
【0007】
上記の第2の目的は、システム仕様設計の際に作成するテーブルとジョブとを並べて業務データの流れを表現したデータフローを入力するデータフロー入力手段と、マシン毎の性能単価を入力するマシン性能単価入力手段と、データフローに含まれるジョブの入力データ件数及び出力データ件数を設定するプロパティ設定手段と、データフローに含まれるジョブの入力データ件数及び出力データ件数と該マシン性能単価入力ステップを用いて入力したマシン性能単価とから各ジョブの実行予想時間を算出するジョブ単独実行時間算出手段と、ジョブのスケジュールを入力するジョブスケジュール入力手段と、ジョブスケジュール入力手段を用いて入力したジョブスケジュールと各ジョブの実行予想時間からジョブ全体の実行時間を算出するジョブ全体実行時間算出手段と、ジョブの実行許容時間を入力するジョブ実行許容時間入力手段と、マシン性能単価入力ステップを用いて入力した各マシン毎にジョブ全体の実行予想時間を算出し、各マシン毎の実行予想時間とジョブ実行許容時間を突き合わせることによりジョブ実行推奨マシン情報を出力するマシン選択手段を備える性能見積り装置により達成できる。
【0008】
【発明の実施の形態】
以下、本発明の一実施の形態について、図面を用いて詳細に説明する。図1は、本発明のバッチ性能見積り方法の機能構成を示すものである。
【0009】
図1において、バッチ性能見積り方法は、性能算出ステップ1、データフロー記述GUI2、データフローテーブル3、ジョブ全体実行許容時間テーブル4、マシン別性能単価テーブル5、ジョブ単独実行予想時間テーブル6、ジョブ全体実行予想時間テーブル7、ジョブ実行推奨マシンテーブル8を有し、さらに性能算出ステップ1は、ジョブ単独実行時間算出ステップ9、ジョブ全体実行時間算出ステップ10、全てのマシンについてジョブ全体実行時間を算出したか否かを判断する判断ステップ11、及びマシン選択ステップ12から構成され、データフローテーブル3はさらにデータテーブル31、アローテーブル32、ジョブテーブル33、及びジョブスケジュールテーブル34から構成される。なお、データフロー入力ステップ、プロパティ設定ステップ、ジョブスケジュール入力ステップ、マシン性能単価入力ステップ、及びジョブ全体実行許容時間入力ステップは、データフロー記述GUI2に存在する。
【0010】
図13は、本発明を格納した性能算出プログラム1が実施される装置の構成例を示したものである。該装置は、CPU1301、主記憶1302、キーボード及びマウス1303、ディスプレイ1304、バス1305、CD−ROM又はFDD1306、及びハードディスク1307から構成される。
【0011】
本発明を格納した性能算出プログラム1は、CD−ROM又はFDD1306から読込まれ、バス1305を経由してハードディスク1307に格納される。性能算出プログラム1は、実行時には主記憶1302に読込まれ、CPU1301により実行される。
【0012】
データフローテーブル3、ジョブ全体実行許容時間テーブル4、及び、マシン別性能単価テーブル5のデータは、キーボード及びマウス1303により入力され、ハードディスク1307に格納される。また、これらのデータは主記憶1302中に一次保持される。
【0013】
さらに、ジョブ単独実行予想時間テーブル6、ジョブ全体実行予想時間テーブル7、ジョブ実行推奨マシンテーブル8のデータは、主記憶1302に保持された後、CPU1301によりハードディスク1307に格納される。また、ジョブ単独実行予想時間テーブル6、ジョブ全体実行予想時間テーブル7、ジョブ実行推奨マシンテーブル8のデータは、CPU1301により処理され、ディスプレイ1304上に表示される。
【0014】
図2は、データテーブル31の構成例を示したものである。データテーブル31は、データフロー図中のデータの情報を記憶するテーブルであり、データの名称を記憶する名称フィールド311から構成される。
【0015】
図3は、アローテーブル32の構成例を示したものである。アローテーブル32は、データフロー中のアローの情報を記憶するテーブルであり、アローの入力又は出力となるジョブの名称を記憶するジョブ名フィールド321、アローの入力又は出力となるデータの名称を記憶するデータ名フィールド322、ジョブに入力されるデータ件数又はジョブが出力するデータ件数を記憶する処理レコード数フィールド323、及び、ジョブへの入力データかジョブからの出力データかを示す入出力区分フィールド324から構成される。
【0016】
図4は、ジョブテーブル33の構成例を示したものである。ジョブテーブル33は、データフロー中のジョブの情報を記憶するテーブルであり、ジョブの名称を記憶する名称フィールド331から構成される。
【0017】
図5は、ジョブスケジュールテーブル34の構成例を示したものである。ジョブスケジュールテーブル34は、ジョブの実行順序を記憶するテーブルであり、前ジョブフィールド341と次ジョブフィールド342から構成される。
【0018】
図6は、マシン別性能単価テーブル5の構成例を示したものである。マシン別性能単価テーブル5は、マシン名フィールド501、秒当りレコードIO数フィールド502、秒当り処理レコード数フィールド503から構成される。
【0019】
図7は、ジョブ単独実行予想時間テーブル6の構成例を示したものである。ジョブ単独実行予想時間テーブル6は、ジョブ名フィールド601、マシン名フィールド602、実行時間予測値フィールド603から構成される。
【0020】
図8は、ジョブ全体実行予想時間テーブル7の構成例を示したものである。ジョブ全体実行予想時間テーブル7は、マシン名フィールド701と実行時間予測値フィールド702とから構成される。
【0021】
図9は、ジョブ単独実行時間算出ステップ9で実施される処理を示すフローチャートである。まず、マシン別性能単価テーブル5から1レコード取得し(ステップ901)、レコードが取得できたかどうかを判定する。該ステップは、図1のステップ11のステップである。レコードが取得できた場合は、ジョブテーブル33から1レコード取得し(ステップ903)、レコードが取得できたかどうかを判定する(ステップ904)。レコードが取得できた場合、ステップ903で取得したレコードの名称フィールド331の値を、ジョブ名フィールド321に持つレコードをアローテーブル32から取得する(ステップ905)。
【0022】
その後、ステップ906で実行予想時間の算出を行う。実行予想時間は、ステップ905で取得したレコードの処理レコード数フィールド323の和を、ステップ901で取得したレコードの秒当りデータIO数フィールド502の値で除した値と、ステップ905で取得したレコードのうち、入出力区分フィールド324の値が“入力”であるレコードの処理レコード数フィールド323の和をステップ901で取得したレコードの秒当り処理レコード数503の値で除した値との和として算出する。
【0023】
その後、ステップ906で求めた実行予想時間を、図6のジョブ単独実行予想時間テーブル6の実行時間予測値フィールド603に、ステップ903で取得したレコードの名称フィールド331の値を、ジョブ単独実行予想時間テーブル6のジョブ名フィールド601に、ステップ901で取得したレコードのマシン名フィールド501の値を、ジョブ単独実行予想時間テーブル6のマシン名フィールド602にそれぞれ設定する。
【0024】
その後、ジョブ全体実行時間算出ステップ10を実行し、ステップ903に戻る。ステップ904でレコードが取得できなかった場合は、ステップ901に戻る。ステップ11でレコードが取得できなかった場合は、処理を終了する。なお、ステップ901及びステップ903では、1レコード取得する毎にレコードの読取り位置を増加させており、全てのレコードが読取られた場合に、ステップ11及びステップ904でレコードなしと判定される。
【0025】
図10は、ジョブ全体実行時間算出ステップ10で実施される処理を示すフローチャートである。まず、図5に示したジョブスケジュールテーブル34を参照し、ジョブの実行順序を表すグラフを作成する(ステップ1001)。図5の例では、ジョブJOB001の次にJOB002が繋がるグラフが生成される。
【0026】
次に、ステップ1001で作成したグラフの始点ノードから終点ノードに到達するまでの全てのパスを求める(ステップ1002)。始点ノードはJOB001、終点ノードはJOB002であり、求まるパスはJOB001からJOB002に至るパスである。その後、実行時間の計算結果を示す領域に0を設定する(ステップ1003)。
【0027】
次に、パスがまだ存在するかどうかを判定し(ステップ1004)、パスが存在する場合は、図9のステップ901で求めたレコードのマシン名をマシン名フィールド602に持ち、かつ、ステップ1002で求めたパスのうち現在処理中のパス上に存在する各ジョブについて、それぞれの実行予想時間をジョブ単独実行予想時間テーブル6から求める(ステップ1005)。
【0028】
その後、ステップ1005で求めた各ジョブの実行予想時間を合計する(ステップ1006)。実行時間の計算結果を示す領域に格納された値がステップ1006で求めた値より小さい場合は(ステップ1007)、当該領域にステップ1006で求めた値を格納する(ステップ1008)。ステップ1007で実行時間の計算結果を示す領域に格納された値が、ステップ1006で求めた値と等しいか大きいと判定した場合は、ステップ1004に戻る。ステップ1004で、ステップ1002で求めた全てのパスについて実行時間の算出を行っていると判定すれば(判定結果がN)、図9のステップ901で求めたレコードのマシン名フィールド602の値を、図8のジョブ全体実行予想時間テーブル7のマシン名フィールド701に、ステップ1009実行時点での実行時間の計算結果を示す領域に格納された値を、ジョブ全体実行予想時間テーブル7の実行時間予測値フィールド702に、それぞれ格納する。
【0029】
図11は、図1のマシン選択ステップ12で実施される処理の例である。マシン選択ステップ12では、ジョブ全体実行許容時間4の値を超えず、かつ、図8のジョブ全体実行予想時間テーブル7の実行時間予測値の値が、ジョブ全体実行許容時間4の値に近いレコードのマシン名フィールド701の値を求める(ステップ1101)。
【0030】
図12は、図1のデータフロー記述GUI2の例を示す図である。データフロー記述GUI2は、データフローを入力するデータフロー入力手段1201、データフロー中のテーブル、ジョブ、及び、アローのプロパティを設定するプロパティ設定手段1202、ジョブ許容実行時間を入力するジョブ許容実行時間入力手段1203、マシン性能単価入力手段1204、ジョブスケジュールを入力するジョブスケジュール入力手段1209、図7のジョブ単独実行予想時間テーブル6のデータを表示するジョブ単独実行予想時間結果表示手段1205、図8のジョブ全体実行予想時間テーブル7のデータを表示するジョブ全体実行予想時間結果表示手段1207、及び、図1のジョブ実行推奨マシン8のデータを表示する推奨マシン表示手段1208から構成される。
【0031】
なお、データフロー入力手段1201、及び、プロパティ設定手段1202で入力されたデータは、入力対象がテーブル1210の場合は、データテーブル31のレコード310として、アロー1212の場合は、アローテーブル33のレコード320として、ジョブ1211の場合は、ジョブテーブル33のレコード330として格納される。
【0032】
図12に示したデータフローを例に取ると、このデータフローでは、テーブル1(1210a)、テーブル2(1210b),テーブル3(1210c),テーブル4(1210d)、ジョブJOB001(1211a)、ジョブJOB002(1211b)があり、テーブル1210aからジョブ1211aへデータが流れることを示すアロー1212a、ジョブ1211aからテーブル1210bへデータが流れることを示すアロー1212b、テーブル1210bからジョブ1211bへデータが流れることを示すアロー1212c、ジョブ1211bからテーブル1210cへデータが流れることを示すアロー1212d、ジョブ1211bからテーブル1210dへデータが流れることを示すアロー1212eが存在し、テーブル1210aのデータは、データテーブル31のレコード31aに、テーブル1210bのデータは、データテーブル31のレコード31bに、テーブル1210cのデータは、データテーブル31のレコード31cに、テーブル1210dのデータは、データテーブル31のレコード31dに、ジョブ1211aのデータは、ジョブテーブル33のレコード33aに、ジョブ1211bのデータは、ジョブテーブル33のレコード33bに、アロー1212aのデータは、アローテーブル32のレコード32aに、アロー1212bのデータは、アローテーブル32のレコード32bに、アロー1212cのデータは、アローテーブル32のレコード32cに、アロー1212dのデータは、アローテーブル32のレコード32dに、アロー1212eのデータは、アローテーブル32のレコード32eに、データフロー入力ステップによってそれぞれ格納される。
【0033】
また、マシン性能単価入力手段1204に入力されたデータは、マシン性能単価入力ステップによりマシン別性能単価テーブルのレコード51として格納される。
【0034】
図6の例では、2つのマシンSV001及びSV002が存在し、それぞれの秒当りレコードIO数、秒当り処理レコード数はそれぞれ10、100000、100、100000である。
【0035】
ジョブ許容実行時間入力手段1203に入力されたデータは、ジョブ許容実行時間入力ステップにより、図1のジョブ全体実行許容時間テーブル4に格納される。ジョブスケジュール入力手段1209に入力されたデータは、ジョブスケジュール入力ステップにより、図5のジョブスケジュールテーブル34のレコード341,342として入力される。図5の例では、ジョブJOB001の次にジョブJOB002が実行されることがレコード34aにより示されている。
【0036】
以下、図12に示したデータフローと、図5に示したジョブスケジュール、及び、図6に示したマシン別性能単価から、各ジョブの単独実行予想時間を算出する例について示す。
【0037】
まず、図9に示すジョブ単独実行予想時間算出ステップ9のステップ901において、図6のマシン別性能単価テーブル5からレコード51aを取得する。レコードが取得できたのでステップ11はYとなり、次にステップ903で図4のジョブテーブル33からレコード33aを取得する。レコードが取得できたのでステップ904はYとなる。
【0038】
次に、ステップ905を実行するが、ステップ903で取得したレコード33aの名称フィールド331の値は“JOB001”であるため、“JOB001”をジョブ名フィールド321に持つレコードを、図3のアローテーブル32から取得する。この場合は、レコード32aとレコード32bが求まる。
【0039】
次に、ステップ906でジョブの実行予想時間を求めるが、まず、レコード32aと32bの処理レコード数フィールド323の和を求める。この場合は11000となる。
【0040】
次に、これをステップ901で取得したレコード51aの秒当りレコードIO数フィールドの値10で除した値を求める。この場合は11000÷10であり結果は1100となる。
【0041】
次に、レコード32aと32bのうち、入出力区分324の値が“入力”であるレコードを選ぶが、この場合はレコード32aが該当する。このレコード32aの処理レコード数フィールド323の値を、レコード51aの秒当り処理レコード数で除した値を求める。この場合は、10000÷100000であり、結果は0.1となる。次に、先に求めた1100と0.1を加えてジョブの実行予想時間とするが、この例では、小数点以下を切り捨てて、1100をジョブの実行予想時間の値とする。
【0042】
その後、ステップ907で、この値とジョブ名、マシン名を図7のジョブ単独実行予想時間テーブル6のレコード61aとして書込む。その後、ジョブ全体実行時間算出ステップ10を実行し、ステップ903に戻る。ジョブ全体実行時間算出ステップ10の実行例は後述する。
【0043】
その後、図4のジョブテーブル33のレコード33bについて同様の処理を行い、図7のジョブ単独実行予想時間テーブル6のレコード61bを追加する。
【0044】
その後、図6のマシン別性能単価テーブル5のレコード51bについて同様の処理を行い、図7のレコード61c,61dを生成する。これらのレコード61a〜dは、図12のジョブ単独実行予想時間結果表示手段1205に表示される。
【0045】
次に、ジョブ全体の実行予想時間を求める場合の例について示す。まず、図10のステップ1001で、図5のジョブスケジュールテーブルから、ジョブの実行順序を示すグラフを生成する。この場合は、図14に示すように、ジョブJOB001を示すノード1401と、ジョブJOB002を示すノード1402、及びノード1401からノード1402への向きにノードを接続するエッジ1403からなるグラフとなる。
【0046】
次に、ステップ1002で、該グラフの始点ノードから終点ノードに至るパスを求めるが、この場合は、パスは一つであり、図14に示した通りとなる。
【0047】
次に、実行時間に0を設定し(ステップ1003)、ステップ1002で求めたパスを一つ取出し(ステップ1004)、ステップ1005で当該パス上のジョブの単独実行時間を求める。図14では、ジョブノード1401とジョブノード1402のジョブについて、それぞれ単独実行時間を求める。ジョブノード1401の場合は、ステップ901で求めたレコード51a(図6)のマシン名フィールド501の値“SV001”を、図7のマシン名フィールド602に持ち、かつ、ジョブノード1401の名称“JOB001”を持つレコードを、図7のジョブ単独実行予想時間テーブル6から求めるが、この場合は、レコード61aが該当し、次に、該レコード61aの実行予想時間フィールド603の値1100を取得する。同様に、ジョブノード1402についても実行予想時間を取得し、この場合は、560となる。
【0048】
次に、これらの値を合計しジョブ全体の実行時間として1660を得る(ステップ1006)。次に、ステップ1007を実行するが、この時点では、実行時間は0であるため判定結果はYとなり、ステップ1008で実行時間に1660を設定する。ステップ1002で2つ以上のパスが存在する場合は、さらにこれらの処理を繰返し(ステップ1004の結果がNとなる)、その最も値の大きい時間を得る。この例では、実行時間は1660となる。
【0049】
その後、ステップ1009で実行時間1660を、図7のジョブ全体実行予想時間テーブルのレコード71aのフィールド702に、マシン名SV001をマシン名フィールド701にそれぞれ設定する。
【0050】
その後、図9のフローからマシンSV002について再度ジョブ全体実行時間算出ステップ10が呼出され、図8のレコード71bが生成される。
【0051】
最後に、マシン選択ステップ12により、ジョブ実行推奨マシンを算出する場合の例について示す。
【0052】
まず、ジョブ全体実行許容時間として1800が図12のジョブ許容実行時間入力手段1203から入力された場合、この値はジョブ全体実行許容時間テーブル4に格納される。マシン選択ステップ12では、ステップ1101が実施されるが、図8のレコード71から、実行時間予測値フィールド702の値が1800を超えず、かつ、最も値が大きいレコードを選択する。この場合、レコード71aが該当し、ジョブ実行推奨マシンは該レコード71aのマシン名フィールド701の値“SV001”となる。
【0053】
次に、ジョブ全体実行許容時間として200が入力された場合は、実行時間予測値フィールド702の値が200を超えず、かつ、最も値が大きいレコードとして71bが選択され、ジョブ実行推奨マシンはSV002となる。ジョブ全体実行許容時間として20が入力された場合は、実行時間予測値フィールド702の値が20を超えないレコードはないため該当マシンはなしとなる。 本実施の形態では、データウェアハウスシステムの見積りや設計段階において、ハードの性能単価情報とデータフロー図、ジョブが扱うデータ件数、ジョブスケジュール、ジョブ実行時間の目標値から、バッチ処理の処理時間及びジョブ実行時間を満たすハードを算出・提示することができる。この結果、見積りや設計段階での性能評価を可能とすることにより開発工程上の手戻りを削減することができる
【0054】
【発明の効果】
以上説明したように、本発明によれば、データウェアハウスシステムの見積りや設計段階において、ハードの性能単価情報とデータフロー図、ジョブが扱うデータ件数、ジョブスケジュール、ジョブ実行時間の目標値から、バッチ処理の処理時間及びジョブ実行時間を満たすハードを算出・提示することが可能となることが示された。この結果、見積りや設計段階での性能評価を可能とすることにより開発工程上の手戻りを削減することができるという効果が得られる。
【図面の簡単な説明】
【図1】本発明が実施される性能見積り方法及び装置の構成例を示す図である。
【図2】データテーブル31の構成例を説明するための図である。
【図3】アローテーブル32の構成例を説明するための図である。
【図4】ジョブテーブル33の構成例を説明するための図である。
【図5】ジョブスケジュールテーブル34の構成例を説明するための図である。
【図6】マシン別性能単価テーブル5の構成例を説明するための図である。
【図7】ジョブ単独実行予想時間テーブル6の構成例を説明するための図である。
【図8】ジョブ全体実行予想時間テーブル7の構成例を説明するための図である。
【図9】ジョブ単独実行時間算出ステップ9で実施される処理を示すフローチャートである。
【図10】ジョブ全体実行時間算出ステップ10で実施される処理を示すフローチャートである。
【図11】マシン選択ステップ12で実施される処理を示すフローチャートである。
【図12】データフロー記述GUI2の例を説明するための図である。
【図13】本発明が実施されるシステムの構成例を示す図である。
【図14】ジョブの実行順序を示すネットワークの例を示す図である。
【符号の説明】
1…性能算出ステップ、2…データフロー記述GUI、3…データフローテーブル、31…データテーブル、32…アローテーブル、33…ジョブテーブル、34…ジョブスケジュールテーブル、4…ジョブ全体実行許容時間テーブル、5…マシン別性能単価テーブル、6…ジョブ単独実行予想時間テーブル、7…ジョブ全体実行予想時間テーブル、8…ジョブ実行推奨マシンテーブル、9…ジョブ単独実行時間算出ステップ、10…ジョブ全体実行時間算出ステップ、11…全てのマシンについてジョブ全体実行時間を算出したか否かを判定するステップ、12…マシン選択ステップ。[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention relates to a performance estimation method and apparatus for estimating system performance at a design stage, and more particularly, to a batch job performance estimation method and apparatus for constructing a data warehouse system or the like.
[0002]
[Prior art]
As disclosed in Japanese Patent Application Laid-Open No. 2001-125784, (1) a data flow diagram, a record specification definition, and a method included in the data flow are disclosed as a performance estimation method and apparatus for estimating the performance of a system at a design stage. A processing pattern representing an outline of the processing of the process, the number of data items handled by the process, and a calculation rule for estimating the calculation time of the process are input to calculate a predicted execution time (CPU processing time) of each process. The CPU processing time for each processing time zone is calculated from the means for setting the processing time zone and the CPU processing time calculated in (1), and (3) hardware performance information and each calculated in (2). There is known a performance estimation method and apparatus for outputting advice information for hardware selection from CPU processing time for each processing time zone.
[0003]
[Problems to be solved by the invention]
The above-mentioned known example presupposes a method and an apparatus for estimating performance in the design of an online application, and when it is applied to a batch job for constructing a data warehouse, (1) batch processing for constructing a data warehouse requires input / output of data. The performance calculation rule is self-evident because it is tied to the performance, and there is no need to input the calculation rule. (2) The batch processing is executed based on the job execution order defined separately from the data flow. Since the time period to be executed is determined by the execution time of the job executed before the job, it is difficult to input the processing date and the processing time of the job in advance. (3) Hardware The selection is determined by how long the batch processing needs to be completed, so the CPU for each processing date and processing time zone From use time can not be performed selecting the hardware, there is a problem that.
[0004]
A first object of the present invention is to perform batch processing based on hardware performance unit price information and a data flow diagram, the number of data items handled by a job, a job schedule, and a target value of a job execution time in an estimation or design stage of a data warehouse system or the like. It is an object of the present invention to provide a performance estimating method that reduces and eliminates rework in the development process by calculating and presenting hardware that satisfies the processing time and the job execution time, and enables estimation and performance evaluation at the design stage.
[0005]
A second object of the present invention is to perform batch processing based on hardware performance unit price information and a data flow diagram, the number of data items handled by a job, a job schedule, and a target value of a job execution time in the estimation and design stages of a data warehouse system. An object of the present invention is to provide a performance estimating apparatus that calculates and presents hardware that satisfies a processing time and a job execution time, and that enables performance evaluation at a stage of estimation and design, thereby reducing rework in a development process.
[0006]
[Means for Solving the Problems]
A first object of the present invention is to provide a data flow input step for inputting a data flow expressing a flow of business data by arranging a table and a job, which is created at the time of designing system specifications, and a machine for inputting a performance unit price for each machine. A performance unit price input step, a property setting step for setting the number of input data items and output data items of the job included in the data flow, a number of input data items and output data number of the jobs included in the data flow, and a machine performance unit price input step. A job independent execution time calculation step of calculating an estimated execution time of each job from the machine performance unit price input using the job schedule input step of inputting a job schedule, and a job schedule input using the job schedule input step From the estimated execution time of each job Total job execution time calculation step for calculating the overall execution time, job execution allowable time input step for inputting the job execution allowable time, and execution prediction of the entire job for each machine input using the machine performance unit price input step This can be achieved by a performance estimation method having a machine selection step of outputting the recommended job execution machine information by calculating the time and comparing the estimated execution time of each machine with the allowable job execution time.
[0007]
The second object is to provide a data flow input unit for inputting a data flow expressing a flow of business data by arranging a table and a job created at the time of system specification design, and a machine performance for inputting a performance unit price for each machine. Unit price input means, property setting means for setting the number of input data items and the number of output data items of the job included in the data flow, and the number of input data items and the number of output data items of the job included in the data flow and the machine performance unit price input step are used. Job execution time calculating means for calculating an estimated execution time of each job from the machine performance unit price inputted by the user, a job schedule input means for inputting a job schedule, and a job schedule input using the job schedule input means. Calculate the execution time of the entire job from the estimated execution time of the job. Total job execution time calculating means, a job execution allowable time input means for inputting a job execution allowable time, and an estimated execution time of the entire job for each machine input using the machine performance unit price input step. The performance can be achieved by a performance estimating apparatus including a machine selecting unit that outputs recommended job execution machine information by matching the estimated execution time for each job with the allowable job execution time.
[0008]
BEST MODE FOR CARRYING OUT THE INVENTION
Hereinafter, an embodiment of the present invention will be described in detail with reference to the drawings. FIG. 1 shows a functional configuration of the batch performance estimation method of the present invention.
[0009]
In FIG. 1, the batch performance estimation method includes a
[0010]
FIG. 13 shows an example of the configuration of an apparatus for executing the
[0011]
The
[0012]
The data of the data flow table 3, the entire job permissible time table 4, and the per-machine performance unit price table 5 are input by a keyboard and
[0013]
Further, the data of the estimated job execution time table 6, the estimated job execution time table 7, and the recommended job execution machine table 8 are stored in the
[0014]
FIG. 2 shows a configuration example of the data table 31. The data table 31 is a table for storing information of data in the data flow diagram, and includes a
[0015]
FIG. 3 shows a configuration example of the arrow table 32. The arrow table 32 is a table that stores information of an arrow in a data flow, and stores a
[0016]
FIG. 4 shows a configuration example of the job table 33. The job table 33 is a table for storing information on jobs in the data flow, and includes a
[0017]
FIG. 5 shows a configuration example of the job schedule table 34. The job schedule table 34 is a table that stores the execution order of jobs, and includes a
[0018]
FIG. 6 shows a configuration example of the per-machine performance unit price table 5. The machine-specific performance unit price table 5 includes a
[0019]
FIG. 7 shows a configuration example of the job independent execution estimated time table 6. The estimated job execution time table 6 includes a
[0020]
FIG. 8 shows an example of the configuration of the estimated job execution time table 7. The entire job estimated execution time table 7 includes a
[0021]
FIG. 9 is a flowchart showing the processing executed in the job independent execution time calculation step 9. First, one record is acquired from the per-machine performance unit price table 5 (step 901), and it is determined whether or not the record has been acquired. This step is the
[0022]
Thereafter, in
[0023]
Then, the predicted execution time obtained in
[0024]
After that, the entire job execution
[0025]
FIG. 10 is a flowchart showing the processing performed in the overall job execution
[0026]
Next, all paths from the start node to the end node of the graph created in
[0027]
Next, it is determined whether or not the path still exists (step 1004). If the path does exist, the machine name of the record obtained in
[0028]
Thereafter, the estimated execution time of each job obtained in
[0029]
FIG. 11 is an example of a process performed in the
[0030]
FIG. 12 is a diagram showing an example of the data flow description GUI 2 of FIG. The data flow description GUI 2 includes a data
[0031]
The data input by the data
[0032]
Taking the data flow shown in FIG. 12 as an example, in this data flow, table 1 (1210a), table 2 (1210b), table 3 (1210c), table 4 (1210d), job JOB001 (1211a), and job JOB002 (1211b), an
[0033]
The data input to the machine performance unit price input means 1204 is stored as a record 51 of a machine-specific performance unit price table in a machine performance unit price input step.
[0034]
In the example of FIG. 6, there are two machines SV001 and SV002, and the number of records IO per second and the number of records processed per second are 10, 100,000, 100, and 100,000, respectively.
[0035]
The data input to the job allowable execution
[0036]
Hereinafter, an example will be described in which the single execution expected time of each job is calculated from the data flow shown in FIG. 12, the job schedule shown in FIG. 5, and the performance unit price for each machine shown in FIG.
[0037]
First, in
[0038]
Next,
[0039]
Next, in
[0040]
Next, a value is obtained by dividing this by the
[0041]
Next, of the
[0042]
Then, in
[0043]
Thereafter, the same processing is performed on the
[0044]
Thereafter, the same processing is performed on the
[0045]
Next, an example of obtaining the estimated execution time of the entire job will be described. First, in
[0046]
Next, in
[0047]
Next, the execution time is set to 0 (step 1003), one path obtained in
[0048]
Next, these values are summed to obtain 1660 as the execution time of the entire job (step 1006). Next,
[0049]
Thereafter, in
[0050]
Thereafter, the entire job execution
[0051]
Finally, an example of calculating a job execution recommended machine in the
[0052]
First, when 1800 is input from the job allowable execution
[0053]
Next, when 200 is input as the permissible execution time of the entire job, the value of the predicted
[0054]
【The invention's effect】
As described above, according to the present invention, at the estimation or design stage of a data warehouse system, based on hardware performance unit price information and a data flow diagram, the number of data items handled by a job, a job schedule, and a target value of a job execution time, It has been shown that hardware that satisfies the processing time of batch processing and the job execution time can be calculated and presented. As a result, it is possible to reduce the rework in the development process by enabling estimation and performance evaluation at the design stage.
[Brief description of the drawings]
FIG. 1 is a diagram showing a configuration example of a performance estimation method and apparatus for implementing the present invention.
FIG. 2 is a diagram for explaining a configuration example of a data table 31;
FIG. 3 is a diagram for explaining a configuration example of an arrow table 32;
FIG. 4 is a diagram for explaining a configuration example of a job table 33.
FIG. 5 is a diagram for describing a configuration example of a job schedule table 34.
FIG. 6 is a diagram for describing a configuration example of a performance unit price table by
FIG. 7 is a diagram for explaining a configuration example of a job independent execution estimated time table 6.
FIG. 8 is a diagram for describing a configuration example of a job entire execution estimated time table 7.
FIG. 9 is a flowchart illustrating a process performed in a job independent execution time calculation step 9;
FIG. 10 is a flowchart illustrating a process performed in an entire job execution
FIG. 11 is a flowchart showing a process performed in a
FIG. 12 is a diagram for describing an example of a data flow description GUI2.
FIG. 13 is a diagram illustrating a configuration example of a system in which the present invention is implemented.
FIG. 14 is a diagram illustrating an example of a network indicating the execution order of jobs.
[Explanation of symbols]
DESCRIPTION OF
Claims (6)
システム仕様設計の際に作成するテーブルとジョブとを並べて業務データの流れを表現したデータフローを入力するデータフロー入力ステップと、
マシン毎の性能単価を入力するマシン性能単価入力ステップと、
該データフローに含まれるジョブの入力データ件数及び出力データ件数を設定するプロパティ設定ステップと、
該データフローに含まれるジョブの入力データ件数及び出力データ件数と該マシン性能単価入力ステップを用いて入力したマシン性能単価とから各ジョブの実行予想時間を算出するジョブ単独実行時間算出ステップと、
を有することを特徴とするバッチ性能見積り方法。A method of estimating system performance when designing a system,
A data flow input step of inputting a data flow expressing a flow of business data by arranging a table and a job created at the time of system specification design;
A machine performance unit input step for inputting a performance unit price for each machine;
A property setting step of setting the number of input data items and the number of output data items of a job included in the data flow;
A job independent execution time calculating step of calculating an expected execution time of each job from the number of input data and the number of output data of the jobs included in the data flow and the machine performance unit price input using the machine performance unit input step;
A batch performance estimation method characterized by having:
ジョブのスケジュールを入力するジョブスケジュール入力ステップと、
該ジョブスケジュール入力ステップを用いて入力したジョブスケジュールと各ジョブの実行予想時間からジョブ全体の実行時間を算出するジョブ全体実行時間算出ステップと、
を有することを特徴とするバッチ性能見積り方法。The batch performance estimation method according to claim 1, further comprising:
A job schedule input step for inputting a job schedule;
An overall job execution time calculating step of calculating the overall job execution time from the job schedule input using the job schedule input step and the expected execution time of each job;
A batch performance estimation method characterized by having:
ジョブの実行許容時間を入力するジョブ実行許容時間入力ステップと、
マシン性能単価入力ステップを用いて入力した各マシン毎にジョブ全体の実行予想時間を算出し、各マシン毎の実行予想時間と該ジョブ実行許容時間を突き合わせることによりジョブ実行推奨マシン情報を出力するマシン選択ステップと、
を有することを特徴とするバッチ性能見積り方法。The batch performance estimation method according to claim 2, further comprising:
A job execution allowable time input step for inputting a job execution allowable time;
The estimated execution time of the entire job is calculated for each machine input using the machine performance unit price input step, and job execution recommended machine information is output by matching the estimated execution time of each machine with the permissible job execution time. Machine selection step;
A batch performance estimation method characterized by having:
システム仕様設計の際に作成する、テーブルとジョブとを並べて業務データの流れを表現したデータフローを入力するデータフロー入力手段と、
マシン毎の性能単価を入力するマシン性能単価入力ステップと、
該データフローに含まれるジョブの入力データ件数及び出力データ件数を設定するプロパティ設定手段と、
該データフローに含まれるジョブの入力データ件数及び出力データ件数と該マシン性能単価入力手段を用いて入力したマシン性能単価とから各ジョブの実行予想時間を算出するジョブ単独実行時間算出手段と、
を備えたことを特徴とするバッチ性能見積り装置。A device for estimating system performance when designing a system,
Data flow input means for inputting a data flow expressing a flow of business data by arranging a table and a job, which are created at the time of system specification design
A machine performance unit input step for inputting a performance unit price for each machine;
Property setting means for setting the number of input data items and the number of output data items of a job included in the data flow;
A job independent execution time calculating unit that calculates an expected execution time of each job from the number of input data and the number of output data of the jobs included in the data flow and the machine performance unit price input using the machine performance unit input unit;
A batch performance estimating apparatus comprising:
ジョブのスケジュールを入力するジョブスケジュール入力手段と、
該ジョブスケジュール入力手段を用いて入力したジョブスケジュールと各ジョブの実行予想時間からジョブ全体の実行時間を算出するジョブ全体実行時間算出手段と、
を備えたことを特徴とするバッチ性能見積り装置。The batch performance estimating apparatus according to claim 4, further comprising:
A job schedule input unit for inputting a job schedule;
An overall job execution time calculation unit that calculates the overall job execution time from the job schedule input using the job schedule input unit and the estimated execution time of each job;
A batch performance estimating apparatus comprising:
ジョブの実行許容時間を入力するジョブ実行許容時間入力手段と、
マシン性能単価入力ステップを用いて入力した各マシン毎にジョブ全体の実行予想時間を算出し、各マシン毎の実行予想時間と該ジョブ実行許容時間を突き合わせることによりジョブ実行推奨マシン情報を出力するマシン選択手段と、
を備えたことを特徴とするバッチ性能見積り装置。The batch performance estimating apparatus according to claim 5, further comprising:
A job execution allowable time input unit for inputting a job execution allowable time;
The estimated execution time of the entire job is calculated for each machine input using the machine performance unit price input step, and job execution recommended machine information is output by matching the estimated execution time of each machine with the permissible job execution time. Machine selection means,
A batch performance estimating apparatus comprising:
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002160904A JP2004005288A (en) | 2002-06-03 | 2002-06-03 | Batch performance evaluating method and device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002160904A JP2004005288A (en) | 2002-06-03 | 2002-06-03 | Batch performance evaluating method and device |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2004005288A true JP2004005288A (en) | 2004-01-08 |
Family
ID=30430126
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002160904A Pending JP2004005288A (en) | 2002-06-03 | 2002-06-03 | Batch performance evaluating method and device |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2004005288A (en) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006155137A (en) * | 2004-11-29 | 2006-06-15 | Fujitsu Ltd | Information processing method and program |
JP2007249491A (en) * | 2006-03-15 | 2007-09-27 | Fujitsu Ltd | Program, device and method for distributing batch job in multi-server environment |
JP2008287509A (en) * | 2007-05-17 | 2008-11-27 | Ricoh Co Ltd | Performance analysis processor, performance analysis processing method and performance analysis processing program |
-
2002
- 2002-06-03 JP JP2002160904A patent/JP2004005288A/en active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006155137A (en) * | 2004-11-29 | 2006-06-15 | Fujitsu Ltd | Information processing method and program |
US8407430B2 (en) | 2004-11-29 | 2013-03-26 | Fujitsu Limited | Analysis technique of computer system |
JP2007249491A (en) * | 2006-03-15 | 2007-09-27 | Fujitsu Ltd | Program, device and method for distributing batch job in multi-server environment |
JP2008287509A (en) * | 2007-05-17 | 2008-11-27 | Ricoh Co Ltd | Performance analysis processor, performance analysis processing method and performance analysis processing program |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3169896B2 (en) | Program development device, program development method, and storage medium storing program development program | |
US20040148152A1 (en) | System performance prediction mechanism and method based on software component performance measurements | |
JP4660264B2 (en) | Information processing apparatus and program | |
JP3668642B2 (en) | Data prediction method, data prediction apparatus, and recording medium | |
US8407430B2 (en) | Analysis technique of computer system | |
JP2004005288A (en) | Batch performance evaluating method and device | |
US20070225953A1 (en) | Management system and management method of CAD data | |
JP4870956B2 (en) | Embedded program generation method, embedded program development system, and information table section | |
JP5623336B2 (en) | Resource usage rate calculation device, response time ratio calculation device, resource usage rate calculation method, and program | |
JP5217870B2 (en) | Program performance measuring apparatus, method, program, program recording medium | |
JP4795788B2 (en) | Software development man-hour estimation device | |
GB2366414A (en) | A method of identifying false paths in circuit synthesis | |
JP2002269163A (en) | Device, method and program for supporting design | |
JP3196985B2 (en) | Data path display device | |
JP2003208333A (en) | Trace information searching device and method therefor | |
JP7391740B2 (en) | Impact identification support device and impact identification support method | |
JP4989348B2 (en) | Embedded program development system for parallel processors | |
JP7404022B2 (en) | Program generation device and program generation method | |
JP4779908B2 (en) | Circuit design support system, circuit design support method, and program | |
JP2002351945A (en) | Product cost computing device, product cost computing method, and program | |
WO2022230189A1 (en) | Test support device, test support method, and program | |
JP6949440B2 (en) | Vector generator and vector generator program | |
JP4867331B2 (en) | Project management program | |
JP2001350629A (en) | Estimation method for gui application development scale | |
WO2021079408A1 (en) | Software analysis device |