Beowulf集群的研究与搭建.docx

上传人:b****5 文档编号:28315672 上传时间:2023-07-10 格式:DOCX 页数:16 大小:78.87KB
下载 相关 举报
Beowulf集群的研究与搭建.docx_第1页
第1页 / 共16页
Beowulf集群的研究与搭建.docx_第2页
第2页 / 共16页
Beowulf集群的研究与搭建.docx_第3页
第3页 / 共16页
Beowulf集群的研究与搭建.docx_第4页
第4页 / 共16页
Beowulf集群的研究与搭建.docx_第5页
第5页 / 共16页
点击查看更多>>
下载资源
资源描述

Beowulf集群的研究与搭建.docx

《Beowulf集群的研究与搭建.docx》由会员分享,可在线阅读,更多相关《Beowulf集群的研究与搭建.docx(16页珍藏版)》请在冰豆网上搜索。

Beowulf集群的研究与搭建.docx

Beowulf集群的研究与搭建

 

毕业论文

论文题目(中文)Beowulf集群的研究与搭建

论文题目(外文)ResearchandconstructionofBeowulfcluster

 

Beowulf集群的研究与搭建

摘要

随着信息产业的不断发展,单台计算机的性能和稳定性越来越好,但是有些任务单台计算机还是难以完成,为此,一些人想到了用普通的PC机通过某种方式结合起来,形成一个高性能的系统,这种系统就叫做集群。

集群系统使用方便,对软件、硬件设备的要求比较低,而且还价格低廉,适合于用来代替昂贵的超级计算机。

而Beowulf集群系统是基于广泛应用于通用网络环境下由一些微机组成的计算机群系统,它可以运行于多种操作系统(如Linux、Windows等)。

作为一个高性能的计算系统,它具有很多优点,例如:

廉价,易管理,性价比高等。

在本文中,主要研究了Beowulf集群的框架与组成、在Linux操作系统下Beowulf集群系统的手工搭建方法,利用实验室现有的硬件设备和软件技术支持,设计并实现了一种基于Linux和MPI的集群系统。

首先,本文详细研究了Beowulf集群的起源、分类与体系结构,从硬件支持、网络设计、环境配置等方面入手,研究并设计搭建Beowulf集群。

从并行计算作为切入点,在了解了基于MPI和Linux集群系统的基本原理和思想,介绍了实现并行计算和集群中间件的几种关键技术。

其次,利用简便的硬件资源,合理的运用Linux系统的软件技术,通过配置硬件环境、分配网络地址、合理设置节点等,纯手工搭建Beowulf集群。

最后,提出了可以采用基于静态分配和动态分配这两种分配策略去设计并行测试程序来检测集群的性能。

可以用加速比来衡量集群系统的优劣。

关键词:

MPI;Beowulf;并行计算;集群系统;Linux

 

ResearchandconstructionofBeowulfcluster

Abstract

Withthedevelopmentofinformationindustry,asinglecomputerperformanceandbetterstability,butsomeofthetasksasinglecomputerisdifficulttocomplete,therefore,somepeoplethoughtcombinedwithordinaryPCinsomeway,theformationofahighperformancesystem,thissystemiscalledcluster.Theclustersystemiseasytouseandhaslowrequirementsonsoftwareandhardware,anditisalsocheap,whichissuitableforreplacingexpensivesupercomputers.

TheBeowulfclustersystemisbasedonthewidelyusedinthegeneralnetworkenvironmentbyanumberofcomputercomposedofcomputergroupsystem,itcanruninavarietyofoperatingsystems(suchasLinux,Windows,etc.).Asahighperformancecomputingsystem,ithasmanyadvantages,suchascheap,easytomanage,cost-effective.Inthispaper,themainresearchframeandcomponents,intheLinuxoperatingsystemofBeowulfclustersystemmanualmethodofbuildingBeowulfcluster,usingexistinglaboratoryhardwareandsoftwaretechnologysupport,thedesignandimplementationofaclustersystembasedonMPIandLinux.

Firstofall,thispaperstudiestheorigin,classificationandarchitectureofBeowulfclusterindetail,fromtheaspectsofhardwaresupport,networkdesign,environmentconfigurationandsoon,theresearchanddesignofBeowulfcluster.Fromthepointofviewofparallelcomputing,thispaperintroducesthebasicprinciplesandideasofMPIandLinuxclustersystem,andintroducesseveralkeytechnologiesofparallelcomputingandclustermiddleware.

Secondly,byusingsimplehardwareresources,reasonableuseoftheLinuxsystemsoftwaretechnology,throughtheconfigurationofthehardwareenvironment,theallocationofnetworkaddress,therationalsettingofnodes,etc.,manuallysetupBeowulfclusters.

Finally,itisproposedthattwokindsofallocationstrategiesbasedonstaticallocationanddynamicallocationcanbeusedtodesigntheparalleltestprogramtotesttheperformanceofthecluster.Canbeusedtomeasuretheaccelerationratiooftheadvantagesanddisadvantagesoftheclustersystem.

Keywords:

MPI;Beowulf;ParallelComputing;ClusterSystem;Linux

 

引言

随着信息产业的快速发展,计算机的性能在不断地提高,并行计算在工程处理、大数据计算、科学研究等很多领域产生了巨大的影响。

计算机的普及率提高以及并行计算的需求提高促进了并行计算的发展。

如何快速而有效地提高科学计算速度已经成为并行计算迫切需要解决地问题之一;由于集群系统具有高可扩展性、高可用性、高性能和高性价比等优点,科学家们对集群的研究越来越感兴趣。

这些年来,由于PC机的成本降低,PC机的普及率大大提高,PC机构成的Beowulf集群逐渐代替了并行机在处理并行计算事务上的地位。

作为并行计算系统的一种,Beowulf集群具有投资风险小、可扩展性好、容易编程等优点,目前已经很快成为各高校实验室研究的热点和主流,在国内外受到普遍重视。

目前,随着集群系统性能的不断提高,Beowulf集群广泛应用于各个领域。

因为商用微型处理器性能的飞速发展以及高带宽、低延迟的商用网络交换机的出现,还有Linux等自由软件的成熟,集群系统不仅受到大型科研单位的青睐,而且也出现在许多高校的学术研究领域。

尽管Beowulf集群在稳定性、使用方便性和通信性能等方面有待进一步提高,但是它以其他并行机系统无法比拟的性价比优势成为一支不可忽视的重要力量在高性能并行计算领域飞速发展。

简单来说,Beowulf是一种能够将多台计算机用于并行计算的体系结构。

通常Beowulf系统由通过以太网或其他网络链接的一个控制节点、多个计算节点以及其他管理里节点构成。

集群系统的控制由控制节点来完成,管理节点为计算节点提供对外的网络连接和文件服务。

利用普通的的硬件设备,像集线器、普通PC机和基础网络设施就可以构建Beowulf集群,不需要特别定制的硬件和特殊的设备。

Beowulf集群的应用软件也是随处可见的,像Linux、PVM和MPI。

本文对Beowulf集群系统的体系结构、资源管理、任务调度等方面进行了深入的研究。

利用实验室现有的硬件和软件资源,设计并实现了一个基于消息传递的Beowulf集群系统,以满足实验室进行并行与分布式计算的需要。

第一章Beowulf集群简介

1.1什么是Beowulf集群

1Beowulf是现存的最古老的英语史诗:

2FamedwasthisBeowulf:

farewtheboastofhim,sonofScyld,intheScandianlands.Sobecomesitayouthtoquithimwellwithhisfather'sfriends,byfeeandgift,thattoaidhim,aged,inafterdays,comewarriorswilling,shouldwardrawnigh,liegemenloyal:

bylaudeddeedsshallanearlhavehonorineveryclan.

3它歌颂了一个英雄,他拥有强壮的体魄和无人伦比的勇气。

他最终战胜了魔鬼Grendel。

4Beowulf集群就是说,有着强大的处理并行计算能力的集群系统。

5因为几乎每个Beowulf集群的设计者都有自己的Beowulf集群的定义,恐怕很难给Beowulf集群下一个确切的定义。

一些人认为只有那些采用和原始的Beowulf集群系统一样方法构建的系统才叫Beowulf集群。

而另一些人则认为凡是能够在多个工作站上运行并行代码的系统都称为Beowulf集群。

6我们将大多数Beowulf集群具有的特征作为Beowulf集群的定义:

∙Beowulf是一种系统结构,它使得多个计算机组成的系统能够用于并行计算。

∙Beowulf系统通常由多个计算节点和一个管理节点组成。

它们通过以太网(或其他网络)连接。

管理节点控制计算节点,通常也是计算节点的网关和控制终端。

一般它也是集群系统文件服务器。

在大型的集群系统中,由于特殊的需求,这些管理节点的功能也可能由多个节点分摊。

∙Beowulf系统通常由最常见的硬件设备组成,例如,PC、以太网卡和以太网交换机。

Beowulf系统很少包含用户定制的特殊设备。

∙Beowulf系统通常采用那些廉价且广为传播的软件,例如,Linux操作系统、并行虚拟机(PVM)和消息传递接口(MPI)。

1.2Beowulf集群的分类

1.2.1第一类Beowulf集群

这一类Beowulf集群全部由COTS设备组成。

第一类Beowulf系统的优点是:

∙硬件设备由多个来源,通常具有廉价和易管理维护的特点。

∙不依赖于单个硬件供应商

∙所有设备驱动都由Linux开发社团提供

∙通常都是标准设备,例如,SCSI、以太网等等

当然第一类Beowulf集群的缺点也是非常显然的。

由于所采用的硬件都没有经过性能优化,所以其很难达到很好的性能。

比如,由于以太网的高延迟和低带宽使得集群系统中消息传递很难达到MIMD应用的需求,从而使整个集群系统的计算能力大打折扣。

1.2.2第二类Beowulf集群

第二类Beowulf集群是指那些采用了用户定制设备的Beowulf集群。

这类集群系统最大优点是具有很好的性能。

例如,采用Myrinet作为集群系统的IPC网络可以极大地提供进程间消息传递延迟和速度。

当然它的缺点就是依赖于单个硬件提供商而且价格高昂。

 

第二章Beowulf集群体系结构

在现实中存在形形色色的Beowulf集群。

虽然它们都是原始Beowulf集群的衍生物,但是它们的体系结构也存在各种各样微小的差异。

以IBMeServerCluster1300为例来阐述Beowulf集群体系结构和系统组成。

图1是Cluster1300上Beowulf集群的系统视图

图1是Cluster1300上Beowulf集群的系统视图。

无论是管理节点(MasterNode)和计算节点都是IntelIA32架构的xSeriesPC服务器。

它们通过网络(以太网和Myrinet)相连接。

所有的节点都运行Linux操作系统。

计算节点上运行的并行应用程序一般采用MPI完成并行进程间的通信。

计算节点通过管理节点和外部LAN相连。

整个集群系统都在一套集群管理工具监控之下。

图2Cluster1300上Beowulf集群组件

图2是Cluster1300上Beowulf集群的组件视图。

它揭示了Beowulf集群的组成部分。

通常Beowulf集群由四个层次构成:

∙硬件:

主要是指IntelIA32架构的PC服务器。

∙网络:

指用于节点间通信的局域网(普通的以太网)和并行进程间通信的高速网(Myrinet等高速网)。

∙软件:

主要指Linux操作系统和用于并行通信的并行编程库(如MPI和PVM)。

∙并行应用

下面分三个方面来介绍这四个层次。

2.1Beowulf集群硬件与网络

Beowulf集群硬件和网络层次需要解决的问题是如何组织硬件使其达到最高的性价比。

为了达到很好的性价比,Beowulf通常采用廉价的COTS硬件。

当然有时为了提供某些关键的性能,也会使用一些特殊的设备。

从硬件组织的角度说,Beowulf集群中的节点都是非共享内存的计算机,它们通过消息传递进行通信。

实际上,我们还有其他组织硬件完成并行计算的方式。

简单地说,有两种组织硬件完成并行计算的方法:

∙通过消息传递通信的本地内存(非共享内存)计算机系统(Beowulf集群)

∙通过内存访问通信的共享内存计算机系统(SMP计算机)

当然也存在将多个本地或共享内存计算机相连并创造一个混和的共享内存计算机系统的可能。

但在最终用户看来,这种计算机系统就好像一个大型的共享内存计算机。

这种技术被我们叫做非一致内存访问NUMA(NonUniformMemoryAccess)。

但是从底层说,一个NUMA计算机系统必须在节点间传递消息。

当然也可以将共享内存计算机作为一个本地内存的计算机连入一个Beowulf集群系统。

由于Linux系统支持SMP计算机,所以Linux系统本身能够在SMP中的多个CPU上调度作业。

所以Beowulf集群本身就没有必要识别集群的节点是不是共享内存计算机了。

和SMP系统相比,集群系统有明显的优点。

因为Beowulf集群完成并行程序间通信用的是消息传递,所以系统的瓶颈就是网络传输。

在实际的系统中,通常采用有两套彼此的独立的网络设备。

一套是普通的以太网,用于像文件服务和系统管理等一般的网络通信。

另一套网络是用于进程间通信的高速网,像Myrinet和Giganet。

和100M以太网相比,这类网络具有高带宽、低延迟的特性。

还有三类设备虽然不是必须,但是对于集群管理却是非常重要的:

∙KVMSwither:

KVM是指Keyboard、Video和Mouse。

这个设备可以让系统管理员用一套KVM管理系统中的所有节点。

∙远程电源管理设备(如ASM):

这类设备使得管理员可以在管理节点Poweron/off其他节点。

∙TerminalServer:

这种设备通过串口将节点连接起来。

通过这个设备,管理员可以在管理节点上虚拟出其他节点上的控制终端。

和KVM相比,这种方法不需要硬件的切换。

2.2Beowulf集群软件

Beowulf集群在软件层次面临的问题是如何在硬件层次上获得最大的性能。

通常,Beowulf集群采用Linux+MPI的方式支持并行计算。

MPI是采用消息传递的方式实现并行程序间通信。

虽然也可以采用其他的通信方法,但是消息传递模式是最适合于集群系统的。

简单地说,有两种在并行程序间传递并发的方法:

∙使用处理器间的消息传递(MPI)

∙使用操作系统的线程(Thread)

其他的方法也存在,但是这两种方法应用得最广泛。

虽然存在效率和移植的问题,这两种方法都可以在SMP,NUMA和Cluster上实现。

消息传递需要在CPU间拷贝数据,而线程却可以在CPU间共享数据。

数据拷贝的速度和延迟是影响消息传递效率的最关键的因素。

PVM和MPI是最常用的两种消息传递API。

消息传递也可以在线程上实现,并且消息传递即可以用于集群系统,也可以用于SMP系统。

和线程相比,在SMP系统上使用消息传递的优点在于可以很方便的把SMP上的应用移植到集群系统上。

线程的最大特点是,线程间是共享数据。

因此它在SMP系统上工作的更好。

而且Linux本身也是支持Posix线程的。

但是使用线程的最大缺点在于,很难将线程扩展到SMP系统以外。

虽然NUMA技术可以高效的做到这一点,但是那非常昂贵而且Linux本身也不支持。

下表概括了线程和消息传递在SMP和集群系统上的比较:

 

SMP系统性能

集群系统性能

扩展性

消息传递

很好

很好

线程

很好

2.3Beowulf集群应用

Beowulf集群的应用层次位于硬件和软件层次之上。

它要解决的问题是如何在实际的集群系统中并行化(parallel)应用中的并发(concurrent)部分,从而使集群上的应用达到最好的性能。

在阐述这部分之前,我们需要区分两个概念:

parallel和concurrent。

程序的并发(concurrent)部分是指程序中可以独立计算的部分。

程序的并行(parallel)部分是指程序中在同一时间被分别执行的并发(concurrent)部分。

并发和并行从宏观上来讲都是同时处理多路请求的概念。

但并发和并行又有区别,并行是指两个或者多个事件在同一时刻发生;而并发是指两个或多个事件在同一时间间隔内发生。

在操作系统中,并发是指一个时间段中有几个程序都处在已启动运行到运行完毕之间,且这几个程序都是在同一个处理机上运行,但任一时刻点上只有一个程序在处理机上运行。

在网络服务器上,并发是指同一时刻能处理的连接数。

Beowulf集群正是处理并行计算的一类高效计算系统。

它加快了节点间的通信,减少了通信延迟。

在Beowulf中,通信时间远远小于并发处理的计算时间,所以大大提高了并行执行事务的效率。

 

第三章手工搭建Beowulf集群

3.1硬件环境配置

Beowulf集群硬件和网络层次需要解决的问题是如何组织硬件使其达到最高的性价比。

为了达到很好的性价比,Beowulf通常采用廉价的COTS硬件。

当然有时为了提供某些关键的性能,也会使用一些特殊的设备。

本系统由实验室中3台PC机组成,每台PC机都运行Linux操作系统,通过10/100M的交换机组建了一个带宽为10M的局域网,使用TCP/IP作为MPI调用函数的通信协议。

(1)节点的配置:

CPU:

奔腾D3.0GHz(2048KB二级缓存)

硬盘:

100GBSATA2(5400转)

内存:

DDRII,512M

主板:

宏基G520

(2)网络配置:

交换机:

CISCO2950

网卡:

RealtekRTL8139

在所有的节点上都安装了Ubuntugnome14.10i386标准版的Linux系统,在安装所需要的工具包和服务后,还需要对一些文件和服务进行配置。

3.2网络设计与节点分配

根据功能,我们可以把集群中的节点划分为6种类型:

∙用户节点(UserNode)

∙控制节点(ControlNode)

∙管理节点(ManagementNode)

∙存储节点(StorageNode)

∙安装节点(InstallationNode)

∙计算节点(ComputeNode)

虽然节点的类型很多,但是一台计算机也可能是多种不同类型的节点。

每台计算机在集群中的节点功能要按照实际需求和计算机的配置来决定。

在比较小的集群系统中,同一台计算机可能既是用户节点又是控制节点,还可以担当管理节点、存储节点和安装节点等角色。

因为计算节点间的通信需求,IPC网络的性能是Beowulf集群设计中非常重要的一个技术点。

通常需要高带宽的网络,同时此类网络还要达到速度快和延迟低。

双工的网络通信是Beowulf集群的主要瓶颈,它的决定性因素就在于延迟和全局同步。

IPC网络可以用好几种网络技术实现。

例如快速以太网,以及千兆以太网和Myrinet。

而在实验中采用交换机是为了达到高带宽,交换机接受从双绞线传来的数据包,但是它和集线器不一样。

它不向所有连接的节点广播这个数据包,它会根据目的地址哪个端口是接受者,然后把这个包传给接受者。

本系统是一个微型的Beowulf集群系统,所以控制节点和计算节点的硬件配置完全一样,将用户节点、管理节点、安装节点都设定在同一台计算机上,这台计算机成为控制节点。

同时控制节点也参与运算,即也是计算节点。

●控制节点主机名为“Beo0”,IP地址为“219.218.30.129”;

●计算节点相应的主机名为“Beo1”、“Beo2”,IP地址为“219.218.30.130”、“219.218.30.131”。

3.3搭建服务器与安装MPI

Beowulf集群在软件层次面临的问题是如何在硬件层次上获得最大的性能。

通常,Beowulf集群采用Linux+MPI的方式支持并行计算。

MPI是采用消息传递的方式实现并行程序间通信。

虽然也可以采用其他的通信方法,但是消息传递模式是最适合于集群系统的。

安装Linux之后,以root用户登录,重新建立一个相同的用户和密码(本次实验主机名为:

tangl,密码为:

123456),将主目录定为/home/tangl。

为了记录主机名和IP地址,使得每次使用主机名称时可以远程调用命令直接将主机名转换为IP地址,必须修改修改/etc/hosts/文件。

而修改/etc/login文件可以让管理员方便使用telnet命令访问远程主机。

为了实现集群系统的分布式存储管理,必须在各节点安装Linux的过程中,划出一个相同的共享分区:

/disk0。

为了保证NFS服务在集群上的正常运行,还需要修改控制节点上的/etc/exports文件,计算节点上的/etc/fstab文件也要做相应的修改。

为了减少了集群系统的并行运行时间,可以使集群系统内各节点之间的数据传输和消息通信不需要口令认证,这就得配置RSH服务器。

下面是具体配置的过程:

MPICH2的安装及配置

在网上下载MPICH2的软件包:

mpich2-1.0.1tar.gz,把软件包放到/home/tangl目录下。

以tangl用户身份登陆,然

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > IT计算机 > 计算机软件及应用

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1