JP6790854B2 - 処理装置 - Google Patents

処理装置 Download PDF

Info

Publication number
JP6790854B2
JP6790854B2 JP2017005769A JP2017005769A JP6790854B2 JP 6790854 B2 JP6790854 B2 JP 6790854B2 JP 2017005769 A JP2017005769 A JP 2017005769A JP 2017005769 A JP2017005769 A JP 2017005769A JP 6790854 B2 JP6790854 B2 JP 6790854B2
Authority
JP
Japan
Prior art keywords
time
processing
cores
virtual
division
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
JP2017005769A
Other languages
English (en)
Other versions
JP2018116389A (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 JP2017005769A priority Critical patent/JP6790854B2/ja
Publication of JP2018116389A publication Critical patent/JP2018116389A/ja
Application granted granted Critical
Publication of JP6790854B2 publication Critical patent/JP6790854B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Stored Programmes (AREA)

Description

本発明は、複数の物理コアで複数のOSを実行する技術に関する。
特許文献1に記載の情報処理システムは、複数の物理コアで複数のOSを実行するシステムであり、各物理コアを利用するOSが固定されている。上記情報処理システムは、各OS上で各OS固有のプログラムを実行するとともに、OS間の負荷を分散するため、並列化可能なプログラムの処理を分割し、分割した処理を、物理コアの処理負荷に応じて決定されたOS上で並列実行している。
特開2009−163527号公報
しかしながら、上記情報処理システムでは、複数のOS上で、分割した処理を並列実行するため、各OSに固有のプログラムのみを実行する場合と比べて、OS間の隔絶性が損なわれる。また、上記情報処理システムでは、分割した処理を並列実行する機能を各OSへ追加する必要があるため、各OSに固有のプログラムのみを実行する場合と比べて、OSの移植性も損なわれる。一方、上記情報処理システムにおいて、並列処理を行わず、各OSに固有のプログラムのみを実行するようにした場合、OS間の負荷が不均一であっても、負荷の高いOSの動作に物理コアの処理時間を多く割り当てて、OSの負荷分散を実現することができない。
本開示は、上記実情に鑑みてなされたものであり、OS間の隔絶性及びOSの移植性を保持したまま、OS間の負荷分散を実現可能な処理装置を提供する。
本開示は、複数の物理コア(2〜4)を備えて複数のOS(51,52)を実行する処理装置(70)であって、複数のOSは、それぞれ、異なる仮想コア(a〜c,A,B)が割当てられて仮想化されており、複数のOSのそれぞれで動作するアプリケーション(511,521)は、アプリケーション間の負荷の比率が予め決まっており、分割部と、割当部と、制御部(21,31,41)と、を備える。分割部は、仮想コアのそれぞれの処理時間を、予め設定された時間である分割時間に分割するように構成されている。割当部は、分割時間を複数の物理コアに均等に割り当て、且つ、所定期間における複数の物理コア全体において、OSのそれぞれに対応する分割時間のOSごとの総和を総和時間として、総和時間間の比率を前記負荷の比率とするように構成されている。制御部は、複数の物理コアのそれぞれにおいて、割当部により割り当てられた前記分割時間ごとに、対応する仮想コアの処理を実行するように構成されている。
本開示によれば、各OSに割り当てられた仮想コア上のOSの動作時間が分割時間に分割され、分割時間が複数の物理コアに割り当てられるため、OS上の処理を変更する必要がない。よって、OS間の隔絶性及びOSの移植性が保持される。さらに、分割時間が複数の物理コアに割り当てられる際に、所定期間における複数の物理コアの全体で、各OSに対応する分割時間の総和間の比率が、各OS上で動作するアプリケーションの負荷の比率となるように、分割時間が均等に割り当てられる。よって、OSの動作時間がOS間の負荷比率に応じた時間となる。すなわち、OS間の隔絶性及びOSの移植性を保持したまま、OS間の負荷分散を実現することができる。
なお、この欄及び特許請求の範囲に記載した括弧内の符号は、一つの態様として後述する実施形態に記載の具体的手段との対応関係を示すものであって、本発明の技術的範囲を限定するものではない。
電子制御装置の概略構成を示すブロック図である。 仮想コアの処理時間の物理コアへの割り当てを示す説明図である。 各物理コアが実行する処理の時間変化を示すタイムチャートである。
以下、図面を参照しながら、発明を実施するための形態を説明する。本実施形態では、処理装置として、車両に搭載された電子制御装置を想定している。
<構成>
まず、図1及び図2を参照して、本実施形態に係る電子制御装置(以下、ECU)70の構成について説明する。ECU70は、演算装置60を主体として構成されている。演算装置60は、メモリ50と、4個の物理コア1〜4と、を備える。メモリ50と物理コア1〜4は、図示しない単一のバスに接続されており、物理コア1〜4は、メモリ50を共有している。物理コア1〜4は、互いに同等の性能を有するコアである。
メモリ50には、2つのオペレーティングシステムであるOS51とOS52とが格納されている。近年、車両内のECUは増加傾向にあるが、ECUを搭載できる車両スペースは限られているため、複数のECUを1つのECUに集約したいという要望がある。そこで、本実施形態では、元々別箇のECUに搭載されていたOS51及びOS52を、1つのECU70に搭載している。
さらに、メモリ50には、OS51上で動作するアプリケーション(以下、アプリ)511、アプリ512が格納されているとともに、OS52上で動作するアプリ521が格納されている。アプリ511とアプリ521の負荷の比率は予め決まっており、アプリ511の負荷を3とすると、アプリ521の負荷は2となっている。また、アプリ512は、アプリ511,521よりも車両の安全上重要なアプリであり、例えば、走る、止まる、曲がる等の走行に関するアプリである。
そして、図2に示すように、OS51は、仮想コアx,a,b,c,が割り当てられて仮想化されている。また、OS52は、仮想コアA,Bが割り当てられて仮想化されている。OS51は、仮想コアa,b,cでアプリ511を処理するとともに、仮想コアxでアプリ512を処理する。また、OS52は、仮想コアA,Bでアプリ521を処理する。アプリ511を実行する仮想コアの数と、アプリ521を実行する仮想コアの数は、元々別箇のECUに搭載されたOSの設定と同じとしている。
そして、仮想コアx,a,b,c,A,Bの処理は、物理コア1〜4に割り当てられる。その際、安全上重要なアプリ521を実行する仮想コアxの処理は、物理コア1に1対1で割り当てられる。物理コア1に仮想コアxの処理のみを割り当てることで、アプリ521の実行に確実に処理時間が割り当てられる。
ここで、OS51及びOS52をそのまま物理コア1〜4に移植すると、仮想コアx,a,b,cの処理は、それぞれ、物理コア1〜4に割り当てられ、仮想コアA,Bの処理は、それぞれ、物理コア3,4に割り当てられる。よって、仮想コアb,c,A,Bの処理が、それぞれ物理コア3,4を占有できる時間は、仮想コアaの処理が物理コア2を占有できる時間よりも短くなり、仮想コアb,c,A,Bの処理は、仮想コアaの処理に比べて遅くなる。
一方、特許文献1のように、各物理コアを利用するOSを固定し、アプリ511及びアプリ521をOS51上及びOS52上で並列実行するようにすると、OS51及びOS52の負荷は分散されるが、OS51とOS52の間の隔絶性が損なわれる。通常、ECUでは、OS上で動作するアプリに重要度が設定されており、アプリごとに重要度を保持することが要求される。しかしながら、OS51とOS52の間の隔絶性が損なわれると、各アプリの重要度を保持できなくなる。また、OS51及びOS52の移植性も損なわれる。さらに、OS51上及びOS52上で処理を並列実行するための機能を、OS51及びOS52に追加することによるオーバーヘッドが発生する。
そこで、ECU70は、分割部及び割当部の機能を備える。分割部及び割当部の機能は、物理コア2〜4のいずれか1つが備えていればよい。分割部は、仮想コアa〜c,A,B上でOS51,52が動作する動作時間を、予め設定された時間に分割して、分割時間を生成する。各分割時間には、それぞれ、対応する動作時間に実行する仮想コアの処理が対応付けられている。
割当部は、生成された分割時間を、物理コア2〜4に均等に割り当てる。その際、割当部は、所定期間である仮想化制御周期Tにおける物理コア2〜4の全体において、OS51に対応する分割時間の総和である総和時間と、OS52に対応する分割時間の総和である総和時間の比率が、アプリ511とアプリ521の負荷の比率3:2となるように、分割時間を割り当てる。つまり、仮想化制御周期Tにおける物理コア2〜4上のOS51の動作時間とOS52の動作時間の比率を、アプリ511とアプリ521の負荷の比率にする。
具体的には、OS51上でアプリ511を実行する仮想コア数をK1、OS52上でアプリ521を実行する仮想コア数をK2、アプリ511とアプリ521の負荷の比率をR1:R2とする。また、アプリ511を実行する各仮想コアの動作時間から生成する分割時間の数をM1、アプリ521を実行する各仮想コアの動作時間から生成する分割時間の数をM2、物理コア数をLとし、N1及びN2を自然数とする。そして、K1×M1:K2×M2=R1:R2…(1)、M1=(L/K1)×N1…(2)、M2=(L/K2)×N2…(3)、の3つの式を満たすように、分割時間数M1,M2を算出する。
本実施形態では、K1=3、K2=2、L=3であるから、Nを自然数として、M1=M2=3×Nとなる。本実施形態では、N=1とし、M1=M2=3とする。つまり、仮想化制御周期Tは、式(1)〜(3)を満たす最小の分割時間数の分の処理を、仮想コアa〜c,A,Bに一通り動作させる期間である。
これにより、図2に示すように、仮想コアa〜cの動作時間から、それぞれ3個の分割時間が生成され、仮想コアA,Bの動作時間から、それぞれ3個の分割時間が生成される。そして、計15個の分割時間が、3個の物理コア2〜4に5個ずつ均等に割り当てられ、5個の分割時間分の期間が仮想化制御周期Tとなる。よって、仮想化制御周期Tにおける物理コア2〜4の全体において、OS51に対応する分割時間は9個、OS52に対応する分割時間は6個となり、OS51とOS52の動作間の比率は、負荷比率と同様に3:2となる。
図2では、物理コア2には、仮想コアaの処理を行う分割時間a1,a2,a3と、仮想コアbの処理を行う分割時間b1,b2と、が割り当てられている。また、物理コア3には、仮想コアcの処理を行う分割時間c1,c2,c3と、仮想コアAの処理を行う分割時間A3と、仮想コアbの処理を行う分割時間b3と、が割り当てられている。また、物理コア4には、仮想コアAの処理を行う分割時間A1,A2と、仮想コアBの処理を行う分割時間B1,B2,B3と、が割り当てられている。特定の物理コアを利用するOSは固定されていない。
さらに、割当部は、仮想コアa〜c,A,Bのそれぞれにおける処理順序が、物理コア2〜4による仮想コアa〜c,A,Bの処理の実行時に維持されるように、生成した分割時間を割り当てる。例えば、仮想コアbの動作時間から生成された分割時間b1,b2,b3は、分割時間b1→b2→b3の順に、対応する仮想コアbの処理が実行される必要がある。よって、分割時間b1,b2,b3を物理コア2〜4のいずれかに割り当てる際には、分割時間b1に対応する処理の後に、分割時間b2に対応する処理、さらにその後に、分割時間b3に対応する処理という流れになるようにする。
図2では、物理コア2の3番目の処理に分割時間b1に対応する処理が割り当てられ、物理コア2の4番目の処理に分割時間b2に対応する処理が割り当てられている。そして、物理コア3の5番目の処理に分割時間b3に対応する処理が割り当てられている。よって、物理コア2,3により仮想コアbの処理を実行する際に、仮想コアbによる処理順序が維持されている。なお、仮想コアa〜c,A,Bのそれぞれにおける処理順序が、物理コア2〜4による仮想コアa〜c,A,Bの処理の実行時に維持されれば、分割時間の割り当て方は、図2と異なっていてもよい。
そして、物理コア2〜4は、仮想化制御部21,31,41の機能を備える。仮想化制御部21,31,41は、物理コア2〜4のそれぞれにおいて、割り当てられた分割時間ごとに、割当時間に対応する仮想コアの処理を実行する。具体的には、物理コア2〜4は、割当時間ごとに、割当時間に対応する仮想コアの処理をメモリ50から読み出し、実行する。本実施形態では、仮想化制御部21,31,41が制御部に相当する。
<動作>
次に、ECU70の動作について、図3のタイムチャートを参照して説明する。仮想化制御周期Tは、5個の期間t1〜t5から構成されており、期間t1〜t5のそれぞれは分割時間に対応している。期間t1において、物理コア2は、分割時間a1に対応する仮想コアaの処理を実行し、物理コア3は、分割時間c1に対応する仮想コアcの処理を実行し、物理コア4は、分割時間A1に対応する仮想コアAの処理を実行する。続いて、期間t2において、物理コア2は、分割時間a2に対応する仮想コアaの処理を実行し、物理コア3は、分割時間c2に対応する仮想コアcの処理を実行し、物理コア4は、分割時間A2に対応する仮想コアAの処理を実行する。
続いて、期間t3において、物理コア2は、分割時間b1に対応する仮想コアbの処理を実行し、物理コア3は、分割時間c3に対応する仮想コアcの処理を実行し、物理コア4は、分割時間B1に対応する仮想コアBの処理を実行する。続いて、期間t4において、物理コア2は、分割時間b2に対応する仮想コアbの処理を実行し、物理コア3は、分割時間A3に対応する仮想コアAの処理を実行し、物理コア4は、分割時間B2に対応する仮想コアBの処理を実行する。続いて、期間t5において、物理コア2は、分割時間a3に対応する仮想コアaの処理を実行し、物理コア3は、分割時間b3に対応する仮想コアbの処理を実行し、物理コア4は、分割時間B3に対応する仮想コアBの処理を実行する。期間t5が終了すると、期間t1に戻り、期間t1〜期間t5から成る仮想化制御周期Tを繰り返す。
各仮想化制御周期Tでは、アプリ511及びアプリ521の負荷が、物理コア2〜4に均等に分散されている。また、各仮想化制御周期Tでは、仮想コアa〜c,A,Bのそれぞれにおける処理順序が維持されている。さらに、各仮想化制御周期Tでは、同一OSの仮想コアが均一に動作するとともに、OS51の動作時間とOS52の動作時間の比率が、アプリ511とアプリ521の負荷の比率となっている。
<効果>
以上説明した第1実施形態によれば、以下の効果が得られる。
(1)仮想コアa〜c上のOS51の動作時間、及び仮想コアA,B上のOS52の動作時間から分割時間が生成され、生成された分割時間が物理コア2〜4に均等に割り当てられる。その際、仮想化制御周期Tにおける物理コア2〜4の全体で、OS51とOS52の動作時間の比率が、アプリ511とアプリ521の負荷比率となるように、分割時間が割り当てられる。よって、OS間の隔絶性及びOSの移植性を保持したまま、OS51,52の動作時間をアプリ511,521の負荷比率に応じた時間にして、OS間の負荷分散を実現することができる。また、事前にOS51,52の負荷比率に応じてOS51,52の動作時間を定義するため、動的にOS51,52の負荷を検知する必要がなく、その分のオーバーヘッドの発生を抑制することができる。
(2)仮想コアa〜c,A,Bでの処理順序が変更されることなく、分割時間a1〜a3,b1〜b3,c1〜c3,A1〜A3,B1〜B3が物理コア2〜4に割り当てられる。よって、仮想コアa〜c,A,Bによる処理のリアルタイム性を確保することができる。
(他の実施形態)
以上、本発明を実施するための形態について説明したが、本発明は上述の実施形態に限定されることなく、種々変形して実施することができる。
(a)上記実施形態では、ECU70に2つのOS51,52を搭載しているが、3つ以上のOSを搭載してもよい。
(b)上記実施形態では、処理装置として車載装置であるECU70を想定しているが、処理装置は車載装置に限らず、どのような処理装置でもよい。
(c)上記実施形態における1つの構成要素が有する複数の機能を、複数の構成要素によって実現したり、1つの構成要素が有する1つの機能を、複数の構成要素によって実現したりしてもよい。また、複数の構成要素が有する複数の機能を、1つの構成要素によって実現したり、複数の構成要素によって実現される1つの機能を、1つの構成要素によって実現したりしてもよい。また、上記実施形態の構成の一部を省略してもよい。また、上記実施形態の構成の少なくとも一部を、他の上記実施形態の構成に対して付加又は置換してもよい。なお、特許請求の範囲に記載した文言のみによって特定される技術思想に含まれるあらゆる態様が本発明の実施形態である。
(d)上述した処理装置の他、当該処理装置を構成要素とするシステム、車両制御装置、負荷分散方法など、種々の形態で本発明を実現することもできる。
1,2,3,4…物理コア、21,31,41…仮想化制御部、70…ECU、51,52…OS、511,521…アプリ、x,a,b,c,A,B…仮想コア。

Claims (3)

  1. 複数の物理コア(2〜4)を備えて複数のOS(51,52)を実行する処理装置(70)であって、
    前記複数のOSは、それぞれ、互いに異なる少なくとも1つの仮想コア(a〜c,A,B)が割当てられて仮想化されており、
    前記複数のOSのそれぞれにおいて、前記複数のOSのそれぞれに割り当てられた前記少なくとも1つの仮想コアが実行するアプリケーション(511,521)は、前記アプリケーション間の負荷の比率が予め決まっており、
    前記仮想コアのそれぞれの処理時間を、前記複数のOSのそれぞれで各アプリケーションを実行する前記仮想コアの数と、前記物理コアの数と、前記負荷の比率と、から算出される分割数の分割時間に分割するように構成された分割部と、
    前記分割時間を前記複数の物理コアに均等に割り当て、且つ、所定期間における前記複数の物理コア全体において、前記OSのそれぞれに対応する前記分割時間の前記OSごとの総和を総和時間として、前記総和時間間の比率を前記負荷の比率とするように構成された割当部と、
    前記複数の物理コアのそれぞれにおいて、前記割当部により割り当てられた前記分割時間ごとに、対応する前記仮想コアの処理を実行するように構成された制御部(21,31,41)と、を備える、処理装置。
  2. 前記割当部は、前記仮想コアのそれぞれにおける処理の順序が、前記物理コアによる前記仮想コアの処理の実行時に維持されるように、前記分割時間を前記複数の物理コアに割り当てるように構成されている、請求項1に記載の処理装置。
  3. 前記複数のOSは、第1のアプリケーションを実行する第1のOSと、第2のアプリケーションを実行する第2のOSと、を含み、
    前記仮想コアは、前記第1のアプリケーションを実行する少なくとも1つの第1の仮想コアと、前記第2のアプリケーションを実行する少なくとも1つの第2の仮想コアと、を含み、
    前記少なくとも1つの第1の仮想コアの数をK1、前記少なくとも1つの第2の仮想コアの数をK2、前記第1のアプリケーションと前記第2のアプリケーションの負荷の比率をR1:R2、前記少なくとも1つの第1の仮想コアのそれぞれの処理時間から生成される第1の分割時間の分割数をM1、前記少なくとも1つの第2の仮想コアのそれぞれの処理時間から生成される第2の分割時間の分割数をM2、前記物理コアの数をL、自然数をN1,N2とした場合、前記第1の分割時間の分割数と前記第2の分割時間の分割数は、(i)K1×M1:K2×M2=R1:R2、(ii)M1=(L/K1)×N1、(iii)M2=(L/K2)×N2からなる3つの式を満たすように算出される、
    請求項1又は2に記載の処理装置。
JP2017005769A 2017-01-17 2017-01-17 処理装置 Active JP6790854B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2017005769A JP6790854B2 (ja) 2017-01-17 2017-01-17 処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017005769A JP6790854B2 (ja) 2017-01-17 2017-01-17 処理装置

Publications (2)

Publication Number Publication Date
JP2018116389A JP2018116389A (ja) 2018-07-26
JP6790854B2 true JP6790854B2 (ja) 2020-11-25

Family

ID=62984189

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017005769A Active JP6790854B2 (ja) 2017-01-17 2017-01-17 処理装置

Country Status (1)

Country Link
JP (1) JP6790854B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20220261262A1 (en) * 2019-05-10 2022-08-18 Hitachi Astemo, Ltd. Hypervisor and control device
CN112887401B (zh) * 2021-01-25 2021-09-17 宁波均联智行科技股份有限公司 一种基于多个操作系统的网络访问方法及车机系统

Also Published As

Publication number Publication date
JP2018116389A (ja) 2018-07-26

Similar Documents

Publication Publication Date Title
Wu et al. Hierarchical dag scheduling for hybrid distributed systems
US9503093B2 (en) Virtualization of programmable integrated circuits
JP5894496B2 (ja) 半導体装置
WO2015154686A1 (en) Scheduling method and apparatus for distributed computing system
KR20110075295A (ko) 멀티코어 시스템 상에서 단위 작업을 할당하는 방법 및 그 장치
JP6753999B2 (ja) 分散データベースシステム及び分散データベースシステムのリソース管理方法
JP2008186136A (ja) 計算機システム
JP6790854B2 (ja) 処理装置
US8352702B2 (en) Data processing system memory allocation
JP7385989B2 (ja) 演算制御装置
US20180239646A1 (en) Information processing device, information processing system, task processing method, and storage medium for storing program
US20170286168A1 (en) Balancing thread groups
JP2019057162A5 (ja)
JP6239400B2 (ja) 制御装置
JP4409568B2 (ja) 帯域制御プログラム及びマルチプロセッサシステム
CN111143058A (zh) 一种基于后备列表的内存管理方法
JP2020173622A (ja) 並列タスクスケジューリング方法
US11182183B2 (en) Workload placement using conflict cost
CN109324869B (zh) 在数据中心中的虚拟网络功能分配
KR20120086999A (ko) 멀티 코어 시스템 및 멀티 코어 시스템에서의 데이터 병렬 처리 방법
JP2016017472A (ja) 内燃機関の制御装置
JP6445876B2 (ja) リソース割当装置、リソース割当システム、および、リソース割当方法
WO2019009114A1 (ja) 車両制御装置、及び、車両制御模擬装置
CN118012604A (zh) Cpu资源共享方法、装置、可读存储介质及计算设备
WO2019188181A1 (ja) スケジューリング方法、スケジューリング装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190320

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20191216

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200107

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200309

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20201019

R151 Written notification of patent or utility model registration

Ref document number: 6790854

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250