在局域网内安装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. 华为企业级AS111-S,比较垃圾的地方

    今天换了一个华为企业级AS111-S 路由器,比较垃圾的地方: 1. 网页管理界面是https,却用一个无效的证书,chrome直接不能访问,IE可以访问,但第一次登陆改密码的时候就出错了. 然后怎么 ...

  2. Flask的实例化参数及对app的配置

    目录 1.调试模式初测 2.app.config中的其他配置参数详解 3.修改config配置的方式(from_object用法) 3.1直接对app.config进行修改: 3.2使用类的方式导入: ...

  3. mysql系列1

    1. mysql数据库的安装步骤如下: [root@mysqltest01 local]# pwd/usr/local [root@mysqltest01 local]# tar -xvf mysql ...

  4. 【jsp】案例:显示商品列表 & 问题:List内添加元素,为什么值都变成一样的了

    代码: 1.Product: package domain; public class Product { /* `pid` varchar(50) NOT NULL, `pname` varchar ...

  5. 【Cookie】java.lang.IllegalArgumentException An invalid character [32] was present in the Cookie value

    创建时间:6.30 java.lang.IllegalArgumentException: An invalid character [32] was present in the Cookie va ...

  6. 3. 上网调查一下目前流行的源程序版本管理软件和项目管理软件都有哪些, 各有什么优缺点? (提示:搜索一下Microsoft TFS、GitHub、Trac、Bugzilla、Rationale,Apple XCode),请用一个实际的源代码管理工具来建立源代码仓库,并签入/签出代码。

    上网调查一下目前流行的源程序版本管理软件和项目管理软件都有哪些, 各有什么优缺点? ---------------答题者:徐潇瑞 (1)Microsoft TFS的优缺点: 优点:是对敏捷,msf,c ...

  7. POJ 3694Network(Tarjan边双联通分量 + 缩点 + LCA并查集维护)

    [题意]: 有N个结点M条边的图,有Q次操作,每次操作在点x, y之间加一条边,加完E(x, y)后还有几个桥(割边),每次操作会累积,影响下一次操作. [思路]: 先用Tarjan求出一开始总的桥的 ...

  8. Mybatis-plus中不列出全部字段

    //不列出全部字段 @Test public void test10() { QueryWrapper<User> wrapper = new QueryWrapper<>() ...

  9. rhel6安装rabbitmq-sever

    1.下载rabbitmq-sever3.7.7,我下的是RHEL/CentOS 6.x, 你的系统是哪个版本就下哪个https://github.com/rabbitmq/ Downloadson G ...

  10. 查询接口---flask+python+mysql

    环境准备 安装flask pip install  flask 项目结构如图 1.新建配置文件conf.py #!/usr/bin/python# -*- coding:utf-8 -*- impor ...