MPI linux Ubuntu cluster 集群
在局域网内安装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 集群的更多相关文章
- Ubuntu 16.04下Redis Cluster集群搭建(官方原始方案)
前提:先安装好Redis,参考:http://www.cnblogs.com/EasonJim/p/7599941.html 说明:Redis Cluster集群模式可以做到动态增加节点和下线节点,使 ...
- Redis Cluster集群搭建与应用
1.redis-cluster设计 Redis集群搭建的方式有多种,例如使用zookeeper,但从redis 3.0之后版本支持redis-cluster集群,redis-cluster采用无中心结 ...
- mysql galera cluster 集群的分裂与仲裁机制
集群的分裂 当集群由于网络原因分裂为几个单独的组时(一组可能是单节点,也可能是几个互联的节点),数据出现不一致,此时可能产生脑裂及数据不一致.这种情况 下,只有一组节点能够继续提供服务,这组节点的状态 ...
- MySQL Cluster 集群
本文转载 http://www.cnblogs.com/gomysql/p/3664783.html MySQL Cluster是一个基于NDB Cluster存储引擎的完整的分布式数据库系统.不仅仅 ...
- 【原】基于 HAproxy 1.6.3 Keeplived 在 Centos 7 中实现mysql mariadb galera cluster 集群分发读写 —— 上篇
前言 有一段时间没有写blogs,乘着周末开始整理下haproxy + keeplived 实现 mysql mariadb galera cluster 集群访问环境的搭建工作. 本文集中讲hapr ...
- Redis进阶实践之十一 Redis的Cluster集群搭建
一.引言 本文档只对Redis的Cluster集群做简单的介绍,并没有对分布式系统的详细概念做深入的探讨.本文只是提供了有关如何设置集群.测试和操作集群的说明,而不涉及Redis集群规范中涵 ...
- Redis进阶实践之十二 Redis的Cluster集群动态扩容
一.引言 上一篇文章我们一步一步的教大家搭建了Redis的Cluster集群环境,形成了3个主节点和3个从节点的Cluster的环境.当然,大家可以使用 Cluster info 命令查看Cl ...
- CentOS7 安装Redis Cluster集群
上一篇中已经讲到了如何安装单击版Redis,这一篇我们来说下如何安装Cluster,关于哨兵模式这里我就不写文章安装了,有兴趣的同学可以自己去研究,哨兵模式可以在主从模式下在创建三台机器的哨兵集群监控 ...
- 2、Redis 底层原理:Cluster 集群部署与详解
Redis 简介 Redis 提供数据缓存服务,内部数据都存在内存中,所以访问速度非常快. 早期,Redis 单应用服务亦能满足企业的需求.之后,业务量的上升,单机的读写能力满足不了业务的需求,技术上 ...
随机推荐
- 阿里云Centos7用putty ssh链接掉线
解决方法:修改云服务器 ssh 配置文件(修改前一定要先备份) (1)打开配置文件: vim /etc/ssh/sshd_config 1 (2)找到下面两行: ClientAliveInterval ...
- 通俗易懂的讲解一下Java的代理模式
一.基本概念 代理模式是对象的结构模式. 代理模式给某一个对象提供一个代理对象,并由代理对象控制对原对象的引用(接口的引用) 二.静态代理 静态代理是指,代理类在程序运行前就已经定义好,其与**目标类 ...
- 获取post传输参数
1.获取post参数可以用 传输参数为 a=aa&b=bb这种 public static SortedDictionary<string, string> GetRequestP ...
- 【转载】 C#中ArrayList使用ToArray方法转换为数组
在C#的编程开发中,ArrayList集合是一个常用的非泛型类集合,可以使用ArrayList中的ToArray方法将ArrayList集合对象转换为数组,ToArray方法有2个重载形式,其一为vi ...
- ES6迭代器
说起迭代器, 那就要先了解迭代模式 迭代模式: 提供一种方法可以顺序获得聚合对象中的各个元素, 是一种最简单, 也是最常见的设计模式,它可以让用户通过特定的接口寻访集合中的每一个元素 而不用了解底层的 ...
- Git恢复删除的分支
1.使用 git reflog 命令查看显示整个本地仓储的commit,包括所有branch的commit,甚至包括已经撤销的commit. 2.找到我们想要恢复的分支 ,可以看到我们当时commit ...
- MySQL修炼之路一
1. MySQL概述 1. 什么是数据库 存储数据的仓库 2. 都有哪些公司在用数据库 金融机构.游戏网站.购物网站.论坛网站 ... ... 3. 提供数据库服务的软件 1. 软件分类 MySQL. ...
- ASP.NET----内置对象----Resuest
Request对象可以获取包含用户的计算机.页面及浏览器的请求等相关信息. Request对象的属性: ①Form----------返回有关表单变量的集合 ②QueryString--------- ...
- 让configure和cmake编译时支持调试选项
在Linux先编译软件基本都是采用configure文件生成makefile,或者,cmake生成makefile文件两种方式.它们生成的makefile文件,一般默认不支持-g调试选项.但我们使用这 ...
- php-fpm编译安装脚本
PHP是开源.轻量级.高效的开发语言,特别适合web项目开发,在中小型互联网公司中常用于开发web后端.PHP常与Nginx及MySQL数据库结合,搭建LNMP环境.以下为centos7系统下ph ...