引言
随着CPU技术进入多核时代,如何有效利用多核并发运算优势,提升设备的处理能力,满足用户对高性能的需求,已成为业界关注的焦点。网康科技产品经理冯嘉祺认为,其中的关键就是对软件系统架构进行优化,使其与多核CPU之间实现软、硬件的高效配合。
性能是处理器走向多核时代的驱动力
自互联网诞生以来,带宽需求不断增长的步伐从未停息,各网络设备厂商不断提升产品性能以抗衡网络流量增加所带来的挑战。其中,CPU作为网络设备的核心组件,其处理能力将直接决定设备性能的高低,因此它一直是业界关注的焦点。
在单核CPU时代,处理器芯片厂商提升CPU运算能力的主要途径是提高主频。作为CPU的主要性能指标,主频标志着每单位时间内CPU能够执行运算指令的数量。此项指标在2000年为1GHZ,2001年2GHZ,2002年达到了3GHZ。然而,主频指标的线性提升在2002年之后并未持续下去,Intel和AMD等著名厂商都逐渐意识到这种原始的性能优化方式存在弊端。其中最大的瓶颈在于主频不断攀升所引起的发热量增长,造成芯片生产在增加成本的同时,性能提升却趋于缓慢。因此,在其后的5年当中,再没有达到4GHZ的CPU问世。
与此同时,互联网高带宽、大流量的发展趋势却不会因为CPU技术的停滞不前而放慢脚步。网络产业著名的"吉尔德定律"预言,在未来25年内,网络带宽将平均6个月增长一倍。CPU即使能够通过主频提升实现性能的线性增长,根据硅芯片产业的"摩尔定律",也只能做到平均18个月增长一倍,根本无法赶超网络带宽发展的速度,更何况同时还要面临主频线性提升的困境。
为此,处理器行业转向新技术的开发以寻求突破,并相继推出了FPGA(现场可编程门阵列)、ASIC(专用集成电路)、NP(网络处理器)等类型的芯片。虽然这些处理器实现了性能的提升,却存在致命的不足之处。包括因开发成本高所导致的价格昂贵,以硬件方式固化软件逻辑引发的编程灵活性差、开发周期长等问题。因此,绝大多数厂商已逐渐放弃了这些技术的使用。
直到2007年,Intel首先推出多核CPU之后,处理器性能提升的问题才最终得到解决。实际上,在单核CPU时代,处理器已经实现了多线程运算,通过在逻辑上模拟出多个CPU内核,以实现多任务调度和并发处理。然而,这些处理过程始终由单个CPU以线程切换的方式完成,运算负载由单个CPU承担。而多核CPU则是在一颗CPU内真正意义上提供了多个独立的逻辑运算组件,即CPU内核,并使各内核通过协作方式实现运算负载的均衡分配。与传统的单核CPU相比,多核CPU带来了更强的并行处理能力、更高的计算密度和更低的时钟频率,并大大减少了散热和功耗。
系统优化是发挥多核优势的必经之路
然而,CPU作为性能提升的核心组件,其架构的变革起到的是"牵一发而动全身"的效应。为了紧跟多核CPU时代的步伐,网络设备厂商所要面临的是软件系统架构优化所带来的挑战。其核心是并行运算,即通过同时调度多个CPU内核共同执行运算处理,发挥集群优势,实现运算负载在多个内核之间的平均分配及任务调度。如果继续沿用单核CPU时代的软件系统设计思路,则CPU负载将继续由单个CPU核心运行,无法实现负载在多个核心之间的动态分配,多核并行运算的优势将无从发挥。
举例来说,对于一台配备多核CPU的网络设备,如果按照单核时代的思路进行软件设计,则每个内核只对应处理一个网口的数据包。也就是说,其它内核资源将处于空闲状态,对该网口的数据包没有任何贡献。如果在高流量的网络条件下,负责网口数据包处理的CPU内核会不堪重负,而其它空闲的内核却袖手旁观。
因此,只有通过软件系统优化,才能有效发挥多核并行运算的优势,使网络设备的处理性能得到实质性的提升。
网康"多核并行优化技术"激发多核CPU性能
我们知道,网络设备对数据包的处理是在协议栈中完成的。所谓协议栈,是根据OSI体系模型划分的各层协议的总和,它形象的反映了数据在网络中的传输过程,围绕多个处理核心并行运算的实现。网康科技公司对协议栈底层行为进行了深入研究,提出了具有专利权的"多核并行优化技术"。
此项技术主要是按照逻辑功能对协议栈处理流程进行了一系列优化,并结合多个CPU处理核心的硬件特性,创造性地将处理核心与协议栈进行逻辑绑定,从而使协议栈的多核并行功能应运而生。
网康科技这种独有的协议栈并发处理技术,能够将任务负载在多个CPU处理核心之间实现动态均衡,使各个处理核心各司其职,接收、处理、分析、控制、整型、发送等处理过程环环相扣,紧密配合,实现了多协议栈的并行处理,极大的加快了包处理速度,并且充分合理的利用了硬件资源,使设备的整体性能发挥到最高。
目前,网康"多核并行优化技术"已申请相关专利,并在ITM系列智能流控产品以及ICG系列互联网控制网关产品中得到了成功应用,极大提高了多核CPU的并发运算性能,充分满足了用户在实际使用中对高性能的需求。