JP7147615B2 - タスク管理装置 - Google Patents
タスク管理装置 Download PDFInfo
- Publication number
- JP7147615B2 JP7147615B2 JP2019025720A JP2019025720A JP7147615B2 JP 7147615 B2 JP7147615 B2 JP 7147615B2 JP 2019025720 A JP2019025720 A JP 2019025720A JP 2019025720 A JP2019025720 A JP 2019025720A JP 7147615 B2 JP7147615 B2 JP 7147615B2
- Authority
- JP
- Japan
- Prior art keywords
- task
- asynchronous
- time
- queue
- execution
- 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
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/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
- G06F9/4887—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues involving deadlines, e.g. rate based, periodic
-
- 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/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/067—Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Debugging And Monitoring (AREA)
Description
一定の時間周期で起動要求される時間同期タスク、および時間周期とは無関係に起動要求される非同期タスクの、実行順序を管理するタスク管理装置において、
タスク登録部(Q1)にエンキューされている時間同期タスクおよび非同期タスクを、エンキュー順序およびタスク優先度に従って実行させる実行制御部(S32)と、
非同期タスクを、タスク登録部へのエンキューに先立ちタスク蓄積部(Q2)へエンキューして蓄積させる蓄積制御部(S21)と、
タスク蓄積部にエンキューされている非同期タスクを、タスク蓄積部からデキューしてタスク登録部へエンキューする蓄積管理部(S23、S23C、S42、S42C)と、を備え、
蓄積管理部は、タスク登録部から非同期タスクがデキューされる毎に、タスク蓄積部に蓄積されている非同期タスクを、タスク登録部へ所定数ずつエンキューさせ、
所定数を条件に応じて可変設定するエンキュー数設定部(S23A、S42A)を備えるタスク管理装置とされる。
一定の時間周期で起動要求される時間同期タスク、および時間周期とは無関係に起動要求される非同期タスクの、実行順序を管理するタスク管理装置において、
タスク登録部(Q1)にエンキューされている時間同期タスクおよび非同期タスクを、エンキュー順序およびタスク優先度に従って実行させる実行制御部(S32)と、
非同期タスクをタスク蓄積部(Q2)へエンキューして蓄積させる蓄積制御部(S21)と、
タスク登録部にエンキューされているタスクが存在せず、かつ、タスク蓄積部に非同期タスクが蓄積されている場合に、タスク蓄積部にエンキューされている非同期タスクの実行を要求する実行要求タスクを生成し、実行要求タスクをタスク登録部にエンキューする非同期タスク制御部(S230、S230C、S420、S420C)と、
を備えるタスク管理装置とされる。
図1は、制御装置1と、各種入力装置30と、各種出力装置40と、を備える制御システムを示す。これらの制御装置1、各種入力装置30および各種出力装置40は、車両に搭載されている。この車両には、走行駆動源となるエンジン(内燃機関)が搭載されている。制御装置1は、各種入力装置30で検出される値に基づき、各種出力装置40の作動を制御する。
以下、上述した構成を備えることによる効果について、図15を参照しつつ、本実施形態の比較例としてのタスク管理装置と比較しながら説明する。この比較例は、上述した蓄積キューQ2が廃止されたタスク管理装置であり、発生した非同期タスクは、蓄積キューQ2に蓄積されることなく発生時点でOSキューQ1にエンキューされる。そのため、時間同期タスク(10)の実行期間中に先述した4つの非同期タスク(1)~(4)が発生した場合、これらの非同期タスク(1)~(4)が順次実行された後に、次回の時間同期タスク(10)の実行が開始される。よって、時間同期タスク(10)の起動遅延時間Taが長くなる。
上記第1実施形態では、蓄積キューQ2にエンキューされている非同期タスクは、OSキューQ1から非同期タスクがデキューされる毎に、OSキューQ1へ1つずつ移動される。これに対し本実施形態では、上記移動の数(所定数)が可変設定される。
以上により、本実施形態によれば、マイコン10の処理負荷が大きいほど、上記所定数が多い値に設定される。そして、1回で移動させる非同期タスクの数が多いほど、その移動に伴い生じるマイコン10の処理負荷は軽くなる。この点を鑑み、本実施形態によれば、タスク実行処理等でマイコン10の処理負荷が大きい場合であるほど、非同期タスクの移動に伴い生じる処理負荷が小さくなる。そのため、タスク実行とタスク移動の全体で生じる処理負荷が軽減される。
上記第1実施形態では、蓄積キューQ2にエンキューされている非同期タスクは、OSキューQ1に移動されてから実行される。これに対し本実施形態では、蓄積キューQ2にエンキューされている非同期タスクの実行を要求する実行要求タスクが生成され、その実行要求タスクがOSキューQ1にエンキューされる。そして、実行要求タスクがOSキューQ1からデキューされて実行されることにより、蓄積キューQ2にエンキューされている非同期タスクは、OSキューQ1に移動されることなく実行される。
以上により、本実施形態によっても、上記第1実施形態と同様の効果が奏される。すなわち、本実施形態に係るタスク管理装置は、実行制御部、蓄積制御部および非同期タスク制御部を備える。そのため、図10に示す通り、非同期タスク(3)(4)よりも後に発生した次回の時間同期タスク(10)の実行が、それら非同期タスク(3)(4)よりも前に開始される。したがって、時間同期タスクの優先度を非同期タスクの優先度より高くすることなく、非同期タスクよりも後に発生した時間同期タスクを、その非同期タスクよりも先にOSキューQ1へエンキューできる。よって、実行中の非同期タスクの中断に起因したタスク干渉を招くことなく、時間同期タスクの起動遅延時間Taを短くできる。
上記第3実施形態では、蓄積キューQ2にエンキューされている非同期タスクは、実行要求タスクが実行される毎に、1つずつデキューされて実行される。これに対し本実施形態では、実行要求タスクが実行される毎に実行される非同期タスクの数(所定数)が可変設定される。
以上により、本実施形態によれば、マイコン10の処理負荷が大きいほど、上記所定数が多い値に設定される。そして、実行要求タスクによる1回の起動で実行させる非同期タスクの数が多いほど、マイコン10の処理負荷は軽くなる。この点を鑑み、本実施形態によれば、タスク実行処理等でマイコン10の処理負荷が大きい場合であるほど、実行要求タスクの実行に伴い生じる処理負荷が小さくなるので、マイコン10の処理負荷が軽減される。
以上、本開示の複数の実施形態について説明したが、各実施形態の説明において明示している構成の組み合わせばかりではなく、特に組み合わせに支障が生じなければ、明示していなくても複数の実施形態の構成同士を部分的に組み合わせることができる。そして、複数の実施形態及び変形例に記述された構成同士の明示されていない組み合わせも、以下の説明によって開示されているものとする。
Claims (5)
- 一定の時間周期で起動要求される時間同期タスク、および前記時間周期とは無関係に起動要求される非同期タスクの、実行順序を管理するタスク管理装置において、
タスク登録部(Q1)にエンキューされている前記時間同期タスクおよび前記非同期タスクを、エンキュー順序およびタスク優先度に従って実行させる実行制御部(S32)と、
前記非同期タスクを、前記タスク登録部へのエンキューに先立ちタスク蓄積部(Q2)へエンキューして蓄積させる蓄積制御部(S21)と、
前記タスク蓄積部にエンキューされている前記非同期タスクを、前記タスク蓄積部からデキューして前記タスク登録部へエンキューする蓄積管理部(S23、S23C、S42、S42C)と、を備え、
前記蓄積管理部は、前記タスク登録部から前記非同期タスクがデキューされる毎に、前記タスク蓄積部に蓄積されている前記非同期タスクを、前記タスク登録部へ所定数ずつエンキューさせ、
前記所定数を条件に応じて可変設定するエンキュー数設定部(S23A、S42A)を備えるタスク管理装置。 - 一定の時間周期で起動要求される時間同期タスク、および前記時間周期とは無関係に起動要求される非同期タスクの、実行順序を管理するタスク管理装置において、
タスク登録部(Q1)にエンキューされている前記時間同期タスクおよび前記非同期タスクを、エンキュー順序およびタスク優先度に従って実行させる実行制御部(S32)と、
前記非同期タスクをタスク蓄積部(Q2)へエンキューして蓄積させる蓄積制御部(S21)と、
前記タスク登録部にエンキューされているタスクが存在せず、かつ、前記タスク蓄積部に前記非同期タスクが蓄積されている場合に、前記タスク蓄積部にエンキューされている前記非同期タスクの実行を要求する実行要求タスクを生成し、前記実行要求タスクを前記タスク登録部にエンキューする非同期タスク制御部(S230、S230C、S420、S420C)と、を備えるタスク管理装置。 - 前記実行要求タスクは、前記タスク蓄積部に蓄積されている1つの前記非同期タスクについて実行を要求するタスクである請求項2に記載のタスク管理装置。
- 前記実行要求タスクは、前記タスク蓄積部に蓄積されている複数の前記非同期タスクについて実行を要求するタスクである請求項2に記載のタスク管理装置。
- 前記実行要求タスクは、前記タスク蓄積部に蓄積されている所定数の前記非同期タスクについて実行を要求するタスクであり、
前記所定数を条件に応じて可変設定する実行要求数設定部(S230A、S420A)を備える請求項2に記載のタスク管理装置。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019025720A JP7147615B2 (ja) | 2019-02-15 | 2019-02-15 | タスク管理装置 |
US16/750,362 US11221878B2 (en) | 2019-02-15 | 2020-01-23 | Task management apparatus |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019025720A JP7147615B2 (ja) | 2019-02-15 | 2019-02-15 | タスク管理装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2020135214A JP2020135214A (ja) | 2020-08-31 |
JP7147615B2 true JP7147615B2 (ja) | 2022-10-05 |
Family
ID=72043281
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2019025720A Active JP7147615B2 (ja) | 2019-02-15 | 2019-02-15 | タスク管理装置 |
Country Status (2)
Country | Link |
---|---|
US (1) | US11221878B2 (ja) |
JP (1) | JP7147615B2 (ja) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US12020516B2 (en) | 2019-12-20 | 2024-06-25 | Boe Technology Group Co., Ltd. | Method and device for processing product manufacturing messages, electronic device, and computer-readable storage medium |
CN112231095B (zh) * | 2020-09-02 | 2023-03-28 | 北京航空航天大学 | 基于机器学习的面向资源管理的云任务细粒度分类方法 |
CN114945817A (zh) * | 2020-10-30 | 2022-08-26 | 京东方科技集团股份有限公司 | 基于缺陷检测的任务处理方法、装置及设备及存储介质 |
CN112988352A (zh) * | 2021-03-10 | 2021-06-18 | 中国建设银行股份有限公司 | 一种用于切换扫描模式的方法和装置 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008136254A (ja) | 2008-03-05 | 2008-06-12 | Yamaha Corp | 通信装置 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5119374A (en) * | 1990-05-29 | 1992-06-02 | Advanced Micro Devices, Inc. | Method of and system for implementing multiple levels of asynchronous priority in FDDI networks |
DE69227664T2 (de) | 1991-10-15 | 1999-04-22 | Hewlett Packard Co | Hardwarekonfiguriertes Betriebssystemkern für einen Multitaskprozessor |
JP2000013762A (ja) | 1998-06-19 | 2000-01-14 | Sony Corp | デジタル伝送方法およびデジタル放送受信機 |
JP2000137621A (ja) | 1998-10-30 | 2000-05-16 | Toshiba Corp | イベント管理装置及びプログラムを記録したコンピュータ読み取り可能な記録媒体 |
JP3882760B2 (ja) | 2003-02-18 | 2007-02-21 | 株式会社デンソー | タスク間通信方法、プログラム、記録媒体、電子機器 |
KR100800881B1 (ko) * | 2006-08-11 | 2008-02-04 | 삼성전자주식회사 | 동기식 이더넷 시스템에서 서비스 품질 보장 방법 및 장치 |
WO2011053891A2 (en) * | 2009-10-31 | 2011-05-05 | Rutgers, The State University Of New Jersey | Virtual flow pipelining processing architecture |
JP6365367B2 (ja) | 2015-03-17 | 2018-08-01 | 株式会社デンソー | 電子制御装置 |
-
2019
- 2019-02-15 JP JP2019025720A patent/JP7147615B2/ja active Active
-
2020
- 2020-01-23 US US16/750,362 patent/US11221878B2/en active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008136254A (ja) | 2008-03-05 | 2008-06-12 | Yamaha Corp | 通信装置 |
Also Published As
Publication number | Publication date |
---|---|
JP2020135214A (ja) | 2020-08-31 |
US20200264922A1 (en) | 2020-08-20 |
US11221878B2 (en) | 2022-01-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7147615B2 (ja) | タスク管理装置 | |
JP5816572B2 (ja) | 車両用制御装置 | |
EP1685486B1 (en) | Interrupt handling in an embedded multi-threaded processor to avoid priority inversion and maintain real-time operation | |
JP5829890B2 (ja) | 半導体データ処理装置、タイムトリガ通信システム及び通信システム | |
US20050216635A1 (en) | Interrupt request program and microcomputer | |
US7590990B2 (en) | Computer system | |
JP2004362100A (ja) | 情報処理装置、プロセス制御方法、並びにコンピュータ・プログラム | |
JP5817505B2 (ja) | 内燃機関の制御装置 | |
WO2014061141A1 (ja) | 並列計算装置 | |
JP2009163658A (ja) | 入出力制御装置およびそのファームウェア更新方法 | |
JP2010170320A (ja) | プログラム、及び制御装置 | |
US10853133B2 (en) | Method and apparatus for scheduling tasks to a cyclic schedule | |
JP4419943B2 (ja) | Cpu間データ転送装置 | |
JP6519515B2 (ja) | マイクロコンピュータ | |
US20050160425A1 (en) | Limitation of the response time of a software process | |
JP7204443B2 (ja) | 車両制御装置およびプログラム実行方法 | |
JP2002099434A (ja) | 制御装置 | |
JP2016184315A (ja) | 電子制御装置 | |
Negrean et al. | Mastering timing challenges for the design of multi-mode applications on multi-core real-time embedded systems | |
JP2010196619A (ja) | 内燃機関の制御装置 | |
JP2021105368A (ja) | エンジン制御装置 | |
JP2020091540A (ja) | 情報処理装置 | |
JP2013161363A (ja) | 電子制御装置、プログラム実行方法 | |
JP7318439B2 (ja) | 電子制御装置 | |
WO2019044226A1 (ja) | アクセス制御装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20210716 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20220518 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20220628 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20220803 |
|
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: 20220823 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20220905 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 7147615 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |