ADC之架構演變

ADC產品出現10多年來,其架構經歷了若干代演變,不同架構之間不免很多口水戰。回頭看來,自然是各有優劣,存在即合理。最終的發展結果就是當今各主流廠商都選擇了的多核多CPU硬件架構,不同之處只是其軟件操作系統架構。

最早的架構之爭應屬Foundry、Alteon、Arrowpoint時代,3家公司當時均採用交換機架構,但內部處理有所不同。Foundry採用CPU處理所有4-7層流量,ASIC只負責2/3層轉發和將流量哈希分發到多個CPU,可以說Foundry最早在ADC產品中使用了多CPU(PowerPC)技術,但IPC(處理器間通信)是A10之外廠商至今無法逾越的障礙。Alteon則採用內置RISC處理器的ASIC芯片,每個端口有獨立的ASIC芯片和內存。每個ASIC配置的可憐的2M內存自然會帶來很多瓶頸。Arrowpoint介於上述2者之間,採用可進行微碼編程的內部芯片進行分佈式的簡單4層流量處理(類似F5後來的PVA 4層加速芯片),7層應用及複雜功能處理則由CPU進行處理。太久的歷史,我們無需再考證孰優孰劣。但可以看出的一點就是如何提升4-7層處理性能是ADC產品面世之初即備受關注。後續ADC產品中依然可以看到這幾種架構的影子。

接下來就是F5爲代表的PC架構式產品和上述3家交換機架構產品之爭,這是持續比較長的一個階段。中間PC陣營有Netscaler(Citrix)等加入,交換機陣營有Radware等加入。PC陣營的公司爲了擺脫這種困境,往往將一塊交換模塊放入機箱,內部使用1個以太網端口原PC網卡相連,這種方式一直持續到2008年。很明顯這樣的架構無論可靠性還是性能都不可能做到很好。從這方面看似乎交換機陣營處於優勢。然而交換機陣營忽略了很重要的一點,就是“應用”。交換機陣營要麼不重視應用,要麼由於硬件和專有操作系統所限,應用靈活性大打折扣。而使用Unix或Linux的PC陣營這方面就靈活很多。最終還是用戶需求說了算,PC陣營依靠應用靈活性在性能處於劣勢的情況下佔了絕對上風。這中間F5在高端產品中也開始引入硬件芯片PVA進行簡單4層加速,但事實證明這只是迫於來自交換機陣營和客戶的性能壓力的無奈之舉。實際用戶很少使用到該芯片,而其帶來的副作用困擾了很多用戶。這也許正是目前F5所有產品放棄該芯片的原因。

前幾年出現過試圖採用NP(網絡處理器)的ADC產品,如Crescendo。市場很快證明NP私有的多核架構、複雜的微碼編程、太小的Cache根本無法適應應用靈活性的需求。這中間PC陣營開始使用雙核CPU,但真正處理數據的還是隻有1個核,另外1個核要麼只用於控制、要麼索性閒着。

現在看看市場上的ADC產品,絕大部分採用了多核多CPU架構。由於CPU資源足夠,交換路由無論硬件還是軟件處理都已不是問題,,但根本的一點是內部連接應使用高速的PCI express總線硬件芯片可以在有大量2/3層流量和防***方面具有一些優勢。如此看來,貌似架構上沒什麼區別了,其實不然,如何充分發揮相同標準硬件架構的性能,其軟件操作系統是至關重要的。最核心之處就是多CPU間是否需要IPC(處理器間通信),是否共享內存。最早的基於通用CPU的多核產品當屬A10於2007年發佈的AX系列產品,A10網站有其創始人Lee Chen於2007年親自撰寫的架構白皮書認爲這是未來ADC產品的發展趨勢。之後業內產品確實基本都爲多核架構,但至今仍然只有A10爲共享內存、無IPC的架構。沒有共享內存的情況下,各個核控制自己的內存,處理自己的數據,定時交換信息,這就是不可避免的IPC。獨享內存和IPC有什麼不利之處?

  • 消耗CPU資源,隨着核數量增加,處理器間通訊開銷越大,通訊間隔越短開銷越大。
  • 內存使用效率低,每個核2-4G內存,這也是目前很多產品動輒16G、32G內存的原因。絕非其採用了64位操作系統,目前爲止只有A10在2009年推出了64位ADC產品。
  • 數據準確性,對於連接限制、連接速率限制、最少連接策略等特性,IPC通訊帶來的誤差可能導致策略完全失效。
  • 性能降級,對於一些應用如涉及全局變量和哈希會話保持表,這種架構不得不降級爲單核處理(1/8性能乃至更低)。

那麼爲什麼不採用共享內存呢?共享內存架構只需要保留一份數據,沒有數據一致性問題和IPC問題,當然是最佳方案。但如何解決CPU間鎖的問題是最大的障礙所在。A10如何解決這個問題做到“零鎖定”,自然是不會公開的,作爲員工的博主也不得而知。但A10使用1個4核CPU可以達到其它產品2個4核CPU產品的性能證明其架構優勢是實實在在的。

下圖爲共享內存架構和獨享內存示意圖,

共享內存架構

image_thumb7

 

獨享內存架構

image_thumb8

A10唯一的共享內存架構配合其唯一的64位系統架構(突破單核4G內存限制)確保了其技術領先的地位,相信其它產品會慢慢跟上來,只是這不像仿硬件架構那麼簡單。截止目前已經4年,尚無類似產品推出。我們一起來看需要多久,A10於2007年1月發佈該架構,下一個會是誰?201x年?

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章