MPICH在windows下搭建集群系统

合集下载

MPICH环境配置中的若干问题及解决办法

MPICH环境配置中的若干问题及解决办法

22 利 用 N S创建 共享 目录 . F
[ 收稿 1期 ]20 5 t 06—1 —0 1 2
[ 基金项 目]河南省教 育厅科技 攻关项 目 ( 目 项 编号为 2 6205 0 5 3) 0 0
[ 作者简介 】王会芳 (99一) 17 ,女 ,河南漯河人 ,漯河职业技术 学院教师 ,从事信息采 集与 处理 、信息安全研 究。
20 0 7年 4月
A r 07 p. 0 2
M I H环 境 配 置 中 的 若 干 问题 及 解 决 办 法 PC
王 会 芳 ,赵 慧 娜 ,张 志 强
( 漯河 职业技 术学 院 ,河南 漯河 4 20 ) 6 02
[ 摘 要]本文介绍 了在 W nos f0 i w 1下配置 V + +使之能够 编译 M I d 2 c P 程序 的方法 ,在 Rd aL u eHt i x n
维普资讯
第2 6卷第 2期
V 12 N 2 0.6 o.
长春师 范 学院学 报 ( 自然科 学版 )
Junlf hncu o a n e i ( a rl c ne ora o aghnN r l i rt N t a Si c ) C m U v sy u e

7 ・ 2
维普资讯
在运 行 M I P 程序 时 ,虽然 只要求 主节点 安装 M IH,但对 编译 生成 的可执行 文件 ,却要 求在 参与运 算 的 PC 每个 节点 机上都 要有 一份拷 贝 ,且 应在 相 同的 目录下 。为方便 起见 ,通常将 主节 点机 上存放 可执行 文件 的 目
下 配 置微 机集 群 的方 法 ,在 Wi o s Lnx 配 置 用 于查 看 M I 序 日志 文件 的 图形 化 阅读 器 Jm . n w和 i 下 d u P程 u p

windows+mpich2+vs2013环境搭建

windows+mpich2+vs2013环境搭建

OMG搭环境搭的要疯掉了,一定要写下来自己这一天的心路历程!!by ly第一步:配置mpich2环境1、一定要搞清楚64位还是32位。

我安装的是64位,mpich2用的是D:\安装程序\mpich2-1.4.1p1-win-x86-64.msi安装过程:管理员身份运行cmd,找到.exe所在目录(C:\),输入安装。

装到C:\Program Files\MPICH22、打开开始-所有程序-MPICH2-wmpiregister3、打开进程管理器,若里面没有"smpd.exe"进程在运行的话,就要以管理员身份打开cmd,移动到安装目录(C:\Program Files\MPICH2\bin),运行命令:smpd -install-phrase beHappy注意:此处必须以管理员身份运行,否则就会出现 OpenSCManager failed进程管理器里面有"smpd.exe"进程运行的话就可以开始测试mpich2-1.4自带例子!4、测试mpich2是否安装成功。

execute ,没有错误,可以运行第二步:和vs2013连起来一、fortran1、新建项目mpitest2、找一个.f程序,编译运行,得到x64\Debug\ .exe文件3、交给开始-->所有程序-->wmpiexec运行4、我最后配置好的截图(For):二、c++在预编译处理器定义里加一条_CRT_SECURE_NO_WARNINGS解决scanf报警的问题(针对vs2012以上版本)参考文档:1、(对于配置mpich环境+vs2013C++有帮助)windows x64位系统下在VS2010下配置MPICH2&测试/tao_405960616/article/details/492721012、(对于配置vs2013Fortran有帮助)/p-728410179.html3/z909768094/article/details/50926162可供测试的程序(Fortran):program mainimplicit noneinclude'mpif.h'integer ierr, rank, size, lencall MPI_INIT(ierr)callMPI_COMM_RANK(MPI_COMM_WORLD, rank, ierr) call MPI_COMM_SIZE(MPI_COMM_WORLD, size, ierr)write(*, '("Hello, world, I am ", i2, " of ", i2, ": ", a)')&rank, sizecall MPI_FINALIZE(ierr)end可供测试的程序(c++):#include"mpi.h"#include<stdio.h>int main(int argc,char*argv[]){int myid,nump;int namelen;charprocessor_name[MPI_MAX_PROCESSOR_NAME];MPI_Init(&argc,&argv);MPI_Comm_rank(MPI_COMM_WORLD,&myid);MPI_Comm_size(MPI_COMM_WORLD,&nump);MPI_Get_processor_name(processor_name,&namelen);fprintf(stderr,"hello world process %d of %d on %s\n", myid,nump,processor_name);MPI_Finalize();return0;}。

OpenSSH for Windows 配置

OpenSSH for Windows 配置

OpenSSH for Windows 配置1.下载openssh并安装。

安装很简单,就像其它windows下的软件一样,双击即可。

2. 配置。

第一、打开一个ms-dos终端,进入openssh/bin目录。

第二、将计算机上的组导入group文件中。

这里分两种情况,第一种是本地,第二种是在域中。

分别运行-l和-d参数。

如果想将两种组都导入,可以先运行-l的参数再运行-d参数的命令。

下面是原文:Use mkgroup to create a group permissions file. For local groups, use the "-l" switch. For domain groups, use the "-d" switch.For both domain and local, it is best to run the command twice (remember to use >>, not >). If you use both, make sure to edit the file to remove any duplicate entires.mkgroup -l >> ..\etc\group 这是加入本地组的命令。

mkgroup -d >> ..\etc\group 这是加入域组的命令。

(注意执行位置的路径)第三、将计算机的用户与其密码导入passwd文件中。

与上面的组一样,也是分本地和域两种情况。

如果没有该文件或没有导入用户的信息。

作为server的话,将不能被登陆。

下面是原文:Use mkpasswd to add authorized users into the passwd file. For local users, use the "-l" switch. For domain users, use the "-d" switch.For both domain and local, it is best to run the command twice (remember to use >>, not >). If you use both, make sure to edit the file to remove any duplicate entires.mkpasswd -l [-u <username>] >> ..\etc\passwd 这是加入本地用户的命令。

Windows集群配置

Windows集群配置

Windows 群集一、概述 (1)二、Windows 群集简介 (2)Windows 2000 网络载量平衡服务 (2)网络载量平衡配置概述 (4)网络载量平衡如何工作 (4)群集通信的分配 (5)网络负载平衡群集的需求 (7)安装网络载量平衡 (7)配置群集参数 (8)配置主机参数 (8)创建新的端口规则 (9)在单网卡上设置用于网络载量平衡的TCP/IP (9)在多网卡上设置用于网络载量平衡的TCP/IP (10)服务器群集 (11)服务器群集概述 (11)服务器群集功能 (12)服务器群集的需求 (12)创建服务器群集的准备工作 (12)服务器群集规则 (13)规划和准备群集安装 (17)配置群集网络硬件 (21)安装集群服务具体步骤 (24)更改群集服务运行的帐户 (29)使用群集应用程序配置向导 (29)三、确认安装 (30)一、概述Windows 群集是Windows 2000 Advanced Server 的功能,可以提供三种群集技术。

网络负载平衡群集。

网络负载平衡群集通过将32 个运行Windows 2000 Advanced Server 的服务器合并成一个群集,为基于TCP/IP 的服务和应用程序提供高可扩展性和高可用性。

网络负载平衡服务启用网络负载平衡群集。

网络负载平衡群集也可以向运行COM+ 应用程序的服务器提供负载平衡。

服务器群集。

服务器群集通过运行Windows 2000 Advanced Server 的服务器上的资源故障转移为应用程序提供高可用性。

群集服务启用服务器群集。

可以使用Windows 组件向导安装群集服务。

可以单独或合并使用群集技术给网络应用程序提供扩展性和高可用性。

二、Windows 群集简介群集是由一组独立的计算机构成的,这些计算机协同工作以运行一组公用的应用程序,并为客户和应用程序提供类似单机系统的功能。

计算机在物理上通过电缆连接,在逻辑上通过群集软件连接。

MPICH2配置和使用

MPICH2配置和使用

MPICH2配置和使用2.配置MPICH2环境变量在安装完成后,需要配置MPICH2的环境变量,以便系统能够找到MPICH2的安装路径。

在Windows系统中,可以在系统属性的高级选项中设置环境变量;在Linux和Mac OS系统中,可以在.bashrc或.profile文件中添加相应的环境变量。

3.编写并行程序使用MPICH2进行并行计算需要编写并行程序。

MPICH2支持多种编程语言,包括C、C++和Fortran。

根据自己的编程语言选择合适的编程接口,例如MPI(消息传递接口)或OpenMP(多线程编程接口)。

根据并行算法和计算模型,设计并实现相应的并行算法。

4.编译并行程序在编写完并行程序后,需要使用编译器将程序源代码编译成可执行文件。

对于C和C++程序,可以使用gcc或g++编译器;对于Fortran程序,可以使用gfortran编译器。

编译时需要链接MPICH2的库文件,以确保程序能够调用MPICH2提供的并行计算功能。

5.运行并行程序在编译完成后,可以使用命令行或脚本来运行并行程序。

运行时需要指定并行程序的执行方式、计算节点的数量和计算节点的地址。

MPICH2提供了一系列命令和选项,用于控制并行程序的执行和调试。

可以通过命令行参数或配置文件来指定这些选项。

6.监测和调试并行程序在并行程序运行过程中,可以使用MPICH2提供的工具来监测和调试程序的运行状态。

MPICH2提供了一系列命令行工具和图形界面工具,用于查看程序的运行日志、性能指标和调试信息。

可以根据需要选择合适的工具,以便及时发现和解决程序中的问题。

Intel MPI 4.1.0及MPICH2 1.2.1 for rhel6.2 X86_64 install

Intel MPI 4.1.0及MPICH2 1.2.1 for rhel6.2 X86_64 install

MPICH2 1.2.1 for rhel6.2 X86_64 install物理机配置:Core i3 CPU(64位、VT技术支持即可),Win7 X86_64位系统(64位系统即可),6G内存(全安装完后,内存利用率为81%),300G硬盘虚拟机配置(1,2,3机类似):1 CPU,2/1/1G内存,60/20/10G硬盘,双网卡软件:VirtualBox 4.2.12,rhel6.2 X86_64,MPICH2基本包(包含1个文件),详见下面:建立三个虚拟机,配置如下图:安装rhel6.2 X86_64系统,可用虚拟光驱安装。

分区情况:/——60/20/10G,swap ——4/2/2G,文件包为缺省安装,最好选择英文模式,添加中文支持即可。

不安装防火墙和Selinux,不打任何补丁。

安装步骤略。

本文说明如下:为1机root用户执行为2机root用户执行,另不说明或#开头即为2机root用户执行为3机root用户执行因有些步骤忘记了截图,选用了网络上的相应图片,会根据情况相应说明,在这里对选用了相应图片的作者表示感谢!一、r ed hat enterprise linux 6 yum服务器的搭建1、创建源文件存放的目录。

#mkdir /yum/2、挂光盘。

#mount /dev/cdrom media3、将光盘文件复制到服务器上的源目录。

#cp -a /media/* /yum/4、新建一个yum源的响应文件,后缀为.repo。

#vi /etc/yum.repos.d/local.repo其内容如下:5、修改yum源地址。

#vi /usr/lib/python2.6/site-packages/yum/yumRepo.py中的782行:Remote = url + ‘/’ + relative将其改为:Remote = url + ‘/yum’ + relative6、关于yum的一些命令。

postgreSQL(Windows)主从环境部署

postgreSQL(Windows)主从环境部署

postgreSQL(Windows)主从环境部署一、准备工作操作系统:Windows Server 2012 数据中心版数据库:postgreSQL 10.3-3windows(官网下载)辅助工具:navicat for postgreSQL环境规划:项目名称IP服务器1 WIN-40CB17R2OCR 192.168.200.134服务器2 WIN-HEP9O6966PI 192.168.200.135注:postgreSQL从9.0开始支持流复制,所以不需要一定时最新版本,不过建议不同节点使用统一版本数据库。

windows也不必固定版本,不同的windows版本也可以运行和部署主从环境(server和非server,从win7到最新版应该都没有问题)。

二、安装windows1、安装windows,过程略,注意关防火墙即可。

三、安装PostgreSQL及主从1、安装postgresql两个节点使用安装文件独立安装postgresql和navicat,过程略,基本按下一步就行,就安装目录需要配置。

安装目录为D:\Program Files。

2、配置主节点(134)1)创建replica用户设置密码,登录和备份权限,打开navicat,执行下面语句:CREATE ROLE replica login replication encrypted password 'replica'设置了replica这个用户可以从192.168.200.0对应的网段进行流复制请求,编辑pg_hba.conf,路径D:\Program Files\PostgreSQL\10\data\pg_hba.conf添加一行,保存:host replication replica 192.168.200.0/24 md5如图:2)编辑postgresql.conf ,路径D:\Program Files\PostgreSQL\10\data\postgresql.conf4)保存后重启节点1的服务。

在windows下运行MPI配置

在windows下运行MPI配置

MPICH2的配置Windows环境下1.安装MPICH2,假设程序安装在C:\Program Files\MPICH2目录下2.将MPICH2路径C:\Program Files\MPICH2\bin加入到PA TH路径下:3.注册MPICH2,有两种方式1.窗口式:点击C:\Program Files\MPICH2\bin目录下的wmpiregister.exe, 出现如下窗口输入本地计算机的用户名和密码,点击Register,点击OK2.命令行式,开始->运行…->输入cmd->输入mpiexec –register, 出现如下窗口依次输入用户名和密码再确认一次,即可输入4.打开MPICH进程管理器服务程序:控制面板->管理工具->服务,找到如下服务确认其已经打开5.在VC项目中的程序配置1.打开VC6,在菜单工具->options…下的Directories下添加Include files:2.添加Library files:3.以C项目为例,新建一个C项目MPITest,新建一C文件HelloWorld.c, 文件内容如下:#include “mpi.h”#include <stdio.h>int main(int argc, char** argv){MPI_Init(&argc, &argv);printf(“Hello World!\n”);MPI_Finalize();return 0;}4.编译与连接:在工程菜单下的Setting…下选择Link选项卡,加入库文件mpi.lib,对于C++文件,加入cxx.lib和mpi.lib文件,对于fortran文件,VC6中加入fmpich2s.lib,VC2008中加入fmpich2.lib文件5.运行:运行时建议关闭防火墙1.命令行方式:在命令行模式下进入该目录,输入mpiexec –n 4 MPITest.exe, 即可得结果:2.窗口方式:在C:\Program Files\MPICH2\bin目录下打开wmpiexec.exe, 找到运行文件,设置进程数目,点击运行即可。

MPICH的安装使用和MPI原理分析

MPICH的安装使用和MPI原理分析

MPICH的安装使用和MPI原理分析MPICH是一种开源的、可移植的并行计算库,它实现了MPI(Message Passing Interface)标准。

MPI是一种用于并行计算的通信协议,可以在分布式计算环境中实现不同计算节点之间的数据交换和通信。

MPICH提供了一套API,使得开发者可以方便地利用MPI进行并行计算。

下面将介绍MPICH的安装使用和MPI原理分析,以帮助读者更好地理解和使用MPICH。

一、MPICH的安装使用1. 安装准备:在安装MPICH之前,需要确保系统中已经安装了必要的编译器和依赖库。

通常情况下,需要安装C/C++编译器、Fortran编译器和相关的开发库。

4.配置编译选项:进入解压后的MPICH目录,执行以下命令配置编译选项:./configure --prefix=<install_path>其中,<install_path>是指定MPICH安装的路径。

5.编译安装:执行以下命令进行编译和安装:makemake install6. 配置环境变量:将MPICH的安装路径添加到系统的环境变量中,以便系统可以找到MPICH的可执行文件。

可以在.bashrc或者.bash_profile文件中添加以下内容:export PATH=<install_path>/bin:$PATHexport LD_LIBRARY_PATH=<install_path>/lib:$LD_LIBRARY_PATH其中,<install_path>是MPICH的安装路径。

7.测试安装:执行以下命令测试MPICH是否安装成功:mpiexec -n <num_processes> <executable>其中,<num_processes>是指定并行计算的进程数,<executable>是指定要运行的可执行文件。

基于MPICH的Beowulf集群系统构建与性能评测

基于MPICH的Beowulf集群系统构建与性能评测
Zh n z i Zh o Ya W e n h i u Yo g h a n i Ro g u
( o e e o o p t ce c , uu N r a nv r t, i a ,h n og 2 3 6 ) C l g fC m ue S in e Q f om lU i s y R z o S a d n 7 1 5 l r ei h
引 入 ,集 群 结 点 间 的 通 信 能 获得 更 高 的 带 宽 和 较 小 的 延 迟 ; 集 群 系 统 比传 统 的并 行 计 算 机 更 易 于 融 合 到 已 有 的 网 络 系 统 中
进 行 了 系统 性 能 测 试 。
关 键 词 MPC B o l 并 行 计 算 1H ew f u 文 章 编 号 10 — 3 1 (0 6 1 — 12 0 文 献 标 识 码 A 0 2 8 3 一 2 0 )4 0 3 — 2 中 图分 类 号 T 3 3 P9
Co s r c i n r o ma c n tu t ng a d Pe f r n e An l ss o o l a al l ay i f a Be wu f P r l e Co p tn y tm s d o PI m u i g S se Ba e n M CH
B o l y tm n e i u n e i e t e t e mar h c t n aa ll ag rt m d l d sg . s are n t e e w f s se u d r l x a d r a c h h t x mu i ai s p rl o i u n l i o e l h mo u e e in Ha c r d o h i ts sn h d l o t i B o l y tm. e t u ig t e mo u e t h s e w f s se u Ke wo d : MP CH , e w l , a al l c mp t g y rs I Bo u f p r e o u i l n

如何在Windows系统中配置Mysql群集(Mysql Cluster)

如何在Windows系统中配置Mysql群集(Mysql Cluster)

如何在Windows系统中配置Mysql群集(Mysql Cluster)MySQL群集技术在分布式系统中为MySQL数据提供了冗余特性,增强了安全性,使得单个MySQL服务器故障不会对系统产生巨大的负面效应,系统的稳定性得到保障。

Mysql群集(Cluster)简介MySQL群集需要有一组计算机,每台计算机的角色可能是不一样的。

MySQL群集中有三种节点:管理节点、数据节点和SQL节点。

群集中的某计算机可能是某一种节点,也可能是两种或三种节点的集合。

这三种节点只是在逻辑上的划分,所以它们不一定和物理计算机是一一对应的关系。

管理节点(也可以称管理服务器)主要负责管理数据节点和SQL节点,还有群集配置文件和群集日志文件。

它监控其他节点的工作状态,能够启动、关闭或重启某个节点。

其他节点从管理节点检索配置数据,当数据节点有新事件时就把事件信息发送给管理节点并写入群集日志。

数据节点用于存储数据。

SQL节点跟一般的MySQL服务器是一样的,我们可以通过它进行SQL操作。

下图中画出了三种群集节点及应用程序间的关系:MySQL Cluster的下载我们使用的Mysql Server已经不能满足群集的要求,配置群集需要使用MySQL Cluster。

MySQL Cluster支持Linux、Mac OS X、Solaris和Windows操作系统。

鸡啄米以Windows 系统下的MySQL Cluster版本MySQL Cluster7.2.5为例说明MySQL Cluster的配置和启动。

MySQL Cluster的下载地址是/downloads/cluster。

如果你的操作系统是32位的,就选择Windows(x86,32-bit),ZIP Archive下载,大小为228.9M,如果是64位的,就下载Windows(x86,64-bit),ZIP Archive,大小为232.7M。

它们都是免安装的二进制版本。

PETSc的安装

PETSc的安装

由于机器有限,PESTc的安装是在虚拟机上进行的。

安装环境是CentOS5.1。

一、并行环境的建立创建SSH信任连接(在root目录下)1、更改/etc/hosts文件[root@localhost ~]# gedit /etc/hosts,打开hosts文件后,更改如下:127.0.0.1 localhostnode01的IP node01node02的IP node02node03的IP node03node04的IP node04在我的机器中为# Do not remove the following line, or various programs# that require network functionality will fail.127.0.0.1 localhost59.79.8.250 node0159.79.8.251 node0259.79.8.252 node0359.79.8.253 node04红色为添加的内容2、在node01生成SSH密钥对。

[root@localhost ~]# ssh-keygen -t rsa 一路回车即可这样便会产生.ssh文件夹[root@localhost ~]# ls –a 查看是否有.ssh文件夹3、进入.ssh目录[root@localhost ~]# cd .ssh/4、生成authorized_keys文件[******************]#cpid_rsa.pubauthorized_keys5、退出到root目录[******************]#cd~6、建立本身的信任连接[root@localhost ~]# ssh node01 按提示输入yes7、设置node02(在node02的root目录下)[root@localhost ~]# ssh-keygen -t rsa 生成.ssh文件夹[root@localhost ~]#scp node01的IP:/root/.ssh/* /root/.ssh 拷贝node01上的.ssh 文件夹覆盖本地的[root@localhost ~]#scp node01的IP:/etc/hosts /etc/hosts 拷贝node01上的hosts 文件覆盖本地的[root@localhost ~] #ssh node01 提示处输入yes回车在我的机器上为[root@localhost ~]# ssh-keygen -t rsa[root@localhost ~]# scp 59.79.8.250:/root/.ssh/* /root/.ssh[root@localhost ~]# scp 59.79.8.250:/etc/hosts /etc/hosts[root@localhost ~]# ssh node01对其余两个节点做同样操作。

单机双核的mpi并行程序的设置

单机双核的mpi并行程序的设置

MPICH2简单的安装配置总结来源:CSDN 作者:andy1lee 发布时间:2008-3-26 人气:194MPICH2是MPI(Message-Passing Interface)的一个应用实现,支持最新的MPI-2接口标准,是用于并行运算的工具,在程序设计语言上支持C/C++和Fortran。

最近因为有项目需要的计算量比较大,所以就学习使用了MPICH2,在此根据网络上查询的相关信息和我自己的实际使用经历,分别总结一下MPICH2在windows和linux下基本的安装使用方法。

软件下载MPICH2的主页是/mpi/mpich2/index.htm,在这个页面上就能找到各平台最新版本MPICH2的下载地址,其中还包括源代码,我在开始作这个项目的时候最新版本是windows版mpich2-1.0.5p2,源代码mpich2-1.0.5p4。

我们的项目是一个CentOS版linux下的程序,所以最终是要在linux下运行的,但是又舍不得windows,于是就打算可能的话就在windows下写程序,用MinGW加windows版的MPICH2编译调试,通过后再到wmware虚拟机组成的简单集群作测试。

所以,为避免不必要的麻烦,就要统一一下windows和linux下的MPICH2版本,而且不打算用最新的,因此决定用mpich2-1.0.5版。

但是,如果在主页上找的话是没有以前旧版本下载的链接的(至少我没找到),只有最新版本的http和ftp下载。

这难不住我等有心之人,既然提供了ftp下载,那咱就直接到他ftp服务器上找,最新源代码链接的地址是ftp:///pub/mpi/mpich2-1.0.5p4.tar.gz,把后面文件名去掉就应该是文件的ftp存放路径,把这个路径直接写到浏览器地址栏里回车(偶用的是FireFox2),就能看到他们服务器上这个目录的文件列表,里面就有1.0.5版的windows安装文件和源代码包,分别为ftp:///pub/mpi/mpich2-1.0.5-win32-ia32.msi和ftp:///pub/mpi/mpich2-1.0.5.tar.gz。

Windowns tomcat集群部署

Windowns tomcat集群部署

tomcat集群部署部署环境硬件环境一台服务器,运行2个tomcat实例软件环境操作系统:Win 2008 Server R2 EnterpriseWeb服务器:httpd-2.4.12-x64-r2.zipTomcat:apache-tomcat-7.0.62-windows-x64.zip //解压版而非安装版JDK:jdk-7u79-windows-x64.exeTomcat Connector: tomcat-connectors-1.2.40-windows-x86_64-httpd-2.4.x需要的介质放在百度云盘上链接:/s/1gdD3R8Z 密码:g60o一、操作系统安装略二、JDK安装点击安装包进行安装,都采用默认路径1、环境变量设置“计算机”->点右键->“属性”->“高级”->“环境变量”->“系统变量”->新建->变量名安装目录:C:\Program Files\Java\jdk1.7.0_79JAVA_HOME= C:\Program Files\Java\jdk1.7.0_79CLASSPATH=%JAVA_HOME%\lib\tools.jar;e%JAVA_HOME%\lib\dt.jarPath= %JAVA_HOME%\bin;2、测试在DOS下输入javac回车,出现javavc的使用说明表示你的JDK安装成功;在DOS下输入java回车,出现java的使用说明表示你的环境变量设置成功三、Apache部署1、apache安装1)解压缩httpd-2.4.12-x64-r2将压缩后的Apache24目录移到C盘根目录2)切换到C: \Apache24\bin目录下>cd C:\Apache24\bin>httpd.exe3)测试http://localhost能访问2、将apache安装成服务在命令行模式下(切换到bin目录下)输入httpd -k install //安装httpd -k start //启动//其他命令Other Command line options:Stop Apache httpd -k stopRestart Apache httpd -k restartUninstall Apache Service httpd -k uninstallTest Config Syntax httpd -tVersion Details httpd -vCommand Line Options List httpd -h3、apache配置1)使用集成功能那么[四、tomcat-connector配置]、[4、设置workers.properties文件]、[5、创建uriworkermap.properties文件]都不需要配置直接跳到[五、tomcat配置]Apache2.2集成了mod_jk功能,不再需要对worker.perproties进行进行配置,使其配置过程大幅度简化。

MPI并行环境搭建及集群测试

MPI并行环境搭建及集群测试

MPI并行计算环境搭建以及集群测试
MPI作为一种通过消息传递进行并行计算的框架,在很多科学计算上有很重要的应用,这次因为GraphLab环境搭建时的需要,花了三个来小时的时间进行了初步的搭建摸索,感觉很
测试结果表明:对于间隔比较大时,明显集群快,但是间隔很小时,由于消息传递机制本身会耗时,因此集群效率不如单机。

部分参考资料链接:
/s/blog_5daeb2750100z3qx.html
/logwt/article/details/7325314
/lyq105/archive/2010/06/01/1749515.html
/ngvjai/article/details/8000045
补充:(可能会出现的问题,这是我在再次部署的时候出现的问题,第一次部署的时候太顺
原因:防火墙的问题,node2中防火墙禁止node9进行mpd连接
解决办法:我直接将node2中端口关掉了
或者你可以参考这里,这个连接的第二个问题就是教你如何解决防火墙禁止mpd访问的。

原因:当前的环境设置不能满足其性能的需求,需要对环境变量的设置进行改变。

解决办法:参考这里。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

一、首先自己的计算机上进行测试
1、命令行方式:
注册:mpiexec -register
输入你当前登陆帐户名和密码,不注册的话每次执行程序都要求输入帐户和密码。

运行:mpiexec -n 2 helloworld.exe
这里用两个进程执行当前目录下的helloworld.exe,如果在linux下就应该写为mpiexec -n 2 ./helloworld.exe
2、GUI方式:
注册:开始菜单=>所有程序=>MPICH2=>wmpiregister.exe
填上当前登陆用户名和密码,点击“register”将信息写入磁盘,再点“ok”关闭程序。

若先点击“ok”则是写入内存,重启机器后还要再注册。

想更换其他用户运行mpi程序时,点“remove”将原来的信息删除。

运行:开始菜单=>所有程序=>MPICH2=>wmpiexec.exe
在Application处选择可执行程序,在Number of processes处选择用几个进程。

点“Execute”执行,“B reak”终止程序。

下面有个选项“more options”,选中后有更多的参数可选用,包括用配置文件执行程序,单机测试没必要写配置文件了吧。

二、加上多台计算机上测试
首先、在其他的机器上也安装mpich2,版本不应该相差太远,最好同样版本,如mpich2-1.0.6。

其次、每个机器上的帐户要一样,如administrator,更重要的是密码也要一样!希望新手要注意:用户和密码都要求一致。

再次、一定要把所有机器的防火墙都关掉,windows防火墙最好也关掉,不然可能相互连接不上,或者执行的时候有奇怪的错误。

最后、是注册,配置,运行,还是有两种方式,分别介绍一下。

1、命令行方式:
注册:将每台机器都注册,与单机测试时一样。

配置:写配置文件,在MPICH2中配置文件config_mpich2的格式如下:
-n 2 -host 192.168.1.104 c:\mpi\helloworld.exe
-n 2 -host 192.168.1.123 c:\mpi\helloworld.exe 表示在两台机器上各启动两个进程,这里可以写IP,也可以写机器名,如我WXFENG,JLU-F0BCE9654EA等等。

在MPICH1中配置文件config_mpich1的格式如下:
exe c:\mpi\helloworld.exe
hosts
192.168.1.123 2
192.168.1.104 2
运行:用MPICH2格式的配置文件,mpiexec -configfile config_mpich2
用MPICH1格式的配置文件,mpiexec -file config_mpich1
不用配置文件,mpiexec -hosts 2 192.168.1.123 192.168.1.104 c:\mpi\helloworld.exe
这里都假定可执行文件在各机器同一工作目录下c:\mpi\helloworld.exe,若用配置文件执行程序的话,可以指定不同的目录。

2、GUI方式:
注册:开始菜单=>所有程序=>MPICH2=>wmpiregister.exe ,将每台机器都注册,与单机测试时一样。

配置:开始菜单=>所有程序=>MPICH2=>wmpiconfig.exe
只在提交任务的机器上配置就可以了,其他机器可以不做。

先在Domain里写上所有机器所在的工作组,如workgroup,然后Get Hosts找到在这个工作组下的所有机器,再Scan Hosts找出哪些机器安装了MPICH,而哪些没有。

安装了的会显示绿色,没安装的显示灰色。

这时一般就有版本信息了,若没有的话,Scan for Version试试。

将绿色显示的机器名记下来,在运行的时候用。

运行:开始菜单=>所有程序=>MPICH2=>wmpiexec.exe
点击“more options”,在hosts那个文本框中填入想使用的机器的机器名,如WXFENG,JLU-F0BCE9654EA,就是配置那一步所查询到可用的机器。

点击“Execute”执行程序。

这里有一个简单的代码,用来检查程序是否在多台机器启动了,
program main
! include 'mpif.h'
use mpi
implicit none
integer i,ierr,rc,namelen,num,l,m
character(MPI_MAX_PROCESSOR_NAME) name
call MPI_INIT(ierr)
call MPI_COMM_RANK(MPI_COMM_WORLD,i,ierr)
call MPI_COMM_SIZE(MPI_COMM_WORLD,num,ierr)
call MPI_GET_PROCESSOR_NAME(name,namelen,ierr)
write(*,"('hello world ! processor',I2,' of ',I1,' on ',20A)")i,num,name
do l=1,100000
do m=1,100000
enddo
enddo
write(*,"('program is over ! processor',I2,' of ',I1,' on ',20A)")i,num,name
call MPI_FINALIZE(rc)
end program main
打开各机器的任务管理器,看看是不是CPU都用上了。

我发现spmd.exe会占用90%多的CPU,而真正的可执行程序占的CPU并不多,不知道是怎么回事,以后试试其他的程序再说吧,而且spmd.exe占用内存也很大。

结束语,想说说GUI方式的“配置”这个步骤,个人觉得没什么用,也许是现在我还不会用吧。

只不过是查询一下有哪个机器可以安装了MPICH,可以被使用而已,记录下这些机器的机器名,在wmpiexec.exe中当做参数使用。

比较而言,还是以命令行方式执行程序,写配置文件比较顺手一些,似乎也更地道一些,本来MPICH大多数都是在linux下使
用的嘛。

在需要运行MPI程序的机器上:
1 安装.net框架(dotnetfx.exe)
2 拷贝smpd.exe, 并运行smpd –install
这会安装一个服务“MPICH2 Process Manager, Argonne National Lab”
开机时启动smpd进程,它打开端口8676和另一个端口
3 拷贝所需的程序和DLL到每台机器, 如d:\mpi\目录
包括任务程序如testMPI.exe,及所有mpich2*.dll(在完整安装了mpich2的机器system32\下) 任务程序也可以放在服务器的共享目录
4 D:\mpi>mpiexec.exe -hosts 2 host1 host2 d:\mpi\testMPI.exe
前提是两台机器都启动了smpd。

该命令会在每台机器上启动testMPI.exe,并行完成任务
对于前面那个计算Pi的例子程序,只在第1台机器(即运行mpiexec的localhost)上有输入输出,它相当于master processor任务程序如果在服务器,则运行D:\mpi>mpiexec.exe -hosts 2 host1 host2 \\server\mpi\testMPI.exe
命令行也可以用图形界面的wmpiexec.exe来代替,可以方便的设置一些选项,可以保存/加载job
首次运行时需要输入用户名和密码,这可以用wmpiregister.exe输入并(加密)保存起来wmpiconfig.exe用来配置一些MPI运行环境参数,比如可以把优先级改为idle
运行结果的观察:
1 每次执行mpiexec.exe -hosts
2 host1 host2 d:\mpi\testMPI.exe 会在目标机上增加一个testMPI.exe进程和smpd.exe进程
运行mpiexec.exe -n 3 testMPI.exe会生成3个testMPI.exe进程,但只有一个smpd.exe
2 关掉运行mpi的cmd窗口时,会自动退出mpi任务,显示(我抓图看到的:)
mpiexec aborting job ...
job aborted:
rank: node: exit: code[: error message]
0: host1: 123: mpiexec aborting job
1: host2: 123
3 多次运行mpiexec,它们的进程通信空间是独立的。

如第1次运行mpiexec -n 2 testmpi.exe
第2次运行mpiexec -n 3 testmpi.exe
则第1个任务的numprocs=2
则第2个任务的numprocs=3
互不影响。

相关文档
最新文档