位置:51电子网 » 技术资料 » 其它综合

双机容错实时嵌入式系统设计与分析

发布时间:2007/8/30 0:00:00 访问次数:442

摘要:为满足对安全关键领域日益增长的可靠性需求,提出一种基于松耦合多处理器体系结构的双机容错实时嵌入式系统设计方案。该方案无缝整合了计算机硬件级、操作系统级、应用级的容错技术,以达到从整体上提高系统可靠性的目的。


关键词:容错 双机热备份 可靠性 实时嵌入式系统
引 言


实时系统的基本特性是任务响应时间的确定和系统处理任务的高吞吐量。相对于其他计算机系统而言,实时系统对可靠性和防危要求十分严格。特别是所谓的安全关键系统SCS(Safety Critical Systems),这类系统失效,将带来灾难性的后果。在实时嵌入式系统的运行过程中,容错是最重要的可靠性保障手段。


容错实时系统的研究主要集中在两个方面[1]:① 改进实时调度算法,使之确保实时任务在正常运行和遇到错误时,均能在规定时限到来以前获得正确的输出。② 将过去应用于普通计算机系统中的冗余容错策略移植到实时系统中。


在具有硬件容错能力的计算机系统中,其失效65%来自软件[2],仅有8%来自于硬件。因此,软件容错能力成为决定计算机系统可靠性的关键。为了在出现硬件或软件的暂时或永久故障的情况下,保证关键任务仍能在规定的时限范围内完成运算,并输出正确的结果,提出一种双处理器实时嵌入式容错系统体系结构。该系统结构采用多处理器体系结构,实现计算机之间的通信,并无缝整合了计算机硬件、操作系统、应用软件级的软件容错设计,达到从整体上提高系统可靠性的目的。


1 双机容错实时系统的体系结构


本系统采用图1所示的双机容错系统硬件结构模型。该系统在双机比较系统的基础上,结合多处理机的松耦合与紧耦合系统结构,在不同的处理机间通过通道互连实现通信,为在硬件容错中结合软件容错提供可能。



图1 双机容错系统结构模型


A机和B机各有独自的外围控制逻辑和外设,这样不会引起系统资源的竞争,增加整体系统的稳定性。当然,这样是以花费更多的硬件设施为代价的。比较器及不一致检测用专门设计的仲裁检测电路来实现,其根据A机与B机周期向其发送的自检测信号来判断A机系统和B机系统运行的状况。


双机系统的运行状态如下:
① 如果A机与B机均正常运行,则将计算机A作为主系统,计算机B作为备份使用,A机的运行结果作为系统输出,A机运行到检测点,向B机发送日志,B机更新日志列表。
② 如果A机正常而B机故障,亦将A机的运行结果作为系统输出,同时将B机的运行故障状态报告给A机,并向B机进行复位控制操作。
③ 如果A机故障,B机正常,则进行开关切换操作,B机进行系统备份任务重调度,B机运行结果作为系统输出,并向A机进行复位控制操作,在检测点更新A机日志,保持需要备份的任务状态一致。


2 软件设计与实现


图2所示模型结合嵌入式实时系统的体系结构,采用层次结构和模块结构相结合,无缝整合了计算机硬件、操作系统、应用软件级的软件容错设计。在整体上采用分层的结构模型,克服了软、硬件分离和脱节的问题,提高系统的灵活性和可移植性。模型的每一层均可以看作是一个相对独立的系统。在每一层中按照系统功能,划分不同的功能模块。



图2 双机容错系统软件体系结构


该系统采用对称结构,为支持容错处理,每个节点从下到上分为3个主要部分,即MCFT(Multiprocessor Communication for FaultTolerance)、RTOS系统级容错组件、任务级动态冗余组件。


2.1 多机容错通信模块MCFT


在操作系统与硬件之间加入MCFT层,MCFT作为BSP(Board Support Package)的一部分,作为硬件平台的抽象层,为操作系统提供统一的界面,提高系统的可移植性。有容错需求的任务,通过MCFT所提供的功能传递日志,保持主系统和备份系统的关键任务的状态和数据一致。MCFT屏蔽了底层通信的具体实现细节,使系统的实现与连接介质无关。


MPFT管理着一些数据包,并且在各个节点之间发送和接收这些数据包,数据包的结构如下:
typedef struct{
  MP_packet_Classes the_class;
  Ob jects_Id id;
  Ob jects_Id source_tid;
  Priority_Control source_priority;
  unsigned32 return_code;
  unsigned32 length;
  unsigned32 to_convert;
  Watchdog_Interval timeout;
  }MP_packet_Prefix;


2.2 RTOS系统级容错组件


RTOS系统级容错组件,包括系统内核级容错支持组件、系统自诊断组件和主/备用机切换支持组件。


(1) 内核级容错支持组件


为支持操作系统级和应用级通信,在该系统中,每个节点上保存两个对象表,一个本地任务表,一个容错任务表。本地任务表在每个节点上都

摘要:为满足对安全关键领域日益增长的可靠性需求,提出一种基于松耦合多处理器体系结构的双机容错实时嵌入式系统设计方案。该方案无缝整合了计算机硬件级、操作系统级、应用级的容错技术,以达到从整体上提高系统可靠性的目的。


关键词:容错 双机热备份 可靠性 实时嵌入式系统
引 言


实时系统的基本特性是任务响应时间的确定和系统处理任务的高吞吐量。相对于其他计算机系统而言,实时系统对可靠性和防危要求十分严格。特别是所谓的安全关键系统SCS(Safety Critical Systems),这类系统失效,将带来灾难性的后果。在实时嵌入式系统的运行过程中,容错是最重要的可靠性保障手段。


容错实时系统的研究主要集中在两个方面[1]:① 改进实时调度算法,使之确保实时任务在正常运行和遇到错误时,均能在规定时限到来以前获得正确的输出。② 将过去应用于普通计算机系统中的冗余容错策略移植到实时系统中。


在具有硬件容错能力的计算机系统中,其失效65%来自软件[2],仅有8%来自于硬件。因此,软件容错能力成为决定计算机系统可靠性的关键。为了在出现硬件或软件的暂时或永久故障的情况下,保证关键任务仍能在规定的时限范围内完成运算,并输出正确的结果,提出一种双处理器实时嵌入式容错系统体系结构。该系统结构采用多处理器体系结构,实现计算机之间的通信,并无缝整合了计算机硬件、操作系统、应用软件级的软件容错设计,达到从整体上提高系统可靠性的目的。


1 双机容错实时系统的体系结构


本系统采用图1所示的双机容错系统硬件结构模型。该系统在双机比较系统的基础上,结合多处理机的松耦合与紧耦合系统结构,在不同的处理机间通过通道互连实现通信,为在硬件容错中结合软件容错提供可能。



图1 双机容错系统结构模型


A机和B机各有独自的外围控制逻辑和外设,这样不会引起系统资源的竞争,增加整体系统的稳定性。当然,这样是以花费更多的硬件设施为代价的。比较器及不一致检测用专门设计的仲裁检测电路来实现,其根据A机与B机周期向其发送的自检测信号来判断A机系统和B机系统运行的状况。


双机系统的运行状态如下:
① 如果A机与B机均正常运行,则将计算机A作为主系统,计算机B作为备份使用,A机的运行结果作为系统输出,A机运行到检测点,向B机发送日志,B机更新日志列表。
② 如果A机正常而B机故障,亦将A机的运行结果作为系统输出,同时将B机的运行故障状态报告给A机,并向B机进行复位控制操作。
③ 如果A机故障,B机正常,则进行开关切换操作,B机进行系统备份任务重调度,B机运行结果作为系统输出,并向A机进行复位控制操作,在检测点更新A机日志,保持需要备份的任务状态一致。


2 软件设计与实现


图2所示模型结合嵌入式实时系统的体系结构,采用层次结构和模块结构相结合,无缝整合了计算机硬件、操作系统、应用软件级的软件容错设计。在整体上采用分层的结构模型,克服了软、硬件分离和脱节的问题,提高系统的灵活性和可移植性。模型的每一层均可以看作是一个相对独立的系统。在每一层中按照系统功能,划分不同的功能模块。



图2 双机容错系统软件体系结构


该系统采用对称结构,为支持容错处理,每个节点从下到上分为3个主要部分,即MCFT(Multiprocessor Communication for FaultTolerance)、RTOS系统级容错组件、任务级动态冗余组件。


2.1 多机容错通信模块MCFT


在操作系统与硬件之间加入MCFT层,MCFT作为BSP(Board Support Package)的一部分,作为硬件平台的抽象层,为操作系统提供统一的界面,提高系统的可移植性。有容错需求的任务,通过MCFT所提供的功能传递日志,保持主系统和备份系统的关键任务的状态和数据一致。MCFT屏蔽了底层通信的具体实现细节,使系统的实现与连接介质无关。


MPFT管理着一些数据包,并且在各个节点之间发送和接收这些数据包,数据包的结构如下:
typedef struct{
  MP_packet_Classes the_class;
  Ob jects_Id id;
  Ob jects_Id source_tid;
  Priority_Control source_priority;
  unsigned32 return_code;
  unsigned32 length;
  unsigned32 to_convert;
  Watchdog_Interval timeout;
  }MP_packet_Prefix;


2.2 RTOS系统级容错组件


RTOS系统级容错组件,包括系统内核级容错支持组件、系统自诊断组件和主/备用机切换支持组件。


(1) 内核级容错支持组件


为支持操作系统级和应用级通信,在该系统中,每个节点上保存两个对象表,一个本地任务表,一个容错任务表。本地任务表在每个节点上都

相关IC型号

热门点击

 

推荐技术资料

罗盘误差及补偿
    造成罗盘误差的主要因素有传感器误差、其他磁材料干扰等。... [详细]
版权所有:51dzw.COM
深圳服务热线:13751165337  13692101218
粤ICP备09112631号-6(miitbeian.gov.cn)
公网安备44030402000607
深圳市碧威特网络技术有限公司
付款方式


 复制成功!