《给力吧,x86》专题连载九:英特尔Sandy Bridge平台网络通信性能测试分析
作者 老韩 | 2011-12-14 11:07 | 类型 研发动态, 科技普及, 网络安全, 行业动感, 通讯产品 | 52条用户评论 »
《给力吧,x86》专题连载八:英特尔5520平台网络通信性能测试分析(下)
作者 老韩 | 2011-12-12 17:16 | 类型 研发动态, 科技普及, 网络安全, 行业动感, 通讯产品 | 25条用户评论 »
|
上一期连载内容中(见本报今年34期第28、29版),我们介绍了上海交通大学网络信息中心的老师们在流量分析与优化系统选型中面临的问题。那么,x86平台在万兆环境下能否稳定工作?现有平台的性能是否又能满足需求?针对种种疑虑,老师们对送测产品进行了长期、细致的测试验证工作。
性能初测通过 在吞吐量测试中,老师们只选择了64Byte和512Byte两种比较具有代表性的帧长。前者是对设备极限性能的考验,现网中绝少出现(个别DDoS攻击会在短时间内产生大量小包,对工作在4层以上的设备造成很大压力);后者则比较接近现网中的平均包长(600-700Byte),测试结果具有比较强的参考价值。考虑到个别设备会在超过极限处理能力后性能大幅下降,丢包率远远超过理论值(通常丢包数量应等于测试流量减去极限处理能力),有着资深运维经验的老师们还特别考察了Panabit在过载时的性能表现。
表注:吞吐量、丢包率测试结果(4层,数据包有IP头/协议类型UDP) 从结果中可以看出,面对一系列苛刻的测试条件,由顶级英特尔5520平台所承载的Panabit应用层流量分析与优化系统还是表现出了不错的性能。在使用64Byte帧进行测试时,系统整体吞吐量达到20%,整体包转发速率为5.96Mpps;当使用512Byte帧时,系统整体吞吐量达到64%,整体包转发速率为3Mpps。测试结束后在Panabit提供的统计信息中可以看到,所有流量也被顺利识别为未知协议。而在使用略高于两个极限值的测试流量进行过载测试时,测试仪统计得到的丢包率也在预定范围内,系统整体运行稳定。
表注:吞吐量、丢包率测试结果(3层,数据包有IP头/协议类型None) 瓶颈究竟出现在哪个环节?是转发层面还是业务层面?老师们利用之前的环境,使用另一组测试用例进行了验证。这次测试仪发出的流量将不包含UDP头部,仅为带有IP头的3层报文。根据Panabit应用层流量分析与优化系统公布的运行逻辑,这样的流量从负责数据转发(I/O)的内核提交到做状态检测与应用协议识别控制的内核后,将只进行连接层面的处理,业务逻辑基本等同于工作在桥模式下的状态检测防火墙。在抛开繁重的应用协议识别的包袱后,系统的整体处理能力是否会有一个飞跃呢?测试得到的结果令人感到意外,当使用64Byte帧进行测试时,整机吞吐量仅比之前高出4个百分点;而当使用512Byte帧测试时,吞吐量没有发生任何变化。虽然目前无法判断状态检测引擎是不是瓶颈所在,但基本可以判定应用协议的识别控制并不是系统整体的瓶颈,x86处理器在计算能力方面的优势还是值得肯定的。而这一阶段的测试数据也让老师们相信,Panabit应用层流量分析与优化系统对于上海交通大学校园网目前的运行情况来说,也是能堪大任的。 5520平台深度分析 在征得老师们的许可后,我们在同样环境下使用久经考验的评估利器NCPBench 0.8进行了测试,得到了可以用做纵向对比的数据。在这个环节中,服务器上的两个万兆接口和每两个相邻的千兆接口被配置为网桥,在纯转发与简单业务两种模式下使用64Byte帧进行测试(NCPBench的功能介绍和使用方法见本报今年第16/17期51版)。
表注:NCPBench吞吐量测试结果 我们又得到了两组几乎一致的数据,无论是纯转发模式还是简单业务模式下,被测平台的吞吐量均为39.163%,包转发速率则接近14Mpps。还有一处值得注意:两种模式下,4个千兆接口间均能达到线速转发,两个万兆接口间则只能达到单向4Mpps、双向共8Mpps的转发速率。我们非常关注前者会对后者造成多大的影响,所以在最后单独对两个万兆接口进行了纯转发测试。此次得到的数据是单向5.12Mpps、双向共10.24Mpps,较之前有所上升,但与整机处理能力仍有不小的差距。需要说明的是,NCPBench允许测试者自行设定要使用处理器内核的数量,上述数据是在使用两个核情况下的测试结果。我们也尝试使用更多的内核数进行了测试,得到的数据基本相同,个别情况下还会略低。 这是个很有意思的现象,对瓶颈定位有着很大帮助。与Panabit“特定内核处理特定业务”的逻辑不同,NCPBench的业务模型采用SMP模式构建,每个内核都进行数据包转发与业务处理操作。理论上如果每个核都达到满负荷工作状态,纯转发模式时的性能会高于简单业务模式。所以我们从测试结果中只能得到这样的结论,即无论在哪种工作模式下,处理器内核的利用率都没有达到极限,即便只使用两个内核时也是如此。 在长期的测试工作中,处理器资源耗尽通常是系统整体瓶颈的惟一原因,而这种“喂不饱”处理器的情况,还是第一次出现。我们也曾怀疑性能瓶颈可能来自于NCPBench自带的网卡驱动,但在稍后进行的对英特尔Sandy Bridge平台的测试中,同样的驱动在一块同样基于英特尔82599EB网络控制器的网卡上带来了28Mpps的纯转发能力。所以,我们只能做出最遗憾的推测,即戴尔PowerEdge R710服务器的某个部分也许存在I/O方面的设计瓶颈。之所以不怀疑5520平台,是因为我们在另一个测试中,在一台采用E5550/4GB/82599EB配置的网络通信硬件平台上得到了两口间16Mpps、4口间超过22Mpps的测试数据。这也与我们经验中侧重于计算的服务器平台,在I/O方面逊于专注于通信业务的网络通信硬件平台的认识相吻合。 其实,即便是同样类型、同样配置的设备,在承载网络通信、安全这种时延敏感型业务时的表现也可能存在很大差异。在之前我们进行的基于Atom D525平台的评测过程中,就出现过来自不同厂商的配置完全一样的产品性能差异达40%的情况。我们无法对此做出更准确的解释,只能提醒广大用户和各厂商负责供应链的人员,在选型时一定要做更加细致的测试工作。 识别准确 稳定可靠 经过一系列测试,由英特尔5520平台承载的Panabit应用层流量分析与优化系统表现出了不错的性能水准,受到上海交通大学网络信息中心老师们的普遍认可。实际上,老师们对该系统在应用协议识别率及稳定性方面的测试早在去年底就已开始,他们使用另一台基于英特尔至强E5620处理器的服务器搭载Panabit,以旁路模式对两个万兆接口镜像而来的所有IPv4出口链路的上、下行流量进行了长期的监控分析。从老师们提供的统计资料中可以看出,未知协议所占流量在累计数据中所占的比重为2.8%,在10分钟统计数据中的所占比例也仅为3%,识别率堪称优秀。而在稳定性方面,资料显示该系统已连续运行超过168天,老师们也坦言没有出现过任何异常,只是在系统更新等人为操作时才会重启。 出于更加稳妥的考虑,老师们还是决定进行更长时间的旁路测试后,再讨论将其部署到网络边界。不过我们认为,在如此复杂的应用场景下长期稳定运行的事实,至少可以适当修正那些“x86架构产品稳定性不如专用系统”的论调。如果决定接入,硬件设备还要在可靠性方面满足更多的要求。例如现在工作在旁路模式下,可以不考虑接口的硬件Bypass,但当接入现网环境时,硬件Bypass特性就成为一条底线。服务器搭配多网卡的方式显然不能满足这一需求,我们建议老师们辅以专用的硬件Bypass设备,或直接选购支持该特性的x86网络通信硬件平台。 站在科研的角度,网络信息中心的老师们还提出了一些颇具价值的建议。例如针对前景被广为看好的OpenFlow,老师们建议Panabit增加在协议识别后输出Syslog信息的能力。这样一来,该系统就可以直接部署在一些基于OpenFlow搭建的网络环境中,为控制器提供基于应用层协议的策略配置能力。网络设备在并发连接方面的限制如今也需要突破,像本次测试版本中限定的600万并发连接数,仅用两台高性能服务器做端口扫描(模拟DDoS攻击)就可以打满,此时协议的正常识别就会受到影响。毫无疑问,这些来自科研领域兼一线用户的真知灼见,对产品的完善提高有着宝贵的指导意义。 测试后记 本次测试时间久、项目多,我们认为其中最有价值的内容当属老师们使用的测试方法。被测设备两端模拟大量MAC及IP地址后随机发送流量,可以快速制造出大量的新建连接和并发连接,对一切基于状态检测机制的设备造成较大的压力。即便是传统防火墙,也可能在连接的建立和拆除过程中遭遇性能瓶颈,其直接表现就是系统假死机(CPU占用率100%导致失去响应)或真死机/重启(如果系统架构有缺陷的话)。当连接信息足够多时,CPU在处理中也不得不频繁更新Cache中的数据,会对性能造成非常大的影响,许多高端x86架构产品选择Cache较大的至强处理器就是为了规避这一瓶颈。此外,如果使用比较少的流进行测试,业务处理时通常会走快速路径,而随机多流测试可以更好地模拟现网模型,充分评估设备处理慢速路径时的性能。根据我们以往的测试经验,不少安全设备在这种测试环境下性能会有数量级上的下降。 另一方面,我们在之前的下一代防火墙专题中曾经讨论过,使用UDP数据包进行吞吐量测试,不太适合于IPS、WAF等设备的评估,却很容易对流控、上网行为管理等一切基于应用层协议识别技术的设备造成极大的压力。因为目前来看,对UDP包的检测通常是应用协议识别引擎中的最长路径,而测试时构造出的UDP包又必然会被判断为未知协议类型,后继流量没有快速路径可走,设备应对其进行逐包分析。这一环节对硬件处理能力的需求,理论上远远超过状态检测,所以用户即便没有很强悍的测试仪表,也可以通过高性能PC/服务器加发包软件的方式自行测试。惟一需要注意的,是一定要在测试前验证协议识别的效果,保证协议识别引擎处于正常工作的状态。 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
《给力吧,x86》专题连载七:英特尔5520平台网络通信性能测试分析(上)
作者 老韩 | 2011-12-12 17:16 | 类型 研发动态, 科技普及, 网络安全, 行业动感, 通讯产品 | 1条用户评论 »
|
在之前两期连载内容中(见本报今年第21期、29期),我们分别测试分析了目前英特尔面向中低端网络通信市场推出的G41、D525嵌入式解决方案。它们已经被证明在目标市场中有很强的竞争力,被不少通信、安全厂商所使用。但在数据中心、骨干网等万兆网络环境中,x86平台的效能与稳定性仍然有待验证。本期我们就与上海交通大学的老师们一起,对英特尔5520平台在万兆环境下的应用效果进行一次测试分析。
做为中国教育和科研计算机网络(Cernet)华东南地区网、上海教育与科研计算机网(Shernet)和校园网(SJTUnet)的建设、管理单位,上海交通大学网络中心拥有很强的科研实力,长期担负着三大网络运营维护的艰巨任务。在此过程中,该中心充分发挥科研能力上的优势,独立自主地解决了许多难度较大的运维问题。我们在连载中就曾经提到,该校两年前在对校园网出口入侵检测系统的选型中,遇到了市售产品难以满足需求的窘况。在充分分析了业务需求的前提下,网络中心的老师选择了带领团队自行研发的方式,以多组x86服务器分布式处理的方式实现了对万兆链路的实时监测。这样的方式,不仅构建了一个开放的、可以承载多业务的科研平台,更将科研成果转化为实际的安全服务,为校园网的稳定运行提供了保障。 虽然上海交通大学校园网目前拥有多条出口链路、总计超过10Gbps的带宽,但在愈发丰富、模式愈发复杂的网络应用面前,也不是永不拥塞的高速路。目前,流量的可视化与可控性已成为网络中心老师们重点关注的问题,他们需要一个强大的应用流量分析管理系统,为运营维护乃至下一步网络建设规划提供准确的参考依据。经过细致地评估,老师们初步选定了连续两年获得计算机世界年度产品奖的Panabit应用层流量管理系统。不过,与大多数同级别通信、安全产品不同,该系统运行在x86而非MultiCore-MIPS或NP平台上,而老师们(或者说是大多数人)对于x86平台在万兆环境中稳定工作都没有太多信心。 来吧,就让测试去证明一切。 规格全面提升的5520平台 上海交通大学网络中心的老师们为这次测试准备了一台戴尔PowerEdge R710服务器,它是戴尔为第一代Nehalem-EP处理器平台及其后续Westmere-EP处理器平台设计的2U机架式产品。PowerEdge R710基于英特尔5520 IOH芯片(代号Tylersburg-36D)设计,提供了36个PCIe 2.0信道,最多支持两颗英特尔Xeon 5500/5600系列处理器,可以搭配英特尔ICH9或者ICH10使用。在英特尔尚未明确推出Sandy Bridge嵌入式解决方案的今天,基于5520芯片组的产品仍然是目前设备制造商与用户能够获取到的最高端x86平台。 得益于戴尔灵活的定制化销售模式,测试使用的这台PowerEdge R710配置了一颗英特尔Xeon X5690处理器。它支持SMT超线程技术(测试中关闭),具有6个核心、12个硬件线程,主频达到3.46GHz,最大的Turbo Boost频率高达3.73GHz,属于英特尔32nm Westmere-EP处理器家族中的最高端产品。这颗处理器中的每个核心都具有32KB的L1指令缓存和L1数据缓存及256KB的L2缓存,所有核心共享12MB的L3缓存。此外,Xeon X5690还通过两个6.4GT/s的QPI总线和另一颗处理器以5520/5500 IOH芯片通信,QPI总线为一个双向的并行总线,在X5690上,单向带宽为12.8GB/s。 由于集成了较高规格的内存控制器,单颗Xeon X5690可以支持3通道R-ECC DDR3内存,每通道又支持最多3个R-ECC DIMM。在使用能够支持的最高规格的16GB内存条的时候,每颗处理器可拥有144GB的总内存容量,整个系统(双路配置)则可达到288GB的最大容量。X5690支持的最大内存频率规格为DDR3-1333,不过当所有DIMM插槽都插满内存的时候,运行频率将会降低至1066。而本次测试使用的这台PowerEdge R710服务器配置了3条4GB容量的内存,运行在3通道模式。
与时俱进的网络子系统 和桌面级与嵌入式产品不同,在服务器上,所有的高速设备都直接连接到IOH芯片上,而不是相对低速的ICH芯片,理论上减少了性能瓶颈。测试使用的PowerEdge R710服务器上提供了1条PCIe v2.0 x16插槽和两条PCIe v2.0 x4插槽,分别连接到3组顶级网络控制器。其中一组是一块基于英特尔82599EB芯片的英特尔X520双口万兆网卡,另两组是基于英特尔82576EB芯片的双口千兆网卡,一共提供了两个万兆接口和4个千兆接口。实际上,戴尔PowerEdge R710还板载了4个基于Broadcom网络控制器的千兆接口,但在测试中并未用做业务处理。 英特尔X520双口万兆网卡使用的82599EB是一个强大的网络控制器,是目前英特尔在万兆级产品中最顶级的型号。该芯片原生两个万兆接口,每个接口都可以支持128个TX/RX队列,并可以根据情况最多划分为64个RSS(Receive Side Scaling,接收方扩展)队列。此外,82599EB还支持MSI和MSI-X(Extended Message Signaled Interrupt,扩展消息告知中断)特性和一些与数据中心应用密切相关的高级功能。由于万兆环境下的数据传输需要巨大的带宽,82599EB推荐使用PCIe v2.0 x8或以上规格接口进行连接,否则可能会出现瓶颈。 英特尔82576EB也是比较强大的网络控制器,使用PCIe v2.0 x4接口进行连接,是82580出现前千兆级产品中的顶级型号。该芯片原生两个千兆接口,每个接口支持16个TX/RX队列,最多可划分16个RSS队列。和82599EB一样,82576EB也支持MSI和MSI-X,并支持VMDq、VMDc等虚拟化功能。在与英特尔服务器级Tylersburg IOH芯片搭配时,82576EB和82599EB可以通过I/O AT技术加速其DMA的传输性能。 | |
《给力吧,x86》专题连载六:网络通信硬件平台巡览•D525篇
作者 老韩 | 2011-12-11 21:27 | 类型 研发动态, 科技普及, 网络安全, 行业动感, 通讯产品 | 7条用户评论 »
|
在上一期连载内容中,我们测试分析了目前主流的G41网络通信硬件平台。结合其价格定位与性能表现来看,该平台比较适合用来打造中低端产品。而在更低端一些的,也是出货量最大的领域,来自英特尔的Atom平台才是毫无疑问的王者,堪称x86架构真正的杀手级解决方案。
架构精简 配置合理 IEC-516P采用1U规格设计,前面板提供了6个千兆电口(其中两组支持硬件ByPass)、两个USB 2.0接口和一个DB9或RJ45形态的串口。该产品采用了英特尔Atom平台,基于45nm的Atom D525处理器,隶属于PineTrail架构。比起第一代Atom平台,PineTrail从三芯片改进为双芯片设计,在CPU中集成了北桥芯片的部分功能。Atom D525处理器主频为1.80GHz,采用双核四线程设计,集成2 x 512KB L2 Cache,提供了不错的处理能力。其实Atom处理器内核采用的顺序执行机制对于网络业务处理来说并不太合适,双核四线程的D525处理器比起上一代单核双线程的N270会有更大的优势。D525处理器还内置了内存控制器,支持单通道的DDR3-800或DDR2-800内存,最大容量可达4GB。IEC-516P提供了两条DDR3 SO-DIMM插槽,送测样机配备了1条1GB的DDR3内存。 按照英特尔PineTrail平台的规划,D525应该搭配NM10芯片使用,然而NM10仅提供4个PCIe Lanes,限制了通信产品的整体处理能力和部署的灵活性。所以在嵌入式产品线中,英特尔给出了D525与ICH8M的推荐配置。ICH8M可以提供6个PCIe Lanes,以及PCI、IDE、SATA等丰富周边I/O接口。和上一代产品ICH7相比,ICH8比较明显的区别是它支持PCIe v1.1,因此可以支持包括MSI-X在内的一系列新特性。而和面向桌面应用的ICH8相比,面向低功耗移动应用的ICH8M将支持的SATA端口数减少到3个,功耗也有所降低。其实ICH8M内部还整合了1个千兆网络控制器的MAC部分,但其性能无法满足压力较大的网络业务处理,所以包括IEC-516P在内的许多网络通信硬件平台都对其进行了屏蔽处理,转而使用功能、性能更强的独立网络控制器。 IEC-516P通过ICH8M南桥的6个PCIe v1.1信道分别连接到6颗82574L芯片。82574L是沿用已久的嵌入式/服务器千兆以太网控制器,支持两个TX/RX队列和两个RSS队列,是一个成熟稳定、性能尚佳的产品。该芯片使用PCIe v1.1 x1接口,能支持MSI-X等技术,在规格上正好与ICH8M相匹配。ICH8M和Atom D525通过DMI总线连接,实际上就是一个x4的PCIe总线,其单向信号速率/双向信号速率为10Gbps/20Gbps,数据速率则为8Gbps/16Gbps。 在机箱内部,IEC-516P为TDP并不高的Atom D525配备了一个小风扇,并将其安置在机箱出风口的两个风扇附近,因此散热方面完全不成问题。由于整机功耗较低,该产品使用1个180W功率的电源为系统供电,整机功耗不会高于100W,因此180W已经绰绰有余。可靠性方面,IEC-516P内置了支持可编程控制的WatchDog,完善了x86平台的监控机制。存储方面,主板上提供了1个IDE接口和3个SATA接口,可以使用DOM、CF及其他常见的存储介质。送测样机配备了CF接口、IDE界面的1GB DOM,用于安装NCPBench。此外,主板边缘还设计有1个PCI插槽和1个PCIe x1接口的金手指,提供了符合产品定位的扩展性。 性能卓越 低端通吃 考虑到性能数据的可比性,我们依旧使用了NCPBench 0.8对IEC-516P进行测试。按照该软件设定的评估方法,我们将每两个相邻接口配置为桥模式,分别多次考察了1组、2组、3组桥时的整体转发性能,取得稳定后的性能数据(NCPBench的功能介绍和使用方法见本报今年第16/17期51版)。由于IEC-516P只提供了6个千兆接口且不可扩展,在测试3组桥性能时,我们直接将显示器、键盘鼠标插在主板上引出的接口上进行操作。
表格:IEC-516P吞吐量测试结果(百分比形式,NCPBench 0.8/转发模式)
表格:IEC-516P吞吐量测试结果(带宽形式,NCPBench 0.8/转发模式)
表格:IEC-516P吞吐量测试结果(pps形式,NCPBench 0.8/转发模式) 从测试结果中可以看出,当NCPBench运行在转发模式时,IEC-516P的64Byte帧整机最大转发速率超过3.6Mpps,吞吐量达到2.42Gbps;采用1518Byte帧进行测试时,整机的最大转发速率为0.31Mpps,吞吐量达到3.76Gbps。由此可见,Atom平台虽然在网络通信领域被英特尔定位为低端嵌入式解决方案,却也有着不小的潜力。能在纯转发情况下达到这样的性能,也就意味着D525平台在运行一般的防火墙业务时,可以满足高端百兆乃至低端千兆产品的设计需求。或许,我们印象中“低端产品”的概念需要更新了。 通过挖掘,我们还能从有限的测试数据中捕捉到更多的信息。在1组桥和2组桥的测试中,除了前者在1280Byte、1518Byte时达到100%的极限值外,64Byte-1024Byte帧长有着基本相同的百分比数据(蓝色部分)。当我们将其转化为以带宽和pps为单位的数值时,可以看到2组桥时的处理能力基本是1组桥时的两倍,呈线性增长的关系。而在3组桥的测试中,64Byte-1024Byte帧长时的吞吐量数据并不存在这一规律,反倒是在1280Byte和1518Byte两种帧长时,3组桥的性能与2组桥基本保持一致,整体转发能力均为3.7Gbps左右(红色部分)。 要弄清造成这种情况的原因,我们必须深入了解D525平台做数据包纯转发时的业务流程。以IEC-516P为例,D525处理器通过4x DMI通道连接到ICH8M,后者再通过6条PCIe v1.1 1x通道连接板载的6颗英特尔82574L千兆以太网控制器。通常在进行数据包转发操作时,网络控制器先发起DMA请求,将接收缓存中的数据直接传输到内存;CPU经过软件处理定位到目的网络控制器,通过DMA引擎将数据传输到它的发送缓存中,或是让网络控制器自行将数据从内存中取走(82574L整合了DMA引擎)。这是一个逻辑上简单、实现起来复杂的流程(如果要达到高性能),内存子系统、DMA引擎、DMI、ICH8M、PCIe 1x通道、82574L和软件、驱动程序都有可能成为影响整体性能的因素。 再回到我们刚才注意到的两个情况,既然1组桥和2组桥时,64Byte-1024Byte在带宽和pps测试结果上呈线性增长,说明瓶颈不在内存子系统、DMA引擎和DMI。而我们在测试其他更高规格的平台时,基于82574L也得到过更高的性能数据,说明这款网络控制器和PCIe v1.1 1x通道也不是瓶颈。只有在进行3组桥的64Byte-1024Byte帧长测试时,得到的数据才有可能是系统整体的极限。而2组桥与3组桥在1280Byte、1518Byte帧长测试中表现出来基本一样的吞吐量数值,显然是在带宽方面遇到了瓶颈,但可能与DMA引擎、ICH8M、PCIe v1.1 1x通道和82574L关系不大。我们暂时无法再对性能短板做更加精准的定位,不过从完整的测试数据来看,DMI、内存控制器与软件处理逻辑有可能是造成D525平台整体性能瓶颈的关键因素。 无论如何,目前D525平台在NCPBench的驾驭下,已经有着十分优秀的性能表现。随着厂商研发的继续深入和软件技术的不断发展,该平台的性能一定会得到更充分的挖掘,在低端网络通信、信息安全领域有着很好的应用前景。 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
《给力吧,x86》专题连载五:网络通信硬件平台巡览•G41篇
作者 老韩 | 2011-12-10 18:45 | 类型 研发动态, 科技普及, 网络安全, 行业动感, 通讯产品 | 20条用户评论 »
|
子曰:工欲善其事,必先利其器。在上一期连载中,我们介绍了新兴的网络通信平台评估软件NCPBench。从本期开始,我们将陆续测试一批网络通信硬件平台,看看在优秀系统软件的支撑下,x86架构究竟有着怎样的性能,以及不同硬件配置对网络处理能力造成的影响。
合理的配置与设计 打开NSP-1096的机箱上盖,可以看到处理器所在位置做了有针对性的设计。NSP-1096没有使用处理器散热风扇,而是采用了一个较大型的铜质散热器,通过特别制作的导流罩,配合机箱风扇形成一个专门风道,给CPU、内存条以及北桥芯片散热。风道两侧是磁盘悬挂位和电源,该产品配备了全汉的80Plus电源,让NSP-1096在所有的工作负载时间内都能维持较高的电能转换效率,降低了发热量以及其散热需求。 NSP-1096采用了专门为嵌入式平台设计的英特尔G41芯片组,和ICH7/ICH7R南桥芯片搭配使用。作为系统的核心,G41连接着处理器、内存和PCIe总线。它支持1333MT/s的FSB,可以兼容嵌入式产品列表内LGA775接口的各种赛扬、酷睿处理器;内存规格则支持到DDR2-800和DDR3-1333,且拥有两个内存通道,最大容量达到8GB。I/O方面,G41提供了16个PCIe v1.1信道,可以配置为1×16或者2×8;此外,通过DMI 1.0总线和G41连接的ICH7R南桥还能提供6个PCIe v1.0a信道。在NSP-1096上,这6个信道连接了6颗英特尔82754L网络芯片(对应前置接口,其中2组支持硬件ByPass);G41提供的PCIe v1.1 x16则连接到扩展槽位,用以连接使用了82576、82580等中高端网络控制器的扩展模块。 NSP-1096内置的6颗82574L芯片是沿用已久的嵌入式/服务器千兆以太网控制器,支持2个TX/RX队列和2个RSS队列,是一个成熟稳定、性能尚佳的产品。该芯片使用PCIe v1.1 x1接口,能支持MSI-X等技术。不过由于连接在支持PCIe v1.0a的ICH7R上,它仅能使用传统的MSI模式。扩展模块上应用较多的82580则是英特尔最新推出的单芯片四网口千兆以太网控制器,采用了支持5GT/s速率的PCIe v2.1 x4接口,支持包括LTR、TPH、DCA等在内的诸多特性。面向网络通信、主流服务器和高密度刀片的82580是十分强大的芯片,其规格甚至比上一代的王者82576还要强一些。 测试使用的这台NSP-1096还配备了一颗主频为2.66GHz的英特尔Q9400处理器,该处理器使用45nm工艺设计制造,具有4个核心和6MB二级缓存。内存使用了2根DDR3-1333规格、1GB容量的产品,工作在双通道模式。网络接口方面,除了板载的6个千兆铜口,我们还在扩展槽位安装了一块编号为BEM-580-F4的扩展卡。该卡使用了一颗英特尔82580网络控制器,提供4个额外的SFP接口。不过,理论上该芯片在连接到G41的PCIe v1.1后速率将降为2.5GT/s,功能特性也只有包括MSI-X模式在内的v1.1部分可以使用。 整体性能超越预期 在CF卡中安装了NCPBench 0.8后,我们将每两个相邻接口配置为桥模式,进行纯转发性能与带简单业务情况时的测试(NCPBench的功能介绍和使用方法见上一期连载内容)。对于NSP-1096来说,BEM-580-F4扩展模块在很大程度上左右着整机的处理能力,我们也对其进行了重点考察。考虑到是第一次在这样的配置场景中进行测试,每个项目在使用测试仪表进行测试后,都再使用NCPBench进行一次自测试。我们可以对比两组数据的差异,用以评估NCPBench测试结果的准确性。 从测试结果中可以看出,当NCPBench运行在纯转发模式时,BEM-580-F4扩展模块上的4个接口转发64Byte帧的速率超过4Mpps,其他帧长时均接近或达到线速。这个结果虽然出色,却使人略感遗憾。我们曾经在一台采用5520芯片组的硬件平台上,测得过82580的4个接口间所有帧长均线速转发的结果,也就是说瓶颈不在网络控制器。而对NSP-1096全部10个千兆接口的测试结果表明,该产品对64Byte帧的整机转发能力接近9Mpps,这又意味着,之前测试中的性能瓶颈也不应该在处理器。经过排除分析,我们推测问题很可能来自I/O方面,理论上G41与82580协商后只能使用PCIe v1.1规格进行连接,在传输速率和效率上都大打折扣。此外,硬件平台在缓存和内存等方面的差异,也可能会对数据包转发能力造成一定影响。不过总体来说,NSP-1096的设计已经最大地发挥了G41芯片组的潜能,表现出来的整体性能也超越预期,足以满足其目标市场的需求。 本次测试中,测试仪与NCPBench得到的两组结果保持高度一致,我们只在高负载情况下观察到pps统计数值略有不同,没有出现往常几个百分点级别的差异;加载简单业务后,性能数据也没有发生很大变化,只在使用128Byte帧长测试时有所降低。我们认为,造成这两种情况的主要原因是处理器本身有性能余量,接口带宽也限制了极限数据的出现。单就NCPBench来说,其自测试结果还是比较准确的,可以满足用户的常规测试需求。
表格:NSP-1096吞吐量测试结果(针对BEM-580-F4扩展模块) | ||||||||||||||||||||||||||||||||||||||||||||
《给力吧,x86》专题连载四:网络通信平台评估软件NCPBench应用分析
作者 老韩 | 2011-12-07 11:03 | 类型 研发动态, 科技普及, 网络安全, 行业动感, 通讯产品 | 15条用户评论 »
|
x86网络通信硬件平台的迅猛发展,已经吸引了许多厂商、用户的关注。在进行评估测试时,如何才能准确、便捷地了解硬件平台的整体性能,是所有人都关心的问题。本期,就让我们聚焦于新兴的评估软件NCPBench,感受一下它诸多与众不同的特性。
以互联网的名义 NCPBench是近期兴起的一款测试软件,用于评估x86硬件平台做网络业务处理时的性能。在我们看来,该软件融入了大量的互联网基因,与日常使用的诸多软硬件评估产品有着明显的不同。众所周知,用户参与是互联网产品成功的基本要素,NCPBench显然抓住了这个要点,在产品发展的方向性上与用户需求保持着高度一致。该软件采用了十分开放的构建模式,版本升级比较迅速。与之对应的,在主要功能保持稳定的情况下,再根据用户反馈需求的迫切性,逐步完善产品的细节功能。而互动的效果则取决于用户数量与质量,所以NCPBench本着“让更多人使用”的理念,采用了免费的许可授权模式,允许甚至鼓励被用于包括商业在内的各类评估环境。 NCPBench与其他软硬件评估产品的第二个不同,体现在操作的便捷性方面。一般来说,网络通信、信息安全等领域的测试解决方案都比较复杂,使用时需要较高的专业素养,配置过程也相对麻烦。NCPBench则很好地简化了用户端的工作,使用时只需对网络接口、业务模式等几个必要环节进行设置,即可进行性能测试。一键式安装也是非常实用的功能,我们拿到新的硬件平台,用几分钟时间就可以将NCPBench安装到本地或USB存储设备上,而不必经历从磁盘分区到编译的诸多步骤。该软件还内置了常见的硬件驱动,在多数平台上可以直接发挥出硬件的所有潜力。 利用NCPBench,我们可以评估任何x86平台的网络业务处理能力。现阶段该软件提供了“转发”与“业务”两种应用模型,前者不对数据包进行任何处理,考察的是硬件平台的数据包转发极限;后者将建立数据流的概念,其业务复杂度与NAT、状态检测引擎类似。通常,我们会测试x86硬件平台在两种模型下的吞吐量与延迟,当然这些结果都是理论值,仅供评估参考。根据经验来看,设备在真实流量下的综合效能,如果能达到模拟测试环境中的50%,就已经相当难得了。不过“转发”模型下的性能还是很重要的,毕竟对于没有任何加速逻辑的x86平台来说,数据包纯转发的性能是一个极限标杆。没有高性能转发做支撑,任何上层业务都将是纸上谈兵。 高性能的诱惑 众所周知,目前x86平台用做网络业务处理时,首先要解决的就是多个处理器内核间的调度与资源分配问题。如果使用传统的处理模型,很可能导致资源使用的不平衡,无法发挥出硬件平台的整体性能;而多核并行处理的模式,虽然在理论上可以提升性能,实际使用时的效果却大多难令人满意。NCPBench在这方面就显得非常灵活,用户可以人为设定用做转发及业务处理的内核数量,并且转发与业务在每个独立内核上也都是并行处理,系统呈纯SMP形态。该软件也不像某些同类产品那样必须人为地将网络接口与处理器内核进行绑定,而是根据硬件平台配备的接口种类及数量,自动建立关联关系。 经过多次测试,我们已经确认NCPBench在x86平台上可以做到非常强悍的数据包转发性能。现有测试数据中,64byte UDP数据包的最大转发速率接近30Mpps,是在英特尔Sandy Bridge搭配i82599万兆网卡的平台下测得。此时使用RFC 2544规定的7种帧长的数据包测试转发延迟,时间也均在10微秒以内。这意味着,x86平台用做20G/40G环境中的业务处理,并非是遥不可及的目标。需要注意的是,x86平台所能达到的的数据包转发能力与处理器、桥片、网卡芯片等都有很大关系,如果在硬件规格上无法很好地匹配,性能瓶颈就会过早地出现。我们发现,网络通信硬件平台大多经过有针对性的定制,硬件搭配相对合理;服务器的配置则大多是计算远强于网络,很可能要另行采用高性能网卡以达到更快的转发速度。 为了让用户更方便地了解x86硬件平台的网络处理性能,NCPBench还内置了一个自评估工具。该工具的使用极其简单,只需用网线将要测试的接口两两互联,就可以在环路内生成指定帧长、方向、强度的UDP测试流量,对硬件平台自身进行测试。我们注意到,在多数情况下,使用自评估工具得到的性能值都较测试仪得到的略低,但观察到的最大一次误差也仅在3%以内,还是具有比较强的参考价值。 | |
《给力吧,x86》专题连载三:x86平台网络应用效能实测
作者 老韩 | 2011-12-07 08:15 | 类型 研发动态, 科技普及, 网络安全, 行业动感, 通讯产品 | 11条用户评论 »
|
弯曲评论现在的影响力很大,甚至能吸引到一些行业用户的关注(潜水居多)。本文就是《给力吧,x86(1)——11月10日测试记录》一文刊登后,用户直接与我们沟通进行的一次测试合作的副产品。这是一个良好的开端,后续还有与其他用户联合进行的更大、更深入、更给力的测试,敬请关注。 ============================================================== 前两期连载中,我们简单回顾了x86平台在网络产品中的应用历程,又逐一分析了其面向不同用户群体的硬件供应模式。实践是检验真理的唯一标准,本期就让我们走进现实中,借助近期的一次测试,看看在网络技术及应用高速发展的今天,x86平台对业务的承载能力究竟如何。
先入为主的误会 我们在之前的调研中发现,抱有这种看法的用户并不在少数。北京市某学校信息中心负责人李老师就是一个典型代表,虽然他在目前进行的流控产品选型中比较中意连续两年获得计算机世界年度产品奖的Panabit应用层流量管理系统,却因其运行在x86平台上而犹豫不决。 “我们一直用着一台x86架构的UTM产品,效果越来越不好。”李老师介绍说,“以前网络负载不大时,设备运行没有任何问题;现在越来越多的教学、科研任务要通过网络进行,学校网络出口的百兆带宽经常被占满,UTM运行也变得不稳定。”令人没有想到的是,他紧接着又说出一个令我们很难理解的结论,“看来,x86平台也就是这个样子了。” x86架构与网络运行不稳定有直接关系?实验室工程师习惯以量化的数据去看待问题,自然无法认同李老师的推断。在他的协助下,我们走进该校信息中心,对网络运行情况进行了实地考察。经过分析,我们发现造成学校网络出口拥塞的主要原因大致有三:其一是在线课件播放系统产生的数据流量,由于学生分布在不同校区,远程教学会在上课时段对网络造成比较大的压力。其二是学校周边视频监控的数据上传流量,根据教委要求,为加强校园安全工作,各学校的视频监控数据需实时汇总到教委信息中心,以便对突发事件做到事前预警、事中监控及事后取证。李老师所在的学校需要实时上传4路监控视频,这也是该校网络上行带宽占用率居高不下的原因之一。其三则是P2P、在线视频等非业务应用产生的流量,此类应用会无限制地占用网络带宽,是每一个网络管理员都非常头疼的问题。我们在分析报表中看到,以迅雷为代表的下载应用在网络使用高峰期一度抢占了70%左右的带宽,严重影响了该校教学工作的正常开展。 根据分析得到的数据,我们建议李老师对UTM上的安全策略进行了调整,不再对远程教学与视频监控相关的流量进行应用层面的安全防护。由于它们都是可信流量,修改过的访问控制策略非但不会造成安全隐患,还能有效降低UTM的负载。很快,我们看到设备的CPU占用率显著下降,内网用户访问网络的延迟也回到相对合理的水平,x86“不行”的误会也就此得到解除。但对于非业务流量的控制需求,该校主出口使用的这台国外某品牌的UTM产品并没有足够的本土化保障,对国内主流应用的支持力度相对薄弱,无法进行有效的控制。可以说,流控产品的部署势在必行。 标前测试:大放异彩 虽然解决了UTM运行不稳定的问题,李老师所在的信息中心管理团队还是对x86架构产品存有疑虑,不愿直接将设备接入实际环境进行测试。这一点大家都能理解,毕竟学校网络承担着大量的教学、科研任务,万一出现意外,后果将不堪设想。在我们看来,李老师所在团队目前所需要的,是一次客观、严谨的标前测试。实际上,这一环节已经被国内越来越多的用户所认可,因为是否选购产品,或者是否再接入实际环境测试,都可以用标前测试得到的量化数据作为决策依据。 在实验室合作伙伴思博伦通信的支持下,我们与李老师所在团队合作,于近日测试了他们关注的Panabit应用层流量管理系统。该产品运行在x86平台上,拥有优秀的协议识别率及性能。商务模式方面,Panabit可以通过软件授权或服务的形式进行交付,给用户自行选择硬件的自由,还可以节省大量开支。李老师这次带来的硬件,就是供应商基于该校网络实际情况,推荐的一款带有6个千兆电口的基于Atom N270的x86网络通信硬件平台。 Atom N270?实验室工程师们感到难以置信。要知道,流控引擎是在DPI(Deep Packet Inspection,深度包检测)的基础上结合多种技术发展而来,属于处理模型相对复杂的一类业务应用,对硬件平台的计算能力有着相当高的要求。而Atom N270是什么级别的产品?放在上网本里也算是两代之前的配置了,它真能满足百兆级别应用层流量管理的需求? 诸多疑问化作动力,催使我们立即开始了测试。被测设备预装了Panabit 10.10专业版,开启了应用层流量分析,作用于4个千兆口绑定成的两组桥。根据联合制定的测试方案,我们首先对带业务情况下的吞吐量、延迟进行了测试。虽然常用的UDP测试流量对于IPS、WAF等应用层安全设备来说意义不大,对流控产品测试却有着十分现实的意义——据统计,目前互联网中占流量比例最大的是在线视频应用(在教育、网吧等行业中比例数字更为惊人),它们其中大多数都使用了UDP传输,且数据包偏小。测试结果令人震惊,当我们单独测试1组桥的性能时,该平台64Byte帧的吞吐量达到41%,也就是800多兆的处理能力。当帧长逐渐增加时,吞吐量也呈线性增长,并在1518Byte时达到线速。此时最大的平均延迟,也仅为68微秒。而在同时对2组桥的测试中,设备的整体吞吐量又有所增加,在256Byte时就已拥有接近2G的性能。我们也利用全部4个接口测试了该产品的链接处理能力,当链接的Timeout时间设为0时,Avalanche测得的稳定值在90000左右,峰值为90014CPS(HTTP)。这一次的数据体现出了设备的极限性能,根据以往经验,其表现完全可以胜任普通千兆接入环境中的应用。
有了这些测试数据,老师们基本放下心来,将设备接入实际环境中进行了长时间的测试。对于流控设备上线后的效果,李老师给予了充分的肯定:“业务流量控制住了,学校网络出口的流量也就下来了,UTM的负载就更小了。”而在稳定性方面,他也坦言没有遇到过任何异常情况,不过我们仍然建议做更长时间的测试,以便进一步考察x86网络通信硬件平台长期不间断运行的效果。 后记:广阔天地 大有作为 从测试结果中可以看出,x86平台的网络业务处理能力确实有了长足的进步。目前,在英特尔面向网络应用的嵌入式产品线中,Atom N270是最低端的一款产品,都有着如此强大的处理能力。随着网络通信和信息安全业务的关注点逐步向应用层迁移,x86平台的优势将会越来越明显。当然,现有基于x86架构的产品仍不足以在高端市场和基于专用网络通信处理平台的产品竞争,但在其他诸多领域内,x86已经表现出了一定的竞争力。对开源系统良好的支持、海量的软件资源、较低的开发难度、价格优势和易获取性,这些都是其取胜的砝码。是否有点眼熟?没错,如果哪天基于x86架构的网络通信和信息安全产品(至少是中低端)开始山寨化,大可不必感到奇怪。 | ||||||||||||||||||||||||||||||||||||||||||||
《给力吧,x86》专题连载二:x86平台在网络领域的发展应用分析
作者 老韩 | 2011-12-07 07:22 | 类型 研发动态, 科技普及, 网络安全, 行业动感, 通讯产品 | 23条用户评论 »
|
上一期,我们系统地回顾了x86平台在网络产品中的应用历程,得出了其目前处于高速发展中的结论。越来越多的设备制造商也认识到这一点,开始在产品的研发中考虑x86平台。那么,自主研发硬件与定制网络通信硬件平台,究竟哪条路更适合设备制造商?x86服务器缘何又受到最终用户的青睐? 得不偿失的自主研发 自主研发是产品核心竞争力的基础,网络领域也不例外。对于网络设备的硬件部分来说,自主研发意味着差异化、定制化和成本的可控性。这既可以与业务高度匹配,又能取得技术、规格与价格上的优势,是每个厂商都梦寐以求的局面。 但真要做到全部自主研发,却也未必就是好的选择,甚至不太可能。自主研发需要投入大量人力物力,且有着相对较长的时间周期,这是大量初创企业乃至市场规模较小的安全厂商很难接受的。如果自主研发的硬件平台存在瑕疵,其代价将更为惨重,厂商损失的不再只是前期投入,而是转瞬即逝的市场机会。所以,通常只有通信行业的巨头才会去押宝硬件平台的自主研发,更多地体现技术上的壁垒,且在预研阶段不会拘泥于某种特定的方案。 此外,x86平台一些不可磨灭的消费类特性,也是阻碍网络设备制造商实现自主研发的关键因素。虽然嵌入式范畴内的x86平台也拥有了较长的生命周期,CPU、桥片、网络控制器的种类却偏多,更新换代的速度又比较快,且不同时代、不同桥片对应的CPU针脚都不是100%兼容。相信没有一个网络设备制造商可以跟得上这种更新速度,我们在长期的测试工作中,也确实没有见到过哪款通信或安全产品是采用自主研发的x86平台(少量定制型号与CheckPoint除外)。大家共同的选择,还是定制化服务器或由工控机衍生而来的x86网络通信硬件平台。 服务器:近水楼台先得月 既然x86平台以通用性为主打,那么注定其在市场等非技术层面更具竞争力。以服务器为例,采用x86体系架构的产品在价格、性能和易获取性方面都有着明显优势,占据了绝对主流的市场地位。近几年来,x86架构服务器在网络处理能力和I/O特性方面有着显著提升,标配4个千兆网口的产品也屡见不鲜。更有甚者,一贯拥有良好前瞻性的英特尔将于今年发布标配2个万兆网口的新服务器平台,会将网络应用效能提升到一个新的高度。 基于以上多种原因,越来越多具有一定研发能力的用户开始采用唾手可得的x86服务器来打造适合自身应用的网络设备。尤其在电信、金融、教育等行业,用户业务本身存在比较强的定制化需求,性能要求又相对较高,故此类情况时有发生。在我们的调研中,就出现了一些具有代表性的案例。上海交通大学网络信息中心的姜开达老师曾坦言,两年前该校在对校园网出口入侵检测系统的选型中,就遇到了市售产品难以满足需求的窘况。在充分分析了业务需求的前提下,姜老师选择了带领团队自行研发的方式,以多组x86服务器分布式处理的方式实现了对万兆链路的实时监测。这一举动,不仅构建了一个开放的、可以承载多业务的科研平台,更将科研成果转化为实际的安全服务,为校园网的稳定运行提供了保障。 许多数据都表明,面向网络应用的x86硬件平台的市场需求处于不断扩大的阶段,而服务器因其易获取性成为了用户的首选。网络产品本身也有着互联网化的倾向,以软件授权、服务为代表的商业模式剥离了传统软硬件一体化的产品形态,开始赋予用户自行选择硬件平台的权利。来自学术界的激进看法甚至认为,未来无论互联网还是数据中心,都将只由交换机和服务器两种硬件产品构成。 工控机的反击 x86服务器在网络领域的无心插柳,也刺激了传统的网络通信硬件平台提供商。他们开始推出有针对性的产品及商业模式,直接面向最终用户。我们在调研中发现,原本对新硬件方案不甚敏感的他们也逐步加速产品研发流程,主动接纳较新的x86平台,积极拓展产品线。对于用户在存储子系统方面比较普遍的应用需求,许多网络通信硬件平台提供商也开始在产品中增加硬盘位及相应的RAID特性。某些厂商还针对x86平台在硬件狗等方面的先天不足,以板载CPLD芯片等方式实现了强大的监控与联动能力。用户及设备制造商可以通过软件接口读取、调用这些功能,甚至基于CPLD自行开发其他监控手段,增强x86平台的可靠性。 与服务器相比,网络通信硬件平台有着一些无法被超越的优势。首先,它从内到外都可以由用户深度定制,无论是接口种类或数量,CPU、网络控制器的型号,还是PCB的板型及工艺,机箱规格及面板设计,都可以根据设备实现的业务进行最合理化的搭配。这种裁剪还降低了整机成本,也减小了系统功耗及散热难度。其次,可靠性在网络通信硬件平台的设计中至高无上,诸如网口的硬件Bypass等特性是绝大多数服务器产品无法提供的。而在元器件规格方面,多数网络通信硬件平台也都采用了比服务器更专业化、寿命更长、对工作环境要求更宽松的产品,使系统的稳定性有了更多的保障。虽然这一切都增加着硬件整体成本,所改善的却是网络产品必须具备的特性。所以,虽然销量巨大的服务器有着相对低廉的价格,但标准化的产品形态和对网络业务并不十分友好的支持,都使其在短时间内无法替代x86网络通信硬件平台。在网络通信硬件平台提供商逐步走向前端的今天,用户不妨在选型时也多给予一些关注。 | |






(2个打分, 平均:4.50 / 5)








