DPDK Programmer’s Guide(4)Service Cores

官方文檔查看地址:
http://doc.dpdk.org/guides/prog_guide/service_cores.html
PDF下載地址:
https://www.intel.com/content/www/us/en/embedded/technology/packet-processing/dpdk/dpdk-programmers-guide.html

本篇難度係數:
翻譯:☆☆☆☆☆
理解:★★☆☆☆

4.服務核心

DPDK有一個稱爲服務核心的概念,它支持在DPDK lcore上執行工作的動態方式。服務核心支持構建在EAL中,並且提供了一個API,允許應用程序在運行時控制如何使用服務核心。

服務核心概念由服務(DPDK的組件,需要CPU週期才能運行)和服務核心(DPDK lcore,負責運行服務)組成。服務核心概念的強大之處在於,可以配置服務核心和服務之間的映射,以抽象平臺和環境之間的差異。

例如,Eventdev有硬件和軟件PMDs。其中,軟件PMD需要一個lcore來執行調度操作,而硬件PMD不需要。對於服務核心,應用程序不會直接注意到調度是在軟件中完成的。有關服務核心API的詳細信息,請參閱文檔。

4.1核心服務初始化

在DPDK應用程序中使用服務核心有兩種方法,一種是使用服務coremask,另一種是使用API動態添加核心。這兩種方法中比較簡單的一種是將-s coremask參數傳遞給EAL,它將接受主DPDK coremask中可用的任何核心,如果這些位也在服務coremask中設置,那麼這些核心將成爲服務核心,而不是DPDK應用程序lcore

4.2在覈心上啓用服務

每個已註冊的服務都可以單獨映射到一個服務核心,或一組服務核心。在特定的核心上啓用服務意味着所涉及的lcore將運行該服務。禁用該服務上的核心將停止所涉及的lcore運行該服務。使用此方法,可以爲每個服務內核分配特定的工作負載,並將N個工作負載映射到M個服務內核。每個服務lcore循環遍歷爲該核心啓用的服務,並調用函數來運行服務。

4.3服務核心數據統計

服務核心庫能夠收集運行時統計信息,比如對特定服務的調用數量和服務使用的週期數量。循環計數集合是動態可配置的,允許任何應用程序在任何時候對系統上運行的服務進行概要分析。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章