In an age of Telecommunications Revolution, where evolving technology is completely changing the way we work, communicate, and even the way we live; data growth is exploding across the network. Although more users and devices are connected to the network than ever before, there is still an expectation that services are available whenever and wherever they are needed; and that those services meet a level of quality that is acceptable to the end user. Software Fastpath-service Quality Metrics (SFQM) is an OPNFV project that is focused on collecting and monitoring the Telco performance and traffic indicators of DPDK packet processing paths in the NFVI. This talk looks at the work undertaken by SFQM to expose DPDK performance metrics to OpenStack and the proposed feature that facilitates support for failover of DPDK enabled cores, which is referred to as DPDK Keep alive.
The Top App Development Trends Shaping the Industry in 2024-25 .pdf
Software Fastpath Service Quality Metrics and DPDK Keep Alive
1. Software Fastpath Service
Quality Metrics and DPDK
Keep Alive
The past, present and the Future
Maryam Tahhan, John Browne and
Michael Godley
2. Outline
• SFQM Overview
• Measuring Telco Traffic and Performance KPIs
• Monitoring DPDK Interfaces & OpenStack Support
• Detecting and reporting violations with DPDK Keep Alive
• Summary
3. SFQM Overview
• Develop the utilities and libraries in DPDK to support:
• Measuring Telco Traffic and Performance KPIs. Including:
• Packet Delay Variation (by enabling TX and RX time stamping).
• Packet loss (by exposing extended NIC stats).
• Performance Monitoring of the DPDK interfaces (by exposing
extended NIC stats + collectd Plugin).
• Detecting and reporting violations that can be consumed by
VNFs and higher level management systems (through DPDK
Keep Alive).
The ability to measure and enforce Telco KPIs (Service assurance) in the
data-plane will be mandatory for any Telco grade NFVI implementation.
4. - Call-back API and Sample
application that can timestamp and
measure packet latency through
DPDK (rxtx_callbacks DPDK 2.0).
- Exposing ixgbe NIC error statistics
to DPDK apps (Extended NIC Stats
DPDK 2.1).
- DPDK application that runs as a
DPDK secondary process retrieves
stats (proc_info DPDK 2.1)
- Exposing igb, i40e and VF NIC error
statistics to DPDK apps (Extended
NIC Stats DPDK 2.2).
Measuring Telco Traffic and Performance KPIs
Intel® Architecture CPU
Host
Software
Hardware
Intel 10Gbe NIC
DPDK
221 3
TXRX Timestamp Sample Application
Interface Errors, Link Failures
and Packet Loss
proc_info
Packet Delay, Packet
Delay Variation.
Provided
Functionality
5. So we can get all these interface and error stats from
DPDK, now what?
6. Monitoring Interfaces and Openstack Support
Compute Network Storage
Hypervisor Plug-Ins
Ceilometer
NFVI
Openstackcollectd
NB to
MANO/VNFM
SFQM Plug-Ins
collectd
dpdkstat
Plugin
collectd
Collectd
ceilometer
Plugin
Ceilometer
DPDK L2
FWD App
1. Read
RX TX
2. Get xstats
3. Dispatch
Values
4. Pass
Values
4. Post
Values
Monasca
The Future?
Provided
Functionality
8. Sample Application
Intel® Architecture CPU
Host OS Enabled with Virtualization: Linux
Software
Hardware
QEMU/KVMReal-Time Patch PREMEPT_RT
Intel 10Gbe NIC
DPDK PMD
Rx Core FWD Core(s) Tx Core
1
Hook
Function
Keep Alive Monitor Agent Core Consequential
Actions
1 1
Keep Alive
Request/Response
Keep Alive
Request/Response
Keep Alive
Request/Response
• Heartbeat/watchdog for packet
processing cores, to detect
application thread failure.
• Protects against core processing
stalls on packet processing cores
• Only the worker cores are
monitored.
• Note: Need a local (on the host)
mechanism or agent to monitor the
master DPDK core.
• Future: Monasca Integration
Core Stall Detection/Core Keep Alive Overview & scope for DPDK 2.2
Provided
Functionality
9. Summary
DPDK 2.0 DPDK 2.1 DPDK 2.2
• Callback API
• RX/TX timestamping
sample app.
• Extended NIC stats
for ixgbe.
• proc_info
• Extended NIC stats
for igb, i40e and
VFs.
• Extended NIC API
Alignment across
drivers.
• DPDK KeepAlive
The Future?
• Doctor Collaboration
• Upstream collectd Plugins.
• Monasca/Zabbix integration
The Past The Present