我们知道,任何安全技术与应用的发展都离不开对计算资源的占用。
如今,我们所能感受到的网络现状是:10G/N*10G的网络数据流量、3G时代的来临预示着3年之后手机终端会超过PC终端。另外云计算的兴起带来了计算、网络、存储等基础设施的虚拟化整合、数据/信息的整合带来了网络流量更加集中,以及大多数业务应用从C /S向B/S转移,这些都促使越来越多的流量发生在网络上,而本地产生的运算量却会越来越少。因此,远程集中式运算与网络传送的信息量也就越来越大。
从这个角度来说,网络病毒检测、入侵检测、入侵防御以及信息数据安全等很多环节,都离不开对网络数据内容的分析。而除了我们通常所了解的算法优化能带来高效的计算外,对硬件计算资源的消耗正在随着网络容量、信息传送量的增加而高速膨胀,以至于当前绝大多数安全设备所引用的X86通用计算平台在不借助其他加速组件的方式下,几乎无法满足高性能的内容运算,并且性能和效率也都难以达到每秒超过2G以上在线数据运算量。在网络带宽和信息量高速膨胀的今天,这样的运算效率仅仅只能满足局部应用需求。
因此,性能的大幅提升是信息安全未来发展的必然趋势。
两大因素制约传统性能提升 多核应运而生
通常来讲,以往在为数不多的面对大容量计算需要时,我们常会采取分流分布式计算来解决,也就是将一个较大的网络流量分流为若干个小流量,采取分而治之的方式来完成对数据内容进行各类安全性检查,并进行必要分析与实时运算(如图1所示)。
显然,在运算性能不具备的条件下,分布式计算方式是无奈之举,但是它带来了较大的管理成本和维护压力。更重要的是大多数企业用户根本无法接受这样的应用方式,更多的企业级用户,在面对大流量下的安全需求时,更多是选择了“等待”,等待着更快、更安全的产品出现和成熟。
那么,一个很显然的问题就出现了——信息安全设备为什么不能像网络通信设备那样,引用高性能的网络处理器或ASIC达到与网络速度类似的处理效率呢?简单分析一下会发现,这其中最根本原因主要有两方面:
一方面,是客观技术的制约,相比仅仅处理网络局部信息(大多数是头信息)、而不分析数据内容的网络通信设施而言,信息安全设备对信息内容的分析深度、广度比网络通信设备要复杂得多,甚至还要分析数据内容之间的关联性。这就像机场等重要交通枢纽对行李、携带物品等的安检程序一样,它要关注的内容和范围要比常规的身份检查复杂得多,因此它比简单的检验每个人身份证的效率就要低很多(如图2所示)。同理,对数据内容进行安全检查的计算,永远比网络数据传送的计算要复杂得多(代价和开销都要大一个数量级),因为网络中每个数据包的信息数据内容往往是信息头的10倍~70倍。
▲图2 大多数信息安全设备对内容的分析很复杂
另一方面,是各类导致安全威胁的病毒、入侵行为都在利用计算机高级语言不断更新以突破某种防护,是因为这样的效率更高,也因此每天都会有新的威胁诞生,而这种动态性和不确定性的存在,使得几乎所有关注分析信息和数据内容的信息安全设备也必须在开放的运算平台上基于高级语言搭建的运算系统来工作,是因为只有这样构建的安全系统才有灵活的升级能力,从而也才能与安全的动态性和不确定性进行对抗。因此,大多数关注信息内容的信息安全产品(如UTM、IDS、 IPS、审计等),必须利用高级的语言和开放的硬件运算平台才能完成对各类信息内容的检索和各类安全性检查。
所以,要满足未来信息安全产品适应当下信息高速膨胀的发展趋势,提升开放平台的硬件性能,既是必然趋势也是满足未来应用需求的关键要素。
也就是在这样一个开放性平台应用需求的驱动力下,多核技术应运而生。
超越X86 选择多核SoC收获与代价并重
需要说明的是,刚才所说的多核并不是基于X86的2核、4核这样的CPU,而是在网络、安全设备上最新使用的基于MIPS64的多核SoC(System on Chip)处理器,此类多核SoC处理器目前可支持到16核,并还在随着安全计算需求的不断增加而继续提升。
相比X86、NP、ASIC硬件平台,SoC多核平台的最大优势是保留了X86平台的高灵活性(这一点对于安全设备的应用层检测非常关键),并且具备与 ASIC平台相当的高处理性能。同时,SoC通过增加核数,使线性提升硬件计算能力成为了可能,更重要的是功耗也随之得到了控制(如图3所示)。
唯一具有挑战性的是,传统的X86平台属于通用硬件平台,具有开发难度小的优势,而SoC多核平台属于专用硬件平台,驾驭难度相当高。可以说,全球范围内能自如驾驭多核技术的厂家不足10家,而且多为国际性技术领先的大厂家,国内一直到启明星辰2008年成功驾驭多核并发布自主研发的基于16核的万兆 UTM时才填补了这块空白。
▲图3 基于MIPS64的多核SoC处理器相比于传统多核平台的优势比较
这的确是一个痛处。因为,对于很多厂家而言,实现对多核系统真正意义上的驾驭还是一个国际性的难题,尤其是计算性能的提升,如是否能随核数的增多而达到线性的增长。这其中需要各个厂商在多核硬件的基础上作大量的原创性设计,包括重构操作系统、多核之间的业务调度、检测效率提升和计算性能挖掘等。与此同时,一旦对多核技术驾驭不理想,如对多核运用得不够平滑或兼容性不够,那么由于核数的增加会带来软件核心设计的不断变化,这就意味着需要为不同核数的SoC处理器设计不同的软件系统和驱动,由此将极有可能导致相互不兼容,4核、8核、16核、32 核等与软件的不兼容。可以想象,如果技术上突破能力有限,而导致陷入如此尴尬境地,我们不难想象这对产品研发和供应者是个多大的灾难。
驾驭多核 高效低碳 决胜信息网络安全的未来
如果能成功驾驭多核,那么我们能带给信息安全产业的将是一种革新。
首先,从功能上来讲,SoC多核处理器不失X86 处理器的灵活性,便于快速响应信息安全的应用层检测需求;其次,SoC多核处理器通过协处理器的概念将“软件特性硬件化”处理,在设计上奠定了多核平台的高性能基础。更为重要的是,计算性能随核数的线性增长将完全突破信息安全产品发展的性能瓶颈,随着核数的倍增,多核的计算性能也将成倍数增长,计算能力的提升是支撑安全产业发展的基础(如图4所示)。
▲图4 多核的计算性能将随着核数的倍增而成倍增长
第三,多核架构在支撑高性能的同时,带来的另一个卓有成效的经济效益就是低碳、节能。
正如全国政协副主席在2010年1月22日,以“发展低碳经济、共建低碳中国”为主题的低碳中国论坛首届年会上指出的那样:“气候是第一生产力,必须从这样的高度来认识低碳经济”。对信息安全产品而言,减排、低功耗是实现“低碳经济”最主要的节能目标。多核架构的主要优势为一颗芯片上集成了多个核,核与核之间可以协同工作,同时在各个核周边还集成了丰富的安全协处理硬件,如硬件加密、正则匹配和应用加速等,以及高集成度的特点简化了整体硬件板卡的复杂度和能耗。同样的应用,对于X86通用硬件平台,需要1颗甚至多颗高频率CPU,同时需要南北桥芯片组、通过PCI扩展的硬件加速板卡或应用加速卡等,一系列配套芯片设计使能耗远远高于同档次多核SoC专用硬件平台。
根据硬件厂商提供的典型平台实际功耗数据对比(如图5所示),多核SoC硬件平台实际功耗仅为同档次X86平台的1/3左右。以万兆平台为例,1台万兆设备每年可节省2102.4度电,按照每消耗1度电等效于0.997千克的二氧化碳排量计算,每台多核万兆设备每年可以减少2.1吨的二氧化碳排放,相当于少砍伐1.14棵生长5年的大树。
▲图5 SoC与X86在三种平台上的实际功耗数据对比
在高效能、低碳排放的同时,多核架构带给信息安全产业的另一个附带优势为高质量。高度集成的SoC处理器降低了硬件平台的整体复杂度,硬件的简化促使故障率可以降低到1%以下(X86平台故障率通常为5%以上),达到电信级标准。
在“安全为本、计算为王”的云计算时代,多核以高性能、低碳排放和高质量的特点带给了信息安全产业新的机遇,在这个大环境下,谁驾驭了多核计算,谁就有可能决胜安全未来。