随着绕过内核的基于应用加速网络解决方案的出现,数据中心运营商有机会将25%到50%的服务器纳入其云计算数据中心建设中。
如今,数据中心运营商面临着不断增长的需求,即提供先进的电子商务购物体验,增强视频流,以及通常更好的服务,同时也面临着降低或控制成本的压力。
当典型数据中心的内部非创收网络任务消耗多达其服务器总容量的25%时,这是不可能实现的。随着服务器和网络速度的提高,这个问题只会恶化,这使得当今可用服务器容量的一半无法用于提供创收服务的主要任务。 此问题的解决方案是应用程序加速技术,该技术在用户空间而非内核空间中运行,以减少数据中心最密集的内部传输控制协议(TCP)应用程序的延迟,并提高事务处理速率。
这个概念既适用于物理服务器,也适用于虚拟化环境,并准备从当今的私有云和公共云基础设施投资中消除数十亿美元的成本浪费。同时,该技术降低了总体拥有成本(TCO),提高了峰值应用程序事务速率,以消除服务中断,并通过更高响应时间减少网络抖动,从而实现了卓越的服务质量(QoS)。
基于内核的网络效率低下 企业数据中心、私有云和公共云效率低下的大原因之一是基于内核的网络。如果数据中心的大多数网络密集型应用程序可以移出内核并在用户空间中加速,则可以更高效地执行这些应用程序,而不会使服务器负担所有相关的CPU中断、场景切换,以及大量内存副本。
这种内核旁路概念已经过行业标准POSIX套接字的验证,并部署在运行Linux的基于x86的裸机、虚拟机或容器平台上。利用该概念的解决方案可以设计为使其保持与现有应用程序、管理工具和网络基础设施的兼容性,并且不需要对应用程序进行任何重写或重新编译,也不要求任何新协议在线路上运行。
这与远程DMA加速协议形成对比,如RDMA over Converged Ethernet(RoCE),它需要线路两端的特殊硬件或互联网广域RDMA(iWARP),这需要嵌入在以太网NIC ASIC中的TCP堆栈处理。与这些RDMA解决方案不同,线路一端的Cloud Onload应用程序加速可与线路另一端的任何TCP设备互操作,因为它是一种软件解决方案,并且无需更改应用程序软件本身,因此可以轻松调整。
可以在运行时选择应用程序是在用户空间还是标准Linux内核堆栈中运行。结果是类似RDMA的性能加速,无需升级数据中心现有的网络基础设施。
用户空间中的应用程序加速也为虚拟化环境带来了巨大的好处。为VM PCIe直通配置的虚拟机管理程序为虚拟化Linux客户机提供了与裸机Linux内核网络接近的性能。在虚拟化应用程序中的虚拟化Linux客户机中使用时,它可以提供与将Linux内核旁路添加到虚拟机管理程序旁路相同的加速优势,并将I/O延迟降低到2微秒或更短的时间。
图1 Solarflare的Cloud Onload内核旁路应用程序加速解决方案用于基准测试,与内核驱动程序相比,Redis SET事务提供了88%的改进,有12个实例。该解决方案在100GbE网络上实现了2800万个SET事务。
改进的例子 Redis内存数据库(IMDB)是一个应用程序的主要示例,其性能可以通过内核旁路方法显著加速。与所有IMDB一样,Redis性能受到网络I/O性能的严重影响。每当Redis实例使用服务器硬件存储或I/O资源时,它必须首先调用该资源的驱动程序。对于基于内核的驱动程序(构成所有I/O驱动程序的大部分),应用程序必须对操作系统内核进行一次或多次调用才能调用驱动程序。这些调用中的每一个都导致场景切换,在此期间应用程序的存储空间被放入系统存储器中。这些场景切换消耗大量系统资源,减少了Redis可用的处理时间。
图1和图2显示了Redis集的基准测试结果,并针对在典型的双处理器Linux服务器上运行的Redis实例获取事务。所有测试都在相同的网络适配器上以10GbE、25GbE和100GbE的速度运行,Redis实例介于1到22个。一组测试是使用标准的Redis以太网栈进行的,而第二组测试使用了内核旁路方法的应用程序加速。
图2 使用内核旁路方法也显著加速了Redis GET事务。Cloud Onload在具有12个Redis实例的25GbE网络上提供了近100%的性能提升,并在100GbE网络上实现了3800万GET事务 正如这些结果所示,通过应用加速解决方案绕过内核,Redis可以在10GbE和25GbE网络上完全“填充线路”,这是内核驱动程序在25GbE网络上无法实现的。在100GbE速度下,内核旁路解决方案使Redis的性能比使用标准Redis内核驱动程序高66%。
这带来了三个好处:(1)使用现有服务器的收入增加了66%;(2)通过使用更少的服务器将资本支出(CapEx)和可能的运营支出(OpEx)削减60%以上的能力;(3)在高峰时段保持高达100%的负荷。
除了Redis之外,内核旁路技术还可以加速应用程序,包括软件负载平衡器(NGINX、HA Proxy、Envoy),Web服务器(NGINX、Apache),应用程序框架(Node.js、netty.io),其他数据库服务器,如Couchbase和Memcached,像Kafka和Zookeeper这样的消息代理,以及存储应用程序。正确实施后,内核旁路技术可将整体服务器性能提高2~10倍,同时提供最低延迟抖动,并保持极低的CPU利用率。
随着基于应用程序加速网络的解决方案绕过内核的出现,数据中心运营商将有机会减少25%到50%的云计算数据中心数据量。
对于同时需要10万台服务器的典型部署,这相当于每年节省大约1亿美元的资本支出和2500万美元的运营成本,该技术将通过降低总体拥有成本(TCO),同时显著提高投资回报率(ROI),显著改善整体数据中心运营,并且通过提高服务质量,同时在高峰申请交易期间消除电力中断的风险。
【凡本网注明来源非中国IDC圈的作品,均转载自其它媒体,目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。】