压在透明的玻璃上c-国产精品国产一级A片精品免费-国产精品视频网-成人黄网站18秘 免费看|www.tcsft.com

Cavium和Tilera對比 深入淺出評多核

前段會晤了一個多核CPU的廠家,叫做Tilera,最近勢頭很猛,觸角已經探伸到了應用交付云計算、視頻、網絡流量處理、網絡安全設備、防火墻等各個領域。盡管該公司技術人員一再謙遜地強調該CPU在處理四層以下防火墻業務的時候不一定具備優勢,但是我認為他可能是因為面對著幾個我們公司的相關專業人士感覺有點心虛而已。

以我個人這些年來在CPU體系結構研究方面的積累,我的結論是在如果相同的硬件架構下,各個平臺四層網絡吞吐的性能是相去不會太遠的(當然是基于同檔次的CPU)。舉個最簡單的例子,我們的Cavium在網絡四層吞吐方面表現優異,但這是得益于它的包處理硬件單元的助力。如果我們把它的硬件設計成和X86平臺一樣,所有的網絡接口都通過PCI總線擴展,那瞧著吧,它的四層吞吐能力會和X86平臺一樣的慘不忍睹。

Tilera很有意思的一點是(盡管沒有明說),它下一代CPU的規劃頗有和Cavium較勁的味道。似乎頗憤憤不平讓Cavium占了先機。畢竟先入為主么,起碼在網絡安全這個領域,如果說到嵌入式平臺,首推還是Cavium和RMI(后者還被重創了一把)。Tilera如果想要扳回一城,必須要有超出不止一籌的表現才行。在目前已經量產出貨的Tilera上(Pro系列),似乎表現尚嫌乏力,難以撼動Cavium 5系的蒂固根深。

但是Cavium 6系遲遲沒能出爐讓Tilera嗅到了一絲機會,磨拳擦掌準備在下一代芯片上和Cavium一爭長短。Tilera此時發力可以說進可攻退可守,如果先于Cavium 6系發布,那么它會以全系鋪設、全系超出的表現重挫Cavium 5系(慢,好像Tilera下一代仍舊沒有最低端的產品,anyway,影響不大);如果和Cavium 6系同步發布,最起碼也可以和后者在同一起跑線上打一打拉鋸戰。

后面我從學術角度全面比較一下Cavium下一代產品(OCTEONII)和Tilera下一代產品(GX)的方方面面。

制造工藝水平

乍一看這個題目比較虛。但其實這是所有IC產業中技術含量最高的一環。為什么Inte CPU的霸主地位無人能夠撼動,就因為它在CPU的工藝水準上遠超儕輩,它也是幾乎唯一個敢于給自己的CPU標稱工藝水平的廠家(多少多少納米)。工藝水平決定了什么:集成度、穩定性、性能、產能、功耗、成本…

每一款IC產品的代系躍遷歸根到底都是工藝水平提高推動的。說到這我插一個故事作為佐證。港灣的老同事都記得,我們在散伙前夕推出了一款拳頭產品,基于BCM1250的高性能MIPS64架構的硬件平臺,名噪一時啊,被《計算機世界報》評為性能最佳獎。可是該款產品穩定性一直很差,即便是廠家的技術支持全程陪護也還是遺留了很多問題。

有一次廠家的人跟我說起硅片加工工藝的時候作了個比喻,就像烤面包似的,兩眼一抹黑就開始烤,烤出爐了再篩選,烤的好的就當800MHz的賣;烤得不好的當400MHz的賣。(我真是想問,那烤出799MHz的咋辦?)這是一個工藝水平跟不上趟的典型案例。

話說回到我們的Cavium和Tilera上來。這兩家的工藝水平我沒有第一手的資料,本來不應該妄加評論。可是側面通過一些蛛絲馬跡我能夠做出一些大膽的推斷。首先Cavium的工藝應該是有問題的,理由是:

  • 1.Cavium目前量產的plus 58系列在所有的文檔中都是明確注明最高主頻可以達到900MHz的,但是實際情況量產最高只有750MHz。這說明:Cavium肯定是做出來過900MHz的片子不然它不會這么示眾,但是很明顯900MHz芯片達不到商用的標準所以市面上看不到(都素浮云哪)。原因可能只有一個,工藝水平不成熟。
  • 2.Cavium 4核以上芯片的供貨期是恐怖的20周,20周是什么概念?小半年!幾乎是我們一個軟件版本的開發周期。我想這不僅僅是商務模式的問題了吧,Cavium不會短視到為了節省備貨資金而把供貨期壓得這么長吧?所以我猜產能問題還是有的,而導致產能問題的直接原因還是工藝水平。
  • 3.Cavium 6系從路標出爐到現在已經幾乎兩年的時間了,可是遲遲不能量產甚至連樣片都拿不到,讓眾多硬件平臺廠家“等到花兒也謝了”,Why?難道Cavium也搞饑餓營銷?這可能性不大,IC市場一貫是春宵一刻值千金的。那原因只有一個,就是設計得出做不出。也就是說工藝水平支撐不了商業量產。

回過頭來再說說Tilera。我不敢說Tilera的工藝水平有多么高,但感覺上應該是優于Cavium,理由是:

  • 1.Tilera目前的量產產品已經能夠做到了64核,而下一代產品更是聲稱能做到100核。這個集成度和Cavium的差距可以說不是一點半點的。當然,這個100核不能不說有炒作之嫌,我寧可相信Tilera下一代產品能夠在64核這個工藝水平上穩扎穩打,做出有點底蘊的系統來。即便是這樣也會比Cavium的下一代產品(32核)要有優勢得多。
  • 2.這個理由有點牽強。Tilera的創始人老爺子是麻省理工的德藝雙馨老前輩,據說也是美國軍方機構的“供奉”,這給Tilera的商業元素中注入了一絲學究氣息。不管怎樣讓我感覺Tilera在技術底蘊上勝出。綜上上上上上所述,第一回合Tilera勝.

CPU體系結構

Cavium是標準的mips64核心。Tilera當代是32位mips,下一代是mips64。Tilera的技術人員說得明白:32位的CPU體系結構會給用戶的嵌入式產品代碼移植造成麻煩。呵呵,這個說法值得玩味了,看來Tilera頗有一統江湖的野心,想把64位CPU市場收入囊中啊,這個矛頭指向的明顯不是X86(是誰呢?是誰呢?)。因此,下一代產品純Core性能上兩種CPU應該是無差別。Tilera號稱在指令pipeline上有些文章但是我個人感覺噱頭的成分居多。

再說內部總線架構。Cavium是總線型,而且是比較經典的總線型。指令、數據、IO分開的;Tilera的總線架構叫做iMesh,應該算是一種改良的矩陣式結構。兩種體系結構的優點和缺點一目了然:總線型上掛的組件無視物理位置,只要總線空閑即可以最高效率通信,但是存在沖突的問題;矩陣式結構呢,兩兩組件之間可以同時無沖突通信,但是組件之間有物理距離遠近的差別,也就是說離著遠了就需要有人在中間傳話。

剛才說Tilera的總線有些改良我再多白活兩句。Tilera的內部總線號稱“立體交換式”的矩陣總線(好一個Matrix)。意思并不復雜,兩個含義:

  • 一是交換;即每一個核旁邊配備了一個類似交換機原理的組件,用于交換內存讀寫、cache同步、IO訪問等信息。
  • 二是立體,即每個不同含義的信息都跑在獨立的一個交換層面。當然,這個所謂的“立體交換”起到的作用和它的字面意思同樣的內涵匱乏。既不能縮短遠距離組件之間的信息傳遞路徑,也無法抑制訪問對象集中時的信息阻塞。反而增加了產生所謂交換風暴的危險。

第二回合,我認為平手。

CPU內部硬件組件

嵌入式CPU么,總得佩些額外的武器在手不然對不起“嵌入”二字。Cavium當代產品在這方面做得相當老到,該有的不該有的反正都有了。Tilera當代產品呢?幾乎是空白,于是它恍然意識到這些東東“可以有”,所以在下一代產品上要痛下苦功嘍!后面我一一細分對比(這可真是力氣活啊):

  • 1. 硬件收包處理單元。Cavium上這東西叫做POW。做過Cavium項目的同事耳朵都要起老繭了不過畢竟還有新人,我爭取用一句話說明白:把從網口收上來的物理層報文先緩存起來然后公平保序地調度給各個核去處理同時也可用于各個核之間傳遞報文(耶我做到了~~~)。Tilera的下一代產品增加了一個硬件單元叫做mPIPE,也是干這個用的。不過既然我要跟你唱對臺戲,那就必須要魔高一丈才行。mPIPE據說是可編程的,而且TMD是高級語言可編程(順手把NP給完爆了)。個人認為這是一個絕大的賣點,如果把分流等簡單功能編程進去,對整個系統的設計絕對可以起到事半功倍的作用。
  • 2. 加密引擎。如果說Tilera加這個組件不是為了和Cavium死磕那打死我也不信(本身這個功能就是100%為防火墻業務服務的)。據說Tilera下一代的加密引擎不但支持加密算法,而且還支持IPSEC協議封裝,個人認為這個改進絕對是為了滅Cavium一道(100個核呢,隨隨便便就把IPSEC封裝了,何須硬件引擎?)。
  • 3. 壓縮引擎。一樣的都有,我們一樣的不用。
  • 4. 內容匹配加速引擎。這個。。。Tilera是真沒有。誰知道,也許人家不想趟這道混水(就讓Cavium千辛萬苦地去設計,我們千辛萬苦地去評估,然后千辛萬苦地下決心放棄去吧~~~)。

這個第三回合么,上周我覺得Cavium勝,畢竟人家有內容匹配么,為安全廠商量身定做的。但是這周我改變主意了,第三朵小紅花還是給Tilera。因為我認為內容匹配硬件對我們來說仍舊素浮云一朵。。。。。。

IO規模

Cavium的當代產品在這個特性上的局限讓我們百般痛苦(準確地說是讓我個人百般痛苦)。國內的網絡安全設備在端口規格上的流行風絕對是病態的,隨隨便便一個設備就要搞十幾二十個接口(您以為是做交換機呢?)。于是口不夠,片子湊。什么交換芯片、FPGA、MAC匯聚,還一家用一個樣。于是我有限的生命就這樣獻給了各種端口擴展方案的評估事業中。

Cavium和Tilera的下一代產品在這方面都有好消息。總的IO寬度都是40G(又一次較勁吧?);支持萬最大兆口的數量都是4;支持千兆口的數量前者是12后者是32。我一直覺得Cavium在工藝上有問題在這里又一次印證了。一個萬兆口的資源它只能實現4個千兆口;而Tilara能實現8個。但就是這4和8的區別,意味著如果我們用Cavium,就還得外部擴展;而用Tilera,就反而有富裕。當然,不排除將來設備的端口規格水漲船高了。Tilera勝。

軟件環境

Cavium上我就不多介紹了。業務層面的編程環境叫做SE,裸系統。Tilera很特殊,提供的業務編程環境居然在Linux用戶空間!據說還能達到幾乎1:1線性。這真讓我大跌眼鏡。用戶空間編程的最大優點是操作系統可用資源豐富,舉個最簡單的例子,業務處理過程中可以隨時訪問文件系統。這對我們來說意義重大,將來我們的AV模塊很可能是合作開發,如何教會我們的合作伙伴使用SE難度巨大,而且無操作系統編程本身限制多多啊。

對于Tilera的這個用戶空間實現業務編程環境,我沒有見識過,不知道在核多的情況下性能線形比率會不會有雪崩式的衰退。但是我覺得像Cavium和Tilera這種老外的公司,背后都有很強大的操作系統研究的團隊,他們不太能夠容忍在軟件應用方面自己的產品存在太大的死角。所以我首先保留懷疑,再給Tilera頒發一朵小紅花。

結束語。兩種解決方案之間的比對其實還有更多的方方面面的PK。比如硬件成熟度、整機成本、硬件供應商和我們的商業契合度等等。但這都不是我有興趣分析探討的。僅以此文用直白平易的語言向大家展示一下嵌入式多核CPU的世界。

上一篇:防火墻X86、NP、ASIC、MIPS架構對比

下一篇:Cavium 與 RMI的簡單比較