NUMA

0
3 hours ago · Tech · hide · 0 comments

In the previous article we followed a packet all the way in from the wire and all the way back out. At every step something was reading or writing memory — the page the driver handed the card, the skb wrapped around it, the buffer the bytes were finally copied into. We never once asked which memory. A page was a page. That’s been the quiet assumption under this whole series. On a laptop it’s a fine one. On a two-socket server it falls apart, because there the RAM isn’t wired to the machine — it’s wired to a socket, and getting at the other socket’s takes a detour through it. So a page has a location, that location decides how fast your code can touch it, and the kernel can’t hide that — only manage it. The name for all of this is NUMA.

No comments yet. Log in to reply on the Fediverse. Comments will appear here.