aligungr / UERANSIM

Open source 5G UE and RAN (gNodeB) implementation.
GNU General Public License v3.0
759 stars 315 forks source link

Throughput over the TUN interface. #370

Closed NAYANSEN90 closed 3 years ago

NAYANSEN90 commented 3 years ago

Is there a KPI on the userplane throughput with the TUN interface?
Is it possible to run 1Gbps worth of data through it.

I see that the tun interface has speed of 10M? Will changing the speed using ethtool help?

aligungr commented 3 years ago

When I test our TUN interface, I had experienced around ~2Gbps within a custom environment. Actually, the throughput highly depends on the machines and the network.

But still, there is a room for optimizations in our UE's throughput. I'll improve the performance and reduce latency of the software. But I'm not able to allocate some time these days.

NAYANSEN90 commented 3 years ago

Thanks. I'll try to do a KPI and see what I get.
Did you use a traffic generator for this or simply iperf sort of setup will do?

aligungr commented 3 years ago

I used nr-binder and firefox, and utilized one of the speed test websites.

NAYANSEN90 commented 3 years ago

I have been trying iperf3 and get very low throughput about 10Mbps ( the link speed of the tun interface).

I have tried iperf3 tcp, it stablises at around 10Mbps.
I have tried iperf3 udp, during UL I see around 10Mbps max ( measuring at N3 on the UPF) I have tried iperf3 udp, DL using Reverse send, I see the desired speed on N3 of UPF (whatever I send), but the iperf3 client end on the UE still sees around 10Mbps, and shows huge loss.

All in all it seems the net link throughput gets limited to the TUN interface speed.

The cpu usage of nr-gnb and nr-ue is very nominal, so it is not the code per se.

Any ideas?

NAYANSEN90 commented 3 years ago

TCP throughput: Cmd: ./nr-binder 60.60.0.7 iperf3 -c iperf3-service -t 30 -i 1 [ ID] Interval Transfer Bitrate Retr [ 5] 0.00-30.00 sec 49.3 MBytes 13.8 Mbits/sec 167 sender [ 5] 0.00-30.01 sec 45.8 MBytes 12.8 Mbits/sec receiver

UDP Througput UL : Cmd: ./nr-binder 60.60.0.7 iperf3 -u -c iperf3-service -t 30 -i 1 -b 50M

[ ID] Interval Transfer Bitrate Jitter Lost/Total Datagrams [ 5] 0.00-30.30 sec 179 MBytes 49.5 Mbits/sec 0.000 ms 0/139086 (0%) sender [ 5] 0.00-31.70 sec 43.3 MBytes 11.5 Mbits/sec 1.231 ms 105388/139067 (76%) receiver

UDP Throughput DL: Cmd: ./nr-binder 60.60.0.7 iperf3 -u -c iperf3-service -t 30 -i 1 -b 50M -R [ ID] Interval Transfer Bitrate Jitter Lost/Total Datagrams [ 5] 0.00-30.08 sec 179 MBytes 50.0 Mbits/sec 0.000 ms 0/139463 (0%) sender [ 5] 0.00-30.00 sec 49.4 MBytes 13.8 Mbits/sec 5.221 ms 100618/139074 (72%) receiver

For the UDP throughputs I measured across the UPF N3 and N6 and found no drops. I am using free5gc as SA core.

NAYANSEN90 commented 3 years ago

Sorry. I found the bug, I was using a docker container and there was a cgroup resource limit on the container. So the entire container was cpu bound. I am getting around 500Mbps.
That is better than previous observations.
Sorry for the trouble. :)

infinitydon commented 2 years ago

@NAYANSEN90 - Please I will like to ask which components were you running inside docker, UPF or UERANSIM?

Also how did you resolve the cgroup limit? Did you dedicate a specific CPU core to the container using something like cpuset-cpus and isolcpu?

NAYANSEN90 commented 2 years ago

I was running the ueransim inside a k8s pod. I simply increased the number of cpu in the resource of the yaml.

Get Outlook for Androidhttps://aka.ms/AAb9ysg


From: Christopher Adigun @.> Sent: Tuesday, November 30, 2021 9:11:02 PM To: aligungr/UERANSIM @.> Cc: NAYANSEN90 @.>; Mention @.> Subject: Re: [aligungr/UERANSIM] Throughput over the TUN interface. (#370)

@NAYANSEN90https://github.com/NAYANSEN90 - Please I will like to ask which components were you running inside docker, UPF or UERANSIM?

Also how did you resolve the cgroup limit? Did you dedicate a specific CPU core to the container using something like cpuset-cpus and isolcpu?

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHubhttps://github.com/aligungr/UERANSIM/issues/370#issuecomment-982757036, or unsubscribehttps://github.com/notifications/unsubscribe-auth/ADH2UCUQY5ZRJRUITTUWQKTUOTWA5ANCNFSM5BQGV2SA. Triage notifications on the go with GitHub Mobile for iOShttps://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Androidhttps://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.