论文部分内容阅读
星载计算机之于卫星就像人类大脑之于人体,是卫星非常重要的组成部分,它控制着卫星的运转和星上任务的执行等。因此,星载计算机一旦出现故障就可能导致任务失败,从而造成十分严重的后果,甚至是灾难。然而,由于空间环境的情况恶劣以及当前软硬件条件的限制,星载计算机的安全需要得到有效的保障。另一方面,由于卫星的应用领域越来越广,要求星载计算机硬件具有高性能、低功耗、体积小、重量轻等特点。近些年来高速发展的GPU软硬件技术可以解决这一需求问题,GPU强大的计算能力不仅可以完成大规模密集型任务的计算,而且其功耗和成本相较于其他的宇航级芯片也大大降低。但是,由于芯片集成度的提升和工作电压的降低等因素会导致GPU更容易发生瞬时故障。所以,将GPU应用于航空航天这类对可靠性要求极高的领域时,需要采用合适的容错技术对其进行容错设计,以提高它的可靠性从而降低故障率。本文深入研究和对比了各种容错方法的适用情形和优缺点,着重研究了软硬件容错技术。为了兼顾系统高可靠性和低设计复杂度两个方面,采用四余度进行容错设计。本文选取以Linux为操作系统的NVIDIA Jetson TX2作为星载GPU,基于GPU的硬件特点和软件技术,从CUDA和冗余进程两个方面进行四余度容错设计。基于CUDA的四余度容错设计方案的核心思想是冗余计算,结合一定的软硬件容错设计思想,充分利用硬件中冗余的计算资源,在kernel级、block级或者算法设计等层面上进行四余度容错设计。基于冗余进程的四余度容错方案有故障检测和故障恢复两个部分,改进Shye等提出的PLR方法可以实现故障检测,通过检查点设置与卷回恢复技术可以实现故障恢复。通过NVIDIA公司推出的CUDA并行计算平台对部分容错方案进行实验测试和数据分析可以得知,GPU相较于CPU能通过并行计算大大降低计算部分消耗的时间,该部分的加速效果十分显著。GPU容错程序的性能主要受到计算量的大小、CPU-GPU之间的数据传输耗时、比较检错耗时等因素的影响。通过可靠性分析可以得知,本文设计的基于CUDA的四余度容错方案能大幅度提高系统的可靠性,满足星载GPU对可靠性的要求。