通過電源管理和工作負載整合,大幅提升電信業務處理性能

客戶端代表電源管理系統搜集與電源有關的數據。系統守護進程是加載在每一個刀片上的應用,扮演者電源管理模塊的角色。它提供了CPU、內存、硬盤、網絡和虛擬化的工作方法以及功耗限定等功能,在滿足性能需求的前提下盡量降低功耗。實際的管理端可以運行在臺式機或者筆記本上,通過整合并顯示輸出機箱、板卡和傳感器(如溫度)等實際功耗的信息。
圖3:功耗限定功能實例
主動電源管理
通過策略的配置,將ATCA刀片上CPU的工作模式切換至節能或主動電源管理模式后,每個刀片的功耗相比持續運行在性能模式下減少15%(參見圖4和圖5)。每片板卡在加載服務的情況下可以節約0.4KW的功耗(參見圖5)。如果一個14槽的ATCA機框中使用了10個刀片,那每天節約的功耗大約4KW。
圖45:CPU在三種獨立模式下的功耗比較
動態遷移
減少功耗的另一個非常有效的方法就是只使用必要的設備來處理相關事件。利用Erlang概率分布算法(圖表6)可以有效檢測出使用率較低的時段。
圖6:Erlang概率分布算法在電信網絡流量監測中的實例
通過上面的圖表我們可以了解到,1點至7點期間的CPU使用率最低,然而,即使運行在省電模式下,每片板卡仍然在消耗電能。在這種情況下,每片板卡在主動電源管理的策略下會消耗90W的功耗,峰值性能時會上升至140W。解決的辦法就是利用實時遷移策略,用最少的CPU刀片在處理這些工作負載,同時將節能模式下的刀片切換到睡眠模式,這樣相比主動電源管理的模式可以節約超過25%的功耗。
在工作負載和I/O處理方面,目前的市場和技術發展趨勢比較傾向采用將傳統的網絡架構整合到一個通用平臺或模塊化的組件上來,以支持多網絡設備和提供不同的服務功能,如應用處理、控制處理、包處理和信號處理功能等。處理器架構以及新的軟件開發工具的功能提升,讓開發人員可以很容易的將工作負載整合到統一的刀片架構中,這些負載包含了應用、控制以及包處理等。通過軟硬件的整合,可以大幅度提升性能,并使得刀片式服務器架構在包處理解決方案中的應用大幅增加。
為了說明工作負載整合的演變,我們設計了一系列的測試方法。這些測試方法是在單一平臺中,通過將CPU制造商提供的DPDK整合到ATCA處理器刀片上,以此驗證處理器刀片提供的性能以及整合的IP轉發服務。比較在沒有使用Intel® DPDK做任何優化時,采用原生 Linux(Native Linux) IP轉發時的第三層轉發性能。然后,我們再分析采用Intel® DPDK技術之后所獲得的IP轉發性能提升的原因。
數據平面開發套件
DPDK(Data Plane Development Kit,數據平面開發套件)是一個專為x86架構處理器提供的輕量級運行環境。它提供了低功耗和Run-to-Completion(RTC,運行到完成)模式,以此最大限度的提升數據包的處理性能。而且DPDK還包含了優化的和高效的函數庫,為用戶提供豐富的選擇,例如我們熟知的環境抽象層(EAL,Environment Abstraction Layer),它負責控制低級資源并提供優化的輪詢模式驅動(PMD,Poll Mode Driver),以及更高級別應用的完整API接口,圖7為軟件層級結構圖。
圖7: Linux應用環境下的EAL和GLIBC
測試拓撲結構
為了測量ATCA處理器刀片在第三層處理和轉發IP包的速度,我們使用圖8中所示的環境進行測試。
圖8:IP轉發測試環境
我們的測試使用了ATCA處理器刀片的2個10GbE外部接口和兩個10GbE Fabric接口(總計40G),通過比較使用和未使用DPDK的結果,我們可以得出結論:在相同的硬件平臺下,使用DPDK后的Linux僅用兩個CPU線程進行IP轉發的性能,與原生 Linux(Native Linux)使用全部的CPU線程進行IP轉發的性能相比,前者是后者的10倍。使用DPDK的平臺,3層小數據包的轉發線速可以達到>70%。DPDK中優化過的軟件堆棧可以實現10倍性能的提升。如果在一個基于IA架構的刀片的控制層和數據層配備DPDK,就可以減少一個40G的NPU刀片。通常一個40G的GPU刀片的功耗為180W,因此通過工作負載整合可以節省56%的能耗。
評論