论文部分内容阅读
近年来,在高性能计算(HPC)领域,气象预测、地震监测、基因数据处理等并行应用对计算能力的需求越来越高。如何对HPC并行应用进行快速部署和便捷性维护成为一个急需解决的问题。 本文探讨了HPC并行应用部署中面临的各种挑战,基于Docker container技术,设计并实现了一个面向MPI并行应用的自动化部署系统whay。本文的主要工作和创新点如下: 1.资源管理方面,设计了resource和allocator模块:将分散在不同节点上的物理资源聚合起来,屏蔽了底层的资源分布细节;同时将普通用户请求的资源总量,根据对应的分配算法,进行拆分,分散到底层不同的节点之上。这使得从大量节点遴选合适节点集的工作完全自动化。 2.在资源调度方面,本文根据节点负载和并行应用特点,设计了scheduler模块。一方面,通过负载均衡策略,使得每个container绑定到固定的CPU上运行,从而避免了不同并行应用相互干扰。另一方面,针对不同的应用特点,我们优化了相应的资源调度算法,从而提高并行应用的执行效率。 3.多节点镜像传输方面,本文设计了流水镜像传输策略。相对于采用固定节点作为镜像服务器,流水传输集合中的每个节点既是客户端又是服务器,从而有效利用系统带宽。该机制使镜像的传输时间理论上缩短为单一镜像服务器传输时间的S+U/N*S(S是镜像文件大小,U是传输块大小,N是镜像目的节点个数),实际情况下16个节点的部署时间缩短为单一镜像服务器的46.7%,大大提高了HPC应用的署速度。 4.部署工作的易维护性方面,设计了任务管理模块manager。每一个并行应用的部署,都对应一个whay系统中的任务。该机制使得后续对应用的查看、升级、删除等操作无需对每个部署节点进行手动操作,而是对任务进行自动处理。 whay部署系统将机群资源虚拟化,将计算资源的搜集、分配、调度和应用的管理自动化,同时使得大规模镜像传输的效率获得了极大提升。利用whay系统,使得用户能够在5分钟之内将并行应用部署到1000个节点之上。