JP7091726B2 - 情報処理装置,プログラム及び情報処理方法 - Google Patents

情報処理装置,プログラム及び情報処理方法 Download PDF

Info

Publication number
JP7091726B2
JP7091726B2 JP2018042075A JP2018042075A JP7091726B2 JP 7091726 B2 JP7091726 B2 JP 7091726B2 JP 2018042075 A JP2018042075 A JP 2018042075A JP 2018042075 A JP2018042075 A JP 2018042075A JP 7091726 B2 JP7091726 B2 JP 7091726B2
Authority
JP
Japan
Prior art keywords
function
program
functions
trace
similar
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.)
Active
Application number
JP2018042075A
Other languages
English (en)
Other versions
JP2019159482A (ja
Inventor
明音 高橋
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2018042075A priority Critical patent/JP7091726B2/ja
Priority to US16/280,086 priority patent/US11188438B2/en
Publication of JP2019159482A publication Critical patent/JP2019159482A/ja
Application granted granted Critical
Publication of JP7091726B2 publication Critical patent/JP7091726B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording 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/3409Recording 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 for performance assessment
    • G06F11/3419Recording 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 for performance assessment by assessing time
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording 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/3404Recording 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 for parallel or distributed programming
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording 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/3457Performance evaluation by simulation
    • G06F11/3461Trace driven simulation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording 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/3466Performance evaluation by tracing or monitoring
    • G06F11/3495Performance evaluation by tracing or monitoring for systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/865Monitoring of software

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)
  • Debugging And Monitoring (AREA)
  • Stored Programmes (AREA)

Description

本発明は、情報処理装置,プログラム及び情報処理方法に関する。
並列計算プログラムの性能は、並列性能によって評価される場合がある。ここで、並列性能とは、プログラムが処理の並列化にどの程度適応できるかを示す目安である。
データの依存性等からソースコード解析等で概算した並列性能は不正確なおそれがあるため、実行性能を評価することによって並列性能が算出される場合がある。
特開2014-99108号公報 特開平11-96130号公報
しかしながら、開発中のプログラムでは、並列計算を実施できず逐次計算に限って実施できるため、正確な性能評価ができないおそれがある。また、開発中のプログラムでは複数回の性能測定を実施して並列性能を取得することにより、測定時間が長くなるおそれがある。
1つの側面では、プログラムの性能評価を効率的に実施することを目的とする。
プログラムは、コンピュータに、実行環境において評価対象プログラムを実行した場合における複数の関数毎の実行時間と、シミュレーション環境において前記評価対象プログラムを実行した場合における前記複数の関数にそれぞれ類似する類似関数毎の実行時間とを比較して、短縮率を算出し、算出された前記短縮率と前記評価対象プログラムとに基づいて、前記シミュレーション環境において使用するシミュレーションプログラムを生成する、処理を実行させる
1つの側面では、プログラムの性能評価を効率的に実施することができる。
プログラムの並列化に対する性能向上の関係を示すグラフである。 実施形態の一例としての情報処理装置のハードウェア構成を模式的に示すブロック図である。 図2に示した情報処理装置の機能構成を模式的に示すブロック図である。 図2に示した情報処理装置における処理の概要を説明するブロック図である。 関連例におけるダミープログラムの生成処理と、図2に示した情報処理装置におけるダミープログラムの生成処理とを説明するブロック図である。 図2に示した情報処理装置におけるダミートレースの生成処理を説明するブロック図である。 図2に示した情報処理装置におけるダミートレースの生成処理を説明するブロック図である。 図2に示した情報処理装置におけるダミートレースの生成処理を説明するブロック図である。 図2に示した情報処理装置における類似トレースの生成処理を説明するブロック図である。 図2に示した情報処理装置における類似トレースの生成処理を説明するブロック図である。 図2に示した情報処理装置における類似トレースの生成処理を説明するブロック図である。 図2に示した情報処理装置における関数毎の短縮率を示すテーブルと、ダミートレース生成プログラムの一例とを示す図である。 図2に示した情報処理装置における関数毎の調整時間を示すテーブルと、ダミートレース生成プログラムの一例とを示す図である。 図2に示した情報処理装置におけるダミートレースを例示する図である。 図2に示した情報処理装置におけるダミープログラム生成プログラム及びダミープログラムを例示する図である。 図2に示した情報処理装置における処理を説明するフローチャートである。 変形例における情報処理装置の機能構成を模式的に示すブロック図である。 図17に示した情報処理装置におけるダミートレースの生成処理を説明するブロック図である。 図17に示した情報処理装置におけるダミートレースの生成処理を説明するブロック図である。 図17に示した情報処理装置におけるダミートレースの生成処理を説明するブロック図である。
以下、図面を参照して一実施の形態を説明する。ただし、以下に示す実施形態はあくまでも例示に過ぎず、実施形態で明示しない種々の変形例や技術の適用を排除する意図はない。すなわち、本実施形態を、その趣旨を逸脱しない範囲で種々変形して実施することができる。
また、各図は、図中に示す構成要素のみを備えるという趣旨ではなく、他の機能等を含むことができる。
以下、図中において、同一の各符号は同様の部分を示しているので、その説明は省略する。
〔A〕実施形態の一例
〔A-1〕システム構成例
図1の(1)は、プログラムの並列化に対する性能向上の関係を示すグラフである。図1の(1)において、横軸はCentral Processing Unit(CPU)コア数等の並列度を表わし、縦軸は性能向上率を表わす。
図1の(1)において、符号A1は処理全体に対する並列部分の割合が95%の場合における並列性能を示し、符号A2は処理全体に対する並列部分の割合が90%の場合における並列性能を示す。また、符号A3は処理全体に対する並列部分の割合が75%の場合における並列性能を示し、符号A4は処理全体に対する並列部分の割合が50%の場合における並列性能を示す。
並列度に対するプログラムの性能向上率Speedupは、以下の(式1)によって表わされる。
Figure 0007091726000001
ここで、T(N)はプログラムの処理全体にかかった時間を示し、Nは使用したCPUコア数等の並列度を示す。
図1の(1)に示すグラフにおいては、カーブが右肩上がりの直線に近づく程、並列性能が高くなる。すなわち、図1の(1)に示す例では、符号A1,A2,A3,A4で示すグラフの順に、並列性能が高い。
なお、処理時間ではなく、処理量によって性能向上率Speedupを算出する場合には、以下の(式2)が使用される。
Figure 0007091726000002
ここで、P(N)は、例えば、N並列時の単位時間当たりの処理量である。
図1の(2)は、図1の(1)に示したグラフの導出例を示す図である。
図1の(2)に示す例では、符号A1で示すグラフに、17個の点がプロットされている。正確な並列性能を算出するために、図示するように多数のプロセス数毎に、性能向上率が測定されてよい。
図2は、実施形態の一例としての情報処理装置1のハードウェア構成を模式的に示すブロック図である。
情報処理装置1は、CPU11,メモリ12,表示制御部13,記憶装置14,入力Interface(I/F)15,読み書き処理部16及び通信I/F17を備える。
メモリ12は、例示的に、Read Only Memory(ROM)及びRandom Access Memory(RAM)を含む記憶装置である。メモリ12のROMには、Basic Input/Output System(BIOS)等のプログラムが書き込まれてよい。メモリ12のソフトウェアプログラムは、CPU11に適宜に読み込まれて実行されてよい。また、メモリ12のRAMは、一次記録メモリあるいはワーキングメモリとして利用されてよい。
表示制御部13は、表示装置130と接続され、表示装置130を制御する。表示装置130は、液晶ディスプレイやOrganic Light-Emitting Diode(OLED)ディスプレイ,Cathode Ray Tube(CRT),電子ペーパーディスプレイ等であり、オペレータ等に対する各種情報を表示する。表示装置130は、入力装置と組み合わされたものでもよく、例えば、タッチパネルでもよい。
記憶装置14は、例示的に、データを読み書き可能に記憶する装置であり、例えば、Hard Disk Drive(HDD)やSolid State Drive(SSD),Storage Class Memory(SCM)が用いられてよい。
入力I/F15は、マウス151やキーボード152等の入力装置と接続され、マウス151やキーボード152等の入力装置を制御する。マウス151やキーボード152は、入力装置の一例であり、これらの入力装置を介して、オペレータが各種の入力操作を行なう。
読み書き処理部16は、記録媒体160が装着可能に構成される。読み書き処理部16は、記録媒体160が装着された状態において、記録媒体160に記録されている情報を読み取り可能に構成される。本例では、記録媒体160は、可搬性を有する。例えば、記録媒体160は、フレキシブルディスク、光ディスク、磁気ディスク、光磁気ディスク、又は、半導体メモリ等である。
通信I/F17は、外部装置との通信を可能にするためのインタフェースである。
図3は、図1に示した情報処理装置1の機能構成を模式的に示すブロック図である。
CPU11は、種々の制御や演算を行なう処理装置であり、メモリ12に格納されたOperating System(OS)やプログラムを実行することにより、種々の機能を実現する。すなわち、情報処理装置1のCPU11は、図3に示すように、類似関数検索部111,類似関数性能測定部112,短縮率計算部113及び短縮率適用部114として機能する。
なお、これらの類似関数検索部111,類似関数性能測定部112,短縮率計算部113及び短縮率適用部114としての機能を実現するためのプログラムは、例えば前述した記録媒体160に記録された形態で提供される。そして、コンピュータは読み書き処理部16を介してその記録媒体160からプログラムを読み取って内部記憶装置または外部記憶装置に転送し格納して用いる。また、そのプログラムを、例えば磁気ディスク,光ディスク,光磁気ディスク等の記憶装置(記録媒体)に記録しておき、その記憶装置から通信経路を介してコンピュータに提供してもよい。
類似関数検索部111,類似関数性能測定部112,短縮率計算部113及び短縮率適用部114としての機能を実現する際には、内部記憶装置に格納されたプログラムがコンピュータのマイクロプロセッサによって実行される。このとき、記録媒体160に記録されたプログラムをコンピュータが読み取って実行してもよい。なお、本実施形態において、内部記憶装置はメモリ12であり、マイクロプロセッサはCPU11である。
CPU11は、例示的に、情報処理装置1全体の動作を制御する。情報処理装置1全体の動作を制御するための装置は、CPU11に限定されず、例えば、MPUやDSP,ASIC,PLD,FPGAのいずれか1つであってもよい。また、情報処理装置1全体の動作を制御するための装置は、CPU,MPU,DSP,ASIC,PLD及びFPGAのうちの2種類以上の組み合わせであってもよい。なお、MPUはMicro Processing Unitの略称であり、DSPはDigital Signal Processorの略称であり、ASICはApplication Specific Integrated Circuitの略称である。また、PLDはProgrammable Logic Deviceの略称であり、FPGAはField Programmable Gate Arrayの略称である。
類似関数検索部111は、検索部の一例である。類似関数検索部111は、所定の関数リスト206(図9~図11等を用いて後述)の中から、開発中プログラム101(図4等を用いて後述)に含まれる複数の関数のそれぞれに類似する複数の類似関数を検索する。なお、類似関数検索部111における機能の詳細については、図6等を用いて後述する。
類似関数性能測定部112は、測定部の一例である。類似関数性能測定部112は、類似関数検索部111によって検索された類似関数をシミュレーション環境20(図4等を用いて後述)において実行した場合における実行時間を測定する。なお、類似関数性能測定部112における機能の詳細については、図6等を用いて後述する。
短縮率計算部113は、算出部の一例である。短縮率計算部113は、開発プログラム実行環境10(図4等を用いて後述)における複数の関数毎の実行時間と、シミュレーション環境20(図4等を用いて後述)における複数の関数毎の実行時間とを比較して、短縮率を算出する。ここで、開発プログラム実行環境10における複数の関数毎の実行時間は、開発プログラム実行環境10において開発中プログラム101(図4等を用いて後述)を実行した場合における複数の関数毎の実行時間である。また、シミュレーション環境20における複数の関数毎の実行時間は、シミュレーション環境20において開発中プログラム101を実行した場合における複数の関数毎の実行時間である。
短縮率計算部113は、開発プログラム実行環境10(図4等を用いて後述)における複数の関数毎の実行時間と、類似関数性能測定部112によって測定された複数の類似関数毎の実行時間とに基づき、短縮率を算出する。
なお、短縮率計算部113における機能の詳細については、図7等を用いて後述する。
短縮率適用部114は、生成部の一例である。短縮率適用部114は、短縮率計算部113によって算出された短縮率と開発中プログラム101とに基づいて、シミュレーション環境20において使用するダミープログラム304(図15等を用いて後述)を生成する。
短縮率適用部114は、複数の関数毎に算出された複数の短縮率のうち、最小の短縮率を使用して、ダミープログラム304を生成する。
短縮率適用部114は、複数の関数毎の処理時間に短縮率を乗じた値を記録するダミートレース202(図8等を用いて後述)に基づいて、ダミープログラム304を生成する。
なお、短縮率適用部114における機能の詳細については、図7等を用いて後述する。
図4は、図2に示した情報処理装置1における処理の概要を説明するブロック図である。
情報処理装置1は、開発プログラム実行環境(単に「実行環境」と称してもよい。)10と、シミュレーション環境20とに分けられる。
開発プログラム実行環境10において、開発中プログラム(「評価対象プログラム」と称してもよい。)101が実行され、実行トレース102が記録される(符号B1参照)。
シミュレーション環境20において、ダミートレース生成システム201は、実行トレース102を入力として(符号B2参照)、ダミートレース202を生成する(符号B3参照)。
別言すれば、ダミートレース生成システム201は、トレース短縮部2011として機能する。トレース短縮部2011は、実行トレース102が入力され(符号B21参照)、ダミートレース202を生成する(符号B31参照)。
そして、シミュレーション環境20において、シミュレータ203は、生成されたダミートレース202が入力され(符号B4参照)、並列度を変えながらプログラムを実行する。そして、シミュレータ203は、シミュレーション結果を出力する(符号B5参照)。
図5の(1)は、関連例におけるダミープログラム603の生成処理を説明するブロック図である。また、図5の(2)は、図2に示した情報処理装置1におけるダミープログラム304の生成処理を説明するブロック図である。
図5の(1)に示すように、関連例に係る情報処理装置6において展開される開発プログラム実行環境60では、ダミープログラム生成システム602は、開発中プログラム601から直接にダミープログラム603を生成する。
このように、関連例におけるダミープログラム603の生成は開発プログラム実行環境60が整った状態で実施しなければならない。また、ダミープログラム603の処理時間は、開発中プログラム601の処理時間と同じになってしまう。
一方、図5の(2)に示すように、実施形態の一例に係る情報処理装置1において展開される開発プログラム実行環境10では、開発中プログラム101に基づいて実行トレース102が生成される。シミュレーション環境20において、ダミートレース生成システム201は、実行トレース102の入力を受けて、ダミープログラム304を生成する。そして、シミュレーション環境20において、シミュレータ203は、ダミープログラム304を実行する。
このように、実施形態の一例におけるダミープログラム304の生成は、開発プログラム実行環境10が整っていなくてもシミュレーション環境20において実行できる。また、ダミープログラム304の処理時間は、開発中プログラム101の処理時間よりも短縮できる。
図6~図8は、図2に示した情報処理装置1におけるダミートレース202の生成処理を説明するブロック図である。
図6に示すように、開発プログラム実行環境10において、開発中プログラム101が実行される(図6の符号C1参照)これにより、実行トレース102が生成される。
シミュレーション環境20において、類似関数検索部111は、実行トレース102の関数を入力として受け付け(図6の符号C2参照)、実行トレース102の各関数に類似する類似関数を検索して類似トレース205に出力する(図6の符号C3参照)。
シミュレーション環境20において、類似関数性能測定部112は、類似トレース205の関数名を入力として受け付け(図6の符号C4参照)、類似トレース205の各類似関数についての処理時間を測定して類似トレース205に出力する(図6の符号C5参照)。
図7に示すように、任意環境30において、短縮率計算部113は、実行トレース102の処理時間を入力として受け付ける(図7の符号C6参照)とともに、類似トレース205の処理時間を入力として受け付ける(図7の符号C7参照)。そして、短縮率計算部113は、実行トレース102の処理時間と、類似トレース205の処理時間とを比較することにより、短縮率rを算出する。
関数_Nについての短縮率r_Nは、以下の(式3)によって算出されてよい。
Figure 0007091726000003
なお、T_Nは実行トレース102における処理時間を表わし、Tsim_Nは類似トレース205における処理時間を表わし、Nは自然数である。
短縮率計算部113は、各関数_Nについての短縮率r_Nのうち、最小の値を短縮率rとして、短縮率適用部114へ入力する。
任意環境30において、短縮率適用部114は、短縮率計算部113から短縮率rを取得する(図7の符号C8参照)。
図8に示すように、短縮率適用部114は、実行トレース102に対して短縮率rを適用して、ダミートレース202を生成する(図8の符号C9参照)。すなわち、短縮率適用部114は、実行トレース102における各関数の処理時間に対して短縮率rを乗じることにより、ダミートレース202において短縮関数の処理時間T_N * rを取得する。
図9~図11は、図2に示した情報処理装置1における類似トレース205の生成処理を説明するブロック図である。
図9に示すように、シミュレーション環境20において、類似関数検索部111は、実行トレース102において、関数(図示する例では、「関数_1」)を1つ選択する(図9の符号D1及び類似トレース生成プログラム301の10行目参照)。類似関数検索部111は、複数の類似関数を含む関数リスト206の中から、選択した関数に類似する類似関数(図示する例では、「関数_1」)を検索する。そして、類似関数検索部111は、検索した類似関数を類似トレース205に登録する(図9の符号D2及び類似トレース生成プログラム301の11~12,15行目参照)。
類似関数検索部111による処理を記述するプログラムは、例えば、類似トレース生成プログラム301の1~15行目によって表わされる。
図9に例示する類似トレース生成プログラム301において、1~2行目には関数リスト206の取得処理が含まれ、3~4行目には実行トレース102の取得処理が含まれる。また、図9に例示する類似トレース生成プログラム301において、6~21行目には実行トレース102の各行について類似関数を検索して、検索した類似関数の実行時間を取得する処理が含まれる。更に、6~21行目のうち9~15行目には、類似関数の検索処理が含まれる。
図10に示すように、シミュレーション環境20において、類似関数性能測定部112は、類似トレース205における類似関数(図示する例では、「関数_1」)の処理時間(図示する例では、「Tsim_1」)を測定する(図10の符号D3及び類似トレース生成プログラム301の18~21行目参照)。
類似関数性能測定部112により処理を記述するプログラムは、例えば、類似トレース生成プログラム301の6~8行目及び17~21行目によって表わされる。
図10に例示する類似トレース生成プログラム301において、6~21行目には実行トレース102の各行について類似関数を検索して、検索した類似関数の実行時間を取得する処理が含まれる。更に、6~21行目のうち17~21行目には、類似関数の実行時間の取得処理が含まれる。
図11に示す例では、シミュレーション環境20において、類似関数検索部111は、関数リスト206の中から、実行トレース102における関数_4に類似する類似関数を検索する。図示する例では、関数リスト206には、実行トレース102の関数_4に類似する類似関数として、関数_4′及び関数_4″を含む。
ここで、関数_4′と関数_4″とは、実行トレース102における関数の用途やコードの規模毎に使い分けられてよい。図示する例では、実行トレース102における関数_4の用途が「XX」である場合に関数_4′が使用される一方、実行トレース102における関数_4の用途が「YY」である場合に関数_4″が使用される。
図11に示す例では、実行トレース102における関数_4の用途が「YY」であるため、類似関数検索部111は、類似関数として関数_4″を関数リスト206の中から選択する。そして、類似関数検索部111は、選択した関数_4″を類似トレース205に登録する(図11の符号D4及び類似トレース生成プログラム301の13~15行目参照)。
図12の(1)は、図2に示した情報処理装置1における関数毎の短縮率を示すテーブルである。また、図12の(2)は、図2に示した情報処理装置1におけるダミートレース生成プログラム302を例示する図である。
図12の(1)に示すテーブルにおいては、実行トレース実行時間と、類似トレース実行時間と、短縮率とが対応付けられて登録されている。
実行トレース実行時間は、実行トレース102における関数の実行時間(別言すれば、処理時間)を示す。類似トレース実行時間は、類似トレース205における類似関数の実行時間(別言すれば、処理時間)を示す。短縮率は、実行トレース実行時間に対する類似トレース実行時間の短縮の割合を示す。
図12の(1)に示す例では、例えば、実行トレース実行時間T_1と、類似トレース実行時間Tsim_1とに対して、以下の(式4)に示す短縮率r_1が対応付けられている。
Figure 0007091726000004
すなわち、関数_Nについての短縮率r_Nは、上述した(式3)によって算出されてよい。
図12の(2)に示す例では、ダミートレース生成プログラム302は、1~2行目において実行トレース102の取得処理を含み、3~4行目において類似トレース205の取得処理を含む。また、ダミートレース生成プログラム302は、6~16行目において2つのトレース102及び205の各行について処理時間を取得して短縮率を計算する処理を含み、10~13行目においてトレース102及び205内の処理時間と関数名とを取得する処理を含む。更に、ダミートレース生成プログラム302は、15~16行目においてトレース102及び205の各行における短縮率を算出する処理を含み、18~19行目において短縮率の最小値を取得する処理を含む。
図13の(1)は、図2に示した情報処理装置1における関数毎の調整時間を示すテーブルである。また、図13の(2)は、図12の(2)に示したダミートレース生成プログラム302の続きを例示する図である。
図13の(1)に示すテーブルにおいては、短縮率と調整時間とが対応付けられて登録されている。
短縮率は、実行トレース実行時間に対する類似トレース実行時間の短縮の割合を示す。調整時間は、各類似関数の実行時間が、同じ短縮率(図13の(1)に示す例では、短縮率の最小値r_2)で短縮されたように見せるために、各類似関数の実行時間に加算する値(別言すれば、追加の処理時間)である。
図13の(1)に示す例では、例えば、短縮率r_1に対して、調整時間Δt_1が対応付けられている。
短縮率r_1は、図12の(1)に示した短縮率r_1と同様に、上述した(式4)によって示されてよい。
調整時間Δt_1は、以下の(式5)によって示されてよい。
Figure 0007091726000005
なお、r_2は、複数の類似関数についての短縮率のちの最小の短縮率を示す。すなわち、図13の(1)に示す例では、短縮率r_1~r_8のうち、関数_2の実行時間T_2に対する類似関数_2の実行時間Tsim_2の短縮率r_2が最小である。
ここで、類似関数_N(Nは自然数)についての調整時間Δt_Nは、以下の(式6)によって示されてよい。
Figure 0007091726000006
なお、r_minは、複数の類似関数についての短縮率のうちの最小の短縮率を示す。
図13の(2)に示す例では、ダミートレース生成プログラム302は、21~28行目においてダミートレース202の各行の出力処理を含み、23~24行目においてダミートレース202の各行の調整時間を計算する処理を含む。また、ダミートレース生成プログラム302は、26~28行目において、ダミー関数の関数名,ダミー関数の処理時間(別言すれば、調整時間),類似関数の関数名及び類似関数の処理時間をダミートレース202として出力する処理を含む。
すなわち、ダミートレース生成プログラム302は、生成するダミートレース202において、ダミー関数を実行する1行と類似関数を実行する1行とを一組として扱うことで、当該類似関数が最小の短縮率による実行時間で実行されたように見せる。これにより、ダミートレース202内の各類似関数の処理時間が同じ短縮率で短縮されたように見せることができる。
ここで、実行トレース102中の各関数の実行時間を比率(別言すれば、実行トレース102全体の処理時間のうち、各関数の実行時間が占める割合)で示した場合、当該比率が維持されれば、実際の実行時間を短縮しても並列性能は正確に評価される。
並列性能は、並列プログラム内の各スレッドの実行タイミングに依存する。一般的に、プログラムは、並列実行できる処理と、並列実行できない処理(別言すれば、同じ動作を複数のスレッドで同時に実行することができない処理)と、を含む。このようなプログラムを複数のスレッドで並列実行すると、各スレッドがどの処理をどのタイミングで実行したかによって、並列プログラムの処理性能が変化する。
従って、実行トレース102中の各関数の実行時間を同じ短縮率で短縮しなければ、各スレッドの挙動(別言すれば、各関数の実行タイミング)が測定したいスレッドの挙動と異なるおそれがある。
そこで、本実施形態の一例においては、実行時間を短縮しても正確な並列性能を取得できるように、実行トレース102中の各関数の処理時間を同じ短縮率で短縮する。
図14は、図2に示した情報処理装置1におけるダミートレース202を例示する図である。
図14に例示するダミートレース202は、図12の(1)及び図13の(1)に例示したテーブルに基づいて生成される。
図14に示す例において、処理時間がTsim_1である類似関数_1と、処理時間がTsim_3である類似関数_3と、処理時間がTsim_4である類似関数_4との処理の直前には、dummy_runで示されるダミー関数がそれぞれ挿入されている。具体的には、類似関数_1の直前には、処理時間がdelta_1のdummy_runが挿入されている(符号E1参照)。また、類似関数_3の直前には、処理時間がdelta_3のdummy_runが挿入されている(符号E3参照)。更に、類似関数_4の直前には、処理時間がdelta_4のdummy_runが挿入されている(符号E4参照)。
一方、図14に示す例において、図13の(1)を用いて説明したように複数の類似関数についての短縮率のうち最小の短縮率に係る類似関数_2については、直前にダミー関数が挿入されていない(符号E2参照)。
図15(1)は、図2に示した情報処理装置1におけるダミープログラム生成プログラム303を例示する図である。また、図15の(2)は、図2に示した情報処理装置1におけるダミープログラム304を例示する図である。
図15の(1)に例示するダミープログラム生成プログラム303において、1~6行目にはダミートレース202中の関数を取得する処理が含まれ、8~12行目にはダミープログラム304のメイン処理を出力する処理が含まれる。
図15の(2)に例示するダミープログラム304において、1~9行目には各スレッドの実行内容が含まれ、10~19行目にはシミュレーションのメイン処理が含まれる。また、12~14行目には指定した並列度分のスレッドを生成する処理が含まれ、16~19行目には全スレッドの単位時間当たりの処理量を取得する処理が含まれる。
ここで、ダミープログラム304において符号F1で示される領域には、ダミープログラム生成プログラム303におけるダミープログラム304にメイン処理を出力する処理(図15の(1)に示す例では、8~12行目)の実行結果が出力される。
このように、ダミープログラム304を実行することにより、ダミートレース202を実行するスレッドを並列度で指定した数だけ生成する。そして、単位時間当たりの全スレッドの処理量(例えば、トレースの最大実行回数)を取得し、並列度が1の場合の性能向上率を算出して、算出結果を図1の(2)に示したようにグラフにプロットする。
〔A-2〕動作例
図2に示した情報処理装置1における処理を、図16に示すフローチャート(ステップS1~S6)に従って説明する。
類似関数検索部111は、実行トレース102に含まれる各関数について、関数リスト206の中から、類似関数を検索する(ステップS1)。そして、類似関数検索部111は、検索した類似関数を類似トレース205に登録する。
類似関数性能測定部112は、検索された類似関数の性能(別言すれば、実行時間)を測定する(ステップS2)。そして、類似関数性能測定部112は、測定した類似関数の性能を類似トレース205に登録する。
短縮率計算部113は、実行トレース102における各関数の実行時間と、類似トレース205における各類似関数の実行時間とを比較して、各類似関数についての短縮率を計算する(ステップS3)。
短縮率適用部114は、計算された各類似関数についての短縮率のうち、最小の短縮率をダミートレース202に登録することによって各類似関数に適用する(ステップS4)。
短縮率適用部114は、最小の短縮率を適用したダミートレース202に基づいて、ダミープログラム304を生成する(ステップS5)。
情報処理装置1のCPU11(別言すれば、図4等に示した「シミュレータ203」)は、生成されたダミープログラム304を実行することにより、シミュレーションを実施する(ステップS6)。そして、シミュレーション結果(別言すれば、開発中プログラム101の並列性能)305が取得され、処理は終了する。
〔A-3〕効果
上述した実施形態の一例における情報処理装置1によれば、例えば、以下のような効果を奏することができる。
短縮率計算部113は、開発プログラム実行環境10において開発中プログラム101を実行した場合における複数の関数毎の実行時間と、シミュレーション環境20において開発中プログラム101を実行した場合における複数の関数毎の実行時間とを比較し、短縮率を算出する。短縮率適用部114は、短縮率計算部113によって算出された短縮率と開発中プログラム101とに基づいて、シミュレーション環境20において使用するダミープログラム304を生成する。
これにより、開発中プログラム101の性能評価を効率的に実施することができる。具体的には、開発中プログラム101の並列性能に関する構成を維持しつつ、開発中プログラム101の並列性能の評価を短時間で実施することができる。
短縮率適用部114は、複数の関数毎に算出された複数の短縮率のうち、最小の短縮率を使用して、ダミープログラム304を生成する。
これにより、各類似関数の短縮率を等しくできる。
短縮率適用部114は、複数の関数毎の処理時間に短縮率を乗じた値を記録するダミートレース202に基づいて、ダミープログラム304を生成する。
これにより、ダミープログラム304の生成を適切に実施できる。
類似関数検索部111は、所定の関数リスト206の中から、開発中プログラム101に含まれる複数の関数のそれぞれに類似する複数の類似関数を検索する。類似関数性能測定部112は、類似関数検索部111によって検索された類似関数をシミュレーション環境20において実行した場合における実行時間を測定する。そして、短縮率計算部113は、開発プログラム実行環境10における複数の関数毎の実行時間と、類似関数性能測定部112によって測定された複数の類似関数毎の実行時間とに基づき、短縮率を算出する。
これにより、短縮率の算出を適切に実施できる。
〔B〕変形例
図17は、変形例における情報処理装置1aの機能構成を模式的に示すブロック図である。
変形例における情報処理装置1aは、図3に示した実施形態の一例としての情報処理装置1が備えるCPU11の代わりに、図17に示すCPU11aを備える。
CPU11aは、図3に示した類似関数検索部111,類似関数性能測定部112,短縮率計算部113及び短縮率適用部114としての機能に加えて、関数分類部115及び関数簡易化部116としての機能を備える。
関数分類部115は、分類処理部の一例である。関数分類部115は、開発中プログラム101に含まれる複数の関数を、非排他処理と排他資源取得処理と排他資源解放処理とに分類する。なお、関数分類部115における機能の詳細については、図18等を用いて後述する。
関数簡易化部116は、簡易化処理部の一例である。関数簡易化部116は、関数分類部115によって非排他処理に分類された関数のうち連続する関数を、単一の簡易関数として記録する簡易トレース402を生成する。なお、関数簡易化部116における機能の詳細については、図18等を用いて後述する。
図18~図20は、図17に示した情報処理装置1aにおけるダミートレース202の生成処理を説明するブロック図である。
図18に示すように、開発プログラム実行環境10において、開発中プログラム101が実行される(図18の符号G1参照)。これにより、実行トレース102が生成される。
任意環境30bにおいて、関数分類部115は、実行トレース102の関数名を入力として受け付け(図18の符号G2参照)、各関数をグループに分類してグループ情報401を生成する。
図18に示す例では、実行トレース102における各関数は、非排他処理を示す関数グループ(Gr)_Aと、排他資源取得処理を示す関数Gr_Bと、排他資源解放処理を示す関数Gr_Cとのうちのいずれかに分類される。具体的には、図示する例においては、グループ情報401に示すように、関数_1,関数_2,関数_4,及び関数_6~関数_8は関数Gr_Aに分類され、関数_3は関数Gr_Bに分類され、関数_5は関数Gr_Cに分類される。なお、非排他処理はlock及びunlock以外の処理を示し、排他資源獲得処理はlock等の処理を示し、排他資源解放処理はunlock等の処理を示す。
関数簡易化部116は、関数分類部115によって生成されたグループ情報401を取得する(図18の符号G3参照)。
関数簡易化部116は、グループ情報401に基づき、実行トレース102を簡易化して、簡易トレース402を生成する(図18の符号G4参照)。関数簡易化部116は、関数Gr_Aに属する非排他処理である関数のうち、連続する複数の関数を1つの簡易関数にまとめて簡易トレース402に登録する。
図示する例では、実行トレース102における関数_1及び関数_2が簡易トレース402において簡易関数_1にまとめられ、実行トレース102における関数_6~関数_8が簡易トレース402において簡易関数_5にまとめられている。また、実行トレース102における関数_3~関数_5は、簡易トレース402における簡易関数_2~簡易関数_4にそれぞれ対応する。
簡易トレース402における各簡易関数の処理時間は、実行トレース102において対応する関数の処理時間の和と等しい。すなわち、簡易トレース402における簡易関数_1の処理時間は、実行トレース102において対応する関数_1及び関数_2の処理時間の和であるT_1+T_2である。簡易トレース402における簡易関数_2の処理時間は、実行トレース102において対応する関数_3の処理時間であるT_3である。簡易トレース402における簡易関数_3の処理時間は、実行トレース102において対応する関数_4の処理時間であるT_4である。簡易トレース402における簡易関数_4の処理時間は、実行トレース102において対応する関数_5の処理時間であるT_5である。そして、簡易トレース402における簡易関数_5の処理時間は、実行トレース102において対応する関数_6~関数_8の処理時間の和であるT_6+T_7+T_8である。
図19に示すように、シミュレーション環境20において、類似関数検索部111は、簡易トレース402における各簡易関数を入力として受け付ける(図19の符号G5参照)。
類似関数検索部111は、入力された簡易関数に類似する類似関数を検索して、検索した類似関数を類似トレース205に出力する(図19の符号G6参照)。図示する例では、類似関数検索部111は、簡易トレース402における簡易関数_1,簡易関数_3及び簡易関数_5に類似する関数として類似関数_Aを類似トレース205に出力する。また、類似関数検索部111は、簡易トレース402における簡易関数_2に類似する関数として簡易関数_Bを簡易トレース402に出力するとともに、簡易トレース402における簡易関数_4に類似する関数として簡易関数_Cを簡易トレース402に出力する。
類似関数性能測定部112は、類似トレース205における各類似関数を入力として受け付ける(図19の符号G5参照)。
類似関数性能測定部112は、入力された各類似関数の処理時間を測定して、測定した処理時間を類似トレース205に出力する(図19の符号G6参照)。図示する例では、類似関数性能測定部112は、類似関数_A,類似関数_B及び類似関数_Cの処理時間として、Tsim_A,Tsim_B及びTsim_Cをそれぞれ類似トレース205に出力する。
図20に示すように、任意環境30aにおいて、短縮率計算部113は、簡易トレース402における各簡易関数の処理時間を入力として受け付ける(図20の符号G7参照)。また、短縮率計算部113は、類似トレース205における各類似関数の処理時間を入力として受け付ける(図20の符号G8参照)。
短縮率計算部113は、各簡易関数の処理時間と各類似関数の処理時間とを比較して、各簡易関数に対する対応する類似関数の短縮率を計算する。そして、短縮率計算部113は、計算した各類似関数の短縮率rを短縮率適用部114に入力する(図20の符号G9参照)。
短縮率適用部114は、入力された各類似関数の短縮率rのうち、最小の短縮率rをダミートレース202に適用する(図20の符号G10参照)。
図20に示す例では、ダミートレース202において、短縮関数_1の処理時間には(T_1+T_2)*rが設定され、短縮関数_2の処理時間にはT_3*rが設定され、短縮関数_3の処理時間にはT_4*rが設定される。また、ダミートレース202において、短縮関数_4の処理時間にはT_5*rが設定され、短縮関数_5の処理時間には(T_6+T_7+T_8)*rが設定される。
なお、短縮率が最小の関数については、ダミートレース202における処理時間が類似トレース205に対する処理時間に対して短縮されない。そこで、ダミートレース202の関数名における「短縮関数」の「短縮」には括弧が付されている。
上述した実施形態の変形例における情報処理装置1aによれば、例えば、以下のような効果を奏することができる。
関数分類部115は、開発中プログラム101に含まれる複数の関数を、非排他処理と排他資源取得処理と排他資源解放処理とに分類する。関数簡易化部116は、関数分類部115によって非排他処理に分類された関数のうち連続する関数を、単一の簡易関数として記録する簡易トレース402を生成する。短縮率計算部113は、関数簡易化部116によって生成された簡易トレース402に含まれる簡易関数毎の実行時間と、類似関数性能測定部112によって測定された複数の類似関数毎の実行時間とに基づき、短縮率を算出する。
これにより、ダミートレース202に適用する短縮率を大きくすることができ、ダミートレース202の行数を削減できる。すなわち、開発中プログラム101のシミュレーションを短時間で完了させることができる。
〔C〕その他
開示の技術は上述した実施形態に限定されるものではなく、本実施形態の趣旨を逸脱しない範囲で種々変形して実施することができる。本実施形態の各構成及び各処理は、必要に応じて取捨選択することができ、あるいは適宜組み合わせてもよい。
〔D〕付記
以上の実施形態及び変形例に関し、さらに以下の付記を開示する。
(付記1)
実行環境において評価対象プログラムを実行した場合における複数の関数毎の実行時間と、シミュレーション環境において前記評価対象プログラムを実行した場合における前記複数の関数毎の実行時間とを比較して、短縮率を算出する算出部と、
前記算出部によって算出された短縮率と前記評価対象プログラムとに基づいて、前記シミュレーション環境において使用するシミュレーションプログラムを生成する生成部と、
を備える、情報処理装置。
(付記2)
前記生成部は、前記複数の関数毎に算出された複数の短縮率のうち、最小の短縮率を使用して、前記シミュレーションプログラムを生成する、
付記1に記載の情報処理装置。
(付記3)
前記生成部は、前記複数の関数毎の処理時間に前記短縮率を乗じた値を記録するダミートレースに基づいて、前記シミュレーションプログラムを生成する、
付記1又は2に記載の情報処理装置。
(付記4)
所定の関数リストの中から、前記評価対象プログラムに含まれる前記複数の関数のそれぞれに類似する複数の類似関数を検索する検索部と、
前記検索部によって検索された類似関数を前記シミュレーション環境において実行した場合における実行時間を測定する測定部と、
を更に備え、
前記算出部は、前記実行環境における前記複数の関数毎の実行時間と、前記測定部によって測定された前記複数の類似関数毎の実行時間とに基づき、前記短縮率を算出する、
付記1~3のいずれか1項に記載の情報処理装置。
(付記5)
前記評価対象プログラムに含まれる前記複数の関数を、非排他処理と排他資源取得処理と排他資源解放処理とに分類する分類処理部と、
前記分類処理部によって前記非排他処理に分類された関数のうち連続する関数を、単一の簡易関数として記録する簡易トレースを生成する簡易化処理部と、
を更に備え、
前記算出部は、前記簡易化処理部によって生成された簡易トレースに含まれる前記簡易関数毎の実行時間と、前記測定部によって測定された前記複数の類似関数毎の実行時間とに基づき、前記短縮率を算出する、
付記4に記載の情報処理装置。
(付記6)
コンピュータに、
実行環境において評価対象プログラムを実行した場合における複数の関数毎の実行時間と、シミュレーション環境において前記評価対象プログラムを実行した場合における前記複数の関数毎の実行時間とを比較して、短縮率を算出し、
前記算出された短縮率と前記評価対象プログラムとに基づいて、前記シミュレーション環境において使用するシミュレーションプログラムを生成する、
処理を実行させる、プログラム。
(付記7)
前記複数の関数毎に算出された複数の短縮率のうち、最小の短縮率を使用して、前記シミュレーションプログラムを生成する、
処理を前記コンピュータに実行させる、付記6に記載のプログラム。
(付記8)
前記複数の関数毎の処理時間に前記短縮率を乗じた値を記録するダミートレースに基づいて、前記シミュレーションプログラムを生成する、
処理を前記コンピュータに実行させる、付記6又は7に記載のプログラム。
(付記9)
所定の関数リストの中から、前記評価対象プログラムに含まれる前記複数の関数のそれぞれに類似する複数の類似関数を検索し、
前記検索された類似関数を前記シミュレーション環境において実行した場合における実行時間を測定し、
前記実行環境における前記複数の関数毎の実行時間と、前記測定された前記複数の類似関数毎の実行時間とに基づき、前記短縮率を算出する、
処理を前記コンピュータに実行させる、付記6~8のいずれか1項に記載のプログラム。
(付記10)
前記評価対象プログラムに含まれる前記複数の関数を、非排他処理と排他資源取得処理と排他資源解放処理とに分類し、
前記非排他処理に分類された関数のうち連続する関数を、単一の簡易関数として記録する簡易トレースを生成し、
前記生成された簡易トレースに含まれる前記簡易関数毎の実行時間と、前記測定された前記複数の類似関数毎の実行時間とに基づき、前記短縮率を算出する、
処理を前記コンピュータに実行させる、付記9に記載のプログラム。
(付記11)
実行環境において評価対象プログラムを実行した場合における複数の関数毎の実行時間と、シミュレーション環境において前記評価対象プログラムを実行した場合における前記複数の関数毎の実行時間とを比較して、短縮率を算出し、
前記算出された短縮率と前記評価対象プログラムとに基づいて、前記シミュレーション環境において使用するシミュレーションプログラムを生成する、
情報処理方法。
(付記12)
前記複数の関数毎に算出された複数の短縮率のうち、最小の短縮率を使用して、前記シミュレーションプログラムを生成する、
付記11に記載の情報処理方法。
(付記13)
前記複数の関数毎の処理時間に前記短縮率を乗じた値を記録するダミートレースに基づいて、前記シミュレーションプログラムを生成する、
付記11又は12に記載の情報処理方法。
(付記14)
所定の関数リストの中から、前記評価対象プログラムに含まれる前記複数の関数のそれぞれに類似する複数の類似関数を検索し、
前記検索された類似関数を前記シミュレーション環境において実行した場合における実行時間を測定し、
前記実行環境における前記複数の関数毎の実行時間と、前記測定された前記複数の類似関数毎の実行時間とに基づき、前記短縮率を算出する、
付記11~13のいずれか1項に記載の情報処理方法。
(付記15)
前記評価対象プログラムに含まれる前記複数の関数を、非排他処理と排他資源取得処理と排他資源解放処理とに分類し、
前記非排他処理に分類された関数のうち連続する関数を、単一の簡易関数として記録する簡易トレースを生成し、
前記生成された簡易トレースに含まれる前記簡易関数毎の実行時間と、前記測定された前記複数の類似関数毎の実行時間とに基づき、前記短縮率を算出する、
付記14に記載の情報処理方法。
1,1a,6 :情報処理装置
11,11a :CPU
111 :類似関数検索部
112 :類似関数性能測定部
113 :短縮率計算部
114 :短縮率適用部
115 :関数分類部
116 :関数簡易化部
12 :メモリ
13 :表示制御部
130 :表示装置
14 :記憶装置
15 :入力I/F
151 :マウス
152 :キーボード
16 :読み書き処理部
160 :記録媒体
17 :通信I/F
10,60 :開発プログラム実行環境
101,601:開発中プログラム
102 :実行トレース
20 :シミュレーション環境
201,602:ダミートレース生成システム
2011 :トレース短縮部
202 :ダミートレース
203 :シミュレータ
205 :類似トレース
206 :関数リスト
30,30a,30b:任意環境
301 :類似トレース生成プログラム
302 :ダミートレース生成プログラム
303 :ダミープログラム生成プログラム
304,603:ダミープログラム
305 :シミュレーション結果
401 :グループ情報
402 :簡易トレース

Claims (7)

  1. コンピュータに、
    実行環境において評価対象プログラムを実行した場合における複数の関数毎の実行時間と、シミュレーション環境において前記評価対象プログラムを実行した場合における前記複数の関数にそれぞれ類似する類似関数毎の実行時間とを比較して、短縮率を算出
    出された前記短縮率と前記評価対象プログラムとに基づいて、前記シミュレーション環境において使用するシミュレーションプログラムを生成する、
    処理を実行させる、プログラム
  2. 記複数の関数毎に算出された複数の前記短縮率のうち、最小の短縮率を使用して、前記シミュレーションプログラムを生成する、
    処理を前記コンピュータに実行させる、請求項1に記載のプログラム
  3. 記複数の関数毎の処理時間に前記短縮率を乗じた値を記録するダミートレースに基づいて、前記シミュレーションプログラムを生成する、
    処理を前記コンピュータに実行させる、請求項1又は2に記載のプログラム
  4. 所定の関数リストの中から、前記評価対象プログラムに含まれる前記複数の関数のそれぞれに類似する複数の前記類似関数を検索
    索された前記複数の類似関数を前記シミュレーション環境において実行した場合における実行時間を測定し、
    前記実行環境における前記複数の関数毎の実行時間と、測定された前記複数の類似関数毎の実行時間とに基づき、前記短縮率を算出する、
    処理を前記コンピュータに実行させる、請求項1~3のいずれか1項に記載のプログラム
  5. 前記評価対象プログラムに含まれる前記複数の関数を、非排他処理と排他資源取得処理と排他資源解放処理とに分類
    記非排他処理に分類された関数のうち連続する関数を、単一の簡易関数として記録する簡易トレースを生成し、
    生成された前記簡易トレースに含まれる前記簡易関数毎の実行時間と、測定された前記複数の類似関数毎の実行時間とに基づき、前記短縮率を算出する、
    処理を前記コンピュータに実行させる、請求項4に記載のプログラム
  6. 実行環境において評価対象プログラムを実行した場合における複数の関数毎の実行時間と、シミュレーション環境において前記評価対象プログラムを実行した場合における前記複数の関数にそれぞれ類似する類似関数毎の実行時間とを比較して、短縮率を算出する算出部と
    前記算出された前記短縮率と前記評価対象プログラムとに基づいて、前記シミュレーション環境において使用するシミュレーションプログラムを生成する生成部と
    を備える、情報処理装置。
  7. コンピュータが、
    実行環境において評価対象プログラムを実行した場合における複数の関数毎の実行時間と、シミュレーション環境において前記評価対象プログラムを実行した場合における前記複数の関数にそれぞれ類似する類似関数毎の実行時間とを比較して、短縮率を算出し、
    前記算出された前記短縮率と前記評価対象プログラムとに基づいて、前記シミュレーション環境において使用するシミュレーションプログラムを生成する、
    処理を実行する、情報処理方法。
JP2018042075A 2018-03-08 2018-03-08 情報処理装置,プログラム及び情報処理方法 Active JP7091726B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2018042075A JP7091726B2 (ja) 2018-03-08 2018-03-08 情報処理装置,プログラム及び情報処理方法
US16/280,086 US11188438B2 (en) 2018-03-08 2019-02-20 Information processing apparatus, computer-readable recording medium storing program, and information processing method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018042075A JP7091726B2 (ja) 2018-03-08 2018-03-08 情報処理装置,プログラム及び情報処理方法

Publications (2)

Publication Number Publication Date
JP2019159482A JP2019159482A (ja) 2019-09-19
JP7091726B2 true JP7091726B2 (ja) 2022-06-28

Family

ID=67844005

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018042075A Active JP7091726B2 (ja) 2018-03-08 2018-03-08 情報処理装置,プログラム及び情報処理方法

Country Status (2)

Country Link
US (1) US11188438B2 (ja)
JP (1) JP7091726B2 (ja)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004530193A (ja) 2001-03-05 2004-09-30 ケイデンス デザイン システムズ,インコーポレイテッド 組込形ソフトウェアの実行時間の統計的評価のための方法及び装置

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3608915B2 (ja) * 1997-09-22 2005-01-12 富士通株式会社 マルチプロセッシングシステムの性能評価方法および装置並びにマルチプロセッシングシステムの性能評価プログラムを格納した記憶媒体
US7536504B2 (en) * 2006-07-28 2009-05-19 Diskeeper Corporation Online storage medium transfer rate characteristics determination
EP2913761A4 (en) * 2012-10-25 2016-06-15 Fujitsu Ltd EXECUTION CONTROL METHOD AND INFORMATION PROCESSING DEVICE
JP2014099108A (ja) 2012-11-15 2014-05-29 Fixstars Corp 実行時間算出装置、実行時間算出方法、およびプログラム

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004530193A (ja) 2001-03-05 2004-09-30 ケイデンス デザイン システムズ,インコーポレイテッド 組込形ソフトウェアの実行時間の統計的評価のための方法及び装置

Also Published As

Publication number Publication date
JP2019159482A (ja) 2019-09-19
US20190278686A1 (en) 2019-09-12
US11188438B2 (en) 2021-11-30

Similar Documents

Publication Publication Date Title
US8745588B2 (en) Method for testing operation of software
US7844928B2 (en) Method and apparatus for evaluating integrated circuit design performance using enhanced basic block vectors that include data dependent information
US11362891B2 (en) Selecting and using a cloud-based hardware accelerator
JP2008065496A (ja) Lsiの消費電力ピーク見積プログラム及びその装置
CN108509324B (zh) 选择计算平台的***和方法
US11144357B2 (en) Selecting hardware accelerators based on score
US8010930B2 (en) Extracting consistent compact model parameters for related devices
JP2000235507A (ja) システムの信頼性設計装置及び方法並びにシステムの信頼性設計用ソフトウェアを記録した記録媒体
JP5785725B2 (ja) 電力見積装置、電力見積方法及びプログラム
JP6471615B2 (ja) 性能情報生成プログラム、性能情報生成方法及び情報処理装置
JP7091726B2 (ja) 情報処理装置,プログラム及び情報処理方法
US20210056241A1 (en) Design support device and computer readable medium
CN112149370A (zh) 芯片老化的静态时序分析方法、装置和电子设备
US10666255B1 (en) System and method for compacting X-pessimism fixes for gate-level logic simulation
US8615692B1 (en) Method and system for analyzing test vectors to determine toggle counts
US8098249B2 (en) Apparatus and method for automatic scaling of tick marks
JP6070337B2 (ja) 物理故障解析プログラム、物理故障解析方法および物理故障解析装置
US20200175131A1 (en) Debug boundaries in a hardware accelerator
JP6567215B2 (ja) アーキテクチャ選定装置、アーキテクチャ選定方法およびアーキテクチャ選定プログラム
US20230153491A1 (en) System for estimating feature value of material
US8214780B2 (en) Optimization of verification of chip design
US7454680B2 (en) Method, system and computer program product for improving efficiency in generating high-level coverage data for a circuit-testing scheme
JP2009271653A (ja) 消費電力見積方法、回路設計支援装置及びプログラム
WO2023238311A1 (ja) 検証システム及び検証方法
US20150026652A1 (en) System, method, and computer program product for correlating transactions within a simulation of a hardware platform for post-simulation debugging

Legal Events

Date Code Title Description
RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20190607

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20201210

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20211110

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20211124

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220121

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: 20220517

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220530

R150 Certificate of patent or registration of utility model

Ref document number: 7091726

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150