Service Cores - DPDK...Service Cores –Problem Statement Ethdev, Cryptodev, Eventdev, … HW...
Transcript of Service Cores - DPDK...Service Cores –Problem Statement Ethdev, Cryptodev, Eventdev, … HW...
![Page 1: Service Cores - DPDK...Service Cores –Problem Statement Ethdev, Cryptodev, Eventdev, … HW Available? No lcore required SW Functionality? Requires CPU cycles Environments have different](https://reader033.fdocuments.us/reader033/viewer/2022060900/609df9c5e2a85c62b031193c/html5/thumbnails/1.jpg)
Service Cores
Harry van Haaren
DPDK Summit Userspace – Dublin – 2017
![Page 2: Service Cores - DPDK...Service Cores –Problem Statement Ethdev, Cryptodev, Eventdev, … HW Available? No lcore required SW Functionality? Requires CPU cycles Environments have different](https://reader033.fdocuments.us/reader033/viewer/2022060900/609df9c5e2a85c62b031193c/html5/thumbnails/2.jpg)
Service Cores – Overview
Problem
Goal
Solution
Example
Discussion
![Page 3: Service Cores - DPDK...Service Cores –Problem Statement Ethdev, Cryptodev, Eventdev, … HW Available? No lcore required SW Functionality? Requires CPU cycles Environments have different](https://reader033.fdocuments.us/reader033/viewer/2022060900/609df9c5e2a85c62b031193c/html5/thumbnails/3.jpg)
Service Cores – Problem Statement
Ethdev, Cryptodev, Eventdev, …
HW Available?
No lcore required
SW Functionality?
Requires CPU cycles
Environments have different lcore requirements
![Page 4: Service Cores - DPDK...Service Cores –Problem Statement Ethdev, Cryptodev, Eventdev, … HW Available? No lcore required SW Functionality? Requires CPU cycles Environments have different](https://reader033.fdocuments.us/reader033/viewer/2022060900/609df9c5e2a85c62b031193c/html5/thumbnails/4.jpg)
Service Cores – Goal
Abstract lcore requirements
No application code changes required
Regardless of
Platform or environment
HW / SW PMD
![Page 5: Service Cores - DPDK...Service Cores –Problem Statement Ethdev, Cryptodev, Eventdev, … HW Available? No lcore required SW Functionality? Requires CPU cycles Environments have different](https://reader033.fdocuments.us/reader033/viewer/2022060900/609df9c5e2a85c62b031193c/html5/thumbnails/5.jpg)
Service Cores – Solution
Service
Runnable work item
Runs an iteration of work then returns
Service Core
Dedicated lcore to running services
Removed from app coremask
Main loop in service library
![Page 6: Service Cores - DPDK...Service Cores –Problem Statement Ethdev, Cryptodev, Eventdev, … HW Available? No lcore required SW Functionality? Requires CPU cycles Environments have different](https://reader033.fdocuments.us/reader033/viewer/2022060900/609df9c5e2a85c62b031193c/html5/thumbnails/6.jpg)
Service Cores – Solution
Service
Runnable work item
Runs an iteration of work then returns
Service Core
Dedicated lcore to running services
Removed from app coremask
Main loop in service library
![Page 7: Service Cores - DPDK...Service Cores –Problem Statement Ethdev, Cryptodev, Eventdev, … HW Available? No lcore required SW Functionality? Requires CPU cycles Environments have different](https://reader033.fdocuments.us/reader033/viewer/2022060900/609df9c5e2a85c62b031193c/html5/thumbnails/7.jpg)
Service Cores – Solution
Service
Runnable work item
Runs an iteration of work then returns
Service Core
Dedicated lcore to running services
Removed from app coremask
Main loop in service library
![Page 8: Service Cores - DPDK...Service Cores –Problem Statement Ethdev, Cryptodev, Eventdev, … HW Available? No lcore required SW Functionality? Requires CPU cycles Environments have different](https://reader033.fdocuments.us/reader033/viewer/2022060900/609df9c5e2a85c62b031193c/html5/thumbnails/8.jpg)
Service Cores – Mapping
Which service runs on what core?
Set by mapping
Flexibility
Multiple services on one core
Multiple cores running one service
Multi-thread safe flag
![Page 9: Service Cores - DPDK...Service Cores –Problem Statement Ethdev, Cryptodev, Eventdev, … HW Available? No lcore required SW Functionality? Requires CPU cycles Environments have different](https://reader033.fdocuments.us/reader033/viewer/2022060900/609df9c5e2a85c62b031193c/html5/thumbnails/9.jpg)
Service Cores – Your Use Case
Start thinking … Q & A!
Eventdev SW PMD + Service Cores example
Discussion
![Page 10: Service Cores - DPDK...Service Cores –Problem Statement Ethdev, Cryptodev, Eventdev, … HW Available? No lcore required SW Functionality? Requires CPU cycles Environments have different](https://reader033.fdocuments.us/reader033/viewer/2022060900/609df9c5e2a85c62b031193c/html5/thumbnails/10.jpg)
Service Cores – Eventdev Example
Application
Uses Eventdev SW PMD
EAL args passed ./app --vdev event_sw0 -s 0x10
Registers event_sw0_service
Service core init and mappings by EAL
![Page 11: Service Cores - DPDK...Service Cores –Problem Statement Ethdev, Cryptodev, Eventdev, … HW Available? No lcore required SW Functionality? Requires CPU cycles Environments have different](https://reader033.fdocuments.us/reader033/viewer/2022060900/609df9c5e2a85c62b031193c/html5/thumbnails/11.jpg)
Service Cores – Result
Application just uses DPDK
No application code changes
Possibly less lcores available in coremask
Depends on environment
Not concerned with “possibly-required” functions
rte_event_schedule()
…
![Page 12: Service Cores - DPDK...Service Cores –Problem Statement Ethdev, Cryptodev, Eventdev, … HW Available? No lcore required SW Functionality? Requires CPU cycles Environments have different](https://reader033.fdocuments.us/reader033/viewer/2022060900/609df9c5e2a85c62b031193c/html5/thumbnails/12.jpg)
Service Cores – Current State
Initial merge 17.08
API improvements 17.11
Recommending DPDK from Git
Sample app
Application registered services
Advanced service API usage
http://dpdk.org/dev/patchwork/patch/29169/
![Page 14: Service Cores - DPDK...Service Cores –Problem Statement Ethdev, Cryptodev, Eventdev, … HW Available? No lcore required SW Functionality? Requires CPU cycles Environments have different](https://reader033.fdocuments.us/reader033/viewer/2022060900/609df9c5e2a85c62b031193c/html5/thumbnails/14.jpg)
Service Cores – Service Mappings
Performance Scale-Down