JP6617511B2 - 並列化方法、並列化ツール、車載装置 - Google Patents
並列化方法、並列化ツール、車載装置 Download PDFInfo
- Publication number
- JP6617511B2 JP6617511B2 JP2015201663A JP2015201663A JP6617511B2 JP 6617511 B2 JP6617511 B2 JP 6617511B2 JP 2015201663 A JP2015201663 A JP 2015201663A JP 2015201663 A JP2015201663 A JP 2015201663A JP 6617511 B2 JP6617511 B2 JP 6617511B2
- Authority
- JP
- Japan
- Prior art keywords
- core
- bus
- suppression
- execution
- time
- 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 282
- 230000001629 suppression Effects 0.000 claims description 80
- 238000012545 processing Methods 0.000 claims description 44
- 230000001360 synchronised effect Effects 0.000 claims description 11
- 238000001514 detection method Methods 0.000 claims description 8
- 230000000052 comparative effect Effects 0.000 description 12
- 238000004891 communication Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 241000761456 Nops Species 0.000 description 3
- 230000000694 effects Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000007796 conventional method Methods 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000010355 oscillation 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/52—Program synchronisation; Mutual exclusion, e.g. by means of semaphores
- G06F9/522—Barrier synchronisation
-
- 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
- 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
- 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
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Devices For Executing Special Programs (AREA)
Description
コアが一つであるシングルコアマイコン用のシングルプログラムにおける複数の処理(MT1〜MT7)から、共通のバスにアクセスする複数のコア(21c、21d)を有するマルチコアマイコン(21)用に並列化した並列プログラム(21a1)を生成する並列化方法であって、
並列プログラムは、自コアに割り振られた処理の実行が完了した場合に、他コアに割り振られた処理の実行が完了するのを待って、自コアに割り振られた次の処理を実行させる同期処理を含むものであり、
並列プログラムから同期処理が行われる場所を検出する検出手順(S10)と、
検出された同期処理において、自コアに割り振られた処理の実行が完了してから、他コアに割り振られた処理の実行が完了するまでの待ち時間を算出する算出手順(S11、S12)と、
自コアが待っている間に自コアによるバスへのアクセスを抑制する抑制処理を、並列プログラムに追加する手順であり、算出された待ち時間に応じて抑制処理の実行時間である抑制時間を決定し、自コアによるバスへのアクセスを抑制時間の間禁止する抑制処理を追加する追加手順(S13)と、を備えている点にある。
コアが一つであるシングルコアマイコン用のシングルプログラムにおける複数の処理(MT1〜MT7)から、共通のバスにアクセスする複数のコア(21c、21d)を有するマルチコアマイコン(21)用に並列化した並列プログラム(21a1)を生成するコンピュータを備えた並列化ツールであって、
並列プログラムは、自コアに割り振られた処理の実行が完了した場合に、他コアに割り振られた処理の実行が完了するのを待って、自コアに割り振られた次の処理を実行させる同期処理を含むものであり、
並列プログラムから同期処理が行われる場所を検出する検出部(S10)と、
検出された同期処理において、自コアに割り振られた処理の実行が完了してから、他コアに割り振られた処理の実行が完了するまでの待ち時間を算出する算出部(S11、S12)と、
自コアが待っている間に自コアによるバスへのアクセスを抑制する抑制処理を、並列プログラムに追加するものであり、算出された待ち時間に応じて抑制処理の実行時間である抑制時間を決定し、自コアによるバスへのアクセスを抑制時間の間禁止する抑制処理を追加する追加部(S13)と、を備えている点にある。
共通のバス(21e)にアクセスする複数のコア(21c、21d)を有するマルチコアマイコン(21)と、コアが一つであるシングルコアマイコン用のシングルプログラムにおける複数の処理(MT1〜MT7)からマルチコアマイコン用に並列化されたものであり複数の処理がマルチコアマイコンの異なるコア用に割り振られた並列プログラム(21a1)と、を備えた車載装置であって、
並列プログラムは、
自コアに割り振られた処理の実行が完了した場合に、他コアに割り振られた処理の実行が完了するのを待って、自コアに割り振られた次の処理を実行させる同期処理を含むものであり、
並列プログラムから同期処理が行われる場所が検出され、
検出された同期処理において、自コアに割り振られた処理の実行が完了してから、他コアに割り振られた処理の実行が完了するまでの待ち時間が算出され、
並列プログラムには、自コアが待っている間に自コアによるバスへのアクセスを抑制時間の間禁止する抑制処理が追加されており、抑制処理の実行時間である抑制時間が、算出された待ち時間に応じて決定されており、
複数のコアの夫々は、自身に割り振られた処理と、同期処理と、抑制処理を実行する点にある。
Claims (15)
- コアが一つであるシングルコアマイコン用のシングルプログラムにおける複数の処理(MT1〜MT7)から、共通のバス(21e)にアクセスする複数の前記コア(21c、21d)を有するマルチコアマイコン(21)用に並列化した並列プログラム(21a1)を生成する並列化方法であって、
前記並列プログラムは、自コアに割り振られた前記処理の実行が完了した場合に、他コアに割り振られた前記処理の実行が完了するのを待って、自コアに割り振られた次の前記処理を実行させる同期処理を含むものであり、
前記並列プログラムから前記同期処理が行われる場所を検出する検出手順(S10)と、
検出された前記同期処理において、前記自コアに割り振られた前記処理の実行が完了してから、前記他コアに割り振られた前記処理の実行が完了するまでの待ち時間を算出する算出手順(S11、S12)と、
前記自コアが待っている間に前記自コアによる前記バスへのアクセスを抑制する抑制処理を、前記並列プログラムに追加する手順であり、算出された前記待ち時間に応じて前記抑制処理の実行時間である抑制時間を決定し、前記自コアによる前記バスへのアクセスを前記抑制時間の間禁止する前記抑制処理を追加する追加手順(S13)と、を備えている並列化方法。 - 前記追加手順では、前記抑制処理として、前記自コアに対して前記バスへのアクセスを禁止する禁止命令を追加するものであり、前記抑制時間に対応した回数の前記禁止命令を追加する請求項1に記載の並列化方法。
- 前記追加手順では、前記自コアに割り振られた前記処理の実行が完了してから、予め設定した条件を満たすまで前記自コアによる前記バスへのアクセスを禁止することで、前記抑制時間の間、前記自コアによる前記バスへのアクセスを禁止する前記抑制処理を追加する請求項1に記載の並列化方法。
- 前記追加手順では、前記自コアに割り振られた前記処理の実行が完了してからの経過時間が、前記条件として予め設定した時間に達するまで前記自コアによる前記バスへのアクセスを禁止することで、前記抑制時間の間、前記自コアによる前記バスへのアクセスを禁止する前記抑制処理を追加する請求項3に記載の並列化方法。
- 前記追加手順では、前記自コアに割り振られた前記処理の実行が完了してからの前記自コアの動作タイミングが、前記条件として予め設定した回数に達するまで前記自コアによる前記バスへのアクセスを禁止することで、前記抑制時間の間、前記自コアによる前記バスへのアクセスを禁止する前記抑制処理を追加する請求項3に記載の並列化方法。
- コアが一つであるシングルコアマイコン用のシングルプログラムにおける複数の処理(MT1〜MT7)から、共通のバス(21e)にアクセスする複数の前記コア(21c、21d)を有するマルチコアマイコン(21)用に並列化した並列プログラム(21a1)を生成するコンピュータを備えた並列化ツールであって、
前記並列プログラムは、自コアに割り振られた前記処理の実行が完了した場合に、他コアに割り振られた前記処理の実行が完了するのを待って、自コアに割り振られた次の前記処理を実行させる同期処理を含むものであり、
前記並列プログラムから前記同期処理が行われる場所を検出する検出部(S10)と、
検出された前記同期処理において、前記自コアに割り振られた前記処理の実行が完了してから、前記他コアに割り振られた前記処理の実行が完了するまでの待ち時間を算出する算出部(S11、S12)と、
前記自コアが待っている間に前記自コアによる前記バスへのアクセスを抑制する抑制処理を、前記並列プログラムに追加するものであり、算出された前記待ち時間に応じて前記抑制処理の実行時間である抑制時間を決定し、前記自コアによる前記バスへのアクセスを前記抑制時間の間禁止する前記抑制処理を追加する追加部(S13)と、を備えている並列化ツール。 - 前記追加部では、前記抑制処理として、前記自コアに対して前記バスへのアクセスを禁止する禁止命令を追加するものであり、前記抑制時間に対応した回数の前記禁止命令を追加する請求項6に記載の並列化ツール。
- 前記追加部では、前記自コアに割り振られた前記処理の実行が完了してから、予め設定した条件を満たすまで前記自コアによる前記バスへのアクセスを禁止することで、前記自コアによる前記バスへのアクセスを前記抑制時間の間禁止する前記抑制処理を追加する請求項6に記載の並列化ツール。
- 前記追加部では、前記自コアに割り振られた前記処理の実行が完了してからの経過時間が、前記条件として予め設定した時間に達するまで前記自コアによる前記バスへのアクセスを禁止することで、前記自コアによる前記バスへのアクセスを前記抑制時間の間禁止する前記抑制処理を追加する請求項8に記載の並列化ツール。
- 前記追加部では、前記自コアに割り振られた前記処理の実行が完了してからの前記自コアの動作タイミングが、前記条件として予め設定した回数に達するまで前記自コアによる前記バスへのアクセスを禁止することで、前記自コアによる前記バスへのアクセスを前記抑制時間の間禁止する前記抑制処理を追加する請求項8に記載の並列化ツール。
- 共通のバス(21e)にアクセスする複数のコア(21c、21d)を有するマルチコアマイコン(21)と、前記コアが一つであるシングルコアマイコン用のシングルプログラムにおける複数の処理(MT1〜MT7)から前記マルチコアマイコン用に並列化されたものであり複数の前記処理が前記マルチコアマイコンの異なる前記コア用に割り振られた並列プログラム(21a1)と、を備えた車載装置であって、
前記並列プログラムは、
自コアに割り振られた前記処理の実行が完了した場合に、他コアに割り振られた前記処理の実行が完了するのを待って、自コアに割り振られた次の前記処理を実行させる同期処理を含むものであり、
前記並列プログラムから前記同期処理が行われる場所が検出され、
検出された前記同期処理において、前記自コアに割り振られた前記処理の実行が完了してから、前記他コアに割り振られた前記処理の実行が完了するまでの待ち時間が算出され、
前記並列プログラムには、前記自コアが待っている間に前記自コアによる前記バスへのアクセスを抑制時間の間禁止する抑制処理が追加されており、前記抑制処理の実行時間である前記抑制時間が、算出された前記待ち時間に応じて決定されており、
複数の前記コアの夫々は、自身に割り振られた前記処理と、前記同期処理と、前記抑制処理を実行する車載装置。 - 前記並列プログラムは、前記抑制処理として、前記自コアに対して前記バスへのアクセスを禁止する禁止命令が追加されており、前記抑制時間に対応した回数の前記禁止命令が追加されている請求項11に記載の車載装置。
- 前記並列プログラムは、前記自コアに割り振られた前記処理の実行が完了してから、予め設定した条件を満たすまで前記自コアによる前記バスへのアクセスを禁止させることで、前記自コアによる前記バスへのアクセスを前記抑制時間の間禁止する前記抑制処理が追加されている請求項11に記載の車載装置。
- 前記並列プログラムは、前記自コアに割り振られた前記処理の実行が完了してからの経過時間が、前記条件として予め設定した時間に達するまで前記自コアによる前記バスへのアクセスを禁止させることで、前記自コアによる前記バスへのアクセスを前記抑制時間の間禁止する前記抑制処理が追加されている請求項13に記載の車載装置。
- 前記並列プログラムは、前記自コアに割り振られた前記処理の実行が完了してからの前記自コアの動作タイミングが、前記条件として予め設定した回数に達するまで前記自コアによる前記バスへのアクセスを禁止させることで、前記自コアによる前記バスへのアクセスを前記抑制時間の間禁止する前記抑制処理が追加されている請求項13に記載の車載装置。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015201663A JP6617511B2 (ja) | 2015-10-12 | 2015-10-12 | 並列化方法、並列化ツール、車載装置 |
DE102016219721.5A DE102016219721A1 (de) | 2015-10-12 | 2016-10-11 | Parallelisierungsverfahren, parallelisierungswerkzeug und fahrzeugverbaute einrichtung |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015201663A JP6617511B2 (ja) | 2015-10-12 | 2015-10-12 | 並列化方法、並列化ツール、車載装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2017076156A JP2017076156A (ja) | 2017-04-20 |
JP6617511B2 true JP6617511B2 (ja) | 2019-12-11 |
Family
ID=58405647
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2015201663A Active JP6617511B2 (ja) | 2015-10-12 | 2015-10-12 | 並列化方法、並列化ツール、車載装置 |
Country Status (2)
Country | Link |
---|---|
JP (1) | JP6617511B2 (ja) |
DE (1) | DE102016219721A1 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108806235B (zh) * | 2017-05-03 | 2020-11-06 | 南京交通职业技术学院 | 按需服务的智能公交调度方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6018022B2 (ja) | 2013-06-14 | 2016-11-02 | 株式会社デンソー | 並列化コンパイル方法、並列化コンパイラ、並列化コンパイル装置、及び、車載装置 |
-
2015
- 2015-10-12 JP JP2015201663A patent/JP6617511B2/ja active Active
-
2016
- 2016-10-11 DE DE102016219721.5A patent/DE102016219721A1/de active Pending
Also Published As
Publication number | Publication date |
---|---|
DE102016219721A1 (de) | 2017-04-13 |
JP2017076156A (ja) | 2017-04-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Schranzhofer et al. | Timing analysis for TDMA arbitration in resource sharing systems | |
US8612978B2 (en) | Code execution utilizing single or multiple threads | |
KR101738641B1 (ko) | 멀티 코어 시스템의 프로그램 컴파일 장치 및 방법 | |
US9207977B2 (en) | Systems and methods for task grouping on multi-processors | |
JP5773065B2 (ja) | スケジューリングプログラム、マルチコアプロセッサシステム、およびスケジューリング方法 | |
JP6427054B2 (ja) | 並列化コンパイル方法、及び並列化コンパイラ | |
JP6464982B2 (ja) | 並列化方法、並列化ツール、車載装置 | |
EP2420930A2 (en) | Apparatus and method for thread scheduling and lock acquisition order control based on deterministic progress index | |
CA2433379A1 (en) | Modulo scheduling of multiple instruction chains | |
JP2009151645A (ja) | 並列処理装置及びプログラム並列化装置 | |
WO2020121840A1 (ja) | 演算制御装置 | |
US20170364341A1 (en) | Parallelization method, parallelization tool, and in-vehicle device | |
JP2017107448A (ja) | 並列化方法、並列化ツール、車載装置 | |
JP6617511B2 (ja) | 並列化方法、並列化ツール、車載装置 | |
JP6427055B2 (ja) | 並列化コンパイル方法、及び並列化コンパイラ | |
JP5726006B2 (ja) | タスクおよびリソースのスケジューリング装置及びその方法並びに制御装置 | |
US20130117757A1 (en) | Method and apparatus for scheduling application programs | |
JP5614699B2 (ja) | マルチコアシステムのためのタスク割り当て関連方法、その装置、そのシステム、及びそのプログラム | |
CN116880986A (zh) | 任务调度方法、装置、车载控制器、电子设备和存储介质 | |
JP6428557B2 (ja) | 並列化方法、並列化ツール | |
JP2008225641A (ja) | コンピュータシステム、割り込み制御方法及びプログラム | |
Copic et al. | Efficient sporadic task handling in parallel AUTOSAR applications using runnable migration | |
KR101733339B1 (ko) | 사이버 물리 시스템을 위한 보안 제약 사항을 포함하는 실시간 스케줄링 장치 및 방법 | |
CN112445587A (zh) | 一种任务处理的方法以及任务处理装置 | |
CN112363816B (zh) | 嵌入式多核操作系统确定性调度方法、系统及介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20180117 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20181228 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20190115 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20190308 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20190416 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20190529 |
|
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: 20191015 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20191028 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 6617511 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 |