NUMA: Cores, memory, and the distance between them

(edera.dev)

35 points | by sys_call 5 days ago ago

3 comments

  • lukax 2 hours ago

    NUMA can cause really crappy performance. We deployed a Go based LLM gateway in Kubernetes deployed on a server with hundreds of CPU cores. We didn't explicitly set GOMAXPROCS so Go runtime scheduled goroutines over different CPUs and it constantly used 200% CPU and GC was causing latency spikes. Then we set GOMAXPROCS 8 and all performance issues went away. Until recently Kubernetes didn't work well with NUMA.

    • re-thc an hour ago

      Is this on AMD? I wonder if it's all to do with NUMA or their CCD architecture etc (well these days Intel and everyone also does it to some extent).

      • toast0 41 minutes ago

        Hundreds of cores is likely two sockets and so you've got NUMA there.

        Scaling to large core counts has a lot of gotchas.