3 ms·
> The web browser isn't Netflix trying to serve hundreds of gigabits per second of encrypted video streams from a single server. Ironically, server workloads a
by AndrewGaspar 4y ago
> The web browser isn't Netflix trying to serve hundreds of gigabits per second of encrypted video streams from a single server.
Ironically, server workloads are the ones that are increasingly moving to networking stacks that run in user space, using frameworks like DPDK, with performance as a motivator: https://en.wikipedia.org/wiki/Data_Plane_Development_Kit https://en.wikipedia.org/wiki/Data_Plane_Development_Kit
Of course, there are some caveats - from my understanding, typical DPDK use cases would turn over the entire NIC to a single application, meaning you aren't contending with sharing the network between multiple, potentially adversarial user mode processes. This is fine for a server, but not really appropriate for a PC or smartphone.
- dijit 4y agoYes, the way Netflix and Co. are using Userspace drivers is by passing entire devices to a single application. There's no general purpose IPC happening there.
- monocasa 4y agoNetflix interestingly (rather than focusing on DPDK/user-space techniques) seems focused on increasing the throughput of kTLS on their CDN appliance boxes so they can simply sendfile(2) right out of VFS cache in kernel space for the bulk of the data plane. An alternative pathway to the same goal of increasing throughput by colocating your general data and your network stack state in the same context.
- vlovich123 4y agoI wonder if io_uring will be able to maintain competitive against DPDK-like approaches. Multi tenant solutions are more attractive and seem like they could be extremely competitive since they should be largely equivalent in the case that you have a single tenant.