HPC集群平台搭建

作者: 马鹏飞_47c5 | 来源:发表于2019-10-12 12:40 被阅读0次

step 0 : 在每一台机子上安装openmpi

以两台电脑为例,现在在两台电脑上都安装好了Ubuntu19.04

一台机子的名称为npuheart0,ip为192.168.1.105

另台机子的名称为npuheart1,ip为192.168.1.106

先更新一下两台机器的系统:

sudo apt-get update
sudo apt-get upgrade

安装ssh以及其他一些杂七杂八的软件

sudo apt-get install openssh-server
sudo apt-get install gcc g++ gfortran make cmake zlib1g-dev python m4 vim
sudo apt-get install openmpi-bin openmpi-doc libopenmpi-dev

step 1:配置hosts文件

用名称代替IP地址,方便通信。

在第一台机子上的修改:

$ cat /etc/hosts
192.168.1.106   npuheart1

在第二台机子上的修改:

$ cat /etc/hosts
192.168.1.105   npuheart0

step 2:创建一个新用户

每台电脑上进行以下操作,创建一个新用户,使MPI并行的配置和其他用户隔离。

sudo adduser mpiuser

step 3:启动SSH

两台机器将会通过SSH通信,并且通过NFS共享数据。

  1. 进入mpiuser账户
  2. 生成密钥
  3. 将密钥拷贝给其他用户
  4. 开启无密码通信

下面以npuheart0为例子:

su - mpiuser
ssh-keygen -t dsa
ssh-copy-id -i ~/.ssh/id_rsa.pub npuheart1

step 4:启动NFS

NFS服务器的安装

  1. 安装nfs-kernel-server
  2. 创建并共享一个文件夹cloud
  3. 设置文件夹的入口exports
  4. 重启nfs-kernel-server
sudo apt-get install nfs-kernel-server
su - mpiuser
mkdir cloud:
sudo vi /etc/exports
/home/mpiuser/cloud *(rw,sync,no_root_squash,no_subtree_check)
sudo exportfs -a
sudo service nfs-kernel-server restart

NFS客户端的安装

sudo apt-get install nfs-common
mkdir cloud
sudo mount -t nfs master:/home/mpiuser/cloud ~/cloud
df -h
$ cat /etc/fstab
#MPI CLUSTER SETUP
master:/home/mpiuser/cloud /home/mpiuser/cloud nfs

step 5:运行MPI程序

  1. 编译mpi程序

    mpicxx sample.cpp

  2. 将程序拷贝到cloud文件夹下

  3. 在当前机器中跑:

    mpirun -np 2 ./a.out

  4. 在集群中跑:

    mpirun -np 5 -hostfile hosts ./a.out

hosts 文件是当前目录下的文件,内容是:

npuheart0    slots=4
npuheart1    slots=4

期间遇到的问题及解决方法

  1. 起先使用了apt安装的mpich程序,遇到的问题是多机并行时MPI_Comm_dup函数的使用出现了玄学错误,于是把它卸载了,安装了openmpi,解决了问题。

  2. 出现了有关askpass的错误,通过sudo apt-get install ssh-askpass解决了。

最后的使用注意
  1. 进入cloud文件夹,创建个人文件夹,只在自己的文件夹里操作,尊重他人隐私
  2. 编译命令跟以前一样,不同的是mpirun命令,需要hosts参数
  3. 复制cloud目录下的hosts文件,和程序放到一起
  4. mpirun -np 12 -hostfile hosts ./main3d2019 input3d_noP_fine > output_noP_fine
参考教程

https://mpitutorial.com/tutorials/running-an-mpi-cluster-within-a-lan/

相关文章

  • HPC集群平台搭建

    step 0 : 在每一台机子上安装openmpi 以两台电脑为例,现在在两台电脑上都安装好了Ubuntu19.0...

  • SJM HPC-SGE 投递任务管理工具简介

    HPC-SGE环境下的任务投递方式   HPC指的是高可用计算集群,是相对于单机服务或节点而言的,通过节点或集群间...

  • 集群理解

    集群的分类:一般来讲,集群分为三大类:高性能集群(High performance cluster,HPC)、负载...

  • 【bioHPC-1】用Vagrant创建虚拟集群

    高性能计算(High Performance Computing,HPC)集群, 简称集群,是将多个计算机节点用高...

  • k8s源码部署01

    k8s源码集群搭建 集群搭建: 1、生产环境k8s平台规划 老男孩老师文档 : https://www.cnblo...

  • 集群SGE作业调度系统

    0. 一些基本概念 计算机集群:高性能集群(High Performance Computing,简称HPC)是一...

  • HPC 编译 FaSTMM

    工作需要在 HPC 集群上编译 FaSTMM[https://bitbucket.org/planetarysys...

  • Hadoop大数据部门组织架构

    大数据部门组织架构 平台组Hadoop Flume Kafka Hbase Spark 框架搭建集群性能测试集群性...

  • 大数据集群搭建2

    大数据集群搭建 本文档将搭建以下集群 hadoop 集群 zookeeper 集群 hbase 集群 spark ...

  • 大数据集群搭建

    大数据集群搭建 本文档将搭建以下集群 hadoop 集群 zookeeper 集群 hbase 集群 spark ...

网友评论

    本文标题:HPC集群平台搭建

    本文链接:https://www.haomeiwen.com/subject/bfdqmctx.html