LX2160A DPDK Example Use Case - Software Packet Distributor v1.0.5

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

LX2160A DPDK Example Use Case - Software Packet Distributor v1.0.5

428 Views
MikeChangENGR
Contributor I

Subject: Release: Software Packet Distributor (SPD) v1.0.5 – software-only flow-aware packet distributor (LX2160A-RDB)

 

Hi all,

 

Announcing SPD v1.0.5 — a DPDK-based, software-only packet distributor. Its Greedy Reshaper performs bounded, in-place RETA edits each sampling interval to move hot buckets from overloaded to cold workers, reducing imbalance under elephant-flow skew.

 

Highlights
- Portable: no NIC-specific features; all reshaping in user space.
- Predictable overhead: small edit budget per tick.
- Telemetry: per-second CSV at /var/log/software-packet-distributor/worker_stats_v105.csv.

 

Validated on
- NXP LX2160A-RDB (16×A72 @2.2GHz), LSDK 21.08, Linux 5.10.35, DPDK 19.11.7 (PCAP/NULL vdev).
- Hugepages: 1GiB (preferred) with 2MiB as fallback.

 

GitHub: mikechang-engr/software-packet-distributor
Docs: README has quick start, start script knobs (TARGET_MPPS/GBPS, ELEPHANTS, GREEDY), and core layout.

 

Overview
The **Software Packet Distributor (SPD)** is a DPDK-based packet distribution framework for embedded multicore networking systems. It addresses the limitations of static RSS by introducing a **Greedy Reshaper** that adaptively reassigns flow buckets to worker cores based on runtime telemetry—improving fairness, utilization, and stability without relying on NIC-specific features.

Feedback & testing
- Looking for testers on additional SoCs/NICs and feedback on congestion-aware bucket ranking.
- If you can share a 60–120 s worker_stats_v105.csv, I’ll return comparison plots.

 

Thanks,
Mike Chang
 
``
0 Kudos
Reply
0 Replies
%3CLINGO-SUB%20id%3D%22lingo-sub-2304180%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3ELX2160A%20DPDK%20Example%20Use%20Case%20-%20Software%20Packet%20Distributor%20v1.0.5%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2304180%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3E%3CSPAN%3E%3C!--%20%20ScriptorStartFragment%20%20--%3E%3C%2FSPAN%3E%3C%2FP%3E%3CDIV%20class%3D%22%22%3E%3CSPAN%3ESubject%3A%20Release%3A%20Software%20Packet%20Distributor%20(SPD)%20v1.0.5%20%E2%80%93%20software-only%20flow-aware%20packet%20distributor%20(LX2160A-RDB)%3C%2FSPAN%3E%3C%2FDIV%3E%3CP%3E%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3E%3C%2FP%3E%3CDIV%20class%3D%22%22%3E%3CSPAN%3EHi%20all%2C%3C%2FSPAN%3E%3C%2FDIV%3E%3CBR%20%2F%3E%3CP%3E%3CSPAN%3EAnnouncing%20SPD%20v1.0.5%20%E2%80%94%20a%20DPDK-based%2C%20software-only%20packet%20distributor.%20Its%20Greedy%20Reshaper%20performs%26nbsp%3B%3C%2FSPAN%3E%3CSPAN%3Ebounded%2C%20in-place%20RETA%20edits%20each%20sampling%20interval%20to%20move%20hot%20buckets%20from%20overloaded%20to%20cold%26nbsp%3B%3C%2FSPAN%3E%3CSPAN%3Eworkers%2C%20reducing%20imbalance%20under%20elephant-flow%20skew.%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3E%3C%2FP%3E%3CDIV%20class%3D%22%22%3E%3CSPAN%3EHighlights%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%20class%3D%22%22%3E%3CSPAN%3E-%20Portable%3A%20no%20NIC-specific%20features%3B%20all%20reshaping%20in%20user%20space.%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%20class%3D%22%22%3E%3CSPAN%3E-%20Predictable%20overhead%3A%20small%20edit%20budget%20per%20tick.%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%20class%3D%22%22%3E%3CSPAN%3E-%20Telemetry%3A%20per-second%20CSV%20at%20%2Fvar%2Flog%2Fsoftware-packet-distributor%2Fworker_stats_v105.csv.%3C%2FSPAN%3E%3C%2FDIV%3E%3CP%3E%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3E%3C%2FP%3E%3CDIV%20class%3D%22%22%3E%3CSPAN%3EValidated%20on%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%20class%3D%22%22%3E%3CSPAN%3E-%20NXP%20LX2160A-RDB%20(16%C3%97A72%20%402.2GHz)%2C%20LSDK%2021.08%2C%20Linux%205.10.35%2C%20DPDK%2019.11.7%20(PCAP%2FNULL%20vdev).%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%20class%3D%22%22%3E%3CSPAN%3E-%20Hugepages%3A%201GiB%20(preferred)%20with%202MiB%20as%20fallback.%3C%2FSPAN%3E%3C%2FDIV%3E%3CP%3E%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3E%3C%2FP%3E%3CDIV%20class%3D%22%22%3EGitHub%3A%26nbsp%3Bmikechang-engr%2Fsoftware-packet-distributor%3C%2FDIV%3E%3CDIV%20class%3D%22%22%3E%3CSPAN%3EDocs%3A%20README%20has%20quick%20start%2C%20start%20script%20knobs%20(TARGET_MPPS%2FGBPS%2C%20ELEPHANTS%2C%20GREEDY)%2C%20and%20core%20layout.%3C%2FSPAN%3E%3C%2FDIV%3E%3CP%3E%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%3EOverview%3CBR%20%2F%3EThe%20**Software%20Packet%20Distributor%20(SPD)**%20is%20a%20DPDK-based%20packet%20distribution%20framework%20for%20embedded%20multicore%20networking%20systems.%20It%20addresses%20the%20limitations%20of%20static%20RSS%20by%20introducing%20a%20**Greedy%20Reshaper**%20that%20adaptively%20reassigns%20flow%20buckets%20to%20worker%20cores%20based%20on%20runtime%20telemetry%E2%80%94improving%20fairness%2C%20utilization%2C%20and%20stability%20without%20relying%20on%20NIC-specific%20features.%3C%2FSPAN%3E%3C%2FP%3E%3CDIV%20class%3D%22%22%3E%3CSPAN%3EFeedback%20%26amp%3B%20testing%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%20class%3D%22%22%3E%3CSPAN%3E-%20Looking%20for%20testers%20on%20additional%20SoCs%2FNICs%20and%20feedback%20on%20congestion-aware%20bucket%20ranking.%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%20class%3D%22%22%3E%3CSPAN%3E-%20If%20you%20can%20share%20a%2060%E2%80%93120%20s%20worker_stats_v105.csv%2C%20I%E2%80%99ll%20return%20comparison%20plots.%3C%2FSPAN%3E%3C%2FDIV%3E%3CP%3E%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3E%3C%2FP%3E%3CDIV%20class%3D%22%22%3E%3CSPAN%3EThanks%2C%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%20class%3D%22%22%3E%3CSPAN%3EMike%20Chang%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%20class%3D%22%22%3E%3CSPAN%3E%3CA%20href%3D%22mailto%3Amikechang.engr%40gmail.com%22%20target%3D%22_blank%22%20rel%3D%22noopener%20nofollow%20noreferrer%22%3Emikechang.engr%40gmail.com%3C%2FA%3E%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%20class%3D%22%22%3E%26nbsp%3B%3C%2FDIV%3E%3CDIV%20class%3D%22%22%3E%3CSPAN%3E%60%60%3C!--%20%20ScriptorEndFragment%20%20--%3E%3C%2FSPAN%3E%3C%2FDIV%3E%3C%2FLINGO-BODY%3E