JP7263746B2 - 情報処理装置 - Google Patents

情報処理装置 Download PDF

Info

Publication number
JP7263746B2
JP7263746B2 JP2018226709A JP2018226709A JP7263746B2 JP 7263746 B2 JP7263746 B2 JP 7263746B2 JP 2018226709 A JP2018226709 A JP 2018226709A JP 2018226709 A JP2018226709 A JP 2018226709A JP 7263746 B2 JP7263746 B2 JP 7263746B2
Authority
JP
Japan
Prior art keywords
task
priority
frequency
execution
unit
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
Application number
JP2018226709A
Other languages
English (en)
Other versions
JP2020091540A (ja
Inventor
翔太 金生
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Denso Corp
Original Assignee
Denso Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Denso Corp filed Critical Denso Corp
Priority to JP2018226709A priority Critical patent/JP7263746B2/ja
Publication of JP2020091540A publication Critical patent/JP2020091540A/ja
Application granted granted Critical
Publication of JP7263746B2 publication Critical patent/JP7263746B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Combined Controls Of Internal Combustion Engines (AREA)

Description

本開示は、複数のタスクの実行順を優先度に従って管理する情報処理装置に関する。
特許文献1には、複数のタスクの実行順を制御する情報処理装置が開示されている。特許文献1の情報処理装置では、実行待ちしているタスクは、各タスクに設定された優先度に従う実行順で実行される。情報処理装置は、処理抜け頻度が処理抜け許容率以上となったタスクについて、優先度を高める。
特開2013-88937号公報
しかし、制御されるタスクには、関連タスクの実行結果に基づいて実行されるため、関連タスクの後での実行が望ましいタスクが含まれうる。こうしたタスクは、優先度を高められた場合、実行順の変化に伴い関連タスク以前に実行されうる。故に、優先度を高められたタスクの実行結果において、関連タスクの実行結果が反映されず、精度の低下が生じえた。
本開示は、タスクの優先度を高める場合においても、実行結果の精度低下を抑制可能な情報処理装置の提供を目的とする。
上記目的は独立請求項に記載の特徴の組み合わせにより達成され、また、下位請求項は、本開示の更なる有利な具体例を規定する。特許請求の範囲に記載した括弧内の符号は、一つの態様として後述する実施形態に記載の具体的手段との対応関係を示すものであって、本開示の技術的範囲を限定するものではない。
上記目的を達成するための本開示の情報処理装置は、タスクを順に実行する実行部(10)と、実行部による実行を待つ複数のタスクの実行予定順を、各タスクに設定された優先度に基づいて決定する順序決定部(121)と、各タスクについて、実行頻度の低下した頻度低下タスクであるか否かを判断する頻度判断部(122)と、頻度低下タスクの優先度を高める優先度変更部(123)と、頻度低下タスクが、関連づけられた関連タスクの実行結果に基づいて実行されるタスクである場合に、関連タスクの優先度を、頻度低下タスクに対する実行予定順を維持するように高める順序維持部(124)と、を備え、頻度判断部は、実行待ち数が変更閾値以上となったタスクを、頻度低下タスクと判断し、優先度変更部は、頻度低下タスクの優先度を高めた場合に、頻度低下タスクが実行部に実行されるよりも前に、頻度低下タスクの実行待ち数を減少させる。
以上の構成によれば、順序維持部は、頻度低下タスクの関連タスクを、頻度低下タスクに対する実行予定順を維持するように優先度を高める。この結果、頻度低下タスクは、優先度変更部により優先度を高められる場合においても、関連タスク以前となることなく実行される。故に、優先度の変更に伴い実行予定順が変化する場合においても、関連タスクの実行結果を反映してタスクを実行しうる。従って、タスクの優先度を高める場合においても、実行結果の精度低下が抑制される。
情報処理装置の構成を示す図である。 タスク割当管理部における処理を示すフローチャートである。 レディキューおよびキュー管理部の状態変化の例を示す図である。 実行部に対するタスクの割り当て順の例を示す図である。
図1に示す本開示の実施形態による情報処理装置1は、例えば車両において、エンジンの燃料噴射や点火時期を制御するエンジンECUとして用いられる電子制御装置である。情報処理装置1は、ソフトウェアを非一時的に記録した非遷移的かつ実体的な記憶媒体としてのメモリ、ソフトウェアを実行するプロセッサ、および入出力インターフェースなどを備えたマイクロコンピュータである。メモリには、リアルタイムオペレーティングシステム(以下、RTOS:Real-time operating system)のプログラムと、RTOS上で動作し、エンジンECUとしての機能を提供するアプリケーションプログラムとが格納されている。
情報処理装置1は、アプリケーションプログラムによる機能を実現するための種々の処理を、RTOSにより実行される複数のタスクとして動作させる。タスクは、RTOSにより規定されたひと纏まりの実行単位である。情報処理装置1は、各タスクの実行状態および実行順を管理し、各タスクを逐次的に実行する。情報処理装置1で実行されるタスクには、エンジンの各気筒に対する点火制御、クランク角の取得、空燃比の取得、アクセル開度の取得、燃料噴射量の算出、スロットルバルブの開度制御などに区分された処理が個別に設定されている。情報処理装置1は、各タスクの実行順を、各タスクに設定された優先度等に基づいて管理する。情報処理装置1は、プロセッサでRTOSのプログラムを実行することにより、実行部10、割り込みコントローラ20、およびタスク割当管理部100としての機能を発揮する。
実行部10は、プロセッサのうち各タスクを順に実行するために割り当てられた領域である。実行部10は、各タスクに係る算術演算や論理演算などを行う演算回路や、各タスクに係るデータなどを一時的に格納するためのレジスタなどを含んでいる。実行部10は、タスクの割り当て条件が成立すると、タスク割当管理部100にタスクの割り当てを要求する。タスクの割り当て条件は、例えば実行中のタスクの実行開始から所定時間の経過や、実行中のタスクに係る一サイクルの演算の終了などである。実行部10は、タスク割当管理部100により新たなタスクの割り当てを受けると、実行中であったタスクがあればそのタスクに係る演算の進行状況やデータなどを退避させ、割り当てられたタスクの実行を開始する。実行部10は、割り当てられた順に従って実行中のタスクを切り替えることにより、各タスクを見かけ上で並列して逐次的に実行する。
割り込みコントローラ20は、各タスクの割り込み発生条件が成立しているか否かに基づいて、各タスクの割り込み要求を出力するモジュールである。各タスクの割り込み条件には、例えば情報処理装置1への入力信号の立ち上がりや所定時間の経過、データの転送完了などが個別に設定されている。割り込みコントローラ20は、割り込み条件の成立したタスクについての割り込み要求を、タスク割当管理部100に出力する。
タスク割当管理部100は、例えばプロセッサのうち、実行部10に割り当てられるタスクを管理するために割り当てられた領域である。タスク割当管理部100は、割り込みコントローラ20から各タスクについての割り込み要求を受け、各タスクに設定された優先度および割り込み要求を受けたタイミングに従って各タスクを実行部10で実行されるタスクとして割り当てる。タスク割当管理部100は、状態管理部110およびタスク制御部120としての機能を有する。
状態管理部110は、各タスクの実行状態を管理するための記憶領域である。状態管理部110は、レディキュー111、キュー管理部112、関連タスクテーブル113を含んでいる。
レディキュー111は、各タスクの割り込み要求を格納する領域である。各タスクの割り込み要求は、タスクに設定された優先度の一致する割り込み要求ごとに、割り込み要求を受けた順に従ってレディキュー111に格納される。格納された各タスクの割り込み要求は、実行部10からタスクの割り当て要求を受けるたびに一つ取り出される。取り出された割り込み要求に対応するタスクが、実行部10で次に実行されるタスクとして割り当てられる。従って、レディキュー111内の各割り込み要求の配列が、その時点における実行順の予定を示した「実行予定順」に相当する。
割り込み要求されたタスクの取り出しは、格納されている割り込み要求の中で、最も優先度の高いタスクの割り込み要求から順に行われる。本実施形態では、優先度として設定された数値が小さいほど、高い優先度であるとして扱う。最も優先度の高い割り込み要求が複数格納されている場合は、先に格納された割り込み要求のタスクから順に割り当てられる。従って実行予定順は、例えば格納された割り込み要求のいずれかよりも優先度の高い割り込み要求を新たに格納された場合など、実際に割り当てられるまでに変動しうる。
キュー管理部112は、レディキュー111に対する割り込み要求の格納を管理するためのデータを格納する領域である。キュー管理部112には、キューイング数、あらかじめ設定された優先度、および変更閾値が、タスク割当管理部100で管理されるタスクごとに格納されている。キューイング数は、各タスクについてのレディキュー111に現在格納されている割り込み要求の数である。キューイング数は、実行を待っている各タスクの割り込み要求の数であり、「実行待ち数」に相当する。
優先度は、レディキュー111内で割り込み要求をソートするために、各タスクにあらかじめ設定されたパラメータである。優先度は、割り込み要求発生から割り当てまでの時間が短いことが好ましいタスクほど高く設定される。本実施形態の優先度は、0から4までの5段階が設定されている。各タスクには、通常優先度および一時優先度の二つまで優先度が設定可能となっている。通常優先度は、レディキュー111への格納にあたって参照される優先度である。一時優先度は、レディキュー111に格納された状態のタスクの実行予定順を変更する場合に、実行予定順を変更するタスクの割り込み要求に一時的に適用される優先度である。一時優先度は、通常優先度よりも高い優先度に設定されている。
変更閾値は、各タスクの割り込み要求に一時優先度を適用することにより、実行予定順を変更する条件としてあらかじめ設定されたパラメータである。実行予定順の変更は、いずれかのタスクが、実行頻度の低下した頻度低下タスクとなった場合に実施される。ただし、実行頻度が低下しているとは、各タスクに設定された許容される実行頻度範囲を下回っている状態を示す。本実施形態の変更閾値は、各タスクのキューイング数の閾値として設定されている。変更閾値は、想定される割り込み要求の発生頻度と、許容される実行頻度の下限とに基づいて設定される。例えば、割り込み要求の発生頻度が高いほど大きく、実行頻度の下限が高いほど小さい値に設定される。
本実施形態では、キュー管理部112には、タスクA、タスクB、およびタスクCの三つのタスクについてキューイング管理のためのデータが格納されている。タスクAは、現在のクランク角に基づいて、燃料噴射量を算出するタスクである。タスクAには、通常優先度として4が設定され、一時優先度として1が設定されている。またタスクAには、変更閾値として3が設定されている。
タスクBは、クランク角を取得するタスクである。タスクBで取得された最新のクランク角に基づいて、タスクAが実行される。故にタスクBには、タスクAの直前に実行されるように、通常優先度としてタスクAの通常優先度より一段階高い3が設定されている。またタスクBには、一時優先度として0が設定され、変更閾値として4が設定されている。タスクAおよびタスクBの一時優先度の段階の差は、通常優先度の差と一致するように設定されている。すなわち、タスクAの一時優先度である1に対して、タスクBの一時優先度である0が一段階高く設定されている。タスクBの割り込み要求は、ノイズ抑制等のため、タスクAの割り込み要求よりも高い頻度で発生する。
タスクCは、各気筒に対する点火処理を行うタスクである。タスクCには、通常優先度として2が設定されている。タスクCは、他のいずれのタスクよりも通常優先度が高く設定されており、実行頻度の低下を生じない。従って、タスクCには、一時優先度および変更閾値が設定されていない。またタスクAおよびタスクBの一時優先度は、いずれのタスクに設定された通常優先度よりも高く設定されている。
関連タスクテーブル113は、各タスクと、当該タスクにあらかじめ関連付けられた関連タスクとの関係を格納する領域である。関連タスクは、あるタスクに対する一時優先度の適用により実行予定順が変更される場合に、連動して優先度を変更されるタスクである。関連タスクとして設定されるタスクは、例えばそのタスクの実行結果に基づいて他のタスクが実行されるタスクである。具体的には、所定のタスクの実行にあたって他のタスクの実行結果として得られたデータを参照する場合に、データを参照される側のタスクが、データを参照する側のタスクに対する関連タスクとしてあらかじめ設定されている。
例えば本実施形態においては、燃料噴射量を算出するタスクAに対して、算出に当たって参照するクランク角を取得するタスクBが関連タスクとして設定されている。タスクAは、関連タスクであるタスクBによる最新のクランク角に基づいて燃料噴射量を算出する。なお、本実施形態において関連タスクとして設定されているタスクには、上述した関係以外のタスクも含まれている。例えば本実施形態においては、タスクBに対して、タスクAが関連タスクとして設定されている。すなわち、データを参照する側のタスクについても、データを参照される側のタスクに対する関連タスクとして設定されている。関連タスクテーブル113は、キュー管理部112とは別に、テーブル形式で各タスクと関連タスクとの関係を格納している。
タスク制御部120は、状態管理部110に格納された各データに基づいて、割り込み要求の受付および実行部10へのタスクの割り当てを制御する制御回路である。タスク制御部120は、キューイング部121、頻度判断部122、優先度変更部123、順序維持部124としての機能を発揮する。
キューイング部121は、割り込みコントローラ20から出力された割り込み要求を受信した場合に、受信した割り込み要求をレディキュー111に格納する。キューイング部121は、割り込み要求を受信したタスクの通常優先度をキュー管理部112から読み出す。キューイング部121は、レディキュー111のうち、通常優先度に対応した範囲の最後尾に割り込み要求を格納する。すなわちキューイング部121は、実行予定順を、各タスクに設定された優先度のうち通常優先度に基づいて決定する「順序決定部」に相当する。キューイング部121は、割り込み要求を格納したタスクについて、キュー管理部112に格納されているキューイング数を格納完了時点の値に更新する。またキューイング部121は、レディキュー111から割り込み要求が取り出されて実行部10に割り当てられた場合にも、キューイング数を更新する。
頻度判断部122は、各タスクについて、実行頻度の低下した頻度低下タスクであるか否かを判断する。本実施形態の頻度判断部122では、各タスクについてキュー管理部112に格納されたキューイング数、および変更閾値に基づいて頻度低下タスクであると判断する。頻度判断部122は、例えばキューイング部121がいずれかのタスクについて割り込み要求の格納およびキューイング数の更新を実施した場合に、タスクの更新後のキューイング数、および変更閾値を読みだす。頻度判断部122は、キューイング数が変更閾値以上である場合、割り込み要求を格納したタスクが頻度低下タスクとなっていると判断する。
優先度変更部123は、頻度判断部122により頻度低下タスクと判断されたタスクの優先度を高める。優先度変更部123は、レディキュー111に格納された頻度低下タスクの優先度を、通常優先度よりも高い一時優先度に変更させる。優先度変更部123は、優先度の変更にあたり、頻度低下タスクのキューイング数を減少させる。例えば優先度変更部123は、キューイング数を1まで減少させる。具体的には、優先度変更部123は、通常優先度に従って格納されていた頻度低下タスクの割り込み要求をレディキュー111から全て削除し、一時優先度に従う割り込み要求を1つのみレディキュー111に改めて格納する。優先度変更部123は、一時優先度に従う割り込み要求を格納すると、キューイング数を更新して1とする。
順序維持部124は、頻度低下タスクに関連付けられた関連タスクについて、頻度低下タスクに対する実行予定順を維持するように優先度を高める。すなわち、頻度低下タスクの優先度を高める前における実行予定順の前後関係が、頻度低下タスクの優先度を高めた後においても維持されるように優先度を変更する。順序維持部124は、いずれかのタスクが頻度判断部122により頻度低下タスクであると判断されると、そのタスクの関連タスクを関連タスクテーブル113から読み出す。また順序維持部124は、関連タスクテーブル113から読み出した関連タスクについて、一時優先度をキュー管理部112から読み出す。順序維持部124は、関連タスクの優先度を、通常優先度よりも高い優先度である一時優先度に変更させる。
タスクAおよびタスクBに設定された一時優先度の差は、通常優先度の段階の差と一致するように設定されている。従って、タスクAおよびタスクBの一方が頻度低下タスクとなった場合、他方である関連タスクの優先度は、頻度低下タスクに対する関連タスクの相対的な実行予定順を維持されるように変更される。また、タスクAおよびタスクBの一時優先度は、いずれのタスクの通常優先度よりも高く、かつ優先度の差が一段階となるように設定されている。この結果、タスクAおよびタスクBの一方が頻度低下タスクとなった場合、他方である関連タスクは、頻度低下タスクと連続して実行されるように優先度を変更される。順序維持部124は、関連タスクの優先度の変更にあたり、関連タスクのキューイング数を減少させる。例えば順序維持部124は、関連タスクのキューイング数を1まで減少させる。
[タスク制御部120の作動]
タスク制御部120の作動例を説明する。タスク制御部120は、割り込みコントローラ20から割り込み要求を受けた場合に、図2のフローチャートに示す処理をS1から順に実行する。
S1では、割り込み要求を受けたタスクについて通常優先度を取得し、取得した通常優先度に従ってタスクの割り込み要求をレディキュー111に格納する。S2では、S1で割り込み要求を格納したタスクのキューイング数を更新する。
S3では、S2でキューイング数を更新したタスクが、頻度低下タスクであるか否かを判断する。すなわち、更新したタスクのキューイング数が変更閾値以上となっているか否かを判断する。変更閾値以上となっている場合には頻度低下タスクであるとしてS4に進み、変更閾値未満である場合は頻度低下タスクでないとして図2に示す処理を終了する。
S4では、S3で頻度低下タスクであると判断されたタスクについて、関連タスクテーブル113に関連タスクが設定されているか否かを判断する。関連タスクが設定されている場合はS5に進み、設定されていない場合にはS7に進む。
S5では、通常優先度に従ってキューイングされた関連タスクの割り込み要求を削減し、一つの割り込み要求のみレディキュー111に残す。
S6では、関連タスクとして設定されたタスクの一時優先度を取得し、レディキュー111内に残された関連タスクに係る割り込み要求の優先度を、通常優先度から一時優先度に変更させる。優先度の変更に従って、関連タスクに係る割り込み要求の位置が移動し、実行予定順が更新される。
S7では、通常優先度に従ってキューイングされた頻度低下タスクの割り込み要求を削減し、一つの割り込み要求のみレディキュー111に残す。
S8では、頻度低下タスクの一時優先度を取得し、レディキュー111内に残された頻度低下タスクに係る割り込み要求の優先度を、通常優先度から一時優先度に変更する。優先度の変更に従って頻度低下タスクに係る割り込み要求の位置が移動し、実行予定順が更新される。
図2に示したタスク制御部120の作動に伴う、レディキュー111およびキュー管理部112の状態変化の例を説明する。図3には、タスクAのキューイング数が2となっていたレディキュー111に対して、タスクAの割り込み要求が更に格納される場合の挙動を示している。図2に示したS1およびS2により、レディキュー111内の優先度4の範囲の最後尾に、タスクAの割り込み要求が更に格納され、キュー管理部112に格納されたタスクAのキューイング数が2から3に更新される。この結果、S3でタスクAが頻度低下タスクであると判断され、またS4でタスクBが頻度低下タスクの関連タスクであると判断される。
S5およびS6により、レディキュー111内の優先度3の範囲に格納されたタスクBの割り込み要求のうち、一つのみが優先度0の範囲に移動され、残りは全て削除される。また、タスクBのキューイング数は1に更新される。S7およびS8により、レディキュー111内の優先度4の範囲に格納されたタスクAの割り込み要求のうち、一つのみが優先度1の範囲に移動され、残りは全て削除される。また、タスクAのキューイング数は1に更新される。
タスク制御部120の作動に伴う実行部10において実行されるタスクの時間変化の例を図4に沿って説明する。図4は、例えば車両の高速走行などにより、通常優先度の高いタスクCの割り込み要求頻度が高まった状態において、実行部10で実行されるタスクの切替わりを示す。通常優先度の高いタスクCの割り込み要求が増加することにより、通常優先度の最も低いタスクAは割り込み要求を受けているにも拘らず実行されない状態となっている。
時刻t1に、タスクAの割り込み要求を受けてタスクAのキューイング数が3となったとする。この結果、タスクAが頻度低下タスクと判断され、またタスクBが頻度低下タスクに対する関連タスクであると判断される。タスクAおよびタスクBは一時優先度に従ってレディキュー111内の位置を変更される。時刻t2に実行部10に対するタスクの割り当てが発生し、一時優先度として優先度0となっているタスクBが割り当てられる。時刻t3にタスクCの割り込み要求が発生しているが、タスクCの通常優先度は、タスクAの一時優先度である優先度1より低い優先度2である。従って、時刻t4に再び実行部10に対するタスクの割り当てが発生すると、タスクAは、タスクBの直後にタスクCより優先して割り当てられる。
[実施形態のまとめ]
以上、説明した実施形態によれば、順序維持部124は、頻度低下タスクの関連タスクを、頻度低下タスクに対する実行予定順を維持するように優先度を高める。この結果、頻度低下タスクは、優先度変更部123により優先度を高められる場合においても、関連タスク以前の実行となることなく実行される。故に、優先度の変更に伴い実行予定順が変化する場合においても、関連タスクの実行結果を反映してタスクを実行しうる。従って、頻度低下タスクの優先度を高める場合においても、実行結果の精度低下が抑制される。
加えて本実施形態では、頻度判断部122は、キューイング数が変更閾値以上となったタスクを頻度低下タスクと判断する。こうした判断によれば、個々のタスクに対してタイマや抜け率の算出部などを新たに設けることなく、実行頻度の低下を判断可能となる。従って、実行頻度の判断に係るコストを抑制可能となる。
また本実施形態では、優先度変更部123は、頻度低下タスクの優先度を高めた場合に頻度低下タスクの実行待ち数を減少させる。実行待ち数の減少により、頻度低下タスクの実行待ち数が再び変更閾値以上となるまでの時間が延長される。故に、頻度低下タスクと判断されることに伴う優先度変更部123による優先度の変更の発生が抑制される。従って、頻度低下タスクよりも優先度の高いタスクの実行頻度低下が抑制される。
さらに本実施形態では、優先度変更部123は、頻度低下タスクの優先度を、各タスクに設定された通常優先度よりも高い優先度に変更する。故に、頻度判断部122により頻度低下タスクが発生していると判断されてから、関係タスク以外のタスクの割り当てを待つことなく実行部10に割り当てられる。この結果、頻度低下タスクは、頻度低下タスクと判断されてから実行までの期間を短縮される。
また本実施形態では、順序維持部124は、頻度低下タスクの実行予定順を関連タスクの直後とするように関連タスクの優先度を高める。故に、頻度低下タスクは、関連タスクの割り当てから、他のタスクの割り当てを待つことなく実行部10に割り当てられる。この結果、頻度低下タスクは、より新しい関連タスクの実行結果に基づいて実行されうる。従って、頻度低下タスクの実行結果の精度をより向上しうる。
<他の実施形態>
以上、本開示の実施形態を説明したが、本開示は上述の実施形態に限定されるものではなく、次の変形例も本開示の技術的範囲に含まれ、さらに、下記以外にも要旨を逸脱しない範囲内で種々変更して実施できる。なお、以下の説明において、それまでに使用した符号と同一番号の符号を有する要素は、特に言及する場合を除き、それ以前の実施形態における同一符号の要素と同一である。また、構成の一部のみを説明している場合、構成の他の部分については先に説明した実施形態を適用できる。
上述の実施形態においては、頻度判断部122は、キューイング数に基づいて頻度低下タスクであるか否かを判断していた。しかし、各タスクの処理抜け率や待ち時間などを用いて判断する構成でもよい。またこの場合には、優先度を変更する場合においてキューイング数を削減しなくてもよい。
上述の実施形態においては、頻度低下タスクおよび関連タスクの一時優先度は、どのタスクの通常優先度よりも高く、かつ異なる優先度に設定されていた。しかし、頻度低下タスクの関連タスクに対する実行予定順が維持可能であれば、設定される一時優先度はこれに限られない。例えば、同じ一時優先度を設定し、通常優先度の差による元の実行予定順に従う順序で移動先の優先度に格納する構成でもよい。またこの場合、一時優先度がいずれかのタスクの通常優先度と一致していてもよい。
上述の実施形態においては、タスク割当管理部100の管理するタスクとして三つのタスクが設定され、あるタスクに対して、関連タスクとして一つのタスクのみが設定されていた。しかし、タスクの数は三つ以上あってもよく、またその場合にはあるタスクに対して複数のタスクが関連タスクとして設定されていてもよい。例えば、タスク割当管理部100の管理するタスクとして、空燃比を取得するタスクやアクセル開度を取得するタスク、スロットル開度を算出するタスクなどが更に設定されていてもよい。
また燃料噴射量を算出するタスクに対する関連タスクとして、クランク角を取得するタスクに加えて、空燃比を取得するタスクが設定されていてもよい。複数の関連タスクが設定されている場合には、順序維持部124は、各関連タスクの間の実行予定順についても関係を維持するように、各関連タスクの優先度を変更すればよい。こうした構成によれば、一つのタスクに対して複数の関連タスクが設定されている構成においても、設計時に想定された実行順を維持して優先度を高めることが可能となる。また、関連タスクには、頻度低下タスクと実行予定順が連続していないタスクが含まれていてもよい。
上述の実施形態においては、所定のタスクに対して、そのタスクの実行結果を参照するタスクも関連タスクとして設定されていた。しかし、こうしたタスクが関連タスクに設定されていなくてもよい。
上述の実施形態においては、順序維持部124は、頻度低下タスクに関連タスクが設定されている場合には、必ず関連タスクの優先度も変更していた。しかし、関連タスクの優先度を変更せず、頻度低下タスクの優先度のみを変更する場合があってもよい。例えば、関連タスクのキューイング数が十分小さい場合には、関連タスクは十分な実行頻度で周期的に実行されている可能性が高い。故に、関連タスクの優先度を変更することなく関連タスクの実行結果を参照して頻度低下タスクが実行可能であるとみなせる。従って順序維持部124は、関連タスクのキューイング数が所定の維持閾値未満である場合には、関連タスクの優先度を通常優先度のまま維持し、頻度低下タスクのみ優先度を変更する構成とすることもできる。こうした構成によれば、関連タスクよりも優先度の高いタスクの実行頻度低下を抑制して、頻度低下タスクの実行頻度を維持しうる。
上述の実施形態においては、情報処理装置1はエンジンECUとして用いられる電子制御装置であった。しかし、情報処理装置1の用途はこれに限られず、メモリに格納されるアプリケーションソフトウェアを適宜変更し、他の用途に利用可能である。
上述の実施形態においては、タスク割当管理部100による実行部10に対する割り当ては、所定時間の経過またはサイクルの終了時に実行されるとしていた。しかし、優先度に基づいた割り当て方法であれば、割り当ての判断タイミングなどはこれに限られず適宜変更可能である。一例として、所定の周期ごとに実行中のタスクよりも優先度の高いタスクがレディキュー111に格納されているか否かを判断し、優先度の高いタスクが格納されていればそのタスクに切り替える方法が採用可能である。こうした切替えが実施された場合には、実行中であったタスクは一連のサイクルの処理の進行状況などを退避させるとともに、レディキュー111の先頭に割り込み要求を格納される。
1 情報処理装置、 10 実行部、 121 キューイング部(順序決定部)、 122 頻度判断部、 123 優先度変更部、 124 順序維持部

Claims (5)

  1. タスクを順に実行する実行部(10)と、
    前記実行部による実行を待つ複数の前記タスクの実行予定順を、各前記タスクに設定された優先度に基づいて決定する順序決定部(121)と、
    各前記タスクについて、実行頻度の低下した頻度低下タスクであるか否かを判断する頻度判断部(122)と、
    前記頻度低下タスクの優先度を高める優先度変更部(123)と、
    前記頻度低下タスクが、関連づけられた関連タスクの実行結果に基づいて実行される前記タスクである場合に、前記関連タスクの優先度を、前記頻度低下タスクに対する実行予定順を維持するように高める順序維持部(124)と、を備え
    前記頻度判断部は、実行待ち数が変更閾値以上となった前記タスクを、前記頻度低下タスクと判断し、
    前記優先度変更部は、前記頻度低下タスクの優先度を高めた場合に、前記頻度低下タスクが前記実行部に実行されるよりも前に、前記頻度低下タスクの実行待ち数を減少させる情報処理装置。
  2. 前記優先度変更部は、前記頻度低下タスクの優先度を高めた場合に、前記頻度低下タスクの実行待ち数を一つのみを残すように減少させる請求項1に記載の情報処理装置。
  3. 前記優先度変更部は、前記頻度低下タスクの優先度を、各前記タスクに設定されたいずれの優先度のよりも高い優先度に変更する請求項1または2に記載の情報処理装置。
  4. 前記順序維持部は、前記関連タスクと前記頻度低下タスクとが連続して実行されるように前記関連タスクの優先度を高める請求項1~のいずれか1項に記載の情報処理装置。
  5. 前記順序維持部は、前記頻度低下タスクに対して複数の前記関連タスクが関連付けられている場合、各前記関連タスクの間の実行予定順を維持するように優先度を高める請求項1~のいずれか1項に記載の情報処理装置。
JP2018226709A 2018-12-03 2018-12-03 情報処理装置 Active JP7263746B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2018226709A JP7263746B2 (ja) 2018-12-03 2018-12-03 情報処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018226709A JP7263746B2 (ja) 2018-12-03 2018-12-03 情報処理装置

Publications (2)

Publication Number Publication Date
JP2020091540A JP2020091540A (ja) 2020-06-11
JP7263746B2 true JP7263746B2 (ja) 2023-04-25

Family

ID=71012824

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018226709A Active JP7263746B2 (ja) 2018-12-03 2018-12-03 情報処理装置

Country Status (1)

Country Link
JP (1) JP7263746B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113688053B (zh) * 2021-09-01 2023-07-28 北京计算机技术及应用研究所 云化测试工具的排队使用方法和系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000215068A (ja) 1999-01-21 2000-08-04 Matsushita Electric Ind Co Ltd マルチタスクスケジュ―リング装置
JP2009294712A (ja) 2008-06-02 2009-12-17 Panasonic Corp 優先度制御装置及び優先度制御方法
JP2013088937A (ja) 2011-10-14 2013-05-13 Toyota Motor Corp 情報処理装置
JP2016206817A (ja) 2015-04-20 2016-12-08 株式会社デンソー 電子制御装置
CN106776395A (zh) 2017-01-22 2017-05-31 中国人民解放军国防科学技术大学 一种共享集群的任务调度方法及装置

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6057441A (ja) * 1983-09-08 1985-04-03 Fujitsu Ltd 情報処理装置
JPH01144131A (ja) * 1987-11-30 1989-06-06 Nec Corp トランザクション実行優先制御方式

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000215068A (ja) 1999-01-21 2000-08-04 Matsushita Electric Ind Co Ltd マルチタスクスケジュ―リング装置
JP2009294712A (ja) 2008-06-02 2009-12-17 Panasonic Corp 優先度制御装置及び優先度制御方法
US20110072435A1 (en) 2008-06-02 2011-03-24 Panasonic Corporation Priority control apparatus and priority control method
JP2013088937A (ja) 2011-10-14 2013-05-13 Toyota Motor Corp 情報処理装置
JP2016206817A (ja) 2015-04-20 2016-12-08 株式会社デンソー 電子制御装置
CN106776395A (zh) 2017-01-22 2017-05-31 中国人民解放军国防科学技术大学 一种共享集群的任务调度方法及装置

Also Published As

Publication number Publication date
JP2020091540A (ja) 2020-06-11

Similar Documents

Publication Publication Date Title
JP3588485B2 (ja) プロセススケジューリング方式
JP3578082B2 (ja) 処理実行装置及び記録媒体
US7269678B2 (en) Interrupt request program and microcomputer
US20040139441A1 (en) Processor, arithmetic operation processing method, and priority determination method
JPH10301793A (ja) 情報処理装置及びスケジューリング方法
JPH07141305A (ja) 並列計算機の実行制御方法
JP5347451B2 (ja) マルチプロセッサシステム、競合回避プログラム及び競合回避方法
US6473780B1 (en) Scheduling of direct memory access
JPWO2005106623A1 (ja) Cpuクロック制御装置、cpuクロック制御方法、cpuクロック制御プログラム、記録媒体、及び伝送媒体
US20080235695A1 (en) Resource allocation system for jobs, resource allocation method and resource allocation program for jobs
US7590990B2 (en) Computer system
JP2011501309A (ja) リアルタイム・オペレーティング・システムにおけるプリエンプションの管理方法
JP7263746B2 (ja) 情報処理装置
US8555285B2 (en) Executing a general-purpose operating system as a task under the control of a real-time operating system
JP2007280253A (ja) 情報処理装置及び情報処理方法
US20050066093A1 (en) Real-time processor system and control method
JP6365367B2 (ja) 電子制御装置
US20050160425A1 (en) Limitation of the response time of a software process
JP2001117786A (ja) プロセススケジューリング装置およびプロセススケジューリング方法
US9274833B2 (en) Task scheduler, microprocessor, and task scheduling method
KR100981017B1 (ko) 정적 태스크 정의 기능을 가진 시스템을 위한 우선순위 재정의 및 대기큐 관리 방법과 상기 방법을 실행하는 시스템
JP2002073354A (ja) タスク制御装置とタスク制御方法
JP2000194683A (ja) 共有メモリの調停回路およびその調停方法
CN113094155B (zh) Hadoop平台下的任务调度方法及装置
JPS6368934A (ja) タスクスケジユ−ル方式

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20211013

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20220818

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20221004

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20221202

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: 20230314

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230327

R151 Written notification of patent or utility model registration

Ref document number: 7263746

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151