撰写日期:2017年6月13日

作者:翟江恒

一般情况下不会采用手动的方式安装HPC,而是采用集成自动化方案来部署hpc,但是这些集成方案都是集成了指定的操作系统发行版本,比如常见的HPC集成自动化方案rockets,到目前为止集成centos 6.6,如果需要把HPC安装其他linux发行版本环境里面,就不能使用集成自动化方案,必须使用手动安装方法,这篇博客就是叙述如何手动搭建HPC的。敬请往下看。



1.     HPC简介

2.     HPC架构

3.     ssh无密码访问

4.     安装配置NFS

5.     安装配置NIS

6.     安装tentakel

7.     安装openmpi

8.     安装torque

9.     安装ganglia


1.      HPC简介

高性能计算(Highperformance computing,缩写HPC) 指通常使用很多处理器(作为单个机器的一部分)或者某一集群中组织的几台计算机(作为单个计算资源操作)的计算系统和环境。有许多类型的HPC 系统,其范围从标准计算机的大型集群,到高度专用的硬件。大多数基于集群HPC系统使用高性能网络互连,比如那些来自 InfiniBand Myrinet 的网络互连。基本的网络拓扑和组织可以使用一个简单的总线拓扑,在性能很高的环境中,网状网络系统在主机之间提供较短的潜伏期,所以可改善总体网络性能和传输速率


2.     hpc架构

wKiom1ljV8WBquUqAAA-ZARklFw486.jpg-wh_50


     HPC网络架构如图所示


上图显示了一网状 HPC 系统。在网状网络拓扑中,该结构支持通过缩短网络节点之间的物理和逻辑距离来加快跨主机的通信。

尽管网络拓扑、硬件和处理硬件在 HPC 系统中很重要,但是使系统如此有效的核心功能是由操作系统应用软件提供的。

HPC 系统使用的是专门的操作系统,这些操作系统被设计为看起来像是单个计算资源。正如从图1和图2中可以看到的,其中有一个控制节点,该节点形成了 HPC 系统和客户机之间的接口。该控制节点还管理着计算节点的工作分配。

对于典型 HPC 环境中的任务执行,有两个模型:单指令/多数据(SIMD) 和多指令/多数据 (MIMD)SIMD在跨多个处理器的同时执行相同的计算指令和操作,但对于不同数据范围,它允许系统同时使用许多变量计算相同的表达式。MIMD允许HPC 系统在同一时间使用不同的变量执行不同的计算,使整个系统看起来并不只是一个没有任何特点的计算资源(尽管它功能强大),可以同时执行许多计算。

不管是使用 SIMD 还是 MIMD,典型HPC 的基本原理仍然是相同的:整个HPC 单元的操作和行为像是单个计算资源,它将实际请求的加载展开到各个节点HPC 解决方案也是专用的单元,被专门设计和部署为能够充当(并且只充当)大型计算资源。


3.SSH无密码访问

建立脚本目录

mkdir –p /root/rootUser

mkdir –p /home/普通用户目录

例如: mkdir –p /home/hpc  (hpc就是一个普通用户)

编写如下三个脚本:

Setp1.exp

内容如下:

#!/bin/bash

 

rm -fr/root/.ssh

 

/usr/bin/expect<<EOF

setforce_conservative 0  ;# set to 1 toforce conservative mode even if

                       ;# script wasn't run conservativelyoriginally

if{\$force_conservative} {

   set send_slow {1 .1}

   proc send {ignore arg} {

            sleep .1

            exp_send -s -- \$arg

   }

}

 

settimeout -1

spawnssh-keygen -t dsa

match_max100000

expect-exact "Enter file in which to save the key (/root/.ssh/id_dsa): "

send --"\r"

expect-exact "Enter passphrase (empty for no passphrase): "

send --"\r"

expect-exact "Enter same passphrase again: "

send --"\r&#