使用华为云ECS进行分布式计算示例
MPI 编程实验环境配置及示例
一、 MPI 编程实验流程概述
1. 购买三台华为鲲鹏云服务器及必要的网络资源,参照“二、 实验环境配置”中的“1. 购买华为鲲鹏云服务器”; 注意请参照本文档配置购买资源,不要购买价格较高的额外资源;
2. 三台机器均使用ssh 连接,并进行免密配置,安装 mpi 及依赖包, 参照“二、 实验环境配置”中的“2. 环境配置”;
3. 进行HelloWorld 实验,验证环境安装正确,参照“三、HelloWorld 实验示例”;
4. 完成所有实验、作业后,必须停止/关闭所有华为云资源,方法参照“四、 停止/关闭华为云资源”,否则将会继续扣费导致欠费!
5. 以防有学生没用过shell 命令、vim 等,可以观看视频教程来跟
着操作(注意我们购买三台机器实验即可),视频地址:
https://education.huaweicloud.com/courses/course-v1:HuaweiX+CBUCNXK037+Self-paced/courseware/ab16d696bb4a458ca21a37396
c4a56c0/3074a26390154e4fab6ea610d9b00975/
二、 实验环境配置
1. 购买华为鲲鹏云服务器
步骤 1 登录华为云
打开浏览器,输入华为云的域名:https://www.huaweicloud.com ,点击右上角登录按钮,输入用户名与密码。
点击控制台。
点击上方的更多,费用中心。
点击代金券中的立即使用。
点击操作中的立即使用。
步骤 2 购买弹性云服务器(ECS) 点击“弹性云服务器 ECS”。
如果出现下面界面,点击“华北-北京四”:
点击界面左侧的“弹性云服务器”,再点右侧“购买弹性云服务器”:
步骤 3 基础配置
按照下表配置进行购买,一共购买 3 台。
参照截图如下:
点击下一步:网络配置。步骤 4 网络配置
按照下表进行网络配置
参照截图如下:
点击“下一步 高级配置”。
步骤 5 高级配置
设置云服务器名称(eg:ecs-hw)、密码(Parallel2021),云备份选“暂不购买”。
点击“下一步:确认配置”。步骤 6 确认配置
勾选我已阅读并同意《华为镜像免责声明》,点击确认配置。
购买成功后可去“我的资源”中查看资源,如下图查看 弹性云服务器资源。
注意:此时“我的资源”中除了刚刚购买的“弹性云服务器 ECS”之外,还会由“虚拟私有云 VPC”、“云硬盘 EVS”等资源,等完成实验、作业之后,一定要把所有资源全部关停(参照“四”部分内容),否则代金券扣完还会继续扣费, 你将欠费!
2. 环境配置
步骤 1 下载 ssh 工具
推荐 Xshell (Windows)、vscode + ssh remote 插件、Royal TSX (mac),mac OS 的
terminal 自带 ssh 功能,或从微软应用商店中下载安装 Ubuntu 子系统
(Windows10)。
步骤 2 登录 ECS
创建好 ECS 后,可以在控制台 -> 弹性云服务器中看到弹性公网 IP。使用 SSH 工具,输入公网 IP、用户名和密码,或 ssh usr@IP 即可登陆,例如 ssh root@114.116.218.203,再根据提示输入密码,即可登录 ecs-hw-0001。
信息如下:
步骤 3 环境配置说明
为了防止大家的文件混乱,建议大家在每一台机器下都建立个人账户,不建议统一使用 root 账户,下面以用户名 zhangsan 为例,三台机器名分别为
ecs-hw-0001, ecs-hw-0002, ecs-hw-0003, 三台机器的私网 ip 为 192.168.0.219, 192.168.0.75, 192.168.0.167。环境配置时在每一台主机上 都需要重复执行,步骤
4 和步骤 5 三台机器都需要执行,ip 需要根据实际分配进行相应调整,建议打开三个 shell 窗口同时进行操作。
步骤 4 创建用户
每台主机都需要在 root 账户下建立个人的账户 zhangsan,并添加到 wheel 用户组(改组具有 sudo 权限),命令如下:
说明:zhangsan 密码也设置为 Parallel2021
步骤 5 免密配置
以下所有步骤在三台机器上均需要重复执行。
(1) 配置三台机器主机名和 ip 解析(各主机 ip 可以通过 ifconfig 或者控制台界面查看)
注释文件原先本身的信息并添加三台机器的“私网 IP 主机”信息(注释的目的是因为会对本实验程序的运行产生报错),添加完后信息如下:
(2) 登录新账户
首先退出 root 账户重新登录到新建立的账户下:
(3) 本地生成密钥:
说明:会让输入信息,保持默认,回车即可(三次回车)。
(4) 添加公钥至所有主机(根据提示输入 yes、密码):
(5) 安装依赖包:
(6) 源码编译安装 mpi (如果执行下面命令提示没有权限就执行 sudo 命令,如“sudo wget …”):
三、 HelloWorld 实验示例
1. 创建示例程序源码
以下步骤均在 ecs-hw-0001 上执行。
执行以下命令,创建 hello 目录存放该程序的所有文件, 并进入 hello 目录(三台主机都执行)
执行以下命令,创建示例程序源码 mpi_hello_world.c(三台主机都执行)
代码内容如下:
2. 创建 makefile
执行以下命令,创建 makefile(三台主机都执行)
代码内容如下:
3. 进行编译
执行以下命令,进行编译(三台主机都执行)
4. 建立主机配置文件
执行以下命令,建立主机配置文件(三台主机都执行)
添加内容如下:
5. 运行监测
执行以下命令,查看运行结果(只需要在 ecs-hw-0001 上执行)
结果如下:
通过上述代码运行,可以看出,编写的 hello-wolrd 程序已经在华为鲲鹏上运行起来,程序在集群之间并行计算处理。
四、 停止/关闭华为云资源
教学或实验完成之后/不使用华为云资源时,请务必先停止相关服务并删除所有资源, 再退出华为云账号,避免系统认为资源占用继续扣费并导致欠费。
步骤 1
点击进入“控制台” “资源” “我的资源”。如下图所示:
步骤 2
打开“仅显示有资源的服务”按钮,逐个点击具体服务,在下方服务资源表格“操 作”列中进入“管理”界面,进行各服务的停止、删除操作。(资源删除,数据也将 被清除,操作前请务必先确认数据是否可清除)。
步骤 3
如“对象存储服务 OBS”服务所实例,进入“管理”界面后,点击服务名称的上一级目录入口,进入服务控制台。如下图所示:
步骤 4
对各 OBS 实例逐个进行“删除”操作。OBS 实例桶中如果有数据,需先清除,具体参考提示操作即可。如下图所示:
步骤 5
检查“我的资源”,如果还存在任何 1 项资源,务必关停并删除,直到没有任何资源为止。
- 点赞
- 收藏
- 关注作者
评论(0)