JPWO2020194402A1 - 情報処理装置、情報処理方法及び情報処理プログラム - Google Patents
情報処理装置、情報処理方法及び情報処理プログラム Download PDFInfo
- Publication number
- JPWO2020194402A1 JPWO2020194402A1 JP2021508384A JP2021508384A JPWO2020194402A1 JP WO2020194402 A1 JPWO2020194402 A1 JP WO2020194402A1 JP 2021508384 A JP2021508384 A JP 2021508384A JP 2021508384 A JP2021508384 A JP 2021508384A JP WO2020194402 A1 JPWO2020194402 A1 JP WO2020194402A1
- Authority
- JP
- Japan
- Prior art keywords
- execution
- computer
- program
- processing
- executed
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 230000010365 information processing Effects 0.000 title claims description 16
- 238000003672 processing method Methods 0.000 title claims description 3
- 238000000034 method Methods 0.000 claims abstract description 370
- 238000005192 partition Methods 0.000 claims description 6
- 238000000638 solvent extraction Methods 0.000 claims description 3
- 229910052739 hydrogen Inorganic materials 0.000 description 16
- 238000004891 communication Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 6
- 230000000694 effects Effects 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5066—Algorithms for mapping a plurality of inter-dependent sub-tasks onto a plurality of physical CPUs
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/04—Programme control other than numerical control, i.e. in sequence controllers or logic controllers
- G05B19/042—Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
- G05B19/0421—Multiprocessor system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3885—Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/505—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5077—Logical partitioning of resources; Management or configuration of virtualized resources
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/20—Pc systems
- G05B2219/22—Pc multi processor system
- G05B2219/2208—Each processor controls a different function of the machine
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Automation & Control Theory (AREA)
- Devices For Executing Special Programs (AREA)
Abstract
Description
ファクトリーオートメーションに於いても同様の傾向があり、特許文献1に記載の方法及び特許文献2に記載の方法が考案されている。
特許文献1では、複数の計算機(PLC:Programmable Logic Controller)にシーケンスプログラムを分散させて実行し、各計算機の処理負荷を下げることによりプログラムの実行時間を短縮する方法が記載されている。
また、特許文献2では、複数のPLCを共有メモリ及びバスで相互接続し、制御量に余力があるPLCが、制御量に余裕が無いPLCに代わって制御を行うことで制御システム全体として制御効率を向上させる方法が記載されている。
また、各計算機が制御する制御対象も、計算機の入出力などの制約により制限される。
このようなことから、プログラムを複数の計算機で分散させ、複数の計算機に協調してプログラムを実行させても、情報共有のためのアクセス遅延及び入出力の制約により、オーバーヘッドが大きくなる。このようなオーバーヘッドの増大により、プログラムの分散及び複数の計算機での協調実行による高速化、処理負荷の分散及び制御効率の向上が阻害されてしまう。
プログラムを、前記プログラムの一部の処理が2つ以上のブロック候補に併存することを許容して、複数のブロック候補に分割する第1の分割部と、
前記プログラムの一部の処理が前記複数のブロック候補のうちの2つ以上のブロック候補に併存するか否かを判定するブロック候補判定部と、
前記プログラムの一部の処理が2つ以上のブロック候補に併存する場合に、2つ以上のブロック候補に併存する前記プログラムの一部の処理である併存処理を前記2つ以上のブロック候補と同数の2つ以上の計算機に並列に実行させる並列実行方式により前記プログラムを実行する場合の実行時間と、前記併存処理を前記2つ以上の計算機のうちの1つの計算機に実行させて前記1つの計算機の実行結果を前記2つ以上の計算機のうちの他の計算機に共有させる共有実行方式により前記プログラムを実行する場合の実行時間とを比較し、前記並列実行方式と前記共有実行方式とのうち、実行時間がより短い方式を選択する方式選択部と、
前記複数のブロック候補と前記方式選択部により選択された方式とに基づき、前記プログラムを複数のブロックに分割する第2の分割部とを有する。
また、以下では、プログラムコードを単にプログラムともいう。
***前提***
先ず、本実施の形態の前提となる制御システムを説明する。
図1は、1台の計算機を用いる制御システムの構成例を示す。
計算機100は、共有バス200を介して制御対象機器(A)300、制御対象機器(B)301及び制御対象機器(C)302と接続されている。
計算機100は、プログラムメモリ101を有する。プログラムメモリ101は、プログラムコード102を格納する。
計算機100は、共有バス200を介して、制御対象機器(A)300、制御対象機器(B)301及び制御対象機器(C)302の各々の動作状態を読み取る。また、計算機100は、制御対象機器(A)300、制御対象機器(B)301及び制御対象機器(C)302の各々の動作状態を用いて、制御対象機器(A)300、制御対象機器(B)301及び制御対象機器(C)302の各々への制御信号を生成する。また、計算機100は、制御対象機器(A)300、制御対象機器(B)301及び制御対象機器(C)302の各々への制御信号を共有バス200を介して制御対象機器(A)300、制御対象機器(B)301及び制御対象機器(C)302の各々に書き込む。これにより、計算機100は、制御対象機器(A)300、制御対象機器(B)301及び制御対象機器(C)302の各々を制御する。
図2は、3台の計算機を用いる制御システムの構成例を示す。
図1のプログラムコード102は、プログラムコード(A)112、プログラムコード(B)122及びプログラムコード(C)132に分割されている。そして、プログラムコード(A)112が計算機(A)110のプログラムメモリ111に配置される。また、プログラムコード(B)122が計算機(B)120のプログラムメモリ121に配置される。更に、プログラムコード(C)132が計算機(C)130のプログラムメモリ131に配置される。
計算機(A)110はプログラムコード(A)112を実行して共有バス200を介して制御対象機器(A)300、制御対象機器(B)301及び制御対象機器(C)302を制御する。計算機(B)120はプログラムコード(B)122を実行して共有バス200を介して制御対象機器(A)300、制御対象機器(B)301及び制御対象機器(C)302を制御する。計算機(C)130はプログラムコード(C)132を実行して共有バス200を介して制御対象機器(A)300、制御対象機器(B)301及び制御対象機器(C)302を制御する。
制御信号を生成するために計算機(A)110、計算機(B)120及び計算機(C)130の間でデータを共有する必要がある場合は、共有メモリ201を用いて計算機(A)110、計算機(B)120及び計算機(C)130の間でデータを共有する。
一方、図2で示す共有メモリ201は、共有バス200を介してアクセスされるため、非常にアクセス速度が遅い。従って、共有メモリ201を用いた計算機間でのデータ共有は性能的な短所がある。そのため、プログラムコードの分割前よりも性能をよくするためには、分割後のプログラムコードを実行する計算機(A)110、計算機(B)120及び計算機(C)130が共有メモリ201にアクセスする機会が少なくするよう考慮する必要がある。
また、計算機としてPLCが用いられる制御システムでは、スキャンタイムと呼ばれる周期で、繰り返し同じプログラムコードが実行される。スキャンタイムが短いほど、制御対象機器に対して、きめ細かい制御指示が行える。このため、スキャンタイムが短いほど、制御システムとしては高性能である。
複数の計算機を用いて制御対象機器の制御を行う場合、スキャンタイムは最も計算が遅い計算機の実行時間に拘束される。従って、複数の計算機を用いて制御対象機器の制御を行う場合には、各計算機における分割後のプログラムコードの実行時間が計算機間で同等になるように考慮する必要がある。
図3は、本実施の形態に係る制御システムの構成例を示す。図3では、作図上の理由から、本実施の形態に係る制御システムは、計算機(A)110と計算機(B)120の2台の計算機で構成されるものとする。また、プログラムコード102は、プログラムコード(A)112とプログラムコード(B)122に分割されているものとする。また、制御対象機器としては、制御対象機器(A)300と制御対象機器(B)301が存在するものとする。
なお、図3に示す制御システムは計算機システムの例である。
計算機(B)120には、プログラムメモリ121とプロセッサ125と命令実行制御部126と命令実行制御情報127が含まれる。
プログラムコード(A)112は、固定実行部分113と動的実行部分114で構成される。
固定実行部分113は、計算機(A)110で固定的に実行される部分である。つまり、固定実行部分113は、計算機(A)110のみで実行される。
プログラムコード(B)122も固定実行部分123と動的実行部分124で構成される。固定実行部分123は計算機(B)120で固定的に実行される。つまり、固定実行部分123は計算機(B)120のみで実行される。
動的実行部分114及び動的実行部分124は、同じ処理である。動的実行部分114及び動的実行部分124は、条件により実行態様が変動する。より具体的には、条件の成否により、(1)動的実行部分114が計算機(A)110のみで実行される場合、(2)動的実行部分114が計算機(A)110で実行され、動的実行部分124が計算機(B)120で実行される場合、(3)動的実行部分124のみが計算機(B)120で実行される場合が生じ得る。命令実行制御部116及び命令実行制御情報117に従って、動的実行部分114及び動的実行部分124のいずれが実行されるかが制御される。
同様に、命令実行制御情報127には、実行条件が定義され、実行条件が成立した場合に、動的実行部分124のどの部分を計算機(B)120が実行するかが示される。
計算機(A)110と計算機(B)120とで分担して実行する処理(動的実行部分114と動的実行部分124)を分担実行処理ともいう。
実行条件は、例えば、制御対象機器(A)300の状態又は制御対象機器(B)301の状態に関する条件、IF文、CASE文等の条件分岐に関する条件である。
命令実行制御情報117及び命令実行制御情報127は、実行条件ごとに、各計算機で実行する命令量(処理量)が均等となるように事前にプログラムコード102を解析して生成される。
命令実行制御情報117及び命令実行制御情報127は、各々、実行条件情報に相当する。
より具体的には、命令実行制御部116は、計算機(A)110に固有に割り当てられた処理である固定実行部分113を実行する。また、命令実行制御部116は、命令実行制御情報117を参照し、実行条件が成立しているか否かを判定する。そして、実行条件が成立している場合に、命令実行制御部116は、分担実行処理を計算機(B)120と分担して実行する。命令実行制御部116は、条件判定部及び処理実行部に相当する。
命令実行制御部116は、具体的には、プロセッサ115で実行されるプログラムである。
同様に、命令実行制御部126は、プログラムコード(B)122を実行する。
より具体的には、命令実行制御部126は、計算機(B)120に固有に割り当てられた処理である固定実行部分123を実行する。また、命令実行制御部126は、命令実行制御情報127を参照し、実行条件が成立しているか否かを判定する。そして、実行条件が成立している場合に、命令実行制御部126は、分担実行処理を計算機(A)110と分担して実行する。命令実行制御部126も、条件判定部及び処理実行部に相当する。
命令実行制御部126も、具体的には、プロセッサ125で実行されるプログラムである。
また、プログラムコード割り当て装置500は、情報処理装置の例である。更に、プログラムコード割り当て装置500で行われる動作は、情報処理方法及び情報処理プログラムに相当する。
共有メモリアクセス性能情報402には、計算機(A)110及び計算機(B)120が共有メモリ201にアクセスする際のアクセス性能(アクセス遅延)が示される。
プログラムコード割り当て装置500は、ハードウェアとして、プロセッサ901、主記憶装置902、補助記憶装置903及び通信装置904を備える。
プロセッサ901は、CPU(Central Processing Unit)、DSP(Digital Signal Processor)等である。
主記憶装置902は、RAM(Random Access Memory)である。
補助記憶装置903は、ROM(Read Only Memory)、フラッシュメモリ、HDD(Hard Disk Drive)等である。
通信装置904は、データの通信処理を実行する電子回路である。
通信装置904は、例えば、通信チップ又はNIC(Network Interface Card)である。
これらプログラムは、補助記憶装置903から主記憶装置902にロードされる。そして、プロセッサ901がこれらプログラムを実行して、第1の分割部501、ブロック候補判定部502、方式選択部503及び第2の分割部504の動作を行う。
図5では、プロセッサ901が第1の分割部501、ブロック候補判定部502、方式選択部503及び第2の分割部504の機能を実現するプログラムを実行している状態を模式的に表している。
そして、OSの少なくとも一部がプロセッサ901により実行される。
プロセッサ901はOSの少なくとも一部を実行しながら、第1の分割部501、ブロック候補判定部502、方式選択部503及び第2の分割部504の機能を実現するプログラムを実行する。
プロセッサ901がOSを実行することで、タスク管理、メモリ管理、ファイル管理、通信制御等が行われる。
また、第1の分割部501、ブロック候補判定部502、方式選択部503及び第2の分割部504の処理の結果を示す情報、データ、信号値及び変数値の少なくともいずれかが、主記憶装置902、補助記憶装置903、プロセッサ901内のレジスタ及びキャッシュメモリの少なくともいずれかに記憶される。
また、第1の分割部501、ブロック候補判定部502、方式選択部503及び第2の分割部504の機能を実現するプログラムは、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ブルーレイ(登録商標)ディスク、DVD等の可搬記録媒体に格納されていてもよい。そして、第1の分割部501、ブロック候補判定部502、方式選択部503及び第2の分割部504の機能を実現するプログラムが格納された可搬記録媒体を商業的に流通させてもよい。
また、プログラムコード割り当て装置500は、処理回路により実現されてもよい。処理回路は、例えば、ロジックIC(Integrated Circuit)、GA(Gate Array)、ASIC(Application Specific Integrated Circuit)、FPGA(Field−Programmable Gate Array)である。
この場合は、第1の分割部501、ブロック候補判定部502、方式選択部503及び第2の分割部504は、それぞれ処理回路の一部として実現される。
なお、本明細書では、プロセッサと処理回路との上位概念を、「プロセッシングサーキットリー」という。
つまり、プロセッサと処理回路とは、それぞれ「プロセッシングサーキットリー」の具体例である。
なお、第1の分割部501により行われる処理は、第1の分割処理に相当する。
また、ブロック候補判定部502は、条件により実行時間が変動する処理である負荷変動処理がプログラムコード102に含まれているか否かを判定する。負荷変動処理は、具体的には、動的実行部分114に記述される処理(分担実行処理)である。
なお、ブロック候補判定部502により行われる処理は、ブロック候補判定処理に相当する。
並列実行方式は、2つ以上のブロック候補に併存するプログラムコード102の一部の処理である併存処理を2つ以上のブロック候補と同数の2つ以上の計算機に並列に実行させる方式である。
共有実行方式は、併存処理を2つ以上の計算機のうちの1つの計算機に実行させて1つの計算機の実行結果を2つ以上の計算機のうちの他の計算機に共有させる方式である。
また、方式選択部503は、プログラムコード102に負荷変動処理が含まれている場合に、単独実行方式と分担実行方式のいずれかを選択する。
単独実行方式は、負荷変動処理を複数の計算機のうちの1つの計算機に実行させる方式である。
分担実行方式は、負荷変動処理を複数の計算機に分担して実行させる方式である。
方式選択部503により行われる処理は、方式選択処理に相当する。
また、第2の分割部504は、命令実行制御部116及び命令実行制御情報117を生成し、生成した命令実行制御部116及び命令実行制御情報117を出力する。
図7は、プログラムコード割り当て装置500の動作の概要を示すフローチャートである。
図7を参照して、プログラムコード割り当て装置500の動作の概要を説明する。
第1の分割部501は、計算機情報401を参照することで、本実施の形態に係る制御システムには、計算機(A)110と計算機(B)120が存在することを認識する。このため、本実施の形態では、第1の分割部501は、プログラムコード102を2つのブロック候補に分割する。
また、第1の分割部501は、プログラムコード102を解析し、プログラムコード102を構成する複数の処理を特定する。また、第1の分割部501は、プログラムコード102を構成する処理の実行順序を特定する。そして、第1の分割部501は、実行順序に基づき、プログラムコード102を2つのブロック候補に分割する。なお、プログラムコード102を2つのブロック候補に分割するパターンが複数存在する場合は、第1の分割部501は、複数のパターンのうち、プログラムコード102の実行時間が最も短いパターンを選択する。そして、第1の分割部501は、選択したパターンでプログラムコード102を2つのブロック候補に分割する。
なお、第1の分割部501は、実際にプログラムコード102を2つのブロック候補に分割する必要はなく、プログラムコード102を論理的に2つのブロック候補に分割すればよい。
ステップS52においてプログラムコード102に併存処理が存在すると判定された場合に、方式選択部503は、プログラムコード102の分割方式として、並列実行方式及び共有実行方式のうちいずれかを選択する。より具体的には、方式選択部503は、並列実行方式によりプログラムコード102を実行する場合の実行時間と、共有実行方式によりプログラムコード102を実行する場合の実行時間とを比較する。そして、方式選択部503は、並列実行方式と共有実行方式とのうち、実行時間がより短い方式を選択する。
また、ステップS52においてプログラムコード102に負荷変動処理が存在すると判定された場合に、方式選択部503は、プログラムコード102の分割方式として、単独実行方式及び分担実行方式のうちのいずれかを選択する。より具体的には、方式選択部503は、条件ごとに、単独実行方式によりプログラムコード102を実行する場合の実行時間と、分担実行方式によりプログラムコード102を実行する場合の実行時間とを比較する。そして、方式選択部503は、条件ごとに、単独実行方式と分担実行方式とのうち、実行時間がより短い方式を選択する。
より具体的には、ステップS53において方式選択部503により並列実行方式が選択された場合は、第2の分割部504は、2つのブロック候補に基づき、併存処理が計算機(A)110と計算機(B)120で並列に実行されるようにプログラムコード102を2つのブロックに分割する。
ステップS53において方式選択部503により共有実行方式が選択された場合は、第2の分割部504は、2つのブロック候補に基づき、併存処理が計算機(A)110又は計算機(B)120のみで実行されるようにプログラムコード102を2つのブロックに分割する。
また、ステップS53において方式選択部503により単独実行方式が選択された場合は、第2の分割部504は、は、2つのブロック候補に基づき、負荷変動処理が計算機(A)110又は計算機(B)120のみで実行されるようにプログラムコード102を2つのブロックに分割する。
また、ステップS53において方式選択部503により分担実行方式が選択された場合は、第2の分割部504は、2つのブロック候補に基づき、負荷変動処理が計算機(A)110と計算機(B)120で分担して実行されるようにプログラムコード102を2つのブロックに分割する。また、第2の分割部504は、命令実行制御情報117と命令実行制御情報127を生成する。
そして、第2の分割部504は、2つのブロックをプログラムコード(A)112とプログラムコード(B)122として出力し、また、命令実行制御情報117と命令実行制御情報127を出力する。
第1の分割部501は、図8に示す構成を2つの部分に分割することで、プログラムコード102を論理的に2つのブロック候補に分割することができる。
第1の分割部501は、プログラムコード102の各処理の命令量(処理量)を、計算機情報401に示される計算機(A)110の処理性能及び計算機(B)120の処理性能の各々で除算することで、計算機(A)110の各処理の実行時間及び計算機(B)120の各処理の実行時間を得ることができる。なお、ここでは、説明の簡明のために、全ての処理の実行時間は計算機(A)110と計算機(B)120で共通し、一律に1Tであるものとする。
図14は、図4に示すステップS51の詳細を示すフローチャートである。
ステップS511の結果、図8に例示するプログラム実行順序情報403が得られる。
ステップS512の結果、出力関係処理情報404が得られる。
出力関係処理情報404には、出力と、出力の生成に必要な処理との組が示される。
本実施の形態では、第1の分割部501は、プログラムコード102を2つのブロック候補に分割する。
つまり、第1の分割部501は、出力0の生成に必要な処理を、計算機(A)110及び計算機(B)120のどちらかに割り当てる。また、第1の分割部501は、出力1の生成に必要な処理を、計算機(A)110及び計算機(B)120のどちらかに割り当てる。また、第1の分割部501は、出力2の生成に必要な処理を、計算機(A)110及び計算機(B)120のどちらかに割り当てる。また、第1の分割部501は、出力3の生成に必要な処理を、計算機(A)110及び計算機(B)120のどちらかに割り当てる。
第1の分割部501は、計算機情報401を参照することで、プログラムコード102の各処理の実行時間(スキャンタイム)を得ることができる。なお、本実施の形態では、前述のように、説明の簡明化のため、各処理の実行時間は一律に1Tと仮定している。
実行時間(スキャンタイム)が最小のパターンが判明した場合に、第1の分割部501は、当該パターンでのブロック候補が示されるブロック候補情報405を生成する。そして、第1の分割部501は、ブロック候補情報405をブロック候補判定部502に出力する。
なお、第1の分割部501は、実行時間(スキャンタイム)が最も短いパターンを選択することに代えて、実行時間(スキャンタイム)が閾値以下になるパターンを選択するようにしてもよい。
図9は、16通りのパターンのうち実行時間が最小になるパターンを示す。つまり、図9は、ブロック候補情報405の例を示す。
図9の例では、計算機(A)110が処理(A、B、E、F、I、J、NとD、H、M、R)を実行する。また、計算機(B)120が、処理(B、C、D、F、G、H、K、L、O、P)を実行する。
図9の例では、計算機(A)110の実行時間は11Tである。一方、計算機(B)120の実行時間は10Tである。スキャンタイムは計算機(A)110の実行時間と計算機(B)120の実行時間のうち大きい方に拘束される。このため、図9の例では、プログラムコード102の全体の実行時間(=スキャンタイム)は11Tである。
図15及び図16は、図4に示すステップS52及びステップS53の詳細を示すフローチャートである。ステップS52XがステップS52の詳細である。ステップS53XがステップS53の詳細である。
一方、併存処理が存在しない場合(ステップS522でNO)は、処理が図16のステップS523に進む。
つまり、方式選択部503は、並列実行方式の実行時間と共有実行方式の実行時間を算出する。
一方、並列実行方式の実行時間が共有実行方式の実行時間以下である場合(ステップS531でNO)は、方式選択部503は、ステップS533において、現在着目している併存処理に確認済みマークをつける。確認済みマークがつけられた併存処理は後のステップS521の対象にならない。
処理(B)の結果は、処理(F)と処理(E)(計算機(A)110で実行)で用いられる。
処理(F)の結果は、処理(J)(計算機(A)110で実行)と処理(K)(計算機(B)120で実行)で用いられる。
処理(D)の結果は、処理(H)で用いられる。
また、処理(H)の結果は、処理(M)(計算機(A)110で実行)と処理(K)と処理(L)(ともに計算機(B)120で実行)で用いられる。
処理(B)の結果は処理(F)で用いられるため、処理(B)と処理(F)は同じ計算機で実行させることが望ましい。
ここで、共有実行方式として、例えば、処理(B)と処理(F)を計算機(B)120のみで実行し、計算機(A)110は処理(F)の結果を共有することを想定する。この場合は、計算機(A)110では2T分の処理を実行しなくてよくなる。このため、計算機(A)110の実行時間は11Tよりも短くできる可能性がある。
ただし、前述したように、計算機間での情報の共有は共有メモリ201を介する必要がある。共有メモリ201を用いる場合は、オーバーヘッドが発生する。従って、処理(B)と処理(F)を計算機(B)120に割り当てるか否かについては、このオーバーヘッドを考慮する必要がある。
計算機(A)110の処理(A、E、I、J、NとD、H、M、RとO(f))に要する時間と、計算機(B)120の処理(B、C、D、F、G、H、K、L、O、P)に要する時間とのうちの大きい方が、共有を考慮しない場合(共有メモリ201を用いない場合)のスキャンタイム(11T)よりも大きいか否かにより、処理(B)と処理(F)を計算機(B)120のみで実行させるか否かを判定することができる。つまり、計算機(A)110の処理(A、E、I、J、NとD、H、M、RとO(f))に要する時間と、計算機(B)120の処理(B、C、D、F、G、H、K、L、O、P)に要する時間とのうちの大きい方が、共有を考慮しない場合(共有メモリ201を用いない場合)のスキャンタイム(11T)よりも小さければ、スキャンタイムが短縮できる。従って、この場合は、計算機(B)120のみが処理(B)と処理(F)を実行すること(共有実行方式)が望ましい。計算機(A)110の処理(A、E、I、J、NとD、H、M、RとO(f))に要する時間と、計算機(B)120の処理(B、C、D、F、G、H、K、L、O、P)に要する時間とのうちの大きい方が、共有を考慮しない場合(共有メモリ201を用いない場合)のスキャンタイム(11T)以上であれば、スキャンタイムが変化しない又はスキャンタイムが増大するため、計算機(A)110及び計算機(B)120の各々が処理(B)と処理(F)を実行すること(並列実行方式)が望ましい。
計算機(B)120のみで処理(B)と処理(F)を実行し、処理(F)の実行結果を共有メモリ201を用いて共有する場合は、計算機(A)110の全ての処理の実行に要する時間は10Tとなる。このため、計算機(A)110が処理(B)と処理(F)を実行しない場合の計算機(A)110の実行時間は、計算機(A)110が処理(B)と処理(F)を実行する場合のスキャンタイム(11T)よりも小さくなる。この場合は、計算機(B)120のみで処理(B)と処理(F)を実行する方がよいと判定できる。
計算機(A)110のみが処理(D)と処理(H)を実行する場合の計算機(A)110の実行時間は10Tであり、計算機(B)120の実行時間は9Tである。
計算機(B)120のみが処理(D)と処理(H)を実行する場合の計算機(A)110の実行時間は9Tであり、計算機(B)120の実行時間は10Tである、どちらのケースも大きな実行時間は10Tであるため、スキャンタイムはともに10Tである。このため、計算機(A)110のみが処理(D)と処理(H)を実行する場合及び計算機(B)120のみが処理(D)と処理(H)を実行する場合のどちらを選択してもよい。
図10は、一例として、処理(B)と処理(F)は計算機(B)120のみで実行し、処理(D)と処理(H)は計算機(A)110のみで実行する場合の、ブロック候補の例を示す。
一方、負荷変動処理が存在しない場合(ステップS524でNO)は、処理が図17のステップS541に進む。
つまり、方式選択部503は、単独実行方式の実行時間と分担実行方式の実行時間を算出する。
一方、単独実行方式の実行時間が分担実行方式の実行時間以下である場合(ステップS536でNO)は、方式選択部503は、ステップS538において、現在着目している負荷変動処理に確認済みマークをつける。確認済みマークがつけられた負荷変動処理は後のステップS523の対象にならない。
また、この場合は、方式選択部503は第2の分割部504に分担実行方式を選択したことと、分担実行方式を選択した負荷変動処理を通知する。
図11では、処理(H)が負荷変動処理である。
図11の例では、処理(D)の結果により処理(H)の処理量が変化するものとする。具体的には、処理(D)の結果が基準αに合致する場合、つまり、処理(D)の結果が基準αに合致するという条件が成立する場合には、処理(H)の実行時間が2Tになるものとする。一方、処理(D)の結果が基準αに合致しない場合、つまり、処理(D)の結果が基準αに合致するという条件が成立しない場合には、処理(H)の実行時間は1Tのままであるものとする。
(1)処理(D)の結果が基準αに合致する場合
計算機(A)110の実行時間
=処理(A、E、I、J、N、O(f))+処理(D、2*H、M、R)=6T+5T
=11T
計算機(B)120の実行時間
=処理(B、C、F、G、K、L、O、P+O(h))=9T
(2)処理(D)の結果が基準αに合致しない場合
計算機(A)110の実行時間
=処理(A、E、I、J、N、O(f))+処理(D、H、M、R)=6T+4T
=10T
計算機(B)120の実行時間
=処理(B、C、F、G、K、L、O、P+O(h))=9T
(1)処理(D)の結果が基準αに合致する場合
計算機(A)110の実行時間
==処理(A、E、I、J、N、O(f))+処理(D、H、M、R)=6T+4T
=10T
計算機(B)120の実行時間
=処理(B、C、F、G、K、L、O、P+H)=9T
(2)処理(D)の結果が基準αに合致しない場合
計算機(A)110の実行時間
=処理(A、E、I、J、N、O(f))+処理(D、H、M、R)=6T+4T
=10T
計算機(B)120の実行時間
=処理(B、C、F、G、K、L、O、P+H)=9T
分担実行方式を選択した場合のブロック候補情報405の例を図12に示す。
図17は、図4のステップS54の詳細を示す。
図12に示す例では、第2の分割部504は、処理(D)の結果が基準αに合致するという条件が成立する場合に処理(H)を計算機(A)110と計算機(B)120で分担する旨の命令実行制御情報117と命令実行制御情報127を生成する。
命令実行制御情報117には、例えば、動的実行部分として処理(H)が記述され、実行条件として、処理(D)の結果が基準αに合致するという条件が記述される。また、命令実行制御情報117には、実行条件が成立した場合の動作として、処理(H)の前半部分を計算機(A)110が実行することが記述され、実行条件が不成立の場合の動作として、処理(H)の全てを実行することが記述される。
命令実行制御情報127には、例えば、動的実行部分として処理(H)が記述され、実行条件として、処理(D)の結果が基準αに合致するという条件が記述される。また、命令実行制御情報127には、実行条件が成立した場合の動作として、処理(H)の後半部分を計算機(B)120が実行することが記述され、実行条件が不成立の場合の動作として処理(H)を実行しないことが記述される。
つまり、固定実行部分113には、処理(A,E,I,J,N,D,M,R)が記述され、動的実行部分114には処理(H)が記述される。一方、固定実行部分123には、処理(B,C,F,G,K,L,O,P)が記述され、動的実行部分124には処理(H)が記述される。
以下では、計算機(A)110の動作として説明するが、以下の説明は計算機(B)120にも適用される。
具体的には、命令実行制御部116は、次に実行する処理が命令実行制御情報117に動的実行部分として記述されている処理と一致するか否かを判定する。次に実行する実行する処理が命令実行制御情報117に動的実行部分として記述されている処理と一致しない場合には、命令実行制御部116は、次に実行する処理が固定実行部分113であると判定する。
一方、次に実行する処理が固定実行部分113でない場合(ステップS62でNO)は、処理がステップS64に進む。
実行条件が成立している場合(ステップS65でYES)は、処理がステップS66に進む。
一方、実行条件が成立していない場合(ステップS65でNO)は、処理がステップS67に進む。
以上のように、本実施の形態では、併存処理が存在する場合に、並列実行方式と共有実行方式とのうち、実行時間がより短い方式が選択される。また、本実施の形態では、負荷変動処理が存在する場合に、単独実行方式と分担実行方式とのうち、実行時間がより短い方式が選択される。
このため、本実施の形態によれば、オーバーヘッドの少ない効率的なプログラムの分割を実現することができる。
また、本実施の形態では、以上のように分割されたプログラムコードを各計算機が実行する。このため、少ないオーバーヘッドで効率的に制御対象機器を制御することができる。
計算機(B)120には、プログラムメモリ121とプロセッサ125と命令実行制御部126と命令実行制御情報127が含まれる。
第1の分割部501は、プログラムコード102の各処理の命令量(処理量)を、計算機情報401に示される計算機(A)110の処理性能及び計算機(B)120の処理性能の各々で除算することで、計算機(A)110の各処理の実行時間及び計算機(B)120の各処理の実行時間を得ることができる。なお、ここでは、説明の簡明のために、全ての処理の実行時間は計算機(A)110と計算機(B)120で共通し、一律に1Tであるものとする。
(1)処理(D)の結果が基準αに合致する場合
計算機(A)110の実行時間
=処理(A、E、I、J、N、O(f))+処理(D、H、M、R)=6T+4T
=10T
計算機(B)120の実行時間
=処理(B、C、F、G、K、L、O、P+H)=9T
(2)処理(D)の結果が基準αに合致しない場合
計算機(A)110の実行時間
=処理(A、E、I、J、N、O(f))+処理(D、H、M、R)=6T+4T
=10T
計算機(B)120の実行時間
=処理(B、C、F、G、K、L、O、P+H)=9T
具体的には、命令実行制御部116は、次に実行する処理が命令実行制御情報117に動的実行部分として記述されている処理と一致するか否かを判定する。次に実行する処理が命令実行制御情報117に動的実行部分として記述されている処理と一致しない場合には、命令実行制御部116は、次に実行する処理が固定実行部分113であると判定する。
Claims (10)
- プログラムを、前記プログラムの一部の処理が2つ以上のブロック候補に併存することを許容して、複数のブロック候補に分割する第1の分割部と、
前記プログラムの一部の処理が前記複数のブロック候補のうちの2つ以上のブロック候補に併存するか否かを判定するブロック候補判定部と、
前記プログラムの一部の処理が2つ以上のブロック候補に併存する場合に、2つ以上のブロック候補に併存する前記プログラムの一部の処理である併存処理を前記2つ以上のブロック候補と同数の2つ以上の計算機に並列に実行させる並列実行方式により前記プログラムを実行する場合の実行時間と、前記併存処理を前記2つ以上の計算機のうちの1つの計算機に実行させて前記1つの計算機の実行結果を前記2つ以上の計算機のうちの他の計算機に共有させる共有実行方式により前記プログラムを実行する場合の実行時間とを比較し、前記並列実行方式と前記共有実行方式とのうち、実行時間がより短い方式を選択する方式選択部と、
前記複数のブロック候補と前記方式選択部により選択された方式とに基づき、前記プログラムを複数のブロックに分割する第2の分割部とを有する情報処理装置。 - 前記第2の分割部は、
前記方式選択部により前記並列実行方式が選択された場合は、前記複数のブロック候補に基づき、前記併存処理が前記2つ以上の計算機で並列に実行されるように前記プログラムを複数のブロックに分割し、
前記方式選択部により前記共有実行方式が選択された場合は、前記複数のブロック候補に基づき、前記併存処理が前記1つの計算機のみで実行されるように前記プログラムを複数のブロックに分割する請求項1に記載の情報処理装置。 - 前記ブロック候補判定部は、
条件により実行時間が変動する処理である負荷変動処理が前記プログラムに含まれているか否かを判定し、
前記方式選択部は、
前記プログラムに前記負荷変動処理が含まれている場合に、前記負荷変動処理を複数の計算機のうちの1つの計算機に実行させる単独実行方式と、前記負荷変動処理を前記複数の計算機に分担して実行させる分担実行方式とのうちのいずれかを選択する請求項1に記載の情報処理装置。 - 前記方式選択部は、
条件ごとに、前記単独実行方式により前記プログラムを実行する場合の実行時間と、前記分担実行方式により前記プログラムを実行する場合の実行時間とを比較し、
条件ごとに、前記単独実行方式と前記分担実行方式とのうち、実行時間がより短い方式を選択する請求項3に記載の情報処理装置。 - 前記第2の分割部は、
前記方式選択部により全ての条件で前記単独実行方式が選択された場合は、前記複数のブロック候補に基づき、前記負荷変動処理が前記1つの計算機のみで実行されるように前記プログラムを複数のブロックに分割し、
前記方式選択部によりいずれかの条件で前記分担実行方式が選択された場合は、前記複数のブロック候補に基づき、前記負荷変動処理が前記複数の計算機で分担して実行されるように前記プログラムを複数のブロックに分割し、前記負荷変動処理が前記複数の計算機で分担して実行されるための条件が実行条件として定義される実行条件情報を生成する請求項4に記載の情報処理装置。 - 前記第1の分割部は、
前記プログラムを前記複数のブロック候補に分割するパターンが複数存在する場合に、複数のパターンのうち、前記プログラムの実行時間が最も短いパターンを選択し、選択したパターンで前記プログラムを前記複数のブロック候補に分割する請求項1に記載の情報処理装置。 - 計算機システムに含まれる計算機であって、
前記計算機システムに含まれる他の計算機と分担して実行する分担実行処理を実行するための条件が実行条件として定義される実行条件情報を参照し、前記実行条件が成立しているか否かを判定する条件判定部と、
前記計算機に固有に割り当てられた処理を実行するとともに、前記条件判定部により前記実行条件が成立していると判定された場合に、前記分担実行処理を前記他の計算機と分担して実行する処理実行部とを有する計算機。 - 複数の計算機が含まれる計算機システムであって、
各計算機は、
各計算機に固有に割り当てられた処理を実行し、
前記計算機システムに含まれる他の計算機と分担して実行する分担実行処理を実行するための条件が実行条件として定義される実行条件情報を参照し、前記実行条件が成立しているか否かを判定し、
前記実行条件が成立している場合に、前記分担実行処理を他の計算機と分担して実行する計算機システム。 - コンピュータが、プログラムを、前記プログラムの一部の処理が2つ以上のブロック候補に併存することを許容して、複数のブロック候補に分割し、
前記プログラムの一部の処理が前記複数のブロック候補のうちの2つ以上のブロック候補に併存するか否かを判定し、
前記プログラムの一部の処理が2つ以上のブロック候補に併存する場合に、前記コンピュータが、2つ以上のブロック候補に併存する前記プログラムの一部の処理である併存処理を前記2つ以上のブロック候補と同数の2つ以上の計算機に並列に実行させる並列実行方式により前記プログラムを実行する場合の実行時間と、前記併存処理を前記2つ以上の計算機のうちの1つの計算機に実行させて前記1つの計算機の実行結果を前記2つ以上の計算機のうちの他の計算機に共有させる共有実行方式により前記プログラムを実行する場合の実行時間とを比較し、前記並列実行方式と前記共有実行方式とのうち、実行時間がより短い方式を選択し、
前記コンピュータが、前記複数のブロック候補と選択された方式とに基づき、前記プログラムを複数のブロックに分割する情報処理方法。 - プログラムを、前記プログラムの一部の処理が2つ以上のブロック候補に併存することを許容して、論理的に複数のブロック候補に分割する第1の分割処理と、
前記プログラムの一部の処理が前記複数のブロック候補のうちの2つ以上のブロック候補に併存するか否かを判定するブロック候補判定処理と、
前記プログラムの一部の処理が2つ以上のブロック候補に併存する場合に、2つ以上のブロック候補に併存する前記プログラムの一部の処理である併存処理を前記2つ以上のブロック候補と同数の2つ以上の計算機に並列に実行させる並列実行方式により前記プログラムを実行する場合の実行時間と、前記併存処理を前記2つ以上の計算機のうちの1つの計算機に実行させて前記1つの計算機の実行結果を前記2つ以上の計算機のうちの他の計算機に共有させる共有実行方式により前記プログラムを実行する場合の実行時間とを比較し、前記並列実行方式と前記共有実行方式とのうち、実行時間がより短い方式を選択するする方式選択処理と、
前記複数のブロック候補と前記方式選択処理により選択された方式とに基づき、前記プログラムを複数のブロックに分割する第2の分割処理とをコンピュータに実行させる情報処理プログラム。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2019/012217 WO2020194402A1 (ja) | 2019-03-22 | 2019-03-22 | 情報処理装置、計算機、計算機システム、情報処理方法及び情報処理プログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP6929485B2 JP6929485B2 (ja) | 2021-09-01 |
JPWO2020194402A1 true JPWO2020194402A1 (ja) | 2021-09-13 |
Family
ID=72610694
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2021508384A Active JP6929485B2 (ja) | 2019-03-22 | 2019-03-22 | 情報処理装置、情報処理方法及び情報処理プログラム |
Country Status (7)
Country | Link |
---|---|
US (1) | US20210357266A1 (ja) |
JP (1) | JP6929485B2 (ja) |
KR (1) | KR20210119528A (ja) |
CN (1) | CN113614696A (ja) |
DE (1) | DE112019006890T5 (ja) |
TW (1) | TW202036271A (ja) |
WO (1) | WO2020194402A1 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7091986B2 (ja) * | 2018-10-05 | 2022-06-28 | オムロン株式会社 | 制御システム、制御方法、および開発支援プログラム |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0855091A (ja) * | 1994-08-08 | 1996-02-27 | Hitachi Ltd | 分散処理システムおよび分散処理システムにおける負荷分散方法 |
JP2009151645A (ja) * | 2007-12-21 | 2009-07-09 | Mitsubishi Electric Corp | 並列処理装置及びプログラム並列化装置 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010079355A (ja) | 2008-09-24 | 2010-04-08 | Koyo Electronics Ind Co Ltd | 複数plc間の協調制御システム |
US20180095441A1 (en) | 2016-02-15 | 2018-04-05 | Mitsubishi Electric Corporation | Load distribution device |
-
2019
- 2019-03-22 JP JP2021508384A patent/JP6929485B2/ja active Active
- 2019-03-22 CN CN201980094289.9A patent/CN113614696A/zh not_active Withdrawn
- 2019-03-22 WO PCT/JP2019/012217 patent/WO2020194402A1/ja active Application Filing
- 2019-03-22 DE DE112019006890.3T patent/DE112019006890T5/de not_active Withdrawn
- 2019-03-22 KR KR1020217028439A patent/KR20210119528A/ko active IP Right Grant
- 2019-08-23 TW TW108130218A patent/TW202036271A/zh unknown
-
2021
- 2021-07-29 US US17/388,596 patent/US20210357266A1/en not_active Abandoned
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0855091A (ja) * | 1994-08-08 | 1996-02-27 | Hitachi Ltd | 分散処理システムおよび分散処理システムにおける負荷分散方法 |
JP2009151645A (ja) * | 2007-12-21 | 2009-07-09 | Mitsubishi Electric Corp | 並列処理装置及びプログラム並列化装置 |
Also Published As
Publication number | Publication date |
---|---|
TW202036271A (zh) | 2020-10-01 |
JP6929485B2 (ja) | 2021-09-01 |
KR20210119528A (ko) | 2021-10-05 |
WO2020194402A1 (ja) | 2020-10-01 |
DE112019006890T5 (de) | 2021-11-18 |
CN113614696A (zh) | 2021-11-05 |
US20210357266A1 (en) | 2021-11-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10514748B2 (en) | Reactive power management for non-volatile memory controllers | |
US11436400B2 (en) | Optimization method for graph processing based on heterogeneous FPGA data streams | |
JP4889357B2 (ja) | 試験装置、プログラムおよび試験方法 | |
US10445131B2 (en) | Core prioritization for heterogeneous on-chip networks | |
US11150899B2 (en) | Selecting a precision level for executing a workload in an electronic device | |
WO2001090887A1 (fr) | Procede de traitement de programme permettant un traitement haute vitesse au moyen d'un materiel a reconfiguration dynamique et programme permettant d'executer ce procede de traitement | |
JP6929485B2 (ja) | 情報処理装置、情報処理方法及び情報処理プログラム | |
JP2016212580A (ja) | 半導体記憶装置、半導体記憶装置の制御方法および制御プログラム | |
JP2005173648A (ja) | 高位合成方法及び高位合成装置 | |
US10223260B2 (en) | Compiler-generated memory mapping hints | |
CN102567462A (zh) | 异类文件优化 | |
JP7529022B2 (ja) | 情報処理装置、情報処理方法、及びプログラム | |
JP7367365B2 (ja) | タスク実行管理装置、タスク実行管理方法、および、タスク実行管理プログラム | |
KR102034660B1 (ko) | 이종 시스템의 가속기 제어 방법 및 이를 수행하기 위한 이종 시스템 | |
JP6580288B2 (ja) | 情報処理装置、情報処理方法及び情報処理プログラム | |
JP2019200793A (ja) | 半導体システム及びその動作方法 | |
Koch et al. | Modeling and synthesis of hardware-software morphing | |
US20240193424A1 (en) | Computer-readable recording medium storing distributed learning program, distributed learning method, and distributed learning device | |
US20240361940A1 (en) | Storage system and storage system control method | |
US20240329849A1 (en) | Memory access method and memory access control device | |
US20240281042A1 (en) | Thermal control system on chip | |
JP6968318B1 (ja) | データ処理装置、データ処理方法及びデータ処理プログラム | |
US20230105184A1 (en) | Information processing system, information processing method, and recording medium | |
KR20210127339A (ko) | 리프레시 주기가 다른 다수의 영역을 구비한 메모리 장치, 이를 제어하는 메모리 컨트롤러 및 이를 포함하는 메모리 시스템 | |
JP6317603B2 (ja) | 情報処理装置、情報処理装置の制御方法及びプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20210414 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20210414 |
|
A871 | Explanation of circumstances concerning accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A871 Effective date: 20210414 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20210621 |
|
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: 20210713 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20210810 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6929485 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |