NUMA

0 ▲
54 days ago · Tech · hide · Fediverse post

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.

Commenting on Bubbles has been removed. Why? If you want to talk about this post, write to the author, use the comments on their blog if it has them, or reply with a "RE:" post on your own blog. Suggestions? feedback@bubbles.town