说起应用交付的硬件架构,CPU是其中最主要的一环。那么,应用交付设备的CPU该如何选择?对此,研发出最高性能应用交付产品的知名应用交付厂商太一星晨有着自己的专业见解。
太一星晨研发总监冯晓杰指出,要选择最适合应用交付产品的CPU,首先得对CPU的类型有所了解。
常见的网络设备CPU分为两种类型:
1、基于CISC(即复杂指令集)。典型代表是intel的x86处理器、AMD公司。
该处理器的主要特点是:CPU的主频高,计算能力强,但是功耗也高,此架构有利于复杂图形数据处理和各种数据处理。
2、RISC(精简指令集)处理器。典型代表是Cavium、RMI、ARM等。
该处理器即我们日常所说的网络处理器。它基于精简指令集,针对网络场景的数据处理有专门的优化,运算能力一般,但转发能力强。
基于上述两种类型的CPU,业内在选择网络设备之时,通常会做出如下两种选择:
1、关注于应用的产品。由于应用的种类非常多,没有固定格式,例如网络安全产品中的IPS,由于其中要进行大量的特征比对,通常倾向于选用适合密集计算的通用指令集的x86 CPU。
2、关注于网络转发性能的产品。例如路由器、防火墙等,网络数据包有固定的格式,通常采用网络处理器,例如Cavium或RMI。采用这类处理器的网络设备,拥有转发能力强、功耗低等特点,但是通常来说采用网络处理器的设备,在处理大量的浮点计算的场景时,性能会比较低;但是,作为一些简单的网络处理场景,它的性能非常高。
落地到应用交付场景中,该如何选择CPU呢?
首先还需要更正一个认识误区:在一些人眼中,应用交付属于数通产品和通讯产品——这其实非常错误!
简单来说,一般的通讯产品只对网络层或传输层协议进行分析、处理和转发(这也是传统负载均衡产品的概念),而应用交付产品就是要对三层和三层以上的数据及内容进行分析、处理和转发。传统通讯产品处理数据包,一般只会处理三层以内的信息,对数据包进行转发,而管理层只是对少量协议报文进行处理。
由此可知,传统的通讯设备往往用专用硬件(交换芯片、FPGA等)来处理转发,能达到千兆线速、万兆线速的性能,但对CPU处理能力特别是运算能力要求不是很高。
应用层产品因为要对应用层数据包进行处理,数据包需要经过大量分析和处理之后才能进行转发。因此对CPU的处理能力,特别是复杂运算能力要求非常高——这就意味着应用交付产品需要选择x86架构。
所以常常可以看到,国外主流厂商在应用交付产品中一直都是选用x86处理器。
不过,在过去x86处理器被人诟病的是PCI总线瓶颈以及IO冲突,导致设备转发性能上不去,比如F5过去的1600、3600的吞吐性能也只有1G、2G。
那么如何做到密集运算和网络吞吐性能兼顾呢?
国外品牌常见的一种模式就是采用x86+ASIC的架构。在这种模式下,简单的四层处理的内容,通过ASIC芯片或FPGA完成,而复杂的应用层内容,依然由CPU完成,即兼顾了网络处理,又兼顾了通用运算。
作为国内的后起之秀,太一星晨选择intel最新的SandBridge/ivybridge处理器,采用环形总线布置有效的规避了旧x86平台的总线瓶颈,在公安部三所的测试表明,T-Force8000系列最高性能达到80G吞吐足以媲美国外品牌,采用交换架构的V系列更是达到了T级别吞吐,成为目前业内最高性能的应用交付。
好文章,需要你的鼓励
近日Max Chan和我们分享了Avnet公司在现代数字领域得到的经验教训,从优化云支出到利用AI提高客户满意度。
金融服务公司Discover Financial Services采用容器化方法来实现其工作负载的敏捷性和灵活性,同时探索生成式AI的长期优势。
医生们会经常搜索PubMed及谷歌学术等数据库,翻阅UpToData主题摘要。有三分之二的从业者会使用MDCalc,这是一款带有各种决策支持功能的即时参考工具。此外,医生们还会访问专业协议网站、WebMD等医学网站,有时甚至还会参考非医学类网站。