CN104798046A - 对称多处理器布置、安全关键***及其方法 - Google Patents
对称多处理器布置、安全关键***及其方法 Download PDFInfo
- Publication number
- CN104798046A CN104798046A CN201280076192.3A CN201280076192A CN104798046A CN 104798046 A CN104798046 A CN 104798046A CN 201280076192 A CN201280076192 A CN 201280076192A CN 104798046 A CN104798046 A CN 104798046A
- Authority
- CN
- China
- Prior art keywords
- safety
- critical system
- storer
- diagnostic application
- application
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error 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/079—Root cause analysis, i.e. error or fault diagnosis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error 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/0706—Error 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/0721—Error 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/0724—Error 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error 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/0706—Error 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/0721—Error 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]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error 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/0706—Error 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/073—Error 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 a memory management context, e.g. virtual memory or cache management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error 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/0751—Error or fault detection not based on redundancy
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/18—Error detection or correction of the data by redundancy in hardware using passive fault-masking of the redundant circuits
-
- 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45583—Memory management, e.g. access or allocation
-
- 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45591—Monitoring or debugging support
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/845—Systems in which the redundancy can be transformed in increased performance
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Hardware Redundancy (AREA)
Abstract
本发明涉及一种用于安全关键***的对称多核处理器布置,包括:对称多处理器(14;30),具有至少两个核心(6-9;39-46)和至少两个核心所共享的存储器(11;48);以及管理器(13;47),连接到对称多处理器,并且配置成组织检查安全关键***的至少诊断应用(12;37,38)对至少两个核心的访问;其中,在使用期间,诊断应用配置成从/向存储器进行读取/写入,并且管理器配置成仅从存储器读取。
Description
技术领域
一般来说,本发明涉及多处理器布置,以及更具体来说,涉及对称多处理器布置的诊断。
背景技术
对于开发安全关键***、例如机器人***,重要的是充分及早地检测故障,并且将***切换到所谓的安全状态,其中它不会危及人类或环境。这实际意味着,***差错、例如软件/硬件设计差错必须通过该过程中的适当检验和验证技术来避免,以及随机差错必须通过例如适当诊断技术或硬件冗余度来检测。用于查找***差错的适当检验和验证技术是安全关键***的开发过程的组成部分。用于查找随机差错的诊断技术在运行时周期地运行。
诊断能够通过硬件(HW)以及通过软件(SW)来实现。HW诊断是费用极高的,但是它们能够提供较高诊断覆盖。HW诊断的一个示例是例如RAM的ECC校验模块。
通过SW的诊断通常是优选的,因为它们能够易于更新和定制。但是,它们会比HW诊断要慢,并且可能不一定始终达到HW的所有部件、例如特殊寄存器。它们能够与应用任务并行地运行,这降低总***性能,并且可能影响安全功能性,即,诊断功能本身会出故障并且威胁***安全性。
在单处理器上,诊断能够是固件的组成部分、即自身模块/任务。过程循环中的一些空闲处理器时间通常用来检查***的安全完整性。执行完全是串行的。但是,在不久的将来,大多数***不是运行于单处理器布置,而是运行于多处理器布置,这使诊断技术进一步复杂化。
发明内容
诊断如何能够在多核***中进行工作的方式必须完全重新构思,因为硬件变得越来越复杂,软件配置变得越来越复杂,以及对多处理器单元(MPU)所需要的完全利用其潜能的动态将在很大程度上影响安全性。
当今,MPU的安全关键***主要运行不对称多处理(AMP),采取专用资源、例如专用于安全应用的一个核心。核心对其他任务将不是可用的,即使它处于空闲模式。***的性能因而决不会是最佳的。如果使用更多核心,则问题变得更加严重。专用安全核心中的故障将导致失误进入安全状态,即使存在可用的其他核心可使***保持为有效。此外,用于例如2选1(1oo2)解决方案的冗余控制的固定表决方案在MPU增加能力、即被提供有更多核心时不能易于改变成具有更多核心的解决方案、例如4选2(2oo4)解决方案。
在MPU上,与单处理器单元相比,状况是不同的,因为应当利用并行执行。管理器(hypervisor)软件层通常调节对共享资源以及对核心利用的访问。由于对共享资源和核心利用的健康检查的过小控制,对称多处理(SMP)在安全关键***中尚未被接纳。但是,SMP对安全关键***也是合乎需要的,使得管理器层能够用来优化硬件利用。MPU将变得越来越多核心,以及多线程将用来利用总***资源。复杂度增加,并且多核芯片本身知道根据性能与功率消耗的最佳负荷分布。多核芯片通常包括核心、高速缓存、总线或开关矩阵,以便连接到诸如存储器、存储器保护单元、I/O、以太网卡等的其他组件。
此外,其中一个安全应用(又称作分区)专用于自身核心的静态配置不是灵活或者充分可缩放的。甚至对于安全关键实现,软件开发人员也应当能够从基础硬件抽身而集中于应用本身。管理器将分配对于资源的最大利用所优化的工作负荷。
图1示出四核***1,其中每一个应用2-5可能随其自己的操作***(OS)一起封装在虚拟容器中,从而具有对所有硬件多核资源6-9的访问权。管理器10将操控最佳资源共享。在这个图示中,第一应用2是具有诊断(包括OS)的安全应用,第二应用3是具有诊断(包括OS)的另一个安全应用,第三应用4是任意应用(包括OS),以及第四应用5是另一个任意应用(包括OS)。另一个任意应用的示例例如是控制环应用或者人机接口(HMI)应用。在这个图示中,硬件具有第一核心6、第二核心7、第三核心8和第四核心9,其全部是多核处理器硬件1的相同核心。安全应用2例如在时间t=1运行于第一核心6,但是在时间t=2,它运行于第二核心7,以分别从安全应用2转到第一核心6和第二核心7的箭头示出。安全应用2当前运行的位置由管理器10基于优化负荷共享来决定。管理器10在这种情况下将使第三应用4在t=2运行于第一核心6,通过从第三应用4到第一核心6的箭头示出。资源的使用将是极为动态的,从而允许由管理器10所调节的最高***性能。
对多核处理器硬件的典型安全解决方案在这里采用具有2选1(1oo2)的冗余度的四核处理器来例示。
运行于具有SMP的MPU(其中资源随时间动态分配)的安全关键应用的问题在于,安全关键应用的诊断任务在所有其他任务之间的空闲时隙中运行。这在多线程环境中不是有效的。
本发明的一个目的是减轻上述问题。
按照本发明,这个目的通过分别如所附权利要求所限定的一种对称多核处理器布置及其方法来实现。
提供一种用于安全关键***的对称多核处理器布置,包括:对称多处理器,具有至少两个核心和至少两个核心所共享的存储器;以及管理器,连接到对称多处理器,并且配置成组织检查安全关键***的至少诊断应用对至少两个核心的访问;其中,在使用期间,诊断应用配置成从/向存储器进行读取/写入,并且管理器配置成仅从存储器读取,为运行于对称多处理器布置的安全关键应用提供有效诊断任务。
对于关键操控,管理器优选地配置成为诊断应用提供对多处理器的优先化访问。
安全关键***优选地在使用期间包括至少两个诊断应用,以获得也与软件有关的诊断冗余度。
还提供一种安全关键***、例如机器人。
提供一种用于安全关键***、例如机器人的诊断检查的方法,包括下列步骤:通过安全关键***的诊断应用向/从对称多处理器的至少两个核心所共享的存储器进行写入/读取;以及通过管理器来组织对安全关键***的对称多处理器的至少两个核心的访问,并且管理器配置用于仅从至少两个核心所共享的存储器进行读取;其中诊断应用配置成检查安全关键***的一个或多个资源的状态,为运行于对称多处理器布置的安全关键应用提供有效诊断任务。
对于共享存储器的有效利用,该方法优选地包括下列步骤:在存储器中为诊断应用通过诊断应用正监测的资源更新健康状态指示符。有利地,健康状态指示符对于被监测的各资源包括:被运行的诊断测试的状态、运行时的时间戳以及自上一次检查以来的时间。
对于关键操控,诊断应用优选地对多处理器具有优先化访问,当被监测资源由安全关键***的另一个应用连续使用时所利用。
该方法优选地包括下列步骤:动态地重新配置诊断应用的表决方案,以允许例如运行时重新配置。
还提供一种计算机程序产品。
一般来说,权利要求书中使用的所有术语将要按照它们在技术领域中的普通含意来解释,除非本文中另加明确说明。对“一/一个/该元件、设备、组件、部件、步骤等”的所有提法开放式地理解为表示元件、设备、组件、部件、步骤等的至少一个实例,除非另加明确说明。本文所公开的任何方法的步骤无需按照所公开的准确顺序来执行,除非另加明确说明。
附图说明
现在作为示例、参照附图来描述本发明,附图包括:
图1示出已知对称多处理器布置。
图2示出按照本发明的第一实施例的对称多处理器布置。
图3示出按照本发明的第二实施例的对称多处理器布置。
具体实施方式
下面将参照附图更全面地描述本发明,附图中示出本发明的某些实施例。但是,本发明可通过许多不同形式来实施,而不应被理解为局限于本文所提出的实施例;相反,这些实施例作为示例来提供,以使得本公开将是透彻和全面的,并且将向本领域的技术人员全面地传达本发明的范围。在整个描述中,相似的标号表示相似的元件。
现在将作为举例、参照图2更详细地描述按照本发明的多核处理器布置的第一实施例(其运行诊断功能以及其他功能)。
对称多核处理器布置适合用于安全关键***中,并且包括:对称多处理器14,具有至少两个核心6-9和至少两个核心6-9所共享的存储器11;以及管理器13,连接到对称多处理器14,并且配置成组织检查/诊断安全关键***的至少诊断应用12对至少两个核心6-9的访问。在使用期间,诊断应用12配置成从/向共享存储器11进行读取/写入,以及管理器13配置成仅从共享存储器11进行读取。
安全关键***、特别是工业机器人配备有多核处理器布置的健康检查模块,其运行诊断功能等等,其能够全动态运行,以检查安全关键***的所有安全关键组件。健康检查模块提供安全关键***的实际健康状态,并且促成工业安全***中的高安全性和可用性。
在本发明的这个第一实施例中,第一应用2是包括OS的安全应用,以及第二应用3也是包括OS的安全应用。第三应用12是具有包括OS的诊断的健康检查模块,以及第四应用5是包括OS的另一个应用。对称多处理器14具有第一核心6、第二核心7、第三核心8和第四核心9,其全部是相同核心并且共享同一内置存储器11。
安全和非安全应用均将运行于同一***但是完全分离,使得安全功能性没有受到损害。只有健康检查模块12才具有对存储器11的写访问。按照安全标准、例如IEC 61508,必须证明,非安全应用不能以使得安全功能性被阻碍的方式影响安全功能,以便正确运行。这能够通过空间的分离(例如安全和非安全应用的分离存储器)或者时间的分离(例如安全数据作为分组通过总线发送并且此后非安全数据通过同一总线发送)。
为了阻止安全关键***不必要的失误,管理器13优选地配置成为健康检查模块的诊断应用12提供对多处理器布置14的优先化访问。在安全关键***例如不能诊断它在预设时间段中正监测的组件/资源的情况下,安全关键***将失误。但是,通过使健康检查模块利用对安全关键***的资源的优先化访问的可能性,健康检查模块将能够忽略运行的其他应用,以及安全关键***的不必要失误的可能性降低。有利地,健康检查模块仅在需要时才利用其优先化访问,以使***不失误。
当例如软差错已经发生时,例如如果电子碰击总线并且消息被破坏,并且***检测到它向健康检查模块报告的这个差错,则健康检查模块不会立即失误转到安全状态,而是通过运行小总线检查进行进一步差错调查,其在本例中通常应答“没有找到总线的差错”。因此,健康检查模块假定软差错而不是永久差错,并且请求安全核心再发送同一消息。这通过核心进行,并且同一差错没有发生,因此***能够继续进行安全功能,而没有使***失误进入安全状态。
检查安全关键***(通常是机器人)的方法包括下列步骤:通过安全关键***的诊断应用12向/从对称多处理器14的四个核心6-9所共享的存储器11进行写入/读取;以及通过管理器13来组织利用安全关键***的所有应用/资源对于对称多处理器14的四个核心的访问,并且管理器13配置用于只从四个核心所共享的存储器11进行读取。诊断应用12配置成检查安全关键***的一个或多个资源(例如RAM、闪存、总线、核心等)的状态。
诊断应用12是在运行时作为后台任务来检查硬件的软件,其因而将不会降低***性能。
进一步捆绑在所谓的健康检查模块(HCM)中的诊断软件将作为安全关键***中的自身应用运行,使得它能够作为MPU上的任何其他应用来访问所有资源,如图2所示。此外,HCM有权访问共享存储器11,以通知其他应用关于***健康状态。这个共享存储器对于HCM处于读/写模式,而对于所有其他应用仅处于读模式,使得它们不能改变数据。首先管理器需要对此的读访问,但是安全应用也可为其目的而对它进行访问。
健康检查模块12优选地配置成在存储器11中更新存储器11中为它通过诊断应用正监测的各资源更新健康状态指示符。
健康状态指示符(HIS)对于被监测的各资源优选地包括:被运行的诊断测试的状态、运行时的时间戳以及自上一次检查以来的时间。健康状态指示符还可包括使用、估计平均故障时间(MTTF)、关键性等,其在下表1中示出。
对于安全关键***的各资源、即RAM、闪存、总线、核心等,HCM将创建指示各组件/资源的安全完整性的HSI值。HSI值包括被运行的诊断测试的状态、运行时的时间戳以及作为组件的使用的其他因素(影响平均故障时间以及软或瞬时差错的可能性)。确定HSI值的一种方式例如可能来自量化每个值(例如关键性高为1、中等为2,依此类推,以及对于其他,诊断状态<33% = 1、> 33%和< 66% = 2、>66% =3)的表。所有值则能够共同倍增,并且高值是良好健康,而小值是不良健康。
表1——健康检查模块的共享表,保持通过诊断应用所监测的各组件/资源的健康状态
管理器将使用HSI值来组织安全关键组件的共享访问。它将始终使用具有最佳HSI值(XY)的组件来提供最大安全性。如果组件/资源具有低HSI值,则安全关键功能性的使用可被禁用,并且仅由非安全应用来使用。如何确定用于禁用安全关键利用的组件的触发等级的示例可使用以上所述计算,将其转换为百分比(值的数量为已知,并且它们在1与3之间),然后组件在33%下被禁用,组件在33与66%之间重新检查,以及在高于66%时保留没有动作。这将通过降低失误转到安全状态动作来增加可用性。健康检查模块还可包括表决方案,使得它能够开始或停止分区/核心,以便例如在高安全性(例如1oo2)或者高可用性(例如2oo3)之间切换。
通过安全关键***由健康检查模块来诊断,安全应用在较大程度上运行于可靠HW,其中使用最安全、即最佳HIS组件。这将改进安全关键***的安全性和可用性。提供容错,因为安全应用能够切换到健康核心,即使一个或多个核心出故障并且必须被健康检查模块禁用。
在具有四个核心的多处理布置中的健康检查模块的典型表决方案为1oo2。健康检查模块则依靠运行于两个不同核心的诊断的结果,只要它们合理地提供相同结果。健康检查模块优选地是动态可重新配置的,以用于将表决方案改变成1oo3或2oo4(其在多处理布置动态重新配置成具有例如16个核心时可能是期望的),或者在运行时期间对安全关键***在高安全性与高可用性之间改变。
健康检查模块将HIS表保持为采用最近***状态—健康状态来更新。因此例如平均故障时间估计能够进行,并且***能够在失误之前以验证测试间隔来更换。
现在将作为举例、参照图3更详细地描述按照本发明的多核处理器布置的第二实施例(其运行诊断功能以及其他功能)。本发明的这个第二实施例与上述第一实施例相同,除了以下所述之外。
在本发明的这个第二实施例中,第一应用31是包括OS的安全应用,以及第二应用32也是包括OS的安全应用。第三应用33至第六应用36是包括OS的其他应用。第七应用37以及第八应用38均是具有包括OS的诊断的健康检查模块。对称多处理器30具有第一核心39至第八核心46,其全部是共享同一内置存储器48的相同核心。
安全关键***在使用期间包括至少两个诊断应用37、38,以获得也属于软件的诊断冗余度。因此,第一和第二诊断应用37、38均配置成向/从共享存储器48进行写入/读取,其中所有其他应用配置成只从共享存储器48进行读取,特别是管理器47。向所有核心所共享的存储器48进行写入在图3中通过箭头示出。
如果第一HCM被破坏,则HCM因而在第二分区中作为备份来运行。此外,并行性甚至可用来加速诊断检查。
以上在本发明的第一和第二实施例中所述的应用的执行通常由计算机程序产品上可存储的计算机程序来执行。
以上主要参照几个示例描述了本发明。但是,如本领域的技术人员易于理解,除了以上所公开之外的其他实施例在如所附权利要求书所限定的本发明的范围之内同样是可能的。
Claims (11)
1.一种用于安全关键***的对称多核处理器布置,包括:
- 对称多处理器(14;30),具有至少两个核心(6-9;39-46)和所述至少两个核心所共享的存储器(11;48);以及
- 管理器(13;47),连接到所述对称多处理器,并且配置成组织检查所述安全关键***的至少诊断应用(12;37,38)对所述至少两个核心的访问;
其中,在使用期间,所述诊断应用配置成从所述存储器读取和向所述存储器写入,并且所述管理器配置成只从所述存储器读取。
2.如权利要求1所述的对称多处理器布置,其中,所述管理器配置成为所述诊断应用提供对所述多处理器的优先化访问。
3.如权利要求1至2中的任一项所述的对称多处理器布置,其中,所述安全关键***在使用期间包括至少两个诊断应用(37,38),以获得诊断冗余度。
4.一种安全关键***、例如机器人,包括如权利要求1至3中的任一项所述的对称多处理器布置。
5.一种用于安全关键***、例如机器人的诊断检查的方法,包括下列步骤:
- 通过所述安全关键***的诊断应用(12;37,38)向存储器(11;48)写入和从存储器(11;48)读取,所述存储器(11;48)由对称多处理器(14;30)的至少两个核心(6-9;39-46)所共享;以及
- 通过管理器(13;47)来组织对所述安全关键***的所述对称多处理器的所述至少两个核心的访问,并且所述管理器配置用于只从所述至少两个核心所共享的所述存储器读取;
其中所述诊断应用配置成检查所述安全关键***的一个或多个资源的状态。
6.如权利要求5所述的方法,包括下列步骤:
- 在所述存储器中为所述诊断应用通过所述诊断应用正监测的各资源更新健康状态指示符。
7.如权利要求6所述的方法,其中,所述健康状态指示符对于被监测的各资源包括:被运行的诊断测试的状态、运行时的时间戳以及自上一次检查以来的时间。
8.如权利要求5至7中的任一项所述的方法,其中,所述诊断应用具有对所述多处理器的优先化访问,当被监测资源由所述安全关键***的另一个应用连续使用时所利用。
9.如权利要求5至8中的任一项所述的方法,包括下列步骤:
- 动态地重新配置所述诊断应用的表决方案。
10.如权利要求5至9中的任一项所述的方法,包括下列步骤:
- 通过所述安全关键***的第二诊断应用(37,38)向所述存储器写入和从所述存储器读取。
11.一种计算机程序产品,包括用于执行如权利要求5至10中的任一项所述的方法的计算机程序。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/EP2012/069355 WO2014053159A1 (en) | 2012-10-01 | 2012-10-01 | Symmetric multi-processor arrangement, safety critical system, and method therefor |
Publications (1)
Publication Number | Publication Date |
---|---|
CN104798046A true CN104798046A (zh) | 2015-07-22 |
Family
ID=47008587
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201280076192.3A Pending CN104798046A (zh) | 2012-10-01 | 2012-10-01 | 对称多处理器布置、安全关键***及其方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20150254123A1 (zh) |
EP (1) | EP2904492A1 (zh) |
CN (1) | CN104798046A (zh) |
WO (1) | WO2014053159A1 (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108136578A (zh) * | 2015-09-21 | 2018-06-08 | 株式会社虹之机器 | 具有分层架构的实时设备控制***及利用其的实时机器人控制*** |
CN109074701A (zh) * | 2016-03-18 | 2018-12-21 | 捷德货币技术有限责任公司 | 用于评估有价文件的传感器数据的装置和方法 |
CN115509342A (zh) * | 2022-10-31 | 2022-12-23 | 南京芯驰半导体科技有限公司 | 一种多核集群之间的切换方法及*** |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6330643B2 (ja) * | 2014-12-15 | 2018-05-30 | 株式会社デンソー | 電子制御装置 |
US10025287B2 (en) * | 2015-03-30 | 2018-07-17 | Rockwell Automation Germany Gmbh & Co. Kg | Method for assignment of verification numbers |
US9996440B2 (en) * | 2016-06-20 | 2018-06-12 | Vmware, Inc. | Fault tolerance using shared memory architecture |
US11237877B2 (en) * | 2017-12-27 | 2022-02-01 | Intel Corporation | Robot swarm propagation using virtual partitions |
CN110837233B (zh) * | 2018-08-16 | 2024-03-05 | 舍弗勒技术股份两合公司 | 一种提高功能安全性的安全控制*** |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1801106A (zh) * | 2005-01-04 | 2006-07-12 | 国际商业机器公司 | 用于计算机***中的多个分区的错误监视的方法 |
CN101334825A (zh) * | 2007-06-29 | 2008-12-31 | 联想(北京)有限公司 | 应用程序管理和运行***及方法 |
WO2010106403A1 (en) * | 2009-03-17 | 2010-09-23 | Toyota Jidosha Kabushiki Kaisha | Failure diagnostic system, electronic control unit for vehicle, failure diagnostic method |
US20120110396A1 (en) * | 2010-10-27 | 2012-05-03 | Arm Limited | Error handling mechanism for a tag memory within coherency control circuitry |
CN102597972A (zh) * | 2010-05-24 | 2012-07-18 | 松下电器产业株式会社 | 虚拟计算机***、区域管理方法及程序 |
CN102591736A (zh) * | 2010-12-09 | 2012-07-18 | 西门子公司 | 用于在实时操作***的实施中识别错误的方法 |
-
2012
- 2012-10-01 WO PCT/EP2012/069355 patent/WO2014053159A1/en active Application Filing
- 2012-10-01 CN CN201280076192.3A patent/CN104798046A/zh active Pending
- 2012-10-01 US US14/432,938 patent/US20150254123A1/en not_active Abandoned
- 2012-10-01 EP EP12770102.7A patent/EP2904492A1/en not_active Withdrawn
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1801106A (zh) * | 2005-01-04 | 2006-07-12 | 国际商业机器公司 | 用于计算机***中的多个分区的错误监视的方法 |
CN101334825A (zh) * | 2007-06-29 | 2008-12-31 | 联想(北京)有限公司 | 应用程序管理和运行***及方法 |
WO2010106403A1 (en) * | 2009-03-17 | 2010-09-23 | Toyota Jidosha Kabushiki Kaisha | Failure diagnostic system, electronic control unit for vehicle, failure diagnostic method |
CN102597972A (zh) * | 2010-05-24 | 2012-07-18 | 松下电器产业株式会社 | 虚拟计算机***、区域管理方法及程序 |
US20120110396A1 (en) * | 2010-10-27 | 2012-05-03 | Arm Limited | Error handling mechanism for a tag memory within coherency control circuitry |
CN102591736A (zh) * | 2010-12-09 | 2012-07-18 | 西门子公司 | 用于在实时操作***的实施中识别错误的方法 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108136578A (zh) * | 2015-09-21 | 2018-06-08 | 株式会社虹之机器 | 具有分层架构的实时设备控制***及利用其的实时机器人控制*** |
CN108136578B (zh) * | 2015-09-21 | 2021-08-20 | 株式会社虹之机器 | 具有分层架构的实时设备控制***及利用其的实时机器人控制*** |
CN109074701A (zh) * | 2016-03-18 | 2018-12-21 | 捷德货币技术有限责任公司 | 用于评估有价文件的传感器数据的装置和方法 |
CN109074701B (zh) * | 2016-03-18 | 2022-04-19 | 捷德货币技术有限责任公司 | 用于评估有价文件的传感器数据的装置和方法 |
CN115509342A (zh) * | 2022-10-31 | 2022-12-23 | 南京芯驰半导体科技有限公司 | 一种多核集群之间的切换方法及*** |
CN115509342B (zh) * | 2022-10-31 | 2023-03-10 | 南京芯驰半导体科技有限公司 | 一种多核集群之间的切换方法及*** |
Also Published As
Publication number | Publication date |
---|---|
WO2014053159A1 (en) | 2014-04-10 |
US20150254123A1 (en) | 2015-09-10 |
EP2904492A1 (en) | 2015-08-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104798046A (zh) | 对称多处理器布置、安全关键***及其方法 | |
EP2813949B1 (en) | Multicore processor fault detection for safety critical software applications | |
US8621463B2 (en) | Distributed computing architecture with dynamically reconfigurable hypervisor nodes | |
US8949671B2 (en) | Fault detection, diagnosis, and prevention for complex computing systems | |
CN102402395A (zh) | 基于仲裁磁盘的高可用***不间断运行方法 | |
US8176365B2 (en) | Computer apparatus and processor diagnostic method | |
US20100205607A1 (en) | Method and system for scheduling tasks in a multi processor computing system | |
WO2008078334A2 (en) | Computer system and method of control thereof | |
US20070168695A1 (en) | Method and apparatus for re-utilizing partially failed resources as network resources | |
DE112011106079T5 (de) | Frühe Weiterleitung von Gewebefehlern | |
Jutman et al. | Effective scalable IEEE 1687 instrumentation network for fault management | |
US20120072765A1 (en) | Job migration in response to loss or degradation of a semi-redundant component | |
Alcaide et al. | Software-only diverse redundancy on GPUs for autonomous driving platforms | |
Fair et al. | Reliability, Availability, and Serviceability (RAS) of the IBM eServer z990 | |
US11951999B2 (en) | Control unit for vehicle and error management method thereof | |
JP2010186242A (ja) | 計算機システム | |
Choi et al. | Interference-aware co-scheduling method based on classification of application characteristics from hardware performance counter using data mining | |
Shibin et al. | On-line fault classification and handling in IEEE1687 based fault management system for complex SoCs | |
US8024544B2 (en) | Free resource error/event log for autonomic data processing system | |
Dörr et al. | Leveraging the partial reconfiguration capability of FPGAs for processor-based fail-operational systems | |
Shibin et al. | On-chip sensors data collection and analysis for soc health management | |
DE102011007467A1 (de) | Mehrkernige integrierte Mikroprozessorschaltung mit Prüfeinrichtung, Prüfverfahren und Verwendung | |
JP4867896B2 (ja) | 情報処理システム | |
JP2012133458A (ja) | マイコン、リソース割り当て方法 | |
JP4576433B2 (ja) | 情報処理装置、演算処理装置、情報処理装置の制御方法及びプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
EXSB | Decision made by sipo to initiate substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20150722 |