在局域网内安装mpi,并进行并行计算。MPICH3。

下载源码:

wget http://www.mpich.org/static/downloads/3.3.1/mpich-3.3.1.tar.gz

tar -xzf mpich-3.3..tar.gz

cd mpich-3.3.

mkdir build

cd build

../configure --disable-fortran

make 

sudo make install

修改主机名后需要重启。

sudo vim /etc/hostname

修改为 master 或 client0,client1等

sudo vim /etc/hosts

增加 192.*.*.* master

也就是增加master的IP地址。

或者增加client的IP地址, 注意master机器的hosts也要更新这些ip

sudo adduser mpiuser

#设置密码 其余回车

sudo apt­-get install openssh-server

################给mpiuser 增加sudo权限

sudo chmod u+w /etc/sudoers

sudo -i

vim /etc/sudoers

增加一行 mpiuser ALL=(ALL:ALL) ALL

sudo chmod u-w /etc/sudoers

################给mpiuser 增加sudo权限

su - mpiuser 

#我们都在每个机器的mpiuser 用户中做实验,安装源码可以在主用户下,

mpi用ssh进行通信,为了ssh通信免密我们需要用以下步骤生成秘钥文件,并发送到对方服务器,当然其他的机器也要互相做同样的动作。

ssh-keygen -t rsa

# 生成rsa秘钥

ssh-copy-id -i ~/.ssh/id_rsa.pub master 

# 发送秘钥给master 输入yes 和 master机器的密码

sudo apt-get install nfs-kernel-server -y 

# 安装网络文件服务器,因为mpi运行的程序必须是一致,而且需要快速更新。

mkdir cloud

sudo mount -t nfs master:/home/mpiuser/cloud ~/cloud

test1#####################################

mpirun -np  -hosts client,client1 ./cpi

Process  of  is on client1
Process of is on client
Process of is on client1
Process of is on client
pi is approximately 3.1415926544231243, Error is 0.0000000008333312
wall clock time = 0.001272

另外一个test

master 与 client 建立TCP链接 ,首先在master上run server程序。源码在

https://github.com/qiaosiyi/ssserver/blob/master/tcptestserver.c

编译之,

mpicc tcptestserver.c -o tcptestserver

tcptestclient ,同理。

在master上运行:

################master###############################

$ mpirun -np  ./tcptestserver

$ portname: tag#$description#master$port#$ifname#192.168.187.160$

################master###############################

再在client上运行:

################client###############################

$ mpirun -np  ./tcptestclient 'tag#0$description#master$port#36221$ifname#192.168.187.160$'

$ Trying connect to tag#$description#master$port#$ifname#192.168.187.160$

################client###############################

在master上运行:

################master###############################

$ client connected

$ msg: 

################master###############################

=====

qsy

31 Jul 2019

MPI linux Ubuntu cluster 集群的更多相关文章

  1. Ubuntu 16.04下Redis Cluster集群搭建(官方原始方案)

    前提:先安装好Redis,参考:http://www.cnblogs.com/EasonJim/p/7599941.html 说明:Redis Cluster集群模式可以做到动态增加节点和下线节点,使 ...

  2. Redis Cluster集群搭建与应用

    1.redis-cluster设计 Redis集群搭建的方式有多种,例如使用zookeeper,但从redis 3.0之后版本支持redis-cluster集群,redis-cluster采用无中心结 ...

  3. mysql galera cluster 集群的分裂与仲裁机制

    集群的分裂 当集群由于网络原因分裂为几个单独的组时(一组可能是单节点,也可能是几个互联的节点),数据出现不一致,此时可能产生脑裂及数据不一致.这种情况 下,只有一组节点能够继续提供服务,这组节点的状态 ...

  4. MySQL Cluster 集群

    本文转载 http://www.cnblogs.com/gomysql/p/3664783.html MySQL Cluster是一个基于NDB Cluster存储引擎的完整的分布式数据库系统.不仅仅 ...

  5. 【原】基于 HAproxy 1.6.3 Keeplived 在 Centos 7 中实现mysql mariadb galera cluster 集群分发读写 —— 上篇

    前言 有一段时间没有写blogs,乘着周末开始整理下haproxy + keeplived 实现 mysql mariadb galera cluster 集群访问环境的搭建工作. 本文集中讲hapr ...

  6. Redis进阶实践之十一 Redis的Cluster集群搭建

    一.引言      本文档只对Redis的Cluster集群做简单的介绍,并没有对分布式系统的详细概念做深入的探讨.本文只是提供了有关如何设置集群.测试和操作集群的说明,而不涉及Redis集群规范中涵 ...

  7. Redis进阶实践之十二 Redis的Cluster集群动态扩容

    一.引言     上一篇文章我们一步一步的教大家搭建了Redis的Cluster集群环境,形成了3个主节点和3个从节点的Cluster的环境.当然,大家可以使用 Cluster info 命令查看Cl ...

  8. CentOS7 安装Redis Cluster集群

    上一篇中已经讲到了如何安装单击版Redis,这一篇我们来说下如何安装Cluster,关于哨兵模式这里我就不写文章安装了,有兴趣的同学可以自己去研究,哨兵模式可以在主从模式下在创建三台机器的哨兵集群监控 ...

  9. 2、Redis 底层原理:Cluster 集群部署与详解

    Redis 简介 Redis 提供数据缓存服务,内部数据都存在内存中,所以访问速度非常快. 早期,Redis 单应用服务亦能满足企业的需求.之后,业务量的上升,单机的读写能力满足不了业务的需求,技术上 ...

随机推荐

  1. Asp.Net Core中使用NLog记录日志

    2019/10/28, Asp.Net Core 3.0, NLog 4.6.7, NLog.Web.AspNetCore 4.9.0 摘要:NLog在asp.net网站中的使用,NLog日志写入数据 ...

  2. checkbox实现单选

    脚本: function bb(obj,name) { var aa = document.getElementsByName(name); for (var i = 0; i < aa.len ...

  3. Centos中编辑php扩展库

    今天需要在Centos中编译Exif库以便获取图片的exif信息,可在Linux中从来没有编译过扩展库呀,只好查资料了.发现是用phpize这个东东来编译扩展. 首先执行了下 php -i | gre ...

  4. ElasticSearch之安装及基本操作API

    ElasticSearch 是目前非常流行的搜索引擎,对海量数据搜索是非常友好,并且在高并发场景下,也能发挥出稳定,快速特点.也是大数据和索搜服务的开发人员所极力追捧的中间件.虽然 ElasticSe ...

  5. 移动端调试神器vconsole,手机端网页的调试工具Eruda

    移动端调试神器vconsole,手机端网页的调试工具Eruda 移动端中使用 vConsole调试 移动端调试工具vconsole安装Git地址:https://github.com/WechatFE ...

  6. 英语pyrophane火欧珀pyrophane单词

    pyrophane火欧泊产量稀少,以至于大多数采到宝石的矿主不愿意将它进行切割,即便随形的切割技巧比刻面需要更多的经验也要将其加工成随形,因为这种琢型最能保重.但是与黑欧泊为了保证火彩只能切割成蛋面和 ...

  7. Alpha4

    一.站立式会议照片 二.工作进展 (1) 昨天已完成的工作 a. 实现用户登录时获取用户信息功能 b. 实现个人目标列表,允许用户在个人目标界面浏览已设置的目标 c. 继续实现目标广场列表 (2)今天 ...

  8. thinkphp5连接sql server

    我用的环境是phpstudy,php版本是5.6,thinkphp连接sql server 方法如下: 1.修改database.php文件里的数据库信息 2.进入php扩展目录.我的是“E:\php ...

  9. 微信小程序到底把什么定义为风险内容?

    目录 起因 经过和结果 附录: 起因 之前做一个群相册的小程序,因为涉及到图片和评论等内容的发布分享.因此,微信后台要求有一定的内容安全检测能力. 但是,我用别家的内容检测用的好好的,在国庆前被微信警 ...

  10. 五、Xpath与lxml类库

    什么是XML XML 指可扩展标记语言(EXtensible Markup Language) XML 是一种标记语言,很类似 HTML XML 的设计宗旨是传输数据,而非显示数据 XML 的标签需要 ...