linux ansible_使用Ansible在Raspberry Pi上构建基于Linux的HPC系统

linux ansible

上一篇有关Opensource.com的文章中 ,我介绍了OpenHPC项目,该项目旨在加速高性能计算(HPC)的创新。 本文通过使用OpenHPC的功能来构建小型HPC系统,进一步走了一步。 称呼它为HPC系统听起来可能比实际的要大,所以也许最好说这是一个基于OpenHPC项目发布的集群构建食谱的系统。

最终的集群由两个充当计算节点的Raspberry Pi 3系统和一个充当主节点的虚拟机组成:

Map of HPC cluster

我的主节点在x86_64上运行CentOS,而我的计算节点在aarch64上运行经过稍微修改的CentOS。

这是现实生活中的设置:

HPC hardware setup

为了像HPC系统一样设置我的系统,我遵循了OpenHPC的《 CentOS 7.4 / aarch64 + Warewulf + Slurm (PDF)》的《集群构建食谱》 安装指南中的一些步骤。 该配方包括使用Warewulf的供应指令; 因为我手动安装了三个系统,所以跳过了Warewulf部件,并为执行的步骤创建了Ansible剧本

糟糕的剧本,我可以开始向我的资源经理提交工作了。 资源管理器(在我的情况下为Slurm)是集群中的实例,它决定了在何处以及何时执行作业。 在集群上启动简单作业的一种可能性是:


   
   
[ohpc@centos01 ~]$ srun hostname
calvin

如果我需要更多资源,可以告诉Slurm我想在八个CPU上运行命令:



   
   
[ohpc@centos01 ~]$ srun -n 8 hostname
hobbes
hobbes
hobbes
hobbes
calvin
calvin
calvin
calvin

在第一个示例中,Slurm在单个CPU上运行了指定的命令( hostname ),在第二个示例中,Slurm在八个CPU上运行了该命令。 我的一个计算节点称为calvin ,另一个称为hobbes ; 在以上命令的输出中可以看到。 每个计算节点都是具有四个CPU内核的Raspberry Pi 3。

将作业提交到群集的另一种方法是命令sbatch ,该命令可用于执行脚本,并将输出写入文件而不是终端。



   
   
[ohpc@centos01 ~]$ cat script1.sh
#!/bin/sh
date
hostname
sleep 10
date
[ohpc@centos01 ~]$ sbatch script1.sh
Submitted batch job 101

这将创建一个名为slurm-101.out的输出文件,其内容如下:



   
   
Mon 11 Dec 16:42:31 UTC 2017
calvin
Mon 11 Dec 16:42:41 UTC 2017

为了演示资源管理器的基本功能,简单而又串行的命令行工具是合适的,但是在完成所有类似HPC的系统的工作后有点无聊。

一个更有趣的应用程序正在群集上所有可用的CPU上运行Open MPI并行化作业。 我正在使用一个基于Game of Life的应用程序,该应用程序在名为“使用Red Hat Enterprise Linux在多种体系结构上运行Life of Game”的视频中使用。 除了以前使用的基于MPI的“生命游戏”实施之外,现在在我的集群上运行的版本对每个涉及主机的单元的颜色也不同。 以下脚本以图形输出交互地启动应用程序:



   
   
$ cat life.mpi
#!/bin/bash

module load gnu6 openmpi3

if [[ "$SLURM_PROCID" != "0" ]]; then
    exit
fi

mpirun ./mpi_life -a -p -b

我使用以下命令启动该作业,该命令告诉Slurm为该作业分配八个CPU:


$ srun -n 8 --x11 life.mpi 

出于演示目的,该作业具有一个图形界面,显示了当前的计算结果:

在一个计算节点上计算红色单元格的位置,并在另一个计算节点上计算绿色单元格。 我还可以告诉“生命游戏”程序对每个使用的CPU(每个计算节点有四个)的单元进行不同的着色,这将导致以下输出:

借助OpenHPC提供的安装配方和软件包,我能够在HPC类型的配置中设置两个计算节点和一个主节点。 我可以将作业提交给资源管理器,并且可以使用OpenHPC提供的软件来利用我的所有Raspberry Pis CPU启动MPI应用程序。


要了解有关使用OpenHPC构建Raspberry Pi集群的更多信息,请参加Adrian Reber在1月26日至28日在捷克布尔诺的DevConf.cz 2018年以及2月2日在布鲁塞尔举行的CentOS Dojo 2018上的演讲。

翻译自: https://opensource.com/article/18/1/how-build-hpc-system-raspberry-pi-and-openhpc

linux ansible

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值