Linux 6.8 Network Optimizations Can Boost TCP Performance For Many Concurrent Connections By ~40% (www.phoronix.com)
from OsrsNeedsF2P@lemmy.ml to linux@lemmy.ml on 10 Jan 2024 01:29
https://lemmy.ml/post/10332190

#linux

threaded - newest

autotldr@lemmings.world on 10 Jan 2024 01:30 next collapse

This is the best summary I could come up with:


This effort has been around optimizing cacheline consumption and adding safeguards to ensure future changes don’t regress.

In turn this optimizing of core networking structures is causing TCP performance with many concurrent connections to increase by as much as 40% or more!

This patch series attempts to reorganize the core networking stack variables to minimize cacheline consumption during the phase of data transfer.

Meanwhile new Ethernet driver hardware support in Linux 6.8 includes the Octeon CN10K devices, Broadcom 5760X P7, Qualcomm SM8550 SoC, and Texas Instrument DP83TG720S PHY.

NVIDIA Mellanox Ethernet data center switches can also now enjoy firmware updates without a reboot.

The full list of new networking patches for the Linux 6.8 kernel merge window can be found via today’s pull request.


The original article contains 387 words, the summary contains 124 words. Saved 68%. I’m a bot and I’m open source!

YIj54yALOJxEsY20eU@lemm.ee on 10 Jan 2024 04:59 next collapse

Somebody please temper my expectations because this seems like an absolute game changer.

OsrsNeedsF2P@lemmy.ml on 10 Jan 2024 05:48 next collapse

You’re not a cloud server that needs to run this many concurrent connections (probably)

Mubelotix@jlai.lu on 10 Jan 2024 11:30 next collapse

Well I am, so that’s exciting

YIj54yALOJxEsY20eU@lemm.ee on 10 Jan 2024 18:44 collapse

No but my friend is cloud server with many concurrent connections and may want to hear the good news!

KarnaSubarna@lemmy.ml on 10 Jan 2024 06:52 collapse

The test data on article is about server setup which is the right use case for this change.

Moreover the L3 cache on CPU is what makes significant difference, IMO.

If that is true, not sure how much improvement consumer-grade desktop will see, given that most consumer-grade CPU will not have that much L3 cache on chip.

AlexJD@feddit.uk on 10 Jan 2024 07:29 collapse

AMD has been putting a lot of L3 cache on their consumer CPUs. The 5800X3D has 96mb of L3 cache.

qupada@kbin.social on 10 Jan 2024 09:35 next collapse

Their top-of-the-range Epyc 9684X has 1152MB :)

KarnaSubarna@lemmy.ml on 10 Jan 2024 09:58 collapse

That’s definitely a CPU for server (unless you are a general consumer with lots of $ 🙂 ).

qupada@kbin.social on 10 Jan 2024 18:25 collapse

There definitely are vendors ignoring common sense and putting socket SP5 on desktop boards.

No argument about the price, I think list on these is something like $13k USD.

KarnaSubarna@lemmy.ml on 10 Jan 2024 10:00 next collapse

Yes, that’s true. Only if Intel follows the same in future.

On a separate note, 5800X3D seems to be most efficient (throughput/watt) consumer grade CPU out there right now.

Atemu@lemmy.ml on 10 Jan 2024 12:05 collapse

On a separate note, 5800X3D seems to be most efficient (throughput/watt) consumer grade CPU out there right now.

Pretty sure the 7800x3D surpasses it and the 7950x3D is no slouch either.

dai@lemmy.world on 10 Jan 2024 11:44 collapse

Man looking at my old 5960x with it’s 20mb of cache from 2014, and Intel’s current top consumer chip with 36mb.

Crazy to think Intel were ‘ahead of the curve’ so long ago, those x99 chips are still relevant compared to some AM4 chips.

Aradia@lemmy.ml on 10 Jan 2024 05:24 next collapse

Now, gamers will want to play on Linux for the low latency on online games.

fosforus@sopuli.xyz on 10 Jan 2024 07:36 next collapse

Online games don’t typically have many concurrent connections, though, do they? Just the one.

Aradia@lemmy.ml on 10 Jan 2024 08:10 collapse

I’m not an expert, but I suppose as this patch is on the kernel and not on the game, this will still improve any connection your kernel needs to do, like sending telemetry of your anti-cheat engine and other apps that make TCP requests while you are playing online games.

WindowsEnjoyer@sh.itjust.works on 10 Jan 2024 08:14 next collapse

Before that you have to download it. Well, using p2p mechanisms.

Aradia@lemmy.ml on 10 Jan 2024 08:25 collapse

I always download my games before playing them. I don’t know what you mean here.

neurospice@lemmy.dbzer0.com on 10 Jan 2024 10:07 collapse

I think they mean peer to peer ^arrr^

Aradia@lemmy.ml on 10 Jan 2024 11:04 collapse

But is that related to my comment? I don’t understand why he’s talking about downloading games via P2P.

WindowsEnjoyer@sh.itjust.works on 10 Jan 2024 11:36 collapse

Arrrrr 😅😅😅

Aradia@lemmy.ml on 10 Jan 2024 12:03 collapse

🤯

taladar@sh.itjust.works on 10 Jan 2024 10:26 next collapse

Most low latency use cases in games use UDP, not TCP.

Aradia@lemmy.ml on 10 Jan 2024 11:05 next collapse

Yeah, that would make sense as opening TCP connections is not really viable for low latency, hahaha.

Atemu@lemmy.ml on 10 Jan 2024 12:03 next collapse

Depends. There was that one F2P COD clone which used TCP and IIRC it did fine?

icydefiance@lemm.ee on 10 Jan 2024 13:28 collapse

If your connection is stable, the latency will more or less be the same, but TCP will consume more bandwidth because of acknowledgement packets, making it harder to keep your connection stable.

On an unstable connection, TCP latency will skyrocket as it resends packets, while UDP will just drop those packets unless the game engine has its own way of resending them. Most engines have that, but they only do it for data that is marked as “important”. For example using an item is important, but the position of your character probably isn’t, because it’ll be updated on the next tick anyway.

taladar@sh.itjust.works on 10 Jan 2024 13:30 collapse

Opening the connections is one thing but resends and stream ordering can also cause issues since they might delay the latest information reaching the user space application even if the packet for them has actually arrived just because some earlier packet has not. There can also be issues with implementations waiting for enough data to be available before sending a packet.

pandacoder@lemmy.world on 10 Jan 2024 12:30 collapse

Unless it’s a Java Minecraft server which I believe exclusively uses TCP still.

WMTYRO@lemmy.world on 10 Jan 2024 19:41 collapse

Unfortunately, many games where people care about that lower latency tend to be competitive with some kind of anti-cheat that doesn’t mesh with Linux.

sighofannoyance@lemmy.world on 10 Jan 2024 10:23 collapse

This proves once and for all that Linux is the superior platform!

when was the last time you heard any such news for PC or MAC?

Aganim@lemmy.world on 10 Jan 2024 12:00 next collapse

when was the last time you heard any such news for PC

A few seconds ago, when I read that the new Linux kernel contains TCP related performance improvements!

Lulzagna@lemmy.world on 10 Jan 2024 13:24 collapse

This has to be some sort of Dunning-Kruger effect right here…

sighofannoyance@lemmy.world on 10 Jan 2024 13:54 collapse

Dunning-Kruger

This is more a case of tongue-in-cheek