JP6488953B2 - 並列化方法、並列化ツール、車載装置 - Google Patents
並列化方法、並列化ツール、車載装置 Download PDFInfo
- Publication number
- JP6488953B2 JP6488953B2 JP2015180000A JP2015180000A JP6488953B2 JP 6488953 B2 JP6488953 B2 JP 6488953B2 JP 2015180000 A JP2015180000 A JP 2015180000A JP 2015180000 A JP2015180000 A JP 2015180000A JP 6488953 B2 JP6488953 B2 JP 6488953B2
- Authority
- JP
- Japan
- Prior art keywords
- core
- execution
- storage
- executed
- storing
- 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
- 238000000034 method Methods 0.000 title claims description 506
- 230000008569 process Effects 0.000 claims description 438
- 238000012545 processing Methods 0.000 claims description 94
- 238000003780 insertion Methods 0.000 claims description 56
- 230000037431 insertion Effects 0.000 claims description 56
- 230000005856 abnormality Effects 0.000 claims description 34
- 238000012986 modification Methods 0.000 description 35
- 230000004048 modification Effects 0.000 description 35
- 230000002159 abnormal effect Effects 0.000 description 4
- 238000004891 communication Methods 0.000 description 4
- 230000000052 comparative effect Effects 0.000 description 4
- 230000000694 effects Effects 0.000 description 4
- 230000001360 synchronised effect Effects 0.000 description 4
- 230000008859 change Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000012790 confirmation Methods 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000007704 transition 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/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/5038—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 execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
- G06F8/45—Exploiting coarse grain parallelism in compilation, i.e. parallelism between groups of instructions
- G06F8/451—Code distribution
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/5017—Task decomposition
Description
一つのコアを有するシングルコアマイコン用のシングルプログラムにおける並列可能な複数の処理(T1〜T14)から複数のコアを有するマルチコアマイコン用に並列化した並列プログラムを生成する並列化方法であって、
複数の処理は、異なるコアに割り振られた、実行順序が先である先行処理と、先行処理の実行が完了した後に実行させる後行処理とを含み、
異なるコア間で実行順序を維持するために、先行処理の実行が完了した際に、完了状態の記憶処理を並列プログラムに挿入する記憶処理挿入手順(S11)と、
異なるコア間で実行順序を維持するために、完了状態が記憶されるのを待って、完了状態が記憶されたことを条件に後行処理の実行に移行させる待ち処理を並列プログラムに挿入する待ち処理挿入手順(S12)と、
記憶処理を実行したコアに対して、記憶処理を実行したコアが先行処理後に実行した、先行処理及び後行処理のいずれでもない処理が完了すると、記憶処理を再度実行させる再記憶処理を並列プログラムに挿入する再記憶処理挿入手順(S13)と、を有することを特徴とする。
一つのコアを有するシングルコアマイコン用のシングルプログラムにおける並列可能な複数の処理(T1〜T14)から複数のコアを有するマルチコアマイコン用に並列化した並列プログラムを生成する並列化ツールであって、
複数の処理は、異なるコアに割り振られた、実行順序が先である先行処理と、先行処理の実行が完了した後に実行させる後行処理とを含み、
異なるコア間で実行順序を維持するために、先行処理の実行が完了した際に、完了状態の記憶処理を並列プログラムに挿入する記憶処理挿入ステップ(S11)と、
異なるコア間で実行順序を維持するために、完了状態が記憶されるのを待って、完了状態が記憶されたことを条件に後行処理の実行に移行させる待ち処理を並列プログラムに挿入する待ち処理挿入ステップ(S12)と、
記憶処理を実行したコアに対して、記憶処理を実行したコアが先行処理後に実行した、先行処理及び後行処理のいずれでもない処理が完了すると、記憶処理を再度実行させる再記憶処理を並列プログラムに挿入する再記憶処理挿入ステップ(S13)と、を有する点になる。
一つのコアを有するシングルコアマイコン用のシングルプログラムにおける並列可能な複数の処理(T1〜T14)を複数のコアを有するマルチコアマイコン用に並列化した並列プログラムと、並列プログラムで動作するマルチコアマイコンとを備えた車載装置であって、
複数の処理は、異なるコアに割り振られた、実行順序が先である先行処理と、先行処理の実行が完了した後に実行させる後行処理とを含み、
マルチコアマイコンは、
異なるコア間で実行順序を維持するために、先行処理の実行が完了した際に、完了状態を記憶する記憶処理(S21)と、
異なるコア間で実行順序を維持するために、完了状態が記憶されるのを待って、完了状態が記憶されたことを条件に後行処理の実行に移行させる待ち処理(S31、S43)と、
記憶処理を実行したコアが行う処理であり、記憶処理を実行したコアが先行処理後に実行した、先行処理及び後行処理のいずれでもない処理が完了すると、記憶処理を再度実行する再記憶処理(S32、S42)と、を有する点にある。
変形例1の自動並列化コンパイラ1は、異常判断処理を並列プログラム21a1に挿入する異常判断処理挿入手順を有していてもよい。また、変形例1のコンピュータ10は、異常判断処理を並列プログラム21a1に挿入する異常判断処理挿入ステップを有していてもよい。よって、変形例1の第1コア21cと第2コア21dは、異常判断処理を実行することになる。なお、異常判断処理は、判断処理に相当する。
変形例2では、記憶処理R1〜R9の内容、待ち処理の内容、再記憶処理の内容が上記実施形態と異なる。よって、変形例2の自動並列化コンパイラ1は、変形例2における記憶処理、待ち処理、再記憶処理の夫々を並列プログラムに挿入する手順を有している。また、コンピュータ10は、変形例2における記憶処理、待ち処理、再記憶処理の夫々を並列プログラムに挿入するステップを有している。さらに、第1コア21cと第2コア21dは、変形例2における記憶処理、待ち処理、再記憶処理を有した並列プログラムに従って動作する。なお、ここでは、便宜的に上記実施形態と同じ符号を用いている。
Claims (9)
- コアが一つであるシングルコアマイコン用のシングルプログラムにおける並列可能な複数の処理(T1〜T14)から複数の前記コアを有するマルチコアマイコン用に並列化した並列プログラムを生成する並列化方法であって、
複数の前記処理は、異なる前記コアに割り振られた、実行順序が先である先行処理と、
前記先行処理の実行が完了した後に実行させる後行処理とを含み、
異なる前記コア間で前記実行順序を維持するために、前記先行処理の実行が完了した際に、完了状態の記憶処理を前記並列プログラムに挿入する記憶処理挿入手順(S11)と、
異なる前記コア間で前記実行順序を維持するために、前記完了状態が記憶されるのを待って、前記完了状態が記憶されたことを条件に前記後行処理の実行に移行させる待ち処理を前記並列プログラムに挿入する待ち処理挿入手順(S12)と、
前記記憶処理を実行した前記コアに対して、前記記憶処理を実行した前記コアが前記先行処理後に実行した、前記先行処理及び前記後行処理のいずれでもない前記処理が完了すると、前記記憶処理を再度実行させる再記憶処理を前記並列プログラムに挿入する再記憶処理挿入手順(S13)と、を有することを特徴とする並列化方法。 - 前記再記憶処理挿入手順は、前記記憶処理を実行した前記コアが前記先行処理及び前記後行処理のいずれでもない前記処理が完了した後に前記待ち処理を実行する場合、前記記憶処理を実行した前記コアによる前記待ち処理中に実行される前記再記憶処理を挿入することを特徴とする請求項1に記載の並列化方法。
- 前記再記憶処理時に、前記再記憶処理時の記憶内容と前記再記憶処理前の記憶内容とを比較し、両記憶内容が異なる場合に異常と判断する判断処理を前記並列プログラムに挿入する判断処理挿入手順を有することを特徴とする請求項1又は2に記載の並列化方法。
- コアが一つであるシングルコアマイコン用のシングルプログラムにおける並列可能な複数の処理(T1〜T14)から複数の前記コアを有するマルチコアマイコン用に並列化した並列プログラムを生成する並列化ツールであって、
複数の前記処理は、異なる前記コアに割り振られた、実行順序が先である先行処理と、前記先行処理の実行が完了した後に実行させる後行処理とを含み、
異なる前記コア間で前記実行順序を維持するために、前記先行処理の実行が完了した際に、完了状態の記憶処理を前記並列プログラムに挿入する記憶処理挿入ステップ(S11)と、
異なる前記コア間で前記実行順序を維持するために、前記完了状態が記憶されるのを待って、前記完了状態が記憶されたことを条件に前記後行処理の実行に移行させる待ち処理を前記並列プログラムに挿入する待ち処理挿入ステップ(S12)と、
前記記憶処理を実行した前記コアに対して、前記記憶処理を実行した前記コアが前記先行処理後に実行した、前記先行処理及び前記後行処理のいずれでもない前記処理が完了すると、前記記憶処理を再度実行させる再記憶処理を前記並列プログラムに挿入する再記憶処理挿入ステップ(S13)と、を有することを特徴とする並列化ツール。 - 前記再記憶処理挿入ステップは、前記記憶処理を実行した前記コアが前記先行処理及び前記後行処理のいずれでもない前記処理が完了した後に前記待ち処理を実行する場合、前記記憶処理を実行した前記コアによる前記待ち処理中に実行される前記再記憶処理を挿入することを特徴とする請求項4に記載の並列化ツール。
- 前記再記憶処理時に、前記再記憶処理時の記憶内容と前記再記憶処理前の記憶内容とを比較し、両記憶内容が異なる場合に異常と判断する判断処理を前記並列プログラムに挿入する判断処理挿入ステップを有することを特徴とする請求項4又は5に記載の並列化ツール。
- コアが一つであるシングルコアマイコン用のシングルプログラムにおける並列可能な複数の処理(T1〜T14)を複数の前記コアを有するマルチコアマイコン用に並列化した並列プログラムと、前記並列プログラムで動作する前記マルチコアマイコンとを備えた車載装置であって、
複数の前記処理は、異なる前記コアに割り振られた、実行順序が先である先行処理と、前記先行処理の実行が完了した後に実行させる後行処理とを含み、
前記マルチコアマイコンは、
異なる前記コア間で前記実行順序を維持するために、前記先行処理の実行が完了した際に、完了状態を記憶する記憶処理(S21)と、
異なる前記コア間で前記実行順序を維持するために、前記完了状態が記憶されるのを待って、前記完了状態が記憶されたことを条件に前記後行処理の実行に移行させる待ち処理(S32、S43)と、
前記記憶処理を実行した前記コアが行う処理であり、前記記憶処理を実行した前記コアが前記先行処理後に実行した、前記先行処理及び前記後行処理のいずれでもない前記処理が完了すると、前記記憶処理を再度実行する再記憶処理(S31、S42)と、を有することを特徴とする車載装置。 - 前記記憶処理を実行した前記コアは、自身が前記先行処理及び前記後行処理のいずれでもない前記処理が完了した後に前記待ち処理を実行する場合、自身による前記待ち処理中に前記再記憶処理を実行することを特徴とする請求項7に記載の車載装置。
- 前記マルチコアマイコンは、前記再記憶処理時に、前記再記憶処理時の記憶内容と前記再記憶処理前の記憶内容とを比較し、両記憶内容が異なる場合に異常と判断する判断処理を有することを特徴とする請求項7又は8に記載の車載装置。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015180000A JP6488953B2 (ja) | 2015-09-11 | 2015-09-11 | 並列化方法、並列化ツール、車載装置 |
DE102016216298.5A DE102016216298A1 (de) | 2015-09-11 | 2016-08-30 | Parallelisierungsverfahren, parallelisierungstool und an einem fahrzeug befestigte vorrichtung |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015180000A JP6488953B2 (ja) | 2015-09-11 | 2015-09-11 | 並列化方法、並列化ツール、車載装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2017054447A JP2017054447A (ja) | 2017-03-16 |
JP6488953B2 true JP6488953B2 (ja) | 2019-03-27 |
Family
ID=58160759
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2015180000A Active JP6488953B2 (ja) | 2015-09-11 | 2015-09-11 | 並列化方法、並列化ツール、車載装置 |
Country Status (2)
Country | Link |
---|---|
JP (1) | JP6488953B2 (ja) |
DE (1) | DE102016216298A1 (ja) |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0646385B2 (ja) * | 1985-01-31 | 1994-06-15 | 富士重工業株式会社 | 自動車用コンピユ−タの誤動作防止方法 |
JP5076342B2 (ja) * | 2006-03-28 | 2012-11-21 | トヨタ自動車株式会社 | 分散制御装置 |
JP6018022B2 (ja) * | 2013-06-14 | 2016-11-02 | 株式会社デンソー | 並列化コンパイル方法、並列化コンパイラ、並列化コンパイル装置、及び、車載装置 |
-
2015
- 2015-09-11 JP JP2015180000A patent/JP6488953B2/ja active Active
-
2016
- 2016-08-30 DE DE102016216298.5A patent/DE102016216298A1/de active Pending
Also Published As
Publication number | Publication date |
---|---|
JP2017054447A (ja) | 2017-03-16 |
DE102016216298A1 (de) | 2017-03-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7844953B2 (en) | Program, apparatus and method for verifying program | |
US8336038B2 (en) | System and method for parallel execution of a program | |
JP4988789B2 (ja) | シミュレーション・システム、方法及びプログラム | |
EP3343351A1 (en) | Parallel program generating method and parallelization compiling apparatus | |
US10296316B2 (en) | Parallelization method, parallelization tool, and in-vehicle apparatus | |
US8595726B2 (en) | Apparatus and method for parallel processing | |
JP7385989B2 (ja) | 演算制御装置 | |
JP6464982B2 (ja) | 並列化方法、並列化ツール、車載装置 | |
JP6427055B2 (ja) | 並列化コンパイル方法、及び並列化コンパイラ | |
JP6488953B2 (ja) | 並列化方法、並列化ツール、車載装置 | |
WO2022183572A1 (zh) | 命令提交方法和装置、命令读取方法和装置、电子设备 | |
JP4840605B2 (ja) | Osの起動方法 | |
JP6243266B2 (ja) | 電子制御装置及びメモリ診断方法 | |
JP6690570B2 (ja) | 並列化方法、並列化ツール、車載制御装置 | |
JP6428557B2 (ja) | 並列化方法、並列化ツール | |
JP2009238176A (ja) | 情報処理装置およびプログラムの検証方法 | |
JP6558310B2 (ja) | 並列化方法、並列化ツール | |
JP4952317B2 (ja) | 退避データ判別方法、退避データ判別プログラムおよび退避データ判別装置 | |
JP5017396B2 (ja) | 情報処理装置およびプログラムの検証方法 | |
WO2021140812A1 (ja) | 演算装置及び検査方法 | |
JP2019179412A (ja) | デッドロック回避方法、デッドロック回避装置 | |
JP6600888B2 (ja) | 並列化コンパイラ、並列化コンパイル装置、及び並列プログラムの生成方法 | |
JP2018151803A (ja) | コンピュータプログラムの検査装置および車両制御用コンピュータプログラムの検査を行う車載装置 | |
WO2021024504A1 (ja) | 処理特定装置、方法及びプログラム | |
JP6221110B2 (ja) | 処理装置におけるエラーを判定及び解決する装置及び方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20171114 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20180620 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20180703 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20180808 |
|
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: 20190129 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20190211 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 6488953 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |