%20%D0%B2%D0%BB%D0%B8%D1%8F%D0%B5%D1%82%20%D0%BD%D0%B0%20%D0%BF%D1%80%D0%BE%D0%B8%D0%B7%D0%B2%D0%BE%D0%B4%D0%B8%D1%82%D0%B5%D0%BB%D1%8C%D0%BD%D0%BE%D1%81%D1%82%D1%8C%20%D0%B2%D1%8B%D1%87%D0%B8%D1%81%D0%BB%D0%B5%D0%BD%D0%B8%D0%B9%20%D0%B2%D0%B8%D1%80%D1%82%D1%83%D0%B0%D0%BB%D1%8C%D0%BD%D0%BE%D0%B9%20%D0%BC%D0%B0%D1%88%D0%B8%D0%BD%D1%8B%3F.png)
У меня есть хост Ubuntu с процессором AMD Matisse (12C 24T). При запуске виртуальных машин с использованием libvirt (QEMU+KVM) есть возможность задать топологию CPU.
Почти все потребительские ПК имеют односокетный ЦП с несколькими ядрами и до 2 потоков на ядро (HT), поэтому я склонен установить похожую топологию для VM. Интересно, влияет ли эта настройка сама по себе (предположим, что общее количество потоков ЦП остается постоянным) на производительность VM или использование ЦП хоста, например, в отношении планирования.
решение1
Это, скорее всего, повлияет на планировщик гостевой ОС, поскольку в системе NUMA multisocket есть отдельные кэши в каждом процессоре, а время доступа к ОЗУ отличается в зависимости от того, к чему подключена доступная ОЗУ. Любая правильная ОС будет учитывать это (или просто перестанет работать, как это делают потребительские Windows).
Я не вижу причин, по которым сообщаемая конфигурация должна отличаться от фактического выделенного оборудования, кроме как для тестирования гостевой ОС, обманывая ее, заставляя думать, что она работает на какой-то экзотической системе. С точки зрения производительности это не должно иметь никакого или отрицательного эффекта.