NUMA

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.

添加评论
点赞收藏
点踩分享查看原文
评论
?
参与讨论