搜档网
当前位置:搜档网 › 在Linux平台下基于MPI的并行PC集群搭建的实现

在Linux平台下基于MPI的并行PC集群搭建的实现

在Linux平台下基于MPI的并行PC集群搭建的实现
在Linux平台下基于MPI的并行PC集群搭建的实现

Computer Knowledge and Technology 电脑知识与技术网络通讯及安全本栏目责任编辑:冯蕾第7卷第1期(2011年1月)在Linux 平台下基于MPI 的并行PC 集群搭建的实现

刘祥港

(天津科技大学计算中心,天津300222)

摘要:并行集群带给我们一种新的高性能计算的解决途径,该文简要阐述了集群系统和MPI 的特点,具体介绍了一种在Linux 平台下基于MPI 的并行计算PC 集群的搭建过程,运用中尺度数值天气预报模式MM5作为实例进行了实验和分析,得出结论。并对它的应用和前景进行了展望。

关键词:高性能计算;并行PC 集群;MPI

中图分类号:TP311文献标识码:A 文章编号:1009-3044(2011)01-0037-02

The Realization of Parallel PC Cluster Bases on MPI in Linux OS

LIU Xiang-gang

(Computing Center,Tianjin University of Science &Technology,Tianjin 30022,China)

Abstract:The parallel cluster brings us a new solution of high performance computing.It becomes the hotspot in parallel computing re -search.The paper simply introduces the characteristics of the cluster system and MPI and describes a realization of Parallel PC Cluster Bases on MPI in Linux OS in detail.An example of the mesoscale numerical weather prediction model MM5is presented,and the test result is attached and analyzed.Finally,the cluster ’s applications and prospects are proposed.

Key words:high performance computing;PC cluster;MPI

随着计算机的广泛应用,处理问题的规模也越来越大。从数据处理、信息处理、知识处理到智能处理,尤其是一大批有巨大挑战意义的科学和工程计算问题,如气象预报、石油勘探和核物理等方面的计算问题,对计算机的运算速度、处理精度、快速时效性等提出了越来越高的要求[1]。单台计算机的速度由于受到材料的物理限制,其极限运算速度是十亿次每秒。突破单机极限速度的唯一方法就是进一步挖掘计算机运行中的并行处理能力。因此,使用多个微处理器组成一种具有并行结构的高性能计算机,是满足科学和工程计算问题中高性能数据处理要求的有效途径。

1集群简介

集群是充分利用计算资源的一个重要概念,因为它能够将工作负载从一个超载的系统(或节点)迁移到集群中的另一个系统上。其处理能力是与专用计算机可相比,但其性价比远高于专用计算机[2]。每一个计算单元即为一个节点。

集群系统有如下优点:

高可扩展性:集群系统的性能随着CPU 个数的增加几乎是线性变化的。

高可用性:集群中的一个节点失效,它的任务可以传递给其他节点,可以有效防止单点失效。各节点都是一个完整的系统,有独立完整的操作系统。节点可以是工作站,也可以是PC 机,所以灵活性高。可以根据需要把不同机型的计算机互连,有效地形成一个用户需要的异构并行计算环境。

高性能:负载平衡集群允许系统同时接入更多的用户。

高性价比:可以采用廉价的符合工业标准的硬件构造高性能的系统。

2MPI 简介

MPI 是英文Message Passing Interface 的缩写,是基于消息传递编写并行程序的一种用户界面。MPI 是目前最流行的分布存储并行编程环境,不仅具有移植性好、功能强大、效率高等多种优点,而且有多种不同的免费、高效、实用的实现版本,包括MPICH ,LAM ,CHIMP 和MPI /Pro 等,几乎所有的并行计算机厂商都提供对它的支持,这是其它并行环境所无法比拟的。MPICH 是最重要的一种MPI 实现,是一个与MPI 规范同步发展的版本。每当MPI 推出新的版本时,就会有相应的MPICH 的实现[3]。

MPI 可以在Windows NT/2000、L inux 、Unix 平台上安装使用,MPI 的库函数可以嵌在C 、C++及Fortran 等程序设计语言中调用。3集群系统的实现

本实例采用四台普通PC 机在Linux 环境下搭建一个高性能并行计算集群并进行相关测试。其中node0为主节点机,node1、node2、node3为客户机。具体过程将分为以下五步:各主机上Linux OS 的安装,单一登录、单一文件系统、并行编程环境以及单一作业管理系统的构建。

3.1Linux OS 的安装

Linux 操作系统是目前构建高性能计算机群的一个较佳的选择,本实例选择RedHat Linux 9.0来实现。具体的安装过程可查阅收稿日期:2010-11-08

作者简介:刘祥港(1982-),男,山东日照人,天津科技大学计算中心,助教,硕士,研究方向为计算机应用技术。

E-mail:info@https://www.sodocs.net/doc/615952455.html, https://www.sodocs.net/doc/615952455.html, Tel:+86-551-56909635690964ISSN 1009-3044Computer Knowledge and Technology

电脑知识与技术Vol.7,No.1,January 2011,pp.37-3837

Computer Knowledge and Technology 电脑知识与技术

本栏目责任编辑:冯蕾网络通讯及安全第7卷第1期(2011年1月)相关书籍。

3.2构建单一登录

所谓单一登录是指用户可以从机群系统的任何一个节点登录,而且在整个作业执行过程中只需登录一次,不必为将作业指派到其它节点而重新登录。

构建单一登录可以通过以下三步完成:

1)以root 用户登录到主节点,修改文件/etc/hosts 、host.equiv ,在其中写入机群所有节点的名称和IP ;

2)修改系统的服务设置,启动如下系统服务:nfs 、rexec 、rsh 、rlogin 。设置完成后用普通用户身份测试RSH 是否配置成功;

3)创建全局用户cluster ,然后通过RSH 将用户配置文件/etc/passwd 复制到机群中所有其余节点。

3.3构建单一文件系统

NFS 是一种Unix/Linux 之间通过网络共享文件的标准方式。使用NFS ,就能透明的安装和访问网络上远程主机的文件系统,将其安装在本地的文件系统中,类似于Windows 下的映射驱动器。

在本实例中,节点node0是服务器,把目录/home 和/cluster 进行共享;节点node1、node2和node3是客户端,把服务器的/home 和/cluster 安装到自己的文件系统中。主要可以通过以下三个步骤来实现:

1)在节点node0上建立目录/cluster ,并授权给用户cluster ;

2)修改/etc/exports 文件以读写方式共享目录/home 和/cluster ,运行exportfs –a 完成目录的共享;

3)客户端节点建立/cluster 目录,修改分区配置文件/etc/fstab ,加入对/home 和/cluster 的映射,运行mount –a 完成目录的共享。

3.4构建并行编程环境

首先下载MPICH-1.2.7,然后通过以下四步进行具体的安装配置:

1)首先解压缩安装文件包至目录/cluster ,进入文件目录通过configure 脚本完成初始配置;

2)进行mpich 的编译和安装;

3)修改mpich 的节点配置文件machines.LINUX ,添加该机群包含的四个节点;

4)运行计算π值的程序cpi ,测试该MPI 编程环境是否搭建成功。

3.5构建单一作业管理系统

为方便作业提交管理,可根据自身需要安装PBS ,LSF ,Condor 等作业管理系统。

至此,集群系统搭建完成,可以通过OpenPBS 的基本命令完成作业的管理,通过mpich 完成并行作业的执行。

4实验及分析

采用中尺度数值天气预报模式MM5对搭建的集群环境性

能进行测试。在集群上运行MM5数值计算程序,分别记录节点

为一台、两台、四台时所用时间,如图1所示。

通过实验可以看出,当由单机变为两台PC 组成的集群

时,计算性能得到很大提升,由两台变为四台时,系统性能进一

步提升但幅度变小,并非呈线性增长,如何进一步提高并行效

率,将是我们今后研究的重点。

5应用前景

5.1易扩展性

根据自身计算的需要,该集群可以任意扩展PC 机的台

数,只需要修改3.2中的步骤1,3.3、3.4、中的步骤3,将新的节点加入即可。5.2应用领域和发展前景

近年来,工作站尤其是PC 机应用已十分普及,完全可以方便地建立起PC 集群并行计算系统或工作站集群并行计算系统,这些价格便宜的集群计算系统可以实现价格昂贵的大型机才能实现的高速并行计算,其应用前景十分诱人。

随着网络技术的发展和对集群系统研究的深入,特别是高效通信机制的开发,集群系统的通信性能将会接近专用的互连网络,并行编程环境和工具更加完善,有可能在集群系统上解决粒度更细的应用问题,并进一步提高并行效率,从而使并行处理系统的应用领域更加广泛。

参考文献:

[1]Rajkumar Buyya.高性能集群计算:编程与应用[M].北京:电子工业出版社,2001.

[2]张小芳.高可用性集群技术的研究和应用[J].计算机工程,2003(4).

[3]王勇超.基于MPICH2的高性能计算集群系统研究[J].计算机技术与发展,2008,9(9):101-103.

图1单机与集群对比图

38

SUSELinux搭建企业服务器的双机配置过程

SUSE Linux搭建企业服务器的双机配置过程 当集群中的某个节点由于软件或硬件原因发生故障时,集群系统可以把资源切换到其他健康的节点上,使整个系 统能连续不间断的对外提供服务,从而为机构24x365的关键业务提供了可靠的保障,达到了系统99.999%的高可用性和可靠性。SuSE Enterprise Linux 10.0是内置Linux 2.6.16内核的企业级服务器,较之SuSE Enterprise Linux 9.0,它在性能、可扩展性、易管理性和安全等方面都予以加强,并有众多硬件和应用软件支持。 最近,笔者使用SuSE Enterprise Linux 10.0作为系统平台(使用其它Linux平台在安装部署时可能有小差异),在其上采用HeartBeat、Mon和Rsync等开源软件打造了一个高可用系统,挖掘了SuSE Linux的高可用性。下面我为大家 详细介绍如何在Suse Linux搭建双机的配置过程。 一、HeartBeat、Mon、Rsync简介 二、安装环境 首先,需要准备两台PC服务器,每台服务器有两块网卡,其物理网络图如图 1 安装环境 图1 网络拓扑图 虽然在YaST2控制中心里有"高可用性"图形化的配置向导,我们这里不介绍一个过程,中在讲述原理和方法,主 要是基于命令行的配置方式。首先在PC服务器上安装SuSE Enterprise Linux 10.0系统,并将eth0配置为192.168.8.*网段,eth1配置为10.1.1.*网段,eth0链接对外的交换机,eth1用于两台机器的对连。 修改/etc /hosts文件,修改内容如下:

redmine安装部署

redmine安装使用 一、安装 redmine安装方法很多,下面介绍一种简单的安装方案: 1.下载集成安装包,下载地址 https://www.sodocs.net/doc/615952455.html,/stack/redmine 2.安装包下载后,点击运行,安装步骤很简单,基本上一路执行 下一步就可以,有几个地方需要注意:语言选择最好选择英文 (项目运行后可以选择中文显示);创建密码的时候记住密码,这个密码是你数据库初始化时候admin账户的初始密码和登录 数据库时候root账户的密码。 3.安装完成后,打开操作界面,如下图

选择“Manager Servers”选项卡,如下图 所有服务正常启动,则安装成功,如果没有启动则安装失败。 失败原因可能是端口占用、服务名称占用等原因,需要重新定 义安装。 注:一件安装包内容如下:apache、redmine、php、ruby、mysql、 phpadmin、svn。 二、集成插件 使用bitnami-redmine一键安装的redmine项目集成普通插件 十分简单。 1.首先需要到官网上下载支持所安装redmine版本的插件; 2.将下载来的压缩包解压 至%bitnami%/redmine-x.x.x-x/apps/redmine/htdocs/plu

gins目录下面。 3.将解压出来的文件夹名称由xxxxx-master改为xxxxx; 4.打开“开始”—》“所有程序”—》“Bitnami Redmine Stack” —》使用“product fullname”,打开命令端。 5.cd命令切换 到%bitnami%/redmine-x.x.x-x/apps/redmine/htdocs/plu gins目录下面 6.bundle install,安装集成插件需要的工具 7.rake redmine:plugins:migrate RAILS_ENV=production, 开始集成插件。 8.重启服务,再进如redmine,修改相关配置即可。 三、svn使用 bitnami redmine意见安装默认启用svn服务,可以在本地新建svn仓库服务,也可以使用其他的svn仓库。 默认支持svn协议和http协议,https协议需要手动配置。 项目管理员身份登录,进入一个项目,打开配置,如下图,打开版本库,新建版本库,填入相关参数,创建即可。

Matlab使用GPU并行加速方法

Matlab使用GPU并行加速方法 GPU具有十分强大的数值计算能力,它使用大规模并行方式进行加速。Matlab是十分重要的数学语言,矩阵计算十分方便。但是Matlab是解释型语言,执行相对较慢。我们可以使用GPU对Matlab进行加速。Matlab调用GPU加速方法很多,主要有: 1 在GPU上执行重载的MATLAB函数 1.1最简单的编程模式 对GPU上已加载数据的Matlab函数直接调用。Matlab已经重载了很多GPU 标准函数。 优点 ①用户可以决定何时在Matlab工作区和GPU之间移动数据或创建存储在GPU内存中的数据,以尽可能减少主机与设备间数据传输的开销。 ②用户可在同一函数调用中将在GPU上加载的数据和Matlab工作区中的数据混合,以实现最优的灵活性与易用性。 ③这种方法提供了一个简单的接口,让用户可以在GPU上直接执行标准函数,从而获得性能提升,而无需花费任何时间开发专门的代码。 缺点 ①在这种情况下,用户不得对函数进行任何更改,只能指定何时从GPU内存移动和检索数据,这两种操作分别通过gpuArray和gather命令来完成。

1.2在Matlab中定义GPU内核 用户可以定义Matlab函数,执行对GPU上的数据的标量算术运算。使用这种方法,用户可以扩展和自定义在GPU上执行的函数集,以构建复杂应用程序并实现性能加速。这种方式需要进行的内核调用和数据传输比上述方法少。 优点 ①这种编程模式允许用算术方法定义要在GPU上执行的复杂内核,只需使用Matlab语言即可。 ②使用这种方法,可在GPU上执行复杂的算术运算,充分利用数据并行化并最小化与内核调用和数据传输有关的开销。

Linux上搭建Java Web服务器

建立Java Web服务器 技术:Apache+Tomcat+JDK+Mysql 由于Apache整合了Tomcat,所以这个直接拿来用 首先上传上去 1.安装JDK jdk-6u18-linux-i586.bin:此文件为Linux可执行文件,所以直接运行但是这里不能运行,所以chmod 755必须赋予权限

安装完之后Java还不能运行,但是这不影响后面的,要让Java运行,先进入/bin/目录建立快捷方式:(注意此Java目录,我给移动到/目录下了) ln -sf /java/jdk1.6.0_18/bin/java ln -sf /java/jdk1.6.0_18/bin/javac ln -sf /java/jdk1.6.0_18/bin/javadoc ln -sf /java/jdk1.6.0_18/bin/javaws 2.安装Tomcat,直接解压缩就可以了 apache-tomcat-5.5.28.tar.gz 这种文件是先经过tar压缩,再由gzip压缩 gzip -d apache-tomcat-5.5.28.tar.gz tar -xvf apache-tomcat-5.5.28.tar

改名和移动文件都使用mv 启动Tomcat 配置一些环境变量 JAVA_HOME=/usr/java/jdk1.6.0_18 export JAVA_HOME 后启动Tomcat ./startup.sh

先安装Mysql Server,后安装Mysql Client 一些注意: ps -ef | grep tomcat(列出进程) kill ID号(结束进程) service iptables off ----彻底关闭防火墙 命令行下上网:wget http://IP .rpm:redHat package managerment rpm -qa:列出所有安装的包 rpm -qa | grep jdk是否安装jdk rpm -e 包名:卸载此包 rpm -ivh 文件名:安装文件 文件名》package名 文件名:MySQL-server-community-5.0.89-0.rhel4.i386.rpm 包名:MySQL 设置JAVA_HOME JAVA_HOME不能每次手动设

CRC16并行计算的Matlab推导

CRC16并行计算的Matlab推导 本文使用的CRC16的生成多项式为: 其对应的串行编码图如下图所示。 假设输入数据的位宽为8比特,即{I7,I6,I5,I4,I3,I2,I1,I0},I为Input的首字母。I0表示最低比特位,I7表示最高比特位。 在串行模式下,I0先输入CRC16计算模块,于是I0输入后各个寄存器的状态变化如下: = = = = = = = = = = =

= = = = = 可以将以上表达式组成矩阵乘法的形式,则有: '0D T D S I =?+? (1) 其中,D 为0D ~15D 构成的列向量,用转置矩阵的形式表示为: () 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15T D D D D D D D D D D D D D D D D D =同理,'D 是'0D ~'15D 构成的列向量,用转置矩阵的形式表示为: () '' ' ' ' ' ' ' ' ' ' ' ' ' ' ' '0123456789101112131415T D D D D D D D D D D D D D D D D D = 表达式(1)中的矩阵T ,表示为: 00000000000000110000000000000000100000000000001001000000000000000010000000000000000100000000000000001000000000000000010000000000000000100000000000000001000000000000000010000000000000000100000000000T =0000010000000000000000100000000000000001000000000000000011?? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?? ?

redmine 安装过程

自己在网上看到redmine,感觉功能很强大。于是自己就开始安装,但是谁想到在安装过程中的坑呀,摔的自己遍体鳞伤,自己做一下总结,希望别人能绕过这些坑,走直路。 1. 安装环境:系统:ubutu1 2.04 架构:LAMP 安全:防火墙和selinix(全部关闭) 2.安装流 程: A. 安装 ruby #官网下载ruby-2.2以上的版本,否则安装过程中的组件会安装不上。(以2.2.4为例) # tar zxvf ruby-2.2.4.tar.gz # cd ruby-2.2.4 # ./configure # make && make install 设置Ruby环境变 vim ~/.profile export PATH=$PATH:/usr/local/src/ruby-2.2.4/ B.安装 rubygems

# tar zxvf rubygems-2.6.6.tgz # cd rubygems-2.6.6 # ruby setup.rb C.安装依赖包:apt-get install libmysqlclient-dev apache2-threaded-dev D.安装redmine 官网下载redmine-2.4.3.tar.gz #tar zxf redmine-2.4.3.tar.gz #./configure #make &&make install # mv redmine-2.4.3 /usr/local/redmine E.gem 组件安 装: 1. gem install

bundler 安装过程需要更改源(否则安装很慢): gem sources --remove https://https://www.sodocs.net/doc/615952455.html,/ gem sources -a https://https://www.sodocs.net/doc/615952455.html,/ 安装过程中可能会出现:报错-->Can't find Magick-config 查看提示日志内容发现:find_executable: checking for Magick-config... -------------------- no 解决发法:sudo apt-get install libmagickwand-dev imagemagick 再次安装即可:gem install bundler 3.修改redmine源码包中:Gemfile文件,替换https://https://www.sodocs.net/doc/615952455.html, 为https://https://www.sodocs.net/doc/615952455.html,(开头) #bundle install --without development test postgresql sqlite rmagick ************** ****************安装完成后会生成 Gemfile.lock.************************************************** 详解: Gemfile是指定需要使用的哪些gem及其版本的地 方; Gemfile.lock文件是Bundler记录已经安装了的版本的地方。通过这样的方式,

MATLAB分布式并行计算服务器配置和使用方法Word版

Windows下MATLAB分布式并行计算服务器配置和使用方 法 1MATLAB分布式并行计算服务器介绍 MATLAB Distributed Computing Server可以使并行计算工具箱应用程序得到扩展,从而可以使用运行在任意数量计算机上的任意数量的worker。MATLAB Distributed Computing Server还支持交互式和批处理工作流。此外,使用Parallel Computing Toolbox 函数的MATLAB 应用程序还可利用MATLAB Compiler (MATLAB 编译器)编入独立的可执行程序和共享软件组件,以进行免费特许分发。这些可执行应用程序和共享库可以连接至MATLAB Distributed Computing Server的worker,并在计算机集群上执行MATLAB同时计算,加快大型作业执行速度,节省运行时间。 MATLAB Distributed Computing Server 支持多个调度程序:MathWorks 作业管理器(随产品提供)或任何其他第三方调度程序,例如Platform LSF、Microsoft Windows Compute Cluster Server(CCS)、Altair PBS Pro,以及TORQUE。 使用工具箱中的Configurations Manager(配置管理器),可以维护指定的设置,例如调度程序类型、路径设置,以及集群使用政策。通常,仅需更改配置名称即可在集群间或调度程序间切换。 MATLAB Distributed Computing Server 会在应用程序运行时在基于用户配置文件的集群上动态启用所需的许可证。这样,管理员便只需在集群上管理一个服务器许可证,而无需针对每位集群用户在集群上管理单独的工具箱和模块集许可证。 作业(Job)是在MATLAB中大量的操作运算。一个作业可以分解不同的部分称为任务(Task),客户可以决定如何更好的划分任务,各任务可以相同也可以不同。MALAB中定义并建立作业及其任务的会话(Session)被称为客户端会话,通常这是在你用来编写程序那台机器上进行的。客户端用并行计算工具箱来定义和建立作业及其任务,MDCE通过计算各个任务来执行作业并负责把结果返

linux下用apache搭建web服务器

Linux下搭建web服务器 Apache源于NCSAhttpd服务器,经过多次修改,成为世界上最流行的 Web服务器软件之一。Apache取自“a patchy server”的读音,意 思是充满补丁的服务器,因为它是自由软件,所以不断有人来为它开发新的功能、新的特性、修改原来的缺陷。Apache的特点是简单、 速度快、性能稳定,并可做代理服务器来使用。 本来它只用于小型或试验 Internet网络,后来逐步扩充到各种Unix 系统中,尤其对Linux的支持相当完美。Apache有多种产品,可以支持SSL技术,支持多个虚拟主机。Apache是以进程为基础的结构,进程要比线程消耗更多的系统开支,不太适合于多处理器环境,因此,在一个Apache Web站点扩容时,通常是增加服务器或扩充群集节点 而不是增加处理器。到目前为止Apache仍然是世界上用的最多的Web 服务器,市场占有率达60%左右。世界上很多著名的网站如Amazon.c om、Yahoo!、W3 Consortium、Financial Times等都是Apache的产物,它的成功之处主要在于它的源代码开放、有一支开放的开发队伍、支持跨平台的应用(可以运行在几乎所有的Unix、Windows、Linux 系统平台上)以及它的可移植性等方面。 Apache的诞生极富有戏剧性。当NCSA WWW服务器项目停顿后,那些 使用NCSA WWW服务器的人们开始交换他们用于该服务器的补丁程序,他们也很快认识到成立管理这些补丁程序的论坛是必要的。就这样,诞生了Apache Group,后来这个团体在NCSA的基础上创建了Apache。 Apache的主要特征是: 可以运行上所有计算机平台; 支持最新的H TT P1.1协议; 简单而强有力的基于文件的配置; 支持通用网关接口CGI; 支持虚拟主机; 支持H TT P认证; 集成P erl脚本编程语言;

linux环境下平台部署(域的建立)

linux环境下平台部署(域的建立) 1. 运行putty软件,输入对应的用户及密码远程进入命定端; 2. 使用cd及ls的命定进入到weblogic服务的命定的文件夹下,如下图所示; 3. 开始建域:

执行./config.sh -mode=console命定,按照下面步骤进行建域操作; 进入设置: <-------- BEA WebLogic Configuration Wizard --------------> Create or Extend a Configuration: --------------------------------- Choose between creating and extending a configuration. Based on your selection, the Configuration Wizard guides you through the steps to generate a new or extend an existing configuration. ->1|Create a new WebLogic configuration |Start here to create a WebLogic configuration in your projects directory. 2|Extend an existing WebLogic configuration |Start here to extend an existing WebLogic configuration. Use this option to add applications and services, including Database | access (JDBC) and Messaging (JMS). This option also enables you to extend functionality by enabling WebLogic Workshop. Enter index number to select OR [Exit][Next]> 1 <--------------------------------BEA WebLogic Configuration Wizard -----------------------> Select a Domain Template: ------------------------- Please select a template from the list or select another directory of templates. *[/home/weblogic/bea/weblogic81/common/templates/domains] 1|Basic WebLogic Platform Domain 8.1.3.0 | BEA Systems, Inc. | Create a basic WebLogic Platform domain, without installing sample applications. Domains created from this template will support the |WebLogic Server, WebLogic Workshop, WebLogic Integration and WebLogic Portal runtime functionality, including support for J2EE

Linux系统下YUM仓库的配置与搭建

龙源期刊网 https://www.sodocs.net/doc/615952455.html, Linux系统下YUM仓库的配置与搭建 作者:曹新鸿 来源:《中小企业管理与科技·上旬刊》2015年第03期 摘要:阐述Linux操作系统选软件安装中两种常见的形式,并分析了RPM软件包管理存在的问题,引入YUM技术并对YUM仓库的安装、配置与搭建进行研究,实现使用YUM仓库解决RPM管理中存在的依赖关系。 关键词:YUM仓库 RPM 开源软件 Linux系统 对于Linux初学者来说,安装软件是一件很让人头疼的事,因为在Linux以开源著称,Linux下安装软件不像在 Windows中那样简单。在Linux系统中大多数软件提供的是源代码,而不是现成的可执行文件,这就要求用户根据自己系统的实际情况和自身的需要来配置、编译源程序后,软件才能使用。这也是Linux之所以不能被普遍人群所接受的重要原因。随着Linux的不断升级,软件的安装也在不断的改进,本文旨在研究Linux下的YUM技术。 1 问题描述 随着Linux的不断升级与进步,目前Linux下的软件安装包主要有两种形式,其一是RPM 包,其二是压缩成*.tar.gz的形式。*.tar.gz的格式需要有一定的Linux专业功底,RPM包是最受欢迎的形式。Linux是开源的操作系统,并且一向推崇自由软件,正是因为开源与自由造成了RPM包具有很深的依赖关系。使用RPM在Linux中安装软件或者服务时经常会涉及到rpm 包的依赖,往往我们在安装A软件时,提示会依赖于B,安装B时会依赖于C,安装时会……等一系列的依赖关系,YUM仓库技术可以自动解决RPM的依赖关系,方便软件的安装。因此本文的研究具有重要的意义。 2 YUM技术介绍 Yum(全称为Yellow dog Updater, Modified)是一个在Fedora和RedHat以及CentOS中的Shell前端软件包管理器。基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载、安装。 我们在安装好Linux后要进行YUM源的设置,是为了方便日后对软件包的管理,解决单独安装RPM软件包时可能产生的软件包依赖关系。在企业中,我们会设置企业自己的YUM 源(库)方便企业Linux系统(主要是红帽和红帽的Fedora)对软件包的管理,更重要的原因是保证YUM源的安全性,因为一个软件包从源头就被修改过或者做过手脚的话,那么这样的软件的安装已经没有什么意义了。 3 YUM仓库的搭建

Matlab 并行工具箱学习总结

目录 Matlab 并行工具箱学习 (1) 1.简介 (1) 1.1.并行计算 (1) 1.2.并行计算平台 (1) 1.3.Matlab与并行计算 (1) 2.Matlab 并行计算初探 (2) 2.1.并行池 (2) 2.1.1.配置和开启池(parpool) (2) 2.1.2.获取当前池(gcp) (3) 2.1.3.关闭池(delete) (4) 2.2.循环并行parfor (4) 2.2.1.Matlab client 和Matlab worker (4) 2.2.2.并行程序中的循环迭代parfor (4) 2.2.3.利用parfor并行for循环的步奏 (5) 2.3.批处理(batch) (5) 2.3.1.运行批处理任务 (5) 2.3.2.运行批处理并行循环 (6) 2.4.MATLAB的GPU计算 (6) 2.4.1.GPU设备查询与选择 (8) 2.4.2.在GPU上创建阵列 (8) 2.4.3.在GPU上运行内置函数 (9) 2.4.4.在GPU上运行自定义函数 (10) 3.总结 (11) 参考文献 (1)

Matlab 并行工具箱学习 1.简介 高性能计算(High Performance Computing,HPC)是计算机科学的一个分支,研究并行算法和开发相关软件,致力于开发高性能计算机。可见并行计算是高性能计算的不可或缺的重要组成部分。 1.1.并行计算 并行计算(Parallel Computing)是指同时使用多种计算资源解决计算问题的过程,是提高计算机系统计算速度和处理能力的一种有效手段。它的基本思想是用多个处理器来协同求解同一问题,即将被求解的问题分解成若干个部分,各部分均由一个独立的处理机来并行计算。并行计算系统既可以是专门设计的、含有多个处理器的超级计算机,也可以是以某种方式互连的若干台的独立计算机构成的集群。通过并行计算集群完成数据的处理,再将处理的结果返回给用户[1]。 1.2.并行计算平台 平台是并行计算的载体,它决定着你可以用或只能用什么样的技术来实现并行计算。 多核和集群技术的发展,使得并行程序的设计成为提高数值计算效率的主流技术之一。常用的小型计算平台大致分为:由多核和多处理器构建的单计算机平台;由多个计算机组成的集群(Cluster)。前者通过共享内存进行数据交互,后者通过网络进行数据通信。 计算正在从CPU(中央处理)向CPU 与GPU(协同处理)的方向发展。 GPU最早主要应用在图形计算机领域,近年来,它在通用计算机领域得到了迅猛的发展,使用GPU做并行计算已经变得越来越重要和高效。 常用的并行计算技术包括多线程技术、基于共享内存的OpenMP技术,基于集群的MPI 技术等。但它们都需要用户处理大量与并行计算算法无关的技术细节,且不提供高效的算法库,与数值计算的关联较为松散。 1.3.Matlab与并行计算 Matlab即是一款数值计算软件,又是一门语言,它已经成为数值计算领域的主流工具。Matlab提供了大量高效的数值计算模块和丰富的数据显示模式,便于用户进行快速算法的

Linux系统下Web服务器配置详细介绍

1.MYSQL的配置过程: [root@mailweb]#tar zxvf mysql-5.0.18.tar.gz [root@mailweb]#cdmysql-5.0.18 [root@mailmysql-5.0.18]#groupaddmysql [root@mailmysql-5.0.18]#useradd-gmysqlmysql [root@mailmysql-5.0.18]#./configure——prefix=/usr/local/mysql#把MYSQL安装到指定目录 [root@mailmysql-5.0.18]#make [root@mailmysql-5.0.18]#makeinstall [root@mailmysql-5.0.18]#scripts/mysql_install_db [root@mailmysql-5.0.18]#chown-Rroot/usr/local/mysql [root@mailmysql-5.0.18]#chown-Rmysql/usr/local/mysql/var [root@mailmysql-5.0.18]#chgrp-Rmysql/usr/local/mysql [root@mailmysql-5.0.18]#cpsupport-files/https://www.sodocs.net/doc/615952455.html,f/etc/https://www.sodocs.net/doc/615952455.html,f 用如下命令启动MySQL数据库(如果操作系统默认安装的有MySQL数据库请确认其没有启动): [root@mailmysql-5.0.18]#/usr/local/mysql/bin/safe_mysqld——user=mysql& 将上面的启动命令追加到文件"/etc/rc.d/rc.local"的尾部,使操作系统启动时就自动MySQL数据库服务器。以下对MYSQL进行初始化设置: [root@mailmysql-5.0.18]#/usr/local/mysql/bin/mysql进入MYSQL客户端工具,进行相关设置 mysql>dropdatabasetest;mysql>usemysql;mysql>deletefrommysql whereuser="";mysql>deletefrommysqlwherehost="%";mysql>delet efromdb; 现在mysql数据库将只允许本机的mysql管理员root用户(和操作系统的root 用户不同)连接,用如下命令为root用户指定密码:

Parallel Computing with MATLAB(并行计算)

Getting Started with Parallel Computing using MATLAB: Interactive and Scheduled Applications Created by S. Zaranek, E. Johnson and A. Chakravarti 1.Objectives This user guide provides an end user with instructions on how to get started running parallel MATLAB applications using a desktop computer or a cluster. 2.Assumptions User has access to MATLAB and Parallel Computing Toolbox on the desktop computer or head node of the cluster. If running on a cluster: MATLAB Distributed Computing Server has been installed by an administrator on the cluster. The desktop MATLAB client has been configured to connect to the cluster. If this has not been done, you should contact the cluster administrator. 3. Getting the Example Files Unzip the demoFiles.zip file that was provided along with this guide. You can add the files to the MATLAB path by running the addpath command in MATLAB. >> addpath 4. Examples Running Locally In this section, you will be running and submitting jobs using the local configuration. If your workflow will ultimately involve submitting jobs to a cluster, you can follow this section by switching the default configuration from local to that of your cluster and running these jobs again. This is described in Section 5.

LINUX系统中环境搭建

LINUX系统中服务器环境搭建 一:软件介绍 Apache:世界使用排名第一的Web服务器软件。 Tomcat:是运行在java环境(JDK)下的web服务器,只要有java环境就可以运行。 PHP:是一种HTML内嵌式的语言,是一种在服务器端执行的脚本语言,(PHP是服务端脚本,而HTML 是客户端脚本。服务器将php解析后生成HTML,服务器对HTML文件不做解析,然后通过网络将HTML传到客户端(直接传HTML的代码内容),再由浏览器解析HTML。任何语言写出来的网页最终都被解析成HTML语言, 然后返回客户端,被浏览器解析,浏览器只认html) MySQL:是一个开放源码的数据库管理系统。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库。 二:防火墙关闭 1、Selinux是强制访问控制(MAC)系统(一种防火墙) 命令getenforce检查selinux是否已禁用,如果不是disabled或setenforce 0 则修改/etc/selinux/config文件,将状态改成disabled,保存并重启linux!! 2、检查防火墙是否禁用,命令/etc/init.d/iptables status或(service iptables status)查看状态,如果没禁 用则: 临时关闭方式:命令/etc/init.d/iptables stop或(service iptables stop)禁用。 永久关闭方式:命令chkconfig --level 35 iptables off,重启之后防火墙关闭。 三:安装前的准备工作: 将安装文件传到虚拟机linux上,可以采用两种方式 1:使用连接器secureFX进行上传。 2:在windows的机器上创建一个共享文件夹,例如:sharedoc,将安装文件放入sharedoc。然后在linux里面运行命令:mount -t cifs -o username=user1,password=password //ip/sharedoc /mnt/share 注意:user1使用windows机器具有共享权限的用户名,password使用用户对应的密码,ip 替换成windows机器的真实IP。/mnt/share这个表示linux上的某个路径,可以更改为任意 实际存在的文件夹,建议将要安装的源文件放到/opt/source路径下。 b、如果要自定义安装的话,手动创建软件安装的目录。 比如:mkdir /opt/lamp/apache 安装apache用 mkdir /opt/lamp/mysql 安装mysql用 mkdir /opt/lamp/php 安装php用

Linux文件服务器与Web服务配置

实训项目5 Linux文件与Web服务 一、实训目的 ●掌握Linux系统之间资源共享和互访方法。 ●掌握Linux文件服务器的配置方法(企业NFS服务器和客户端的安装与配置)。 ●掌握Linux系统中Apache服务器的安装与配置。 ●掌握个人主页、虚拟目录、基于用户和主机的访问控制及虚拟主机的实现方法(可选)。 二、实训内容 ●练习Linux系统NFS服务器与NFS客户端的配置方法。 ●练习Linux系统Apache服务器的安装与配置方法。 三、实训步骤 子项目1.NFS服务器与NFS客户端的配置(必做) 某企业的销售部有一个局域网,域名为https://www.sodocs.net/doc/615952455.html,。网络拓扑图如下图所示。网内有一台Linux的共享资源服务器www,域名为https://www.sodocs.net/doc/615952455.html,。现要在www上配置NFS 服务器,使销售部内的所有主机都可以访问www服务器中的/share共享目录中的内容,但不允许客户机更改共享资源的内容。同时,让主机china在每次系统启动时自动挂载www 的/share目录中的内容到china3的/share1目录下。

(一)、软件安装及准备工作 检测系统是否安装了NFS服务器对应的软件包,如果没有安装的话,进行安装。 # rpm -qa | grep nfs //确认NFS已经安装,NFS是默认安装选项 nfs-utils-lib-1.1.5-1.el6.i686 # service nfs status rpc.svcgssd is stopped //如果NFS已经安装,则查看其服务是否启动 rpc.mountd is stopped nfsd is stopped rpc.rquotad is stopped # ll /share //查看/share目录是否已经建立 ls: cannot access /share: No such file or directory # mkdir /share # cat > /share/hello.txt hello! ^C //注意:此处的^C不是输入的字符内容,而是一个Ctrl+C的键盘输入 (二)、配置主配置文件/etc/exports # vim /etc/exports /share *(ro,async) //所有网段访问,只读,同步 /tmp 192.168.0.0/255.255.255.0(rw,async) //只允许192.168.5网段访问,可读写 (三)、启动服务 # service nfs start Starting NFS services: [ OK ] Starting NFS quotas: [ OK ] Starting NFS daemon: [ OK ] Starting NFS mountd: [ OK ] # service named start //启动域名服务 Starting named: [ OK ] (四)、配置防火墙

LINUX下搭建测试环境

第一步 装载Linux虚拟机,详细步骤不再介绍。 第二步 设置IP地址等信息 (1)——设置IP、子网掩码、网关、主DNS 也可以通过修改文件进行设置 vi/etc/sysconfig/network-scripts/ifcfg-eth0设置IPADDR=IP地址,NETMASK=掩码,ONBOOT=YES,启动时启动网卡 vi/etc/resolv.conf设置DNS 第三步 通过SecurCRT工具链接到linux下 在文件菜单中选择快速连接 输入你所设置的主机名: 默认端口:22 用户名:root 点击连接 输入root用户的密码****** 点击确定

窗口显示以下页面表示连接成功 设置完成后通过ifconfig命令可以查看当前系统的网络信息

第四步 安装jdk和配置环境变量 首先在/usr/java下建立安装路径,并将文件考到该路径下: 建立安装路径: #mkdir/usr/java 上传文件: 在CRT窗口菜单进入传输-Zmodem上传列表 安装JDK_rpm #rpm–ivh jdk-7u71-linux-i586.rpm 安装完成之后需要配置环境变量 输入: #vi/etc/profile进入vi编辑器添加以下内容,蓝色字体部分按键盘上的i键进入编辑模式 unset i export JAV A_HOME=/usr/java/jdk1.7.0_71 export PATH=$JA V A_HOME/bin:$PATH export CLASSPATH=.:$JAV A_HOME/lib/dt.jar:$JAV A_HOME/lib/tools.jar unset pathmunge 输入完成之后按Esc退出编辑模式输入:wq或:x退出并保存 重启系统 #reboot 安装apache-tomcat 下载apache-tomcat-8.0.15.tar.gz包 把apache-tomcat-8.0.15.tar.gz包放入根目录下 使用命令: #tar–zxvf apache-tomcat-8.0.15.tar.gz解压缩 #cp apache-tomcat-8.0.15/usr/local/tomcat复制apache-tomcat-8.0.15到/usr/local/下并重命名为tomcat

MATLAB分布式并行计算环境

前言:之前在本博客上发过一些关于matlab并行计算的文章,也有不少网友加我讨论关于这方面的一些问题,比如matlab并行计算环境的建立,并行计算效果,数据传递等等,由于本人在研究生期间做论文的需要在这方面做过一些研究,但总体感觉也就是一些肤浅的应用,现已工作,已很少再用了,很多细节方面可能也记不清了,在这里将以前做的论文内容做一些整理,将分几个小节,对matlab并行计算做个一个简要的介绍,以期对一些初学者有所帮助,当然最主要的还是多看帮助文档及相关技术文章!有不当之处敬请各位网友指正, 3.1 Matlab并行计算发展简介 MATLAB技术语言和开发环境应用于各个不同的领域,如图像和信号处理、控制系统、财务建模和计算生物学。MA TLAB通过专业领域特定的插件(add-ons)提供专业例程即工具箱(Toolbox),并为高性能库(Libraries)如BLAS(Basic Linear Algebra Subprograms,用于执行基本向量和矩阵操作的标准构造块的标准程序)、FFTW(Fast Fourier Transform in the West,快速傅里叶变换)和LAPACK(Linear Algebra PACKage,线性代数程序包)提供简洁的用户界面,这些特点吸引了各领域专家,与使用低层语言如C语言相比可以使他们很快从各个不同方案反复设计到达功能设计。 计算机处理能力的进步使得利用多个处理器变得容易,无论是多核处理器,商业机群或两者的结合,这就为像MATLAB一样的桌面应用软件寻找理论机制开发这样的构架创造了需求。已经有一些试图生产基于MATLAB的并行编程的产品,其中最有名是麻省理工大学林肯实验室(MIT Lincoln Laboratory)的pMATLAB和MatlabMPI,康耐尔大学(Cornell University)的MutiMATLAB和俄亥俄超级计算中心(Ohio Supercomputing Center)的bcMPI。 MALAB初期版本就试图开发并行计算,80年代晚期MA TLAB的原作者,MathWorks 公司的共同创立者Cleve Moler曾亲自为英特尔HyperCube和Ardent电脑公司的Titan超级计算机开发过MATLAB。Moler 1995年的一篇文章“Why there isn't a parallel MATLAB?[**]”中描述了在开了并行MA TLAB语言中有三个主要的障碍即:内存模式、计算粒度和市场形势。MATLAB全局内存模式的多数并行系统的分布式模式意味着大数据矩阵在主机和并行机之间来回传输。与语法解析和图形例程相比,那时MA TLAB只花了小部分的时间行例程上,这使得并行上的努力并不是很有吸引力。最后一个障碍对于一个资源有限的组织来讲确实是一个现实,即没有足够多的MA TLAB用户将其用于并行机上,因此公司还是把注意力放在单个CPU的MA TLAB开发上。然而这并不妨碍一些用户团体开发MA TLAB并行计算功能,如上面提到的一些实验室和超级计算中心等。 有几个因素使并行MATLAB工程在MathWorks公司内部变得很重要,首先MATALB 已经成长为支持大规模工程的领先工程技术计算环境;其次现今的微处理器可以有两个或四个内核,将来可能会更多甚至个人并行机,采用更复杂的分层存储结构,MA TLAB可以利用多处理器计算机或网络机群;最后是用户团体中要求全面成熟解决方案的呼声也越来越高[] Cleve Moler. Parallel MATLAB: Multiple Processors and Multi Cores, Th eMathWorks News&Notes 。 有三种途径可以用MATLAB来创建一个并行计算系统。第一种途径是主要是把MATLAB或相似程序翻译为低层语言如C或FORTRAN,并用注解和其它机制从编译器中生成并行代码,如CONLAB和FALCON工程就是这样。把MATLAB程序翻译为低层C或FORTRAN语言是个比较困难的问题,实际上MathWorks公司的MA TLAB编译软件就能转换生成C代码到生成包含MATLAB代码和库并支持各种语言特性的包装器。

相关主题