随着信息技術的高速發展,“雲計算”成為了關注的熱點。通過“雲計算”,數以萬計的數據将在極短時間内得到運算,從而實現相應的網絡服務。基于這樣的高數據流量的需求,智能網卡(Smart NIC)得以面世,有效疏解了“雲計算”技術發展時所面臨的問題。
智能網卡的誕生
越來越多的雲數據中心的建立使得雲上業務愈發地普及、雲數據量也在呈井噴式增長,巨大的數據量使得用内核轉發的虛拟交換機的收發分組問題日益凸顯,盡管通過有效的軟件加速方案可以在一定程度上提高轉發性能,但是問題仍然沒有得到徹底的解決。
首先,虛拟交換機大量地占用着宿主機的資源,比如CPU核。當數據量大時,虛拟交換機為了保證轉發質量會綁定多個CPU核,使得原本可以被合理利用于其它任務的宿主機資源被過度占用,造成了企業成本的浪費。
而且,雖然CPU Affinity和IRQ Affinity等手段在一定程度上可以優化轉發性能,但是高網絡寬帶應用需求的快速增長緻使虛拟交換機難以依靠純軟件解決方案來實現有效的轉發性能的提升,虛拟交換機需要進一步提速。
基于以上的問題和需求,智能網卡(Smart NIC)得以産生。
相比普通CPU,智能網卡在實現對網絡虛拟化功能的支持時可以節約大量成本,如在進行SR-IOV、Overlay Encap/Decap以及部分虛拟交換機處理邏輯的卸載時。而且智能網卡作為硬件,具有處理速度快、性能穩定的優點。
此外,智能網卡是數據流進出的首個關口,可以實現監控、嗅探、避免網絡攻擊和安全隔離的作用。特别的,智能網卡的存在使計算與網絡資源得以解耦,利于雲服務商拓展自身能力和覆蓋領域、滿足各方個性化的需求。
智能網卡與普通網卡的區别與改進
不同于普通網卡隻負責L2轉發,增加一定邏輯後的智能網卡還可實現部分虛拟交換機的功能。此外,智能網卡可以實現對部分網絡流量的卸載,比如智能網卡可以對網絡數據進行分組頭的解析,從而達到提高網絡吞吐量、減少虛拟交換機負載的目的。并且,為實現高性能網絡轉發,智能網卡可以與虛拟交換機配合以實現虛拟交換機的邏輯,從而減少宿主機服務器資源的占用。
智能網卡的技術路線
目前主流的智能網卡按照架構大緻可以分為ASIC Based、FPGA Based和SoC Based三種類型。ASIC Based智能網卡是基于專用芯片進行網絡加速核心的智能網卡,擁有專用電路,在布局布線和時鐘樹綜合等方面有優勢,但是開發周期長,且成品後邏輯不可改。FPGA Based智能網卡是基于FPGA卡來實現智能網卡的功能,可以通過FPGA編程以修改智能卡的邏輯,靈活性好但成本較高。SoC Based智能網卡是基于前兩種智能網卡集成的CPU處理器,該種智能網卡成本最高,但是可實現虛拟層零消耗,有重要的實用價值。故可得,ASIC Based智能網卡成本低、性能優,FPGA Based智能網卡靈活性高、但成本高且編程難度大,SoC Based智能網卡則較二者提供了性能和可操控性兼具的可能。
結語
雲計算的普及帶來了數據流量的迅速增大,這使得對虛拟網絡性能提高的需求變得日益迫切。服務器的内核是傳統虛拟網絡技術的轉發能力所主要依賴的,通過一些軟件加速技術可以在一定程度上改善虛拟網絡的轉發技能,但是仍然會在CPU上造成許多成本和資源上的浪費,純依賴軟件來解決困局的方案并不能滿足日益增長的高網絡寬帶應用的需求。智能網卡的出現使得解決問題的方式上升到了硬件層面,憑借智能網卡的硬件卸載功能,可以達到為CPU減少負荷的作用,從而清騰出更多的CPU資源,并且智能網卡可以實現計算資源和網絡資源的分離,顯著提升了應用性能,并使得雲服務商可以更好地拓展業務、滿足不同需求。
目前市面上三種主流的智能網卡各有利弊,随着信息技術的進步,智能網卡将得到進一步的提升,而這種基于硬件的創新也将是未來雲計算網絡架構築成的重點研究方向。
,