JP2010286892A - 処理時間見積り装置および処理時間見積りプログラム - Google Patents
処理時間見積り装置および処理時間見積りプログラム Download PDFInfo
- Publication number
- JP2010286892A JP2010286892A JP2009138271A JP2009138271A JP2010286892A JP 2010286892 A JP2010286892 A JP 2010286892A JP 2009138271 A JP2009138271 A JP 2009138271A JP 2009138271 A JP2009138271 A JP 2009138271A JP 2010286892 A JP2010286892 A JP 2010286892A
- Authority
- JP
- Japan
- Prior art keywords
- program
- time
- execution
- processing time
- access
- 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
Links
- 238000004364 calculation method Methods 0.000 claims abstract description 109
- 238000000034 method Methods 0.000 claims description 56
- 230000004044 response Effects 0.000 claims description 15
- 239000000284 extract Substances 0.000 claims description 5
- 238000009795 derivation Methods 0.000 abstract description 3
- 238000010586 diagram Methods 0.000 description 9
- 230000003252 repetitive effect Effects 0.000 description 9
- 101100311277 Arabidopsis thaliana STP10 gene Proteins 0.000 description 3
- 238000011156 evaluation Methods 0.000 description 3
- 238000006243 chemical reaction Methods 0.000 description 2
- 101100311279 Arabidopsis thaliana STP12 gene Proteins 0.000 description 1
- 101100478693 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) STP22 gene Proteins 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
Images
Landscapes
- Stored Programmes (AREA)
Abstract
【解決手段】処理時間見積り装置は、プログラム101を解析してプログラム毎処理性能DB105を作成するプログラム解析部103、アクセス競合情報114と予めパラメータ化してあるハードウェア仕様パラメータ113を用いてプログラム101の実行時間を算出する処理時間算出部106、予めパラメータ化してあるプログラム動作パラメータ115を用いてプログラム実行装置毎時刻情報108を作成するプログラム動作タイミング作成部107、アクセス競合の可能性がある実行装置を示すアクセス先毎情報110を作成するアクセス先毎情報作成部109、アクセス先毎情報110からアクセス競合率を算出するアクセス競合率算出部111、各部による一連のプログラム実行時間導出処理をアクセス競合率が収束するまで繰返し実行させる処理時間繰返し算出部112からなる。
【選択図】図1
Description
さらに、特許文献2,3の装置では、複数の実行装置で同時にプログラムを実行する場合のアクセス競合は考慮されておらず、複数の実行装置からのアクセス競合率を反映したプログラム処理時間を評価することはできなかった。
図1は、この発明の実施の形態1に係る処理時間見積り装置の構成を示すブロック図である。この処理時間見積り装置は、複数のプログラム実行装置(以下、単に実行装置とも称す)を持つ制御システムにおいて、一部プログラムを別のプログラム実行装置上で動作させたときの処理性能を、シミュレータを用いることなくプログラム解析の情報を用いて高速に見積もるものである。
ステップSTP15のプログラムIDとプログラム実行時間を格納する処理では、プログラム動作タイミング作成部107が、プログラムID105aと実行時間105fをプログラム実行装置毎時刻情報108へ格納する。ステップSTP15では、各実行装置ID108aのもっともインデックス値が小さい、かつ、空き状態となっているレコードへプログラムIDとプログラムの実行時間を格納する。
先ず、ステップSTP23のアクセス回数カウンタクリア処理では、アクセス先毎情報作成部109が、アクセス先毎情報110のアクセス回数110cをクリアする。
処理時間繰返し算出部112は、図12に示すようなアドレス範囲毎の前回競合率と今回競合率を比較して、ステップSTP61〜STP66からなるループ処理を繰返すか否かの判定を行う。処理時間繰返し算出部112は前回競合率と今回競合率とに差があればこの差を誤差と判断して、再度プログラム実行時間を算出し直し、前回競合率と今回競合率とが一致すれば誤差なしと判断してその時の実行時間をプログラム処理時間に決定して、処理を終了する。なお、本処理では、実行開始時は前回競合率がないため、最小2回はループ内処理を実行する。
続いて、ステップSTP63において、プログラム動作タイミング作成部107が図6に示すプログラム動作タイミング作成処理を行う。具体的には、上述のようにプログラム動作タイミング作成部107が、処理時間算出部106が算出した各プログラムの実行時間と、プログラム動作パラメータ115から取得した各プログラムの実行順序とから、各実行装置上で各プログラムが実行される時刻を算出して、プログラム実行装置毎時刻情報108へ格納する。
続いて、ステップSTP64において、アクセス先毎情報作成部109が図9に示すアクセス先毎情報作成処理を行う。具体的には、上述のようにアクセス先毎情報作成部109が、プログラム実行装置毎時刻情報108から時刻毎に各実行装置で実行するプログラム群の情報を取得し、時刻毎およびアドレスID(デバイス)毎にプログラム群からのアクセス回数を算出し、この回数を時刻毎の各デバイスへのアクセス競合数とする。
続いて、ステップSTP65において、アクセス競合率算出部111が図11に示すアクセス競合率算出処理を行う。具体的には、上述のようにアクセス競合率算出部111が、アクセス先毎情報110からデバイス毎のアクセス回数110cと最終アクセス時刻110dとを用いて、デバイス毎のアクセス競合平均回数と実行装置毎のプログラム実行時間の商から競合率を算出して、アクセス競合情報114へ格納する。
続いて、ステップSTP66において、処理時間繰返し算出部112が、今回のループ処理で算出した今回競合率と前回のループ処理で算出した前回競合率とを比較する。その結果、今回と前回の競合率が全てのアドレスIDにおいて同じであれば、処理時間繰返し算出部112はループ処理を終了させ、今回のループ処理で算出・格納されたプログラム毎処理性能DB105の実行時間105fを各プログラムの処理時間とする。
一方、ステップSTP66において、今回と前回の競合率が全てのアドレスIDにおいて同じでなければ、処理時間繰返し算出部112がステップSTP62で今回のループ処理で算出した競合率を利用して、各プログラムの実行時間を算出する処理を開始して、一連のループ処理を実行する。このループ処理は、前回と今回のループ処理で算出した競合率が同じになるまで繰返す。
上記実施の形態1では、処理時間繰返し算出部112が算出した前回競合率と今回競合率とが一致した場合に、繰返しプログラム実行時間導出部104の一連の処理を終了するように構成したが、本実施の形態では、前回競合率と今回競合率の差が競合率計算終了パラメータより小さい場合に、許容範囲内の誤差と判断して一連の処理を終了するように構成する。なお、本実施の形態の処理時間見積り装置は、図1に示す上記実施の形態1の処理時間見積り装置と図面上では同様の構成であるため、以下では図1を援用して説明すると共に、同一の部分については説明を省略する。
処理時間繰返し算出部112は、前回競合率と今回競合率との差を競合率計算終了パラメータと比較して、ステップSTP61a〜STP66aからなるループ処理を繰返すか否かの判定を行う。なお、本処理では、上記実施の形態1と同様に、実行開始時は前回競合率がないため、最小2回はループ内処理を実行する。
処理時間繰返し算出部112は、アクセス競合率算出部111が算出したアドレスID毎の競合率と、前回ループ処理で算出した競合率との誤差が競合率計算終了パラメータ以上の場合に続くステップSTP62〜STP65の処理を行い、誤差が競合率計算終了パラメータより小さい場合に処理を終了する。ステップSTP62〜STP65については、図15と同様であるため説明を省略する。
本実施の形態3では、上記実施の形態1,2により作成したプログラム毎処理性能DB105およびプログラム動作パラメータ115を用いて、実行装置毎のプログラム実行終了時刻を算出し、最も終了時刻が遅い実行装置のプログラム実行時間、即ち最悪実行時間を導出する動作周期算出部を備える。なお、本実施の形態の処理時間見積り装置は、動作周期算出部を追加する以外、図1に示す上記実施の形態1の処理時間見積り装置と図面上では同様の構成であるため、以下では図1を援用して説明すると共に、同一の部分については説明を省略する。
続くステップSTP73のプログラムID取得処理では、動作周期算出部が、プログラム実行装置ループカウンタ値をキーに用いて、プログラム動作パラメータ115から当該実行装置ID115aで動作する全てのプログラムID115bを取得する。
Claims (5)
- 複数のプログラム実行装置を有する制御システム上で動作するプログラムの処理時間を見積もる処理時間見積り装置であって、
前記プログラムを構成する複数の一部プログラム毎に、各デバイスへのアクセスについての入力アドレスと出力アドレス、その入力回数と出力回数、および発行命令数を抽出するプログラム解析部と、
前記プログラム解析部が抽出した発行命令数と、前記各一部プログラムを実行する各プログラム実行装置から前記各デバイスへのアクセス時間の情報と、前記各デバイスへのアクセス時の前回競合率の情報とから、前記各一部プログラムの実行時間を算出する処理時間算出部と、
前記各一部プログラムと各一部プログラムを実行するプログラム実行装置との対応付けおよび実行順序を示すプログラム動作パラメータと、前記処理時間算出部が算出した前記各一部プログラムの実行時間とから、前記各一部プログラムの実行時刻を算出するプログラム動作タイミング作成部と、
前記プログラム動作タイミング作成部が算出したプログラム実行装置毎の前記各一部プログラムの実行時刻と、前記プログラム解析部が抽出した前記各一部プログラムの前記各デバイスへのアクセスの情報とから、時刻毎の前記各デバイスのアクセス競合数を算出するアクセス先毎情報作成部と、
前記アクセス先毎情報作成部が算出した時刻毎の前記各デバイスのアクセス競合数から、前記各デバイスの今回競合率を算出し、当該今回競合率を前回競合率として前記処理時間算出部へ出力するアクセス競合率算出部とを備えることを特徴とする処理時間見積り装置。 - 処理時間算出部が実行時間の算出に用いた前回競合率と、この前回競合率を利用して算出された今回競合率とを比較して、一致していなければ当該今回競合率を前回競合率として利用して新たな今回競合率を算出させ、一致していれば当該今回競合率算出の過程で算出された実行時間をプログラムの処理時間として出力する処理時間繰返し算出部を備えることを特徴とする請求項1記載の処理時間見積り装置。
- 処理時間算出部が実行時間の算出に用いた前回競合率と、この前回競合率を利用して算出された今回競合率とを比較して、その差分が、所定値より大きければ当該今回競合率を前回競合率として利用して新たな今回競合率を算出させ、所定値以下であれば当該今回競合率算出の過程で算出された実行時間をプログラムの処理時間として出力する処理時間繰返し算出部を備えることを特徴とする請求項1記載の処理時間見積り装置。
- 処理時間算出部が算出した各一部プログラムの実行時間と、前記各一部プログラムを実行するプログラム実行装置の実行順序を示すプログラム動作パラメータとから、プログラム実行装置毎の応答時間を算出し、当該応答時間から制御システムの動作可能周期を算出する動作周期算出部を備えることを特徴とする請求項1から請求項3のうちのいずれか1項記載の処理時間見積り装置。
- 複数のプログラム実行装置を有する制御システム上で動作するプログラムの処理時間を見積もる処理時間見積りプログラムであって、
コンピュータを、前記プログラムを構成する複数の一部プログラム毎に、各デバイスへのアクセスについての入力アドレスと出力アドレス、その入力回数と出力回数、および発行命令数を抽出するプログラム解析手段と、
前記プログラム解析手段が抽出した発行命令数と、前記各一部プログラムを実行する各プログラム実行装置から前記各デバイスへのアクセス時間の情報と、前記各デバイスへのアクセス時の前回競合率の情報とから、前記各一部プログラムの実行時間を算出する処理時間算出手段と、
前記各一部プログラムと各一部プログラムを実行するプログラム実行装置との対応付けおよび実行順序を示すプログラム動作パラメータと、前記処理時間算出手段が算出した前記各一部プログラムの実行時間とから、前記各一部プログラムの実行時刻を算出するプログラム動作タイミング作成手段と、
前記プログラム動作タイミング作成手段が算出したプログラム実行装置毎の前記各一部プログラムの実行時刻と、前記プログラム解析手段が抽出した前記各一部プログラムの前記各デバイスへのアクセスの情報とから、時刻毎の前記各デバイスのアクセス競合数を算出するアクセス先毎情報作成手段と、
前記アクセス先毎情報作成手段が算出した時刻毎の前記各デバイスのアクセス競合数から、前記各デバイスの今回競合率を算出し、当該今回競合率を前回競合率として前記処理時間算出手段へ出力するアクセス競合率算出手段と、
前記処理時間算出手段が実行時間の算出に用いた前回競合率と、この前回競合率を利用して算出された今回競合率とを比較して、一致していなければ当該今回競合率を前回競合率として利用して新たな今回競合率を算出させ、一致していれば当該今回競合率算出の過程で算出された実行時間を前記プログラムの処理時間として出力する処理時間繰返し算出手段として機能させるための処理時間見積りプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009138271A JP5153724B2 (ja) | 2009-06-09 | 2009-06-09 | 処理時間見積り装置および処理時間見積りプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009138271A JP5153724B2 (ja) | 2009-06-09 | 2009-06-09 | 処理時間見積り装置および処理時間見積りプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2010286892A true JP2010286892A (ja) | 2010-12-24 |
JP5153724B2 JP5153724B2 (ja) | 2013-02-27 |
Family
ID=43542571
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009138271A Active JP5153724B2 (ja) | 2009-06-09 | 2009-06-09 | 処理時間見積り装置および処理時間見積りプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5153724B2 (ja) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012084104A (ja) * | 2010-10-15 | 2012-04-26 | Nippon Steel Corp | プログラム診断装置およびプログラム診断方法 |
JP2012089104A (ja) * | 2010-09-22 | 2012-05-10 | Internatl Business Mach Corp <Ibm> | プログラムの動作推測方法及びプログラム |
JP2015011476A (ja) * | 2013-06-27 | 2015-01-19 | 富士電機株式会社 | ソフトウェア開発支援装置、ソフトウェア開発支援方法およびソフトウェア開発支援プログラム |
CN116882335A (zh) * | 2023-09-06 | 2023-10-13 | 上海芯存天下电子科技有限公司 | 操作时间仿真获取方法、装置、电子设备及存储介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH05108369A (ja) * | 1991-10-18 | 1993-04-30 | Nec Software Kansai Ltd | プログラム領域常駐優先度管理方式 |
JPH06259245A (ja) * | 1993-03-05 | 1994-09-16 | Hitachi Ltd | プログラムの性能測定装置およびその方法 |
JPH096646A (ja) * | 1995-06-14 | 1997-01-10 | Oki Electric Ind Co Ltd | プログラムシミュレーション装置 |
JPH09167003A (ja) * | 1995-12-14 | 1997-06-24 | Nissan Motor Co Ltd | 動作確認用操作装置 |
JPH11163899A (ja) * | 1997-11-25 | 1999-06-18 | Hitachi Ltd | 通信制御方法 |
JP2000242529A (ja) * | 1999-02-23 | 2000-09-08 | Matsushita Electric Ind Co Ltd | プログラム開発支援装置および開発支援システムおよび記録媒体 |
JP2007299212A (ja) * | 2006-04-28 | 2007-11-15 | Fujitsu Ten Ltd | ソフトウェアの移植評価装置、及び、評価方法 |
-
2009
- 2009-06-09 JP JP2009138271A patent/JP5153724B2/ja active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH05108369A (ja) * | 1991-10-18 | 1993-04-30 | Nec Software Kansai Ltd | プログラム領域常駐優先度管理方式 |
JPH06259245A (ja) * | 1993-03-05 | 1994-09-16 | Hitachi Ltd | プログラムの性能測定装置およびその方法 |
JPH096646A (ja) * | 1995-06-14 | 1997-01-10 | Oki Electric Ind Co Ltd | プログラムシミュレーション装置 |
JPH09167003A (ja) * | 1995-12-14 | 1997-06-24 | Nissan Motor Co Ltd | 動作確認用操作装置 |
JPH11163899A (ja) * | 1997-11-25 | 1999-06-18 | Hitachi Ltd | 通信制御方法 |
JP2000242529A (ja) * | 1999-02-23 | 2000-09-08 | Matsushita Electric Ind Co Ltd | プログラム開発支援装置および開発支援システムおよび記録媒体 |
JP2007299212A (ja) * | 2006-04-28 | 2007-11-15 | Fujitsu Ten Ltd | ソフトウェアの移植評価装置、及び、評価方法 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012089104A (ja) * | 2010-09-22 | 2012-05-10 | Internatl Business Mach Corp <Ibm> | プログラムの動作推測方法及びプログラム |
US8990062B2 (en) | 2010-09-22 | 2015-03-24 | International Business Machines Corporation | Method and program for estimating operation of program |
JP2012084104A (ja) * | 2010-10-15 | 2012-04-26 | Nippon Steel Corp | プログラム診断装置およびプログラム診断方法 |
JP2015011476A (ja) * | 2013-06-27 | 2015-01-19 | 富士電機株式会社 | ソフトウェア開発支援装置、ソフトウェア開発支援方法およびソフトウェア開発支援プログラム |
CN116882335A (zh) * | 2023-09-06 | 2023-10-13 | 上海芯存天下电子科技有限公司 | 操作时间仿真获取方法、装置、电子设备及存储介质 |
CN116882335B (zh) * | 2023-09-06 | 2023-12-22 | 上海芯存天下电子科技有限公司 | 操作时间仿真获取方法、装置、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
JP5153724B2 (ja) | 2013-02-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10572800B2 (en) | Accelerating deep neural network training with inconsistent stochastic gradient descent | |
Ballarini et al. | COSMOS: a statistical model checker for the hybrid automata stochastic logic | |
US20060130029A1 (en) | Programming language model generating apparatus for hardware verification, programming language model generating method for hardware verification, computer system, hardware simulation method, control program and computer-readable storage medium | |
Bartocci et al. | Automatic generation of moment-based invariants for prob-solvable loops | |
Ballarini et al. | HASL: An expressive language for statistical verification of stochastic models | |
JP5153724B2 (ja) | 処理時間見積り装置および処理時間見積りプログラム | |
Aspnes et al. | Approximate shared-memory counting despite a strong adversary | |
US10564992B2 (en) | Simulation apparatus and storage medium | |
CN116362168B (zh) | 一种gpgpu离线时钟的建模方法、装置和存储介质 | |
CN108875810B (zh) | 针对训练语料从词频表中进行负例采样的方法及装置 | |
CN102520984B (zh) | 目标软件在指定硬件环境中最差时间的计算方法 | |
CN112631925A (zh) | 一种单变量原子违背缺陷的检测方法 | |
CN107769987B (zh) | 一种报文转发性能评估方法和装置 | |
CN116204396A (zh) | 一种针对分析型数据库性能的测试方法和装置 | |
Wolf et al. | Execution cost interval refinement in static software analysis | |
CN114969446B (zh) | 一种基于敏感度模型的分组混合精度配置方案搜索方法 | |
CN108008999B (zh) | 指标评估方法及装置 | |
Heule et al. | What's hot in the SAT and ASP competitions | |
Paulin et al. | Method for Constructing the Model of Computing Processbased on Petri net | |
CN114239445A (zh) | 一种信号采集方法及芯片验证平台 | |
US20070010982A1 (en) | Automatic time warp for electronic system simulation | |
Hahn et al. | Transient reward approximation for continuous-time Markov chains | |
Moriarty et al. | Parallel algorithm and dynamic exponent for diffusion-limited aggregation | |
CN108664368B (zh) | 处理器性能指标评估方法及设备 | |
CN111523685A (zh) | 基于主动学习的降低性能建模开销的方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20111011 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20121030 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20121106 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20121204 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20151214 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5153724 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |