在本系列第三篇連載內容中,我們曾經提到協助北京市某學校信息中心的老師們進行過一次選型測試。當時,該校供應商提供了一款基于Atom N270的網絡通信硬件平臺,在部署為流控服務的情況下達到小包接近900Mbps、大包超過2Gbps的處理能力(使用4個英特爾82574L提供的千兆接口進行測試)。而本次我們的測試對象,是匯爾科技提供的一款基于Atom D525的網絡通信硬件平臺。與N270相比,D525平臺處理器主頻更高、計算能力更強,成本卻沒有太多增加,已成為時下低端領域最主流的選擇。
架構精簡 配置合理
IEC-516P采用1U規格設計,前面板提供了6個千兆電口(其中兩組支持硬件ByPass)、兩個USB 2.0接口和一個DB9或RJ45形態的串口。該產品采用了英特爾Atom平臺,基于45nm的Atom D525處理器,隸屬于PineTrail架構。比起第一代Atom平臺,PineTrail從三芯片改進為雙芯片設計,在CPU中集成了北橋芯片的部分功能。Atom D525處理器主頻為1.80GHz,采用雙核四線程設計,集成2 x 512KB L2 Cache,提供了不錯的處理能力。其實Atom處理器內核采用的順序執行機制對于網絡業務處理來說并不太合適,雙核四線程的D525處理器比起上一代單核雙線程的N270會有更大的優勢。D525處理器還內置了內存控制器,支持單通道的DDR3-800或DDR2-800內存,最大容量可達4GB。IEC-516P提供了兩條DDR3 SO-DIMM插槽,送測樣機配備了1條1GB的DDR3內存。
按照英特爾PineTrail平臺的規劃,D525應該搭配NM10芯片使用,然而NM10僅提供4個PCIe Lanes,限制了通信產品的整體處理能力和部署的靈活性。所以在嵌入式產品線中,英特爾給出了D525與ICH8M的推薦配置。ICH8M可以提供6個PCIe Lanes,以及PCI、IDE、SATA等豐富周邊I/O接口。和上一代產品ICH7相比,ICH8比較明顯的區別是它支持PCIe v1.1,因此可以支持包括MSI-X在內的一系列新特性。而和面向桌面應用的ICH8相比,面向低功耗移動應用的ICH8M將支持的SATA端口數減少到3個,功耗也有所降低。其實ICH8M內部還整合了1個千兆網絡控制器的MAC部分,但其性能無法滿足壓力較大的網絡業務處理,所以包括IEC-516P在內的許多網絡通信硬件平臺都對其進行了屏蔽處理,轉而使用功能、性能更強的獨立網絡控制器。
IEC-516P通過ICH8M南橋的6個PCIe v1.1信道分別連接到6顆82574L芯片。82574L是沿用已久的嵌入式/服務器千兆以太網控制器,支持兩個TX/RX隊列和兩個RSS隊列,是一個成熟穩定、性能尚佳的產品。該芯片使用PCIe v1.1 x1接口,能支持MSI-X等技術,在規格上正好與ICH8M相匹配。ICH8M和Atom D525通過DMI總線連接,實際上就是一個x4的PCIe總線,其單向信號速率/雙向信號速率為10Gbps/20Gbps,數據速率則為8Gbps/16Gbps。
在機箱內部,IEC-516P為TDP并不高的Atom D525配備了一個小風扇,并將其安置在機箱出風口的兩個風扇附近,因此散熱方面完全不成問題。由于整機功耗較低,該產品使用1個180W功率的電源為系統供電,整機功耗不會高于100W,因此180W已經綽綽有余。可靠性方面,IEC-516P內置了支持可編程控制的WatchDog,完善了x86平臺的監控機制。存儲方面,主板上提供了1個IDE接口和3個SATA接口,可以使用DOM、CF及其他常見的存儲介質。送測樣機配備了CF接口、IDE界面的1GB DOM,用于安裝NCPBench。此外,主板邊緣還設計有1個PCI插槽和1個PCIe x1接口的金手指,提供了符合產品定位的擴展性。
性能卓越 低端通吃
考慮到性能數據的可比性,我們依舊使用了NCPBench 0.8對IEC-516P進行測試。按照該軟件設定的評估方法,我們將每兩個相鄰接口配置為橋模式,分別多次考察了1組、2組、3組橋時的整體轉發性能,取得穩定后的性能數據(NCPBench的功能介紹和使用方法見本報今年第16/17期51版)。由于IEC-516P只提供了6個千兆接口且不可擴展,在測試3組橋性能時,我們直接將顯示器、鍵盤鼠標插在主板上引出的接口上進行操作。
從測試結果中可以看出,當NCPBench運行在轉發模式時,IEC-516P的64Byte幀整機最大轉發速率超過3.6Mpps,吞吐量達到2.42Gbps;采用1518Byte幀進行測試時,整機的最大轉發速率為0.31Mpps,吞吐量達到3.76Gbps。由此可見,Atom平臺雖然在網絡通信領域被英特爾定位為低端嵌入式解決方案,卻也有著不小的潛力。能在純轉發情況下達到這樣的性能,也就意味著D525平臺在運行一般的防火墻業務時,可以滿足高端百兆乃至低端千兆產品的設計需求。或許,我們印象中“低端產品”的概念需要更新了。
通過挖掘,我們還能從有限的測試數據中捕捉到更多的信息。在1組橋和2組橋的測試中,除了前者在1280Byte、1518Byte時達到100%的極限值外,64Byte-1024Byte幀長有著基本相同的百分比數據(藍色部分)。當我們將其轉化為以帶寬和pps為單位的數值時,可以看到2組橋時的處理能力基本是1組橋時的兩倍,呈線性增長的關系。而在3組橋的測試中,64Byte-1024Byte幀長時的吞吐量數據并不存在這一規律,反倒是在1280Byte和1518Byte兩種幀長時,3組橋的性能與2組橋基本保持一致,整體轉發能力均為3.7Gbps左右(紅色部分)。
要弄清造成這種情況的原因,我們必須深入了解D525平臺做數據包純轉發時的業務流程。以IEC-516P為例,D525處理器通過4x DMI通道連接到ICH8M,后者再通過6條PCIe v1.1 1x通道連接板載的6顆英特爾82574L千兆以太網控制器。通常在進行數據包轉發操作時,網絡控制器先發起DMA請求,將接收緩存中的數據直接傳輸到內存;CPU經過軟件處理定位到目的網絡控制器,通過DMA引擎將數據傳輸到它的發送緩存中,或是讓網絡控制器自行將數據從內存中取走(82574L整合了DMA引擎)。這是一個邏輯上簡單、實現起來復雜的流程(如果要達到高性能),內存子系統、DMA引擎、DMI、ICH8M、PCIe 1x通道、82574L和軟件、驅動程序都有可能成為影響整體性能的因素。
再回到我們剛才注意到的兩個情況,既然1組橋和2組橋時,64Byte-1024Byte在帶寬和pps測試結果上呈線性增長,說明瓶頸不在內存子系統、DMA引擎和DMI。而我們在測試其他更高規格的平臺時,基于82574L也得到過更高的性能數據,說明這款網絡控制器和PCIe v1.1 1x通道也不是瓶頸。只有在進行3組橋的64Byte-1024Byte幀長測試時,得到的數據才有可能是系統整體的極限。而2組橋與3組橋在1280Byte、1518Byte幀長測試中表現出來基本一樣的吞吐量數值,顯然是在帶寬方面遇到了瓶頸,但可能與DMA引擎、ICH8M、PCIe v1.1 1x通道和82574L關系不大。我們暫時無法再對性能短板做更加精準的定位,不過從完整的測試數據來看,DMI、內存控制器與軟件處理邏輯有可能是造成D525平臺整體性能瓶頸的關鍵因素。
無論如何,目前D525平臺在NCPBench的駕馭下,已經有著十分優秀的性能表現。隨著廠商研發的繼續深入和軟件技術的不斷發展,該平臺的性能一定會得到更充分的挖掘,在低端網絡通信、信息安全領域有著很好的應用前景。(產品信息:http://www.holl.cn/product/gb/productshow.asp?id=289)