JP2009258831A - Simulation device, simulation method, and program - Google Patents

Simulation device, simulation method, and program Download PDF

Info

Publication number
JP2009258831A
JP2009258831A JP2008104530A JP2008104530A JP2009258831A JP 2009258831 A JP2009258831 A JP 2009258831A JP 2008104530 A JP2008104530 A JP 2008104530A JP 2008104530 A JP2008104530 A JP 2008104530A JP 2009258831 A JP2009258831 A JP 2009258831A
Authority
JP
Japan
Prior art keywords
simulation
data processing
performance
scheduling algorithm
sequence
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
Application number
JP2008104530A
Other languages
Japanese (ja)
Inventor
Seiji Seki
誠司 関
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP2008104530A priority Critical patent/JP2009258831A/en
Publication of JP2009258831A publication Critical patent/JP2009258831A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To perform performance simulation for more precisely estimating the performance of an evaluation object system. <P>SOLUTION: A sequence information input part 18 inputs a plurality of sequence information showing a sequence to be used for performance simulation, and a performance selection part 8 selects a scheduling algorithm in performance simulation by using a plurality of sequence determination standards such as the priority of a function block, the processing time of the function block, and the input sequence of the sequence information, and a processing selection part 13 determines the simulation performance sequence of the function block based on the functioning block shown by each sequence information and the scheduling algorithm, and a processing performance part 14 changes the simulation performance sequence of the function block according to the scheduling algorithm by performing performance simulation according to the determined simulation performance sequence. Thus, it is possible to precisely estimate the performance of the evaluation object system from various points of view. <P>COPYRIGHT: (C)2010,JPO&INPIT

Description

本発明は、例えば、システムの構築前のシステム設計初期段階において評価対象システムの性能を見積もる性能シミュレーションに関する。   The present invention relates to a performance simulation for estimating the performance of an evaluation target system, for example, at the initial stage of system design before system construction.

従来、評価対象システムの性能を見積もるにあたり、アプリケーションプログラム実行時のトレース情報を取得し、そのトレース情報を元に性能シミュレーションを行い、評価対象ハードウェアアーキテクチャにおける性能を予測していた。
そのような性能シミュレーション方式の例が、特開平6−59939号公報(特許文献1)に記載されている。
上記特許文献1に記載の性能シミュレーション方式は、アプリケーションプログラムを実機上で実行したときのトレース情報を蓄積し、このトレース情報の演算時間や通信時間をシミュレーション評価対象ハードウェアの演算性能や通信性能に置き換えてシミュレーションすることにより予測時間を求めている。
また、スケジューリング方式やキューイング方式などを考慮したリアルタイムOS(Operating System)が組み込まれたシステムにおける性能シミュレーション方法の例が、特開2002−140208号公報(特許文献2)に記載されている。
上記特許文献2に記載の性能シミュレーション方法は、リアルタイムOS機能にあるスケジュール方式に従いタスク内の優先度情報から実行する処理の実行順を決定している。
特開平6−59939号公報 特開2002−140208号公報
Conventionally, when estimating the performance of an evaluation target system, trace information at the time of executing an application program is acquired, and performance simulation is performed based on the trace information to predict the performance of the evaluation target hardware architecture.
An example of such a performance simulation method is described in JP-A-6-59939 (Patent Document 1).
The performance simulation method described in Patent Document 1 accumulates trace information when an application program is executed on a real machine, and the calculation time and communication time of the trace information are changed to the calculation performance and communication performance of the hardware to be simulated. The estimated time is obtained by replacing and simulating.
In addition, an example of a performance simulation method in a system in which a real-time OS (Operating System) taking into account a scheduling method, a queuing method, and the like is described in JP-A-2002-140208 (Patent Document 2).
The performance simulation method described in Patent Document 2 determines the execution order of processes to be executed from priority information in a task according to a schedule method in the real-time OS function.
JP-A-6-59939 JP 2002-140208 A

上記特許文献1に記載の性能シミュレーション方式では、アプリケーションプログラム実行時に取得したトレース情報の実行順序にのみ従って性能シミュレーションを実行する。
また、上記特許文献2に記載の性能シミュレーション方式では、リアルタイムOS機能にあるスケジュール方式を選択することにより、タスク内の優先度情報を用いてタスクの実行順序を決定している。
しかし、シミュレーション評価対象のハードウェアアーキテクチャの変更に伴い、アプリケーションプログラム内の処理機能を実行するハードウェアの変更や、ハードウェアの演算性能が変わることにより、取得したトレース情報の実行順序やOS機能にあるスケジュール方式の選択による決定方法とは異なる順序に処理が実行されることがある。
評価対象システムにおいてどの処理を優先して処理するかのスケジューリングアルゴリズムによる決定方法には、入力順、優先度順、処理時間の短い順、シーケンスID順、これらを組み合わせたものなど複数あり、スケジューリングアルゴリズムの変更により、取得したトレース情報の実行順序やOS機能にあるスケジュール方式の選択による決定方法とは異なる順序に処理が実行されることがあるため、性能シミュレーションによる見積もり結果の精度がよくないといった課題がある。
In the performance simulation method described in Patent Document 1, the performance simulation is executed only in accordance with the execution order of the trace information acquired when executing the application program.
In the performance simulation method described in Patent Document 2, the task execution order is determined using priority information in a task by selecting a schedule method in the real-time OS function.
However, the execution order of the acquired trace information and the OS function are changed by changing the hardware architecture that executes the processing function in the application program and the calculation performance of the hardware according to the change of the hardware architecture for simulation evaluation. Processing may be executed in a different order from the determination method by selection of a certain schedule method.
There are a plurality of methods for determining which processing is prioritized in the evaluation target system by a scheduling algorithm, such as an input order, a priority order, a processing time order, a sequence ID order, and combinations thereof. As a result of the change, the processing may be executed in an order different from the execution order of the acquired trace information and the determination method by selecting the schedule method in the OS function, so that the accuracy of the estimation result by the performance simulation is not good. There is.

この発明は上記のような課題を解決することを主な目的の一つとしており、性能シミュレーションにおけるスケジューリングアルゴリズムを選択し、選択したスケジューリングアルゴリズムに従って性能シミュレーションを実行することにより評価対象システムの性能を精度よく見積もることを目的とする。   One of the main objects of the present invention is to solve the above-mentioned problems. The scheduling algorithm in the performance simulation is selected, and the performance simulation is executed in accordance with the selected scheduling algorithm. The purpose is to estimate well.

本発明に係るシミュレーション装置は、
複数のデータ処理コンポーネントが含まれ前記複数のデータ処理コンポーネントの実行順序が規定されているデータ処理シーケンスを対象としてハードウェアプラットフォームの処理性能についての性能シミュレーションを行うシミュレーション装置であって、
性能シミュレーションの対象として選択された複数の対象データ処理シーケンスについて、対象データ処理シーケンスごとに、対象データ処理シーケンスに含まれる複数の対象データ処理コンポーネントとその実行順序とが示されるデータ処理シーケンス情報を入力するデータ処理シーケンス情報入力部と、
性能シミュレーションにおけるスケジューリングアルゴリズムを選択するスケジューリングアルゴリズム選択部と、
データ処理シーケンス情報に示される個々の対象データ処理シーケンスにおける対象データ処理コンポーネントの実行順序と、前記スケジューリングアルゴリズム選択部により選択されたスケジューリングアルゴリズムとに基づき、前記複数の対象データ処理シーケンス単位で対象データ処理コンポーネントのシミュレーション実行順序を決定するスケジューリング部と、
前記スケジューリング部により決定されたシミュレーション実行順序で性能シミュレーションを行うシミュレーション実行部とを有することを特徴とする。
The simulation apparatus according to the present invention is
A simulation device that performs a performance simulation of processing performance of a hardware platform for a data processing sequence including a plurality of data processing components and defining an execution order of the plurality of data processing components,
For multiple target data processing sequences selected as targets for performance simulation, for each target data processing sequence, input the data processing sequence information indicating the multiple target data processing components included in the target data processing sequence and their execution order A data processing sequence information input unit,
A scheduling algorithm selector for selecting a scheduling algorithm in performance simulation;
Based on the execution order of the target data processing components in each target data processing sequence indicated in the data processing sequence information and the scheduling algorithm selected by the scheduling algorithm selection unit, the target data processing in units of the plurality of target data processing sequences A scheduling unit that determines the simulation execution order of components;
And a simulation execution unit that performs a performance simulation in the simulation execution order determined by the scheduling unit.

本発明によれば、スケジューリングアルゴリズムを選択するとともに、選択したスケジューリングアルゴリズムに応じて対象データ処理コンポーネントのシミュレーション実行順序を決定してシミュレーションを実行するため、スケジューリングアルゴリズムに応じて対象データ処理コンポーネントのシミュレーション実行順序を変化させることができ、評価対象システムの性能を様々な観点から精度よく見積もることができる。   According to the present invention, since the scheduling algorithm is selected and the simulation execution order of the target data processing component is determined according to the selected scheduling algorithm, the simulation is executed. The order can be changed, and the performance of the evaluation target system can be accurately estimated from various viewpoints.

実施の形態1.
本実施の形態では、評価対象システムの動作における入力データであるシナリオデータごとにトレース情報を独立したデータ処理シーケンスに分割し、処理の実行順序を決定するためのスケジューリングに関する要素情報を取得し、スケジューリングアルゴリズムの選択に従った性能シミュレーションを行うことにより、評価対象システムの性能を精度よく見積もるシミュレーション装置について説明する。
Embodiment 1 FIG.
In this embodiment, the trace information is divided into independent data processing sequences for each scenario data that is input data in the operation of the evaluation target system, element information related to scheduling for determining the execution order of the processing is acquired, and scheduling is performed. A simulation apparatus for accurately estimating the performance of an evaluation target system by performing a performance simulation according to the algorithm selection will be described.

本実施の形態に係るシミュレーション装置は、例えば、図3に示すような、複数の機能ブロックが含まれる評価対象システムを対象としてハードウェアプラットフォームの処理性能についての性能シミュレーションを行う。
図3に示す評価対象システムにおいて、計測データが機能ブロックAに入力されてから、機能ブロックE又は機能ブロックFから制御指示が出力されるまでは、複数の経路(機能ブロックの実行順序、処理工程)が存在する。それぞれの経路をデータ処理シーケンスという(以下、処理シーケンス又はシーケンスともいう)。
また、各処理シーケンスを構成している機能ブロックをデータ処理コンポーネントともいう。
更に、図3に示す評価対象システムには、多数の処理シーケンスが存在するが、これら多数の処理シーケンスのうち、性能シミュレーションの対象として選択された処理シーケンスを対象データ処理シーケンスともいう。また、対象データ処理シーケンスに含まれる機能ブロックを対象データ処理コンポーネントともいう。
なお、図3の詳細については後述する。
The simulation apparatus according to the present embodiment performs a performance simulation on the processing performance of the hardware platform for an evaluation target system including a plurality of functional blocks as shown in FIG. 3, for example.
In the system to be evaluated shown in FIG. 3, a plurality of paths (function block execution order, processing steps) from when measurement data is input to the function block A until a control instruction is output from the function block E or the function block F ) Exists. Each path is referred to as a data processing sequence (hereinafter also referred to as a processing sequence or a sequence).
In addition, functional blocks constituting each processing sequence are also referred to as data processing components.
Further, the evaluation target system shown in FIG. 3 has a large number of processing sequences. Of these many processing sequences, a processing sequence selected as a performance simulation target is also referred to as a target data processing sequence. A functional block included in the target data processing sequence is also referred to as a target data processing component.
Details of FIG. 3 will be described later.

図1は、本実施の形態に係る性能シミュレーション装置100の構成例を示す構成ブロック図である。
図1において、機能選択部1は、任意の機能ブロック単位に分割された複数の機能から構成された評価対象システムの機能モデルや機能設定を行う。
機能シミュレーション部2は、機能モデルや機能設定に基づき機能検証を実行する。
シナリオデータ3は、評価対象システムの機能動作や、その動作に対する性能を評価するために用いる。
トレース情報4は、機能シミュレーションにおいて、シナリオデータに従い評価対象システム内の複数に分割された機能ブロックを実行した際に、どの機能ブロックを実行し次の機能ブロックに遷移したかを示す遷移情報や機能ブロック内の分岐情報などの実行履歴を示す。
トレース分割部5は、機能シミュレーションにより取得したトレース情報4を、シナリオデータごとの独立した処理シーケンスに分割する。トレース分割部5により分割されたトレース情報4は、シーケンス情報という。1つのシーケンス情報には、1つの処理シーケンスが示される。また、シーケンス情報には、対象となる処理シーケンスに含まれる複数の機能ブロック及びその実行順序が示される。
FIG. 1 is a configuration block diagram showing a configuration example of a performance simulation apparatus 100 according to the present embodiment.
In FIG. 1, a function selection unit 1 performs a function model and function setting of an evaluation target system composed of a plurality of functions divided into arbitrary function block units.
The function simulation unit 2 executes function verification based on the function model and function settings.
The scenario data 3 is used for evaluating the functional operation of the evaluation target system and the performance for the operation.
The trace information 4 is a transition information or function indicating which function block is executed and transitioned to the next function block when a function block divided into a plurality in the evaluation target system is executed according to the scenario data in the function simulation. Shows execution history such as branch information in a block.
The trace dividing unit 5 divides the trace information 4 acquired by the function simulation into independent processing sequences for each scenario data. The trace information 4 divided by the trace division unit 5 is called sequence information. One sequence information indicates one processing sequence. The sequence information indicates a plurality of functional blocks included in the target processing sequence and their execution order.

性能情報データベース6は、性能パラメータ情報7を格納するデータベースである。
性能パラメータ情報7は、各機能ブロック単体において、処理に必要とされる処理量を様々なハードウェアプラットフォーム上で計測した結果を示す。例えば、機能ブロックごとの予測処理時間等を示す。また、性能パラメータ情報7には、機能ブロックのシミュレーション実行順序を決定するためのスケジューリングに関する要素情報も含まれる。更には、評価対象システムを実行するハードウェアプラットフォームの仕様など、処理時間を予測するための情報も含まれる。
The performance information database 6 is a database that stores performance parameter information 7.
The performance parameter information 7 indicates the result of measuring the processing amount required for processing on each hardware block on various hardware platforms. For example, the prediction processing time for each functional block is shown. The performance parameter information 7 also includes element information related to scheduling for determining the simulation execution order of functional blocks. Furthermore, information for predicting the processing time such as the specification of the hardware platform that executes the evaluation target system is also included.

性能選択部8は、評価対象システムの各機能ブロックをどのハードウェアモジュール上で実行するかの指定や、ハードウェアモジュール間の接続指定、処理の実行順序を決定するためのスケジューリングアルゴリズムの選択設定を行う。
性能選択部8は、例えば、後述するシーケンス情報入力部18への各シーケンス情報の入力順序、各機能ブロックに設定されている優先度の順序、各機能ブロックの予測処理時間の長短、及び各データ処理シーケンスに設定されているシーケンスID(Identification)の順序のうちの任意の順序決定基準を用いてスケジューリングアルゴリズムを選択する。
また、性能選択部8は、上2つ以上の順序決定基準を組み合わせる場合に、当該2つ以上の順序決定基準間の優先順位を決定してスケジューリングアルゴリズムを選択する。
性能選択部8は、スケジューリングアルゴリズム選択部の例である。
The performance selection unit 8 specifies on which hardware module each functional block of the evaluation target system is executed, specifies the connection between the hardware modules, and selects and sets a scheduling algorithm for determining the processing execution order. Do.
The performance selection unit 8 includes, for example, the input order of each sequence information to the sequence information input unit 18 described later, the priority order set for each functional block, the length of the prediction processing time of each functional block, and each data A scheduling algorithm is selected using an arbitrary order determination criterion in the order of sequence IDs (Identification) set in the processing sequence.
Further, when combining the above two or more order determination criteria, the performance selection unit 8 determines a priority between the two or more order determination criteria and selects a scheduling algorithm.
The performance selection unit 8 is an example of a scheduling algorithm selection unit.

性能シミュレーション部9は、性能設定に基づき構築した性能モデル(スケジューリングアルゴリズム)と、トレース分割部5により分割されたシナリオデータごとの独立した処理シーケンス(シーケンス情報に示される処理シーケンス)と、性能パラメータ情報により性能シミュレーションを実行する。   The performance simulation unit 9 includes a performance model (scheduling algorithm) constructed based on the performance setting, an independent processing sequence (processing sequence indicated in the sequence information) for each scenario data divided by the trace dividing unit 5, and performance parameter information. To perform a performance simulation.

性能シミュレーション部9において、シーケンス情報入力部18は、トレース分割部5により分割されたシーケンス情報を入力する。
シーケンス情報入力部18は、データ処理シーケンス情報入力部の例である。
In the performance simulation unit 9, the sequence information input unit 18 inputs the sequence information divided by the trace division unit 5.
The sequence information input unit 18 is an example of a data processing sequence information input unit.

スケジューリング要素情報取得部10は、シナリオデータごとの独立した処理シーケンスのID情報(シーケンス情報のID)や機能ブロックの優先度情報、処理時間情報など、処理の実行順序を決定するためのスケジューリングに関する要素情報を取得する。   The scheduling element information acquisition unit 10 is an element related to scheduling for determining the execution order of processes, such as ID information (sequence information ID), function block priority information, and processing time information of independent processing sequences for each scenario data. Get information.

スケジューリング要素選択部11は、スケジューリング要素情報取得部10で取得した複数のスケジューリング要素情報から、性能選択部8において指定したスケジューリングアルゴリズムの選択設定に基づき、必要なスケジューリング要素情報の選択を行う。   The scheduling element selection unit 11 selects necessary scheduling element information from a plurality of scheduling element information acquired by the scheduling element information acquisition unit 10 based on the selection setting of the scheduling algorithm specified by the performance selection unit 8.

待ち行列モデル12は、複数の処理シーケンスによる処理実行要求があった場合に実行する処理を選択実行し、それ以外の処理の実行を待たせる。
待ち行列モデル12には、処理選択部13と処理実行部14が存在する。
The queue model 12 selects and executes a process to be executed when there is a process execution request by a plurality of process sequences, and waits for execution of other processes.
The queue model 12 includes a process selection unit 13 and a process execution unit 14.

処理選択部13は、複数の処理シーケンスによる処理実行要求があった場合にスケジューリング要素選択部11にて選択したスケジューリング要素情報に基づき実行する処理を選択する。
換言すると、処理選択部13は、シーケンス情報に示される個々の処理シーケンスにおける機能ブロックの実行順序と、性能選択部8により選択されたスケジューリングアルゴリズムとに基づき、複数の処理シーケンス単位で機能ブロックのシミュレーション実行順序を決定する。
処理選択部13は、スケジューリング部の例である。
The process selection unit 13 selects a process to be executed based on the scheduling element information selected by the scheduling element selection unit 11 when there is a process execution request by a plurality of process sequences.
In other words, the process selection unit 13 simulates the function block in units of a plurality of process sequences based on the execution order of the function blocks in each process sequence indicated by the sequence information and the scheduling algorithm selected by the performance selection unit 8. Determine the execution order.
The process selection unit 13 is an example of a scheduling unit.

処理実行部14は、処理選択部13で選択した処理を実行したとして、その処理に対する処理時間分を時間経過させる。
つまり、処理実行部14は、処理選択部13により決定されたシミュレーション実行順序で性能シミュレーションを行う。
処理実行部14は、シミュレーション実行部の例である。
The process execution unit 14 assumes that the process selected by the process selection unit 13 has been executed, and allows the process time for the process to elapse.
That is, the process execution unit 14 performs a performance simulation in the simulation execution order determined by the process selection unit 13.
The process execution unit 14 is an example of a simulation execution unit.

次に動作について説明する。
図2は、本実施の形態に係るシミュレーション装置100の動作例を示したフローチャートである。
また、性能シミュレーションにより処理時間を見積もる評価対象システムの一例を図3に示す。
図3に示す評価対象システムは計測データを入力し、その計測データに従い機能ブロックの機能が実行され、次の機能ブロックに遷移し実行するといった動作を制御指示まで行うものである。
本実施の形態に係る性能シミュレーション方式による評価の一例として、評価対象システムに対してシナリオデータ(1)〜(3)の3つのシナリオデータを、評価対象システムに同時に入力した際のシナリオデータごと(処理シーケンスごと)の処理時間を、性能シミュレーションにより見積もることを想定する。
シナリオデータ(1)〜(3)は図4に示すように、制御指示までの評価対象システムの各機能ブロックの実行順序を示す。
Next, the operation will be described.
FIG. 2 is a flowchart showing an operation example of the simulation apparatus 100 according to the present embodiment.
Moreover, an example of the evaluation object system which estimates processing time by performance simulation is shown in FIG.
The evaluation target system shown in FIG. 3 inputs measurement data, performs a function of the function block in accordance with the measurement data, and performs an operation such as transition to the next function block and execution until a control instruction.
As an example of evaluation by the performance simulation method according to the present embodiment, for each scenario data when three scenario data (1) to (3) are simultaneously input to the evaluation target system ( Assume that the processing time for each processing sequence is estimated by performance simulation.
As shown in FIG. 4, scenario data (1) to (3) indicate the execution order of the functional blocks of the evaluation target system up to the control instruction.

本実施の形態に係るシミュレーション装置100は、機能シミュレーションを実行するために、図3の評価対象システムに対する機能モデル及び機能設定を行う(ステップS1)。
図4に示した3つのシナリオデータを入力した場合の機能シミュレーションを実行し、トレース情報を出力する(ステップS2、S3、S4)。
機能シミュレーションの実行により取得したトレース情報を図5に示す。
トレース情報は、3つのシナリオデータを入力した際に実行した機能ブロックIDや機能ブロック内の分岐パターン情報やその他、機能ブロック実行時の情報を記載したものである。
このトレース情報から3つのシナリオデータごとに分割したシーケンス情報をトレース分割部5において作成する(ステップS5)。
3つのシナリオデータごとに分割したシーケンス情報を図6に示す。
なお、各シーケンス情報に示されている処理シーケンスが対象データ処理シーケンスに相当し、各シーケンス情報に示されている機能ブロックが対象データ処理コンポーネントに相当する。
The simulation apparatus 100 according to the present embodiment performs a function model and function setting for the evaluation target system in FIG. 3 in order to execute a function simulation (step S1).
A functional simulation is executed when the three scenario data shown in FIG. 4 are input, and trace information is output (steps S2, S3, and S4).
The trace information acquired by executing the function simulation is shown in FIG.
The trace information describes the function block ID executed when three scenario data are input, branch pattern information in the function block, and other information at the time of function block execution.
Sequence information divided for each of the three scenario data from the trace information is created in the trace dividing unit 5 (step S5).
FIG. 6 shows the sequence information divided for each of the three scenario data.
The processing sequence indicated in each sequence information corresponds to the target data processing sequence, and the functional block indicated in each sequence information corresponds to the target data processing component.

次に、性能選択部8において、評価対象システムの各機能ブロックをどのハードウェアモジュール上で実行するかの指定や、処理の実行順序を決定するためのスケジューリングアルゴリズムの選択設定を行う(ステップS6)(スケジューリングアルゴリズム選択ステップ)。   Next, the performance selection unit 8 designates on which hardware module each functional block of the evaluation target system is executed, and selects and sets a scheduling algorithm for determining the execution order of the processing (step S6). (Scheduling algorithm selection step).

性能シミュレーション対象となるハードウェアモジュール上に評価対象システムの各機能ブロックを割当てた図を図7に示す。
図7では、1つのCPU(Central Processing Unit)から構成されたサーバ計算機1において、機能ブロックA〜Fの全てが実行処理するように指定している。
FIG. 7 shows a diagram in which each functional block of the evaluation target system is assigned to the hardware module to be a performance simulation target.
In FIG. 7, in the server computer 1 constituted by one CPU (Central Processing Unit), all the functional blocks A to F are specified to be executed.

図8にスケジューリングアルゴリズムの選択設定の例を示す。
スケジューリングアルゴリズムは、2つ以上の処理の実行要求がサーバ計算機1に対して同時にあり、処理要求が競合している場合において、どの機能ブロックを先に処理するのかを決定する指針を示すものである。
スケジューリングアルゴリズムは1つの以上の順序決定基準が含まれる。
順序決定基準の例としては、処理の入力アクセスのきた順番(シーケンス情報入力部18がシーケンス情報を入力した順番)に処理するもの(入力順)、各機能ブロックに優先度を指定しその優先度に従って処理するもの(優先度順)、機能ブロックに対する予測処理時間の短いものから処理するもの(処理時間短い順)、トレース分割部5において作成したシーケンス情報につけたID番号の早いものから処理するもの(シーケンスID順)などがある。
性能選択部8は、処理要求が競合している中からどの処理を先に実行するかを決定するにあたり、スケジューリングアルゴリズムの選択を行う。
図8に示すように複数の順序決定基準を選択した場合には、どの順序決定基準を優先して用いるか示す優先順位を設定する。
図8に示すスケジューリングアルゴリズムの例では、入力順、優先度順、処理時間短い順の3つの順序決定基準が指定され、これら3つの順序決定基準のうち優先度順が最も優先順位が高く、処理時間短い順が2番目に優先順位が高く、入力順が最も優先順位が低いことを示している。
このようなスケジューリングアルゴリズムにより、3つの処理シーケンスに含まれる機能ブロック間のシミュレーション実行順序が決定される。
FIG. 8 shows an example of scheduling algorithm selection settings.
The scheduling algorithm indicates a guideline for determining which functional block is to be processed first when two or more processing execution requests are simultaneously issued to the server computer 1 and the processing requests are in conflict. .
The scheduling algorithm includes one or more ordering criteria.
As an example of order determination criteria, processing is performed in the order of input access of processing (order in which sequence information input unit 18 inputs sequence information) (input order), and priority is assigned to each functional block. To be processed according to the order of priority (in order of priority), to be processed from the one with the shortest prediction processing time for the functional block (in order of short processing time), or from the one with the fastest ID number attached to the sequence information created in the trace division unit 5 (Sequence ID order).
The performance selection unit 8 selects a scheduling algorithm when deciding which process is to be executed first from among competing process requests.
As shown in FIG. 8, when a plurality of order determination criteria are selected, a priority order indicating which order determination criteria are used preferentially is set.
In the example of the scheduling algorithm shown in FIG. 8, three order determination criteria are specified: input order, priority order, and processing time order, and among these three order determination criteria, the priority order has the highest priority, The shortest time order is the second highest priority, and the input order is the lowest priority.
Such a scheduling algorithm determines the simulation execution order between functional blocks included in the three processing sequences.

また、シミュレーション装置100では、性能シミュレーションを実行するにあたり、トレース分割部5において作成したシーケンス情報(分割トレース情報)をシーケンス情報入力部18が入力するとともに(データ処理シーケンス情報入力ステップ)、サーバ計算機1において各機能ブロックの処理に必要とされる処理量等を示した性能パラメータ情報を性能シミュレーション部9に入力し、性能シミュレーションを実行する(ステップS7、S8、S9)。
性能パラメータ情報は、例えば、図9に示す情報であり、機能ブロックごとの予測処理時間が示される。
また、性能パラメータ情報には、処理の実行順序を決定するためのスケジューリングに関する要素情報が含まれていてもよい。例えば、図10に示すように、性能パラメータ情報に、機能ブロックごとの予測処理時間とともに、各機能ブロックの優先度が示される。
In the simulation apparatus 100, when executing the performance simulation, the sequence information input unit 18 inputs the sequence information (divided trace information) created in the trace dividing unit 5 (data processing sequence information input step), and the server computer 1 The performance parameter information indicating the processing amount required for the processing of each functional block is input to the performance simulation unit 9 and the performance simulation is executed (steps S7, S8, S9).
The performance parameter information is, for example, information shown in FIG. 9 and indicates the prediction processing time for each functional block.
The performance parameter information may include element information related to scheduling for determining the execution order of the processes. For example, as shown in FIG. 10, the performance parameter information indicates the priority of each functional block along with the predicted processing time for each functional block.

次に、性能シミュレーションの実行手順を具体的に説明する。
本実施の形態では、スケジューリングアルゴリズムとして入力順のみが指定された場合の性能シミュレーションの実行手順を説明する。
Next, a performance simulation execution procedure will be specifically described.
In this embodiment, a performance simulation execution procedure when only the input order is designated as the scheduling algorithm will be described.

図6に示した3つのシナリオデータごとに分割したシーケンス情報を性能シミュレーション部9のシーケンス情報入力部18が入力すると、各シーケンスの最初に実行を行う機能ブロックの処理要求を受け付ける。
処理要求を受け付けた入力順は、シーケンス情報(1)、シーケンス情報(2)、シーケンス情報(3)の順番であったとする。
シーケンス情報(1)においては機能ブロックAの処理要求があり、スケジューリング要素情報取得部10が、シーケンス情報(1)の入力の順番(1番目)、シーケンス情報(1)のID、性能パラメータ情報にある機能ブロックAの処理時間、機能ブロックAの優先度をスケジューリング要素情報として取得する(ステップS10)。
次に、スケジューリング要素選択部11が、性能選択部8が入力順と指定したスケジューリングアルゴリズムの選択に従い、スケジューリング要素情報取得部10が取得したスケジューリング要素情報の中から、シーケンス情報(1)の入力の順番(1番目)を選択し、待ち行列モデル12へ出力する(ステップS11)。
シーケンス情報(2)においても同様に最初の処理要求である機能ブロックAの処理要求があり、スケジューリング要素情報取得部10はシーケンス情報(1)の場合と同様のスケジューリング要素情報を取得し、性能選択部8で入力順と指定したスケジューリングアルゴリズムの選択に従い、スケジューリング要素選択部11がスケジューリング要素情報の中からシーケンス情報(2)の入力の順番(2番目)を選択し、待ち行列モデル12へ出力する(ステップS11)。
シーケンス情報(3)においても同様に最初の処理要求である機能ブロックAの処理要求があり、スケジューリング要素情報取得部10はシーケンス情報(1)の場合と同様のスケジューリング要素情報を取得し、性能選択部8で入力順と指定したスケジューリングアルゴリズムの選択に従い、スケジューリング要素選択部11がスケジューリング要素情報の中からシーケンス情報(3)の入力の順番(3番目)を選択し、待ち行列モデル12へ出力する(ステップS11)。
When the sequence information input unit 18 of the performance simulation unit 9 inputs the sequence information divided for each of the three scenario data shown in FIG. 6, the processing request of the functional block to be executed at the beginning of each sequence is accepted.
Assume that the input order in which the processing requests are received is the order of sequence information (1), sequence information (2), and sequence information (3).
In the sequence information (1), there is a processing request for the function block A, and the scheduling element information acquisition unit 10 includes the sequence information (1) input order (first), the sequence information (1) ID, and the performance parameter information. The processing time of a certain function block A and the priority of the function block A are acquired as scheduling element information (step S10).
Next, the scheduling element selection unit 11 inputs the sequence information (1) from the scheduling element information acquired by the scheduling element information acquisition unit 10 in accordance with the selection of the scheduling algorithm designated by the performance selection unit 8 as the input order. The order (first) is selected and output to the queue model 12 (step S11).
Similarly, in the sequence information (2), there is a processing request for the function block A, which is the first processing request, and the scheduling element information acquisition unit 10 acquires the same scheduling element information as in the case of the sequence information (1), and selects the performance. According to the selection of the scheduling algorithm designated as the input order in the unit 8, the scheduling element selection unit 11 selects the input order (second) of the sequence information (2) from the scheduling element information and outputs it to the queuing model 12. (Step S11).
Similarly, in the sequence information (3), there is a processing request for the function block A, which is the first processing request, and the scheduling element information acquisition unit 10 acquires the same scheduling element information as in the case of the sequence information (1), and selects the performance. According to the selection of the scheduling algorithm designated as the input order in the part 8, the scheduling element selection part 11 selects the input order (third) of the sequence information (3) from the scheduling element information and outputs it to the queue model 12 (Step S11).

図11は、シーケンス情報(1)〜(3)の各機能ブロックのシミュレーション実行順序を説明する図である。
図11のNo.1の行に、シーケンス情報(1)〜(3)の先頭の機能ブロック(機能ブロックA)とその入力順序を示す。
処理選択部13では、シーケンス情報(1)〜(3)のアクセスに対する入力順情報を比較し、入力順の早いシーケンス情報(1)を選択する(ステップS12)(スケジューリングステップ)。
処理実行部14では、シーケンス情報(1)の機能ブロックAに対する処理を実行したとして、その処理に対する処理時間分を時間経過させる(ステップS13)(シミュレーション実行ステップ)。
図12にシーケンス(1)の機能ブロックAに対する処理時間4[msec]を時間経過させたタイムチャートを示す。なお、図12では、機能ブロックAに対する処理として、処理Aと表記している。
FIG. 11 is a diagram for explaining the simulation execution order of each functional block of the sequence information (1) to (3).
No. of FIG. The first function block (function block A) of sequence information (1) to (3) and the input order thereof are shown in line 1.
The process selection unit 13 compares the input order information for the accesses of the sequence information (1) to (3), and selects the sequence information (1) with the earlier input order (step S12) (scheduling step).
In the process execution part 14, if the process with respect to the functional block A of sequence information (1) was performed, the process time with respect to the process will be made to pass time (step S13) (simulation execution step).
FIG. 12 shows a time chart in which the processing time 4 [msec] for the functional block A in the sequence (1) is elapsed. In FIG. 12, the processing for the functional block A is represented as processing A.

なお、処理要求が存在する間は、次の処理を行うためステップS10の処理へ戻る(ステップS14)。
シーケンス情報(1)の機能ブロックAの処理が終わると、シーケンス情報(1)から次の機能ブロックBに対する処理要求を受け付ける。シーケンス情報(1)の機能ブロックBの入力順序は4番目となる。
この結果、図11のNo.2の行に示すように、シーケンス情報(1)の先頭の機能ブロックである機能ブロックBの入力順序は4番目となり、シーケンス情報(2)の先頭の機能ブロックである機能ブロックAの入力順序は2番目となり、シーケンス情報(3)の先頭の機能ブロックである機能ブロックAの入力順序は3番目となる。
この段階では、処理選択部13は、この中から入力順の早いシーケンス情報(2)を選択し、処理実行部14は、シーケンス情報(2)の機能ブロックAに対する処理を実行したとして、その処理に対する処理時間分を時間経過させる。
このような動作を処理要求がなくなるまで繰り返すことにより、各シーケンスに対する処理の見積り時間は図12のタイムチャートに示されたように、シーケンス(1)は27[msec]、シーケンス(2)は32[msec]、シーケンス(3)は31[msec]との結果を得ることができる。なお、図12では、機能ブロックA〜Fに対する処理を、処理A〜Fと表記している。
While there is a processing request, the process returns to step S10 to perform the next process (step S14).
When the processing of the functional block A of the sequence information (1) is completed, a processing request for the next functional block B is received from the sequence information (1). The input order of the function block B of the sequence information (1) is the fourth.
As a result, No. 1 in FIG. As shown in line 2, the input order of function block B, which is the first functional block of sequence information (1), is fourth, and the input order of function block A, which is the first functional block of sequence information (2), is Second, the input order of the functional block A, which is the first functional block of the sequence information (3), is third.
At this stage, the process selection unit 13 selects the sequence information (2) with the earliest input order from these, and the process execution unit 14 executes the process for the functional block A of the sequence information (2). The processing time for is elapsed.
By repeating this operation until there is no processing request, the estimated processing time for each sequence is 27 [msec] for sequence (1) and 32 for sequence (2) as shown in the time chart of FIG. [Msec], the sequence (3) can obtain a result of 31 [msec]. In FIG. 12, the processes for the functional blocks A to F are denoted as processes A to F.

以上のようにスケジューリングアルゴリズムとしてアクセスの入力順を選択した場合において、シナリオデータ(1)〜(3)のそれぞれに対する処理時間を見積もることができる。
従って、性能シミュレーションにより、評価対象としたシナリオデータごとに見積り処理時間を得ることができる。
As described above, when the access input order is selected as the scheduling algorithm, the processing time for each of the scenario data (1) to (3) can be estimated.
Therefore, the estimated processing time can be obtained for each scenario data to be evaluated by the performance simulation.

以上、本実施の形態では、任意の機能ブロック単位に分割された複数の機能から構成されたシステムを対象として、機能ブロックの実行順序を示すトレース情報と、機能ブロックに対する性能情報データベースとに従いシステム性能を見積もる性能シミュレーションにおいて、
対象システムのプログラムへ入力する入力データごとの独立した処理シーケンスにトレース情報を分割する手段や、分割された複数の処理シーケンスに対してどの処理を実行するかを決定するにあたり判定要素となる情報を取得するスケジューリング要素情報取得手段と、スケジューリングアルゴリズムの設計に従いスケジューリング要素情報の中から必要なスケジューリング要素情報のみを選択する手段とを備えた構成において、
スケジューリングアルゴリズムの設計に対応してシステムの性能を精度よく見積もることが可能な性能シミュレーション方式について説明した。
As described above, in the present embodiment, for a system composed of a plurality of functions divided into arbitrary functional block units, the system performance is determined according to the trace information indicating the execution order of the functional blocks and the performance information database for the functional blocks. In the performance simulation to estimate
Means to divide the trace information into independent processing sequences for each input data to be input to the program of the target system, and information that is a judgment factor in deciding which processing is to be executed for a plurality of divided processing sequences In a configuration comprising scheduling element information acquisition means for acquiring and means for selecting only necessary scheduling element information from scheduling element information according to the design of the scheduling algorithm,
A performance simulation method that can accurately estimate the performance of the system corresponding to the design of the scheduling algorithm is described.

実施の形態2.
性能シミュレーションの実行にあたり、図8で説明したスケジューリングアルゴリズムの順序決定基準として優先度順と入力順を選択し、2つの優先順位は優先度順を1、入力順を2にした場合、すなわち優先度順が同じ場合は入力順に従って、実行する処理を決定するスケジューリングアルゴリズムについて説明を行う。
Embodiment 2. FIG.
In executing the performance simulation, when the priority order and the input order are selected as the order determination criteria of the scheduling algorithm described with reference to FIG. 8, the priority order is 1 and the input order is 2, that is, the priority order. When the order is the same, a scheduling algorithm that determines the process to be executed will be described according to the input order.

図6に示した3つのシナリオデータごとに分割したシーケンス情報を性能シミュレーション部9のシーケンス情報入力部18が入力すると、各シーケンス情報の最初に実行を行う機能ブロックの処理要求を受け付ける。
処理要求を受け付けた入力順は、シーケンス情報(1)、シーケンス情報(2)、シーケンス情報(3)の順番であったとする。
シーケンス情報(1)においては機能ブロックAの処理要求があり、実施の形態1と同様に、スケジューリング要素情報取得部10が、シーケンス情報(1)の入力の順番(1番目)、シーケンス情報(1)のID、性能パラメータ情報にある機能ブロックAの処理時間、機能ブロックAの優先度(優先度3)をスケジューリング要素情報として取得する(ステップS10)。
次に、スケジューリング要素選択部11が、性能選択部8で優先度順と入力順と指定したスケジューリングアルゴリズムの選択に従い、スケジューリング要素情報取得部10において取得したスケジューリング要素情報の中から性能パラメータ情報にある機能ブロックAの優先度情報(優先度3)とシーケンス情報(1)の入力の順番(1番目)を選択し、待ち行列モデル12へ出力する(ステップS11)。
シーケンス情報(2)においても同様に機能ブロックAに対するスケジューリング要素情報である優先度情報(優先度3)とシーケンス情報(2)の入力の順番(2番目)を選択し、待ち行列モデル12へ出力する(ステップS11)。
シーケンス情報(3)においても同様に機能ブロックAに対するスケジューリング要素情報である優先度情報(優先度3)とシーケンス情報(3)の入力の順番(3番目)を選択し、待ち行列モデル12へ出力する(ステップS11)。
When the sequence information input unit 18 of the performance simulation unit 9 inputs the sequence information divided for each of the three scenario data shown in FIG. 6, the processing request for the functional block to be executed first is received for each sequence information.
Assume that the input order in which the processing requests are received is the order of sequence information (1), sequence information (2), and sequence information (3).
In the sequence information (1), there is a processing request for the functional block A. As in the first embodiment, the scheduling element information acquisition unit 10 determines the order of input of the sequence information (1) (first), sequence information (1 ), The processing time of the functional block A in the performance parameter information, and the priority (priority 3) of the functional block A are acquired as scheduling element information (step S10).
Next, the scheduling element selection unit 11 is in the performance parameter information from the scheduling element information acquired by the scheduling element information acquisition unit 10 in accordance with the selection of the scheduling algorithm designated by the performance selection unit 8 as the priority order and the input order. The order of input (first) of priority information (priority 3) and sequence information (1) of the function block A is selected and output to the queue model 12 (step S11).
Similarly, in the sequence information (2), the priority information (priority 3) which is the scheduling element information for the function block A and the input order (second) of the sequence information (2) are selected and output to the queue model 12 (Step S11).
Similarly, in the sequence information (3), the priority information (priority 3) which is scheduling element information for the functional block A and the input order (third) of the sequence information (3) are selected and output to the queue model 12 (Step S11).

図13は、シーケンス情報(1)〜(3)の各機能ブロックのシミュレーション実行順序を説明する図である。
図13のNo.1の行に、シーケンス情報(1)〜(3)の先頭の機能ブロック(機能ブロックA)とその優先度を示す。
処理選択部13では、シーケンス情報(1)〜(3)の機能ブロックの優先度情報と入力順情報を比較し、優先度の高いシーケンスを選択する。優先度に差がない場合は入力順の早いシーケンスを選択する。
このケースでは、優先度は3つとも「3」であるため入力順の早いシーケンス情報(1)を選択する(ステップS12)。
処理実行部14では、シーケンス情報(1)の機能ブロックAに対する処理を実行したとして、その処理に対する処理時間分を時間経過させる(ステップS13)。
図14にシーケンス情報(1)の機能ブロックAに対する処理時間4[msec]を時間経過させたタイムチャートを示す。
FIG. 13 is a diagram for explaining the simulation execution order of each functional block of the sequence information (1) to (3).
No. in FIG. The first function block (function block A) of sequence information (1) to (3) and its priority are shown in line 1.
The process selection unit 13 compares the priority information of the function blocks of the sequence information (1) to (3) with the input order information, and selects a sequence with a high priority. If there is no difference in priority, the sequence with the fastest input order is selected.
In this case, since all three priority levels are “3”, the sequence information (1) with the earlier input order is selected (step S12).
In the process execution part 14, suppose that the process with respect to the functional block A of sequence information (1) was performed, the process time with respect to the process is made to pass time (step S13).
FIG. 14 shows a time chart in which the processing time 4 [msec] for the function block A of the sequence information (1) is elapsed.

シーケンス情報(1)の機能ブロックAの処理が終わると、シーケンス情報(1)から次の機能ブロックBに対する処理要求を受け付ける。機能ブロックBの優先度は「1」である。
このため、図13のNo.2の行に示すように、シーケンス情報(1)の先頭の機能ブロックである機能ブロックBの優先度は「1」であり、シーケンス情報(2)及びシーケンス情報(3)の先頭の機能ブロックである機能ブロックAの優先度は「3」である。
処理選択部13は、この中から優先度の高いシーケンス情報(1)を選択し、処理実行部14は、シーケンス情報(1)の機能ブロックBに対する処理を実行したとして、その処理に対する処理時間分を時間経過させる。
このような動作を処理要求がなくなるまで繰り返すことにより、各シーケンスに対する処理の見積り時間は図14のタイムチャートに示されたように、シーケンス(1)は12[msec]、シーケンス(2)は32[msec]、シーケンス(3)は28[msec]との結果を得ることができる。
なお、図14では、機能ブロックA〜Fに対する処理を、処理A〜Fと表記している。
When the processing of the functional block A of the sequence information (1) is completed, a processing request for the next functional block B is received from the sequence information (1). The priority of the function block B is “1”.
For this reason, No. 1 in FIG. As shown in the row 2, the priority of the functional block B that is the first functional block of the sequence information (1) is “1”, and the first functional block of the sequence information (2) and the sequence information (3) is the first functional block. The priority of a certain function block A is “3”.
The process selection unit 13 selects sequence information (1) having a high priority from the above, and the process execution unit 14 executes the process for the function block B of the sequence information (1). Let time elapse.
By repeating such an operation until there is no processing request, the estimated processing time for each sequence is 12 [msec] for sequence (1) and 32 for sequence (2) as shown in the time chart of FIG. [Msec], the sequence (3) can obtain a result of 28 [msec].
In FIG. 14, processes for the functional blocks A to F are denoted as processes A to F.

以上のようにスケジューリングアルゴリズムとして優先度順を選択した場合において、シナリオデータ(1)〜(3)のそれぞれに対する処理時間を見積もることができる。
また、各機能ブロックの優先度の変更による処理時間の違いを見積もる場合には、性能パラメータ情報にある各機能ブロックの優先度を変更して性能シミュレーションを行えばよいため、機能ブロックの優先度の変更による処理時間の見積りを容易に行える。
従って、性能シミュレーションにより、評価対象としたシナリオデータごとに見積り処理時間を得ることができる。
As described above, when the priority order is selected as the scheduling algorithm, the processing time for each of the scenario data (1) to (3) can be estimated.
In addition, when estimating the difference in processing time due to changes in the priority of each functional block, it is only necessary to perform a performance simulation by changing the priority of each functional block in the performance parameter information. The processing time due to the change can be easily estimated.
Therefore, the estimated processing time can be obtained for each scenario data to be evaluated by the performance simulation.

以上、本実施の形態では、機能ブロックに対してどの機能ブロックの処理を優先的に行うかの優先度情報を付加することにより、その機能ブロックに対する優先度によるスケジューリングアルゴリズムに対応してシステムの性能を見積もることが可能な性能シミュレーション方式について説明した。   As described above, in this embodiment, by adding priority information indicating which functional block processing is preferentially performed to a functional block, the system performance corresponding to the scheduling algorithm based on the priority for the functional block is added. The performance simulation method that can estimate

実施の形態3.
性能シミュレーションの実行にあたり、図8で説明したスケジューリングアルゴリズムの順序決定基準として処理時間の短い順と入力順を選択し、2つの優先順位は処理時間の短い順を1、入力順を2にした場合、すなわち処理時間の短い順が同じ場合は入力順に従って、実行する処理を決定するスケジューリングアルゴリズムについて説明を行う。
Embodiment 3 FIG.
When executing the performance simulation, the order of the shortest processing time and the input order are selected as the criteria for determining the order of the scheduling algorithm described in FIG. 8, and the two priorities are the order of the shortest processing time and the input order is 2. That is, the scheduling algorithm for determining the processing to be executed according to the input order when the processing time is the same in short order will be described.

図6に示した3つのシナリオデータごとに分割したシーケンス情報を性能シミュレーション部9のシーケンス情報入力部18が入力すると、各シーケンス情報の最初に実行を行う機能ブロックの処理要求を受け付ける。
処理要求を受け付けた入力順は、シーケンス情報(1)、シーケンス情報(2)、シーケンス情報(3)の順番であったとする。
シーケンス情報(1)においては機能ブロックAの処理要求があり、実施の形態1と同様に、スケジューリング要素情報取得部10が、シーケンス情報(1)の入力の順番(1番目)、シーケンス情報(1)のID、性能パラメータ情報にある機能ブロックAの処理時間(4[msec])、機能ブロックAの優先度をスケジューリング要素情報として取得する(ステップS10)。
次に、スケジューリング要素選択部11が、性能選択部8で処理時間の短い順と入力順と指定したスケジューリングアルゴリズムの選択に従い、スケジューリング要素情報取得部10において取得したスケジューリング要素情報の中から性能パラメータ情報にある機能ブロックAの処理時間情報(4[msec])とシーケンス情報(1)の入力の順番(1番目)を選択し、待ち行列モデル12へ出力する(ステップS11)。
シーケンス情報(2)においても同様に機能ブロックAに対するスケジューリング要素情報である処理時間情報(4[msec])とシーケンス情報(2)の入力の順番(2番目)を選択し、待ち行列モデル12へ出力する(ステップS11)。
シーケンス情報(3)においても同様に機能ブロックAに対するスケジューリング要素情報である処理時間情報(4[msec])とシーケンス情報(2)の入力の順番(3番目)を選択し、待ち行列モデル12へ出力する(ステップS11)。
When the sequence information input unit 18 of the performance simulation unit 9 inputs the sequence information divided for each of the three scenario data shown in FIG. 6, the processing request for the functional block to be executed first is received for each sequence information.
Assume that the input order in which the processing requests are received is the order of sequence information (1), sequence information (2), and sequence information (3).
In the sequence information (1), there is a processing request for the functional block A. As in the first embodiment, the scheduling element information acquisition unit 10 determines the order of input of the sequence information (1) (first), sequence information (1 ), The processing time (4 [msec]) of the function block A in the performance parameter information, and the priority of the function block A are acquired as scheduling element information (step S10).
Next, the performance parameter information is selected from the scheduling element information acquired in the scheduling element information acquisition unit 10 by the scheduling element selection unit 11 according to the selection of the scheduling algorithm designated by the performance selection unit 8 in the order of short processing time and input order. The input order (first) of the processing time information (4 [msec]) and sequence information (1) of the functional block A is selected and output to the queue model 12 (step S11).
Similarly, in the sequence information (2), the processing time information (4 [msec]) which is the scheduling element information for the function block A and the input order (second) of the sequence information (2) are selected, and the queue model 12 is selected. Output (step S11).
Similarly, in the sequence information (3), the processing time information (4 [msec]) that is scheduling element information for the function block A and the input order (third) of the sequence information (2) are selected, and the queue model 12 is selected. Output (step S11).

図15は、シーケンス情報(1)〜(3)の各機能ブロックのシミュレーション実行順序を説明する図である。
図15のNo.1の行に、シーケンス情報(1)〜(3)の先頭の機能ブロック(機能ブロックA)とその処理時間を示す。
処理選択部13では、シーケンス情報(1)〜(3)の機能ブロックの処理時間情報と入力順情報を比較し、処理時間の短いシーケンスを選択する。処理時間に差がない場合は入力順の早いシーケンスを選択する。
このケースでは、処理時間は3つとも4[msec]であるため入力順の早いシーケンス情報(1)を選択する(ステップS12)。
処理実行部14では、シーケンス情報(1)の機能ブロックAに対する処理を実行したとして、その処理に対する処理時間分を時間経過させる(ステップS13)。
図16にシーケンス情報(1)の機能ブロックAに対する処理時間4[msec]を時間経過させたタイムチャートを示す。
FIG. 15 is a diagram for explaining the simulation execution order of each functional block of the sequence information (1) to (3).
No. in FIG. The first function block (function block A) of sequence information (1) to (3) and its processing time are shown in line 1.
The processing selection unit 13 compares the processing time information of the functional blocks of the sequence information (1) to (3) with the input order information, and selects a sequence with a short processing time. If there is no difference in processing time, a sequence with the fastest input order is selected.
In this case, since all three processing times are 4 [msec], the sequence information (1) with the earlier input order is selected (step S12).
In the process execution part 14, suppose that the process with respect to the functional block A of sequence information (1) was performed, the process time with respect to the process is made to pass time (step S13).
FIG. 16 shows a time chart in which the processing time 4 [msec] for the function block A of the sequence information (1) is elapsed.

シーケンス情報(1)の機能ブロックAの処理が終わると、シーケンス情報(1)から次の機能ブロックBに対する処理要求を受け付ける。機能ブロックBの処理時間は2[msec]である。
このため、図15のNo.2の行に示すように、シーケンス情報(1)の先頭の機能ブロックである機能ブロックBの処理時間は2[msec]であり、シーケンス情報(2)及びシーケンス情報(3)の先頭の機能ブロックである機能ブロックAの処理時間は4[msec]である。
処理選択部13は、この中から処理時間の短いシーケンス情報(1)を選択し、処理実行部14は、シーケンス情報(1)の機能ブロックBに対する処理を実行したとして、その処理に対する処理時間分を時間経過させる。
このような動作を処理要求がなくなるまで繰り返すことにより、各シーケンスに対する処理の見積り時間は図16のタイムチャートに示されたように、シーケンス(1)は32[msec]、シーケンス(2)は26[msec]、シーケンス(3)は17[msec]との結果を得ることができる。
なお、図16では、機能ブロックA〜Fに対する処理を、処理A〜Fと表記している。
When the processing of the functional block A of the sequence information (1) is completed, a processing request for the next functional block B is received from the sequence information (1). The processing time of the function block B is 2 [msec].
For this reason, No. 1 in FIG. As shown in the row 2, the processing time of the functional block B which is the first functional block of the sequence information (1) is 2 [msec], and the first functional block of the sequence information (2) and the sequence information (3) The processing time of the functional block A is 4 [msec].
The process selection unit 13 selects the sequence information (1) having a short processing time from the list, and the process execution unit 14 executes the process for the function block B of the sequence information (1). Let time elapse.
By repeating this operation until there is no processing request, the estimated processing time for each sequence is 32 [msec] for sequence (1) and 26 for sequence (2) as shown in the time chart of FIG. [Msec], Sequence (3) can obtain a result of 17 [msec].
In FIG. 16, processes for the functional blocks A to F are denoted as processes A to F.

以上のようにスケジューリングアルゴリズムとして処理時間の短い順を選択した場合において、シナリオデータ(1)〜(3)のそれぞれに対する処理時間を見積もることができる。
また、シミュレーション評価対象のハードウェアの違いにより性能を見積もる場合には、シミュレーション評価対象のハードウェアに対応した各機能ブロックの処理時間を性能情報データベース6より求めることができるため、シミュレーション評価対象のハードウェアの変更による処理時間の見積りを容易に精度よく求めることができる。
従って、性能シミュレーションにより、評価対象としたシナリオデータごとに見積り処理時間を得ることができる。
As described above, when the order of short processing time is selected as the scheduling algorithm, the processing time for each of the scenario data (1) to (3) can be estimated.
Further, when the performance is estimated based on the difference in the hardware to be simulated, the processing time of each functional block corresponding to the hardware to be simulated can be obtained from the performance information database 6. It is possible to easily and accurately obtain an estimate of the processing time due to the change of the wear.
Therefore, the estimated processing time can be obtained for each scenario data to be evaluated by the performance simulation.

以上、本実施の形態では、機能ブロックに対する性能情報データベースの情報より、処理時間の短い機能ブロックを優先的に処理するスケジューリングアルゴリズムに対応してシステムの性能を見積もることが可能な性能シミュレーション方式について説明した。   As described above, in this embodiment, the performance simulation method that can estimate the system performance corresponding to the scheduling algorithm that preferentially processes the functional block with a short processing time from the information in the performance information database for the functional block is described. did.

実施の形態4.
性能シミュレーションの実行にあたり、図8で説明したスケジューリングアルゴリズムの順序決定基準として処理シーケンスのID順を選択し、すなわち処理シーケンスのIDの早い順に従って、実行する処理を決定するスケジューリングアルゴリズムについて説明を行う。
Embodiment 4 FIG.
In performing the performance simulation, the ID sequence of the processing sequence is selected as the scheduling algorithm order determination criterion described with reference to FIG. 8, that is, the scheduling algorithm that determines the processing to be executed according to the order of the ID of the processing sequence will be described.

図6に示した3つのシナリオデータごとに分割したシーケンス情報を性能シミュレーション部のシーケンス情報入力部18が入力すると、各シーケンス情報の最初に実行を行う機能ブロックの処理要求を受け付ける。
処理要求を受け付けた入力順は、シーケンス情報(1)、シーケンス情報(2)、シーケンス情報(3)の順番であったとする。
シーケンス情報(1)においては機能ブロックAの処理要求があり、実施の形態1と同様に、スケジューリング要素情報取得部10が、シーケンス情報(1)の入力の順番、シーケンス情報(1)のID、性能パラメータ情報にある機能ブロックAの処理時間、機能ブロックAの優先度をスケジューリング要素情報として取得する(ステップS10)。
次に、スケジューリング要素選択部11が、性能選択部8でシーケンスID順と指定したスケジューリングアルゴリズムの選択に従い、スケジューリング要素情報取得部10において取得したスケジューリング要素情報の中からシーケンスID情報(1)を選択し、待ち行列モデル12へ出力する(ステップS11)。
シーケンス情報(2)においても同様に機能ブロックAに対するスケジューリング要素情報であるシーケンスID情報(2)を選択し、待ち行列モデル12へ出力する(ステップS11)。
シーケンス情報(3)においても同様に機能ブロックAに対するスケジューリング要素情報であるシーケンスID情報(3)を選択し、待ち行列モデル12へ出力する(ステップS11)。
When the sequence information input unit 18 of the performance simulation unit inputs the sequence information divided for each of the three scenario data shown in FIG. 6, the processing request for the functional block to be executed first is received.
Assume that the input order in which the processing requests are received is the order of sequence information (1), sequence information (2), and sequence information (3).
In the sequence information (1), there is a processing request for the functional block A, and as in the first embodiment, the scheduling element information acquisition unit 10 determines the order of input of the sequence information (1), the ID of the sequence information (1), The processing time of the functional block A and the priority of the functional block A in the performance parameter information are acquired as scheduling element information (step S10).
Next, the scheduling element selection unit 11 selects the sequence ID information (1) from the scheduling element information acquired by the scheduling element information acquisition unit 10 in accordance with the selection of the scheduling algorithm designated as the sequence ID order by the performance selection unit 8 And output to the queue model 12 (step S11).
Similarly, in the sequence information (2), the sequence ID information (2) that is the scheduling element information for the function block A is selected and output to the queue model 12 (step S11).
Similarly, in the sequence information (3), the sequence ID information (3) which is the scheduling element information for the functional block A is selected and output to the queue model 12 (step S11).

図17は、シーケンス情報(1)〜(3)の各機能ブロックのシミュレーション実行順序を説明する図である。
図17のNo.1の行に、シーケンス情報(1)〜(3)の先頭の機能ブロック(機能ブロックA)とそのシーケンスID情報を示す。
処理選択部13では、シーケンス情報(1)〜(3)のシーケンスID情報を比較し、シーケンスIDの早い(小さい)シーケンス情報を選択する。
このケースでは、シーケンスIDが「1」であるシーケンス情報(1)を選択する(ステップS12)。
処理実行部14では、シーケンス情報(1)の機能ブロックAに対する処理を実行したとして、その処理に対する処理時間分を時間経過させる(ステップS13)。
図18にシーケンス情報(1)の機能ブロックAに対する処理時間4[msec]を時間経過させたタイムチャートを示す。
FIG. 17 is a diagram illustrating the simulation execution order of each functional block of the sequence information (1) to (3).
No. in FIG. The first functional block (functional block A) of sequence information (1) to (3) and its sequence ID information are shown in line 1.
The process selection unit 13 compares the sequence ID information of the sequence information (1) to (3), and selects the sequence information having an earlier (smaller) sequence ID.
In this case, the sequence information (1) whose sequence ID is “1” is selected (step S12).
In the process execution part 14, suppose that the process with respect to the functional block A of sequence information (1) was performed, the process time with respect to the process is made to pass time (step S13).
FIG. 18 shows a time chart in which the processing time 4 [msec] for the functional block A of the sequence information (1) is elapsed.

シーケンス情報(1)の機能ブロックAの処理が終わると、シーケンス情報(1)から次の機能ブロックBに対する処理要求を受け付ける。機能ブロックBのシーケンスID情報は「1」である。
このため、図17のNo.2の行に示すように、シーケンス情報(1)の先頭の機能ブロックである機能ブロックBのシーケンスIDは「1」であり、シーケンス情報(2)及びシーケンス情報(3)の先頭の機能ブロックである機能ブロックAのシーケンスIDはそれぞれ「2」と「3」である。
処理選択部13は、この中からシーケンスIDの早いシーケンス情報(1)を選択し、処理実行部14は、シーケンス情報(1)の機能ブロックBに対する処理を実行したとして、その処理に対する処理時間分を時間経過させる。
このような動作を処理要求がなくなるまで繰り返すことにより、各シーケンスに対する処理の見積り時間は図18のタイムチャートに示されたように、シーケンス(1)は12[msec]、シーケンス(2)は25[msec]、シーケンス(3)は32[msec]との結果を得ることができる。
なお、図18では、機能ブロックA〜Fに対する処理を、処理A〜Fと表記している。
When the processing of the functional block A of the sequence information (1) is completed, a processing request for the next functional block B is received from the sequence information (1). The sequence ID information of the functional block B is “1”.
For this reason, No. 1 in FIG. As shown in the row 2, the sequence ID of the functional block B which is the first functional block of the sequence information (1) is “1”, and the first functional block of the sequence information (2) and the sequence information (3) The sequence IDs of a certain functional block A are “2” and “3”, respectively.
The process selection unit 13 selects the sequence information (1) with the earlier sequence ID from these, and the process execution unit 14 executes the process for the functional block B of the sequence information (1). Let time elapse.
By repeating this operation until there is no processing request, the estimated processing time for each sequence is 12 [msec] for sequence (1) and 25 for sequence (2) as shown in the time chart of FIG. [Msec], the sequence (3) can obtain a result of 32 [msec].
In FIG. 18, processes for the functional blocks A to F are denoted as processes A to F.

以上のようにスケジューリングアルゴリズムとして処理シーケンスID順を選択した場合において、シナリオデータ(1)〜(3)のそれぞれに対する処理時間を見積もることができる。
従って、性能シミュレーションにより、評価対象としたシナリオデータごとに見積り処理時間を得ることができる。
As described above, when the processing sequence ID order is selected as the scheduling algorithm, the processing time for each of the scenario data (1) to (3) can be estimated.
Therefore, the estimated processing time can be obtained for each scenario data to be evaluated by the performance simulation.

以上、本実施の形態では、トレース情報を分割した処理シーケンスの順番の情報より、処理シーケンス番号の小さい処理シーケンスを優先的に処理するスケジューリングアルゴリズムに対応してシステムの性能を見積もることが可能な性能シミュレーション方式について説明した。   As described above, in the present embodiment, the performance capable of estimating the system performance corresponding to the scheduling algorithm that preferentially processes the processing sequence having a smaller processing sequence number than the processing sequence order information obtained by dividing the trace information. The simulation method has been described.

実施の形態5.
性能シミュレーションの実行にあたり、図8で説明したスケジューリングアルゴリズムの順序決定基準として優先度順、処理時間の短い順、入力順を選択し、3つの優先順位は優先度順を1、処理時間の短い順を2、入力順を3にした場合、すなわち優先度順が同じ場合は、処理時間の短い順に従って、さらに処理時間の短い順が同じ場合は入力順に従って、実行する処理を決定するスケジューリングアルゴリズムについて説明を行う。
Embodiment 5 FIG.
In executing the performance simulation, the priority order, the shortest processing time order, and the input order are selected as the order determination criteria of the scheduling algorithm described in FIG. 8, and the three priority orders are the priority order, and the processing time is the shortest order. When the input order is 3, that is, when the priority order is the same, the scheduling algorithm determines the processing to be executed according to the order of short processing time, and further according to the input order when the order of short processing time is the same. Give an explanation.

図6に示した3つのシナリオデータごとに分割したシーケンス情報を性能シミュレーション部9のシーケンス情報入力部18が入力すると、各シーケンス情報の最初に実行を行う機能ブロックの処理要求を受け付ける。
処理要求を受け付けた入力順は、シーケンス情報(1)、シーケンス情報(2)、シーケンス情報(3)の順番であったとする。
シーケンス情報(1)においては機能ブロックAの処理要求があり、実施の形態1と同様に、スケジューリング要素情報取得部10が、シーケンス情報(1)の入力の順番(1番目)、シーケンス情報(1)のID、性能パラメータ情報にある機能ブロックAの処理時間(4[msec])、機能ブロックAの優先度(優先度3)をスケジューリング要素情報として取得する(ステップS10)。
次に、スケジューリング要素選択部11が、性能選択部8で優先度順、処理時間の短い順、入力順と指定したスケジューリングアルゴリズムの選択に従い、スケジューリング要素情報取得部10において取得したスケジューリング要素情報の中から性能パラメータ情報にある機能ブロックの優先順位情報(優先度3)、処理時間情報(4[msec])、シーケンス情報(1)の入力の順番(1番目)を選択し、待ち行列モデル12へ出力する(ステップS11)。
シーケンス情報(2)においても同様に機能ブロックAに対するスケジューリング要素情報である機能ブロックの優先順位情報(優先度3)、処理時間情報(4[msec])、シーケンス情報(2)の入力の順番(2番目)を選択し、待ち行列モデル12へ出力する(ステップS11)。
シーケンス情報(3)においても同様に機能ブロックAに対するスケジューリング要素情報である機能ブロックの優先順位情報(優先度3)、処理時間情報(4[msec])、シーケンス情報(3)の入力の順番(3番目)を選択し、待ち行列モデル12へ出力する(ステップS11)。
When the sequence information input unit 18 of the performance simulation unit 9 inputs the sequence information divided for each of the three scenario data shown in FIG. 6, the processing request for the functional block to be executed first is received for each sequence information.
Assume that the input order in which the processing requests are received is the order of sequence information (1), sequence information (2), and sequence information (3).
In the sequence information (1), there is a processing request for the functional block A. As in the first embodiment, the scheduling element information acquisition unit 10 determines the order of input of the sequence information (1) (first), sequence information (1 ), The processing time of the functional block A (4 [msec]) in the performance parameter information, and the priority (priority 3) of the functional block A are acquired as scheduling element information (step S10).
Next, the scheduling element selection unit 11 selects the scheduling element information acquired by the scheduling element information acquisition unit 10 in accordance with the selection of the scheduling algorithm designated by the performance selection unit 8 as priority order, processing time order, and input order. From the function block priority information (priority level 3), processing time information (4 [msec]), sequence information (1) input order (first) in the performance parameter information, and to the queue model 12 Output (step S11).
Similarly, in the sequence information (2), the priority order information (priority 3) of the functional block, which is scheduling element information for the functional block A, the processing time information (4 [msec]), and the order of input of the sequence information (2) ( 2nd) is selected and output to the queue model 12 (step S11).
In the sequence information (3), the function block priority information (priority 3), processing time information (4 [msec]), and sequence information (3) input order (scheduling element information for the function block A) 3rd) is selected and output to the queue model 12 (step S11).

図19は、シーケンス情報(1)〜(3)の各機能ブロックのシミュレーション実行順序を説明する図である。
図19のNo.1の行に、シーケンス情報(1)〜(3)の先頭の機能ブロック(機能ブロックA)とその優先度及び処理時間を示す。
処理選択部13では、シーケンス情報(1)〜(3)の機能ブロックの優先度情報、処理時間情報、入力順情報を比較し、優先度の高いシーケンスを選択する。
優先度に差がない場合は処理時間の短いシーケンスを選択する。
さらに処理時間に差がない場合は入力順の早いシーケンスを選択する。
このケースでは、優先度は3つとも「3」であり、さらに処理時間は3つとも4[msec]であるため入力順の早いシーケンス情報(1)を選択する(ステップS12)。
処理実行部14では、シーケンス情報(1)の機能ブロックAに対する処理を実行したとして、その処理に対する処理時間分を時間経過させる(ステップS13)。
図20にシーケンス(1)の機能ブロックAに対する処理時間4[msec]を時間経過させたタイムチャートを示す。
FIG. 19 is a diagram illustrating the simulation execution order of each functional block of the sequence information (1) to (3).
No. in FIG. The first function block (function block A) of sequence information (1) to (3), its priority, and processing time are shown in line 1.
The process selection unit 13 compares the priority information, the processing time information, and the input order information of the functional blocks of the sequence information (1) to (3), and selects a sequence with a high priority.
If there is no difference in priority, a sequence with a short processing time is selected.
Further, when there is no difference in processing time, a sequence with an earlier input order is selected.
In this case, the priority is “3” for all three, and the processing time for all three is 4 [msec], so the sequence information (1) in the order of input is selected (step S12).
In the process execution part 14, suppose that the process with respect to the functional block A of sequence information (1) was performed, the process time with respect to the process is made to pass time (step S13).
FIG. 20 shows a time chart in which the processing time 4 [msec] for the functional block A in the sequence (1) is elapsed.

シーケンス情報(1)の機能ブロックAの処理が終わると、シーケンス情報(1)から次の機能ブロックBに対する処理要求を受け付ける。
機能ブロックBの優先度は「1」、処理時間は2[msec]である。
このため、この段階での各シーケンス情報の機能ブロックと優先度と処理時間は図19のNo.2の行のようになる。
処理選択部13は、この中から優先度の高いシーケンス情報(1)を選択し、処理実行部14は、シーケンス情報(1)の機能ブロックBに対する処理を実行したとして、その処理に対する処理時間分を時間経過させる。
このような動作を処理要求がなくなるまで繰り返すことにより、各シーケンスに対する処理の見積り時間は図20のタイムチャートに示されたように、シーケンス(1)は12[msec]、シーケンス(2)は32[msec]、シーケンス(3)は23[msec]との結果を得ることができる。
なお、図20では、機能ブロックA〜Fに対する処理を、処理A〜Fと表記している。
When the processing of the functional block A of the sequence information (1) is completed, a processing request for the next functional block B is received from the sequence information (1).
The priority of the functional block B is “1”, and the processing time is 2 [msec].
Therefore, the functional block, priority, and processing time of each sequence information at this stage are shown in No. It looks like 2 rows.
The process selection unit 13 selects sequence information (1) having a high priority from the above, and the process execution unit 14 executes the process for the function block B of the sequence information (1). Let time elapse.
By repeating this operation until there is no processing request, the estimated processing time for each sequence is 12 [msec] for sequence (1) and 32 for sequence (2) as shown in the time chart of FIG. [Msec], the sequence (3) can obtain a result of 23 [msec].
In FIG. 20, processes for the functional blocks A to F are denoted as processes A to F.

以上のようにスケジューリングアルゴリズムとして優先度順と処理時間の短い順を組み合わせて選択した場合において、シナリオデータ(1)〜(3)のそれぞれに対する処理時間を見積もることができる。
従って、性能シミュレーションにより、評価対象としたシナリオデータごとに見積り処理時間を得ることができる。
As described above, when the scheduling algorithm is selected by combining the order of priority and the order of short processing time, the processing time for each of the scenario data (1) to (3) can be estimated.
Therefore, the estimated processing time can be obtained for each scenario data to be evaluated by the performance simulation.

以上、本実施の形態では、機能ブロックに対してどの機能ブロックを優先的に処理を行うかの優先度情報や、機能ブロックに対する性能情報データベースの情報など、複数のスケジューリング要素情報より、複数のスケジューリングアルゴリズムを組み合わせから求めたアルゴリズムに対応してシステムの性能を見積もることが可能な性能シミュレーション方式について説明した。   As described above, in the present embodiment, a plurality of scheduling elements are obtained from a plurality of scheduling element information such as priority information indicating which functional blocks are preferentially processed with respect to the functional blocks, and performance information database information for the functional blocks. The performance simulation method that can estimate the performance of the system corresponding to the algorithm obtained from the combination of the algorithms was explained.

実施の形態6.
図22は、本実施の形態に係るシミュレーション装置100の構成例を示す。
本実施の形態に係るシミュレーション装置100では、性能フィードバック部15及びフィードバック情報データベース16が追加された以外は、図1に示す構成と同じである。
Embodiment 6 FIG.
FIG. 22 shows a configuration example of the simulation apparatus 100 according to the present embodiment.
The simulation apparatus 100 according to the present embodiment has the same configuration as that shown in FIG. 1 except that a performance feedback unit 15 and a feedback information database 16 are added.

性能フィードバック部15は、性能選択部8による設定を変更し性能シミュレーション結果の取得を繰り返すことにより、性能選択部8による最良の設定を求める。
より具体的には、性能フィードバック部15は、処理実行部14により性能シミュレーションが行われる度に、処理実行部14による性能シミュレーションの結果得られた処理性能と所定の目標性能とを比較し、処理実行部14による性能シミュレーションの結果得られた処理性能が目標性能に合致するまで、スケジューリングアルゴリズムの変更を繰り返す。
性能フィードバック部15は、スケジューリングアルゴリズム変更部の例である。
フィードバック情報データベース16は、性能フィードバック部15を実行する上で性能シミュレーション結果を格納するためのデータベースである。
The performance feedback unit 15 obtains the best setting by the performance selection unit 8 by changing the setting by the performance selection unit 8 and repeating the acquisition of the performance simulation result.
More specifically, the performance feedback unit 15 compares the processing performance obtained as a result of the performance simulation by the processing execution unit 14 with a predetermined target performance every time the performance simulation is performed by the processing execution unit 14. The scheduling algorithm is repeatedly changed until the processing performance obtained as a result of the performance simulation by the execution unit 14 matches the target performance.
The performance feedback unit 15 is an example of a scheduling algorithm changing unit.
The feedback information database 16 is a database for storing performance simulation results when the performance feedback unit 15 is executed.

また、図23は、本実施の形態に係るシミュレーション装置100の動作例を示すフローチャートである。
図23に示すフローは、S16及びS17の処理が追加されている以外は、図2に示したものと同じである。
以下、S16及びS17について説明する。
FIG. 23 is a flowchart showing an operation example of the simulation apparatus 100 according to the present embodiment.
The flow shown in FIG. 23 is the same as that shown in FIG. 2 except that the processes of S16 and S17 are added.
Hereinafter, S16 and S17 will be described.

ここでは、評価対象システムに対してシナリオデータ(1)〜(3)の3つのシナリオデータを、評価対象システムに同時に入力した際に、性能フィードバック部15が、シナリオデータ(1)とシナリオデータ(3)が目標性能を満たすためのスケジューリングアルゴリズムを求める例について説明する。   Here, when the three scenario data (1) to (3) are simultaneously input to the evaluation target system, the performance feedback unit 15 performs the scenario data (1) and the scenario data ( An example of obtaining a scheduling algorithm for 3) satisfying the target performance will be described.

性能フィードバック部15では、性能シミュレーションによる結果が目標性能を満たしているかどうかを判定し、満たしていない場合はスケジューリングアルゴリズムの選択を変更し、再度性能シミュレーションを実施する。
スケジューリングアルゴリズムの選択を変更するにあたり、性能シミュレーション結果から得られたシナリオデータごとの独立した処理シーケンスのID情報や機能ブロックの優先度情報、処理時間情報など、処理の実行順序を決定するためのスケジューリングに関する要素情報をもとにして、性能フィードバック部15はスケジューリングアルゴリズムの選択を行う。
以下では、シーケンス情報(1)に対する処理時間は20[msec]以下、シーケンス情報(3)に対する処理時間は30[msec]以下という目標性能を性能フィードバック部15において設定し、性能フィードバック部15は、このシーケンス情報(1)とシーケンス情報(3)に対する目標性能を満たすためのスケジューリングアルゴリズムを求める例について説明する。
The performance feedback unit 15 determines whether the result of the performance simulation satisfies the target performance. If not, the selection of the scheduling algorithm is changed and the performance simulation is performed again.
Scheduling to determine the execution order of processes such as ID information of independent processing sequences, priority information of function blocks, and processing time information for each scenario data obtained from performance simulation results when changing the selection of scheduling algorithm The performance feedback unit 15 selects a scheduling algorithm based on the element information regarding
In the following, the performance feedback unit 15 sets the target performance that the processing time for the sequence information (1) is 20 [msec] or less and the processing time for the sequence information (3) is 30 [msec] or less, and the performance feedback unit 15 An example of obtaining a scheduling algorithm for satisfying the target performance for the sequence information (1) and the sequence information (3) will be described.

例えば、最初にスケジューリングアルゴリズムとして入力順が選択され、実施の形態1に示したように、性能シミュレーション部9が入力順のスケジューリングアルゴリズムに従って性能シミュレーションを実行したとする。
性能シミュレーションの結果は図12のようにシーケンス情報(1)は27[msec]、シーケンス情報(3)は31[msec]と求まり、性能フィードバック部15は目標性能を満たさないと判定し、性能シミュレーション結果をフィードバック情報データベース16へ格納し、スケジューリングアルゴリズムの選択を変更する(ステップS16、S17、S6)。
変更するスケジューリングアルゴリズムにおいては、性能シミュレーション結果から得られた処理の実行順序を決定するためのスケジューリングに関する要素情報をもとにして決定する。
図21に示すように、性能シミュレーション結果から、実行した機能ブロックに対する優先度の値の合計値をシーケンス情報ごとに求める。
また、実行した機能ブロックに対する処理時間の合計値をシーケンス情報ごとに求める。
処理シーケンスID情報は、シーケンス情報(1)は1、シーケンス情報(2)は2、シーケンス情報(3)は3である。
For example, assume that the input order is first selected as the scheduling algorithm, and the performance simulation unit 9 executes the performance simulation according to the scheduling algorithm in the input order as shown in the first embodiment.
As a result of the performance simulation, as shown in FIG. 12, the sequence information (1) is determined to be 27 [msec] and the sequence information (3) is determined to be 31 [msec], and the performance feedback unit 15 determines that the target performance is not satisfied. The results are stored in the feedback information database 16 and the scheduling algorithm selection is changed (steps S16, S17, S6).
In the scheduling algorithm to be changed, the scheduling algorithm is determined based on the element information related to scheduling for determining the execution order of the processing obtained from the performance simulation result.
As shown in FIG. 21, the total value of the priority values for the executed function blocks is obtained for each sequence information from the performance simulation result.
In addition, the total processing time for the executed function block is obtained for each sequence information.
The processing sequence ID information is 1 for sequence information (1), 2 for sequence information (2), and 3 for sequence information (3).

以上のことから性能フィードバック部15はシーケンス情報(1)とシーケンス情報(3)の目標性能を満たすために、シーケンス情報(2)に比べ、シーケンス情報(1)とシーケンス情報(3)が共に合計値の小さいスケジューリングアルゴリズムを選択する。
よって、シーケンスID順ではシーケンス情報(3)がシーケンス情報(2)より処理シーケンスID情報の値が大きいため選択から除外する。
処理時間の短い順は優先度順に比べ、シーケンス情報(1)に対する処理時間の合計が、シーケンス情報(2)と大差ないため、性能フィードバック部15は、最終的に優先度順をスケジューリングアルゴリズムとして選択する。
From the above, the performance feedback unit 15 adds the sequence information (1) and the sequence information (3) together in order to satisfy the target performance of the sequence information (1) and the sequence information (3) compared to the sequence information (2). Select a scheduling algorithm with a low value.
Therefore, in the sequence ID order, the sequence information (3) is excluded from the selection because the value of the processing sequence ID information is larger than the sequence information (2).
Since the total processing time for the sequence information (1) is not much different from the sequence information (2), the performance feedback unit 15 finally selects the priority order as the scheduling algorithm compared to the order of priority in the order of shorter processing times. To do.

そして、性能シミュレーション部9は、スケジューリングアルゴリズムとして優先度順による性能シミュレーション実行する。
性能シミュレーションの結果は、図14のようにシナリオデータ(1)は12[msec]、シナリオデータ(3)は28[msec]と求まり、性能フィードバック部15は目標性能を満たしたと判定し終了する(ステップS18)。
And the performance simulation part 9 performs the performance simulation by priority order as a scheduling algorithm.
As a result of the performance simulation, scenario data (1) is 12 [msec] and scenario data (3) is 28 [msec] as shown in FIG. 14, and the performance feedback unit 15 determines that the target performance is satisfied and ends ( Step S18).

以上のようにフィードバック処理によって性能シミュレーションを行うことにより、評価対象に対して目標性能を満たすスケジューリングアルゴリズムを導くことができる。   As described above, by performing the performance simulation by the feedback process, a scheduling algorithm that satisfies the target performance can be derived for the evaluation target.

以上、本実施の形態では、複数のスケジューリングアルゴリズムの選択設定を変更し、性能シミュレーションの実行と結果の格納を繰り返し行うことにより、評価対象データに対応した最良のスケジューリングアルゴリズムを導くことが可能な性能シミュレーション方式について説明した。   As described above, in the present embodiment, the performance that can lead to the best scheduling algorithm corresponding to the evaluation target data by changing the selection setting of a plurality of scheduling algorithms and repeatedly executing the performance simulation and storing the results. The simulation method has been described.

最後に、実施の形態1〜6に示したシミュレーション装置100のハードウェア構成例について説明する。
図24は、実施の形態1〜6に示すシミュレーション装置100のハードウェア資源の一例を示す図である。
なお、図24の構成は、あくまでもシミュレーション装置100のハードウェア構成の一例を示すものであり、シミュレーション装置100のハードウェア構成は図24に記載の構成に限らず、他の構成であってもよい。
Finally, a hardware configuration example of the simulation apparatus 100 shown in the first to sixth embodiments will be described.
FIG. 24 is a diagram illustrating an example of hardware resources of the simulation apparatus 100 illustrated in the first to sixth embodiments.
Note that the configuration in FIG. 24 is merely an example of the hardware configuration of the simulation apparatus 100, and the hardware configuration of the simulation apparatus 100 is not limited to the configuration illustrated in FIG. .

図24において、シミュレーション装置100は、プログラムを実行するCPU911(Central Processing Unit、中央処理装置、処理装置、演算装置、マイクロプロセッサ、マイクロコンピュータ、プロセッサともいう)を備えている。
CPU911は、バス912を介して、例えば、ROM(Read Only Memory)913、RAM(Random Access Memory)914、通信ボード915、表示装置901、キーボード902、マウス903、磁気ディスク装置920と接続され、これらのハードウェアデバイスを制御する。
更に、CPU911は、FDD904(Flexible Disk Drive)、コンパクトディスク装置905(CDD)、プリンタ装置906、スキャナ装置907と接続していてもよい。また、磁気ディスク装置920の代わりに、光ディスク装置、メモリカード(登録商標)読み書き装置などの記憶装置でもよい。
RAM914は、揮発性メモリの一例である。ROM913、FDD904、CDD905、磁気ディスク装置920の記憶媒体は、不揮発性メモリの一例である。これらは、記憶装置の一例である。
通信ボード915、キーボード902、マウス903、スキャナ装置907、FDD904などは、入力装置の一例である。
また、通信ボード915、表示装置901、プリンタ装置906などは、出力装置の一例である。
In FIG. 24, the simulation apparatus 100 includes a CPU 911 (also referred to as a central processing unit, a central processing unit, a processing unit, an arithmetic unit, a microprocessor, a microcomputer, and a processor) that executes a program.
The CPU 911 is connected to, for example, a ROM (Read Only Memory) 913, a RAM (Random Access Memory) 914, a communication board 915, a display device 901, a keyboard 902, a mouse 903, and a magnetic disk device 920 via a bus 912. Control hardware devices.
Further, the CPU 911 may be connected to an FDD 904 (Flexible Disk Drive), a compact disk device 905 (CDD), a printer device 906, and a scanner device 907. Further, instead of the magnetic disk device 920, a storage device such as an optical disk device or a memory card (registered trademark) read / write device may be used.
The RAM 914 is an example of a volatile memory. The storage media of the ROM 913, the FDD 904, the CDD 905, and the magnetic disk device 920 are an example of a nonvolatile memory. These are examples of the storage device.
A communication board 915, a keyboard 902, a mouse 903, a scanner device 907, an FDD 904, and the like are examples of input devices.
The communication board 915, the display device 901, the printer device 906, and the like are examples of output devices.

通信ボード915は、ネットワークに接続されている。例えば、通信ボード915は、LAN(ローカルエリアネットワーク)、インターネット、WAN(ワイドエリアネットワーク)などに接続されている。   The communication board 915 is connected to the network. For example, the communication board 915 is connected to a LAN (local area network), the Internet, a WAN (wide area network), or the like.

磁気ディスク装置920には、オペレーティングシステム921(OS)、ウィンドウシステム922、プログラム群923、ファイル群924が記憶されている。
プログラム群923のプログラムは、CPU911がオペレーティングシステム921、ウィンドウシステム922を利用しながら実行する。
The magnetic disk device 920 stores an operating system 921 (OS), a window system 922, a program group 923, and a file group 924.
The programs in the program group 923 are executed by the CPU 911 using the operating system 921 and the window system 922.

また、RAM914には、CPU911に実行させるオペレーティングシステム921のプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。
また、RAM914には、CPU911による処理に必要な各種データが格納される。
The RAM 914 temporarily stores at least part of the operating system 921 program and application programs to be executed by the CPU 911.
The RAM 914 stores various data necessary for processing by the CPU 911.

また、ROM913には、BIOS(Basic Input Output System)プログラムが格納され、磁気ディスク装置920にはブートプログラムが格納されている。
シミュレーション装置100の起動時には、ROM913のBIOSプログラム及び磁気ディスク装置920のブートプログラムが実行され、BIOSプログラム及びブートプログラムによりオペレーティングシステム921が起動される。
The ROM 913 stores a BIOS (Basic Input Output System) program, and the magnetic disk device 920 stores a boot program.
When the simulation apparatus 100 is activated, the BIOS program in the ROM 913 and the boot program in the magnetic disk device 920 are executed, and the operating system 921 is activated by the BIOS program and the boot program.

上記プログラム群923には、実施の形態1〜6の説明において「〜部」として説明している機能を実行するプログラムが記憶されている。プログラムは、CPU911により読み出され実行される。   The program group 923 stores a program for executing the function described as “˜unit” in the description of the first to sixth embodiments. The program is read and executed by the CPU 911.

ファイル群924には、実施の形態1〜6の説明において、「〜の判断」、「〜の計算」、「〜の比較」、「〜の評価」、「〜の更新」、「〜の設定」、「〜の登録」、「〜の選択」等として説明している処理の結果を示す情報やデータや信号値や変数値やパラメータが、「〜ファイル」や「〜データベース」の各項目として記憶されている。
「〜ファイル」や「〜データベース」は、ディスクやメモリなどの記録媒体に記憶される。ディスクやメモリなどの記憶媒体に記憶された情報やデータや信号値や変数値やパラメータは、読み書き回路を介してCPU911によりメインメモリやキャッシュメモリに読み出され、抽出・検索・参照・比較・演算・計算・処理・編集・出力・印刷・表示などのCPUの動作に用いられる。
抽出・検索・参照・比較・演算・計算・処理・編集・出力・印刷・表示のCPUの動作の間、情報やデータや信号値や変数値やパラメータは、メインメモリ、レジスタ、キャッシュメモリ、バッファメモリ等に一時的に記憶される。
また、実施の形態1〜6で説明しているフローチャートの矢印の部分は主としてデータや信号の入出力を示し、データや信号値は、RAM914のメモリ、FDD904のフレキシブルディスク、CDD905のコンパクトディスク、磁気ディスク装置920の磁気ディスク、その他光ディスク、ミニディスク、DVD等の記録媒体に記録される。また、データや信号は、バス912や信号線やケーブルその他の伝送媒体によりオンライン伝送される。
In the file group 924, in the description of the first to sixth embodiments, “determination of”, “calculation of”, “comparison of”, “evaluation of”, “update of”, “setting of” ”,“ Registration of ”,“ Selection of ”, etc. Information, data, signal values, variable values, and parameters indicating the results of the processing are indicated as“ ˜file ”and“ ˜database ”items. It is remembered.
The “˜file” and “˜database” are stored in a recording medium such as a disk or a memory. Information, data, signal values, variable values, and parameters stored in a storage medium such as a disk or memory are read out to the main memory or cache memory by the CPU 911 via a read / write circuit, and extracted, searched, referenced, compared, and calculated. Used for CPU operations such as calculation, processing, editing, output, printing, and display.
Information, data, signal values, variable values, and parameters are stored in the main memory, registers, cache memory, and buffers during the CPU operations of extraction, search, reference, comparison, calculation, processing, editing, output, printing, and display. It is temporarily stored in a memory or the like.
The arrows in the flowcharts described in the first to sixth embodiments mainly indicate input / output of data and signals. The data and signal values are the RAM 914 memory, the FDD 904 flexible disk, the CDD 905 compact disk, and the magnetic field. Recording is performed on a recording medium such as a magnetic disk of the disk device 920, other optical disks, mini disks, DVDs, and the like. Data and signals are transmitted online via a bus 912, signal lines, cables, or other transmission media.

また、実施の形態1〜6の説明において「〜部」として説明しているものは、「〜回路」、「〜装置」、「〜機器」であってもよく、また、「〜ステップ」、「〜手順」、「〜処理」であってもよい。すなわち、「〜部」として説明しているものは、ROM913に記憶されたファームウェアで実現されていても構わない。或いは、ソフトウェアのみ、或いは、素子・デバイス・基板・配線などのハードウェアのみ、或いは、ソフトウェアとハードウェアとの組み合わせ、さらには、ファームウェアとの組み合わせで実施されても構わない。ファームウェアとソフトウェアは、プログラムとして、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ミニディスク、DVD等の記録媒体に記憶される。プログラムはCPU911により読み出され、CPU911により実行される。すなわち、プログラムは、実施の形態1〜6の「〜部」としてコンピュータを機能させるものである。あるいは、実施の形態1〜6の「〜部」の手順や方法をコンピュータに実行させるものである。   In addition, what is described as “to part” in the description of the first to sixth embodiments may be “to circuit”, “to device”, “to device”, and “to step”, It may be “˜procedure” or “˜processing”. That is, what is described as “˜unit” may be realized by firmware stored in the ROM 913. Alternatively, it may be implemented only by software, only hardware such as elements, devices, substrates, wirings, etc., or a combination of software and hardware, and further a combination of firmware. Firmware and software are stored as programs in a recording medium such as a magnetic disk, a flexible disk, an optical disk, a compact disk, a mini disk, and a DVD. The program is read by the CPU 911 and executed by the CPU 911. That is, the program causes the computer to function as “to part” in the first to sixth embodiments. Alternatively, the computer executes the procedure and method of “to unit” in the first to sixth embodiments.

このように、実施の形態1〜6に示すシミュレーション装置100は、処理装置たるCPU、記憶装置たるメモリ、磁気ディスク等、入力装置たるキーボード、マウス、通信ボード等、出力装置たる表示装置、通信ボード等を備えるコンピュータであり、上記したように「〜部」として示された機能をこれら処理装置、記憶装置、入力装置、出力装置を用いて実現するものである。   As described above, the simulation apparatus 100 according to the first to sixth embodiments includes a CPU that is a processing device, a memory that is a storage device, a magnetic disk, a keyboard that is an input device, a mouse, a communication board, and a display device that is an output device, and a communication board. As described above, the function indicated as “to part” is realized by using these processing device, storage device, input device, and output device.

実施の形態1に係るシミュレーション装置の構成例を示す図。FIG. 3 shows a configuration example of a simulation apparatus according to the first embodiment. 実施の形態1に係るシミュレーション装置の動作例を示すフローチャート図。FIG. 3 is a flowchart showing an operation example of the simulation apparatus according to the first embodiment. 実施の形態1に係る評価対象システムの例を示す図。FIG. 3 is a diagram illustrating an example of an evaluation target system according to the first embodiment. 実施の形態1に係るシナリオデータの例を示す図。FIG. 4 shows an example of scenario data according to the first embodiment. 実施の形態1に係るトレース情報の例を示す図。FIG. 5 is a diagram showing an example of trace information according to the first embodiment. 実施の形態1に係るシーケンス情報の例を示す図。FIG. 4 is a diagram showing an example of sequence information according to the first embodiment. 実施の形態1に係る性能シミュレーション対象ハードウェアの例を示す図。FIG. 3 is a diagram illustrating an example of performance simulation target hardware according to the first embodiment. 実施の形態1に係るスケジューリングアルゴリズムの例を示す図。FIG. 3 shows an example of a scheduling algorithm according to the first embodiment. 実施の形態1に係る性能パラメータ情報の例を示す図。FIG. 4 is a diagram showing an example of performance parameter information according to the first embodiment. 実施の形態1に係る性能パラメータ情報の例を示す図。FIG. 4 is a diagram showing an example of performance parameter information according to the first embodiment. 実施の形態1に係る性能シミュレーションの実行順序の例を示す図。FIG. 4 is a diagram illustrating an example of an execution order of performance simulation according to the first embodiment. 実施の形態1に係る性能シミュレーションの結果の例を示す図。FIG. 6 is a diagram illustrating an example of a performance simulation result according to the first embodiment. 実施の形態2に係る性能シミュレーションの実行順序の例を示す図。FIG. 10 is a diagram illustrating an example of an execution order of performance simulation according to the second embodiment. 実施の形態2に係る性能シミュレーションの結果の例を示す図。FIG. 10 is a diagram illustrating an example of a result of performance simulation according to the second embodiment. 実施の形態3に係る性能シミュレーションの実行順序の例を示す図。FIG. 10 is a diagram illustrating an example of an execution order of performance simulation according to the third embodiment. 実施の形態3に係る性能シミュレーションの結果の例を示す図。FIG. 10 is a diagram illustrating an example of a performance simulation result according to the third embodiment. 実施の形態4に係る性能シミュレーションの実行順序の例を示す図。FIG. 10 is a diagram illustrating an example of an execution order of performance simulation according to the fourth embodiment. 実施の形態4に係る性能シミュレーションの結果の例を示す図。FIG. 10 is a diagram illustrating an example of a performance simulation result according to the fourth embodiment. 実施の形態5に係る性能シミュレーションの実行順序の例を示す図。FIG. 10 is a diagram illustrating an example of an execution order of performance simulation according to the fifth embodiment. 実施の形態5に係る性能シミュレーションの結果の例を示す図。FIG. 10 is a diagram illustrating an example of a performance simulation result according to the fifth embodiment. 実施の形態6に係る優先度と処理時間の合計値の例を示す図。The figure which shows the example of the sum total of the priority which concerns on Embodiment 6, and processing time. 実施の形態6に係るシミュレーション装置の構成例を示す図。FIG. 10 illustrates a configuration example of a simulation apparatus according to a sixth embodiment. 実施の形態6に係るシミュレーション装置の動作例を示すフローチャート図。FIG. 10 is a flowchart showing an operation example of the simulation apparatus according to the sixth embodiment. 実施の形態1〜6に係るシミュレーション装置のハードウェア構成例を示す図。The figure which shows the hardware structural example of the simulation apparatus which concerns on Embodiment 1-6.

符号の説明Explanation of symbols

1 機能選択部、2 機能シミュレーション部、3 シナリオデータ、4 トレース情報、5 トレース分割部、6 性能情報データベース、7 性能パラメータ情報、8 性能選択部、9 性能シミュレーション部、10 スケジューリング要素情報取得部、11 スケジューリング要素選択部、12 待ち行列モデル、13 処理選択部、14 処理実行部、15 性能フィードバック部、16 フィードバック情報データベース、18 シーケンス情報入力部、100 シミュレーション装置。   1 function selection unit, 2 function simulation unit, 3 scenario data, 4 trace information, 5 trace division unit, 6 performance information database, 7 performance parameter information, 8 performance selection unit, 9 performance simulation unit, 10 scheduling element information acquisition unit, DESCRIPTION OF SYMBOLS 11 Scheduling element selection part, 12 Queue model, 13 Process selection part, 14 Process execution part, 15 Performance feedback part, 16 Feedback information database, 18 Sequence information input part, 100 Simulation apparatus.

Claims (9)

複数のデータ処理コンポーネントが含まれ前記複数のデータ処理コンポーネントの実行順序が規定されているデータ処理シーケンスを対象としてハードウェアプラットフォームの処理性能についての性能シミュレーションを行うシミュレーション装置であって、
性能シミュレーションの対象として選択された複数の対象データ処理シーケンスについて、対象データ処理シーケンスごとに、対象データ処理シーケンスに含まれる複数の対象データ処理コンポーネントとその実行順序とが示されるデータ処理シーケンス情報を入力するデータ処理シーケンス情報入力部と、
性能シミュレーションにおけるスケジューリングアルゴリズムを選択するスケジューリングアルゴリズム選択部と、
データ処理シーケンス情報に示される個々の対象データ処理シーケンスにおける対象データ処理コンポーネントの実行順序と、前記スケジューリングアルゴリズム選択部により選択されたスケジューリングアルゴリズムとに基づき、前記複数の対象データ処理シーケンス単位で対象データ処理コンポーネントのシミュレーション実行順序を決定するスケジューリング部と、
前記スケジューリング部により決定されたシミュレーション実行順序で性能シミュレーションを行うシミュレーション実行部とを有することを特徴とするシミュレーション装置。
A simulation device that performs a performance simulation of processing performance of a hardware platform for a data processing sequence including a plurality of data processing components and defining an execution order of the plurality of data processing components,
For multiple target data processing sequences selected as targets for performance simulation, for each target data processing sequence, input the data processing sequence information indicating the multiple target data processing components included in the target data processing sequence and their execution order A data processing sequence information input unit,
A scheduling algorithm selector for selecting a scheduling algorithm in performance simulation;
Based on the execution order of the target data processing components in each target data processing sequence indicated in the data processing sequence information and the scheduling algorithm selected by the scheduling algorithm selection unit, the target data processing in units of the plurality of target data processing sequences A scheduling unit that determines the simulation execution order of components;
And a simulation execution unit that performs a performance simulation in the simulation execution order determined by the scheduling unit.
前記スケジューリングアルゴリズム選択部は、
シミュレーション実行順序を決定するための複数の順序決定基準のうちの任意の順序決定基準を用いてスケジューリングアルゴリズムを選択することを特徴とする請求項1に記載のシミュレーション装置。
The scheduling algorithm selection unit includes:
The simulation apparatus according to claim 1, wherein a scheduling algorithm is selected using an arbitrary order determination criterion among a plurality of order determination criteria for determining a simulation execution order.
前記スケジューリングアルゴリズム選択部は、
前記データ処理シーケンス情報入力部への各データ処理シーケンス情報の入力順序、各対象データ処理コンポーネントに設定されている優先度の順序、各対象データ処理コンポーネントの予測処理時間の長短、及び各対象データ処理シーケンスに設定されているシーケンスID(Identification)の順序のうちの任意の順序決定基準を用いてスケジューリングアルゴリズムを選択することを特徴とする請求項2に記載のシミュレーション装置。
The scheduling algorithm selection unit includes:
Input order of each data processing sequence information to the data processing sequence information input unit, priority order set for each target data processing component, length of prediction processing time of each target data processing component, and each target data processing The simulation apparatus according to claim 2, wherein a scheduling algorithm is selected using an arbitrary order determination criterion among sequences of sequence IDs (Identification) set in the sequence.
前記スケジューリングアルゴリズム選択部は、
複数の順序決定基準のうちの2つ以上の順序決定基準を組み合わせる場合に、当該2つ以上の順序決定基準間の優先順位を決定してスケジューリングアルゴリズムを選択することを特徴とする請求項2又は3に記載のシミュレーション装置。
The scheduling algorithm selection unit includes:
3. When combining two or more order determination criteria among a plurality of order determination criteria, a priority is determined between the two or more order determination criteria, and a scheduling algorithm is selected. 3. The simulation apparatus according to 3.
前記シミュレーション装置は、更に、
前記シミュレーション実行部による性能シミュレーションの結果得られた処理性能が所定の目標性能に合致しない場合に、前記スケジューリングアルゴリズム選択部により選択されたスケジューリングアルゴリズムを変更するスケジューリングアルゴリズム変更部を有し、
前記スケジューリング部は、
前記スケジューリングアルゴリズム変更部による変更後のスケジューリングアルゴリズムに基づいて、対象データ処理コンポーネントのシミュレーション実行順序を決定し、
前記シミュレーション実行部は、
前記変更後のスケジューリングアルゴリズムに基づいて前記スケジューリング部により決定されたシミュレーション実行順序で性能シミュレーションを行うことを特徴とする請求項1〜4のいずれかに記載のシミュレーション装置。
The simulation apparatus further includes:
A scheduling algorithm changing unit for changing the scheduling algorithm selected by the scheduling algorithm selecting unit when the processing performance obtained as a result of the performance simulation by the simulation executing unit does not match a predetermined target performance;
The scheduling unit includes
Based on the scheduling algorithm after the change by the scheduling algorithm change unit, determine the simulation execution order of the target data processing component,
The simulation execution unit
The simulation apparatus according to claim 1, wherein the performance simulation is performed in a simulation execution order determined by the scheduling unit based on the changed scheduling algorithm.
前記スケジューリングアルゴリズム変更部は、
前記シミュレーション実行部により性能シミュレーションが行われる度に、前記シミュレーション実行部による性能シミュレーションの結果得られた処理性能と前記目標性能とを比較し、前記シミュレーション実行部による性能シミュレーションの結果得られた処理性能が前記目標性能に合致するまで、スケジューリングアルゴリズムの変更を繰り返すことを特徴とする請求項5に記載のシミュレーション装置。
The scheduling algorithm changing unit includes:
Each time performance simulation is performed by the simulation execution unit, the processing performance obtained as a result of the performance simulation by the simulation execution unit is compared with the target performance, and the processing performance obtained as a result of the performance simulation by the simulation execution unit. The simulation apparatus according to claim 5, wherein the scheduling algorithm is repeatedly changed until the target performance matches the target performance.
前記シミュレーション実行部は、
性能シミュレーションとして、前記スケジューリング部により決定されたシミュレーション実行順序で前記ハードウェアプラットフォームが複数の対象データ処理コンポーネントを実行する場合の処理時間を予測することを特徴とする請求項1〜6のいずれかに記載のシミュレーション装置。
The simulation execution unit
7. The processing time when the hardware platform executes a plurality of target data processing components in the simulation execution order determined by the scheduling unit is predicted as performance simulation. The simulation apparatus described.
コンピュータが、複数のデータ処理コンポーネントが含まれ前記複数のデータ処理コンポーネントの実行順序が規定されているデータ処理シーケンスを対象としてハードウェアプラットフォームの処理性能についての性能シミュレーションを行うシミュレーション方法であって、
前記コンピュータが、性能シミュレーションの対象として選択された複数の対象データ処理シーケンスについて、対象データ処理シーケンスごとに、対象データ処理シーケンスに含まれる複数の対象データ処理コンポーネントとその実行順序とが示されるデータ処理シーケンス情報を入力するデータ処理シーケンス情報入力ステップと、
前記コンピュータが、性能シミュレーションにおけるスケジューリングアルゴリズムを選択するスケジューリングアルゴリズム選択ステップと、
前記コンピュータが、データ処理シーケンス情報に示される個々の対象データ処理シーケンスにおける対象データ処理コンポーネントの実行順序と、前記スケジューリングアルゴリズム選択ステップにより選択されたスケジューリングアルゴリズムとに基づき、前記複数の対象データ処理シーケンス単位で対象データ処理コンポーネントのシミュレーション実行順序を決定するスケジューリングステップと、
前記コンピュータが、前記スケジューリングステップにより決定されたシミュレーション実行順序で性能シミュレーションを行うシミュレーション実行ステップとを有することを特徴とするシミュレーション方法。
A computer simulation method for performing performance simulation on processing performance of a hardware platform for a data processing sequence including a plurality of data processing components and defining an execution order of the plurality of data processing components,
Data processing in which a plurality of target data processing sequences included in the target data processing sequence and their execution order are indicated for each target data processing sequence for the plurality of target data processing sequences selected by the computer as performance simulation targets A data processing sequence information input step for inputting sequence information;
A scheduling algorithm selection step in which the computer selects a scheduling algorithm in performance simulation;
The computer uses the plurality of target data processing sequence units based on the execution order of the target data processing components in each target data processing sequence indicated in the data processing sequence information and the scheduling algorithm selected by the scheduling algorithm selection step. Scheduling step for determining the simulation execution order of the target data processing component in
A simulation method characterized in that the computer has a simulation execution step of performing a performance simulation in the simulation execution order determined by the scheduling step.
複数のデータ処理コンポーネントが含まれ前記複数のデータ処理コンポーネントの実行順序が規定されているデータ処理シーケンスを対象としてハードウェアプラットフォームの処理性能についての性能シミュレーションを行うコンピュータに、
性能シミュレーションの対象として選択された複数の対象データ処理シーケンスについて、対象データ処理シーケンスごとに、対象データ処理シーケンスに含まれる複数の対象データ処理コンポーネントとその実行順序とが示されるデータ処理シーケンス情報を入力するデータ処理シーケンス情報入力処理と、
性能シミュレーションにおけるスケジューリングアルゴリズムを選択するスケジューリングアルゴリズム選択処理と、
データ処理シーケンス情報に示される個々の対象データ処理シーケンスにおける対象データ処理コンポーネントの実行順序と、前記スケジューリングアルゴリズム選択処理により選択されたスケジューリングアルゴリズムとに基づき、前記複数の対象データ処理シーケンス単位で対象データ処理コンポーネントのシミュレーション実行順序を決定するスケジューリング処理と、
前記スケジューリング処理により決定されたシミュレーション実行順序で性能シミュレーションを行うシミュレーション実行処理とを実行させることを特徴とするプログラム。
A computer that performs a performance simulation on the processing performance of the hardware platform for a data processing sequence that includes a plurality of data processing components and that defines the execution order of the plurality of data processing components.
For multiple target data processing sequences selected as targets for performance simulation, for each target data processing sequence, input the data processing sequence information indicating the multiple target data processing components included in the target data processing sequence and their execution order Data processing sequence information input processing,
Scheduling algorithm selection processing for selecting a scheduling algorithm in performance simulation;
Based on the execution order of the target data processing components in each target data processing sequence indicated in the data processing sequence information and the scheduling algorithm selected by the scheduling algorithm selection processing, the target data processing in units of the plurality of target data processing sequences A scheduling process for determining the simulation execution order of components;
A program for executing a simulation execution process for performing a performance simulation in a simulation execution order determined by the scheduling process.
JP2008104530A 2008-04-14 2008-04-14 Simulation device, simulation method, and program Pending JP2009258831A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008104530A JP2009258831A (en) 2008-04-14 2008-04-14 Simulation device, simulation method, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008104530A JP2009258831A (en) 2008-04-14 2008-04-14 Simulation device, simulation method, and program

Publications (1)

Publication Number Publication Date
JP2009258831A true JP2009258831A (en) 2009-11-05

Family

ID=41386193

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008104530A Pending JP2009258831A (en) 2008-04-14 2008-04-14 Simulation device, simulation method, and program

Country Status (1)

Country Link
JP (1) JP2009258831A (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160112045A (en) * 2015-03-17 2016-09-28 대우조선해양 주식회사 The dimensional quality evaluation system and method using simulation result value of dimensional analysis
CN114117929A (en) * 2021-12-01 2022-03-01 香港中文大学(深圳) Component state time sequence prediction method, device, equipment and storage medium
US11703425B2 (en) 2020-11-05 2023-07-18 Canon Kabushiki Kaisha Information processing apparatus, system, production facility, information processing method, method of manufacturing products, and recording medium
WO2024127523A1 (en) * 2022-12-13 2024-06-20 日立Astemo株式会社 Processing load estimation system and processing load estimation method

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160112045A (en) * 2015-03-17 2016-09-28 대우조선해양 주식회사 The dimensional quality evaluation system and method using simulation result value of dimensional analysis
KR101667270B1 (en) 2015-03-17 2016-10-19 대우조선해양 주식회사 The dimensional quality evaluation system using simulation result value of dimensional analysis
US11703425B2 (en) 2020-11-05 2023-07-18 Canon Kabushiki Kaisha Information processing apparatus, system, production facility, information processing method, method of manufacturing products, and recording medium
CN114117929A (en) * 2021-12-01 2022-03-01 香港中文大学(深圳) Component state time sequence prediction method, device, equipment and storage medium
CN114117929B (en) * 2021-12-01 2024-11-05 香港中文大学(深圳) Component state time sequence prediction method, device, equipment and storage medium
WO2024127523A1 (en) * 2022-12-13 2024-06-20 日立Astemo株式会社 Processing load estimation system and processing load estimation method

Similar Documents

Publication Publication Date Title
EP1835426A1 (en) Estimating software power consumption
US8584095B2 (en) Test support system, method and computer program product, which optimize test scenarios to minimize total test time
KR102038703B1 (en) Method for estimation on online multivariate time series using ensemble dynamic transfer models and system thereof
JP4842783B2 (en) Information processing apparatus, information processing method, and program
US20160077860A1 (en) Virtual machine placement determination device, virtual machine placement determination method, and virtual machine placement determination program
WO2018143019A1 (en) Information processing device, information processing method, and program recording medium
US7647130B2 (en) Real-time predictive time-to-completion for variable configure-to-order manufacturing
CN109586954A (en) A kind of network flow prediction method, device and electronic equipment
JP2009258831A (en) Simulation device, simulation method, and program
JP2009244999A (en) Virtual machine management program and management server device
WO2020137566A1 (en) Test environment determination device and test environment determination method
JP5845810B2 (en) Efficient partial computation for parallel analysis of software in distributed computing environments
CN111090401B (en) Storage device performance prediction method and device
US20130144587A1 (en) Scalability evaluation device, scalability evaluation method, and scalability evaluation program
US20170364352A1 (en) Release cycle optimization based on significant features values simulation
JP6374823B2 (en) Route placement method, route placement device, and program
JP2014021847A (en) Resource management device, resource management method and program
JP2018014107A (en) Approximate computing for application performance in heterogeneous systems
JP2009193205A (en) Automatic tuning system, automatic tuning device, and automatic tuning method
US20130282337A1 (en) Performance evaluation device and performance evaluation method
US20170061054A1 (en) Automated timing analysis
US20170102948A1 (en) System and method for predicting latency of a variable-latency instruction
JPWO2018163280A1 (en) Sign detection apparatus and sign detection method
JP2012128771A (en) Information processing apparatus and program
JPWO2015159336A1 (en) Information processing apparatus, flow control parameter calculation method, and program