摘要

UCX是一个经过生产验证的优化通信框架,适用于当前的高带宽和低延迟高速网络。UCX作为“嵩山”国产高性能计算平台的通信中间件,提高了并行编程模型在InfiniBand(IB)高速互联网络上的开发效率,同时其性能也会直接影响上层应用的通信能力。基于“嵩山”超级计算平台,对平台上的UCX框架进行分析与性能测试,在此过程中归纳IB适配器通信存在的局限性以及UCX在通信传输选择中的不合理性。针对这些问题,根据“嵩山”超级计算平台的网络架构特点,在参数层面进行调优,使得UCX适配“嵩山”平台的Socket Direct架构;在代码层面修改UCX对传输的选择逻辑,使得UCX在选出共享内存传输后不再选择网卡进行传输,从而解决节点内的进程间通信抢占HCA卡资源的问题。同时,修正UCX中KNEM共享内存的带宽设置,使UCX在共享内存CMA和KNEM传输的选择上更加合理。实验结果表明,使用优化后的UCX在100个节点间进行allgather集合通信测试时,相对优化前延迟至多降低80%,节点内alltoall集合通信延迟至多降低70%,gather集合通信延迟至多降低45%。改进后的UCX通信库为“嵩山”超级计算平台上的并行编程模型和应用提供了更好的互联网络支撑,明显提升了平台的集合通信性能。

全文