3 ms·
A modern server class machine can push "100Gbps" through the entire Linux stack just fine. TCP or UDP. With standard packet sizes (e.g. 1500 bytes.) We do this
by nsguy 3y ago
A modern server class machine can push "100Gbps" through the entire Linux stack just fine. TCP or UDP. With standard packet sizes (e.g. 1500 bytes.) We do this where I work. Yes a long time ago 1Gbps was hard, you needed jumbo frames, then 10Gbps was hard, then 100Gbps was hard. Right now where we are seems to be you don't need to do a kernel bypass unless you're running multiple 100Gbps NICs - that's an application where I've seen DPDK used in the wild.
EDIT: Might be some benefits in terms of latency through the stack and resource usage on the machine... But I don't think 10Gbps is where the pain is for these either.
- gafferongames 3y ago> A modern server class machine can push "100Gbps" through the entire Linux stack just fine. Maybe we'd like to use some of that CPU to run the game instead of pushing packets. Maybe if we can push the packets more efficiently, we save $$$. Maybe game servers get DDoS'd and it's great to be able to quickly drop packets without any linux kernel overhead.
- Galanwe 3y agoMaybe I would like my games to not access my kernel? Maybe I would like my games to not bypass my firewall and VPN? Also, eBPF is not a way to shave CPU cycles, you would use DPDK/Netmap/BSD BPF for that, it's a way to lower latency. And we're talking single digit microsecond latency, where a typical internet link has millisecond jitter.
- mattnewport 3y agoThe use case is for dedicated game servers controlled by the developer running in data centers, not clients running on player's home computers.
- Galanwe 3y agoIf we're talking server tech then why does the article claim that 10gbps is becoming retail commodity? 10,40 and 100gbps is already the baseline for servers since a decade, I have not seen a server with 1gbps NICs for anything else than remote management or off band communication in a decade. If it's for servers then the article still doesn't make any sense. See my other comment https://news.ycombinator.com/item?id=39939876 https://news.ycombinator.com/item?id=39939876
- gafferongames 3y agoCableLabs.com, the creators of the DOCSIS standard for cable modems are part of an industry wide push towards 10G internet for ISPs. According to Neilsen's law, we should see 10G internet become more common than 1G internet is today within 10 years. https://www.cablelabs.com/10g https://www.cablelabs.com/10g https://www.nngroup.com/articles/law-of-bandwidth/ https://www.nngroup.com/articles/law-of-bandwidth/
- eqvinox 3y agoYou're mixing server and client use cases. And you're looking at a gaussian distribution. And DOCSIS is a shared medium. Most of the world doesn't even have 100M internet: https://www.speedtest.net/global-index https://www.speedtest.net/global-index By the time your game can use even 1G per client, XDP won't even be helpful for 100G. (Which, depending on use case, it already isn't.)
- deleted 3y ago[deleted]
- deleted 3y ago[deleted]
- gafferongames 3y agoI repeat: According to Neilsen's law, we should see 10G internet become more common than 1G internet is today within 10 years. That's a cool thing. Let's look forward to it, and the rising tide that lifts all boats. The world will be a much more connected place 10 years from now, and the 10G target from CableLabs.com as well as DSCP packet tagging, L4S and other technologies will make the internet a lot better than it is today. Why the negativity. Embrace the future :)
- jstanley 3y agoWhat do you mean by wanting games not to access the kernel? You don't want them making system calls full stop?