论文部分内容阅读
体系结构的发展使得大规模集群已经发展到多核的时代,多核架构对并行计算提出了新的要求。通信在并行计算中扮演着重要的作用,提升多核架构下通信的效率对提升并行计算的效率有着重要的作用。KD60平台是采用首款国产多核芯片---龙芯3号搭建的国产万亿次多核集群。在并行计算中,常用的并行编程模型有消息传递模型和共享内存模型,MPI是最常用的消息传递编程接口,MPICH2通信库是符合MPI-2标准的一种重要实现。本文的主要工作就是为国产高性能集群平台KD60移植与优化MPICH2通信库,在结合kd60系统体系结构以及网络拓扑特点的基础上,分别提出数种优化方法分别对点到点通信以及群集通信的性能进行了优化。本文的主要工作可概括如下:1.分析了多核体系架构的特点以及其存储层次模型,并指出多核架构下的通信存在的特点,并简要介绍通信所需的分析模型。2.分析MPI标准的实现MPICH2库的结构及其各模块实现,同时指出在多核架构中,其实现中存在的不足之处。3.对于MPI中的点到点通信,分别优化节点间网络通信性能和节点内共享内存通信性能:对于节点间网络通信性能,采取了TCP网络参数调整以及网卡校验和的卸载等技术进行优化;对于节点内共享内存的点到点通信优化,采用了编译领域常用的数据切片技术优化通信中数据的局部性访问,同时结合KD60平台的CPU---龙芯3号体系特点,利用龙芯3号128位访存指令优化内存拷贝的效率,另外还针对节点内点到点通信的实现,采用单拷贝技术替代原有的双拷贝,降低内存拷贝次数,提升节点内点到点通信的性能。4.对于MPI中的群集通信,根据第1条中提到的多核体系架构下的通信特征,优化原群集通信函数的通信路径,并根据群集函数通信模式的不同,对于一到多模式和多到多模式的群集通信函数,以广播和全局交换为例,详述其优化算法。实验结果表明,本文中采用的优化方法都从不同程度上提升了MPICH2通信库的性能。