手动搭建HPC(高性能计算)

发布时间:2024-09-25 点击:150
建站服务器
撰写日期: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架构
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
expecteof
eof
cd/root/.ssh
catid_dsa.pub >> authorized_keys
chmod 600authorized_keys
step2.exp
内容如下:
#!/bin/bash
if [ $#-ne 1 ]
then
{
echo \\\’usage: step1.exp root_password\\\’
exit
}
fi;
rootpasswd=$1
rm -fr/root/.ssh/known_hosts
#for((node=1;node<=10;node ))
for nodein $(cat hostfile)
do
/usr/bin/expect<<eof
# set to1 to force conservative mode even if
setforce_conservative 0 ;
;# 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
spawn ssh${node} hostname
match_max100000
expect-exact are you sure you want to continue connecting (yes/no)?
send –yes\\\\r
expect-exact ${node}\\\’s
send –${rootpasswd}\\\\r
expecteof
eof
done;
step3.exp
内容如下:
#!/bin/bash
if [ $#-ne 1 ]
then
{
echo \\\’usage : step3.exp root_password\\\’;
exit 1;
}
fi;
rootpassword=$1
#for((node=1;node<=10;node ))
for nodein $(cat hostfile)
do
/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
spawn scp-rp /root/.ssh ${node}:/root
match_max100000
expect-exact root@${node}\\\’s
send –${rootpassword}\\\\r
expecteof
eof
done
执行命令:touch hostfile
编辑hostfile文件,加入说有主机名,一行一个。
例如:
node136
node137
node138
hpc-test
执行如下命令:
cp setp1.exp setp2.exp setp3.exp hostfile /root/rootuser/
cp setp1.exp setp2.exp hostfile /home/普通用户目录
chmod755 –r /root/rootuser/
chmod755 –r /home/普通用户目录
chown root:root –r /root

腾讯云服务器怎么配置镜像加速
腾讯云 云服务器购买
电气操作有哪三种方式
可以帮忙注册下然后账户扣款吗或者你们可以尽快解决问题吗
怎么缓解域名冲突?缓解域名冲突如何把握时机?
php怎么设置优化参数
中国电信云服务器价格
防权重流失防抄袭,WordPress博客文章正文外链无插件代码实现自动转内链教程