KR20180072829A - 멀티코어 프로세서를 동작시키기 위한 방법 - Google Patents

멀티코어 프로세서를 동작시키기 위한 방법 Download PDF

Info

Publication number
KR20180072829A
KR20180072829A KR1020187016720A KR20187016720A KR20180072829A KR 20180072829 A KR20180072829 A KR 20180072829A KR 1020187016720 A KR1020187016720 A KR 1020187016720A KR 20187016720 A KR20187016720 A KR 20187016720A KR 20180072829 A KR20180072829 A KR 20180072829A
Authority
KR
South Korea
Prior art keywords
distance
result
processor
computing
operating
Prior art date
Application number
KR1020187016720A
Other languages
English (en)
Inventor
미하엘 아름브루스터
마르틴 비숍
크리스티안 버클
루트거 피게
안드레아스 지르클러
Original Assignee
지멘스 악티엔게젤샤프트
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 지멘스 악티엔게젤샤프트 filed Critical 지멘스 악티엔게젤샤프트
Publication of KR20180072829A publication Critical patent/KR20180072829A/ko

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/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/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/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

Abstract

본 발명에 따라, 보안-임계적 애플리케이션의 듀얼-레인 컴퓨팅을 위해 멀티코어 프로세서의 적어도 2 개의 프로세서 코어들이 사용된다. 컴퓨팅 동작들이 각각의 컴퓨팅 주기에서 프로세서 코어들 둘 모두에 의해 중복적으로 수행되는 것이 아니라, 2 개의 프로세서 코어들은 상이한 애플리케이션들의 컴퓨팅 동작들을 위해 상이한 작업 주기들에서 최대 용량으로 사용된다. 이는 유리하게, 요구되는 컴퓨테이셔널(computational) 용량의 중복을 방지한다. 프로세서 코어들이 서로 모니터링하도록, 컴퓨팅 동작들은 2 개의 프로세서 코어들에 의해 교번적으로 수행된다. 설명된 오류 검출 메커니즘들에 의해 임의의 오류들이 방지될 수 있다. 본 발명에 따른 오류 검출의 품질이 병렬의 중복적인 멀티-레인 계산들을 이용하는 선행 기술로부터 알려진 "듀얼-레인 동작"보다 다소 낮지만, 오류 검출의 품질은, 특히 제어 시스템의 경제적인 구현이 요구될 때, 더 낮은 컴퓨테이셔널 지출의 요건을 충족시킬 수 있다. 그러므로, 본 발명은, 컴퓨테이셔널 용량의 경제적인 분산과 충분히 안전한 오류 검출의 요건들을 결합한다.

Description

멀티코어 프로세서를 동작시키기 위한 방법
본 발명은, 특허 청구항 제1 항의 전제부에 따른 멀티코어 프로세서(multicore processor)를 동작시키기 위한 방법에 관한 것이다.
최신의 그리고 미래의 비히클(vehicle)들은 다수의 전자적으로 제어되는 기능들을 갖추며, 이러한 다수의 전자적으로 제어되는 기능들은, 이러한 기능들의 보안 및 이용가능성에 관하여 비히클의 제어 시스템(system)에 증가된 요건들을 부과한다.
소프트웨어(software) 기능들의 고장-안전(fail-safe) 실행을 보장하기 위해 사용될 수 있는 듀플렉스 제어 컴퓨터(DCC; duplex control computer)들에 기반하는, 고도로 안전하고 고도로 이용가능한 제어 시스템들이 현재 사용된다. 이 목적을 위해, 2 개의 독립적인 마이크로프로세서(microprocessor)들 상에서 동일한 소프트웨어가 실행된다. 또한, 마이크로프로세서들의 주변 기능들, 다시 말해서, 비-휘발성 및 휘발성 메모리 유닛(memory unit)들, 네트워크(network) 연결 유닛들, 자원 관리자들 등은, "듀얼-레인(dual-lane)" 프로세싱(processing) 방법의 "레인(lane)들"로 또한 지칭되는 2 개의 별개의 프로세싱 경로들 상에서 수행된다. 2 개의 마이크로프로세서들의 결과들은 특정 시간들에 서로 상호교환되며, 마이크로프로세서들 둘 모두에서 서로 비교된다.
이들 소위 레인들 중 하나에서 또는 레인들의 통신 연결에서 오류가 발생하면, 이 비교를 이용하여, 레인들 중 적어도 하나에서 상이한 결과가 검출된다. 결과적으로, 듀플렉스 제어 컴퓨터는 결함성인 것으로 간주되며, 스위칭 오프된다(switch off). 그러므로, 듀플렉스 제어 컴퓨터에 의해 부정확한 제어 신호가 방출되지 않는다는 것이 보장되며, 그러므로 "고장 침묵(fail silent)" 거동이 달성된다. 심지어, 제1 듀플렉스 제어 컴퓨터에서의 오류의 경우에 이러한 제1 듀플렉스 제어 컴퓨터의 프로세싱을 떠맡는 추가적인 듀플렉스 제어 컴퓨터를 제공함으로써, "고장 동작(fail operational)" 거동이 달성될 수 있다. 2 개의 독립적으로 작업하는 프로세서들을 사용하는 듀얼-레인 동작에 의해 보장되는 이 오류 검출 확률은, 높은 하드웨어(hardware) 지출에 의하여 달성된다.
본 발명은, 하드웨어에 대한 더 낮은 지출을 요구하며 동시에 하드웨어 자원들을 최적으로 사용하는 것을 가능하게 하는, 높은 정도의 이용가능성 및 무결성을 갖는 제어 시스템을 구현하기 위한 장치 및 방법을 제공할 목적에 기반한다.
이러한 목적은, 본 발명에 따라, 특허 청구항 제1 항의 특징들을 갖는 방법에 의하여 달성된다.
본 발명에 따른 방법은 멀티코어 프로세서의 동작을 제공하며, 바람직하게는 보안-임계적(security-critical)이며 복수의 주기적인 컴퓨팅(computing) 동작들을 포함하는 애플리케이션(application)이 멀티코어 프로세서 상에서 실행된다. "주기적인 컴퓨팅 동작들"이란 용어는, 특히, 제어되는 변수들의 멀티스테이지(multistage) 계산을 포함하며, 여기서, 디지털화된(digitized) 조작되는 변수들은 이산 시간들에 제어 시스템에 공급되고, 이러한 제어 시스템에서 동기 방식으로 계산되며, 디지털(digital) 출력 신호로서 출력된다. 개개의 컴퓨팅 동작을 계산할 목적을 위해, 하부의 제어 회로의 최소 시간 상수보다 바람직하게는 상당히 더 작은, 시간적으로 측정되는 작업 주기가 제공된다.
본 발명은, 분산 방식이 제공되도록 하며, 이 분산 방식에 따라, 컴퓨팅 동작의 계산이 멀티코어 프로세서의 코어(core)에 공급된다. 현재 컴퓨팅 동작의 결과가 수신된 후에, 현재 작업 주기 내에서 그리고 비교 방식에 기반하여, 현재 결과와, 적어도 하나의 작업 주기 뒤의 컴퓨팅 동작의 적어도 하나의 결과 사이의 적어도 하나의 거리가 결정된다. 적어도 하나의 거리가 예상 값 밖에 있으면, 오류 표시가 출력된다. 이후, 멀티코어 프로세서의 다른 코어 상에서, 분산 방식에 따라 할당되는 후속 컴퓨팅 동작이 계산된다.
본 발명에 따라, 멀티코어 프로세서의 프로세서 코어들은 보안-임계적 애플리케이션의 멀티채널(multichannel) 계산에 사용되며, 프로세서 코어들은 각각의 작업 주기에서 변화된다.
비교 방식에 기반하는, 현재 결과와, 적어도 하나의 작업 주기 뒤의 컴퓨팅 동작의 적어도 하나의 결과 사이의 적어도 하나의 거리의 본 발명에 따른 비교의 결과로서, 무작위 오류들이 검출될 수 있다. 본 발명에 따른 오류 검출의 품질이, 선행 기술로부터 알려져 있으며 병렬-중복적인 멀티채널 계산을 갖는 "듀얼-레인 동작"에서의 오류 검출의 품질보다 다소 아래이지만, 특히 제어 시스템에 대한 경제적인 구현이 요구되면, 오류 검출의 품질은, 컴퓨팅 파워(power)에 대한 더 낮은 지출을 위한 요건에 비해서 그렇게 중요하지 않을 수 있다. 그러므로, 본 발명은, 컴퓨팅 파워의 경제적인 설계와, 충분히 신뢰할 만한 오류 검출에 부과된 요건들을 결합한다.
유리하게, 보안-임계적 애플리케이션의 프로세싱으로 현재 방해를 받지 않는 다른 프로세서 코어들 상에서, 다른 보안-임계적 또는 비-보안-임계적 애플리케이션들을 위한 컴퓨팅 동작들이 수행될 수 있으며, 그 결과, 멀티채널 계산에도 불구하고, 전체적으로 컴퓨팅 파워에 대한 뚜렷한 부가적인 요구는 없다. 특히, 각각의 경우 하나의 프로세서 코어 상에서의 중복적인 계산을 갖는 듀얼-레인 동작의 선행 기술로부터 알려져 있는, 요구되는 컴퓨팅 파워의 배가가 방지된다.
종속 청구항들은 본 발명의 추가적인 유리한 구성들에 관한 것이다.
본 발명의 일 구성에 따라, 컴퓨팅 동작들은 각각, 멀티코어 프로세서의 코어들 중 하나에 교번적으로 할당된다. 본 발명의 이 구성은, 특히, 보안-임계적 애플리케이션의 2-채널(two-channel) 계산을 갖는 듀얼-코어(dual-core) 또는 멀티코어 프로세서들을 동작시킬 때의 선택 수단이며, 프로세서 코어들은 각각의 작업 주기에서 변화된다.
아래에서 설명되는 본 발명의 구성들은 멀티스테이지 비교 방식에 기반하며, 이러한 멀티스테이지 비교 방식은 다음의 고려사항들에 기반한다: 예시적인 작업 주기(i)에서, 오류가 제1 프로세서 코어에서 또는 제1 프로세서 코어에 배정된 메모리에서 발생하면, 이러한 제1 프로세서 코어에 의해 계산되는 결과는 손상된다(corrupted). 후속 작업 주기(i+1)에서, 제2 프로세서 코어는 이제, 손상되지 않은 결과를 계산한다. 작업 주기(i+2)에서, 손상된 결과가 다시, 제1 프로세서 코어에서 계산된다. 각각의 작업 주기에서, 현재 결과와, 뒤에 지연된(lagging) 적어도 하나의 결과 사이의 거리가 2 개의 프로세서 코어들 각각에서 비교된다. 이 경우, 빠르면 작업 주기(i)에서 그리고 늦어도 작업 주기(i+2)에서 오류가 결정될 수 있다.
본 발명의 일 구성은 비교 방식을 제공하며, 이 비교 방식에 따라, 현재 작업 주기의 결과 및 1 개의 작업 주기 뒤의 컴퓨팅 동작의 결과로부터 제1 거리가 결정된다. 이러한 제1 거리가 최대 값을 초과하거나, 또는 다시 말해서, 제1 거리에 대해 예상된 값 밖에 있으면, 본 발명에 따라 오류 표시가 출력된다. 이 구성에 따라, 각각 변화하는 프로세서 코어 상에서의 보안-임계적 애플리케이션의 2-채널 계산의 경우, 작업 주기(i)에서 프로세서 코어의 계산착오가 검출되며, 이러한 계산착오의 경우, 현재 결과가, 미리 정의가능한 최대 값 또는 최대 거리 밖에 있는, 다른 결과로부터의 거리를 갖는다는 취지로, 하나의 프로세서 코어에 의해 계산된 결과는 작업 주기(i-1)에서 다른 프로세서 코어에 의해 계산된 결과와 상이하다.
본 발명에 의해 미리 정의된 비교 방식에 기반하는 일관성 검사는, 예컨대 선행 기술로부터 알려진 듀얼-레인 동작에서와 같이 비트 아이덴티티(bit identity)에 대해서는 수행되지 않는다. 이에 대한 이유는, 연속적인 작업 주기들로부터의 입력 데이터(data)가 또한, 연속적인 작업 주기들에서의 컴퓨팅 동작들에 사용되기 때문이다. 연속적인 작업 주기들로부터의 입력 데이터가 대개 상이하기 때문에, 결과들 또는 출력 데이터가 또한, 허용가능한 거리만큼 상이할 수 있다. 이러한 허용가능한 거리에 대한 허용가능한 최대 거리가 미리 정의가능할 수 있거나, 또는 대안적으로 또는 부가적으로, 뒤에 지연된 작업 주기들로부터의 결과들 사이의 거리들로부터, 허용가능한 거리가 계산될 수 있다. 마지막-언급된, 뒤에 지연된 작업 주기들로부터의 결과들 사이의 거리들로부터, 허용가능한 거리의 계산이 다음의 구성들에서 설명된다.
본 발명에 따른 조치(measure)들에 의해 무작위 오류들이 검출될 수 있다. 상이한 프로세서 코어들 상에서 동일한 소프트웨어가 실행되면, 계통적 오류들은 일반적으로 검출될 수 없다. 게다가, 이는 또한, 선행 기술에서 알려진 듀얼-레인 동작에 적용된다.
계통적 오류들이 또한, 검출되도록 의도되면, 선행 기술에서는, 듀얼-레인 컴퓨터의 2 개의 프로세서들 상에서 상이한 소프트웨어 ―그러므로, 이러한 소프트웨어는 동일한 오류를 포함하지 않을 가능성이 높음― 를 실행하는 것이 알려진 관행(practice)이다. 이 경우, 제2 소프트웨어는 제1 소프트웨어와 동일한 범위의 기능들을 가질 수 있거나, 또는 단순화된 계산을 수행할 수 있다. 후자는 또한, 엔벨로프 함수(envelope function)로 지칭된다. 이 경우들 둘 모두에서, 심지어 듀얼-레인 컴퓨터의 경우에도, 비트 아이덴티티가 아니라, 단지 결과들만이 비교될 수 있다. 언급된 이 방법들 둘 모두는 유리하게, 본 발명에 따른 본 방법과 결합될 수 있다. 이 목적을 위해, 애플리케이션(A1)은 코어(C1) 상에서 주기(i)에서 실행될 것이며, 애플리케이션(A2)은 코어(C2) 상에서 주기(i+1)에서 실행될 것이다. 오류가 없는 경우, 설명된 오류 검출은, 가능하게는 증가된 허용가능한 델타(delta)로, 변화 없이 기능할 것이다. 애플리케이션들 중 하나가 특히 엔벨로프 함수이면, 선행 기술에서 또한 통상적인 바와 같이, 더 큰 델타가 제공될 필요가 있을 것이다. 기능들의 다양성의 결과로서, 이 실시예에서 설명된 오류 검출 메커니즘(mechanism)들은 또한, 애플리케이션들(A1 및 A2)에서의 오류들 또는 차이들을 검출할 수 있을 것이다.
본 발명의 일 구성에 따라, 뒤에 지연된 컴퓨팅 동작들의 결과들 사이의 추가적인 거리들 및 차이들이 작업 주기(i+1)에서 결정되며, 여기서:
- 현재 작업 주기의 결과 및 2 개의 작업 주기들 뒤의 컴퓨팅 동작의 결과로부터 제2 거리가 결정되고; 그리고/또는
- 1 개의 작업 주기 뒤의 컴퓨팅 동작의 결과 및 2 개의 작업 주기들 뒤의 컴퓨팅 동작의 결과로부터 제3 거리가 결정되고; 그리고/또는
- 현재 작업 주기의 결과와, 1 개의 작업 주기 뒤의 컴퓨팅 동작의 결과 사이의 차이로부터 제1 차이가 결정되며; 그리고/또는
- 1 개의 작업 주기 뒤의 컴퓨팅 동작의 결과와, 2 개의 작업 주기들 뒤의 컴퓨팅 동작의 결과 사이의 차이로부터 제2 차이가 결정된다.
본 발명의 일 구성에 따라,
- 제2 거리가 제1 거리보다 짧고; 그리고
- 제2 거리가 제3 거리보다 짧으며; 그리고
- 제1 차이가 제2 차이와 상이한 부호를 가지면,
오류 표시가 출력된다.
이 구성에 따라, 각각 변화하는 프로세서 코어 상에서의 보안-임계적 애플리케이션의 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)에서 결정되며, 여기서:
- 1 개의 작업 주기 뒤의 컴퓨팅 동작의 결과 및 3 개의 작업 주기들 뒤의 컴퓨팅 동작의 결과로부터 제4 거리가 결정되고; 그리고/또는
- 2 개의 작업 주기들 뒤의 컴퓨팅 동작의 결과 및 3 개의 작업 주기들 뒤의 컴퓨팅 동작의 결과로부터 제5 거리가 결정되며; 그리고/또는
- 2 개의 작업 주기들 뒤의 컴퓨팅 동작의 결과와, 3 개의 작업 주기들 뒤의 컴퓨팅 동작의 결과 사이의 차이로부터 제3 차이가 결정된다.
본 발명의 일 구성에 따라,
- 제2 거리가 제1 거리보다 짧고; 그리고
- 제2 거리가 제3 거리보다 짧고; 그리고
- 제4 거리가 제3 거리보다 짧고; 그리고
- 제4 거리가 제5 거리보다 짧고; 그리고
- 제1 차이가 제3 차이와 상이한 부호를 가지며; 그리고
- 제3 차이가 제2 차이와 상이한 부호를 가지면,
오류 표시가 출력된다.
이 구성에 따라, 각각 변화하는 프로세서 코어 상에서의 보안-임계적 애플리케이션의 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 차이와 상이한 부호를 갖는다.
본 발명의 일 구성은 비교 방식을 제공하며, 이러한 비교 방식은, 각각의 작업 주기에서 적어도 하나의 거리의 결정 그리고 선행하는 거리들 및/또는 차이들과의 비교를 제공한다. 대안적으로, 거리들 또는 차이들의 결정 및/또는 그들의 비교는, 예비된 작업 주기들에서만, 예컨대, 매 4번째 또는 n번째 작업 주기에서만 이루어진다. 더욱이, 각각의 프로세서 코어에 대해 각각 결정된 결과들이 따로 드리프트(drift)하며 그리고/또는 한계 값의 방향으로 이동하면, 비교 주기들은 또한, 비교 방식에 따라 증가될 수 있다.
본 발명의 추가적인 예시적인 실시예들 및 장점들은, 도면을 기초로 아래에서 더욱 상세히 설명되며, 이 도면에서:
도 1은 이산 작업 주기들에 대해 교번하여 각각 계산되는 2 개의 컴퓨팅 동작들의 결과들의 개략적인 예시를 도시하며, 여기서, 현재 결과와 후속 결과 사이의 거리에 대한 값들의 개개의 예상 범위가 그려지고;
도 2는 이산 작업 주기들에 대해 교번하여 각각 계산되는 2 개의 컴퓨팅 동작들의 결과들의 개략적인 예시를 도시하며, 여기서, 현재 결과와 후속 결과 사이의 개개의 거리가 그려지고;
도 3은 시간에 걸쳐 2 개의 컴퓨팅 동작들의 결과들의 개략적인 예시를 도시하며, 여기서, 하부의 컴퓨팅 동작은 적분(integrating) 제어 엘리먼트(element)를 포함하고;
도 4는 제1 샘플링 레이트(sampling rate)로 이산 작업 주기들에 대해 교번하여 각각 계산되는 2 개의 컴퓨팅 동작들의 결과들의 개략적인 예시를 도시하며, 여기서, 하부의 컴퓨팅 동작은 적분 제어 엘리먼트를 포함하며; 그리고
도 5는 제2 샘플링 레이트로 이산 작업 주기들에 대해 교번하여 각각 계산되는 2 개의 컴퓨팅 동작들의 결과들의 개략적인 예시를 도시하며, 여기서, 하부의 컴퓨팅 동작은 적분 제어 엘리먼트를 포함한다.
도 1 및 도 2는 타이밍 다이어그램(timing diagram)을 도시하며, 이러한 타이밍 다이어그램의 세로 좌표 상에서, 이산 시간들에 2 개의 프로세서 코어들 ―개개의 대응하는 참조 심볼 프리픽스(symbol prefix), 즉, 제1 프로세서 코어에 대한 C1 및 제2 프로세서 코어에 대한 C2를 가짐― 중 하나에 의해 교번하여 각각 계산된 2 개의 컴퓨팅 동작들의 결과들(C2i-1, C1i, C2i+1, C1i+2, C2i+3)이 그려진다. 가로 좌표 상에 그려지는 이산 시간들은 작업 주기들(i-1, i, i+1, i+2, i+3)에 대응한다.
도 1에서, 현재 결과와 후속 결과 사이의 거리에 대한 값들의 개개의 예상 범위가 그려진다(개개의 점형(punctiform) 결과 값(C2i-1, C1i, C2i+1, C1i+2, C2i+3)으로부터 시작하는 삼각형 구역 참조).
본 발명에 따라, 2 개의 실질적으로 동일한 컴퓨팅 동작들을 주기적으로 프로세싱하는(process) 프로세서 코어들은 각각의 작업 주기(i-1, i, i+1, i+2, i+3)에서 변화된다. 그러므로, 각각의 경우 컴퓨팅 동작의 프로세싱에 수반되지 않은 프로세서 코어는 다른 태스크(task)들을 프로세싱할 수 있으며, 그 결과, 어떤 중복적인 컴퓨팅 파워도 낭비되지 않는다. 동시에, 컴퓨팅 동작의 프로세싱에서의 오류들은 또한, 다른 프로세서 코어 상에서의 개개의 다른 컴퓨팅 동작에 영향을 끼친다.
예컨대 작업 주기(i)에서, 오류가 프로세서 코어(C1)에서 또는 프로세서 코어(C1)에 배정된 메모리에서 발생하면, 이 프로세서 코어(C1)에 의해 계산되는 결과(C1i)는 손상된다. 다음 차례의 작업 주기(i+1)에서, 다른 프로세서 코어(C2)는 이제, 이번에는 손상되지 않은 결과(C2i+1)를 계산한다.
다음 차례의 작업 주기(i+2)에서, 손상된 결과(C1i+2)가 다시, 프로세서 코어(C1)에서 계산된다. 본 발명에 따른 비교 방식의 일 구성에 따라, 다음의 모니터링(monitoring) 메커니즘들이 프로세서 코어들(C1, C2) 둘 모두에서 제공되며, 빠르면 작업 주기(i)에서 그리고 늦어도 작업 주기(i+2)에서 오류가 존재한다고 결정할 수 있다.
a. 작업 주기(i)에서: 도 1에 따라, 작업 주기들(i 및 i+1)에서 계산된 결과들(C1i 및 C2i+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) 사이의 제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) 및 제5 거리(A5)를 도시한다.
그러므로, 최대 구배에 대한 규칙이 없으면, 작업 주기(i+2)에서만, 오류가 있다는 것이 신뢰성 있게 검출될 수 있다. 요건들에 따라, 이 검사는 예컨대 매 작업 주기로 또는 매 n번째 주기로 계속해서 수행될 수 있다.
그 외에도, 오류가 검출되기 전에 한 번 또는 여러 번 초과될 수 있는 더 가까운 최대 거리들을 정의하는 것이 또한 가능하다. "진짜(true)" 듀얼-레인 동작에서와 같이 비트 아이덴티티에 대해서는 일관성 검사가 수행될 수 없는데, 그 이유는 2 개의 프로세서 코어들이 연속적인 작업 주기들에서의 계산들을 위해 연속적인 주기들로부터의 입력 데이터를 사용하기 때문이다.
입력 데이터가 연속적인 작업 주기들에서 상이할 것이기 때문에 ―가능하게는, 미리 정의된 최대 거리에 의해 제한됨―, 출력 데이터는 또한, 허용가능한 델타만큼 상이할 수 있다. 허용가능한 값이 이 델타에 대해 알려질 수 있거나, 또는 입력 데이터 사이의 거리들로부터 계산될 수 있다.
본 발명에 따른 장점은, 2-채널 계산과 비교할 때, 애플리케이션으로 구현되는 디지털(digital) 제어기의 주기 시간을 증가시키지 않으면서, 요구되는 컴퓨팅 파워의 이등분(halving)이다. 이것이 일관성 검사 ―비트 아이덴티티 대신에, 델타 일관성― 의 품질을 감소시키고, 최대 2 개의 작업 주기들만큼 오류 응답을 감속시키지만, 오류가 없는 경우에서의 2-채널 계산과 비교할 때, 제어기의 주기 시간은 증가되지 않는다.
본 발명의 추가적인 실시예들에 따라, 애플리케이션이, 적어도 부분적으로 적분하는 제어 엘리먼트들, 다시 말해서, I 컴포넌트(component)들을 갖는 제어기들을 포함하는 디지털 제어기를 적어도 부분적으로 구현하거나, 또는 그렇지 않으면 과거 시스템 상태들이 부수적으로 계산에 포함되면, 부가적인 조치들이 취해진다.
도 3은 시간에 걸쳐 제1 프로세서 코어(C1)에 의해 그리고 제2 프로세서 코어(C2)에 의해 결정되는, 컴퓨팅 동작의 2 개의 개개의 결과들의 개략적인 예시를 도시하며, 여기서, 하부의 컴퓨팅 동작은 적분 제어 엘리먼트를 포함한다. 제2 프로세서 코어(C2)에 의해 결정되는 결과들의 과정(course)이 실질적으로, 컴퓨팅 동작의 이상적 값 과정(ID)을 따라가는 반면에, 제1 프로세서 코어(C1)에 의해 결정되는 결과들의 과정은 따로 드리프트한다.
프로세서 코어들 둘 모두 또는 복수의 프로세서 코어들이 약간 상이한 입력 값들을 수신하기 때문에, 출력 값들은 마찬가지로, 약간 상이할 수 있다. 이는 본 발명에 따른 델타 일관성 검사의 범위 내에서 허용가능하다. 그러나, 2 개의 프로세서 코어들의 제어 목표들이 이상적 값의 약간 위아래에 있으면, 2 개의 프로세서 코어들에서의 적분기 변수들은 계속해서 증가할 수 있는데, 그 이유는 각각의 프로세서 코어가 동일한 방향으로의 약간의 편차를 항상 알기 때문이다.
이는 제어되는 어셈블리(assembly)의 지터(jitter)를 야기할 수 있는데, 그 이유는 2 개의 제어기들이 반대 방향들로 언제나 더 큰 제어를 제공하기 때문이다. 제어기들 중 하나에서의 적분기 변수들이 한계 값, 예컨대 변수들의 값 범위 한계치에 도달하자마자, 임계적인 상황에 도달한다. 제어기들 중 하나는 이제, 더 이상 적절한 카운터-제어(counter-control)를 제공할 수 없으며, 제어 값은 따로 드리프트한다. 이것이 위에서 설명된 조건들 하에서 안전한 분리를 야기할 것이지만, 시스템은 더 이상 신뢰할 만하지 않을 것인데, 그 이유는 이 경우, 프로세서 코어들의 변화가 오류를 초래하기 때문이다. 이 문제를 방지하기 위하여, 적절한 드리프트(drift) 보상이 제공되어야 한다. 이 목적을 위해, 2 개의 프로세싱 경로들에서의 적분기들로부터의 값들은 예컨대 서로 상호교환될 수 있다. 가능한 오류 전파를 방지하기 위하여, 적분기들로부터의 상호교환되는 값들을 제한하는 것이 바람직하다. 정상 동작 동안 허용가능한 적분기 값들은, 제어기의 설계 및 제어 선택의 동적 응답으로부터 결정될 수 있다. 적분기 값들의 제한은 임계적이지 않은데, 그 이유는 최악의 경우 시나리오(worst-case scenario)에서, 이러한 적분기 값들의 제한이 제어기 거동의 감속을 야기할 수 있지만, 불안정성을 야기하지 않기 때문이다.
제어기의 입력 신호가 작업 주기 주파수와 유사한 주파수로, 다시 말해서, 작업 주기의 시간 값의 역의 값으로 오실레이팅하면(oscillate), 불안정성들이 발생할 수 있다. 이는, 제어기 입력에서, 과도하게 높은 값이 항상 하나의 프로세서 코어로 전송되고 과도하게 낮은 값이 항상 다른 프로세서 코어로 전송되며, 그 결과, 조작되는 변수들이 도 4에 따라 오실레이팅(oscillating)하는 것을 야기할 수 있다. 이 거동은 위의 규칙들에 따라 오류로서 검출될 것이며, 그러므로 방지되어야 한다.
이 목적을 위해 다음의 구성들이 적절하다:
- 언더샘플링(undersampling)의 방지. 제어기들은, 원칙적으로, 샘플링 레이트가 제어되는 변수들의 주파수보다 상당히 더 높은 방식으로 설계되어야 한다. 4 개 또는 그 초과 중의 인자들이 동작 중에 시도 및 검사되었다(도 5 참조). 이 조치가 모든 제어 섹션(section)들에서 사용될 수 있고 사용되어야 하며, 이러한 제어 섹션들의 동적 응답은 충분히 잘 알려져 있다.
- "왈츠(waltz) 시간 주기" 또는 유사한 불연속적 변화들로의 프로세서 코어의 변화: 제어 섹션의 동적 응답이 알려져 있지 않으면, 프로세서 코어들이 변화되는 리듬(rhythm)은 변경될 수 있다. 예컨대, 컴퓨팅 동작의 계산은 항상 제1 프로세서 코어(C1)에 두 번 공급될 수 있으며, 이후, 제2 프로세서 코어(C2)에 한 번 공급될 수 있다. 프로세서 코어들을 변화시킬 때의 비대칭적인 기간 지속기간은, 원치 않는 오류 검출과 결합하여 위에서 설명된 거동을 야기하는, 제어기 변수의 주파수를 야기할 수 없다.
- 3-코어 또는 멀티코어 프로세서의 사용. 예컨대, 컴퓨팅 동작의 계산은 제1 프로세서 코어(C1)에 한 번 공급될 수 있고, 이후, 제2 프로세서 코어(C2)에 공급될 수 있으며, 이후, 제3 프로세서 코어(C3)에 공급될 수 있다. 그러므로, 프로세서 코어들 중 하나에서의 오류가 오실레이팅(oscillating)하는 입력 데이터와 구별될 수 있는데, 그 이유는 프로세서 코어들 중 하나에서의 오류가 매 3번째 주기에서만 발생할 것이기 때문이다.
- 위에서 진술된 바와 같이, 피드 백된(fed back) 적분기 값들에 대한 값들의 유효한 범위의 제한을 갖는 적분기 값 피드백(feedback).
- 이력과 시스템 상태들의 비교: 시스템 상태들이 과거로부터의 다수의 값들로부터 계산되면, 이들 시스템 상태들을 계산할 때, 상이한 입력 데이터는 또한, 상이한 결과들을 야기할 수 있다. 여기서 오류 검출을 방지하기 위하여, 이들 오류 상태들을 계산할 때 시간적 델타들이 허용되어야 하거나, 또는 상태들이 프로세싱 경로들 사이에서 상호교환되어야 한다.
위에서 설명된 방법들에 대한 대안으로서, 프로세싱 경로들 둘 모두가 본 발명의 대안적인 구성에 따라 동일한 메모리 영역에 액세스할(access) 수 있다. 그러므로, 프로세싱 경로들 둘 모두에 대한 모든 이력 데이터, 적분기 값들 등은 동일할 것이며, 위의 메커니즘들 중 아무것도 요구되지 않을 것이다. 이 단순화를 위한 대가는, 공유 메모리 영역이 공통 오류 유발 영역이 된다는 것이다. 일부 애플리케이션들의 경우, 이는, 공통 오류 유발 영역에서의 미발견 오류들의 확률이 적절한 조치들, 예컨대 오류-정정 코드(ECC; error-correcting code) 또는 메모리 스크램블링(scrambling)의 결과로서 충분히 낮으면, 수용가능할 수 있다.
본 발명에 따라, 2 개의 채널들에서 보안-임계적 애플리케이션을 계산하기 위해 멀티코어 프로세서의 적어도 2 개의 프로세서 코어들이 사용된다. 이 경우, 컴퓨팅 동작들은, 프로세서 코어들 둘 모두에서 각각의 컴퓨팅 주기에서 중복적으로 계산되는 것이 아니라, 프로세서 코어들 둘 모두가 상이한 작업 주기들에서 상이한 애플리케이션들과 함께 사용된다. 그러므로, 요구되는 컴퓨팅 용량의 배가가 유리하게 방지된다. 프로세서 코어들의 상호 모니터링을 달성하기 위하여, 컴퓨팅 동작들은 프로세서 코어들 둘 모두에서 교번적으로 계산된다. 설명된 오류 검출 메커니즘들에 의하여, 무작위 오류들이 검출될 수 있다. 본 발명에 따른 오류 검출의 품질이, 선행 기술로부터 알려져 있으며 병렬-중복적인 멀티채널 계산을 갖는 "듀얼-레인 동작"에서의 오류 검출의 품질보다 다소 아래이지만, 특히 제어 시스템에 대한 경제적인 구현이 요구되면, 오류 검출의 품질은, 컴퓨팅 파워에 대한 더 낮은 지출을 위한 요건에 비해서 그렇게 중요하지 않을 수 있다. 그러므로, 본 발명은, 컴퓨팅 파워의 경제적인 설계와, 충분히 신뢰할 만한 오류 검출에 부과된 요건들을 결합한다.

Claims (14)

  1. 멀티코어 프로세서(multicore processor)를 동작시키기 위한 방법으로서,
    복수의 주기적인 컴퓨팅(computing) 동작들을 포함하는 애플리케이션(application)이 상기 멀티코어 프로세서 상에서 실행되고, 개개의 컴퓨팅 동작을 계산하는 목적을 위해, 시간적으로 측정되는 작업 주기가 제공되며,
    상기 방법에서는,
    - 상기 멀티코어 프로세서의 프로세서 코어(core) 상에서, 분산 방식에 따라 할당되는 컴퓨팅 동작이 계산되고;
    - 현재 컴퓨팅 동작의 결과가 수신된 후에, 현재 작업 주기 내에서 그리고 비교 방식에 기반하여, 현재 결과와, 적어도 하나의 작업 주기 뒤의 컴퓨팅 동작의 적어도 하나의 결과 사이의 적어도 하나의 거리가 결정되고;
    - 적어도 하나의 거리가 예상 값 밖에 있으면, 오류 표시가 출력되며;
    - 상기 멀티코어 프로세서의 프로세서 코어 상에서, 상기 분산 방식에 따라 할당되는 후속 컴퓨팅 동작이 계산되는,
    멀티코어 프로세서를 동작시키기 위한 방법.
  2. 제1 항에 있어서,
    상기 컴퓨팅 동작들은 각각, 상기 분산 방식에 따라 상기 멀티코어 프로세서의 프로세서 코어들 중 하나에 교번적으로 할당되는,
    멀티코어 프로세서를 동작시키기 위한 방법.
  3. 제1 항 또는 제2 항에 있어서,
    미리 정의가능한 복수의 작업 주기들에 대한 제1 프로세서 코어로의 할당은, 상기 할당이 상기 멀티코어 프로세서의 제2 프로세서 코어로 변화되기 전에, 상기 분산 방식에 따라 제공되는,
    멀티코어 프로세서를 동작시키기 위한 방법.
  4. 제3 항에 있어서,
    오류 표시가 출력되면, 상기 제1 프로세서 코어로의 할당을 위한 복수의 작업 주기들은 증가되는,
    멀티코어 프로세서를 동작시키기 위한 방법.
  5. 제2 항 내지 제4 항 중 어느 한 항에 있어서,
    상기 컴퓨팅 동작들은 각각, 교번적인 방식으로, 특히 윤번제 방식으로, 상기 멀티코어 프로세서의 적어도 3 개의 프로세서 코어들 중 하나에 할당되는,
    멀티코어 프로세서를 동작시키기 위한 방법.
  6. 제1 항 내지 제5 항 중 어느 한 항에 있어서,
    상기 비교 방식에 따라, 현재 작업 주기의 결과 및 1개의 작업 주기 뒤의 컴퓨팅 동작의 결과로부터 제1 거리가 결정되는,
    멀티코어 프로세서를 동작시키기 위한 방법.
  7. 제6 항에 있어서,
    상기 제1 거리가 상기 제1 거리에 대해 예상된 값 밖에 있으면, 상기 오류 표시가 출력되는,
    멀티코어 프로세서를 동작시키기 위한 방법.
  8. 제6 항에 있어서,
    - 상기 현재 작업 주기의 결과 및 2개의 작업 주기들 뒤의 컴퓨팅 동작의 결과로부터 제2 거리가 결정되고; 그리고/또는
    - 1개의 작업 주기 뒤의 컴퓨팅 동작의 결과 및 2개의 작업 주기들 뒤의 컴퓨팅 동작의 결과로부터 제3 거리가 결정되고; 그리고/또는
    - 상기 현재 작업 주기의 결과와, 상기 1개의 작업 주기 뒤의 컴퓨팅 동작의 결과 사이의 차이로부터 제1 차이가 결정되며; 그리고/또는
    - 상기 1개의 작업 주기 뒤의 컴퓨팅 동작의 결과와, 상기 2개의 작업 주기들 뒤의 컴퓨팅 동작의 결과 사이의 차이로부터 제2 차이가 결정되는,
    멀티코어 프로세서를 동작시키기 위한 방법.
  9. 제8 항에 있어서,
    - 상기 제2 거리가 상기 제1 거리보다 짧고; 그리고
    - 상기 제2 거리가 상기 제3 거리보다 짧으며; 그리고
    - 상기 제1 차이가 상기 제2 차이와 상이한 부호를 가지면,
    상기 오류 표시가 출력되는,
    멀티코어 프로세서를 동작시키기 위한 방법.
  10. 제8 항에 있어서,
    - 1개의 작업 주기 뒤의 컴퓨팅 동작의 결과 및 3개의 작업 주기들 뒤의 컴퓨팅 동작의 결과로부터 제4 거리가 결정되고;
    - 2개의 작업 주기들 뒤의 컴퓨팅 동작의 결과 및 3개의 작업 주기들 뒤의 컴퓨팅 동작의 결과로부터 제5 거리가 결정되며;
    - 상기 2개의 작업 주기들 뒤의 컴퓨팅 동작의 결과와, 상기 3개의 작업 주기들 뒤의 컴퓨팅 동작의 결과 사이의 차이로부터 제3 차이가 결정되는,
    멀티코어 프로세서를 동작시키기 위한 방법.
  11. 제10 항에 있어서,
    - 상기 제2 거리가 상기 제1 거리보다 짧고; 그리고
    - 상기 제2 거리가 상기 제3 거리보다 짧고; 그리고
    - 상기 제4 거리가 상기 제3 거리보다 짧고; 그리고
    - 상기 제4 거리가 상기 제5 거리보다 짧고; 그리고
    - 상기 제1 차이가 상기 제3 차이와 상이한 부호를 가지며; 그리고
    - 상기 제3 차이가 상기 제2 차이와 상이한 부호를 가지면,
    상기 오류 표시가 출력되는,
    멀티코어 프로세서를 동작시키기 위한 방법.
  12. 제1 항 내지 제11 항 중 어느 한 항에 있어서,
    상기 비교 방식에 따라, 각각의 작업 주기에 대한 적어도 하나의 거리가 결정되는,
    멀티코어 프로세서를 동작시키기 위한 방법.
  13. 제1 항 내지 제12 항 중 어느 한 항에 있어서,
    상기 비교 방식에 따라, 매 n번째 작업 주기에 대한 적어도 하나의 거리가 결정되며, 여기서, n은 자연수인,
    멀티코어 프로세서를 동작시키기 위한 방법.
  14. 컴퓨터 프로그램(computer program) 제품으로서,
    상기 컴퓨터 프로그램 제품이 제어 시스템(system) 내의 적어도 하나의 멀티코어 프로세서에 의해 실행될 때, 제1 항 내지 제13 항 중 어느 한 항에 따른 방법을 수행하기 위한 수단을 갖는,
    컴퓨터 프로그램 제품.
KR1020187016720A 2015-11-12 2016-10-21 멀티코어 프로세서를 동작시키기 위한 방법 KR20180072829A (ko)

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
KR20180072829A true KR20180072829A (ko) 2018-06-29

Family

ID=57233400

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020187016720A KR20180072829A (ko) 2015-11-12 2016-10-21 멀티코어 프로세서를 동작시키기 위한 방법

Country Status (7)

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

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102403767B1 (ko) 2020-11-25 2022-05-30 현대제철 주식회사 초고강도 냉연강판 및 그 제조방법

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7400222B2 (ja) 2019-06-14 2023-12-19 マツダ株式会社 外部環境認識装置
JP7419157B2 (ja) * 2020-05-13 2024-01-22 株式会社日立製作所 プログラム生成装置、並列演算デバイス、及び、並列演算デバイスに並列演算を実行させるためのコンピュータプログラム
CN114201332A (zh) * 2022-02-21 2022-03-18 岚图汽车科技有限公司 一种冗余控制方法、装置、芯片及存储介质

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7739542B2 (en) * 2004-11-26 2010-06-15 Nokia Siemens Network Gmbh & Co. Kg Process for detecting the availability of redundant communication system components
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
JP4709268B2 (ja) * 2008-11-28 2011-06-22 日立オートモティブシステムズ株式会社 車両制御用マルチコアシステムまたは内燃機関の制御装置
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 모니터링 시스템 및 방법
JPWO2014033941A1 (ja) * 2012-09-03 2016-08-08 株式会社日立製作所 計算機システムおよび計算機システムの制御方法
JP6069104B2 (ja) * 2013-05-31 2017-01-25 富士重工業株式会社 制御装置および制御装置の異常検出方法
JP6324127B2 (ja) * 2014-03-14 2018-05-16 三菱電機株式会社 情報処理装置、情報処理方法及びプログラム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102403767B1 (ko) 2020-11-25 2022-05-30 현대제철 주식회사 초고강도 냉연강판 및 그 제조방법

Also Published As

Publication number Publication date
CN108351815A (zh) 2018-07-31
DE102015222321A1 (de) 2017-05-18
US20180322001A1 (en) 2018-11-08
JP2019500682A (ja) 2019-01-10
WO2017080793A3 (de) 2017-08-17
WO2017080793A2 (de) 2017-05-18
EP3338189A2 (de) 2018-06-27

Similar Documents

Publication Publication Date Title
KR20180072829A (ko) 멀티코어 프로세서를 동작시키기 위한 방법
KR20130119452A (ko) 오류 허용 아키텍쳐를 갖는 마이크로프로세서 시스템
US20060200278A1 (en) Generic software fault mitigation
KR20170134710A (ko) 차량 안전 전자 제어 시스템
EP3036156B1 (en) Abnormal aircraft response monitor
JPS61267140A (ja) 短時間インタ−フエアレンスを抑制する方法および回路
EP3178000A1 (en) Method of executing programs in an electronic system for applications with functional safety comprising a plurality of processors, corresponding system and computer program product
US10564636B2 (en) Method and arrangement for operating two redundant systems
KR101560497B1 (ko) 락스텝으로 이중화된 프로세서 코어들의 리셋 제어 방법 및 이를 이용하는 락스텝 시스템
JP2022521938A (ja) 安全システムおよび安全システムの作動方法
US20090089627A1 (en) Distributed Control System
US11914456B2 (en) Method and device for securing access to encoded variables in a computer program
JP2018014102A5 (ko)
EP3422132B1 (en) Method and fault tolerant computer architecture for reducing false negatives in fail-safe trajectory planning for a moving entity
KR101448013B1 (ko) 항공기용 다중 컴퓨터의 고장 허용 장치 및 방법
US10489228B2 (en) Safety-relevant computer system
KR100807095B1 (ko) 지수 평활법을 이용한 예측 하이브리드 중복 구조의 구조
EP3422131B1 (en) Method and fault tolerant computer architecture to improve the performance in fail-safe trajectory planning for a moving entity
EP3367242B1 (en) Method of error detection in a microcontroller unit
CN111797990A (zh) 机器学习模型的训练方法、训练装置和训练系统
JP2015219896A (ja) 複数の演算サーバを備えるクラウド制御システム、その制御プログラムのスケジューリング方法、及び演算サーバの冗長化方法
JP2019185444A (ja) 二重化制御システム
US20240028440A1 (en) Method for Recording a Number of Events in an Encoded Tracer Variable in a Security-Oriented Computer Program
RU2273883C1 (ru) Устройство для определения характеристик надежности изделия
JP7277229B2 (ja) 制御装置、制御方法及び制御プログラム

Legal Events

Date Code Title Description
A201 Request for examination
A302 Request for accelerated examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right