JP2019159931A - 並列化方法、並列化ツール、及びマルチコアマイコン - Google Patents
並列化方法、並列化ツール、及びマルチコアマイコン Download PDFInfo
- Publication number
- JP2019159931A JP2019159931A JP2018047058A JP2018047058A JP2019159931A JP 2019159931 A JP2019159931 A JP 2019159931A JP 2018047058 A JP2018047058 A JP 2018047058A JP 2018047058 A JP2018047058 A JP 2018047058A JP 2019159931 A JP2019159931 A JP 2019159931A
- Authority
- JP
- Japan
- Prior art keywords
- abnormality diagnosis
- core
- diagnosis process
- 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
Images
Classifications
-
- 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/456—Parallelism detection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/3017—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is implementing multitasking
-
- 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
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0706—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
- G06F11/0715—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a system implementing multitasking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0751—Error or fault detection not based on redundancy
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0793—Remedial or corrective actions
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Software Systems (AREA)
- Mathematical Physics (AREA)
- Quality & Reliability (AREA)
- Debugging And Monitoring (AREA)
- Test And Diagnosis Of Digital Computers (AREA)
- Devices For Executing Special Programs (AREA)
Abstract
Description
コアが一つであるシングルコアマイコン用のシングルプログラムから、複数のコア(31c、31d)を有するマルチコアマイコン(31)用の並列プログラムを生成する並列化方法であって、
シングルプログラムに含まれる複数の処理単位(A1〜A3、B1〜B2、C1〜C4)の依存関係を解析し、解析した複数の処理単位の依存関係に基づき、複数の処理単位の複数のコアへの割り付けを行うとともに、複数の処理単位の実行スケジュールを決定する第1スケジューリング手順(10a〜10e)と、
第1スケジューリング手順によって決定された、複数のコアにおける複数の処理単位の実行スケジュールに基づき、処理単位が実行されないコアの空き時間に、マルチコアマイコンのハードウエアの異常診断処理が実行されるように、当該異常診断処理の実行スケジュールを決定する第2スケジューリング手順(10f)と、を備え、
第1及び第2スケジューリング手順によって決定された実行スケジュールに従って、複数のコアにおいて複数の処理単位及び異常診断処理を実行するための並列プログラムを生成するものであり、
第2スケジューリング手順では、処理単位が実行されない空き時間となるコア以外のコアにおいて、空き時間と並行して実行される処理単位により利用されるハードウエアが、異常診断処理の診断対象となるハードウエアと重複しないことを条件として、空き時間に異常診断処理が実行されるように、異常診断処理の実行スケジュールが決定される。
コアが一つであるシングルコアマイコン用のシングルプログラムから、複数のコア(31c、31d)を有するマルチコアマイコン(31)用の並列プログラムを生成する並列化ツールであって、
シングルプログラムに含まれる複数の処理単位(A1〜A3、B1〜B2、C1〜C4)の依存関係を解析し、解析した複数の処理単位の依存関係に基づき、複数の処理単位の複数のコアへの割り付けを行うとともに、複数の処理単位の実行スケジュールを決定する第1スケジューリング部(10a〜10e)と、
第1スケジューリング部によって決定された、複数のコアにおける複数の処理単位の実行スケジュールに基づき、処理単位が実行されないコアの空き時間に、マルチコアマイコンのハードウエアの異常診断処理が実行されるように、当該異常診断処理の実行スケジュールを決定する第2スケジューリング部(10f)と、を備え、
第1及び第2スケジューリング部によって決定された実行スケジュールに従って、複数のコアにおいて複数の処理単位及び異常診断処理を実行するための並列プログラムを生成するものであり、
第2スケジューリング部は、処理単位が実行されない空き時間となるコア以外のコアにおいて、空き時間と並行して実行される処理単位により利用されるハードウエアが、異常診断処理の診断対象となるハードウエアと重複しないことを条件として、空き時間に異常診断処理が実行されるように、異常診断処理の実行スケジュールを決定する。
コアが一つであるシングルコアマイコン用のシングルプログラムから生成された、複数のコア(31c、31d)を有するマルチコアマイコン(31)用の並列プログラムを実行するマルチコアマイコン(21)であって、
並列プログラム(21a1)は、シングルプログラムに含まれていた複数の処理単位(MT1〜MT8)と、マルチコアマイコンのハードウエアの異常診断処理とを含み、
複数の処理単位は、各処理単位の依存関係に基づき、複数のコアへ割り付けられるとともに、実行スケジュールが決定されたものであり、
異常診断処理は、複数のコアにおける複数の処理単位の実行スケジュールに基づき、処理単位が実行されないコアの空き時間に異常診断処理が実行されるように、実行スケジュールが決定されたものであり、
さらに、異常診断処理は、処理単位が実行されない空き時間となるコア以外のコアにおいて、空き時間と並行して実行される処理単位により利用されるハードウエアが、異常診断処理の診断対象となるハードウエアと重複しないことを条件として、空き時間に異常診断処理が実行されるように、実行スケジュールが決定されたものである。
例えば、上述した実施形態では、異常診断処理として、RAM31bの書換えチェック処理を実行する例について説明した。しかしながら、異常診断処理は、RAM31b以外のマルチコアマイコン31のハードウエアの異常診断を行うものであってもよい。例えば、異常診断処理は、書換え可能なフラッシュROMを診断対象としてもよい。さらに、異常診断処理は、マルチコアマイコン31に内蔵されたカウンタ回路やA/D変換器を診断対象として、それらが正常に動作するものであるか否かをチェックするものであってもよい。
Claims (16)
- コアが一つであるシングルコアマイコン用のシングルプログラムから、複数のコア(31c、31d)を有するマルチコアマイコン(31)用の並列プログラム(31a1)を生成する並列化方法であって、
前記シングルプログラムに含まれる複数の処理単位(A1〜A3、B1〜B2、C1〜C4)の依存関係を解析し、解析した前記複数の処理単位の依存関係に基づき、前記複数の処理単位の前記複数のコアへの割り付けを行うとともに、前記複数の処理単位の実行スケジュールを決定する第1スケジューリング手順(10a〜10e)と、
前記第1スケジューリング手順によって決定された、前記複数のコアにおける前記複数の処理単位の実行スケジュールに基づき、前記処理単位が実行されないコアの空き時間に、前記マルチコアマイコンのハードウエアの異常診断処理が実行されるように、当該異常診断処理の実行スケジュールを決定する第2スケジューリング手順(10f)と、を備え、
前記第1及び第2スケジューリング手順によって決定された実行スケジュールに従って、前記複数のコアにおいて前記複数の処理単位及び前記異常診断処理を実行するための前記並列プログラムを生成するものであり、
前記第2スケジューリング手順では、前記処理単位が実行されない空き時間となるコア以外のコアにおいて、前記空き時間と並行して実行される処理単位により利用されるハードウエアが、前記異常診断処理の診断対象となるハードウエアと重複しないことを条件として、前記空き時間に前記異常診断処理が実行されるように、前記異常診断処理の実行スケジュールが決定される並列化方法。 - 前記第2スケジューリング手順では、さらに、前記異常診断処理の実行に要する時間が、前記空き時間よりも短いことを条件として、前記空き時間に前記異常診断処理が実行されるように前記異常診断処理の実行スケジュールが決定される請求項1に記載の並列化方法。
- 前記第2スケジューリング手順では、前記異常診断処理が実行される前後の少なくとも一方の時間帯に、当該異常診断処理を実行するコア以外のコアにおいて、前記異常診断処理が診断対象とするハードウエアを利用する単位処理が実行されるスケジュールとなっている場合、当該ハードウエアを利用する単位処理が完了した後に前記異常診断処理が実行を開始するための同期処理、及び/又は、前記異常診断処理が完了した後に前記ハードウエアを利用する単位処理が実行を開始するための同期処理が追加される請求項1又は2に記載の並列化方法。
- 前記異常診断処理の診断対象となるハードウエアは、前記マルチコアマイコンの書換え可能なメモリ(31b)であり、前記異常診断処理は、前記メモリのデータが正常に書換え可能であるかをチェックする書換えチェック処理である請求項1乃至3のいずれかに記載の並列化方法。
- 前記書換えチェック処理は、前記シングルプログラムで定義されているデータを保存するために利用されるメモリ領域を個別に書換え可能かチェックするものである請求項4に記載の並列化方法。
- コアが一つであるシングルコアマイコン用のシングルプログラムから、複数のコア(31c、31d)を有するマルチコアマイコン(31)用の並列プログラム(31a1)を生成する並列化ツールであって、
前記シングルプログラムに含まれる複数の処理単位(A1〜A3、B1〜B2、C1〜C4)の依存関係を解析し、解析した前記複数の処理単位の依存関係に基づき、前記複数の処理単位の前記複数のコアへの割り付けを行うとともに、前記複数の処理単位の実行スケジュールを決定する第1スケジューリング部(10a〜10e)と、
前記第1スケジューリング部によって決定された、前記複数のコアにおける前記複数の処理単位の実行スケジュールに基づき、前記処理単位が実行されないコアの空き時間に、前記マルチコアマイコンのハードウエアの異常診断処理が実行されるように、当該異常診断処理の実行スケジュールを決定する第2スケジューリング部(10f)と、を備え、
前記第1及び第2スケジューリング部によって決定された実行スケジュールに従って、前記複数のコアにおいて前記複数の処理単位及び前記異常診断処理を実行するための前記並列プログラムを生成するものであり、
前記第2スケジューリング部は、前記処理単位が実行されない空き時間となるコア以外のコアにおいて、前記空き時間と並行して実行される処理単位により利用されるハードウエアが、前記異常診断処理の診断対象となるハードウエアと重複しないことを条件として、前記空き時間に前記異常診断処理が実行されるように、前記異常診断処理の実行スケジュールを決定する並列化ツール。 - 前記第2スケジューリング部は、さらに、前記異常診断処理の実行に要する時間が、前記空き時間よりも短いことを条件として、前記空き時間に前記異常診断処理が実行されるように前記異常診断処理の実行スケジュールを決定する請求項6に記載の並列化ツール。
- 前記第2スケジューリング部は、前記異常診断処理が実行される前後の少なくとも一方の時間帯に、当該異常診断処理を実行するコア以外のコアにおいて、前記異常診断処理が診断対象とするハードウエアを利用する単位処理が実行されるスケジュールとなっている場合、当該ハードウエアを利用する単位処理が完了した後に前記異常診断処理が実行を開始するための同期処理、及び/又は、前記異常診断処理が完了した後に前記ハードウエアを利用する単位処理が実行を開始するための同期処理を追加する請求項6又は7に記載の並列化ツール。
- 前記異常診断処理の診断対象となるハードウエアは、前記マルチコアマイコンの書換え可能なメモリ(31b)であり、前記異常診断処理は、前記メモリのデータが正常に書換え可能であるかをチェックする書換えチェック処理である請求項6乃至8のいずれかに記載の並列化ツール。
- 前記書換えチェック処理は、前記シングルプログラムで定義されているデータを保存するために利用されるメモリ領域を個別に書換え可能かチェックするものである請求項9に記載の並列化ツール。
- コアが一つであるシングルコアマイコン用のシングルプログラムから生成された、複数のコア(31c、31d)を有するマルチコアマイコン(31)用の並列プログラム(31a1)を実行するマルチコアマイコンであって、
前記並列プログラムは、前記シングルプログラムに含まれていた複数の処理単位(A1〜A3、B1〜B2、C1〜C4)と、前記マルチコアマイコンのハードウエアの異常診断処理とを含み、
前記複数の処理単位は、各処理単位の依存関係に基づき、前記複数のコアへ割り付けられるとともに、実行スケジュールが決定されたものであり、
前記異常診断処理は、前記複数のコアにおける前記複数の処理単位の実行スケジュールに基づき、前記処理単位が実行されないコアの空き時間に前記異常診断処理が実行されるように、実行スケジュールが決定されたものであり、
さらに、前記異常診断処理は、前記処理単位が実行されない空き時間となるコア以外のコアにおいて、前記空き時間と並行して実行される処理単位により利用されるハードウエアが、前記異常診断処理の診断対象となるハードウエアと重複しないことを条件として、前記空き時間に前記異常診断処理が実行されるように、実行スケジュールが決定されたものであるマルチコアマイコン。 - 前記マルチコアマイコンは、車両に搭載された車載機器を制御するための車載装置(30)に適用され、前記並列プログラムを実行することで前記車載機器を制御するものである請求項11に記載のマルチコアマイコン。
- 前記異常診断処理の実行に要する時間が、前記空き時間よりも短いことを条件として、前記空き時間に前記異常診断処理が実行されるように前記異常診断処理の実行スケジュールが決定される請求項11又は12に記載のマルチコアマイコン。
- 前記異常診断処理が実行される前後の少なくとも一方の時間帯に、当該異常診断処理を実行するコア以外のコアにおいて、前記異常診断処理が診断対象とするハードウエアを利用する単位処理が実行されるスケジュールとなっている場合、前記並列プログラムは、前記ハードウエアを利用する単位処理が完了した後に前記異常診断処理の実行を開始するための同期処理、及び/又は、前記異常診断処理が完了した後に前記ハードウエアを利用する単位処理の実行を開始するための同期処理を含み、
前記マルチコアマイコンは、前記同期処理を実行することにより、前記異常診断処理と、当該異常診断処理が診断対象とするハードウエアを利用する単位処理との実行時間がオーバーラップすることを防止する請求項11乃至13のいずれかに記載のマルチコアマイコン。 - 前記異常診断処理の診断対象となるハードウエアは、前記マルチコアマイコンの書換え可能なメモリ(31b)であり、前記異常診断処理は、前記メモリのデータが正常に書換え可能であるかをチェックする書換えチェック処理である請求項11乃至14のいずれかに記載のマルチコアマイコン。
- 前記書換えチェック処理は、前記シングルプログラムで定義されているデータを保存するために利用されるメモリ領域を個別に書換え可能かチェックするものである請求項15に記載のマルチコアマイコン。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018047058A JP7139633B2 (ja) | 2018-03-14 | 2018-03-14 | 並列化方法、並列化ツール、及びマルチコアマイコン |
DE102019202870.5A DE102019202870A1 (de) | 2018-03-14 | 2019-03-04 | Parallelisierungsverfahren, Parallelisierungswerkzeug und Multikernmikrocomputer |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018047058A JP7139633B2 (ja) | 2018-03-14 | 2018-03-14 | 並列化方法、並列化ツール、及びマルチコアマイコン |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2019159931A true JP2019159931A (ja) | 2019-09-19 |
JP7139633B2 JP7139633B2 (ja) | 2022-09-21 |
Family
ID=67774725
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2018047058A Active JP7139633B2 (ja) | 2018-03-14 | 2018-03-14 | 並列化方法、並列化ツール、及びマルチコアマイコン |
Country Status (2)
Country | Link |
---|---|
JP (1) | JP7139633B2 (ja) |
DE (1) | DE102019202870A1 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112181704A (zh) * | 2020-09-28 | 2021-01-05 | 京东数字科技控股股份有限公司 | 一种大数据任务处理方法、装置、电子设备及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2015001807A (ja) * | 2013-06-14 | 2015-01-05 | 株式会社デンソー | 並列化コンパイル方法、並列化コンパイラ、並列化コンパイル装置、及び、車載装置 |
JP2016192152A (ja) * | 2015-03-31 | 2016-11-10 | 株式会社デンソー | 並列化コンパイル方法、並列化コンパイラ、及び車載装置 |
JP2017102633A (ja) * | 2015-12-01 | 2017-06-08 | ルネサスエレクトロニクス株式会社 | 情報処理装置および半導体集積回路装置 |
JP2017107448A (ja) * | 2015-12-10 | 2017-06-15 | 株式会社デンソー | 並列化方法、並列化ツール、車載装置 |
-
2018
- 2018-03-14 JP JP2018047058A patent/JP7139633B2/ja active Active
-
2019
- 2019-03-04 DE DE102019202870.5A patent/DE102019202870A1/de active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2015001807A (ja) * | 2013-06-14 | 2015-01-05 | 株式会社デンソー | 並列化コンパイル方法、並列化コンパイラ、並列化コンパイル装置、及び、車載装置 |
JP2016192152A (ja) * | 2015-03-31 | 2016-11-10 | 株式会社デンソー | 並列化コンパイル方法、並列化コンパイラ、及び車載装置 |
JP2017102633A (ja) * | 2015-12-01 | 2017-06-08 | ルネサスエレクトロニクス株式会社 | 情報処理装置および半導体集積回路装置 |
JP2017107448A (ja) * | 2015-12-10 | 2017-06-15 | 株式会社デンソー | 並列化方法、並列化ツール、車載装置 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112181704A (zh) * | 2020-09-28 | 2021-01-05 | 京东数字科技控股股份有限公司 | 一种大数据任务处理方法、装置、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
DE102019202870A1 (de) | 2019-09-19 |
JP7139633B2 (ja) | 2022-09-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4629768B2 (ja) | 並列化処理方法、システム、及びプログラム | |
US6405326B1 (en) | Timing related bug detector method for detecting data races | |
US10296316B2 (en) | Parallelization method, parallelization tool, and in-vehicle apparatus | |
JPWO2010047174A1 (ja) | ソース・コード処理方法、システム、及びプログラム | |
JP5641233B2 (ja) | 車両データ取得システム及び車両データ取得方法 | |
JPS60175152A (ja) | 浮動小数点加速プロセツサの自己試験のための方法及び装置 | |
US20080127118A1 (en) | Method and system for dynamic patching of software | |
JP5533789B2 (ja) | 車載電子制御装置 | |
US6854110B2 (en) | System and method for obtaining scratch registers in computer executable binaries | |
JPH0748182B2 (ja) | プログラム・エラー検出方法 | |
CN117632570B (zh) | 基于多核异构soc的多操作系统诊断方法、装置和系统 | |
JP7139633B2 (ja) | 並列化方法、並列化ツール、及びマルチコアマイコン | |
JP6427055B2 (ja) | 並列化コンパイル方法、及び並列化コンパイラ | |
JP2014026347A (ja) | 監視装置、コンピュータプログラム及び監視方法 | |
US7779230B2 (en) | Data flow execution of methods in sequential programs | |
JP7095513B2 (ja) | マルチコアマイコン、及び車載装置 | |
JP7204443B2 (ja) | 車両制御装置およびプログラム実行方法 | |
JP2013061783A (ja) | マルチコア・プロセッサ | |
JP4576433B2 (ja) | 情報処理装置、演算処理装置、情報処理装置の制御方法及びプログラム | |
Chabrol et al. | A spatial and temporal partitioning approach for dependable automotive systems | |
JP2017224288A (ja) | 並列化方法、並列化ツール、車載装置 | |
JP2017224046A (ja) | 並列化方法、並列化ツール、車載装置 | |
JP7059776B2 (ja) | 並列化方法、並列化ツール、及びマルチコアマイコン | |
Lambertz | Software Quality is no Coincidence | |
CN115617318A (zh) | 一种对程序进行编译优化的方法和相关产品 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20210120 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20220128 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20220208 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20220323 |
|
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: 20220809 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20220822 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 7139633 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |