Skip to main content
开放网络的先行者与推动者—星融元
加入我们技术支持(Support)  TEL:(+86)4000989811

测试报告-HPC高性能计算测试方案(CX-N系列云交换机)


关注星融元


一位来自金融行业的客户,他们希望可以实时地模拟和响应风险,以实现企业金融风险管理能力的提升。事实上,不管是金融行业还是其他行业,要想加快步伐满足快速数字化世界中的客户需求,就必须能够比标准计算机更快地处理大量数据。高性能计算(HPC)解决方案,正在受到企业们的青睐。

HPC通用架构主要由计算、存储、网络组成,而HPC之所以能够提高计算速度,更多是采用了“并行技术”,使用多个计算机协同工作,采用十台、百台,甚至成千上万台计算机“并行工作”。各个计算机之间需要互相通信,并对任务进行协同处理,这就需要建立一套对时延、带宽等有着严格要求的高速网络。

高带宽、低时延和低资源使用率的RDMA模式(主要体系架构:InfiniBand协议和以太网协议),往往是HPC网络的最佳选择。而星融元CX-N 超低时延交换机(简称CX-N)采用了标准以太网协议和开放软硬件技术,支持无损以太网技术和网络无损防拥塞技术,充分满足用户HPC应用下对网络带宽、时延等的高要求。为验证这一事实,我们选用Mellanox的InfiniBand交换机,与其进行了相同HPC应用下的运行速度的对比测试。

我们在CX-N和Mellanox的MSB7800交换机(简称IB交换机)分别搭建的网络上,进行了E2E转发测试、MPI基准测试和HPC应用测试。结果证明:CX-N 的时延和对方达到了同一个量级,运行速率较对方仅低3%左右,产品性能与对方交换机不相上下,能够满足绝大多数的HPC应用场景。而有必要补充一点的是,星融元更加注重产品成本的把控,星融元HPC解决方案在性价比方面有显著的优势。

HPC场景测试方案全过程:

1、目标与物理网络拓扑

  • E2E转发测试
    测试两款交换机在相同拓扑下E2E(End to End)的转发时延和带宽,本次方案测试点采用Mellanox IB发包工具进行发包,测试过程遍历2~8388608字节。
  • MPI基准测试
    MPI基准测试常用于评估高性能计算性能。本次方案测试点采用OSU Micro-Benchmarks来评估CX-N和IB两款交换机的性能。
  • HPC应用测试
    本次测试方案在每个HPC应用中运行相同任务,并比较CX-N和IB两款交换机的运行速度(时间更短)。

1.1 IB交换机物理拓扑

如上解决方案的IB交换机物理拓扑,如图1所示:

IB交换机物理网络拓扑

图1:IB交换机物理网络拓扑

1.2 CX-N物理拓扑

如上解决方案的CX-N物理拓扑,如图2所示:

CX-N物理网络拓扑

图2:CX-N物理网络拓扑

1.3 管理网口IP规划

部署过程中所涉及到的设备、接口及管理网口的IP地址如下表1所示:

设备管理口列表

表1:设备管理口列表

2、 硬件和软件环境

部署环境中涉及到的硬件和软件如表2和表3所示:

硬件环境

表2:硬件环境

软件环境

表3:软件环境

3、测试环境部署

在两台Server服务器上,安装部署HPC三种测试场景所需的基础环境。

补充说明:以”[root@server ~]#”为开头的命令表示两台服务器都要执行。

3.1 E2E转发测试环境部署

在两台Server服务器上安装Mellanox网卡的MLNX_OFED驱动程序,网卡驱动安装完成之后检查网卡及驱动状态,确保网卡可以正常使用。

  • 网卡MLNX_OFED驱动程序安装:网卡MLNX_OFED驱动程序安装
  • 检查网卡及网卡驱动状态:检查网卡及网卡驱动状态检查网卡及网卡驱动状态

3.2 MPI基准测试环境部署

在两台Server服务器上安装HPC高性能集群基础环境,安装OSU MPI Benchmarks MPI通信效率测评工具,测试方式分为点对点通信和组网通信两种方式,通过执行各种不同模式的MPI,来测试带宽和时延。

  • HPC集群高性能基础环境:HPC集群高性能基础环境
  • OSU MPI Benchamarks工具安装OSU MPI Benchamarks工具安装

3.3 HPC应用测试环境部署

在两台Server服务器上安装HPC测试应用。本次方案部署WRF开源气象模拟软件和LAMMPS原子分子并行模拟器来进行数据测试。

WRF安装部署:

WRF全称Weather Research and Forecasting Model, 是一个天气研究与预报模型的软件。

  • 修改Docker网络配置
    本方案两台Server服务器WRF部署采用Docker容器部署,需要修改Docker配置文件,将虚拟网桥绑定到Mellanox网卡上,通过直接路由方式实现跨主机Docker容器通信。修改Docker网络配置
  • WRF应用部署WRF应用部署
  • LAMMPS安装部署:LAMMPS即Large-scale Atomic/Molecular MassivelyParallel Simulator,大规模原子分子并行模拟器,主要用于分子动力学相关的一些计算和模拟工作。
  • 安装GCC-7.3安装GCC-7.3
  • 安装OpenMPI安装OpenMPI
  • 安装FFTW安装FFTW
  • 安装LAMMPS安装LAMMPS

随着云计算技术的成熟,HPC正在从应用于大规模科学计算场景,转变为适用各种科学和商业计算场景。《星融元HPC解决方案》将重磅发布,敬请期待!

全文请注册/登录后获取:https://asterfusion.com/d-20220527/

相关文章

什么是 BGP路由协议


关注星融元


BGP全称BorderGatewayProtocol,也叫边界网关协议,是一种路径矢量路由协议,最新版本是BGPv4。BGP是互联网上一个核心的去中心化自治路由协议。BGP是最复杂的路由协议,属于应用层协议,其传输层使用TCP,默认端口号是179。BGP是唯一使用TCP作为传输层的路由协议。

BGP的分类介绍

BGP按照运行方式分为eBGP(External/Exterior BGP)和iBGP(Internal/Interior BGP)。

  • eBGP:运行于不同AS之间的BGP称为eBGP。为了防止AS间产生环路,当BGP设备接收eBGP对等体发送的路由时,会将带有本地AS号的路由丢弃。
  • iBGP:运行于同一AS内部的BGP称为iBGP。为了防止AS内产生环路,BGP设备不将从iBGP对等体学到的路由通告给其他iBGP对等体,并与所有iBGP对等体建立全连接。为了解决iBGP对等体的连接数量太多的问题,BGP设计了路由反射器和BGP联盟。

应该注意的是,使用内部 BGP 不是使用外部 BGP 的前提条件。自治系统可以从多种内部协议中进行选择,以连接其内部网络上的路由器。

BGP的相关概念

AS(Autonomous sydstem)

自治系统,指在一个(有时是多个)组织管辖下的所有IP网络和路由器的全体,它们对互联网执行共同的路由策略。一个AS是一个独立的整体网络。每个AS有自己唯一的编号。通常一个自治系统将会分配一个全局的唯一的16位号码, ASN范围:1-65535;其中1-64511属于公有ASN,64512-65535属于私有ASN。

AS_Path

路由每通过一个AS范围都会产生一个记录。

BGP报文交互中的角色

BGP报文交互中分为Speaker和Peer两种角色。

  • Speaker:发送BGP报文的设备称为BGP发言者(Speaker),它接收或产生新的报文信息,并发布(Advertise)给其它BGP Speadker。
  • Peer:相互交换报文的Speaker之间互称对等体(Peer)。若干相关的对等体可以构成对等体组(Peer Group)。

BGP的路由器号(Router ID)

  • BGP的Router ID是一个用于标识BGP设备的32位值,通常是IPv4地址的形式,在BGP会话建立时发送的Open报文中携带。对等体之间建立BGP会话时,每个BGP设备都必须有唯一的Router ID,否则对等体之间不能建立BGP连接。
  • BGP的Router ID在BGP网络中必须是唯一的,可以采用手工配置,也可以让设备自动选取。缺省情况下,BGP选择设备上的Loopback接口的IPv4地址作为BGP的Router ID。如果设备上没有配置Loopback接口,系统会选择接口中最大的IPv4地址作为BGP的Router ID。一旦选出Router ID,除非发生接口地址删除等事件,否则即使配置了更大的地址,也保持原来的Router ID。

BGP的报文

  • BGP对等体间通过以下5种报文进行交互,其中Keepalive报文为周期性发送,其余报文为触发式发送:
  • Open报文:用于协商BGP参数,包括版本,AS号,hold time等,然后建立BGP对等体连接。
  • Update报文:用于在对等体之间交换路由信息。
  • Notification报文:用于中断BGP连接。
  • Keepalive报文:用于保持BGP连接。
  • Route-refresh报文:用于在改变路由策略后请求对等体重新发送路由信息。只有支持路由刷新(Route-refresh)能力的BGP设备会发送和响应此报文。

BGP的3张表

  • 邻居表(adjancy table):保存所有的BGP邻居信息。
  • BGP表(forwarding database):保存从每一个邻居学到的路由信息。
  • 路由表(routing table):BGP默认不做负载均衡,会从BGP表中选出一条到达各个目标网络最优的路由,放入路由表保存。路由器只需按路由表保存的路由条目转发数据即可。

全文请注册登录后获取:https://asterfusion.com/d-20230427/

资料下载

相关文章

一文梳理基于优先级的流量控制(PFC)

近期文章


什么是PFC(基于优先级的流量控制)

丢包对不同协议的影响有所不同,应用会以不同的方式作出响应:一些应用可以容忍这一情况,通过重新发送所丢数据包得以恢复。以太网能够支持这些情况,但有些应用不能容忍任何丢包情况,要求保证端到端传输没有丢包。为了使以太网能够满足应用的无丢包要求,需要制定一种方法来通过以太网提供无损服务。基于优先级的流量控制PFC就产生了。PFC(Priority-based Flow Control,基于优先级的流量控制)功能是一种精细的流量控制机制,在IEEE 802.1Qbb标准文档中的定义是:对传统流控暂停机制的一种增强。PFC是基于优先级为不同的业务来提供不同服务的,可以解决传统以太网流控机制和该需求之间的冲突。

PFC工作原理

PFC是暂停机制的一种增强,PFC允许在一条以太网链路上创建8个虚拟通道,为每条虚拟通道指定一个优先等级并分配专用的资源(如缓存区、队列等等),允许单独暂停和重启其中任意一条虚拟通道而不影响其他虚拟通道流量的传输,保证其它虚拟通道的流量无中断通过。这一方法使网络能够为单个虚拟链路创建无丢包类别的服务,使其能够与同一接口上的其它流量类型共存。

数据中心场景中发生网络拥塞的原因

产生拥塞的原因有很多,在数据中心场景里比较关键也是比较常见的原因有三点:

  • 进行数据中心网络架构设计时,如果采取非对称带宽设计,即上下行链路带宽不一致。也就是说当下联服务器上行发包总速率超过上行链路总带宽时,就会在上行口出现拥塞。
  • 当前数据中心网络多采用Fabric架构,采用ECMP来构建多条等价负载的链路,并HASH选择一条链路来转发,是简单的。但这个过程没有考虑到所选链路本身是否已经拥塞,对于已经产生拥塞的链路来说,会加剧链路的拥塞。
  • TCP Incast是Many-to-One(多对一)的通信模式,在数据中心云化的大趋势下这种通信模式常常发生,尤其是那些分布式存储和计算应用,包括Hadoop、MapReduce、HDFS等。如图1所示,当一个Parent Server向一组节点发起请求时,集群中的节点会同时收到请求,并且几乎同时相应。所有节点同时向Parent Server发送TCP数据流,使得交换机上连Parent Server的出端口缓存不足,造成拥塞。

TCP Incast多对一通信模式

图1:TCP Incast多对一通信模式

为了实现端到端的无损转发,避免因为交换机中的Buffer缓冲区溢出而引发的数据包丢失,交换机必须引入其他机制,如流量控制,通过对链路上流量的控制,减少对交换机Buffer的压力,来规避丢包的产生。

PFC流量控制的工作机制

一旦出现瞬时拥塞,即某个设备的队列缓存消耗较快,超过一定的阈值,设备即向数据进入的方向发送反压信息,上游设备收到反压信息,会根据反压信息指示停止发送或延迟发送数据,并将数据存储在本地端口buffer,如果本地端口buffer消耗超过阈值,则继续向上反压。直到网络终端设备,从而消除网络节点因拥塞造成的丢包。

如图2所示,交换机Switch-1和Switch-2的连接端口分别创建8个优先级队列,并为每个队列分配相应的buffer,业务报文通过数据流中携带的优先级字段进行标识,buffer大小使得各队列有不同的数据缓存能力。

PFC工作机制

图2:PFC工作机制

Switch-2的第5优先级队列出现拥塞时,本端报文处理方式:

  • 如果Switch-2使能了PFC功能,向上游设备Switch-1发送PFC Pause帧,通知对端设备暂时停止发送第5优先级队列的报文。对端设备在接收到PFC Pause帧后,将暂时停止向本端发送该类报文,暂停时间长短信息由PFC Pause帧所携带。当拥塞仍然存在时,此过程将重复进行,直至拥塞解除;
  • 如果Switch-2没有使能PFC功能,则直接将报文丢弃。

当Switch-1收到PFC Pause帧时,其报文处理方式是:

  • 若Switch-1使能了PFC功能,且尚未暂停发送第5优先级的报文,则暂停发送该优先级的报文,并根据PFC Pause帧中对应的暂停时间启动定时器。当定时器到期后,将恢复相应优先级报文的发送;
  • 若Switch-1使能了PFC功能,且已经暂停发送第5优先级的报文,则根据PFC Pause帧中对应的暂停时间更新对应定时器的到期时间;
  • 若PFC Pause帧中对应的暂停时间为0,则相当于使对应的暂停定时器立即到期,立即恢复相应优先级报文的发送;
  • 若PFC Pause帧中对应的暂停时间不为0,则相当于复位对应的暂停定时器。也就是说,只要本端一直拥塞,则对端会因不断收到PFC Pause帧而持续暂停发送相应优先级的报文;
  • 若Switch-1没有开启相应优先级的PFC功能,则不会暂停发送相应优先级的报文。

PFC的帧格式

Pause帧实际上是一个以太帧,IEEE802.1Qbb中定义了PFC帧的格式,如图3所示:

PFC帧格式

图3:PFC帧格式

  • Destination MAC Address:目的MAC地址,为01-80-C2-00-00-01;
  • Source Mac Address:源MAC地址,为本设备MAC地址;
  • Ethernet type:以太网帧长度或类型域,为88-08,用于标明本帧的类型为MAC控制帧;
  • Control opcode:MAC控制操作码,PFC Pause帧仅是MAC控制帧的一种,其在MAC控制帧中的操作码为01-01;
  • Priority enable vector:优先级使能向量,高字节置0,低字节的每个位代表相应的Time[n]是否有效。E[n]代表优先级n,当E[n]为1时,表示Time[n]有效,处理该优先级的数据流,即停止流量发送;当E[n]为0,表示Time[n]无效,忽略该优先级的数据流,即流量不受影响继续发送;
  • Time:时间,包含Time[0]至time[7]的8个数组单元,每个数组单元为2字节。当E[n]为0时,Time[n]没有意义。当E[n]为1时,Time[n]代表接收站点抑制优先级为n的报文发送的时间,时间的单位为物理层芯片发送512位数据所需要的时间;
  • Pad(transmit as zero):预留,传输时为0;
  • CRC:循环冗余校验。
  • PFC死锁

PFC死锁,是指当多个交换机之间因微环路等原因同时出现拥塞,各自端口缓存消耗超过阈值,而又相互等待对方释放资源,从而导致所有交换机上的数据流都永久阻塞的一种网络状态。

正常情况下,当一台交换机的端口出现拥塞时,数据进入的方向(即下游设备)将发送PAUSE帧反压,上游设备接收到Pause帧后停止发送数据,如果其本地端口缓存消耗超过阈值,则继续向上游反压。如此一级级反压,直到网络终端服务器在Pause帧中指定Pause Time内暂停发送数据,从而消除网络节点因拥塞造成的丢包。

但在特殊情况下,例如发生链路故障或设备故障时,如图4所示,当4台交换机都同时向对端发送Pause帧,这个时候该拓扑中所有交换机都处于停流状态,由于PFC的反压效应,整个网络或部分网络的吞吐量将变为零。

PFC死锁

图4:PFC死锁

技术优点

  • 基于优先级的流量控制通常在数据中心的环境中用,与其他的数据中心技术相结合,使设备可支持对丢包极为敏感的高层协议,以满足这些协议冲突时不丢包的要求,而不会影响到使用其他优先级的传统局域网协议。
  • 和普通的流量控制技术相比,基于优先级的流量控制更加灵活。普通的流量控制技术会阻止一条链路上的所有流量,从本质上来讲,它会暂停整条链路。而基于优先级的流量控制技术可对端口上部分优先级的报文启用流量控制,而对其他优先级的报文不启用流量控制,也就是说,可以仅阻止一条链路上的部分流量,而其他的流量正常通过。和普通的流量控制技术一样,基于优先级的流量控制技术也仅适用于点对点全双工链路。

应用场景

PFC 是构建无损以太网的必选手段之一,能够逐跳提供基于优先级的流量控制。通过使用 PFC 功能,使得某种类型的流量拥塞不会影响其他类型流量的正常转发,从而达到同一链路上不同类型的报文互不影响。
PFC 多用于大型在线数据密集服务,如用于在线购物,社交媒体和网络搜索的自动推荐系统,高性能深度学习网络,NVMe 高速存储业务等应用场景。

参考资料

返回资源中心

最新动态

对星融元产品感兴趣?

立即联系!

返回顶部

© 星融元数据技术(苏州)有限公司 苏ICP备17070048号-2