帮助中心

欢迎使用帮助中心

主机租用中服务器适配器的分解

2016-08-08 11:24
数据中心为我们提供了更加可靠的服务,以各种性能的服务器为主,同时服务器商也在不断的对技术方面进行更新,在主机租用中服务器适配器也有了很大的发展。在最近几年中,许多数据平面处理的实例都已经得到了长足的发展,无论是在开源社区还是在数据中心运营商内部的商业部署。
 
服务器适配器在服务器中起到了很大的作用,那么有哪些关键的因素了?
 
       关键因素1:处理器的多线程
 
       流处理需要访问内存,诸如基于RAM的DDR3-或DDR4-。为了协助在CPU核心的处理,基于硬件的加速器处理重复或专门的功能,例如加密和散列。单线程处理,通过通用CPU(如标准的x86,MIPS和ARM内核)、内存和加速器存取延迟浪费CPU周期。例如,访问DDR3内存需要几百个CPU周期,而访问硬件加速器可能需要更长的的周期,使CPU核心闲置无用,在这一延长期间有效性无用。对于典型的基于主机的数据平面处理任务,这个问题往往会降低CPU的有效利用率约10-20%。软件定制编码技术可以填补延迟差距,但这些变化是费时且相当麻烦的,并且其减少了软件的可移植性。
 
       解决该问题的一个理想的办法是实现高度多线程的处理核心。当处理核心多线程(例如,每个核心八线程),处理器流水线可以始终执行有用的指导,而不会停滞或闲置。其结果是,较之单线程机器的存储器或硬件加速器的访问要求显著,而在典型的基于主机联网和新兴NFV应用程序的数据平面处理的情况下,多线程处理增益可以高达800%。
 
       关键因素2:许多处理器核心优于一些更快的核心
 
       通用CPU通常是针对最高处理器时钟速度以功率和面积为代价实施了优化的。例如,超过15个阶段的大型复杂管道,乱序执行和分支预测能力在这样的CPU中是常见的。如前面所解释的,由于缺乏多线程,以减少内存延迟的影响,也同样需要大的高速缓存。当这样的通用的CPU核心被打包成一个单一的硅芯片,如在MIPS-或基于ARM的多核SoC,有效性能增益比包装在相同的硅芯片的大量较小的处理核更低。换言之,在硅芯片使用更加优化的多线程处理核心要比使用较少的具备很少或没有线程和大型高速缓存的高性能通用CPU核心的数据平面处理更好。使用大型处理器内核会有显著的开销,其价格和功耗在服务区适配器设计中已经被设置,作为通用服务器用于计算节点显示。
 
       关键因素3:内存和加速器的多线程
 
       在数据密集的流处理,对于内存和硬件加速器的有效访问是相当关键的,但该挑战仅仅只是加剧了大量的流量和复杂的处理(如用于匹配和复杂操作的元组数目)。鉴于越来越多支持更多的用户,租户和应用程序的需要,以及对于安全性和服务水平相关的严格监管政策的要求,这样的要求,必然会成为数据中心普遍的问题。虽然更快地访问内存是很重要的,但多线程访问内存更为重要。一个具备硬件加速器的多线程的内存子系统可以确保避免处理核心停滞。这样一个高效的设计的一个例子是使用多个具备高带宽纵横输入SRAM内存库。采用专用的高性能紧耦合的硬件引擎执行关键功能如原子、统计、查询和负载平衡来访问这种SRAM内存库,进一步实现了加速。
 
       关键因素4:高性能分布式网格构造
 
       以上介绍的多线程处理核心,硬件加速和多组存储单元必须同步,提供高性能的同时避免停滞。在访问共享资源时,传统的共享总线结构受到带宽饱和和负载的竞争问题的作用。这个问题可以通过在处理元件之间使用具备多比特分带宽/对半带宽 (bisection bandwidth)的一个有效的高性能分布式网格构造来避免。这种分布式的网格构造会避免冲突和在通用的基于CPU的SoC常见的共享总线结构饱和的问题。
 
       关键因素5:优化基于主机的网络的编程工具
 
       虽然乍看之下,通用CPU内核似乎很容易编程,例如,通过使用标准的基于C语言的编程工具,但当试图让应用程序并行及性能规模化的时候,其难度和复杂程度大幅增加。所以从这个意义上说,它们缺乏对于开发优化的数据平面处理应用程序良好的支持。当编程的多线程处理核心时,采用强大的、易于使用的、基于C语言的程序工具以支持并行编程环境,并在编程期间支持提供线程级可视化是相当关键的。他们也应该允许创建针对多线程操作优化的数据平面处理程序。
 
       除了基于C编程工具,正在支持高级编程语言,如P4[3]正成为可能,其能够使说明和数据路径的功能的代码更简单并且不那么耗时。使用开源的P4语言,设计人员可以编写简洁的程序,以灵活地定义匹配,操作处理,以快速部署新的协议,如新兴的网络覆盖 。P4也是硬件无关的,所以它可以被重新定向到不同的技术和实现方式中,条件是它们支持P4的环境。
 
       关键因素6:命中计算节点经济
 
       智能服务器适配器正在不断的以自然的方式发展,从低容量的特殊应用程序开始,有望成为大容量的主流部署。采用多内核SoC芯片的初始部署都发现了他们进入设备和专用的服务器的方式,有时被称为服务节点或网络节点。在这样的应用程序中,一些情况下使用网络处理器和FPGA。由于服务节点的部署量并没有非常大,数据中心运营商都愿意为数据平面处理的可编程服务器适配器支付溢价。
 
       尽管基于主机的软件定义网络(SDN)和网络功能的虚拟化(NFV)技术已经成为数据中心应用的主流,然而,对于智能服务器适配器在更高容量的计算节点的需求预计会大幅上升。这种情况将需要智能服务器适配器能够较之早期服务节点部署提供更好的性价比。具体而言,这样的适配器将不得不在今天部署的大多数服务器的25瓦的PCI Express总线封装内以线速运行。最重要的是,他们必须有合理的价格,以支持计算节点服务器的容量经济。因此,在可编程服务器适配器的硅技术和数据平面处理架构必须实现性能,规模性和经济性。上述从1至5的五大关键因素均要求满足数据平面处理在25-, 40- and 50GbE带宽的要求,同时命中数据中心运营商们对于计算节点经济的预期。
 
       关键因素7:为主流应用做好准备的软件系统
 
       除了满足性能、功能、价格和功耗方面的要求,主流对于可编程的服务器适配器的采用将需要一个良好支持的软件系统。具体来说,服务器操作系统内核、用户空间和虚拟交换机的网络软件堆栈必须支持安装和运行这样的服务器适配器,可以卸载数据平面处理如虚拟网络隧道和匹配相关流程处理操作。
 
其实在如今的市场中,也有一些主流的产品,用户当然是可以根据自身的需求来确定使用什么样的产品,适配器也逐渐的满足用户的需求。
上一篇:服务器是什么意思,服务器有什么用
下一篇:广东东莞服务器租用安全及注意事项