Как топология vCPU (сокеты/ядра/потоки) влияет на производительность вычислений виртуальной машины?

Как топология vCPU (сокеты/ядра/потоки) влияет на производительность вычислений виртуальной машины?

У меня есть хост Ubuntu с процессором AMD Matisse (12C 24T). При запуске виртуальных машин с использованием libvirt (QEMU+KVM) есть возможность задать топологию CPU.

Почти все потребительские ПК имеют односокетный ЦП с несколькими ядрами и до 2 потоков на ядро ​​(HT), поэтому я склонен установить похожую топологию для VM. Интересно, влияет ли эта настройка сама по себе (предположим, что общее количество потоков ЦП остается постоянным) на производительность VM или использование ЦП хоста, например, в отношении планирования.

решение1

Это, скорее всего, повлияет на планировщик гостевой ОС, поскольку в системе NUMA multisocket есть отдельные кэши в каждом процессоре, а время доступа к ОЗУ отличается в зависимости от того, к чему подключена доступная ОЗУ. Любая правильная ОС будет учитывать это (или просто перестанет работать, как это делают потребительские Windows).

Я не вижу причин, по которым сообщаемая конфигурация должна отличаться от фактического выделенного оборудования, кроме как для тестирования гостевой ОС, обманывая ее, заставляя думать, что она работает на какой-то экзотической системе. С точки зрения производительности это не должно иметь никакого или отрицательного эффекта.

Связанный контент