網絡處理器方面目前比較主流的是cavium和RMI,目前討論最多的也就是這兩個,RMI進入國內比較早,國內RMI有HW, H3C等大廠商,cavium以hillstone為代表,不過據說華為等也開始轉向cavium了。網絡處理器的出現降低了國內安全設備廠商的門檻,因為國內所有網絡設備公司目前都還沒有能力自己研發芯片的。
要完全比較兩款處理器,有太多方面需要說了,硬件方面包括指令集,core結構,總線, 各種加速的unit等,軟件方面包括特定的os,sdk,還有開發門檻,開發難度等,商務產品定位方面那也不少。
其實cavium和RMI都是network multicore processor,這是不同于通用處理器的一個細分的市場,因為通用處理器市場已經被intel和AMD壟斷,想到這個市場分一杯羹的夢想最好想也別想,想在處理器市場上有點作為,最好避開這個領域,專攻其他一些細分的市場,比如說嵌入式,音視頻處理等,扯遠了。Cavium和RMI的定位比較類似,但也不能說市場覆蓋范圍100%重合,畢竟兩個不同的產品各有特點。
別的方面偶就不說了,說說處理器和軟件開發的一些體會
Processor方面:
cavium 和RMI都是MIPS64 R2的core,cavium低端的50xx,高端的58xx以及68xx等,最高32core,1.5G,RMI最高8core,但每個core有4個硬件線程,每個vcore有獨立的寄存器組,切換效率非常高,所以可以宣傳說是32 vcore,最高1.5G。另外至于這個硬件線程的差別不知道有沒有人評估過,Raza自己說能提高100% ~ 150%, 理論上cavium剛開始的時候要支持硬件線程也不是什么難事,是疏忽還是認為沒必要,不得而知,不過我偏向后者。
指令集方面,cavium除了支持MIPS instruction set之外,還擴展一部分訪問內存優化,CRC/DES/AES等加解密指令以及背后運算單元,RMI據說是沒有這類似的擴展。另外,Icache/Dcache/L2cache等兩者應該都差不多吧,沒有去仔細比較。
Core之間interconnect方面,Cavium采用的是傳統共享總線+L2 cache的方式,這個總線速度特別快,900Mhz下峰值可達500多Gbps;RMI的各硬件線程之間采用的是FMN ring傳遞,可以使得各個unit之間并行傳輸數據 避免沖突仲裁,FMN的寬度是64bit,所以1.5Ghz可以到90Gbps.
Packet的IO bus方面,值得提出的是cavium在在這個方面專門針對網絡數據包做了大量的加速和優化工作,小的方面比如DWB, FAU等,包進來的時候有預處理,覆蓋了包2到4層的檢測,提取,校驗等等,生成包信息,然后按策略調度到各個core,并且能支持同一個流上的包之間的order,包被處理完了之后出去的時候有自動port queue, 自動添加CRC等等;當然RMI做的也不少,基本上這些功能RMI也有,除了數據包order的支持。
其他coprocessor上面,cavium有IO bus上掛的有ZIP compress/decompress,另外有in-core的AES/DES/CRC等coprocessor,XLR也有內建的安全引擎,號稱可以提供10G的加解密運算能力,不過據說實用也就2.5G,據說而已。另外這塊我知道有一個cavium有的東西RMI肯定沒有,就是DFA unit,上回RMI的FE過來推介的時候還特意調查了這個東西到底有沒有需求的,有沒有需求呢,我不知道。
其他的呢,也想不起來還有啥了,成本,功耗,工藝水平啥的貌似也不用去一一比較了。另外就是開發門檻,復雜度,擴展性等等了,multicore下面處處要小心,動不動deadlock就會死給你看,相對于這些core的同步問題,保證total performance 與core的數量成正比這就更需要實力了,如果設計不好,2個core的性能比1個core還差也不是沒有可能,所以hillstone目前就系統穩定性和performance與core數量成正比這兩點也是值得稱道的。RMI里面的station, bucket能把人繞暈也有耳聞,沒有真正搞過RMI,所以只能道聽途說。系統結構越眩,越復雜,必然開發也就越困難。
下一篇:U盤怎么加密