高性能计算面临的挑战

根据Top 500历史数据进行预测,高性能计算机将在2020年左右进入E级时代。美国政府在“Strategy for American Innovation”计划中,将E级计算列为21 世纪美国最主要的技术挑战,美国国防部、能源部、自然科学基金委、国家核安全局等部门以及日本文部省、欧盟、俄罗斯联邦原子能署等均对此进行了大量的投入,中国也在“十三五”期间启动了E 级计算机的研制计划。E级计算系统在能耗、可靠性、应用效率等方面都将面临一系列挑战。


1)功耗挑战


美国、日本、欧盟已经制定了2018—2020年研制E级高性能计算机的目标,系统功耗指标设定为20 MW,即每瓦500亿次浮点计算,而目前能效比最高的系统,即Green 500排名第一的由日本研制的Shoubu 超级计算机,其能效比也仅达到70 亿次/w 的水平[13],距离E级机的能效指标尚有10倍左右的差距。可以说,制约E级机实现的最大技术障碍之一是能耗比。


针对降低高性能计算系统能耗这一关键问题,国际学术界和工业界已有大量努力,涉及计算机系统从应用至芯片各个层次的优化,例如高效能众核处理器、减少数据移动的算法优化、能耗感知的系统调度、低能耗的系统、与机房冷却技术等。从目前的技术水平估计,即使考虑“摩尔定律”因素,在2020年实现20 MW的功耗目标仍存在相当大的困难。


2)可靠性的挑战


随着高性能计算机规模越来越大,软件结构越来越复杂,E级系统中的故障检测与诊断是非常有挑战性的问题。在亿亿次的规模下,系统的平均无故障时间(mean time between failure,MTBF)仅为5 h左右;而在E级系统中,处理器的核数将达到108 的量级,在概率上MTBF将会变得更短,其可靠性问题将会更加严重。越来越短的平均无故障时间导致故障将在海量现场数据的保存或恢复过程发生,传统的周期性保存现场的粗粒度检查点机制将会失效,在算法和应用层次进行细粒度容错设计,将是解决可靠性问题的重要途径。


由于涉及海量信息(包括各种日志、系统运行性能指标)采集和多维度(硬件、软件、误操作等)故障分析,及时定位故障也变得越来越困难。需要提高故障检测与诊断的能力,使得E级计算机系统能够快速发现故障,避免故障在系统中扩散,诊断出造成故障的根源,从而加速系统的恢复,保障系统的可用性。


3)应用效率挑战


为降低系统的能耗,构建E级计算机系统将大量使用GPU 或众核处理器。目前,GPU 或众核处理器都已经拥有数百计算单元,E级计算系统总体并发度将达到数千万量级,异构特性和海量并发度给并行程序的编写、调试、性能调优带来了巨大的挑战,极大地加剧了峰值性能与应用性能之间的鸿沟,E级计算系统可能仅能发挥出1%的峰值性能,应用效率变得极低。


由于极大规模并行所带来的复杂性,编程模型必须能够表示所有异构层次的内在并行性和局部性,以实现可扩展性和可移植性。同时,编程范式要能充分利用分布存储机制,以减少数据移动的开销。面向领域的编程框架和算法工具库有可能成为提高产出率的有效途径。


目前中国在E级计算机研究方面与美国相比还存在较大差距,主要体现在基础技术储备不足,核心关键技术难以满足E级计算的需求。应力争在主流技术路线的若干关键技术和重大应用上取得突破,把握未来5~10年的关键时期,保持中国在高性能计算技术方面的可持续发展,更好地支撑中国科学研究走向世界一流,并进一步提升中国高性能计算机产业的国际竞争力。

你可能感兴趣的:(高性能计算面临的挑战)