大规模、多核异构系统 软件编程是关键
金院士在报告中指出,当高性能计算机的系统规模扩展超过数万个处理器、数十万个处理器核时,延时将变成一个非常重要的问题,需要采用低度互连。同时,未来千万亿次计算机系统的复杂性也将远远超过现有规模,因而迫切需要重新设计编程模型,以适应系统的大规模扩展和求解问题的大规模扩展,并确保其高效性和高并行度。
对于超大规模系统和多核异构系统的可扩展性问题,英特尔公司高性能计算软件经理Sanjay Goil博士认为,关键的一点是“要让今天编写的高性能计算软件代码也可以在未来的多核或众核平台上进一步使用,要让软件迁移和扩展变得更加容易。”
英特尔中国公司亚太客户响应团队技术经理何万青博士告诉记者,目前英特尔的高性能计算开发工具可用于分析和优化已有MPI编程模式的性能。同时英特尔也发布了自己的MPI2.0,接口不变,编程模式不变,但更加适合多核环境,在进程与内核之间可以实现更好的绑定。另外英特尔针对Open MPI也在与业界伙伴进行合作。
我们看到,多核/众核异构系统越来越受到超大规模计算机的青睐,如IBM的RoadRunner把POWER PC、CELL和AMD的皓龙混合在了一起;在芯片层面,包括英特尔、AMD和nVIDIA等都在研制异构多核/众核芯片。
Sanjay Goil表示,英特尔一定会做异构的多核芯片,但与对手“异构的内核,异构的编程环境”不同,英特尔会坚持走“异构的内核,相同的编程环境”这样一条道路,也就是说,不管是哪种内核,所使用的编程模式都应该是一样的。虽然现在业界已经出现了一些异构系统,但这些异构系统除了在Linpack测试时有较出色的表现,在实际应用中并不好测试,因此需要强大的软件工具的支持,降低异构环境下的软件编程难度。