论文部分内容阅读
高性能计算机正广泛应用于国家安全与经济社会各个领域,例如核物理研究、天气预报、石油勘探,生物制药,动画制作等与社会和个人紧密相关的产业与方向,极大推动了科技水平和经济实力的发展。随着高性能计算机系统的发展,高性能计算的规模不断扩大,计算能力不断增强,包含的处理器个数不断增加。而随着高性能计算机系统规模的不断扩大,高性能计算面临着可靠性问题的挑战,未来E级计算机系统的平均无故障时间大约只有一个小时,因此需要更高效的容错技术的支持。新型的NVRAM的非易失和高速访问的特性为容错技术的发展提供了新的机遇。NVRAM可以代替DRAM作为计算系统的主存,从而使应用运行在非易失的内存空间中,不需要再将数据备份至磁盘,降低了容错技术的开销和难度。NVRAM还可以代替磁盘或者成为内存与磁盘中间层的存储介质,其字节随机访问的特性以及媲美DRAM的高速读取可以大大提高容错技术的效率,体系结构变化也会促进发展出新型的容错技术。NVRAM的出现和应用将为容错技术的发展提供新的方向,促进新型容错技术的产生和发展。目前基于新型NVRAM的容错技术也在不断提出,但由于底层硬件特性发生了变化,现有的操作系统和运行时等上层结构并不适应NVRAM的特性,无法匹配新的体系结构的变化。容错的过程需要大量修改操作系统和运行时来适应新的存储结构,实现复杂并且难度较大。所以要实现简单高效的容错技术需要用户应用程序层面的语言模型支持,通过语言容错特性的天然支持来简化应用层与物理层之间的系统层的复杂性。综上所述,现有的高性能计算机系统面临着可靠性的挑战,传统的容错技术已经无法满足高性能计算的高速发展需求。在新型存储元器件NVRAM的兴起和应用的支持下,容错技术将有望出现新的发展,降低容错技术的开销,提高容错技术的效率。而现有的基于NVRAM的容错技术需要对系统进行大量修改,复杂性较高,实用性差,因此需要上层的语言模型支持来简化系统层,实现简单高效的容错系统。如何通过语言模型的支持实现简单高效的容错系统是本文的研究重点。本文主要从支持容错的语言模型研究,支持容错的数据管理和支持容错的运行时系统三方面展开研究。1.容错语言模型的研究由于现有的基于NVRAM的容错技术,由于缺乏上层语言模型的支撑,其实现引入的开销过大,难以很好地应用。传统的命令式语言模型由于其执行过程不确定,多次调用存在副作用等特性,并不适应容错的需求。本文研究适合容错的语言模型,根据对现有语言的分析,结合容错的实际需求,找出不支持容错特性的语义并对其进行调整,提出支持容错的语言模型。根据容错的语言模型设计具有容错功能的简单高效的语言系统,并分析与容错语言模型接近的,具有容错优势的函数式语言系统,以设计基于函数式语言的容错语言系统。2.可容错的运行时系统的设计与实现语言模型不能缺少下层运行时系统的支撑。为实现对容错语言模型的支持,本文研究并分析函数式语言的运行时系统,深入理解程序运行细节,并结合容错需求对其进行设计和调整,以实现对上层容错语言模型的支持。通过运行时系统对函数式语言进行容错支持,实现函数式语言可以动态保存状态和掉电恢复执行的效果。3.可容错的数据管理机制的设计与实现语言模型在内存数据中的直接反映就是数据的内存分配和管理,数据管理的实现直接影响容错的方式和效果。本文研究并分析函数式语言的数据管理机制,通过分析其对容错技术实现的影响,根据容错模型的要求对其进行调整,设计出可支持容错特性的数据管理机制并实现具体的对内存数据的结构化管理和数据一致性的维护。