电子工程师技术服务社区
公告
登录
|
注册
首页
技术问答
厂商活动
正点原子
板卡试用
资源库
下载
文章
社区首页
文章
栗子派集群
分 享
扫描二维码分享
栗子派集群
迷你集群
栗子派
栗子派集群
robe_zhang
关注
发布时间: 2020-04-16
丨
阅读: 952
![](https://cf04.ickimg.com/bbsimages/202004/720e8df9c2e65101c0fe87e881313f7a.png) # 简介: 栗子派集群的节点选用的是2019世界移动通信大会(MWC)联想展台发布新物联网开发套件:栗子派Leez P710开发板 ![](https://cf04.ickimg.com/bbsimages/202004/c0ddf5d7ef2f82492d62ae0837e5e4b7.png) 这款开发板凭借时尚外观设计、高效计算能力,被广泛定义为口袋极客神器。称的上口袋极客神器,说明它体积足够小,适用性很强,并且神通广大。 本文搭建栗子派集群,受限于开发板数量,只有2节点 ![](https://cf04.ickimg.com/bbsimages/202004/ad17c2c4e77252d40a49a0aaceff6f6f.png) ![](https://cf04.ickimg.com/bbsimages/202004/9c1745911f821089d00ba1d087a2b657.png) # 系统结构 ![](https://cf04.ickimg.com/bbsimages/202004/3655cf7f633b544dc70def58b2dc31a0.png) 介绍框架之前先引用一个百度词条: MPI MPI是一个跨语言的通讯协议,用于编写并行计算机。支持点对点和广播。MPI是一个信息传递应用程序接口,包括协议和和语义说明,他们指明其如何在各种实现中发挥其特性。MPI的目标是高性能,大规模性,和可移植性。MPI在今天仍为高性能计算的主要模型。 再引用MPICH官网的名词:MPICH MPICH is a high performance and widely portable implementation of the Message Passing Interface (MPI) standard. MPICH and its derivatives form the most widely used implementations of MPI in the world. They are used exclusively on nine of the top 10 supercomputers (June 2016 ranking), including the world’s fastest supercomputer: Taihu Light. MPICH 是高性能便携MPI标准的一个实现,MPICH被全球广泛使用,全球排名前10的超计算机中有9个使用的是MPICH,其中太湖之光也使用的MPICH。 本文栗子派集群使用的也是MPICH,所以栗子派集群也算得上是高性能超算集群,只是节点是少了点,算作一个微型超算,迷你集群。 - 整个集群系统工作于千兆局域网内,同时又连接外网可用于debian系统更新安装软件系统等 - Windows电脑主要是编辑代码,登录linux 服务器调试编译,登录Leez P710 开发板调试运行 - Linux 服务器提供了samba网络文件服务,供leez P710开发板挂载运行程序,供windows保存代码 - Leez P710 是高性能集群的两个节点,同时兼具控制节点和计算节点的功能,可以挂载linux服务器磁盘到本地目录,运行linux服务器中的程序,可以被远程登录当作控制节点 # 硬件搭建 螺丝,螺柱,两块栗子开发板,组装起来 ![](https://cf04.ickimg.com/bbsimages/202004/35de136f14cb855bc6506feb0e4f8a42.png) ![](https://cf04.ickimg.com/bbsimages/202004/c23a56e81d607eb98c88323ee3605d69.png) # 系统构建 #### 安装debian系统 #### 配置网络 栗子板配置动态ip ```shell sudo vi /etc/network/interfaces allow-hotplug eth0 iface eth0 inet dhcp ``` ![](https://cf04.ickimg.com/bbsimages/202004/292e0889304d906e8d6708b671c4f377.png) 也可以配置静态ip ```shell allow-hotplug eth0 iface eth0 inet static address 192.168.3.49/24 gateway 192.168.3.1 ``` ![](https://cf04.ickimg.com/bbsimages/202004/bfbf4a05242fa5514818f3d9c06763b9.png) #### 连接网络: ![](https://cf04.ickimg.com/bbsimages/202004/fd675d9ade8ac71aac7dd96972e3e98e.png) #### 改主机名,重启,生效 ![](https://cf04.ickimg.com/bbsimages/202004/9a9a9127559d1cfa7b6ff9fcf7dbb7a2.png) #### 安装openssh-server,cifs-utils,mpich ![](https://cf04.ickimg.com/bbsimages/202004/3eb42bacd359a93f6a290e01d89f1b3b.png) ![](https://cf04.ickimg.com/bbsimages/202004/7a98340664ae4b9b452b65e38e3e62d0.png) ![](https://cf04.ickimg.com/bbsimages/202004/6fce1fa5b30a6d1faa4337ded42a444c.png) # 系统调试 Ssh 签名认证,先生成签名文件 ![](https://cf04.ickimg.com/bbsimages/202004/6a0e87f0de6059b26b2fc6714809a9fa.png) 把公钥导入服务器,就可以签名认证登录 ![](https://cf04.ickimg.com/bbsimages/202004/7501bfaec05a6e34c8c2c4c032fb9f4a.png) 运行这条命令如果提示输入密码,服务器没有密码的话需要设置 root 密码,并修改 /etc/ssh/sshd_confg 文件,开启root登录权限,重启ssh服务后再试。 ![](https://cf04.ickimg.com/bbsimages/202004/7430b308bf55924b9f7b5f6891eaadc3.png) 标注:默认ssh服务关闭了 root 密码登录,所以root远程无法登录,需要开启root密码登录 挂载cifs文件系统:笔者挂载时候出错了 ![](https://cf04.ickimg.com/bbsimages/202004/e2123a03e1226595eb40e8ec926235a1.png) 提示 系统出错,系统不支持,如果是自己编译系统,可以进内核查看配置: ![](https://cf04.ickimg.com/bbsimages/202004/f1abce38753a032c2242318db5bf8689.png) SMB3,cifs 确实没有支持,但是支持 nfs 文件系统,想要用cifs就勾上cifs重新编译内核模块,替换现有的内核和模块,重新启动。或者用 nfs文件系统: 先安装 nfs 客户端 ![](https://cf04.ickimg.com/bbsimages/202004/9035b7c242b32d5bf0105f625320f69a.png) 栗子板挂载,检查: ![](https://cf04.ickimg.com/bbsimages/202004/21ad77211356603e3b8f27de1b50a69b.png) 220G 的硬盘,就是linux服务器的ssd硬盘挂载到栗子开发板 两个栗子派节点都调试一下,使用不同的hostname,不同的 ip Linux服务器和两个栗子派节点三台相互之间全部设置为ssh签名认证 # 运行集群 栗子集群两个节点既可以是控制节点,也可以是计算节点。 随便一个节点运行以下命令,就能在集群上运行 MPICH 程序 ```shell mpiexec -f host -n 12 ./test ``` - mpiexec 是运行mpi程序的命令 - -f host 指定host配置文件为host,host内容如下:leeza节点可以运行6条进程,leezb系节点6条进程。(可以使用ip配置进程数,用主机名需要配置/etc/hosts文件,不然解析不了找不到机器) ![](https://cf04.ickimg.com/bbsimages/202004/2fe8eba6fd26f4e1af06f1bfb0d1b4b7.png) - -n 12 集群一共创建12条并行进程 - ./test 要运行的 MIPCH 程序,内容如下,打印主机名字和进程号: ![](https://cf04.ickimg.com/bbsimages/202004/a57b1b6d504ac08fc78fe96d52848132.png) 本脚本没有使用MPI交换任何信息,所以创建的12条进程互不相干完全并行运行,此处仅测试 ![](https://cf04.ickimg.com/bbsimages/202004/89ccca16e92e7a81414a533bd10bd89a.png) 控制节点中打印出 leeza 节点运行的6条进程和进程ID,leezb 节点运行的6条进程和进程ID, 计算节点分别能看到各自运行的6条进程,满速运行,调试完成。 下载 MPICH 源码,编译并运行 MIPCH 压缩包中的例程 ![](https://cf04.ickimg.com/bbsimages/202004/2e2a07933b67273c57f1d7c3e762ad22.png) 在集群上运行print_cpus_allowed程序:显示每个节点可以运行0-5一共6条进程,两个节点一共12条进程 ![](https://cf04.ickimg.com/bbsimages/202004/efb151819d1083c3effbe33f0d6c61c6.png) 在集群上运行print_process_bind程序:leeza 和 leezb节点,每个节点确实运行了6条进程,完全是按照host文件分配并行进程数量的,实际上每个节点内部的进程并没有完全绑定到各个CPU,leeza节点CPU2 没有分配进程,CPU5 运行了两个进程,leezb节点也一样 ![](https://cf04.ickimg.com/bbsimages/202004/a5aaeb61a018ad57e5e18d10cf2c0d4e.png) 集群搭建完成,可以正常运行了,MPI 程序需要单独编程,可以参考《高性能计算之并行编程技术-MPI并行程序设计(完整版).pdf》学习MPI编程,在栗子派集群上运行了。笔者不太会MPI编程,暂时运行两个例程,把栗子派集群跑起来,本文到此为止。 教材链接:https://pan.baidu.com/s/1lhIXpeyN-zRCAej-zOahLg 提取码:l34s
原创作品,未经权利人授权禁止转载。详情见
转载须知
。
举报文章
点赞
(
0
)
robe_zhang
关注
评论
(0)
登录后可评论,请
登录
或
注册
相关文章推荐
MK-米客方德推出工业级存储卡
Beetle ESP32 C3 蓝牙数据收发
Beetle ESP32 C3 wifi联网获取实时天气信息
开箱测评Beetle ESP32-C3 (RISC-V芯片)模块
正点原子数控电源DP100测评
DP100试用评测-----开箱+初体验
Beetle ESP32 C3环境搭建
【花雕体验】16 使用Beetle ESP32 C3控制8X32位WS2812硬屏之二
X
你的打赏是对原创作者最大的认可
请选择打赏IC币的数量,一经提交无法退回 !
100IC币
500IC币
1000IC币
自定义
IC币
确定
X
提交成功 ! 谢谢您的支持
返回
我要举报该内容理由
×
广告及垃圾信息
抄袭或未经授权
其它举报理由
请输入您举报的理由(50字以内)
取消
提交