- 快召唤伙伴们来围观吧
- 微博 QQ QQ空间 贴吧
- 视频嵌入链接 文档嵌入链接
- 复制
- 微信扫一扫分享
- 已成功复制到剪贴板
5G Core network load test system with DPDK
5G Core network load test system with DPDK
展开查看详情
1 .5G Core Network Load Test System with DPDK Xiaohua Wang @ DPDK China 2019
2 .Content • Background • 5GC and CUPS • Extreme high throughput, Ultra low latency • Challenges • Measure and verify 5GC performance • Load Testing System for 5GC • Payload Engine with DPDK • Experiences of developing with DPDK • Tips on performance • DPDK in docker with SR-IOV • DPDK 18.11 on Intel and Mellanox NIC
3 .5GC and CUPS • CP • SBA • SBI • HTTP2 • Restful • UP Control Plane • GTP-U User Plane
4 .Extreme high throughput, Ultra low latency • UP Peak Data Rate: • Downlink: 20 Gbit/s • Uplink: 10 Gbit/s • UP Latency: • 4 ms for eMBB, • 1 ms for URLLC
5 . Performance requirements for high data rate and traffic density scenarios. Challenges • How to measure and verify UP? • Extreme high throughput • Ultra low latency • Complex Service and Traffic Model • Interaction with control plane
6 .Load Testing System for 5GC • Support to test towards all OAM 5GC core NFs and their combinations Simulated NFs • Support to work on bare metal, VM and docker • NF: network function Signaling Load Balancer Payload Engine (Based on DPDK) SUT (5GC NFs and their combinations)
7 .Payload Engine (PE), Fast Path for user plane • Developed based on DPDK • Support to test UP in 5GC • Support to test throughput and latency from 5GC e2e
8 .Slow Path using TAP device for control plane • Support to test control plane and signaling (GTP- C/TCP/SCTP based protocol) collocated with payload engine developed with DPDK
9 .Experiences of developing with DPDK • Tips on performance • DPDK in docker with SR-IOV • DPDK 18.11 on Intel and Mellanox NIC
10 .Tips on performance NUMA Global Lock Prefetch • Memory pool • Design for localization • Used on array usually • Hash table • Allocation on stack • Consider the data size • Rte_ring • Per-core data structure • Rte_malloc • Minimize lock scope • Sperate reading and writing
11 .Experiences of developing with DPDK • Tips on performance • DPDK in docker with SR-IOV • DPDK 18.11 on Intel and Mellanox NIC
12 . Networking OAM OAM Network (Bridge) Simulated Simulated Simulated Simulated NF NF Internal NF NF Network (Bridge) PE SCTP/TCP Signaling Network Payload Network (VF by SR-IOV) (VF by SR-IOV)
13 .Tips for SR-IOV • On Host (NIC: Intel XL710) • dpdk-devbind -b i40e "0000:81:00.0“ • ip link set dev p1p1 up • echo 0 > /sys/bus/pci/devices/"0000:81:00.0"/sriov_numvfs • echo 3 > /sys/bus/pci/devices/"0000:81:00.0"/sriov_numvfs • dpdk-devbind --bind=igb_uio "0000:81:02.0" "0000:81:02.1" "0000:81:02.2“ • VF mac address • Need to set mac address to enable VF to route by mac address • VLAN tags • Need to take care of VLAN tag in DPDK or on VF setting • Docker container • privileged: true • volumes: - /dev/hugepages:/dev/hugepages
14 .Experiences of developing with DPDK • Tips on performance • DPDK in docker with SR-IOV • DPDK 18.11 on Intel and Mellanox NIC
15 .DPDK 18.11 on Intel and Mellanox NIC • Intel XL710 (40Gbps) • For high performance, to use “Legacy memory mode” instead of “Dynamic memory mode” • Enabled by specifying --legacy-mem command-line switch to the EAL • Mellanox ConnectX-5 (100Gpbs) • Can’t work properly with legacy mode, need to use “Dynamic memory mode” instead of “Legacy memory mode” • But introduces some performance degradation • Enabled by default on Linux
16 .Q&A