단일 시스템 환경에서 NUMA 토폴로지(2개의 NUMA 노드도 괜찮음)를 생성할 수 있는지 알고 싶습니다(저는 virtualbox ubuntu 18.04를 사용하고 있습니다).
실행하면 $numactl -H
다음이 표시됩니다.
available: 1 nodes (0)
node 0 cpus: 0 1 2 3
node 0 size: 1992 MB
node 0 free: 477 MB
node distances:
node 0
0: 10
4개의 코어가 있는 시스템에서 두 개의 NUMA 노드(분산 환경 시뮬레이션용)를 만드는 것이 실제로 가능한지 궁금합니다. 아니면 그렇게 하려면 4개 이상의 코어가 필요합니까?
답변1
가상화에서는 모든 VM에 할당할 수 있는 총 코어 수가 거의 무한합니다. 그러나 각 개별 VM에 할당할 수 있는 코어 수는 호스트의 총 논리 코어 수를 초과할 수 없습니다.
간단히 말해서, 예, 호스트가 처리할 수 있는 만큼 NUMA 코어를 생성할 수 있습니다.
하이퍼바이저는 스케줄러를 사용하여 각 VM의 CPU 명령을 호스트의 CPU에 대기열에 넣습니다. 설정한 VM이 많을수록 하이퍼바이저의 스케줄러를 통해 호스트 CPU로 향하는 대기열이 길어지고 속도가 느려지지만 실패하지는 않는다는 의미입니다. CPU와 최신 시스템 아키텍처는 대기열을 처리하도록 설계되었으며 이것이 실제로 가상화가 유용하고 강력한 이유 중 하나입니다. 가상화는 호스트의 대기열을 더 많은 시간 동안 더 가득 채우고 호스트의 리소스를 더 효율적으로 사용합니다.