在局域网内安装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. Lisp : (quote) code is data (eval) data as code

  2. 通过Nginx获取用户真实IP

    nginx配置 location / { proxy_set_header Host $host; proxy_set_header X-real-ip $remote_addr; proxy_set ...

  3. vue Router——基础篇

    vue--Router简介 vue-router是Vue.js官方的路由插件,它和vue.js是深度集成的,适合用于构建单页面应用. vue的单页面应用是基于路由和组件的,路由用于设定访问路径,并将路 ...

  4. PHP上传图片基本代码示例

    一.HTML代码如下: <form name="form2" method="post" action="?type=add" enc ...

  5. 堆叠降噪自编码器SDAE

    https://blog.csdn.net/satlihui/article/details/81006906 https://blog.csdn.net/github_39611196/articl ...

  6. eclipse 工作空间配置UTF-8编码格式

    配置前端页面编码格式 1. Windows-->preferences 2. web-->jsp file-->Encoding 3. OK保存  配置java文件编码格式 1. W ...

  7. Mysql数据库之调整最大连接数

    .查看最大连接数 show variables like '%max_connections%'; 2.修改最大连接数 set GLOBAL max_connections = 200; 以下的文章主 ...

  8. Unity 渲染教程(一):矩阵

    转载:http://gad.qq.com/program/translateview/7181958 创建立方体网格.· 支持缩放.位移和旋转. · 使用变换矩阵. · 创建简单的相机投影. 这是关于 ...

  9. GitHub的SSH key配置以及常用的git命令介绍

    一. GitHub的SSH key配置 (以windows为例,Mac iOS系统类似) SSH Key 是一种方法来确定受信任的计算机,从而实现免密码登录.Git是分布式的代码管理工具,远程的代码管 ...

  10. GitHub 下载代码命令并且导入到IDEA环境

    git clone项目到本地(项目有master和其他分支) 1.首先新建一个空文件夹,在文件夹里面git初始化操作,在文件夹的根目录下,右键选择git bash here,在弹出窗体中:       ...