太一星晨:應用交付的CPU該如何選擇?
2024-04-04 23:58:05 2
說起應用交付的硬體架構,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級別吞吐,成為目前業內最高性能的應用交付。■