借助智能型服务器适配器提升性价比(第二部分)

摘要:本文是针对在基于主机的网络应用程序中采用通用CPU的相关优势及陷阱进行深入挖掘分析,并就当前被用于基于主机的网络以提供更好性价比的不同服务器网络硬件技术进行探讨的系列文章的第二部分。在本系列文章的第一部分中,我们主要关注了基于主机的网络的硬件加速的潜在问题及重要性。而在本文中,我们将探讨当前被用于这类智能服务器适配器的三大基本技术,并将就提供最佳性价比的基于主机的网络的解决方案提供相应的指导和建议。

对于那些部署或评估基于主机的网络应用程序的数据中心运营商们而言,他们将面临如何成本有效地采用基于COTS(商用现成品或技术,Commercial-off-the-shelf)的服务器平台将其企业网络规模化扩展到10,25,40乃至50GbE网络的挑战。正如我们在前一部分的文章中所介绍的那样,诸如vSwitches这样基于主机的网络功能,完全是以软件的形式部署实现的,而由于在数据面板处理过程中,价格高昂的x86
CPU内核相当耗能,其在10GbE和更高速度的网络中无疑是成本昂贵且低效的。故而,本文特别针对各种基于主机的联网方式的性价比进行了比较。

涉及到纯软件实施部署的根本问题是:当涉及到数据包时,隧道和数据流处理时,x86架构的能力与基于主机的联网处理的基本要素根本不匹配。这是因为x86及其他针对计算服务器的通用型处理体系结构是用于在操作系统环境中运行复杂和相对长时间运行的应用程序,进行了设计优化。这种方法非常适合服务器应用程序,但当涉及到基于主机的网络时,它不一定是最好的策略。为了更好的了解x86服务器这些优先事项,我们建议您参考下图所示的Sandy
Bridge装置的芯片级视图。

  图1:英特尔x86:优化的服务器,而不是基于主机的网络。

在传统的操作系统环境下运行优化的通用计算应用程序的需要,为CPU处理器架构带来了大量的复杂化。x86内核加载的功能包括了拥有诸如相当漫长而复杂的超标量处理管道、推测执行和分支预测,大的缓存和MMU以支持虚拟内存等的诸多功能,所有这些功能都造成了每个内核的大型芯片面积(die

area)。需要大规模的L3缓存以支持非常大的程序和外部存储器中的数据集,但基于主机的网络数据路径程序和数据都比较小,在一个单独的配置中并不需要L3。同样,在x86的图形处理和浮点单元也不需要数据路径处理。由于这些服务器类的功能极大地推动了处理器芯片的规模,却并没有增加基于主机的网络功能的工作输出,他们极大地降低了整体解决方案的性价比。

事实上,将x86应用于基于主机的网络就像是试图用柴火来牵引法拉利一样:这根本就不是可以用来完成工作的正确工具,其成本太过于昂贵而不能实现。这个问题目前已得到了广泛的认可,而自然反应一直在追求纯软件的优化。诸如像数据面开发工具套件(
Data Plane Development Kit,DPDK)这样的技术旨在通过提高缓存利用率,并消除中断处理的能耗来改善x86
CPU在网络应用程序的性能。同时通过减少处理器闲置空转的百分比提供适度的改善,这种方法不能克服上述基本架构的限制,因此进一步的有效的改进将是相当有限的。

x86基于软件的替代方案

在x86
CPU上基于主机的网络软件提供良好的性价比的失败为追求成本有效地规模化扩展到10,25,40,50和100GbE线路速率的替代解决方案带来了积极的动力。而其中一款替代方案方法便是配备了MIPS-

或基于ARM多核系统单芯片(System-on-a-chip,SoC)技术的智能服务器适配器。在该模型中,SoC部署在基于主机的网络数据路径,整个软件完全运行在的SoC处理核心。这样做虽然卸载了服务器,但这并不改变基本的处理范式:SoC的方法受到与x86

相同的基本架构局限。这是因为这些SoC设备的架构是首先是针对服务器市场优化的,然后才是被用于服务器适配器,所以上述适用于x86的效率低下的问题在这里依然存在。这种方法只是对处理资源的一种再分配,对提高整体解决方案的效率和性价比没有太大的效果。其缺点是显而易见的,基于SoC的服务器适配器根本很难实现线速,而在当前的网络所部署的最大数据包大小则是20Gbps。

另一个经常被讨论的替代方案也是十分相似的:利用现场可编程门阵列FPGA(Field-Programmable Gate
Array)。最近有文章介绍了FPGA对于涉及到在数据中心网页搜索特定算法的相关的加速的好处(1)。甚至还有人建议针对基于主机的网络的数据面处理采用同样的方式。但对于基于主机的网络采用FPGA的效率和成本效益尚未得到证实,而基于下文所指出的各种原因,其获得广泛采用似乎不大可能。

FPGA适合于重复的,细粒度性质的明确的任务,如图像和信号处理、压缩/解压缩、加密,等等。它们通常比在通用处理器上运行的软件能够更高效地执行这些任务。然而,对于那些复杂的、可变的和不规则的处理任务,需要进行分组处理的,FPGA处理起来则是不佳的。所需要的功能,如分支、位操作、封装和过滤等,会为FPGA在实现网络数据路径时造成很大的困难。

此外,较之标准的ASIC技术,FPGA产生一个巨大的面积效率(area-efficiency)的损失,其在非常具体的用例之外很难克服。在FPGA中的可编程互连基础设施消耗大量的芯片面积,导致较之基于ASIC的设计,会产生单位面积大约20-30倍的低效逻辑网关,和12倍多的动态功率等效功能(2)。鉴于服务器适配器的芯片面积的上限是由成本和功耗的共同点所驱动,FPGA是在性能效率方面具有显著劣势。

此外,FPGA中的主要好处之一,便是通过重新编程适应功能的能力,其往往是在相当有限的实践中。显著更改数据路径可能不适合或在目标设备的路径,或者可能无法达到同一目标的工作频率。此外,FPGA的一般程序使用深奥的硬件描述语言,如Verilog或VHDL,并且需要具备良好性能的手工编码。通过利用C语言的OpenCL和其他方法支持的FPGA编程改进能够带来简化的开发,但只有在牺牲更高的效率,并以进一步削弱性价比为代价。

我们只需要回顾历史,看看FPGA一直被用于网络数据路径的利基应用。通常情况下,他们作为一个权宜之计,直到更多高效专用解决方案变得可用。事实上,FPGA的使用常常是作为一个产品存在差距的指示器,而如果差距是在一个有着足够的市场规模的领域,专用解决方案将不可避免地被开发。

基于所有上述原因,搭载多核SoC或FPGA的智能服务器适配器显然缺乏适应当今和未来的基于主机的网络应用程序所需的伸缩性和可扩展性。当然,这是一个我们所熟悉的主题。而业界也在不断试图为新应用程序重新使用现有技术,其已被证明是有必要的,以新的和专门构建的技术适应新的网络加速效率规模和要求。

专用解决方案演进成为主流

当可用的解决方案无法满足新兴的和令人信服的用例的需要,特制的解决方案就将不可避免地演变作为补充,有时甚至会取代他们。在上世纪90年代,
IP路由器就已经被部署在了所有通用CPU的软件上了,但由于互联网带动流量的增长,所导致的更高的性能和规模的爆炸性需求,网络处理器诞生了。
ATM演变为专门构建的和有针对性的技术预期,部分以适应融合多种通信流量类型的需求。
MPLS演变的下一步是作为一个扩展的以太网,纳入最佳ATM作为一款卓越的解决方案,扩展基于2层和第3层的VPN。这些技术的初步实现往往发生在FPGA中,但很快,ASSP被开发,可以提供更好的性价比,以执行这些功能,导致其成为主流。

类似的发展演变也在InfiniBand和RoCE发生。RoCE适配器是专为使用率很低的低延迟和大规模数据传输的CPU而打造的。由于该解决方案提供了优越的性价比和可扩展性,它能够克服那些已经被视为显著的障碍:使用InfiniBand传输层和IBTA定义相对于TCP
/ IP和传统套接字接口更熟悉。它的优势占了上风,并逐步增长,而RoCE
目前已经更新到第2版,增加了对路由和部署跨3层网络的支持。虽然RoCE
最初实施主要是在服务器的软件上,其处理负担则是非常高的,这推动了具体解决方案以服务器适配器的ASSP形式支持RoCE
直接从硬件卸载,现在成为主流。

特制的技术从专门到主流部署的发展演变作为更具成本效益的方法,意味着适应不断变化的需求,演化示图见下图2。除了IP / ATM /
MPLS和RoCE,图中还展示出了专用3D图形技术集成到现在已经在电脑普及,提供了最初软件在服务器上实现的功能的主流的基于GPU的产品然后转移到一个专用的加速器的演变的另一个很好的例子,最后以GPU适配器的形式成为主流应用。同样的进化过程中也开始在基于主机的网络使用情况中出现,并产生了一个新的专用技术:网络流处理器(NFP)。  

  图2:专用目的构建的技术找到成为主流部署的方式。

网络流处理器:专为基于主机的网络构建的克服多核SoC和FPGA的性能和可扩展性限制需要解决造成这些局限性的根本原因。基于NFP的智能服务器适配器能够从10Gbps有效扩展到100Gbps的吞吐量,提供超过现有基于软件的解决方案,带来一个数量级的性能提升。图3显示出了用于一个公共的基于主机的网络数据面应用程序的吞吐量比较,开源的vSwitch(OVS)。如图所示,对于等量的x86
CPU资源(单核的x86),基于NFP的智能服务器适配器在数据包吞吐量方面提供超过20倍的改善提高,从而极大地提高了性价比。  

  图3:使用基于NFP的智能服务器适配器的基于主机的网络性能。

虽然我们预计其他基于MSOC或FPGA的智能服务器适配器能够至少在性价比方面能有所改善,但并不是所有的这种适配器都是一样的。在本系列文章的第三部分,也即最后一篇文章中,我们将为您概述在评估基于主机的网络应用的智能服务器适配器时,会对您有所帮助的几个重要特征。

索引:

(1)微软《大型数据中心服务的加速重配置结构》

(2)《FPGA和ASIC之间的差距测量》伊恩久远和乔纳森玫瑰,,多伦多大学电气与计算机工程系 Ian Kuon和Jonathan Rose合著

关于作者

本文作者Nick
Tausanovitch拥有电子和网络相关行业超过25年的经验,从业的范围涵盖了从FPGA和芯片设计到系统架构和产品营销。Nick目前是Netronome公司解决方案架构资深总监,他主要负责该公司的数据中心应用程序企业智能服务器适配器产品。此前,他曾负责Broadcom公司的高端网络处理器产品线。在此之前,Nick曾担任IDT公司的电子设计主管,在那里他开发了TCAMs和搜索引擎算法。并曾在Nortel公司担任过系统架构师,负责开发交换机、路由器和网络处理器。Nick持有罗切斯特大学的电气工程科学学士学位及纽约大学理工学院电气工程硕士学位。

本文转自d1net(转载)

时间: 2024-10-04 14:41:08

借助智能型服务器适配器提升性价比(第二部分)的相关文章

借助智能型服务器适配器提升性价比(第一部分)

摘要:基于主机的网络包括了诸如网络虚拟化.安全性.负载平衡和遥测等网络功能的实现.软件定义的网络(SDN)和网络功能虚拟化(NFV)则是建立在基于主机的网络基础之上的,旨在运行在配备了通用的x86 CPU和网络适配器(NICs)的商用现成(Commercial Off-The-Shelf,COTS)硬件设备上.但是,这样的配置是否能够当服务器在被用来作为计算机或服务节点时,带来真正有效的执行及峰值价格/性能呢?广泛的测试已然为此提供了一个明确的答案:否. 通用的CPU一般都不是专为高性能的基于主

智能服务器适配器:成功的关键要素

本文是针对在基于主机的网络应用程序中采用通用CPU的相关优势及陷阱进行深入挖掘分析,并就当前被用于基于主机的网络以提供更好性价比的不同服务器网络硬件技术进行探讨的系列文章的第三部分.在本系列文章的第一部分中,我们主要讨论了基于主机的网络和当使用通用CPU以部署数据路径时所潜在的问题.同时,我们还探讨了智能服务器适配器对于硬件加速和服务器卸载的重要性.而在本系列文章的第二部分中,我们探讨了当前被用于这类智能服务器适配器的三大基本技术,并就为基于主机的网络应用程序提供最佳性价比的解决方案提供了相应的

运营商4G斗法:连续下调资费,提升性价比

国内4G网络建设正在加速进行中,伴随着运营商4G网络的日趋完善,资费方面的竞争也日趋激烈.中国联通将"3G/4G一体化套餐"逐步常态化,流量比3G套餐大幅增加,性价比不断提升.有媒体近日报道称中国联通将去年9月份向老用户赠予的两年每月300M或200分钟国内语音时长的优惠方式逐步常态化,而中国移动也有跟进的举动. 随着运营商4G博弈升级,流量引发存量市场之争,相较于2G用户,目前运营商手中的3G用户无疑属于高质量用户,近期运营商扎堆在4G资费上做文章,正是希望通过增加套餐内容的方式引导

借助热点新闻事件 提升网站流量和知名度

所谓热点事件,都是大家所关注的,十分关心的事件.要不就是和自身有着联系,例如账号安全,铁道部网上售票等;要不就是和自己的兴趣有关,你是从事seo,那么雅虎的搜索外包的新闻,一定会触发你及其他seo点击.同样的道理,在你的网站上放上一些热点事件的报道及评论,前提是事件发生不久,还未传播到大范围,热点事件就是时效性极强的新闻.如果你的网站知名度还可以,那么你就坐着看效果就可以;如果你的网站是个不到半年的新站,或者说知名度不够,每天的IP仅有个位数.那么你需要到各大知名论坛去发布一下你有热点新闻这个讯

SanDisk闪迪借助新型固态硬盘提升云计算性能和密度

   全球领先的闪存解决方案提供商SanDisk闪迪公司(纳斯达克:SNDK)今日发布面向云服务提供商(CSP)和软件定义存储(SDS)环境的第二代CloudSpeed Ultra SATA固态硬盘.第二代CloudSpeed Ultra SATA固态硬盘的可用容量最高可达1.6TB*,可为电子商务或在线协作服务等混合用途.时延敏感型的事务处理型工作负载提供所需的存储性能和密度.第二代CloudSpeed Ultra SSD基于SanDisk闪迪现有的云计算闪存解决方案组合,极具性价比,单位IO

南加州大学借助Xiotech存储虚拟化提升性能

   [WatchStor独家译文]Dan Lewis知道,他们使用SAN的日子屈指可数了.现在他们的惠普EVA 3000系统已经使用了5年多了.技术支持成本越来越高,性能也不能满足他的需求,因此他知道,当存储需求越来越高的时候,这个问题将更加恶化.但是作为南加州大学马歇尔商学院的网络服务主管,Lewis还知道他必须满足其他更多需求--不仅仅是存储需求. Lewis表示:"我们对虚拟化技术非常感兴趣.我们对预算开支非常谨慎,马歇尔商学院的IT部门希望做一些能够给整所大学带来好处的事情,使用最新的

LinkedIn用Node替代Rails:减少了27台服务器 速度提升20倍

Ryan http://www.aliyun.com/zixun/aggregation/13830.html">Paul写过一篇<深入观察LinkedIn移动端的设计>,在其中我们看到:有23%的移动用户:专注朴素.易用以及可靠性:30%原生代码,70%使用HTML:嵌入轻量的HTTP服务:单一的客户端应用链接云服务器:后端服务从Rails转换到Node.js. 曾经在LinkedIn工作的工程师蓝奕凯补充道:移动促使产生了跨数据中心应用.运行在单线程的Rails服务器上(每

Nginx+PHP(FastCGI)搭建高并发WEB服务器(自动安装脚本)第二版_nginx

本文是依照张宴的 Nginx 0.7.x + PHP 5.2.10(FastCGI)搭建胜过Apache十倍的Web服务器(第5版) 编写 原文地址 http://blog.s135.com/nginx_php_v5/ 因为编译过程和等待时间繁琐,于是就自己写了个全自动安装的shell脚本,此脚本可以随意修改,转载请注明出处. 这篇文章为这个系列的第二版,在第一版的基础上加入 1.日志切割 2.智能选择yum或者rpm安装 下载地址 注意:如果不能使用yum源,请放入系统光盘,单张dvd的,如果

应用程序中的服务器错误提升:401.3

问题描述 "/"应用程序中的服务器错误.访问被拒绝.说明:访问服务此请求所需的资源时出错.您可能没有查看所请求的资源的权限.错误消息401.3:您无权使用您提供的凭据查看此目录或页(由于访问控制列表而导致访问被拒绝).请让Web服务器的管理员授予您访问"D:WebSitequotation.steelcn.com"的权限.版本信息:Microsoft.NETFramework版本:4.0.30319;ASP.NET版本:4.0.30319.18408解决方法 解决方