350 likes | 544 Views
曙光 6000 上基于硬件 的集合通信实现与优化. 黄 扬 导师:马捷 SYSSW Group, NCIC, ICT. 大纲. 研究背景、目标、内容与意义 国内外研究现状分析 研究拟解决的关键技术 研究方法、技术路线与可行性分析 预期研究成果与创新之处 已有工作基础 研究计划与预期进展 参考文献. 研究背景 1. 机群成为高性能计算机的主流体系结构 82.8% 机群, 16.80 % MPP , 0.40% 星群 ( 2010.11 Top500 ) 消息传递模型 系统规模迅速增长 计算单元数目达到几万到十几万
E N D
曙光6000上基于硬件的集合通信实现与优化 黄 扬 导师:马捷 SYSSW Group, NCIC, ICT
大纲 • 研究背景、目标、内容与意义 • 国内外研究现状分析 • 研究拟解决的关键技术 • 研究方法、技术路线与可行性分析 • 预期研究成果与创新之处 • 已有工作基础 • 研究计划与预期进展 • 参考文献
研究背景1 • 机群成为高性能计算机的主流体系结构 • 82.8% 机群,16.80 % MPP,0.40% 星群 (2010.11 Top500) • 消息传递模型 • 系统规模迅速增长 • 计算单元数目达到几万到十几万 • 计算/通信比 提高通信性能 • 计算时间/通信时间 • 计算/通信比是问题规模n和并行度p的高增长函数 • 集合通信是影响通信性能的关键 • 集合通信开销占通信时间的80%
硬件平台 D6000通信网络分为四种模式: 共享内存,Hpp控制器,Infiniband和集合通信专用网络
平台的特点 • 通信层次多 • 同一CPU • 节点内 • 同一交换机 • 跨交换机 • 不同层次性能不同 • 数量级的差距 • 硬件不能自己感知结构 • 硬件每次使用前需要配置 • 参数是分布的 • 配置是集中式的
研究目标与内容 • 研究目标 • 在曙光6000上实现基于硬件的集合通信 • 优化曙光6000上的集合通信性能 • 提供非阻塞的集合操作语义 • 研究内容 • 扩展基于硬件的集合操作类型 • 结构感知的集合通信算法 • 集合操作硬件资源的管理和优化配置 • 非阻塞的集合操作
研究意义 • 非阻塞的集合操作能提高计算与通信的重叠度 • 提出多层次体系结构下的结构感知集合通信算法 • 通过提高集合通信的性能和提供非阻塞的集合操作语义,来提高曙光6000上科学计算的性能
大纲 • 研究背景、目标、内容与意义 • 国内外研究现状分析 • 研究拟解决的关键技术 • 研究方法、技术路线与可行性分析 • 预期研究成果与创新之处 • 已有工作基础 • 研究计划与预期进展 • 参考文献
基于点到点通信的集合通信实现 • MPICH2 • 没有针对特定的硬件平台 • MVAPICH • 利用各种Infiniband特性: Unreliable Datagrams, SRQ,XRC,ConnectX的 “task-list” Offload Engine • 按需连接和用于消息合并的缓存策略 • 多核感知、拓扑感知 • 能受益于点到点通信性能的提高 • 采用二叉树和最小生成树算法等低于线性复杂度的算法可以提供更好的并发性和更好地利用网络的对分带宽
针对特定网络的集合通信 • IBM BlueGene/L • 3D环绕网 • deposit bit特性 硬件多播 • 允许环网数据包将一个拷贝保留在通往目的地的每一个节点上
硬件卸载的集合通信 • IBM BlueGene/L • 全局中断(global interrupt)网络 • 集合网(广播和归约) • 只能工作在MPI_COMM_WORLD上 • MVAPICH • ConnectX的 “task-list” Offload Engine • 由WQE组成的task-list • 本质上是点到点通信的无状态卸载引擎 • 聚集多个发送、等待 批处理
层次结构下的集合通信 • 基于共享内存的集合通信 • SMP感知、多核感知 • 在节点内共享内存(MVAPICH) • 节点间RDMA操作优化(OpenMPI、 MVAPICH) • 基于首进程的集合通信 • 基于首进程的方式达到节点内和节点间通信的并发 • 多首进程的方式提高计算的并发度(Allreduce) • MVAPICH • BCL5
非阻塞的集合通信 • 显式的非阻塞集合通信接口 • 可能在MPI 3.0标准中定义 • 集合通信的初始化接口 • MPI_Ibcast,MPI_Iallreduce,…… • 集合通信的阻塞式完成接口 • MPI_Wait,…… • 集合通信的非阻塞完成测试接口 • MPI_Test,……
小结 • 基于点到点的实现 • 随着系统规模的增大,集合通信的性能下降很快 • 通信软件开销大 通信推动次数多 • 针对网络拓扑的优化 • 本质上为基于点到点 算法优化 • 优化空间小,限制大 • 配置和调试困难 • 硬件卸载的集合通信 • 独立于点到点通信 减少资源争用、增加通信重叠 • 通信软件开销少 • 性能高
大纲 • 研究背景、目标、内容与意义 • 国内外研究现状分析 • 研究拟解决的关键技术 • 研究方法、技术路线与可行性分析 • 预期研究成果与创新之处 • 已有工作基础 • 研究计划与预期进展 • 参考文献
虚实地址转换技术 UDMA NI-MMU NI-TLB UDMA UTLB User Level DMA • 虚拟Proxy 空间和物理Proxy 空间 • 接收通信缓冲区映射到发送进程的设备Proxy 空间并在网络接口上建立相应的地址转换表 • 虚实地址转换在发送方由CPU的MMU完成,在接收方由通信网卡完成 User-Managed TLB • 为每一个进程维护一个独立的虚实地址转换表 • 用户通过注册和注销接口来建立和维护 • 虚实地址转换由网络接口查找对应的地址转换表完成 • 二级地址转换表 Network-Interface TLB • 在网络接口上也实现了一个TLB • 中断主机操作系统,通知其进行地址转换和页面锁定操作 Network-Interface MMU • 直接访问系统页表来完成通信缓冲区的虚实地址转换 • 操作系统核心将网络接口看作一处理器 • 可硬件或软件实现
层次感知技术 • 层次感知 • 同一CPU(操作系统) 共享内存 • 节点内(跨CPU) Hpp控制器 • 同一交换机 • 跨交换机
拓扑感知技术 • 成员分布感知 • 参与集合通信所有进程各自的位置 • 选举首进程(Leader) • 性能要求:不同层次通信机制不同(可并发) • 平台限制:交换机的配置只能由一个进程完成 • 选择一个成员作为首进程 • 成员分布信息汇聚到首进程
资源管理策略 • 静态分配 • 通信子创建时绑定 • 比如:MPI_COMM_WORLD独占第一组硬件资源 • 动态分配 • 轮转法(Round-robin) • 加权轮转法(Weighted Round-robin) • 多个链路并发(大消息分片) • 负载分配策略 • 静态 • 动态(自适应)
大纲 • 研究背景、目标、内容与意义 • 国内外研究现状分析 • 研究拟解决的关键技术 • 研究方法、技术路线 • 预期研究成果与创新之处 • 已有工作基础 • 研究计划与预期进展 • 参考文献
研究方法 • 三步方法论 • 先用micro-benchmark测出平台的各方面特性 • 利用测量出的转折点来构建一个最优化的混合方法 • 使用通用Benchmark评估这个混合方法的性能 • 多层次的目标设定 • 先完成较简单的目标或简单应用情境的优化 • 再完成较难的目标或复杂应用情境的优化 • 先部分再总体 • 先完成与其他部分关联性较少的优化(比如:缓存优化) • 再完成整体性的优化(比如:硬件资源管理)
技术路线1 • 扩展基于硬件的集合操作类型 • 专用集合通信硬件的固有功能 • Barrier • Reduce/Allreduce • 集合通信间的等价性 • 利用Allreduce实现Bcast • 利用Bcast实现Alltoall • 利用硬件的RDMA特性优化点到点通信 • Reduce具有RDMA的特性,可用其实现MPI_Put/Get • 也可以用来加速大消息(Rendezvous通信协议)的点到点通信
技术路线2 • 结构感知的集合通信算法 • 硬件限制:不能动态查询集合网络的拓扑结构 • 一种方案: • 系统配置时将集合网络的拓扑信息存储在各个节点中 • 进程初始化时感知所处的位置(节点号、端口号) • 创建通信子时首先将各个成员进程的位置信息汇聚到各个进程中(Allgather,通过Infiniband) • 根据网络拓扑信息选举各个层次首进程 • 通信时由各个层次首进程配置相关硬件 • 对于Barrier不同层次可以并发,对于Reduce则可以大消息流水处理
技术路线3 • 硬件资源的管理和优化配置 • 静态分配:将硬件资源与通信子绑定(独占) • 比如MPI_COMM_WORLD独占第一组的集合通信资源 • 在通信子创建时绑定资源,能最小化通信关键路径上的开销(因为通信时就不需再分配资源了) • 这种分配的问题在于如果通信子数目多于资源数目则无法完成独占式分配,这时引入动态分配。 • 动态分配 • 轮转法等 • 根据通信子的优先级分配 • 硬件资源的争用 • 利用节点内GAS建立资源分配位图
技术路线4 • 非阻塞的集合通信 • 提供非阻塞集合通信接口 • 集合通信的初始化接口 • NBC_Ibcast,NBC_Iallreduce,…… • 集合通信的阻塞式完成接口 • NBC_Wait,…… • 集合通信的非阻塞完成测试接口 • NBC_Test,……
大纲 • 研究背景、目标、内容与意义 • 国内外研究现状分析 • 研究拟解决的关键技术 • 研究方法、技术路线与可行性分析 • 预期研究成果与创新之处 • 已有工作基础 • 研究计划与预期进展 • 参考文献
预期研究成果与创新之处 • 预期研究成果 • 高性能的集合通信库 • 曙光6000上的非阻塞集合通信接口 • *利用硬件RDMA特性优化MPI_Put/Get和大消息的点到点通信 • 创新之处 • *针对树状结构网络的Alltoall优化算法 • 多首进程的集合通信算法 • 提出多层次体系结构下的结构感知集合通信算法 • 硬件资源优化管理的算法
大纲 • 研究背景、目标、内容与意义 • 国内外研究现状分析 • 研究拟解决的关键技术 • 研究方法、技术路线与可行性分析 • 预期研究成果与创新之处 • 已有工作基础 • 研究计划与预期进展 • 参考文献
已有工作基础 • 参与了BCL6的开发 • 调研了基本的实现技术 • 节点内集合通信的功能已实现
大纲 • 研究背景、目标、内容与意义 • 国内外研究现状分析 • 研究拟解决的关键技术 • 研究方法、技术路线与可行性分析 • 预期研究成果与创新之处 • 已有工作基础 • 研究计划与预期进展 • 参考文献
研究步骤 • 第一步:节点内 • 资源管理基础设施(分配位图、锁机制等) • 扩展硬件功能 • 进程位置感知 • 第二步:节点间 • 成员分布感知 • 分布式的交换机拓扑查询 • 第三步:与MVAPICH整合 • 软件逻辑层到物理拓扑的映射(图同构问题) • 硬件资源配置 • 硬件资源管理(争用与同步) 物理拓扑信息的收集 成员分布感知 网络拓扑感知
研究计划与预期进展 3 4 2 1月 5 6 7 8 9 10 11 12 1 2 3 4 5 BCL开发(3m) 调试及 评测(3m) 熟悉MVAPICH MVAPICH整合(4m) 资源优化 配置(2m) 位置感 知(1m) 评测(3m) 资源配 置 (1m) 资源管 理 (1m) 论文 (3m) 网络拓 扑(2m) 透明非阻 塞(2m)
大纲 • 研究背景、目标、内容与意义 • 国内外研究现状分析 • 研究拟解决的关键技术 • 研究方法、技术路线与可行性分析 • 预期研究成果与创新之处 • 已有工作基础 • 研究计划与预期进展 • 参考文献
http://www.top500.org • Barry Wilkinson, Michael Allen, 《Parallel Programming : Techniques and Applications Using Networked Workstations and Parallel Computers (2nd Edition) 》, Pearson. • L. Chai, P. Lai, H.-W. Jin and D. K. Panda, Designing An Efficient Kernel-level and User-level Hybrid Approach for MPI Intra-node Communication on Multi-core Systems, Int'l Conference on Parallel Processing (ICPP '08), Sept. 2008. • P. Lai, S. Sur and D. K. Panda, Designing Truly One-Sided MPI-2 RMA Intra-node Communication on Multi-core Systems, International Supercomputing Conference (ISC'10), May-June 2010. • J. Jose, M. Luo, S. Sur and D. K. Panda, Unifying UPC and MPI Runtimes: Experience with MVAPICH, Fourth Conference on Partitioned Global Address Space Programming Model (PGAS10), Oct. 2010. • TorstenHoefler, Andrew Lumsdaine, Wolfgang Rehm, Implementation and Performance Analysis of Non-Blocking Collective Operations for MPI, SC '07, Nov. 2007. • George Almási, Philip Heidelberger, Charles J. Archer, Xavier Martorell, C. Chris Erway, José E. Moreira, B. Steinmacher-Burow, YiliZheng, Optimization of MPI Collective Communication on BlueGene Systems, Proceedings of the 19th annual international conference on Supercomputing(ICS '05), June 2005. • D. K. Panda, Design of collectives and one-sided operations in MPI and their impact on application-level performance and scalability, HPC Advisory Council China Workshop 2008. • V. Tipparaju, J. Nieplocha, and D. Panda, Fast collective operations using shared and remote memory access protocols on clusters, Proceedings of International Parallel and Distributed Processing Symposium, 2003(IPDPS '03), p. 10 pp. • R. Kumar, A. Mamidala, and D. Panda, Scaling alltoall collective on multi-core systems, IEEE International Symposium on Parallel and Distributed Processing, ( IPDPS '08), 2008, pp. 1-8. • Y. Qian, M. Rashti, and A. Afsahi, Multi-connection and Multi-core Aware All-Gather on InfiniBand Clusters, Proceedings of the 20th IASTED International Conference on Parallel and Distributed Computing and Systems (PDCS '08), Orlando, Florida, USA, November 16–18, 2008. • A. Mamidala, Lei Chai, Hyun-Wook Jin, and D. Panda, Efficient SMP-aware MPI-level broadcast over InfiniBand's hardware multicast, 20th International Parallel and Distributed Processing Symposium(IPDPS '06), 2006, p. 8 pp. • A. Mamidala, J. Liu, and D. Panda, Efficient Barrier and Allreduce on Infiniband clusters using multicast and adaptive algorithms, IEEE International Conference on Cluster Computing (Cluster '04), 2004, pp. 135-144. • M. Wu, R. Kendall, and S. Aluru, Exploring collective communications on a cluster of SMPs, Proceedings of Seventh International Conference on High Performance Computing and Grid in Asia Pacific Region(HPC Asia '04), 2004. • A. Mamidala, R. Kumar, D. De, and D. Panda, MPI Collectives on Modern Multicore Clusters: Performance Optimizations and Communication Characteristics, 8th IEEE International Symposium on Cluster Computing and the Grid (CCGrid '08), 2008. • R. Graham and G. Shipman, MPI Support for Multi-core Architectures: Optimized Shared Memory Collectives, Recent Advances in Parallel Virtual Machine and Message Passing Interface, 2008. • K. Kandalla, H. Subramoni, G. Santhanaraman, M. Koop, and D.K. Panda, Designing multi-leader-based Allgather algorithms for multi-core clusters, IEEE International Symposium on Parallel & Distributed Processing(IPDPS '09), 2009.
谢谢!欢迎提问 黄 扬 导师:马捷 SYSSW Group, NCIC, ICT