Linux에서 NUMA를 사용할 때 "문제"가 있습니까?

Linux에서 NUMA를 사용할 때 "문제"가 있습니까?

2소켓 CPU를 갖춘 새로운 시스템이 있습니다. NUMA 시스템을 사용할 때 프로세서 0의 애플리케이션이 프로세서 1에 연결된 메모리에 액세스하려고 하면 병목 현상이 발생할 수 있다고 들었습니다. Linux 커널은 NUMA 시스템에서 실행되는 소프트웨어를 어떻게 처리합니까?

  • 가능하다면 커널이 (자동으로) 모든 애플리케이션 스레드와 메모리를 하나의 CPU에 배치하는 우선순위를 정할까요?
  • 애플리케이션이 CPU를 많이 사용하고 하나의 CPU에서 사용할 수 있는 코어 수보다 더 많은 스레드를 생성하는 경우 어떻게 됩니까?
  • 가상 머신은 어떻습니까?
    • 단일 CPU가 액세스할 수 있는 것보다 적은 리소스를 사용하는 KVM 가상 머신을 생성하는 경우(코어와 메모리가 모두 사용 가능한 리소스보다 작은 경우) 기본적으로 최적으로 작동합니까, 아니면 수동으로 가상 머신 선호도를 설정해야 합니까? 또는 뭔가?
    • 여러 CPU 리소스를 사용하는 VM을 원하지만 NUMA를 에뮬레이션하는 경우 어떻게 해야 합니까? 예상대로 작동합니까?
  • bog 표준 Ubuntu 또는 centos가 설치되어 있는 경우 NUMA를 지원하려면 어떻게 해야 합니까?

이 질문은 꽤 일반적인 질문인 것 같지만 NUMA의 작동 방식에 대해 잘 모르고 이에 대한 문서도 거의 찾지 못했습니다.

관련 정보