3.9 未来方向
在本书写作之时,从2010年开始,在对OpenSHMEM的大量需求驱动下,与OpenSHMEM相关的许多开发正在进行中。如3.2节所述,一些厂商已发布了加速硬件和固件来支持网络原语,在超大规模系统和商用系统中极大简化了OpenSHMEM的实现并提高了性能和鲁棒性。这包括对OpenSHMEM集合和原子内存操作的硬件支持、对小消息性能提高的硬件支持、以及对大规模系统互连自适应路由和阻塞管理的硬件支持。OpenSHMEM论坛和邮件列表建议采用来自Quadrics实现的扩展,包括非常有用的非阻塞原语以及其他API的改进。此外,还建议采用扩展的原子操作集,包括位操作(即SHIFT、AND、OR、XOR)、逻辑操作及MIN/MAX操作。这些改进很大可能会在目前正由美国能源部和国防部设计的百亿亿次系统中实现。
3.2节提到的OpenSHMEM软硬件协同设计的副产品是使用OpenSHMEM(或其他PGAS编程模型)在超大规模系统中移动数据的能耗要远少于一般没有解藕数据移动和同步的消息传送方法。因为能耗将是未来系统主要约束之一,这将对未来互连设计生存能力产生重大影响,也会是很多超大规模系统的限制因素。
在未来能使百亿亿次计算成为可能的技术中,内存和网络是目前硬件改进的主要聚焦所在,强调协同设计支持通过OpenSHMEM的活跃消息,扩展了编程模型,使其允许根据移动所需的开销(时间或能耗)将计算移动给数据或数据移动给计算。虽然这方面的研究还在初始阶段,希望很快能有额外的硬件和固件能力使其实现。这种数据移动机器的基础也在OpenSHMEM的未来考虑中——尤其是因为在本书写作之时,只提升硬件本身基本不可能满足能源部百亿亿次计算计划提出的20MW的功耗限制。OpenSHMEM协同设计的深厚历史能继续协助减轻前进道路上的困难。