2.7 未来方向
在编写本书时,GASNet中两个主要的API块实现尚未发布在官方规范。然而,伯克利UPC运行时已经使用了上述API,而且将其写入规范中只是时间问题。
第一个API块主要是指非连续数据上的RMA操作接口,也称作“Vector,Indexed,Strided”或简称“VIS”。GASNet VIS接口描述作为文档[47]的一部分为UPC提供了类似接口,可在GASNet中的gasnet_vis.h头文件中查阅其函数原型。
第二个API块是GASNet Collectives,更详细的描述请查看docs/collective notes.txt文件,原型在gasnet_coll.h头文件中。
最后对核心与扩展API的使用进行了总结,并提出了一些有关未来发展的展望。
(1)针对本地完成带有“sync”的非阻塞AM操作。它能够消除Medium 负载的过度拷贝或重新拷贝需求,这些通常在客户端的临时缓冲器中生成,且相对LongAsync而言,发送至远程段的负载具有更高的可用性。
(2)“Immediate”非阻塞RMA操作。该操作在网络未就绪时接受附加任务将会返回失败信息。这将允许客户端能够在进行RMA操作前执行一些其他有用的工作,而不是像当前做法一样等到网络就绪后执行。
(3)具有以独立事件对非阻塞批量Put 操作进行本地完成同步的能力。目前尚不能确定非阻塞批量Put操作的本地完成是否独立于其远程完成。添加这样的机制将使临时缓冲区和存储器具有更好的可控性。