JP2019500682A - マルチコアプロセッサの操作方法 - Google Patents

マルチコアプロセッサの操作方法 Download PDF

Info

Publication number
JP2019500682A
JP2019500682A JP2018524403A JP2018524403A JP2019500682A JP 2019500682 A JP2019500682 A JP 2019500682A JP 2018524403 A JP2018524403 A JP 2018524403A JP 2018524403 A JP2018524403 A JP 2018524403A JP 2019500682 A JP2019500682 A JP 2019500682A
Authority
JP
Japan
Prior art keywords
divergence
result
calculation
cycle
difference
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.)
Pending
Application number
JP2018524403A
Other languages
English (en)
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.)
Siemens AG
Original Assignee
Siemens AG
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 Siemens AG filed Critical Siemens AG
Publication of JP2019500682A publication Critical patent/JP2019500682A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1497Details of time redundant execution on a single processing unit
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0721Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment within a central processing unit [CPU]
    • G06F11/0724Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment within a central processing unit [CPU] in a multiprocessor or a multi-core unit
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy
    • G06F11/0754Error or fault detection not based on redundancy by exceeding limits
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0736Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in functional embedded systems, i.e. in a data processing system designed as a combination of hardware and software dedicated to performing a certain function
    • G06F11/0739Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in functional embedded systems, i.e. in a data processing system designed as a combination of hardware and software dedicated to performing a certain function in a data processing system embedded in automotive or aircraft systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
    • G06F11/2035Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant without idle spare hardware

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Quality & Reliability (AREA)
  • General Physics & Mathematics (AREA)
  • Hardware Redundancy (AREA)
  • Debugging And Monitoring (AREA)
  • Computing Systems (AREA)
  • Computer Hardware Design (AREA)
  • Mathematical Physics (AREA)

Abstract

本発明によれば、マルチコアプロセッサの少なくとも2つのプロセッサコアが、安全性を最重視すべきアプリケーションの2チャンネル計算のために使用される。計算操作は各計算サイクルにおいて両プロセッサコア上で冗長的に計算されず、両プロセッサコアは異なる動作サイクルにおいて異なるアプリケーションで十分に能力を活用される。従って所要計算容量の倍増が有利に回避される。プロセッサコアの相互監視を達成するために、計算操作は両プロセッサコア上で計算される。開示されたエラー認識機構によって、偶然誤差を認識することができる。確かに、本発明によるエラー認識の質は、従来技術から知られている並列冗長マルチチャンネル計算による「デュアルレーン動作」よりやや低いものの、本発明は、十分に安全なエラー認識に対する要求と、計算能力の経済的な設計とを調和させている。
【選択図】図1

Description

本発明は、請求項1のプリアンブル事項によるマルチコアプロセッサの操作方法に関する。
現代および未来の車両には電子的に制御される多数の機能が装備され、これらの機能には安全性および可用性に関して高度の車両制御システムが要求される。
現在、ソフトウェア機能のフェールセーフな実行を保証できる二重化制御コンピュータ(Duplex-Control-Computer, DCC)に基づく高安全性・高可用性の制御システムが使用されている。そのためには2つの独立したマイクロプロセッサ上で同一のソフトウェアを実行する必要がある。不揮発性および揮発性のメモリユニット、ネットワーク接続ユニット、リソースマネジャ等のマイクロプロセッサ周辺機能も、二重にされた「デュアルレーン」処理方式の「レーン」であるとも見なされる2つの分離した処理経路上で行われる。ある特定の時点で両マイクロプロセッサの結果が相互に交換されて、両マイクロプロセッサにおいて互いに比較される。
これらのいわゆるレーンの1つまたはそれの通信リンクにおいてエラーが生じた場合に、この比較によりレーンのうち少なくとも1つにおいて異常な結果が認識される。その結果として、その二重化制御コンピュータは、故障したとみなされて遮断される。それゆえ、1つの二重化制御コンピュータから誤った制御信号が送出されることはなく、従って「フェールサイレント」特性が達成されることが保証されている。第1の二重化制御コンピュータのエラーの際にこれの処理を引き受けるさらに別の二重化制御コンピュータを用意することによって、「フェイルオペレーショナル」特性さえも達成することができる。
2つの独立に動作するプロセッサを用いたデュアルレーン動作によって保証されるこのエラー認識確率は、高いハードウェア費用によって達成される。
本発明の課題は、必要とするハードウェア費用が少なく、それと同時に最適なハードウェアリソースの最適利用を可能にする高い可用性およびインテグリティを有する制御システムを実現する装置および方法を提供することにある。
この課題は、本発明によれば、請求項1の特徴事項を有する方法によって解決される。
本発明による方法はマルチコアプロセッサの操作方法を提供する。この操作方法では、複数の周期的な計算操作を含むとりわけ安全性を最重視すべきアプリケーションが、マルチコアプロセッサ上で実行される。周期的な計算操作なる用語は、特に制御量の多段階の計算を含む。これらの制御量の場合には、離散時点で制御システムにディジタル化された操作量が供給され、そこにおいて時間的に同期計算されてディジタル出力信号として出力される。各計算操作の計算のために、時間的に定められた動作サイクル設けられ、この動作サイクルは、基礎をなす調節回路の最小時定数よりも遥かに小さいことが好ましい。
本発明によれば、分配スキームが設けられており、この分配スキームに従って、1つの計算操作の計算が前記マルチコアプロセッサの1つのコアに割り当てられる。現在の計算操作の結果の保存後に、現在の動作サイクル内において比較スキームに依存して、現在の計算操作の結果と少なくとも1動作サイクル前の計算操作の少なくとも1つの結果との間の少なくとも1つの乖離が求められる。少なくとも1つの乖離が期待された値の範囲外にある場合に、エラー表示が出力される。続いて、後続の計算操作の計算が、前記分配スキームに従って割り当てられた前記マルチコアプロセッサの他のプロセッサコア上で行われる。
本発明によれば、1つのマルチコアプロセッサの複数のプロセッサコア(Cores)が、安全性を最も重要視すべきアプリケーションのマルチチャンネル計算のために使用され、複数のプロセッサコアが各動作サイクルにおいて変更させられる。
現在の動作サイクルの計算操作の結果と少なくとも1動作サイクル前の計算操作の少なくとも1つの結果との間の少なくとも1つの乖離の比較スキームに基づく本発明による比較によって、偶然誤差を認識することができる。確かに、本発明によるエラー認識の質は、従来技術から知られている並列冗長マルチチャンネル計算による「デュアルレーン動作」よりも若干低い。しかし、特に制御システムに経済的な実現が要求される場合には、計算能力に対する費用の節減という要件に比べて、エラー認識の質をあと回しにすることができる。従って、本発明は、十分に安全なエラー認識に対する要求と、計算能力の経済的な設計とを調和させている。
有利なやり方では、今や安全を最重視すべきアプリケーションの処理の影響を受けない残りのプロセッサコア上で、安全を最重視すべき他のアプリケーションまたは安全を最重視しないアプリケーションのための計算操作を実行することができ、従って、マルチチャンネル計算にも拘わらず、全体として計算能力に対して目立つほどの超過需要が生じることはない。特に、それぞれ1つのプロセッサコア上で冗長計算を伴うデュアルレーン動作を行う場合に従来技術から知られている所要計算能力の倍増が回避される。
本発明の他の有利な実施形態は従属請求項に記載されている。
本発明の実施形態によれば、計算操作が、その都度順番に、前記マルチコアプロセッサのコアの1つに割り当てられる。本発明のこの実施形態は、特に、安全性を最重視すべきアプリケーションの2チャンネル計算を伴う2コアまたはマルチコアプロセッサの操作の際に、その選択の手段であり、複数のプロセッサコアが各動作サイクルにおいて変更させられる。
以下に説明する本発明の実施形態は多段階の比較スキーム基づいており、この比較スキームは次の考えに基づく。即ち、第1のプロセッサコアにおいて、または第1のプロセッサコアに割り当てられたメモリにおいて、1つの典型的な動作サイクルiで、エラーが発生した場合に、この第1のプロセッサコアによって達成される結果は歪曲されているという考えである。それに続く動作サイクルi+1では、今や第2のプロセッサコアが歪曲された結果を算出する。動作サイクルi+2では、ここでも歪曲された結果が第1のプロセッサコアにおいて算出される。各動作サイクルでは、両プロセッサコアのそれぞれにおいて現在の結果と少なくとも1つ前の結果との間の乖離が比較される。その際に早ければ動作サイクルiにおいて、遅くとも動作サイクルi+2において、エラーを確定することができる。
本発明の実施形態によれば、比較スキームが設けられており、この比較スキームに従って1動作サイクル前の計算操作の結果と現在の動作サイクルの計算操作の結果とから第1の乖離が決定される。この第1の乖離が最大値を上回る場合には、または換言するならば、この第1の乖離が第1の乖離に期待された値の範囲外にある場合には、本発明によれば、エラー表示が出力される。この実施形態によれば、1つのその都度変更するプロセッサコア上で安全を最重視すべきアプリケーションの2チャンネル計算をする際に、1つのプロセッサコアの誤った計算が動作サイクルiにおいて認識され、その際に、一方のプロセッサコアによって計算された結果は、動作サイクルi−1において他方のプロセッサコアによって計算された結果と次のように相違する。即ち、現在の結果が、他の結果に対して、予め設定可能な最大値もしくは最大乖離の範囲外にある乖離を有するように相違する。
本発明によって予め与えられた一貫性検査は、従来技術から公知のデュアルレーン動作におけるようなビットアイデンティティに基づいて行われるのではなく、比較スキームに基づいて行われる。その理由は、相前後する動作サイクルにおける計算操作のために相前後する動作サイクルからの入力データも使用されるからである。相前後する動作サイクルからの入力データは一般的には異なっているので、結果もしくは出力データも許容し得る乖離だけ異なっている。この許容し得る乖離に関しては、許容し得る最大乖離を予め設定してもよいし、あるいは、その代替または追加として、許容し得る乖離を前の動作サイクルからの結果乖離から計算してもよい。許容し得る乖離を前の動作サイクルからの結果乖離から計算するという最後に述べた計算方法を、次の実施形態において説明する。
本発明による措置によって偶然誤差を認識することができる。異なるプロセッサコア上で同一のソフトウェアを実行する場合には、一般に系統誤差は認識できない。さらに、これは従来技術において知られているデュアルレーン動作にも当てはまる。
系統誤差も認識すべきである場合に、1つのデュアルレーンコンピュータの2つのプロセッサ上で、同じエラーを含んでいない可能性が非常に高い別種のソフトウェアを実行することは従来技術において公知である。その場合に、第2のソフトウェアは、第1のソフトウェアと同一の機能範囲を有し得るか、簡素化された計算を実行し得るかのいずれかである。後者は包絡関数とも称せられる。両事例では、デュアルレーンコンピュータの場合にも、ビットアイデンティティの比較は行わず、結果比較だけを行うとよい。有利なやり方では、上述の両方法は本発明による方法と組み合わせ可能である。そのために、例えばアプリケーションA1がサイクルiにおいてコアC1上で実行され、アプリケーションA2がサイクルi+1においてコアC2上で実行されるであろう。エラーのない場合には、既述のエラー認識が変更されないで機能し、場合によっては増大された許容し得る差分により機能する。特に、アプリケーションの1つが包絡関数である場合には、従来技術においても通常であるように、より大きな差分を用意すべきであろう。関数の多様性により、この実施形態におけるエラー認識機構は、アプリケーションA1およびA2におけるエラーもしくは差異を認識することができるであろう。
本発明の実施形態によれば、複数の以前の計算操作の結果の間の他の乖離ならびに差が、動作サイクルi+1において決定され、その際に、
2動作サイクル前の計算操作の結果と現在の動作サイクルの計算操作の結果とから、第2の乖離が決定され、および/または
2動作サイクル前の計算操作の結果と1動作サイクル前の計算操作の結果とから、第3の乖離が決定され、および/または
1動作サイクル前の計算操作の結果と現在の動作サイクルの計算操作の結果との差から、第1の差が決定され、および/または
2動作サイクル前の計算操作の結果と1動作サイクル前の計算操作の結果との差から、第2の差が決定される。
本発明の実施形態によれば、
第2の乖離が第1の乖離よりも小であり、かつ
第2の乖離が第3の乖離よりも小であり、かつ
第1の差が第2の差と異なる符号を有する場合にエラー表示が出力される。
この実施形態によれば、1つのその都度変更するプロセッサコア上で安全を最重視すべきアプリケーションの2チャンネル計算を行う場合に、動作サイクルi+1において一方のプロセッサコアの誤った計算が認識され、その誤った計算の際に一方のプロセッサコアによって計算された結果は、系統的に他方のプロセッサコアによって計算された結果と相違する。その際に動作サイクルi−1およびi+1において計算された両結果の第2の乖離が、動作サイクルiおよびi+1からの両結果の第1の乖離よりも小であり、かつ動作サイクルi−1およびiからの両結果の第3の乖離よりも小である。さらに、動作サイクルi−1およびiからの両結果の第1の差が、動作サイクルiおよびi+1からの両結果の第2の差とは異なる符号を持つ。
本発明の実施形態によれば、複数の以前の計算操作の結果の間の他の乖離ならびに差が動作サイクルi+2において決定され、その際に、
3動作サイクル前の計算操作の結果と1動作サイクル前の計算操作の結果とから、第4の乖離が決定され、および/または
3動作サイクル前の計算操作の結果と2動作サイクル前の計算操作の結果とから、第5の乖離が決定され、および/または
3動作サイクル前の計算操作の結果と2動作サイクル前の計算操作の結果との差から、第3の差が決定される。
本発明の実施形態によれば、
第2の乖離が第1の乖離よりも小であり、かつ
第2の乖離が第3の乖離よりも小であり、かつ
第4の乖離が第3の乖離よりも小であり、かつ
第4の乖離が第5の乖離よりも小であり、かつ
第1の差が第3の差と異なる符号を有し、かつ
第3の差が第2の差と異なる符号を有する場合に、エラー表示が出力される。
この実施形態によれば、1つのその都度変更するプロセッサコアにおいて安全を最重視すべきアプリケーションの2チャンネル計算を行う場合に、一方のプロセッサコアの誤った計算が動作サイクルi+2において認識され、その誤った計算の際に一方のプロセッサコアによって計算された結果は、系統的に他方のプロセッサコアによって計算された結果と相違する。その際に、動作サイクルiおよびi+2において計算された両結果の第2の乖離は、動作サイクルi+1およびi+2からの両結果の第1の乖離よりも小であり、かつ動作サイクルiおよびi+1からの両結果の第3の乖離よりも小である。
さらに、動作サイクルi−1およびi+1において計算された両結果の第4の乖離は、動作サイクルiおよびi+1からの両結果の第3の乖離よりも小であり、かつ動作サイクルi−1およびiからの両結果の第5の乖離よりも小である。さらに、動作サイクルiおよびi+1からの両結果の第1の差は、動作サイクルi−1およびiからの両結果の第3の差と異なる符号を有し、第3の差もまた動作サイクルiおよびi+1からの両結果の第2の差と異なる符号を有する。
本発明の実施形態によれば、各動作サイクルにおいて、少なくとも1つの乖離の決定と、以前の乖離および/または差との比較を提供する比較スキームが設けられている。代替として、乖離もしくは差の決定および/またはそれらの比較が、予め留め置かれた動作サイクルごとに、例えば4番目もしくはn番目の動作サイクルごとにだけ行われる。さらに、その比較スキームに従って、プロセッサコアごとにそれぞれ求められた結果が互いに離れていく場合および/または限界値の方向に移動する場合に、比較サイクルの増大も用意されている。
以下において、本発明の他の実施例および利点を、図面に基づいてさらに詳細に説明する。
図1は、離散的な動作サイクルでそれぞれ交互に計算される2つの計算操作の結果を示す概略図であり、現在の結果と次の結果との間の乖離についてそれぞれの期待される値範囲が表示されている。 図2は、離散的な動作サイクルでそれぞれ交互に計算される2つの計算操作の結果を示す概略図であり、現在の結果と次の結果との間のそれぞれの乖離が表示されている。 図3は、2つの計算操作の結果の時間的経過を示す概略図であり、基礎をなす計算操作が積分調節要素を含んでいる。 図4は、第1のサンプリングレートを有する離散的な動作サイクルでそれぞれ交互に計算される2つの計算操作の結果を示す概略図であり、基礎をなす計算操作が積分調節要素を含んでいる。 図5は、第2のサンプリングレートを有する離散的な動作サイクルでそれぞれ交互に計算される2つの計算操作の結果を示す概略図であり、基礎をなす計算操作が積分調節要素を含んでいる。
図1および図2にはタイムチャートが示されており、その縦座標には、2つのプロセッサコアのうちの1つによってそれぞれ交互に離散時点で計算された計算操作の結果C2i−1,C1i,C2i+1,Cli+2,C2i+3が表示されており、これらの計算操作の結果は、第1のプロセッサコアにそれぞれ対応した参照符号プレフィックスC1と、第2のプロセッサコアにそれぞれの対応した参照符号プレフィックスC2とを有する。その横座標に表示されている離散時点は、動作サイクルi−1,i,i+1,i+2,i+3に対応する。
図1には、現在の結果と次の結果との間の乖離についてそれぞれ期待される値範囲が表示されており、それぞれ1つの点状の結果値C2i−1,C1i,C2i+1,Cli+2,C2i+3から出発する三角状範囲を参照されたい。
本発明によれば、基本的に同一の両計算操作を周期的に処理する複数のプロセッサコアが、各動作サイクルi−1,i,i+1,i+2,i+3において変更させられる。従って、その都度計算操作の処理に関与していないプロセッサコアは、余剰の計算能力を無駄にしないように他の課題を処理することができる。それと同時に、その計算操作の処理時のエラーは、他方のプロセッサコア上でのその都度異なる計算操作にも影響する。
プロセッサコアC1において、またはプロセッサコアC1に割り当てられたメモリにおいて、例えば動作サイクルiでエラーが発生した場合に、このプロセッサコアC1により達成される結果C1iは歪曲される。次の動作サイクルでは、他方のプロセッサコアC2が今度は歪曲されていない結果C2i+1を算出する。
次の動作サイクルi+2では、再び歪曲された結果C1i+2がプロセッサコアC1において算出される。両プロセッサコアC1,C2において、本発明による比較スキームの実施形態によれば、早ければ動作サイクルiにおいて遅くとも動作サイクルi+2においてエラーが存在することを確定することができるように、次のような監視機構が設けられている。
a.動作サイクルiにおいて、動作サイクルiおよびi+1で計算された両結果C1iおよびC2i+1の第1の乖離は、図1による最大値を上回る。換言するならば、動作サイクルi+1で計算された結果C2i+1は、最大乖離に関して期待された値の三角状範囲の外側にある。
b.動作サイクルi+1において、動作サイクルi−1およびi+1で計算された両結果C2i−1およびC2i+1の第2の乖離は、動作サイクルiおよびi+1で計算された両結果C1iおよびC2i+1の第1の乖離よりも小である。さらに、動作サイクルi−1およびi+1で計算された両結果C2i−1およびC2i+1の第2の乖離は、動作サイクルi−1およびiで計算された両結果C2i−1およびC1iの第3の乖離よりも小である。さらに、動作サイクルi−1およびiの両結果の第1の差、即ち(C2i−1)−(C1i)は、動作サイクルiおよびi+1の両結果の第2の差、即ち(C1i−C2i+1)と異なる符号を有する。
c.動作サイクルi+2において:動作サイクルiおよびi+2で計算された両結果C1iおよびC1i+2の第2の乖離は、動作サイクルi+1およびi+2で計算された両結果C2i+1およびC1i+2の第1の乖離よりも小であり、かつ動作サイクルiおよびi+1で計算された両結果C1iおよびC2i+1の第3の乖離よりも小である。さらに、動作サイクルi−1およびi+1で計算された両結果C2i−1およびC2i+1の第4の乖離は、動作サイクルiおよびi+1で計算された両結果C1iおよびC2i+1の第3の乖離よりも小であり、かつ動作サイクルi−1およびiで計算された両結果C1iおよびC2i−1およびC1iの第5の乖離よりも小である。さらに、動作サイクルiおよびi+1で達成された両結果の第1の差(C1i)−(C2i+1)は、動作サイクルi−1およびiで達成された両結果の第3の差(C2i−1)−(C1i)とは異なる符号を有し、その第3の差もまた、動作サイクルiおよびi+1で達成された両結果の第2の差(C1i)−(C2i+1)とは異なる符号を有する。
図2は、第1の乖離A1、第2の乖離A2、第3の乖離A3、第4の乖離A4および第4の乖離A5を示す。
最大勾配に関する規則が存在しない場合には、この結果として、動作サイクルi+2においてはじめて、エラーが存在することを確実に認識することができる。この検査は、必要に応じて、連続的に各動作サイクルにおいて行うか、または、例えばn番目のサイクルごとに行うとよい。
追加として、エラーが検出される前に一回または複数回超過されなければならない狭い最大乖離が定義されてもよい。一貫性検査は、「真の」デュアルレーン動作におけるようにビットアイデンティティに基づいて行うことができない。というのは、両プロセッサコアが、連続した動作サイクルでの計算のために、連続したサイクルからの入力データを使用するからである。
連続した動作サイクルにおける入力データは異なっており、場合によっては予め設定された最大乖離近くで制限されるので、出力データも許容し得る差分だけ異なり得る。この差分に関しては、許容し得る値が、既知であるか、または入力データの乖離から計算可能である。
本発明による利点は、アプリケーションで実現されるディジタル調節器のサイクル時間を2チャンネル計算に比べて増大することなしに、必要な計算能力を半分に減らすことにある。これは、確かに一貫性(ビットアイデンティティに代わる差分一貫性)検査の質の低下と、2動作サイクルまでのエラー反応の遅延とを生じさせるが、エラーがなければ、調節器のサイクル時間が2チャンネル計算に比べて増大されることはない。
本発明の他の実施形態によれば、アプリケーションが少なくとも部分的にディジタル調節器を実現し、その調節器が少なくとも部分的に積分動作をする調節要素、即ちI動作成分を有する調節器を含んでいる場合には付加的な措置が講じられるか、またはその他の過去のシステム状態も一緒に計算に取り込まれる。
図3は、それぞれ第1のプロセッサコアC1および第2のプロセッサコアC2によって求められた2つの計算操作結果の時間的経過の概略図を示し、その基礎をなす計算操作は積分調節要素を含んでいる。第2のプロセッサコアC2によって求められた結果経過は計算操作の理想値経過IDに追従しているのに対して、第1のプロセッサコアC1によって求められた結果の経過は理想値経過IDから外れている。
2つまたはそれよりも多いプロセッサコアは簡単に異なる入力値を受け入れるので、出力値も同様に簡単に異なり得る。これは、本発明による差分一貫性検査の範囲内で許容可能である。しかし、両プロセッサコアの調節目標が簡単に理想値の上および下になり得る場合には、両プロセッサコアにおける積分器変数は絶えず増大する。なぜならば、各プロセッサコアには、絶えず同じ方向の僅かな偏差が入力されているからである。
これは、制御される集合体の揺れをもたらす。というのは、両調節器が常に強く反対方向に調節するからである。一方の調節器における積分器変量が限界値、例えばその変量の値範囲限界に達するや否や、危機的な状況が起きる。今やその一方の調節器はもはや適切な調節動作をすることができず、調節値は逸走する。これは、確かに上述の条件のもとでは、安全な遮断に至るであろう。しかし、システムの信頼性はもはや得られない。というのは、この場合にはプロセッサコアの変更がエラーを発生するからである。この問題を回避するために、適切なドリフト補償を提供すべきである。そのために、例えば両処理経路における積分器の値が相互に交換されるとよい。起こり得るエラーの伝播を回避するために、積分器の交換される値を制限することが望ましい。制御対象の動特性および調節器の設計から、通常動作時に許容し得る積分器値を決定することができる。積分器値の制限は決定的に重要な意味を持つものではない。というのは、積分器値の制限は、最悪の場合に調節器特性に遅れをもたらし得るが、しかし不安定性をもたらすことはないからである。
調節器の入力信号が動作サイクル周波数、則ち動作サイクルの時間値の逆数値に類する周波数で振動する場合に、不安定性が生じ得る。これは、調節器入力端において、一方のプロセッサコアには常に過大な値が、他方のプロセッサコアには常に過小な値が伝達されることをもたらし、それによって操作量が図4に従って振動する。この挙動は、上述の調節に基づいてエラーとして認識され、従って回避されるべきである。
このために次の幾つかの実施形態が適している。
アンダーサンプリングの回避:調節器は、基本的には、サンプリングレートが制御量の周波数よりも著しく高くなるように設計されるべきである。4またはそれよりも大きい係数が運転上実証されている(図5参照)。動特性が十分に知られているあらゆる制御対象では、この措置が摘要でき、かつ適用されるべきである。
プロセッサコアの「ワルツリズム」での変更または類似の非連続性の変更:制御対象の動特性が既知でない場合には、プロセッサコアを変更させるリズムを変化させるとよい。例えば、計算操作の計算を第1のプロセスコアC1に常に2度割り当て、その次に第2のプロセッサコアC2に1度割り当てるとよい。プロセッサコアの変更の際の非対称周期によって、願わしくないエラー認識につながる上述の挙動をもたらす制御量周波数が存在し得ない。
3個以上のコアプロセッサの使用:例えば、計算操作の計算を1度、第1のプロセッサコアC1に割り当て、それから第2のプロセッサコアC2に割り当て、そしてそれから第3のプロセッサコアC3に割り当てるとよい。それゆえ、プロセッサコアの1つにおけるエラーは、振動する入力データと区別することができる。というのは、プロセッサコアの1つにおけるエラーは3番目のサイクルごとにしか発生しないからである。
上述のようなフィードバックされる積分器値に対する有効な値範囲の制限を伴う積分器値フィードバック。
履歴を有するシステム状態の調整:過去の複数の値からシステム状態を算定する場合に、異なる入力データが、これらのシステム状態の算定時に、異なる結果をもたらすこともあり得る。この場合にエラーが認識されるのを回避するために、これらのエラー状態の算定時に時間的な差分を許容するか、または処理経路間で状態を交換するかのいずれかをなすべきである。
上述の幾つかの方法に対する代替案として、本発明の代替実施形態によれば、両処理経路が同一のメモリ領域にアクセス可能である。それにより、積分器値等の全ての履歴データが両処理経路に関して同一であり、従って上述の機構は必要でない。この簡素化のための代償は、共通に使用されるメモリ領域が1つの共通のエラー原因範囲となることである。これは、幾つかの適用事例に関しては、例えばECC(Error-Correcting Code、誤り訂正符号)またはメモリスクランブリングのような適切な措置によって、共通なエラー原因範囲内において検出されないエラーの確率が十分に低い場合に容認することができる。
本発明によれば、1つのマルチコアプロセッサの少なくとも2つのプロセッサコアが、安全を最重視すべきアプリケーションを2チャンネル計算するために使用される。その際に、計算操作が各計算サイクルにおいて両プロセッサコア上で冗長的に計算されるのではなくて、両プロセッサコアの能力が異なる動作サイクルにおいて異なるアプリケーションにより十分に活用される。従って、有利なことに所要計算容量の倍増を回避することができる。プロセッサコアの相互監視を行うために、両プロセッサコア上で交互に計算操作が計算される。既述のエラー認識機構によって、偶然誤差を認識することができる。確かに、本発明によるエラー認識の質は、従来技術から知られている並列冗長マルチチャンエル計算による「デュアルレーン動作」よりも若干低い。しかし、特に制御システムに経済的な実現が要求される場合には、計算能力に対する費用の節減という要件に比べて、エラー認識の質をあと回しにすることができる。従って、本発明は、十分に安全なエラー認識に対する要求と、計算能力の経済的な設計とを調和させている。
i−1,i,i+1,… 動作サイクル
A1〜A5 乖離
C1 第1のプロセッサコア
C2 第2のプロセッサコア
C1i C1によって動作サイクルiで計算された結果
C1i+2 C1によって動作サイクルi+2で計算された結果
C2i−1 C2によって動作サイクルi−1で計算された結果
C2i+1 C2によって動作サイクルi+1で計算された結果
C2i+3 C2によって動作サイクルi+3で計算された結果

Claims (14)

  1. 複数の周期的な計算操作を含むアプリケーションがマルチコアプロセッサ上で実行され、各計算操作の計算のために時間的に定められた動作サイクルが設けられている、マルチコアプロセッサの操作方法において、
    1つの計算操作の計算が、分配スキームに従って割り当てられた前記マルチコアプロセッサのプロセッサコア上で実行され、
    現在の計算操作の結果の保存後に、現在の動作サイクル内において比較スキームに依存して現在の計算操作の結果と少なくとも1動作サイクル前の計算操作の少なくとも1つの結果との間の少なくとも1つの乖離が求められ、
    少なくとも1つの乖離が期待された値の範囲外にある場合に、エラー表示が出力され、
    後続の計算操作の計算が、前記分配スキームに従って割り当てられた前記マルチコアプロセッサのプロセッサコア上で実行されることを特徴とする方法。
  2. 前記分配スキームに従って、前記計算操作がその都度順番に、前記マルチコアプロセッサのプロセッサコアの1つに割り当てられることを特徴とする請求項1記載の方法。
  3. 前記マルチコアプロセッサの第2のプロセッサコアへ割り当ての変更が行われる前に、前記分配スキームに従って、予め設定可能な複数の動作サイクルに対して前記マルチコアプロセッサの第1のプロセッサコアへの割り当てが行われることを特徴とする請求項1または2記載の方法。
  4. 前記エラー表示の出力時に、前記第1のプロセッサコアへ割り当てる動作サイクル数が増大されることを特徴とする請求項3記載の方法。
  5. 前記分配スキームに従って、前記計算操作がその都度順番に、特に周期的に、前記マルチコアプロセッサの少なくとも3つのプロセッサコアのうちの1つへ割り当てられることを特徴とする請求項2、請求項2を引用する請求項3、および、請求項2を間接的に引用する請求項4の1つに記載の方法。
  6. 前記比較スキームに従って、1動作サイクル前の計算操作の結果と現在の動作サイクルの計算操作の結果とから、第1の乖離が決定されることを特徴とする請求項1乃至5の1つに記載の方法。
  7. 前記第1の乖離が前記第1の乖離に対する期待される値の範囲外にある場合に、前記エラー表示が出力されることを特徴とする請求項6記載の方法。
  8. 2動作サイクル前の計算操作の結果と現在の動作サイクルの計算操作の結果とから、第2の乖離が決定されること、および/または
    2動作サイクル前の計算操作の結果と1動作サイクル前の計算操作の結果とから、第3の乖離が決定されること、および/または
    1動作サイクル前の計算操作の結果と現在動作サイクルの計算操作の結果との差から、第1の差が決定されること、および/または
    2動作サイクル前の計算操作の結果と1動作サイクル前の計算操作の結果との差から、第2の差が決定されることを特徴とする請求項6記載の方法。
  9. 前記第2の乖離が前記第1の乖離よりも小であり、かつ
    前記第2の乖離が前記第3の乖離よりも小であり、かつ
    前記第1の差が前記第2の差と異なる符号を有する場合に、エラー表示が出力されることを特徴とする請求項8記載の方法。
  10. 前記3動作サイクル前の計算操作の結果と前記1動作サイクル前の計算操作の結果とから、第4の乖離が決定され、
    前記3動作サイクル前の計算操作の結果と前記2動作サイクル前の計算操作の結果とから、第5の乖離が決定され、
    前記3動作サイクル前の計算操作の結果と前記2動作サイクル前の計算操作の結果との差から、第3の差が決定されることを特徴とする請求項8記載の方法。
  11. 前記第2の乖離が前記第1の乖離よりも小であり、かつ
    前記第2の乖離が前記第3の乖離よりも小であり、かつ
    前記第4の乖離が前記第3の乖離よりも小であり、かつ
    前記第4の乖離が前記第5の乖離よりも小であり、かつ
    前記第1の差が前記第3の差と異なる符号を有し、かつ
    前記第3の差が前記第2の差と異なる符号を有する場合に、エラー表示が出力されることを特徴とする請求項10記載の方法。
  12. 前記比較スキームに従って、各動作サイクルについて少なくとも1つの乖離が決定されることを特徴とする請求項1乃至11の1つに記載の方法。
  13. 前記比較スキームに従って、各n番目の動作サイクルについて少なくとも1つの乖離が決定され、nは自然数であることを特徴とする請求項1乃至12の1つに記載の方法。
  14. 制御システムにおいて少なくとも1つのマルチコアプロセッサによって実行される際に請求項1乃至13の1つに記載の方法を実施するための手段を有するコンピュータプログラム製品。

JP2018524403A 2015-11-12 2016-10-21 マルチコアプロセッサの操作方法 Pending JP2019500682A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
DE102015222321.3A DE102015222321A1 (de) 2015-11-12 2015-11-12 Verfahren zum Betrieb eines Mehrkernprozessors
DE102015222321.3 2015-11-12
PCT/EP2016/075381 WO2017080793A2 (de) 2015-11-12 2016-10-21 Verfahren zum betrieb eines mehrkernprozessors

Publications (1)

Publication Number Publication Date
JP2019500682A true JP2019500682A (ja) 2019-01-10

Family

ID=57233400

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018524403A Pending JP2019500682A (ja) 2015-11-12 2016-10-21 マルチコアプロセッサの操作方法

Country Status (7)

Country Link
US (1) US20180322001A1 (ja)
EP (1) EP3338189A2 (ja)
JP (1) JP2019500682A (ja)
KR (1) KR20180072829A (ja)
CN (1) CN108351815A (ja)
DE (1) DE102015222321A1 (ja)
WO (1) WO2017080793A2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020204821A (ja) * 2019-06-14 2020-12-24 マツダ株式会社 外部環境認識装置

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7419157B2 (ja) * 2020-05-13 2024-01-22 株式会社日立製作所 プログラム生成装置、並列演算デバイス、及び、並列演算デバイスに並列演算を実行させるためのコンピュータプログラム
KR102403767B1 (ko) 2020-11-25 2022-05-30 현대제철 주식회사 초고강도 냉연강판 및 그 제조방법
CN114201332A (zh) * 2022-02-21 2022-03-18 岚图汽车科技有限公司 一种冗余控制方法、装置、芯片及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010126012A (ja) * 2008-11-28 2010-06-10 Hitachi Automotive Systems Ltd 車両制御用マルチコアシステムまたは内燃機関の制御装置
WO2014033941A1 (ja) * 2012-09-03 2014-03-06 株式会社日立製作所 計算機システムおよび計算機システムの制御方法
JP2014234732A (ja) * 2013-05-31 2014-12-15 富士重工業株式会社 制御装置および制御装置の異常検出方法
JP2015176292A (ja) * 2014-03-14 2015-10-05 三菱電機株式会社 情報処理装置、情報処理方法及びプログラム

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
ATE553574T1 (de) * 2004-11-26 2012-04-15 Nokia Siemens Networks Gmbh Verfahren zum nachweis der verfügbarkeit von systemkomponenten eines redundanten kommunikationssystems
WO2008148625A1 (en) * 2007-06-05 2008-12-11 Siemens Aktiengesellschaft Method and device for scheduling a predictable operation of an algorithm on a multi-core processor
US8112194B2 (en) * 2007-10-29 2012-02-07 GM Global Technology Operations LLC Method and apparatus for monitoring regenerative operation in a hybrid powertrain system
US9015536B1 (en) * 2011-08-31 2015-04-21 Amazon Technologies, Inc. Integration based anomaly detection service
US9081653B2 (en) * 2011-11-16 2015-07-14 Flextronics Ap, Llc Duplicated processing in vehicles
KR101332022B1 (ko) * 2011-12-29 2013-11-25 전자부품연구원 Ecu 모니터링 시스템 및 방법

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010126012A (ja) * 2008-11-28 2010-06-10 Hitachi Automotive Systems Ltd 車両制御用マルチコアシステムまたは内燃機関の制御装置
WO2014033941A1 (ja) * 2012-09-03 2014-03-06 株式会社日立製作所 計算機システムおよび計算機システムの制御方法
JP2014234732A (ja) * 2013-05-31 2014-12-15 富士重工業株式会社 制御装置および制御装置の異常検出方法
JP2015176292A (ja) * 2014-03-14 2015-10-05 三菱電機株式会社 情報処理装置、情報処理方法及びプログラム

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020204821A (ja) * 2019-06-14 2020-12-24 マツダ株式会社 外部環境認識装置
US11830254B2 (en) 2019-06-14 2023-11-28 Mazda Motor Corporation Outside environment recognition device
JP7400222B2 (ja) 2019-06-14 2023-12-19 マツダ株式会社 外部環境認識装置

Also Published As

Publication number Publication date
DE102015222321A1 (de) 2017-05-18
US20180322001A1 (en) 2018-11-08
EP3338189A2 (de) 2018-06-27
WO2017080793A2 (de) 2017-05-18
KR20180072829A (ko) 2018-06-29
WO2017080793A3 (de) 2017-08-17
CN108351815A (zh) 2018-07-31

Similar Documents

Publication Publication Date Title
JP2019500682A (ja) マルチコアプロセッサの操作方法
US7996714B2 (en) Systems and methods for redundancy management in fault tolerant computing
US20190386834A1 (en) Blockchain management apparatus, blockchain management method, and program
CN101719084B (zh) 一种通过调节gpu频率来降低gpu故障率的方法
WO2019101233A3 (en) Property management system utilizing a blockchain network
US20110041013A1 (en) Electronic device and method for verifying correct program execution
KR20130119452A (ko) 오류 허용 아키텍쳐를 갖는 마이크로프로세서 시스템
Latif-Shabgahi A novel algorithm for weighted average voting used in fault tolerant computing systems
KR101560497B1 (ko) 락스텝으로 이중화된 프로세서 코어들의 리셋 제어 방법 및 이를 이용하는 락스텝 시스템
US20190190795A1 (en) System and method for processing network packets based on nfv for ensuring high availability
BR102013004512A2 (pt) Componente e um ou mais meios de armazenamento legível(is) por computador não transitório(s)
CN103293948A (zh) 用于在计算机程序中存储和传播错误信息的方法
CN110175832B (zh) 一种中间账户资金监管方法、系统及设备
US11914456B2 (en) Method and device for securing access to encoded variables in a computer program
KR20210082890A (ko) 블록체인 네트워크에서의 처리 성능 향상 방법
CA2258859A1 (en) Arrangement for operating two functionally parallel processors
US20210306001A1 (en) Coded Stream Processing
US20100052759A1 (en) Pulse generator
CN112948207A (zh) 信息传递方法、装置、电子设备和介质
US20240028440A1 (en) Method for Recording a Number of Events in an Encoded Tracer Variable in a Security-Oriented Computer Program
CN111046028A (zh) 时间序列的修正方法和装置、可读存储介质、电子设备
KR102384977B1 (ko) 멀티 코어 사이의 실시간성을 유지하는 동기화 시스템 및 방법
US20150212570A1 (en) Computer system and control method for computer system
US20210247983A1 (en) Load balancing of two processors when executing diverse-redundant instruction sequences
JP7427750B2 (ja) 制御方法

Legal Events

Date Code Title Description
A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20190416