在 IBM POWER 服务器上使用 Infiniband 组建高性能计算集群.docx

上传人:b****7 文档编号:23359994 上传时间:2023-05-16 格式:DOCX 页数:12 大小:160.92KB
下载 相关 举报
在 IBM POWER 服务器上使用 Infiniband 组建高性能计算集群.docx_第1页
第1页 / 共12页
在 IBM POWER 服务器上使用 Infiniband 组建高性能计算集群.docx_第2页
第2页 / 共12页
在 IBM POWER 服务器上使用 Infiniband 组建高性能计算集群.docx_第3页
第3页 / 共12页
在 IBM POWER 服务器上使用 Infiniband 组建高性能计算集群.docx_第4页
第4页 / 共12页
在 IBM POWER 服务器上使用 Infiniband 组建高性能计算集群.docx_第5页
第5页 / 共12页
点击查看更多>>
下载资源
资源描述

在 IBM POWER 服务器上使用 Infiniband 组建高性能计算集群.docx

《在 IBM POWER 服务器上使用 Infiniband 组建高性能计算集群.docx》由会员分享,可在线阅读,更多相关《在 IBM POWER 服务器上使用 Infiniband 组建高性能计算集群.docx(12页珍藏版)》请在冰豆网上搜索。

在 IBM POWER 服务器上使用 Infiniband 组建高性能计算集群.docx

在IBMPOWER服务器上使用Infiniband组建高性能计算集群

在IBMPOWER服务器上使用Infiniband组建高性能计算集群

罗明,软件工程师,IBM

卜俊辉,软件工程师,IBM

2011年5月10日

随着服务器处理速度的不断加快,高性能计算用户对网络传输速度也有着越来越高的要求,传统意义上的以太网,已经无法满足这种需求。

InfiniBand网络标准就是在这种情况下应运而生的,它在很大程度上解决了传统以太网络的高延迟瓶颈问题,运行速度可达到每端口2.5Gb/s到10Gb/s。

目前,IBMPOWER服务器和高性能计算软件套件对Infiniband提供了全面的支持,本文将逐一介绍InfiniBand技术架构,以及如何在IBMPOWER服务器的AIX系统上配置InfiniBand网络设备,并使用IBM高性能软件套件构建高性能计算集群。

Infiniband的基本概念

网络是常常被认为是路由器、交换机和插在服务器和存储设备上的电缆的集合。

在大部分人的印象里,网络用来连接服务器到其他服务器、存储和其他网络。

其实,这是一种普遍存在的对网络的片面看法,它将过多的注意力集中在处于网络底层结构的电缆和交换机上。

这是典型的“以网络为中心的”观点:

认为网络的构成架构应该决定应用程序的通讯模式。

Infiniband网络则基于“以应用程序为中心”的新观点。

它的提出来源于一个简单的问题:

如何让应用程序访问其他应用程序以及存储尽可能的简单、高效和直接?

如果以“应用程序为中心”的观点来思考I/O问题,就能得到一种与传统完全不同的网络架构。

Infiniband基于一种非常简单的原则:

提供一种易于使用的消息服务。

这个服务可以被用来与其他应用程序、进程或者存储进行通信。

应用程序不再向操作系统提交访问其他资源的申请,而是直接使用Infiniband消息服务。

Infiniband消息服务是一个非常高效、直接的消息服务,它摒弃了传统网络和应用程序之间消息传递的复杂结构。

直接使用Infiniband服务意味着应用程序不再依赖操作系统来传递消息,这大大提高了通信效率。

如图1,Infiniband消息服务可以在两个应用程序之间创建一个管道,来使应用程序之间直接进行通信,从而绕过了操作系统,大大提高了效率。

图1.Infiniband通信连接原理

回页首

Infiniband在HPC(Highperformancecomputing)领域的应用

高性能计算(HPC)是一个涵盖面很广的领域,它覆盖了从最大的“TOP500”高性能集群到微型桌面集群。

这篇文章里的我们谈及的HPC是这样一类系统,它所有的计算能力在一段时间内都被用来解决同一个大型问题。

换句话说,我们这里讨论的HPC系统不会被用来运行传统的企业应用,例如:

邮件、计费、web等。

一些典型的HPC应用包括:

大气建模、基因研究、汽车碰撞模拟、流体动态分析等。

图2显示了一个标准的高性能集群(HPC)的拓扑结构。

可以看到,在高性能计算集群中,各种设备是通过集群的交换网络连接到一起的。

所以,高性能计算系统除了需要高性能的中央处理器外,还需要高性能的存储和低延迟的进程间通信来满足科学运算的需求。

在大型集群中高速的交换网络扮演了非常重要的角色,甚至比CPU还要关键,处于集群的核心位置。

大量的实验数据表明,集群的性能和可扩展性主要和消息在节点之间的传递速度有关,这意味着低延迟的消息传递是被迫切需求的,而这正是Infiniband的优势。

下面我们就介绍下Infiniband为什么比传统网络更适合高性能计算系统。

图2.高性能计算集群拓扑

根据我们对高性能计算系统的认识,Infiniband的低延迟、高带宽和原生的通道架构对于此类系统来说是非常重要的。

低延迟的Infiniband网络可以在保证性能的前提下,增大集群的规模。

通道I/O架构则可以提供可扩展的存储带宽性能,并且支持并行文件系统。

说道HPC就不能不提MPI(MessagePassingInterface)。

MPI是应用在HPC上主要的消息传递中间件标准。

虽然MPI也可以应用在基于共享内存的系统上,但是,更多的则是被当作通讯层用作连接集群中的不同节点。

MPI通讯服务依赖于底层的提供节点间真正信息传递的消息服务。

Infiniband作为一种底层消息服务为MPI层提供了被称为RDMA(RemoteDirectMemoryAccess)的消息服务。

在上面一章,我们讨论了应用程序之间如何通过Infiniband通讯架构来实现直接的通讯,从而绕过操作系统。

在HPC中,我们可以认为HPC应用程式调用MPI通讯服务,而MPI则利用底层的RDMA消息服务实现节点间通讯。

这就使得,HPC应用程序具备了不消耗集群CPU资源的通讯能力。

IBMPE(ParallelEnvironment)软件作为一种MPI标准的实现,加入了对Infiniband的支持。

本文后面的章节会介绍如何启用PE对Infiniband的支持。

回页首

通过HMC为IBMPOWER服务器配置Infiniband适配器

要想使用Infiniband高速网络,首先需要对硬件进行配置。

IBMPower服务器提供了对Infiniband设备的原生支持,用户可以通过HMC进行统一管理。

通过虚拟化,用户可以方便的将单个12倍速的Infiniband端口分配给最多16个逻辑分区使用。

下面我们就一步步的介绍如何在一个逻辑分区上增加Infiniband设备。

1.首先点选需要配置Infiniband适配器的逻辑分区,在下拉列表中点选ConfigurationManageProfiles

图3.选择逻辑分区(查看大图)

2.在新弹出的窗口中选择Edit:

图4.编辑逻辑分区配置文件

3.在HCA的标签页面中,选中要分配的Infiniband设备,并点击Configure:

图5.选择Infiniband适配器

4.在新弹出的窗口中,为这个适配器分配一个GUIDindex:

图6.配置Infiniband设备属性

到此为止,我们就成功的为一个逻辑分区分配了一个新的Infiniband适配器。

接下来我只需要在AIX系统中配置一下,Infiniband适配器就可以正常使用了。

配置方法可以参考developerWorks中国上的文章“为AIX配置Infiniband”。

回页首

使用NIM安装高性能计算集群上的AIX系统

在使用HMC配置完Infiniband网络设备以后,我们还需要为集群中每台的节点上安装好AIX操作系统,由于集群的节点众多,使用网络安装是最常见快速的方法。

由于篇幅关系,本文在这里不再讲解如何使用AIX再带的网络安装系统(NIM)来自动化的安装AIX操作系统,具体方法请各位读者参考developerWorks相关文章“Unix/Linux系统自动化管理:

网络自动化安装”。

回页首

在IBMPOWER上配置IBMParallelEnvironment使用Infiniband网络

在安装完集群的系统后,要想让HPC应用软件使用Infiniband网络,我们还需要安装配置支持Infiniband网络的MPI通讯软件。

IBMParallelEnvironment(PE)是一个针对HPC并行程序的开发和运行环境,它提供了对Infiniband网络的支持,用户的并行程序可以通过PE运行在高速Infiniband网络上。

IBMPE由消息传递函数库(如:

MPI),并行运行环境(POE),调试工具(PDB)组成。

IBMPE实现了两种通讯库----IP(internetprotocol)和US(userspace)。

这两种通讯库是对于用户来说是完全透明的,它们使用统一的应用程序编程接口。

也就是说使用IP协议的程序可以无需修改就运行在US模式。

US模式是PE专门为Infiniband高速网络设计的通讯子库,能最大限度的发挥Infiniband网络的优势。

从PE5.2版本开始,PE拥有了无需借助资源管理器(例如:

IBMLoadLevler)在Infiniband网络上运行US任务的能力。

下面我们就简单介绍下,如何使用PE在Infiniband网络上运行US模式的任务。

安装IBMParallelEnvironment

在安装IBMParallelEnvironment以前,请保证集群所有节点之间的root用户可以实现免密码的rsh自由登陆。

然后使用下面的步骤安装PE:

1.拷贝IBMParallelEnvironment软件到一个节点的硬盘,这里我们假设拷贝到/tmp目录下

2.使用 install–a–d/tmpppe*命令安装IBMParallelEnvironment到这个节点

3.使用文档编辑器(如:

vi)在/tmp下创建一个节点列表文件(host.list),里面包含所有节点名,例如:

清单1.节点列表文件内容

host1

host2

host3

4.执行 PEinstall/tmp/host命令,IBMParallelEnvironment将会被安装到所有节点列表文件中列出的节点上。

使用IBMParallelEnvironment在Infiniband上进行高性能计算

当使用PE来分配计算节点时,你需要先创建一个节点列表文件,就像上一节我们创建的列表文件一样。

1.如何使用单个Infiniband网络适配器:

如果系统中只有一个IB(Infiniband)适配器,我们只需要设置如下的环境变量就可以使我们的程序利用IB网络进行数据交换:

MP_EUIDEVICE=sn_single

MP_INSTANCES=max

MP_EUILIB=us

2.如何使用多个Infiniband网络适配器

PEMPI支持将消息数据条带化的分配到多个Infiniband适配器上进行传输,以充分利用通信带宽。

如果系统拥有多于一个的IB交换网络,资源管理器将从多个适配器上来获取IB资源。

(一个交换网络是指连接到同一个交换机上的IB设备构成的网络。

)如果系统只有一个交换网络,PE将尽量从不同的适配器上获得资源,但是当其中一个适配器上资源不足时,PE将只从单独的适配器上获得资源。

并且,如果其中一个IB网络通道出现问题,PE会自动将通讯转移到其它替换通道上。

为了激活条带化功能,我们需要设置如下的环境变量:

MP_EUIDEVICE=sn_all

MP_INSTANCES=max(如果只有一个的IB交换网络,无需设置这个环境变量)

MP_EUILIB=us

设置好环境变量后,我们就可以使用poe命令,使用IB网络提交作业了。

清单2.提交作业

bash-3.2#poehello–procs10

虽然从PE5.2开始,PE可以脱离IBMLoadLevler做简单的资源配置工作,但是,对于大型的HPC网络,我们还是建议使用LoadLevler来进行作业调度和资源管理。

下面一节我们就来介绍如何使用LoadLevler配合PE利用Infiniband网络提交作业。

回页首

在IBMPOWER上配置IBMLoadLevler使用Infiniband网络

IBMLoadLevler是一个高性能计算集群上任务管理系统。

它可以最大化的利用现有系统中的资源,使用户能在有限的时间内运行尽量多的任务。

IBMLoadLevler可以在动态的环境中安排任务,并提供高效的提交和处理任务的功能。

快速安装IBMLoadLevler

下面的步骤需要在集群中的所有节点上执行,你可以通过使用IBMxCat中的xdsh命令来同步执行下面的步骤,具体的方法请参考xCat的使用手册。

1.在安装IBMLoadLevler前,需要在集群系统的所有节点上建立一个loadl用户。

清单3.创建loadl用户示例

bash-3.2#mkgroup-aloadl

bash-3.2#mkuserpgrp=loadlgroups=loadlhome=/u/loadlloadl

bash-3.2#lsuserloadl

loadlid=1018pgrp=usersgroups=loadlhome=/u/loadlshell=/bin/bashgecos=loadl

login=truesu=truerlogin=true

2.拷贝IBMLoadLevler软件包到指定目录,这里我们假设拷贝到 /tmp目录下。

可以使用下面的命令安装软件包,或者使用SMIT工具:

清单4.安装loadlevler

installp-Y-X-ddeviceLoadL.resmgr.fullLoadL.scheduler.full

installp-X-B-ddeviceLoadL.resmgr.fullLoadL.scheduler.full

3.初始化LoadLevler配置:

清单5.初始化LoadLevler

bash-3.2#su-loadl

bash-3.2#cd/usr/lpp/LoadL/scheduler/full/bin

bash-3.2#./llinit-local/var/loadl-release/usr/lpp/LoadL/full\

-cm<管理节点hostname>

在LoadL里不需要对Infiniband网卡做专门的配置,LoadL会自动从系统中获得所有网络适配器的信息。

4.检查在LoadL的LoadL_admin文件中定义的集群节点,将他们设置到 pool_list=1

清单6.LoadL_admin文件

Hostname1:

type=machine

central_manager=true

pool_list=1

hostname2:

type=machine

pool_list=1

hostname2:

type=machine

pool_list=1

hostname2:

type=machine

pool_list=1

使用LoadL运行高性能计算程序

使用LoadL来自动分配计算资源,可以借助LoadL强大的调度功能,提高高性能集群系统的资源利用率,关于如何使用LoadL来做任务调度请参考相关的LoadL的管理文档,本文不做进一步的介绍。

要使用LoadL来做资源管理器,需要设置 MP_RMPOOL和 MP_RESD环境变量,根据上文,我们在LoadL配置文件中将系统的资源都设置到 pool_list1中,这里我只需要使用命令:

清单7.设置MP_RMPOOL和MP_RESD:

bash-3.2#exportMP_RMPOOL=1

bash-3.2#exportMP_RESD=yes

另外,我们仍然需要设置 MP_EUIDEVICE、MP_INSTANCES、MP_EUILIB,设置方法和第四章的方法相同

设置好环境变量后,我们就可以使用 poe命令,通过IB网络提交作业了。

清单8.提交作业

bash-3.2#poehello–procs10

回页首

小结

本文介绍了为什么新一代的高性能计算集群要使用Infiniband高速网络。

以及如何从头一步步的配置IBMPOWER服务器上的Infiniband设备,并使用IBM的高性能计算软件LoadLevler和PE充分利用Infiniband的优势进行科学计算。

由于篇幅关系,本文并没有介绍如何安装Infiniband硬件和如何安装系统,请读者阅读参考文献中的相关文档。

参考资料

学习

∙IBMPublication:

ParallelEnvironmentforAIXandLinuxV5.2.1Installation:

IBMPE软件的安装文档。

∙IBMPublication:

 ParallelEnvironmentforAIXandLinuxV5.2.1OperationandUse:

IBMPE软件的使用指南。

∙IBMPublication:

 TivoliWorkloadSchedulerLoadLevelerforAIXV4.1InstallationGuide:

IBMLoadleveler软件的安装指南。

∙Infiniband介绍文档:

 Intro_to_IB_for_End_Users:

Infiniband标准组织撰写的,介绍IB基础知识的文章。

∙IBM红皮书:

 IntroductiontoInfiniBandforIBMpSeries:

通过本文了解IBMPOWER服务器在infiniband网络方面所做的支持。

∙Unix/Linux系统自动化管理:

网络自动化安装:

本文是Unix/Linux系统管理自动化系列中的一篇,介绍使用AIXNIM软件包批量化安装AIX系统。

∙为AIX配置Infiniband:

介绍如何配置Infiniband和在AIX上设置IPoverInfiniband接口。

∙AIXandUNIX专区:

developerWorks的“AIXandUNIX专区”提供了大量与AIX系统管理的所有方面相关的信息,您可以利用它们来扩展自己的UNIX技能。

∙AIXandUNIX新手入门:

访问“AIXandUNIX新手入门”页面可了解更多关于AIX和UNIX的内容。

∙AIXandUNIX专题汇总:

AIXandUNIX专区已经为您推出了很多的技术专题,为您总结了很多热门的知识点。

我们在后面还会继续推出很多相关的热门专题给您,为了方便您的访问,我们在这里为您把本专区的所有专题进行汇总,让您更方便的找到您需要的内容。

∙AIXandUNIX下载中心:

在这里你可以下载到可以运行在AIX或者是UNIX系统上的IBM服务器软件以及工具,让您可以提前免费试用他们的强大功能。

∙IBMSystemsMagazineforAIX中文版:

本杂志的内容更加关注于趋势和企业级架构应用方面的内容,同时对于新兴的技术、产品、应用方式等也有很深入的探讨。

IBMSystemsMagazine的内容都是由十分资深的业内人士撰写的,包括IBM的合作伙伴、IBM的主机工程师以及高级管理人员。

所以,从这些内容中,您可以了解到更高层次的应用理念,让您在选择和应用IBM系统时有一个更好的认识。

讨论

∙加入 developerWorks中文社区。

查看开发人员推动的博客、论坛、组和维基,并与其他developerWorks用户交流。

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

当前位置:首页 > IT计算机 > 电脑基础知识

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

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