IT技术互动交流平台

HPC集群平台搭建概念

来源:IT165收集  发布日期:2015-03-24 20:54:35

  在本文之前,我建议先看完这篇文章:Linux高性能计算集群 – Beowulf集群  

一、搭建集群中可能会遇到的问题

1.集群设计/布局的一大难点就是网络,各家有各家的策略,一般围绕Beowulf变型。
2.软件的部署缺乏实操调试,也不能断定这样部署是否成功以及是否优越。
3.操作系统的选型以及安装系统、所需软件(包括集群管理工具、驱动软件、能耗监控软件等)的整个流程的手动/自动化部署。
4.每个提供硬件的对应公司几乎都推出他们自己的集群管理软件,浪潮好像没有,在HPC方面浪潮好像没有相应的开发社区,DELL和IBM这些大公司都有。
5.能耗的衡量,具体的优化方向和策略。

二、HPC概览

①总体构成

Outside Network: 外部网络
Master Node: 主节点
Compute Nodes: 计算节点
Storage: 存储器
Computational Network: 计算网络
Management Network: 管理网络

②大多数 HPCC 系统配有两个网络

基于TCP的管理网络 计算网络,可以是基于 TCP 或其它协议的,通常是 InfiniBand 或 Myrinet 10G 之 类的高速网络

③拓扑图

网上找的普遍认可的:
这里写图片描述
这里写图片描述


这个是自己根据实际情况“臆想”的:
这里写图片描述

④所需软件组件(按安装顺序):

1、对于安装系统:

  集群中的每个节点(HPCC 节点文章链接)、主节点、登录节点和计算节点都需要有操作系统。操作系统可以安装在节点的硬盘驱动器上,甚至可以安装在ramdisk 上,这有时被称为“无盘”或“无状态”节点。一般说来,主节点创建所谓的“映像”,然后将其发送到计算节点上进行安装(硬盘驱动器或 ramdisk 上)。
  系统装在内存会更快,但断电后要采取将系统拷贝到硬盘的方法重新存储起来,比较麻烦。
  
  几种安装工具的特点:
  这里写图片描述

  但是,比较有名有Rocks(比xCat安装简单)、xCat。
  xCAT:
a、支持自己系统独立,可以自己选择基于RHEL的最新版本系统;
b、命令行安装,需要人工编辑配置文件,安装一台之后再利用脚本进行网络安装裸机节点;
c、xCat在安装起来像一个个独立软件,如其他并行计算需穴ky"http://www.it165.net/qq/" target="_blank" class="keylink">qq1xM/gudjI7bz+v8nS1M2ouf14Q2F0w/zB7rCy17CjuzxiciAvPgqhoaGhPHN0cm9uZz5Sb2Nrczo8L3N0cm9uZz48YnIgLz4KYaGiUk9DS1Mgu/nT2iBSZWQgSGF0ILei0NCw5qOs1eK21NPatPO24Mr9yMvKx7rPysq1xKOstavKx7bU09rKudPDIFNVU0Ugu/LV38+jzfvKudPD1NogUkggNi4yILei0NCw5snPtLS9qLXE07PP8bXEyMu+zbK7us/KysHLo6zA78PmtcTI7bz+v8nS1NGh1PHQ1LCy17Cho8HtzeKjrFJPQ0tTILK7yse/y8KhveK+9re9sLijuzxiciAvPgpioaLWrsew0Oi/zMK8Q0SjrEdVSb3nw+ayv8rwo6zWrrrzyMu5pL340NC92rXjw/zD+7rNvdq142lwtcTF5NbDo6ywstewyrHSu8yo0rvMqL340NCjuzxiciAvPgpjoaJSb2Nrc9Tyz/HSu7j2vK+zybXEsPyjrLD8uqy5pL7f0+vI7bz+o7s8YnIgLz4KUm9ja3MgPSBDZW50T1MgKyBSb2xsczxiciAvPgpSb2xsyO28/rD8sPzAqKO6PC9wPgpiYXNlo7q7+bG+tcRSb2NrcyBDbHVzdGVyudzA7bmkvt8gU0dFo7pTVU4gR3JpZCBFbmdpbmWjrLyvyLrPwtf30rW197bIIEhQQ6O6zqq8r8i6yc+1xLKi0NDTptPDzOG5qdTL0NC7t76zo6hNUEmjrFBWTaOpIGFyZWE1MaO6t9bO9ryvyLrJz87EvP66zcTausu1xM3q1fvQ1CBHYW5nbGlho7q8r8i6vOC/2MjtvP6jqNb3wfdocGMgY2x1c3Rlcrv5sb62vNPQ1eK49qOpIEJpb6O6vK/IurXEyfrO79DFz6LRp7mkvt8KPHA+0ruw47b40dSjrNXiwb3W1re9t6jWu9PQysrTw9DU0+ux473d0NS1xLLu0uyhozxiciAvPgrT0NK7uPbK08a1v86zzCBodHRwOi8vZWR1LjUxY3RvLmNvbS9jb3Vyc2UvY291cnNlX2lkLTUwNy5odG1sPC9wPgo8cD6hoaGhttTT2rLZ1/fPtc2ztcTRodTxo6y199HQwcu63Lbgo6zSu7Dj08NSZWQgSGF0o6xDZW50b3O+07bgo6zSu7e9w+bKx8nnx/i77tS+o6zSu7e9w+bKx9S0wuu/qreio6zXytS0vObI3b3PtuChozxiciAvPgqjqE1JQ7+qt6LJz7v5sb6yydPDUmVkIEhhdKOsQ2VudG9zo6xTVVNFo6x3aW5kb3dz0rK/qsq809DBy6OpPC9wPgo8aDMgaWQ9"2安装驱动和开发工具">2、安装驱动和开发工具。

包括IB驱动、编译器、编辑器、调试器、库等。

并行计算开发环境:

安装英特尔众核平台软件堆栈(MPSS),包含各种驱动。
https://software.intel.com/en-us/articles/intel-manycore-platform-software-stack-mpss#lx34rel 假如用intel的编译器的话(我们应该是用intel的):
下载安装intel parallel studio xe 2015,包含有性能分析工具、编译器、高性能库、并行编程工具等,对Xeon Phi进行相应的优化和升级。 Cilk Plus,OpenMP,TBB多线程编程技术和向量化技术在Xeon & Xeon Phi上都已实现了,软件开发者无需额外的移植成本。(试用30天)
https://software.intel.com/en-us/intel-parallel-studio-xe/try-buy xeon phi与第三方工具是否available,参考Intel FAQ:
https://software.intel.com/en-us/articles/intel-and-third-party-tools-and-libraries-available-with-support-for-intelr-xeon-phitm

3、配置节点信息存储系统

安装NFS、PVFS、Lustre 、Luster、GPFS、SNFS等,一般大型的HPC集群用Lustre能获得更好的性能,但不太适合小集群,小集群可以考虑用NFS和PVFS,但NFS并不是面向并行计算的,推荐用PVFS好一点。

关于Lustre:
  一个Lustre文件系统主要包括以下四个组件:管理服务器Management Server(mgs), 元数据服务器Meta Data Target(mdt), 对象存储服务器Object Storge Target(ost) ,客户端Lustre clients(lc)。
  它主要包括三个部分:元数据服务器MDS (Metadata Server)、对象存储服务器OSS (Object Storage Server)和客户端Client。
  正常的启动顺序是:OST -> MDS -> CLIENT

  甲骨文产品管理负责人Bob Thome表示:“云文件系统并不是甲骨文首个基于集群文件系统的产品。甲骨文管理着Lustre项目,Lustre更适合于拥有上千台服务器的大规模HPC(高性能计算)部署。云文件系统则更适合于25个节点数左右的小规模部署,尽管Lustre已经通过了多达100个节点的测试。Lustre也可以实现很多相同的功能,但使用门槛较高,安装和配置较为繁琐,并不适合于小规模部署。”
  关于Lustre的博文:http://www.cnblogs.com/jpa2/category/384788.html

PVFS存在以下不足:
1)单一管理节点。上面说到过PVFS中只有一个管理节点来管理元数据,当集群系统达到一定的规模之后,管理节点将可能出现过度繁忙的情况,这时管理节点将成为系统瓶颈。
2)对数据的存储缺乏容错机制。当某一I/O节点无法工作时,上面的数据将出现不可用的情况。
3)静态配置。对PVFS的配置只能在启动前进行,一旦系统运行则不可再更改原先的配置。

4、集群管理工具(考虑是否集成了一些组件)

  集群管理工具 (CMT),它的职能是管理集群。它有多个功能,有的是可选功能。而必须具备的功能包括:

维护计算节点清单(即集群中包括的节点)。只需通过简单如 /etc/hosts 的,就能复制或通过本地 DNS 发送至每个计算节点 创建、管理映像或安装在计算节点上的数据包集 发送映像或数据包到计算节点(一般通过 PXE ) 执行对计算节点的基本监控(例如,节点工作情况?什么节点发生起落?) 计算节点电源控制(不是硬性要求,但是强烈推荐)。即远程开启/关闭节点,此功能可以通过各种方法实现,有的方法需要使用增加其他硬件。

虽然这个功能清单对于有集群经验的人来说显得太简短,但清单所载功能是 CMT真正的核心。具备其他功能也不错,但对集群来说并不是必不可少的。

  CMT 包括 Platform OCS、Clustercorp ROCKS+、Microsoft Windows CCS 和平台管理器 (Platform Manager) 、Mon等。

5、可选组件:

  集群所需的工具并不多,但有了这些就能实现集群的基本运行。不过,它只能满足 1 个用户或 2 至 3 个用户的需要,此外,要实现全面控制和掌握集群的运行情况。要安装一些可选组件,从技术上虽然是可选项,但是没有这些工具,集群就不具备生产能力。
有一些组件可以添加到 CMT 或 CMI 上层。一个有数年管理多个集群经验的人说的,强烈建议您郑重考虑使用以下附加组件:

更加广泛的监控工具,包括集群状态图形视图,例如Ganglia(链接- http://ganglia.info/)、Cacti(链接 - http://www.cacti.net/)和 Nagios(链接 -http://www.nagios.org/) 报告工具,允许您创建关于集群运行情况的报告 用户帐户管理工具(允许您在整个集群上创建用户帐号、允许用户设置密码,然后将其传播到集群的所有节点上,允许无密码登录节点,这对于运行 MPI 应用程序是必需的)

另一个理论上可选,但值得强烈推荐的组件——任务调度器(也被称为资源管理器)任务调度器是一个允许用户提交执行任务、但不参与任务运行的排队系统。任务调度器把提交的任务排成队列,等到资源(即节点)可用时,就开始运行。任务调度器包括:Platform LSF、PBS-Pro 和 MOAB 等。

6、测试

三、参考链接:

http://www.ibm.com/developerworks/cn/linux/l-cluster1/
http://zh.community.dell.com/techcenter/w/techcenter_wiki/50
http://www.hpcblog.com.cn/


附上一张高清MIC图:


这里写图片描述

Tag标签: 集群   概念   平台  
  • 专题推荐

About IT165 - 广告服务 - 隐私声明 - 版权申明 - 免责条款 - 网站地图 - 网友投稿 - 联系方式
本站内容来自于互联网,仅供用于网络技术学习,学习中请遵循相关法律法规