Wie wirkt sich die vCPU-Topologie (Sockets/Kerne/Threads) auf die Rechenleistung einer VM aus?

Wie wirkt sich die vCPU-Topologie (Sockets/Kerne/Threads) auf die Rechenleistung einer VM aus?

Ich habe einen Ubuntu-Host mit einem AMD Matisse-Prozessor (12C 24T). Beim Starten virtueller Maschinen mit libvirt (QEMU+KVM) besteht die Möglichkeit, die CPU-Topologie festzulegen.

Fast alle Consumer-PCs verfügen über Single-Socket-CPUs mit mehreren Kernen und bis zu 2 Threads pro Kern (HT), daher bin ich versucht, eine ähnliche Topologie für die VM festzulegen. Ich frage mich, ob diese Einstellung allein (unter der Annahme, dass die Gesamtzahl der CPU-Threads konstant bleibt) die VM-Leistung oder die Host-CPU-Auslastung beeinflusst, beispielsweise im Hinblick auf die Planung.

Antwort1

Das wird höchstwahrscheinlich den Scheduler des Gastbetriebssystems beeinflussen, da es in NUMA-Multisocket-Systemen in jeder CPU separate Caches gibt und die RAM-Zugriffszeiten unterschiedlich sind, je nachdem, wo der aufgerufene RAM angeschlossen ist. Jedes richtige Betriebssystem wird das berücksichtigen (oder einfach aufhören zu funktionieren, wie es bei Consumer-Windows der Fall ist).

Ich sehe keinen Grund, die gemeldete Konfiguration von der tatsächlich zugewiesenen Hardware abzuweichen, außer um das Gastbetriebssystem zu testen, indem man es glauben lässt, es liefe auf einem exotischen System. In Bezug auf die Leistung sollte dies keine oder nur negative Auswirkungen haben.

verwandte Informationen