JP2017073000A - 並列化方法、並列化ツール、車載装置 - Google Patents
並列化方法、並列化ツール、車載装置 Download PDFInfo
- Publication number
- JP2017073000A JP2017073000A JP2015199703A JP2015199703A JP2017073000A JP 2017073000 A JP2017073000 A JP 2017073000A JP 2015199703 A JP2015199703 A JP 2015199703A JP 2015199703 A JP2015199703 A JP 2015199703A JP 2017073000 A JP2017073000 A JP 2017073000A
- Authority
- JP
- Japan
- Prior art keywords
- core
- task
- dependent
- dependent task
- waiting state
- 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
- 238000000034 method Methods 0.000 title claims abstract description 296
- 230000001419 dependent effect Effects 0.000 claims abstract description 102
- 238000012545 processing Methods 0.000 claims abstract description 80
- 230000008569 process Effects 0.000 claims description 259
- 230000001360 synchronised effect Effects 0.000 abstract description 3
- 230000006870 function Effects 0.000 description 13
- 238000004891 communication Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 2
- 230000007704 transition Effects 0.000 description 2
- 230000008901 benefit Effects 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 230000020169 heat generation Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000002618 waking 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
- 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
- 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
- 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)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Devices For Executing Special Programs (AREA)
Abstract
Description
コアが一つであるシングルコアマイコン用のシングルプログラムにおける複数の処理(A11〜A14、A21、A22、B11〜B14、B21、B22)から複数のコアを有するマルチコアマイコン用に並列化した並列プログラムを生成する方法であり、シングルプログラムにおける複数の処理の依存関係を解析して、複数の処理をマルチコアマイコンの異なるコア用に割り振る並列化方法であって、
各コアに割り振られる複数の処理毎に、依存関係がある処理を依存タスクに割り振り、依存関係がない処理を非依存タスクに割り振る分割処理手順(S10〜S12)と、
他コアの依存タスクに割り振られた処理の実行が完了したことを条件に、自コアの依存タスクに割り振られた処理の実行を開始するため自コアの依存タスクを待ち状態としている場合に、自コアの非依存タスクに割り振られた処理が実行される機能を並列プログラムに付与する付与処理手順(S15)と、を備えている。
コアが一つであるシングルコアマイコン用のシングルプログラムにおける複数の処理(A11〜A14、A21、A22、B11〜B14、B21、B22)から複数のコアを有するマルチコアマイコン用に並列化した並列プログラムを生成する方法であり、シングルプログラムにおける複数の処理の依存関係を解析して、複数の処理をマルチコアマイコンの異なるコア用に割り振るコンピュータを含む並列化ツールであって、
各コアに割り振られる複数の処理毎に、依存関係がある処理を依存タスクに割り振り、依存関係がない処理を非依存タスクに割り振る分割処理(S10〜S12)と、
他コアの依存タスクに割り振られた処理の実行が完了したことを条件に、自コアの依存タスクに割り振られた処理の実行を開始するため自コアの依存タスクを待ち状態としている場合に、自コアの非依存タスクに割り振られた処理が実行される機能を並列プログラムに付与する付与処理(S15)と、を備えている点にある。
複数のコアを有するマルチコアマイコンと、コアが一つであるシングルコアマイコン用のシングルプログラムにおける複数の処理(A11〜A14、A21、A22、B11〜B14、B21、B22)からマルチコアマイコン用に並列化されたものであり、複数の処理の依存関係を解析して、複数の処理がマルチコアマイコンの異なるコア用に割り振られた並列プログラムと、を備えた車載装置であって、
並列プログラムは、
各コアの夫々に対して、依存関係がある処理が割り振られた依存タスクと、依存関係がない処理が割り振られた非依存タスクと、を含み、
マルチコアマイコンは、
他コアの依存タスクに割り振られた処理の実行が完了したことを条件に、自コアの依存タスクに割り振られた処理の実行を開始するため自コアの依存タスクを待ち状態としている場合に、自コアの非依存タスクに割り振られた処理を実行させる非依存タスク実行部(S55)と、を備えている点にある。
Claims (9)
- コアが一つであるシングルコアマイコン用のシングルプログラムにおける複数の処理(A11〜A14、A21、A22、B11〜B14、B21、B22)から複数の前記コアを有するマルチコアマイコン用に並列化した並列プログラムを生成する方法であり、前記シングルプログラムにおける複数の前記処理の依存関係を解析して、複数の前記処理を前記マルチコアマイコンの異なる前記コア用に割り振る並列化方法であって、
各コアに割り振られる複数の前記処理毎に、依存関係がある前記処理を依存タスクに割り振り、依存関係がない前記処理を非依存タスクに割り振る分割処理手順(S10〜S12)と、
他コアの前記依存タスクに割り振られた前記処理の実行が完了したことを条件に、自コアの前記依存タスクに割り振られた前記処理の実行を開始するため前記自コアの前記依存タスクを待ち状態とする場合に、前記自コアの前記非依存タスクに割り振られた前記処理が実行される機能を前記並列プログラムに付与する付与処理手順(S15)と、を備えている並列化方法。 - 前記依存タスクと前記非依存タスクの起床時に、前記コア毎に、前記依存タスクと前記非依存タスクを一旦起床させ、前記非依存タスクを待ち状態にする機能を前記並列プログラムに付与する起床処理手順(S14)を備えている請求項1に記載の並列化方法。
- 前記自コアの前記依存タスクに割り振られた前記処理の実行が完了し、前記他コアの前記依存タスクが待ち状態であった場合、前記他コアの前記非依存タスクを待ち状態とし、且つ、前記他コアの前記依存タスクの待ち状態を解除する機能を前記並列プログラムに付与する切替処理手順(S16)を備えている請求項1又は2に記載の並列化方法。
- コアが一つであるシングルコアマイコン用のシングルプログラムにおける複数の処理(A11〜A14、A21、A22、B11〜B14、B21、B22)から複数の前記コアを有するマルチコアマイコン用に並列化した並列プログラムを生成する方法であり、前記シングルプログラムにおける複数の前記処理の依存関係を解析して、複数の前記処理を前記マルチコアマイコンの異なる前記コア用に割り振るコンピュータを含む並列化ツールであって、
各コアに割り振られる複数の前記処理毎に、依存関係がある前記処理を依存タスクに割り振り、依存関係がない前記処理を非依存タスクに割り振る分割処理(S10〜S12)と、
他コアの前記依存タスクに割り振られた前記処理の実行が完了したことを条件に、自コアの前記依存タスクに割り振られた前記処理の実行を開始するため前記自コアの前記依存タスクを待ち状態とする場合に、前記自コアの前記非依存タスクに割り振られた前記処理が実行される機能を前記並列プログラムに付与する付与処理(S15)と、を備えている並列化ツール。 - 前記依存タスクと前記非依存タスクの起床時に、前記コア毎に、前記依存タスクと前記非依存タスクを一旦起床させ、前記非依存タスクを待ち状態にする機能を前記並列プログラムに付与する起床処理(S14)を備えている請求項4に記載の並列化ツール。
- 前記自コアの前記依存タスクに割り振られた前記処理の実行が完了し、前記他コアの前記依存タスクが待ち状態であった場合、前記他コアの前記非依存タスクを待ち状態とし、且つ、前記他コアの前記依存タスクの待ち状態を解除する機能を前記並列プログラムに付与する切替処理(S16)を備えている請求項4又は5に記載の並列化ツール。
- 複数のコアを有するマルチコアマイコンと、前記コアが一つであるシングルコアマイコン用のシングルプログラムにおける複数の処理(A11〜A14、A21、A22、B11〜B14、B21、B22)から前記マルチコアマイコン用に並列化されたものであり、複数の前記処理の依存関係を解析して、複数の前記処理が前記マルチコアマイコンの異なる前記コア用に割り振られた並列プログラムと、を備えた車載装置であって、
前記並列プログラムは、
各コアの夫々に対して、依存関係がある前記処理が割り振られた依存タスクと、依存関係がない前記処理が割り振られた非依存タスクと、を含み、
前記マルチコアマイコンは、
他コアの前記依存タスクに割り振られた前記処理の実行が完了したことを条件に、自コアの前記依存タスクに割り振られた前記処理の実行を開始するため前記自コアの前記依存タスクを待ち状態とする場合に、前記自コアの前記非依存タスクに割り振られた前記処理を実行させる非依存タスク実行部(S55、S56)と、を備えている車載装置。 - 前記マルチコアマイコンは、前記依存タスクと前記非依存タスクの起床時に、前記コア毎に、前記依存タスクと前記非依存タスクを一旦起床させ、前記非依存タスクを待ち状態にする起床処理部(S21〜S26)を備えている請求項7に記載の車載装置。
- 前記マルチコアマイコンは、前記自コアの前記依存タスクに割り振られた前記処理の実行が完了し、前記他コアの前記依存タスクが待ち状態であった場合、前記他コアの前記非依存タスクを待ち状態とし、且つ、前記他コアの前記依存タスクの待ち状態を解除する切替処理部(S53、S54)を備えている請求項7又は8に記載の車載装置。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015199703A JP6464982B2 (ja) | 2015-10-07 | 2015-10-07 | 並列化方法、並列化ツール、車載装置 |
DE102016219403.8A DE102016219403A1 (de) | 2015-10-07 | 2016-10-06 | Parallelisierungsverarbeitung, parallelisierungswerkzeug und fahrzeuggebundene vorrichtung |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015199703A JP6464982B2 (ja) | 2015-10-07 | 2015-10-07 | 並列化方法、並列化ツール、車載装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2017073000A true JP2017073000A (ja) | 2017-04-13 |
JP6464982B2 JP6464982B2 (ja) | 2019-02-06 |
Family
ID=58405641
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2015199703A Active JP6464982B2 (ja) | 2015-10-07 | 2015-10-07 | 並列化方法、並列化ツール、車載装置 |
Country Status (2)
Country | Link |
---|---|
JP (1) | JP6464982B2 (ja) |
DE (1) | DE102016219403A1 (ja) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109697122A (zh) * | 2017-10-20 | 2019-04-30 | 华为技术有限公司 | 任务处理方法、设备及计算机存储介质 |
JP2020135524A (ja) * | 2019-02-21 | 2020-08-31 | 株式会社デンソー | 演算装置 |
JP2022500775A (ja) * | 2019-07-15 | 2022-01-04 | ▲騰▼▲訊▼科技(深▲セン▼)有限公司 | 分散型システムのデータ同期方法、装置、コンピュータプログラム、及び電子機器 |
US11256537B2 (en) | 2018-07-30 | 2022-02-22 | Mitsubishi Electric Corporation | Interrupt control apparatus, interrupt control method, and computer readable medium |
US11645124B2 (en) | 2018-02-16 | 2023-05-09 | Hitachi Astemo, Ltd. | Program execution control method and vehicle control device |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0380337A (ja) * | 1989-04-28 | 1991-04-05 | Hitachi Ltd | 並列化装置 |
WO2011104812A1 (ja) * | 2010-02-23 | 2011-09-01 | 富士通株式会社 | マルチコアプロセッサシステム、割込プログラム、および割込方法 |
JP2012108576A (ja) * | 2010-11-15 | 2012-06-07 | Toyota Motor Corp | マルチコアプロセッサ、処理実行方法、プログラム |
JP2013125549A (ja) * | 2011-12-13 | 2013-06-24 | Samsung Electronics Co Ltd | ソフトリアルタイムオペレーティングシステムの実時間性を確保する方法及び装置 |
JP2015001807A (ja) * | 2013-06-14 | 2015-01-05 | 株式会社デンソー | 並列化コンパイル方法、並列化コンパイラ、並列化コンパイル装置、及び、車載装置 |
-
2015
- 2015-10-07 JP JP2015199703A patent/JP6464982B2/ja active Active
-
2016
- 2016-10-06 DE DE102016219403.8A patent/DE102016219403A1/de active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0380337A (ja) * | 1989-04-28 | 1991-04-05 | Hitachi Ltd | 並列化装置 |
WO2011104812A1 (ja) * | 2010-02-23 | 2011-09-01 | 富士通株式会社 | マルチコアプロセッサシステム、割込プログラム、および割込方法 |
JP2012108576A (ja) * | 2010-11-15 | 2012-06-07 | Toyota Motor Corp | マルチコアプロセッサ、処理実行方法、プログラム |
JP2013125549A (ja) * | 2011-12-13 | 2013-06-24 | Samsung Electronics Co Ltd | ソフトリアルタイムオペレーティングシステムの実時間性を確保する方法及び装置 |
JP2015001807A (ja) * | 2013-06-14 | 2015-01-05 | 株式会社デンソー | 並列化コンパイル方法、並列化コンパイラ、並列化コンパイル装置、及び、車載装置 |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109697122A (zh) * | 2017-10-20 | 2019-04-30 | 华为技术有限公司 | 任务处理方法、设备及计算机存储介质 |
CN109697122B (zh) * | 2017-10-20 | 2024-03-15 | 华为技术有限公司 | 任务处理方法、设备及计算机存储介质 |
US11645124B2 (en) | 2018-02-16 | 2023-05-09 | Hitachi Astemo, Ltd. | Program execution control method and vehicle control device |
US11256537B2 (en) | 2018-07-30 | 2022-02-22 | Mitsubishi Electric Corporation | Interrupt control apparatus, interrupt control method, and computer readable medium |
JP2020135524A (ja) * | 2019-02-21 | 2020-08-31 | 株式会社デンソー | 演算装置 |
JP2022500775A (ja) * | 2019-07-15 | 2022-01-04 | ▲騰▼▲訊▼科技(深▲セン▼)有限公司 | 分散型システムのデータ同期方法、装置、コンピュータプログラム、及び電子機器 |
JP7214295B2 (ja) | 2019-07-15 | 2023-01-30 | ▲騰▼▲訊▼科技(深▲セン▼)有限公司 | 分散型システムのデータ同期方法、装置、コンピュータプログラム、及び電子機器 |
US11645303B2 (en) | 2019-07-15 | 2023-05-09 | Tencent Technology (Shenzhen) Company Limited | Data synchronization method and apparatus of distributed system, medium, and electronic device |
Also Published As
Publication number | Publication date |
---|---|
DE102016219403A1 (de) | 2017-04-13 |
JP6464982B2 (ja) | 2019-02-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9619282B2 (en) | Task scheduling in big and little cores | |
KR101738641B1 (ko) | 멀티 코어 시스템의 프로그램 컴파일 장치 및 방법 | |
JP6464982B2 (ja) | 並列化方法、並列化ツール、車載装置 | |
Bailey et al. | Finding the limits of power-constrained application performance | |
US8984200B2 (en) | Task scheduling in big and little cores | |
KR101626378B1 (ko) | 병렬도를 고려한 병렬 처리 장치 및 방법 | |
US8589938B2 (en) | Composite contention aware task scheduling | |
US20150143380A1 (en) | Scheduling workloads and making provision decisions of computer resources in a computing environment | |
US20150150019A1 (en) | Scheduling computing tasks for multi-processor systems | |
JP6427054B2 (ja) | 並列化コンパイル方法、及び並列化コンパイラ | |
KR20120066189A (ko) | 매니코어 시스템에서 응용 프로그램의 상태를 동적으로 재구성하는 장치 및 방법 | |
WO2020121840A1 (ja) | 演算制御装置 | |
US9910717B2 (en) | Synchronization method | |
JP2016218503A (ja) | 並列化コンパイル方法、並列化コンパイラ、及び車載装置 | |
Forsberg et al. | HePREM: A predictable execution model for GPU-based heterogeneous SoCs | |
JP2017228029A (ja) | 並列化方法、並列化ツール、車載装置 | |
CN108139929B (zh) | 用于调度多个任务的任务调度装置和方法 | |
US10162679B2 (en) | Method and system for assigning a computational block of a software program to cores of a multi-processor system | |
US10255119B2 (en) | Parallelization method, parallelization tool and vehicle-mounted device | |
KR101658792B1 (ko) | 컴퓨팅 시스템 및 방법 | |
Moore et al. | Inflation and deflation of self-adaptive applications | |
US20200065147A1 (en) | Electronic devices and methods for 5g and b5g multi-core load balancing | |
KR102022972B1 (ko) | 이종 멀티 프로세싱 시스템 환경 기반 런타임 관리장치 및 방법 | |
JP6933001B2 (ja) | 並列化方法、並列化ツール | |
JP6617511B2 (ja) | 並列化方法、並列化ツール、車載装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20171128 |
|
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 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20181002 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20181127 |
|
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: 20181211 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20181224 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 6464982 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 |