容错问题是大规模并行程序长时间运行中不可回避的问题,超级计算机中异构计算部件的加入使得该问题更加复杂。考察由CPU和GPU组成的异构并行系统中应用程序的容错,利用Charm 并行编程模型和CUDA的并行计算架构,对大规模计算宇宙学软件WIGEON进行重构。针对异构并行系统中存在的fail-stop硬件故障,设计并实现了内存检查点的应用容错机制。支持计算恢复后对产生变化的CPU/GPU资源配置进行自适应负载调整。通过在高性能计算机Mole8.5上的实验和分析,验证了异构容错方案的高效性和可行性,故障恢复时间仅需1~4 s。此外,使用分布式冗余数据改进了Charm 现有内存检查点存储模式,对比