JP6212823B2 - Parallelization support device, execution device, control system, parallelization support method, and program - Google Patents
Parallelization support device, execution device, control system, parallelization support method, and program Download PDFInfo
- Publication number
- JP6212823B2 JP6212823B2 JP2013247077A JP2013247077A JP6212823B2 JP 6212823 B2 JP6212823 B2 JP 6212823B2 JP 2013247077 A JP2013247077 A JP 2013247077A JP 2013247077 A JP2013247077 A JP 2013247077A JP 6212823 B2 JP6212823 B2 JP 6212823B2
- Authority
- JP
- Japan
- Prior art keywords
- program
- core
- logic
- execution
- unit
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Landscapes
- Stored Programmes (AREA)
Description
本発明は、並列化支援装置、実行装置、制御システム、並列化支援方法及びプログラムに関する。 The present invention relates to a parallelization support device, an execution device, a control system, a parallelization support method, and a program.
ガスタービンなどのプラント設備で使用される制御システムにおいては、例えばプラントに備えられた計測器などから各種の状態量を取得しその状態量が示す変化に応じてプラントを適切に制御できるように速やかに応答することが求められる。その為、制御システムのOS(Operating System)には所望の時間内に処理を完了することできるリアルタイムOSが採用されることが一般的である。また、そのような制御用システムにおけるコンピュータでは、制御対象をコントロールするために制御に必要な信号を入力しそれに応じて演算を行うという一連のサイクルを短い周期で繰り返す定周期演算に多くの時間を費やしていることが多い。 In a control system used in a plant facility such as a gas turbine, for example, various state quantities are acquired from a measuring instrument provided in the plant, and the plant can be quickly controlled so that the plant can be appropriately controlled according to changes indicated by the state quantities. Is required to respond. Therefore, a real-time OS that can complete the processing within a desired time is generally adopted as an OS (Operating System) of the control system. Further, in a computer in such a control system, a large amount of time is required for a constant cycle calculation that repeats a series of cycles of inputting a signal necessary for control to control a controlled object and performing a calculation in accordance with the signal in a short cycle. Often spent.
ところで、近年では汎用のPCサーバ等においてもマルチコアのCPU(Central Processing Unit)が搭載され、上記の定周期演算においてもマルチコアを利用した並列処理を行うことによって高速化を図ることが可能である。しかし、マルチコアに対応していないアプリケーションをマルチコアのCPUが搭載されたコンピュータで実行させても並列化の効果はほとんど得られないことが一般的に知られている。マルチコアの能力を活用するためには、プログラマが専門的な知識を使ってそのアプリケーションのプログラムをマルチコアに対応するように書き換える必要がある。例えば特許文献1には、プログラム内の関数ごとにコアへ割り当て定義を行い、プログラマがその定義を読み込んでビルドしたプログラムを実行しながら期待する性能に近づけていく開発手法が記載されている。
By the way, in recent years, a general-purpose PC server or the like is also equipped with a multi-core CPU (Central Processing Unit), and it is possible to increase the speed by performing parallel processing using the multi-core even in the above-described periodic operation. However, it is generally known that even if an application that does not support multi-core is executed on a computer equipped with a multi-core CPU, the effect of parallelization is hardly obtained. In order to take advantage of multi-core capabilities, programmers need to rewrite their application programs to support multi-cores using specialized knowledge. For example,
一般にアプリケーションエンジニアはアプリケーションの仕様に精通しているがプログラミングの知識には精通していないことが多い。また、逆にプログラマはプログラミングができてもアプリケーションの仕様に精通していないことが多い。従ってアプリケーションエンジニアは、アプリケーションを構成するプログラムによる処理のうちどの処理が並列実行が可能かを容易に判断することができるが、アプリケーションを並列化させる技術がなかったためにその知識を用いてマルチコアの能力を引き出すことができなかった。 In general, application engineers are familiar with application specifications but are not familiar with programming knowledge. Conversely, programmers are often not familiar with application specifications even though they can program. Therefore, the application engineer can easily determine which of the processes by the program that constitutes the application can be executed in parallel. However, since there was no technology to parallelize the application, the knowledge of the multi-core can be obtained using that knowledge. Could not be pulled out.
そこでこの発明は、上述の課題を解決することのできる並列化支援装置、実行装置、制御システム、並列化支援方法及びプログラムを提供することを目的としている。 Accordingly, an object of the present invention is to provide a parallelization support device, an execution device, a control system, a parallelization support method, and a program that can solve the above-described problems.
本発明の第1の態様は、逐次実行が必要な一纏まりの処理に対応する予め定められた小単位のプログラムであるロジックシートについて、複数の前記ロジックシート間における実行順や依存関係を表示するロジックシート関係出力部と、前記複数のロジックシートのうちの少なくとも一部を、実行を開始してから要求された時間内に完了を求められる実行単位のプログラムへ割り当てる操作を受け付けるロジックシート集約受付部と、前記割り当てられたロジックシートを含んで構成された前記実行単位のプログラムを複数のコアのいずれに実行させるかの選択を受け付けるコア選択受付部と、前記実行単位のプログラムを、前記コアに割り当てるための指標を表示するコア選択支援情報表示部と、を備えることを特徴とするアプリケーションの並列化支援装置である。 The first aspect of the present invention displays the execution order and dependency among a plurality of logic sheets for a logic sheet that is a predetermined small unit program corresponding to a group of processes that need to be sequentially executed. Logic sheet-related output unit and a logic sheet aggregation receiving unit that receives an operation of assigning at least a part of the plurality of logic sheets to a program of an execution unit that is required to be completed within a requested time after the execution is started A core selection receiving unit that receives a selection of a plurality of cores to execute the execution unit program configured to include the assigned logic sheet, and assigns the execution unit program to the cores. A core selection support information display unit for displaying an index for Which is a parallel support device.
また本発明の第2の態様における前記指標は、前記選択を受け付けたコアにおいて前記実行単位のプログラムを前記要求された時間内に完了するように実行させた場合における、当該コアの負荷率であることを特徴とする。 In the second aspect of the present invention, the index is a load factor of the core when the execution unit program is executed so as to be completed within the requested time in the core that has received the selection. It is characterized by that.
また本発明の第3の態様における前記指標は、前記選択を受け付けたコアにおいて前記実行単位のプログラムだけを実行した場合における、当該プログラムの実行に要する時間であることを特徴とする。 The index according to the third aspect of the present invention is a time required for executing the program when only the program of the execution unit is executed in the core that has received the selection.
また本発明の第4の態様における前記ロジックシート集約受付部は、1つの前記実行単位のプログラムに含まれる前記ロジックシートのうち一つ又は複数を、他の実行単位のプログラムに移動する操作を受け付けることを特徴とする。 The logic sheet aggregation receiving unit according to the fourth aspect of the present invention receives an operation of moving one or more of the logic sheets included in one execution unit program to another execution unit program. It is characterized by that.
また本発明の第5の態様は、実行するプログラムについて、上記の並列化支援装置において前記コア選択受付部が受け付けたコアの識別子を取得し、取得した識別子が示すコアにおいて前記実行単位のプログラムを実行することを特徴とするアプリケーションの実行装置である。 According to a fifth aspect of the present invention, for the program to be executed, the identifier of the core received by the core selection receiving unit in the parallelization support apparatus is acquired, and the program of the execution unit is acquired in the core indicated by the acquired identifier. An application execution apparatus characterized by executing the application.
また本発明の第6の態様は、第5の態様の実行装置によってプラントにおける装置の制
御を行うことを特徴とするプラントの制御システムである。
According to a sixth aspect of the present invention, there is provided a plant control system characterized in that the apparatus in the plant is controlled by the execution device according to the fifth aspect.
また本発明の第7の態様は、逐次実行が必要な一纏まりの処理に対応する予め定められた小単位のプログラムであるロジックシートについて、複数の前記ロジックシート間における実行順や依存関係を表示し、前記複数のロジックシートのうちの少なくとも一部を、実行を開始してから要求された時間内に完了を求められる実行単位のプログラムへ割り当てる操作を受け付け、前記割り当てられたロジックシートを含んで構成された前記実行単位のプログラムを複数のコアのいずれに実行させるかの選択を受け付け、前記実行単位のプログラムを、前記コアに割り当てるための指標を表示することを特徴とするアプリケーションの並列化支援方法である。 According to a seventh aspect of the present invention, for a logic sheet that is a predetermined small unit program corresponding to a group of processes that need to be executed sequentially, the execution order and dependency relationships between the plurality of logic sheets are displayed. And accepting an operation of assigning at least a part of the plurality of logic sheets to a program of an execution unit that is requested to be completed within a requested time from the start of execution, and including the assigned logic sheet Supporting parallelization of an application, wherein selection of which of the plurality of cores executes the configured execution unit program is received, and an index for assigning the execution unit program to the core is displayed. Is the method.
また本発明の第8の態様は、アプリケーションの並列化支援装置のコンピュータを、逐次実行が必要な一纏まりの処理に対応する予め定められた小単位のプログラムであるロジックシートについて、複数の前記ロジックシート間における実行順や依存関係を表示する手段、前記複数のロジックシートのうちの少なくとも一部を、実行を開始してから要求された時間内に完了を求められる実行単位のプログラムへ割り当てる操作を受け付ける手段、前記割り当てられたロジックシートを含んで構成された前記実行単位のプログラムを複数のコアのいずれに実行させるかの選択を受け付ける手段、前記実行単位のプログラムを、前記コアに割り当てるための指標を表示する手段、として機能させることを特徴とするプログラムである。
According to an eighth aspect of the present invention, a computer of an application parallelization support apparatus performs a plurality of the logics on a logic sheet that is a predetermined small unit program corresponding to a group of processes that need to be sequentially executed. Means for displaying the order of execution and dependency between sheets, and an operation of assigning at least a part of the plurality of logic sheets to a program of an execution unit that is required to be completed within a requested time from the start of execution. Means for accepting, means for accepting selection of which of the plurality of cores execute the execution unit program configured to include the assigned logic sheet, and an index for assigning the execution unit program to the core It is a program characterized by functioning as a means for displaying .
本発明によれば、アプリケーションエンジニアが自身の知識を用いてマルチコアの能力を引き出すことができるようになる。 According to the present invention, it becomes possible for an application engineer to draw out multi-core capabilities using his / her own knowledge.
<第一の実施形態>
以下、本発明の第一の実施形態によるアプリケーションの並列化支援装置及び実行装置を図1〜図8を参照して説明する。
図1は第1の実施形態によるアプリケーションの並列化支援装置及び実行装置を含む制御システムの概略図である。
図1に示すように本実施形態の制御システムは、並列化支援装置10と、実行装置20と、制御対象装置30と、を備えている。
並列化支援装置10は、コンピュータを備えており、ユーザが使用する設計ツールのアプリケーションプログラムがインストールされ稼働している。
実行装置20は、コンピュータを備えており、リアルタイムOS(以下、RTOSと称する)や制御用アプリケーションプログラムがインストールされ稼働している。実行装置20のコンピュータは、マルチコアのCPUを備えている。実行装置20は、制御システムにおけるコントローラであって制御対象装置30を制御する。なお、以下ではアプリケーションプログラムをアプリケーションと略して表記する。
制御対象装置30は、制御対象となる例えばガスタービンなどの制御対象31と、センサや操作端などの制御機器32で構成されている。
<First embodiment>
An application parallelization support apparatus and execution apparatus according to a first embodiment of the present invention will be described below with reference to FIGS.
FIG. 1 is a schematic diagram of a control system including an application parallelization support apparatus and an execution apparatus according to the first embodiment.
As shown in FIG. 1, the control system of the present embodiment includes a
The
The
The
この制御システムでは、並列化支援装置10の設計ツールによって、並列化支援装置10が実行装置20のコンピュータに備わる複数のCPUコアのうちどのコアで制御用アプリケーションを構成する様々なプログラムを実行するかをユーザが指定する。符号100は、ユーザが操作する設計ツールの操作画面の一例を示している。また、実行装置20では制御用アプリケーションを構成する様々なプログラムを指定されたコアによって実行し、制御対象装置30の挙動を制御する。
In this control system, with which design tool of the
ここで、図2を使用して以下で使用する用語の説明を行う。まず実行装置20が実行する制御用アプリケーションを制御ロジック演算機能アプリケーションという。制御ロジック演算機能アプリケーションは、複数の機能演算グループと呼ばれるプログラムから構成されている。機能演算グループが示すプログラムは実行単位のプログラムモジュールであって、RTOS等のタスク、すなわちスレッドやプロセスとして実行される。各機能演算グループが示すプログラムは、その機能演算グループの処理に課せられた演算周期等に基づき優先度付けされ、RTOSのスケジューリング機能によってスケジューリングされて実行装置20の備えるCPUによって実行される。
Here, the terms used below will be described with reference to FIG. First, the control application executed by the
各機能演算グループは、複数のロジックシートと呼ばれるより小さい単位のプログラムで構成されている。ロジックシートは、逐次実行が必要な一纏まりの処理に対応するプログラムであって、複数の機能演算ブロックとそれらの処理順序や入出力の関係を示したデータフローの情報とを含んでいる。図2においてはデータフローを矢印で表している。ここで、機能演算ブロックとは、予め定められた実数演算、整数演算、論理演算を行う演算の単位である。各機能演算グループ内のロジックシートが示すプログラムは登録もしくは設定された順番に実行され、各ロジックシート内の機能演算ブロックは自動付番もしくは設定された順番に実行される。なお、各ロジックシートが示す処理は互いに実行順序が決まっており、機能演算グループ内の処理は、逐次的に実行される。
また、以下においてユーザは、制御システムの仕様、要求に精通しているアプリケーションエンジニアの意味で用いる。プログラマは、コーディングを行うことはできるが、制御対象の制御方法(制御ロジック)に対する深い知識を有しない者という意味に用いる。上記の機能演算グループやロジックシートが示すプログラムの作成はプログラマが行う。
Each functional calculation group is composed of a smaller unit program called a plurality of logic sheets. The logic sheet is a program corresponding to a group of processes that need to be sequentially executed, and includes a plurality of functional operation blocks and data flow information indicating their processing order and input / output relationships. In FIG. 2, the data flow is represented by arrows. Here, the functional operation block is a unit of operations for performing predetermined real number operations, integer operations, and logical operations. The programs indicated by the logic sheets in each functional calculation group are executed in the order in which they are registered or set, and the functional calculation blocks in each logic sheet are executed automatically in the order assigned or set. Note that the processing order indicated by each logic sheet is determined in the order of execution, and the processing within the functional calculation group is executed sequentially.
In the following, the user is used in the sense of an application engineer who is familiar with the specifications and requirements of the control system. The programmer is used to mean a person who can perform coding but does not have deep knowledge of a control method (control logic) of a control target. The programmer creates the program indicated by the above functional calculation group and logic sheet.
図3は、本発明の第一の実施形態による並列化支援装置の機能ブロック図である。
図3を用いて本実施形態における並列化支援装置10について説明する。
図3に示す通り、並列化支援装置10は、コア選択支援情報表示部101、コア選択受付部102、選択コア記録部103、機能演算グループ出力部104、ロジックシート関係出力部105、ロジックシート集約受付部106、コア情報出力部107、操作検出部108、記憶部200を備えている。
FIG. 3 is a functional block diagram of the parallelization support apparatus according to the first embodiment of the present invention.
The
As illustrated in FIG. 3, the
コア選択支援情報表示部101は、ユーザがどの機能演算グループのプログラムをどのコアで実行させるかを決定するのを助ける指標となる情報を出力する。指標となる情報とは、例えば機能演算グループのプログラムを実行するのに要する時間やCPUコアごとのCPU負荷率などである。プラントなどの制御システムでは、少しの処理の遅れによって制御に狂いが生じ思わぬ事故などを招くおそれがあることから各処理が確実に定められた時間内に完了することが求められる場合が多い。従ってマルチコアのCPUが持つ能力を活用し、各機能演算グループのプログラムを各コアに割り当てて実行することで負荷分散し、各処理が遅れずに実行できるようにすることが望ましい。ユーザは、コア選択支援情報表示部101が出力する情報を参照することで、各機能演算グループの処理が所望の時間内に完了できるかや、各コアに負荷が平滑化して割り当てられているかなどを確認することができる。
The core selection support
コア選択受付部102は、ユーザがどの機能演算グループのプログラムをどのコアで実行させるかを選択した結果の情報の入力を受け付ける。
選択コア記録部103は、コア選択受付部102が受け付けた情報に基づいて、各機能演算グループの識別子とコアの識別子とを対応付けて記憶部200に記録する。
機能演算グループ出力部104は、コアに対して割り当てを行う対象となる機能演算グループやロジックシートの一覧を出力する。ユーザは、機能演算グループ出力部104が出力する一覧から機能演算グループを選択してその機能演算グループのプログラムを実行するコアの割り当てを行う。
The core
Based on the information received by the core
The functional calculation
ロジックシート関係出力部105は、ロジックシート間の関係を出力する。ロジックシート間の関係とは、「ロジックシート1」の処理と「ロジックシート2」の処理との実行順序や依存関係のことをいう。例えば、「ロジックシート1」と「ロジックシート2」のプログラムは、「ロジックシート1」、「ロジックシート2」の順に逐次的に実行しなければならない、あるいは「ロジックシート1」、「ロジックシート2」の処理と「ロジックシート3」の処理は並列して実行が可能であるといったことである。
The logic sheet
ロジックシート集約受付部106は、ユーザによるロジックシートを実行プログラムである機能演算グループへ割り当てる操作を受け付ける。具体的には、ユーザが機能演算グループに新たにロジックシートを追加したり、あるロジックシートを別の機能演算グループへ移動させる場合などにその変更の入力を受け付ける。例えば、「機能演算グループ1」のプログラムが「ロジックシート1」〜「ロジックシート10」で構成されていて、この「機能演算グループ1」のプログラムに1つのコアを占有させて処理を行ったとしても制御システムが要求する処理時間内に処理を完了させることができないような場合を考える。このような場合に「機能演算グループ1」のプログラムが「ロジックシート1」〜「ロジックシート5」と「ロジックシート6」〜「ロジックシート10」に分割できるとする。すると、ユーザは、ロジックシート集約受付部106の機能を使用して「機能演算グループ1」を例えば「機能演算グループ1A」、「機能演算グループ1B」に分割することができる。さらにユーザは、「機能演算グループ1A」のプログラムに「ロジックシート1」〜「ロジックシート5」を割り当て、「機能演算グループ1B」のプログラムに「ロジックシート6」〜「ロジックシート10」を割り当てることができる。なお、ユーザが1つの機能演算グループにロジックシートを割り当てる操作のことを「集約する」という。ロジックシート集約受付部106は、集約結果を記憶部200に記録する。
The logic sheet
コア情報出力部107は、ユーザが割り当てたCPUコアと機能演算グループとの対応関係を出力する。
操作検出部108は、ユーザによるマウスやキーボードによる入力操作等を検出し、その操作指示情報を取得する。
記憶部200は、実行装置20ごと機能演算グループごとにCPU負荷率や処理に要する時間を格納している。CPU負荷率は制御システムが要求する時間内に実行が完了するようにその機能演算グループのプログラムを実行した場合においてCPUが自分の処理能力のうちどの程度をそのプログラムの実行に費やしたかを示す値である。この値は、実際に1つのコアを占有させて機能演算グループのプログラムを実行したときのCPU負荷率の実測値の平均値でもよいし、処理の複雑さなどに基づいて計算した値でもよい。また、処理に要する時間は、機能演算グループのプログラムを1つのコアを占有して実行した場合に実行の開始から完了までに要する時間である。
The core
The
The
図4は本実施形態による並列化支援装置の操作画面の一例を示す第1の図である。
図4を用いてユーザが機能演算グループにCPUコアを割り当てる際に用いる操作画面について説明する。
前提として実行装置20のCPUには、2つのコアが備えられているとする。また、ユーザが所定の操作により、これからコアの割り当てを行う対象となるプログラムを含むアプリケーションとして「制御ロジック演算機能1」を選択したものとする。
図4(a)の領域41には、機能演算グループ出力部104が出力した「制御ロジック演算機能1」の機能演算グループ及びロジックシートの一覧が表示されている。
図4(a)の領域42には、2つのCPUコアのうちの一つである「コア1」へ割り当てられた機能演算グループが表示されている。図4(a)の符号43は所定の操作によってユーザに選択された機能演算グループを示している。所定の操作とは、例えばある機能演算グループを「コア1」へ割り当てる場合、領域41でその機能演算グループを選択し、領域42へドラッグアンドドロップするといった操作でもよい。図4(a)の符号44は、「機能演算グループ1」のプログラムを「コア1」へ割り当てて実行したときのCPU負荷率を示している。図4(a)の符号45は、「コア1」へ割り当てられた機能演算グループ全てによるCPU負荷率を示している。これらのCPU負荷率は、コア選択支援情報表示部101が出力した情報である。同様にして図4(a)の領域46には、「コア2」へ割り当てられた機能演算グループとそれぞれのプログラムを実行したときのCPU負荷率が表示されている。
FIG. 4 is a first diagram illustrating an example of an operation screen of the parallelization support apparatus according to the present embodiment.
An operation screen used when a user assigns a CPU core to a function calculation group will be described with reference to FIG.
It is assumed that the CPU of the
In the
In the
この図4(a)の例の場合、「コア1」に「機能演算グループ1」が割り当てられ、2つのコアのうちの残りの一つである「コア2」に「機能演算グループ2」、「機能演算グループ3」、「機能演算グループ4」が割り当てられている。「機能演算グループ1」のCPU負荷率は50%(符号44)であるから「コア1」のCPU負荷率の総計は50%となる。それに対し、「機能演算グループ2」のCPU負荷率は40%(符号47)、「機能演算グループ3」のCPU負荷率は50%(符号48)、「機能演算グループ4」のCPU負荷率は20%(符号49)であるから、「コア2」のCPU負荷率の総計は110%(符号50)である。
ユーザはこの画面を見て「コア2」のCPU負荷率は100%を超えているので、「コア2」に割り当てられた「機能演算グループ2」、「機能演算グループ3」、「機能演算グループ4」のプログラムは要求処理時間内に実行を完了できないことを把握することができる。また、ユーザは、所定の操作によって例えば「機能演算グループ4」を「コア2」から「コア1」へ割り当て直すことができる。所定の操作とは、この図の場合領域46で「機能演算グループ4」を選択し、領域42へドラッグアンドドロップするといった操作でもよい。
In the case of the example of FIG. 4A, “
The user sees this screen and the CPU load factor of “
図4(b)は、そのようにしてユーザが機能演算グループのコアへの割り当てを変更した結果の画面である。図4(b)が示す画面では「コア1」に「機能演算グループ1」と「機能演算グループ4」が割り当てられ、「コア2」に「機能演算グループ2」と「機能演算グループ3」が割り当てられている。このように割り当てることによって「コア1」のCPU負荷率の総計は70%(符号45)、「コア2」のCPUの負荷率の総計は90%(符号50)となり、100%以内に抑えることができる。
なお、負荷率100%をプログラムの割り当ての上限とするのは例であって、その基準は、例えば各コアのCPU負荷率の上限を60%以内にするなどであってもよい。
符合40は、OKボタンを示している。操作検出部108がユーザによるOKボタン40の押下を検出すると、選択コア記録部103が各コアの負荷率の総計が所定の閾値(100%など)を超えていないか否かを判断し、超えていなければ選択コア記録部103が各機能演算グループの識別子と割り当てられたコアの識別子とを対応付けて記憶部200に記録する。各コアの負荷率の総計が所定の閾値を超えていればコア情報出力部107が、エラーメッセージを出力してもよい。
FIG. 4B is a screen as a result of the user changing the assignment of the functional calculation group to the core in this way. In the screen shown in FIG. 4B, “
Note that the load factor of 100% is an example of the upper limit of program allocation, and the criterion may be, for example, the upper limit of the CPU load factor of each core being within 60%.
図5は本実施形態による並列化支援装置の操作画面の一例を示す第2の図である。
図5を用いてコア選択支援情報表示部101が出力する指標となる情報の他の例について説明する。
図5は、図4における符号42、46の領域のみを示した図である。この図5(a)は、コア選択支援情報表示部101がCPU負荷率ではなく、機能演算グループごとに所要時間と要求処理時間を出力する例を示している。所要時間は、機能演算グループをユーザが指定したCPUコアに割り当てて実行させた場合における実行完了に要する時間のことである。この値は、例えば記憶部200に格納された「処理に要する時間」とCPU負荷率の総計とから計算した値である。例えば、「機能演算グループ1」の「処理に要する時間」が50msecで、CPU負荷率の総計が200%であるときの所要時間は100mecであると計算してもよい。要求処理時間は、その機能演算グループが示すプログラムの実行に要求される処理時間の上限値である。コア選択支援情報表示部101は、要求処理時間の代わりにその機能演算グループのプログラムを実行する周期を示す制御周期を出力してもよい。
この図の場合、「コア1」に割り当てられている「機能演算グループ1」及び「機能演算グループ4」の所要時間はどちらも要求処理時間内に収まっている(符号51、52)。例えば「機能演算グループ1」の要求処理時間は15msecであるのに対し、所要時間は10msecである。しかし、「コア2」に割り当てられている「機能演算グループ2」及び「機能演算グループ3」の所要時間はどちらも要求処理時間内に収まっていない(符号53、54)。
この表示を見て、ユーザは「機能演算グループ2」と「機能演算グループ3」の処理が要求処理時間内に完了できないことを把握し、CPUコアへの機能演算グループの割り当て方を検討することができる。
FIG. 5 is a second diagram illustrating an example of an operation screen of the parallelization support apparatus according to the present embodiment.
Another example of information serving as an index output by the core selection support
FIG. 5 is a diagram showing
In the case of this figure, the required time of “
Looking at this display, the user should understand that the processing of “
図5(b)は、コア選択支援情報表示部101が指標となる情報を出力する別の例を示している。この例では、各コアへの負荷の状況が機能演算グループごとに「高」、「中」、「低」で表されている(符号55、56、58、59)。そしてコアごとに機能演算グループを割り当てた結果の総負荷がやはり「高」、「中」、「低」で表示されている(符号57,60)。総負荷の表示については、例えば1つの機能演算グループにおける負荷が「低」ならば、「20%」、「中」ならば「40%」、高ならば「60%」などの数値に置き換えて、それらを合計した総負荷の値が「40%」未満なら「低」、「40%」以上「60%」未満なら「中」などと表示してもよい。仮に総負荷が予め定められた最大負荷(例えば100%)を超えている場合は、「過大」などの表示をしてもよい。また、「高」、「中」、「低」ではなく、負荷の状況に応じて「赤」、「黄」、「青」などの色別に表示してもよい。
FIG. 5B shows another example in which the core selection support
図6は第一の実施形態による並列化支援装置の処理フローを示す図である。
図6の処理フローを用いて並列化支援装置において機能演算グループを実行するコアを設定する処理について説明する。
前提として、ユーザによる設定開始を指示する所定の操作により制御ロジック演算機能アプリケーションとそのアプリケーションを実行する実行装置20が指定されているものとする。
まず、機能演算グループ出力部104が予め指定された制御ロジック演算機能アプリケーションの識別子を用いて記憶部200からその制御ロジック演算機能アプリケーションに含まれる機能演算グループ及びロジックシートの情報を読み出す。そして機能演算グループ出力部104は、機能演算グループの一覧情報を例えば図4の領域41で示したように出力する(ステップS1)。
また、コア情報出力部107が、指定された実行装置20の識別子を用いて記憶部200からその実行装置20の備えるCPUのコア数を取得する。そしてコア情報出力部107は、図4の領域42、領域46で示したようにコアに機能演算グループを割り当てる領域をコアの個数分表示する。また、コア情報出力部107は記憶部200からユーザが指定した機能演算グループとそのプログラムを実行させるCPUコアとの関係を読み出し、CPUコアと機能演算グループと対応関係を出力する(ステップS2)。例えば、図4〜5で示したように領域42には「コア1」に割り当てた機能演算グループの一覧を出力する。
FIG. 6 is a diagram showing a processing flow of the parallelization support apparatus according to the first embodiment.
Processing for setting a core for executing a functional operation group in the parallelization support apparatus will be described using the processing flow of FIG.
As a premise, it is assumed that the control logic operation function application and the
First, the function calculation
In addition, the core
次に、操作検出部108がユーザによる機能演算グループをコアへ割り当てるユーザの操作を検出する(ステップS3)。すると、操作検出部108が割り当て操作があった旨の信号をコア選択支援情報表示部101、コア選択受付部102に出力する。そして、コア選択受付部102は、実行装置20の識別子と、ユーザがドラッグアンドドロップ操作などにより割り当てたCPUコアの識別子と機能演算グループの識別子とを対応付けてメモリ等に格納する。
次に、コア選択支援情報表示部101は、コア選択受付部102が格納した情報をメモリから読み取り、機能演算グループの識別子と実行装置20の識別子とを用いて記憶部200から当該機能演算グループのプログラムを当該実行装置20で実行した場合におけるCPU負荷や所要時間など指標となる情報を読み出す。そして、コア選択支援情報表示部101は図4の符号44などで示したようCPU負荷などを出力する。また、コア選択支援情報表示部101は、コア単位でCPU負荷率の総計を計算して図4の符号45等で示したように出力する(ステップS4)。
Next, the
Next, the core selection support
次に操作検出部108がユーザによる機能演算グループのコアへの割り当てが完了したかどうかを検出する(ステップS5)。具体的には、操作検出部108がユーザによるOKボタン40の押下を検出すると、割り当てが完了したと判断すればよい。操作検出部108が割り当て完了を検出しない場合(ステップS5=No)、ステップS3からの処理を繰り返す。
操作検出部108が割り当て完了を検出した場合(ステップS5=Yes)、選択コア記録部103は、コア選択受付部102がメモリに格納した情報を読み取り、実行装置20の識別子とユーザが指定したCPUコアの識別子と機能演算グループの識別子とを対応付けて記憶部200に記録する(ステップS6)。
以上で本処理フローを終了する。
Next, the
When the
This processing flow is completed.
そしてこのようにしてユーザがコアの割り当てを行った機能演算グループのプログラムが実行装置20において実行されるときは、実行装置20のタスク制御プログラムが、各機能演算グループが示すプログラムにユーザが指定したCPUコアを割り当てて実行を行う。記憶部200に格納された機能演算グループとCPUコアとの対応関係の情報は、実行装置20が例えばネットワークを介して取得する。
And when the program of the functional calculation group to which the user has assigned the core in this way is executed in the
本実施形態によれば、ユーザがアプリケーションを構成するプログラムをマルチコアのうちのいずれに実行させるかを選択することができる。また、ユーザは自分でプログラムを各コアに割り当てた場合の影響(CPU負荷や処理時間)を把握することができる。それによってマルチコアに対応する為のプログラミング技術を持たないユーザであっても、自身が持つアプリケーションの仕様に関する知識を用いてマルチコアCPUの能力を引き出すことができるようになる。 According to the present embodiment, the user can select which of the multi-cores to execute the program constituting the application. Further, the user can grasp the influence (CPU load and processing time) when the program is assigned to each core. As a result, even a user who does not have a programming technique for dealing with multi-cores can draw out the capabilities of the multi-core CPU by using his / her knowledge of application specifications.
図7は本実施形態による並列化支援装置の操作画面の一例を示す第3の図である。
図7を用いて機能演算グループ出力部104が出力する、機能演算グループ一覧の他の例について説明する。
図7(a)の符合61は、関係表示ボタンである。操作検出部108がユーザによる関係表示ボタン61の押下を検出すると、ロジックシート関係出力部105が図7(b)の情報を出力する。図7(a)の例の場合、「コア1」に「機能演算グループ1」が割り当てられ、「機能演算グループ1」のプログラムを実行したときのCPU負荷率が110%であるため、「コア1」のCPU負荷率の総計も110%となり100%を超えてしまう。そこでユーザは、図7(b)に示すロジックシート間の関係を示す図を参照しながら「機能演算グループ1」が分割できないかを検討する。
FIG. 7 is a third diagram illustrating an example of an operation screen of the parallelization support apparatus according to the present embodiment.
Another example of the functional calculation group list output by the functional calculation
図7(b)は、ロジックシート関係出力部105が出力するロジックシート間の関係を示す図である。この図は、機能演算グループ1を構成する「ロジックシート1−1」、「ロジックシート1−2」、「ロジックシート1−3」の依存関係を表示する図の一例である。この図は、「ロジックシート1−1」の処理と「ロジックシート1−2」の処理は逐次実行が必要であり、「ロジックシート1−3」の処理は、これらの処理とは独立して実行できることを示している。
ユーザは、この図に示す情報から例えば「機能演算グループ1」を2つのプログラム「機能演算グループ1A」、「機能演算グループ1B」に分割して「ロジックシート1−1」及び「ロジックシート1−2」と、「ロジックシート1−3」とを別々の機能演算グループに集約し、さらに「機能演算グループ1A」、「機能演算グループ1B」のそれぞれのプログラムを別々のCPUコアに割り当てることを検討することもできる。
なお、ロジックシート間の関係を示す情報は予め記憶部200に格納されており、ロジックシート関係出力部105がその情報を記憶部200から読み出して所定の記述方法でロジックシート間の関係を示す情報を出力してもよい。ロジックシート関係出力部105が出力するロジックシート間の関係を示す情報は、例えばポップアップ表示されてもよい。また、ロジックシート関係出力部105は、ロジックシート間の関係に加えて、例えばCPU負荷率などの処理の重さに関する情報を各ロジックシートごとに出力してもよい。
FIG. 7B is a diagram illustrating a relationship between logic sheets output by the logic sheet
For example, the user divides “
Information indicating the relationship between the logic sheets is stored in the
図8は本実施形態による並列化支援装置の操作画面の一例を示す第4の図である。
図8は、図7の状態からユーザが所定の操作によって「機能演算グループ1」を「機能演算グループ1A」と「機能演算グループ1B」に分け、「機能演算グループ1A」に「ロジックシート1−1」及び「ロジックシート1−2」を集約し、「機能演算グループ1B」に「ロジックシート1−3」を集約した結果の操作画面の一例である。図8は、ロジックシートを集約した結果、「機能演算グループ1A」のプログラムを実行したときのCPU負荷率は95%、「機能演算グループ1B」のプログラムを実行したときのCPU負荷率は15%となり、さらに「機能演算グループ1B」のプログラムを「コア2」に割り当てることで、「コア1」のCPU負荷率の総計が95%(符号45)、「コア2」のCPU負荷率の総計が75%(符号50)となったことを示している。
FIG. 8 is a fourth diagram illustrating an example of an operation screen of the parallelization support apparatus according to the present embodiment.
FIG. 8 shows that “
本実施形態によればユーザは各機能演算グループにおけるロジックシートの集約数を変更しの並列化を調整することができる。それによって各コアへのプログラムの割り当てをより柔軟に平滑化することが可能になり、コアの利用効率を高め、処理の高速化を図ることができる。 According to the present embodiment, the user can adjust the parallelization by changing the number of aggregation of logic sheets in each functional calculation group. As a result, program assignment to each core can be smoothed more flexibly, the utilization efficiency of the core can be improved, and the processing speed can be increased.
ところで、図8のように割り当てた「機能演算グループ1A」と「機能演算グループ1B」のプログラムは別々のコアで実行される為、同期を取るような仕組みを利用しない限り実行のタイミングが異なる。例えば、「機能演算グループ1A」のプログラムと「機能演算グループ1B」のプログラムとを別々のコアに割り当てて実行させると、「ロジックシート1−2」の処理が一定の周期で2回実行されている間に「ロジックシート1−3」の処理が1回しか実行されないことも起こり得る。さらに「ロジックシート1−2」プログラムと「ロジックシート1−3」プログラムとの実行結果を用いる後続の「ロジックシート1−4」と、「ロジックシート1−2」プログラムの実行結果だけを用いる「ロジックシート1−5」が存在するとする。この場合、「ロジックシート1−4」のプログラムが「ロジックシート1−3」のプログラムの実行完了を待ってから処理が開始されるのに対して、「ロジックシート1−5」のプログラムは「ロジックシート1−2」のプログラムが完了すると直ぐに実行される。このとき「ロジックシート1−4」と「ロジックシート1−5」の処理を実行するタイミングのずれによる影響が、プラントを制御する上で許容できるかどうかといった判断は、プログラマでは困難である場合が多い。仮にユーザがそのずれがプラントを制御する上で許容できないと判断すれば、ユーザは、「ロジックシート1−2」と「ロジックシート1−3」を例えば「機能演算グループ1A」に集約することができる。ここで「機能演算グループ1A」のプログラムが1回実行されると「ロジックシート1−2」及び「ロジックシート1−3」の処理が1回ずつ実行されるように設定されているとする。するとユーザが上記のように「機能演算グループ1A」に集約し、「機能演算グループ1A」のプログラムを実行すれば、「ロジックシート1−2」の処理と「ロジックシート1−3」の処理は同じ回数だけ実行されるため上記のようなずれは生じない。なお、このようにロジックシートを集約した結果CPU負荷率の総和が100%を超える場合、ユーザは、他の性能の良いCPUが搭載された実行装置20で「機能演算グループ1A」のプログラムを実行することを検討することもできる。
本実施形態によればこのような場合でもユーザは、ロジックシート関係出力部105が出力する情報や自身の持つ制御システムに関する知識に基づいてロジックシートを適切に集約して1つの機能演算グループとし、それらを別々のコアに割り当てることでCPU資源をより有効に利用することができる。
By the way, since the programs of “functional calculation group 1A” and “functional calculation group 1B” assigned as shown in FIG. 8 are executed by different cores, the execution timings are different unless a mechanism for achieving synchronization is used. For example, if the program of “functional calculation group 1A” and the program of “functional calculation group 1B” are assigned to different cores and executed, the process of “logic sheet 1-2” is executed twice at a constant cycle. During this time, the process of “logic sheet 1-3” may be executed only once. Furthermore, only the execution result of the subsequent “logic sheet 1-4” using the execution results of the “logic sheet 1-2” program and the “logic sheet 1-3” program and the execution result of the “logic sheet 1-2” program are used. It is assumed that the logic sheet 1-5 ”exists. In this case, the process of the “logic sheet 1-4” is started after the execution of the program of the “logic sheet 1-3” is completed, whereas the program of the “logic sheet 1-5” As soon as the program of “logic sheet 1-2” is completed, it is executed. At this time, it may be difficult for a programmer to determine whether the influence of the timing difference between the execution of the processes of “logic sheet 1-4” and “logic sheet 1-5” is acceptable in controlling the plant. Many. If the user determines that the deviation is unacceptable for controlling the plant, the user may consolidate the “logic sheet 1-2” and the “logic sheet 1-3” into, for example, the “functional operation group 1A”. it can. Here, it is assumed that the processing of “logic sheet 1-2” and “logic sheet 1-3” is executed once each time the program of “functional operation group 1A” is executed once. Then, if the user aggregates into “functional calculation group 1A” as described above and executes the program of “functional calculation group 1A”, the processes of “logic sheet 1-2” and “logic sheet 1-3” are Since the process is executed the same number of times, the above deviation does not occur. When the sum of the CPU load factors exceeds 100% as a result of the aggregation of the logic sheets as described above, the user executes the program of the “functional operation group 1A” on the
According to the present embodiment, even in such a case, the user appropriately aggregates the logic sheets based on information output from the logic sheet related
図7から図8への機能演算グループの分割とロジックシートの集約は例えば以下のような処理によって実現される。
ユーザによる機能演算グループ作成指示の操作を操作検出部108が検出すると、操作検出部108は、その指示信号をロジックシート集約受付部106に出力する。ロジックシート集約受付部106は、追加した機能演算グループを加えた各機能演算グループとロジックシートとの対応関係(この場合新たに生成した機能演算グループを構成するロジックシートはまだ存在しない)を生成し、記憶部200に格納する。一方、機能演算グループ出力部104は新たに生成された機能演算グループとロジックシートとの対応関係を示す一覧情報を記憶部200から読み出し例えば図4の領域41で示したように出力する。
次にユーザによるロジックシートの集約操作を操作検出部108が検出すると、操作検出部108は、その指示信号をロジックシート集約受付部106に出力する。そしてロジックシート集約受付部106は、「機能演算グループ1A」の識別子と「ロジックシート1−1」及び「ロジックシート1−2」の識別子とを対応付けて記憶部200に格納する。また、ロジックシート集約受付部106は、「機能演算グループ1B」の識別子と「ロジックシート1−3」の識別子とを対応付けて記憶部200に格納する。そして、機能演算グループ出力部104は新たに生成された機能演算グループとロジックシートとの対応関係を示す一覧情報を記憶部200から読み出し領域41に出力する。また、コア情報出力部107はCPUコアと機能演算グループとの対応関係を記憶部200から読み出し例えば図4の領域42、領域46で示したように出力する。
The division of the functional calculation group and the aggregation of the logic sheets from FIG. 7 to FIG. 8 are realized by the following processing, for example.
When the
Next, when the
なお、上述の並列化支援装置は内部にコンピュータを有している。そして、上述した並列化支援装置の各処理の過程は、プログラムの形式でコンピュータ読み取り可能な記録媒体に記憶されており、このプログラムをコンピュータが読み出して実行することによって、上記処理が行われる。ここでコンピュータ読み取り可能な記録媒体とは、磁気ディスク、光磁気ディスク、CD−ROM、DVD−ROM、半導体メモリ等をいう。また、このコンピュータプログラムを通信回線によってコンピュータに配信し、この配信を受けたコンピュータが当該プログラムを実行するようにしてもよい。 The parallelization support apparatus described above has a computer inside. Each process of the parallelization support apparatus described above is stored in a computer-readable recording medium in the form of a program, and the above process is performed by the computer reading and executing this program. Here, the computer-readable recording medium means a magnetic disk, a magneto-optical disk, a CD-ROM, a DVD-ROM, a semiconductor memory, or the like. Alternatively, the computer program may be distributed to the computer via a communication line, and the computer that has received the distribution may execute the program.
また、上記プログラムは、前述した機能の一部を実現するためのものであってもよい。さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であってもよい。 The program may be for realizing a part of the functions described above. Furthermore, what can implement | achieve the function mentioned above in combination with the program already recorded on the computer system, what is called a difference file (difference program) may be sufficient.
その他、本発明の趣旨を逸脱しない範囲で、上記した実施の形態における構成要素を周知の構成要素に置き換えることは適宜可能である。また、この発明の技術範囲は上記の実施形態に限られるものではなく、本発明の趣旨を逸脱しない範囲において種々の変更を加えることが可能である。 In addition, it is possible to appropriately replace the components in the above-described embodiments with known components without departing from the spirit of the present invention. The technical scope of the present invention is not limited to the above-described embodiment, and various modifications can be made without departing from the spirit of the present invention.
10・・・並列化支援装置
20・・・実行装置
30・・・制御対象装置
31・・・制御対象
32・・・制御機器
101・・・コア選択支援情報表示部
102・・・コア選択受付部
103・・・選択コア記録部
104・・・機能演算グループ出力部
105・・・ロジックシート関係出力部
106・・・ロジックシート集約受付部
107・・・コア情報出力部
108・・・操作検出部
200・・・記憶部
DESCRIPTION OF
Claims (8)
前記複数のロジックシートのうちの少なくとも一部を、実行を開始してから要求された時間内に完了を求められる実行単位のプログラムへ割り当てる操作を受け付けるロジックシート集約受付部と、
前記割り当てられたロジックシートを含んで構成された前記実行単位のプログラムを複数のコアのいずれに実行させるかの選択を受け付けるコア選択受付部と、
前記実行単位のプログラムを、前記コアに割り当てるための指標を表示するコア選択支援情報表示部と、
を備えることを特徴とするアプリケーションの並列化支援装置。 For a logic sheet that is a predetermined small unit program corresponding to a group of processes that need to be sequentially executed, a logic sheet relation output unit that displays an execution order and dependency among a plurality of the logic sheets;
A logic sheet aggregation receiving unit that receives an operation of assigning at least a part of the plurality of logic sheets to a program of an execution unit that is requested to be completed within a requested time after starting execution;
A core selection receiving unit that receives selection of which of the plurality of cores to execute the program of the execution unit configured to include the assigned logic sheet;
A core selection support information display unit for displaying an index for allocating the program of the execution unit to the core;
An apparatus for supporting parallelization of an application, comprising:
ことを特徴とする請求項1に記載のアプリケーションの並列化支援装置。 The index is a load factor of the core when the execution unit program is executed to be completed within the requested time in the core that has received the selection. The application parallelization support apparatus described.
ことを特徴とする請求項1又は請求項2に記載のアプリケーションの並列化支援装置。 3. The parallel application according to claim 1, wherein the index is a time required for executing the program when only the program of the execution unit is executed in the core that has received the selection. 4. Support device.
請求項1から請求項3の何れか1項に記載のアプリケーションの並列化支援装置。 The logic sheet aggregation receiving unit receives an operation of moving one or a plurality of logic sheets included in one execution unit program to another execution unit program,
The application parallelization support apparatus according to any one of claims 1 to 3 .
前記複数のロジックシートのうちの少なくとも一部を、実行を開始してから要求された時間内に完了を求められる実行単位のプログラムへ割り当てる操作を受け付け、
前記割り当てられたロジックシートを含んで構成された前記実行単位のプログラムを複数のコアのいずれに実行させるかの選択を受け付け、
前記実行単位のプログラムを、前記コアに割り当てるための指標を表示する
ことを特徴とするアプリケーションの並列化支援方法。 For logic sheets that are predetermined small unit programs corresponding to a group of processes that need to be executed sequentially, display the execution order and dependency among the plurality of logic sheets,
Accepting an operation of assigning at least a part of the plurality of logic sheets to a program of an execution unit that is required to be completed within a requested time from the start of execution,
Accepting selection of which of the plurality of cores to execute the program of the execution unit configured to include the assigned logic sheet;
An index for allocating the execution unit program to the core is displayed.
逐次実行が必要な一纏まりの処理に対応する予め定められた小単位のプログラムであるロジックシートについて、複数の前記ロジックシート間における実行順や依存関係を表示する手段、
前記複数のロジックシートのうちの少なくとも一部を、実行を開始してから要求された時間内に完了を求められる実行単位のプログラムへ割り当てる操作を受け付ける手段、
前記割り当てられたロジックシートを含んで構成された前記実行単位のプログラムを複数のコアのいずれに実行させるかの選択を受け付ける手段、
前記実行単位のプログラムを、前記コアに割り当てるための指標を表示する手段、
として機能させることを特徴とするプログラム。 Computer for application parallelization support device,
Means for displaying execution order and dependency among a plurality of logic sheets for a logic sheet that is a predetermined small unit program corresponding to a group of processes that need to be sequentially executed ;
Means for accepting an operation of assigning at least a part of the plurality of logic sheets to a program of an execution unit that is required to be completed within a requested time from the start of execution;
Means for accepting selection of which of a plurality of cores to execute the program of the execution unit configured to include the assigned logic sheet;
Means for displaying an index for allocating the execution unit program to the core;
A program characterized by functioning as
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013247077A JP6212823B2 (en) | 2013-11-29 | 2013-11-29 | Parallelization support device, execution device, control system, parallelization support method, and program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013247077A JP6212823B2 (en) | 2013-11-29 | 2013-11-29 | Parallelization support device, execution device, control system, parallelization support method, and program |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2015106233A JP2015106233A (en) | 2015-06-08 |
JP6212823B2 true JP6212823B2 (en) | 2017-10-18 |
Family
ID=53436312
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013247077A Active JP6212823B2 (en) | 2013-11-29 | 2013-11-29 | Parallelization support device, execution device, control system, parallelization support method, and program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6212823B2 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6890738B2 (en) * | 2019-02-26 | 2021-06-18 | 三菱電機株式会社 | Information processing equipment, information processing methods and information processing programs |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH11184717A (en) * | 1997-12-22 | 1999-07-09 | Toshiba Corp | Scheduling analytic device and method therefor and recording medium for recording software for scheduling analysis |
JP5429214B2 (en) * | 2011-03-01 | 2014-02-26 | 新日鐵住金株式会社 | Program creation support apparatus, program creation support method, and computer program |
-
2013
- 2013-11-29 JP JP2013247077A patent/JP6212823B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
JP2015106233A (en) | 2015-06-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3129880B1 (en) | Method and device for augmenting and releasing capacity of computing resources in real-time stream computing system | |
Ananthanarayanan et al. | {GRASS}: Trimming stragglers in approximation analytics | |
JP6241300B2 (en) | Job scheduling apparatus, job scheduling method, and job scheduling program | |
JP6364880B2 (en) | Parallel computer system, control program for job management apparatus, and control method for parallel computer system | |
CN100377091C (en) | Grouped hard realtime task dispatching method of built-in operation system | |
US20200019436A1 (en) | Control device, control method, and control program | |
CN102779075A (en) | Method, device and system for scheduling in multiprocessor nuclear system | |
CN111399986A (en) | Method and device for configuring Pod resource quota | |
US20140026145A1 (en) | Parallel processing in human-machine interface applications | |
JPWO2012020478A1 (en) | Scheduler, multi-core processor system, and scheduling method | |
CN106547522B (en) | Method and device for optimizing stream application | |
CN103677990A (en) | Virtual machine real-time task scheduling method and device and virtual machine | |
EP2902948A1 (en) | Data analysis device and program | |
CN109992366A (en) | Method for scheduling task and dispatching device | |
JP5178778B2 (en) | Virtual machine and CPU allocation method | |
US20120253482A1 (en) | Function block execution framework | |
JP5740338B2 (en) | Virtual environment operation support system | |
US20200151033A1 (en) | Programmable controller, management device, and control system | |
KR101212497B1 (en) | Method of monitoring resource and apparatus performing the same | |
JP6212823B2 (en) | Parallelization support device, execution device, control system, parallelization support method, and program | |
US9319291B2 (en) | Server system, management device, server management method, and program | |
JP2012181578A (en) | Update control device and program | |
CN109709900B (en) | Numerical controller | |
JP2015152987A (en) | control device | |
CN113225269B (en) | Container-based workflow scheduling method, device and system and storage medium |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A625 | Written request for application examination (by other person) |
Free format text: JAPANESE INTERMEDIATE CODE: A625 Effective date: 20151104 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20160713 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20160809 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20161005 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20161006 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20170404 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20170525 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20170526 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20170606 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20170822 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20170901 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6212823 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
S533 | Written request for registration of change of name |
Free format text: JAPANESE INTERMEDIATE CODE: R313533 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |