4 ms·
Surely not, but I don't expect a video game datagram size and rate to be anywhere near line rate. To put things in perspective, we are talking ~1M datagrams per
by Galanwe 3y ago
Surely not, but I don't expect a video game datagram size and rate to be anywhere near line rate. To put things in perspective, we are talking ~1M datagrams per seconds on a 1gbps link, 10M dgps on a 10gbps link.
Hell, I don't even think a commodity gaming computer have enough cores to process line rate datagrams on a 1gbps link.
- gafferongames 3y agoThink of a game server with many thousands or millions of players connected at the same time, and these players are all sending 10-100mbps of UDP packets at very high rates (60pps bidirectionally, or higher). Kernel bypass is not going to be something that is necessary on the client (even though there is a trend towards symmetric 10G internet becoming available in the US today, and according to Neilsen's law, it should be widely available within 10 years).
- eqvinox 3y ago60kpps is a joke to the network stack, and by the time you'd reach 60Mpps, your problem is doing something useful with it, rather than getting it pulled off the NIC. If your game engine can handle even 10k players on one system, it'd be the gold plated unicorn with wings of game engines. Ask CCP (EVE online), they know a thing or two about this.
- deleted 3y ago[deleted]
- gafferongames 3y agoI'm a professional multiplayer game programmer but thanks for lecturing me about how game are networked.
- eqvinox 3y agoshrug most people on HN are professional engineers of some type or another. If you want to make this about "creds", you're free to look up mine.
- gafferongames 3y agoIf I were to summarize most engineer comment threads on HN that go off the rails, I would characterize them as experts in one field falsely believing that their expertise in one field qualifies them to make statements about another, perhaps adjacent or even unrelated field. To the experts in the field in question these comments are usually incorrect and often highly amusing, but they are stated with such gravitas and certainty by the poster, that a casual reader might mistake them for the truth.
- eqvinox 3y agoGlad we can agree on something. Cheers!
- jdright 3y agoI didn't find anything useful related to networked games when looking for "David Lamparter". Now, try yourself quick look for "Glenn Fiedler". Also: https://www.mobygames.com/person/68015/glenn-fiedler/ https://www.mobygames.com/person/68015/glenn-fiedler/ Note that MobyGames is wildly incomplete.
- Galanwe 3y agoRight, I have to say I misunderstood the article by thinking it was a client side proposal instead of a server one. Still, I think bandwidth and latency should not be confused as it is on this thread. From my experience, the Linux network stack is not bandwidth bound _at all_. I've used it extensively on 94gpbs infiniband networks without any issues. Problems arise only when you close up to line rate, meaning very small payload and low packet latency, which I think (though I'm not a game developer by any mean) is unlikely to happen in game use cases. As for the technological side of things, I have my reserves that open source solutions like XDP, Netmap, or BSD BPF are able to compete with proprietary solutions like DPDK (which IMHO is more complete) or SF OnLoad - which is just an LD_PRELOAD on top of your existing BSD socket server. > according to Neilsen's law If were being honest, this is more of a fun fact than a law... We're talking about a single guy fitting a linear regression of a dozen points of his internet connection speed over time.
- tptacek 3y agoXDP (with AF_XDP) is effectively a superset of what DPDK does. But it's a weird argument regardless --- both XDP and DPDK are mechanisms to bypass the Linux kernel skb stack. If you're right about that stack, DPDK is poorly motivated too.