Jump to content

vCPU und Hyperthreading


Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Empfohlene Beiträge

Ist das so? für mich sind 4 vCPUs 4 Threads. Und damit ist doch im Endeffekt egal, was darunter die Hardware macht. Sie arbeitet entweder mit 2x2 Threads (2 Cores mit 2 Threads) oder mit 4x1 (4 Cores mit je einem Thread). Oder versteilt ein Hyper-Visor 4 vCPUs nach unten dann auf 8 Physische Cores? Wenn ich das total falsch verstehe, dann erklärts mir bitte genauer. :)

Link zu diesem Kommentar

Hallo Magheinz,

 

Bei VM kannst du das pro Host einstellen. Aber macht das Sinn in einem Aktiv-Aktiv-Cluster bei einem Host zu aktivieren und bei einem anderen nicht?

M.E. macht das keinen Sinn. Entweder oder ....

 

VG.


Hallo Norbert,

 

Keine Ahnung, ob ich das so richtig sehe. Vielleicht stelle ich bei MS mal eine Anfrage.

Aber da kommt ja meist auch nichts verbindliches zurück.

 

Zumindest ist das meine Erfahrung. Und wenn ich den Technologieberater frage ist das auch nicht verbindlich.

 

Es ist schon zum verrückt werden.

 

Grüße

David

Link zu diesem Kommentar

Hi,

ich verstehe das so:
1 vOSE wird nur 2 vCOREs zugewiesen, Minimum Lizenzierung ist ja sowieso 4 CORE-Lizenzen = 2x 2-CORE-Lizenz-Pack

Da ist also keine Mehr-Lizenzierung bei HT=ON zu beachten, da ja 4 Lizenzen sowieso lizenziert werden müssen.

 

Aber schon (mathematisch) bei 3 zugewiesenen vCOREs benötige ich bei HT=ON 3x 2-CORE-Lizenz-Pack = 6 CORE-Lizenzen

... bei 4 vCOREs benötige ich demnach bei HT=ON 4x 2-CORE-Lizenz-Pack = 8 CORE-Lizenzen

... bei 4 vCOREs benötige ich demnach bei HT=OFF aber nur 2x 2-CORE-Lizenz-Pack = 4 CORE-Lizenzen

 

VG, Franz

Link zu diesem Kommentar

Hi,

ich verstehe das so:

1 vOSE wird nur 2 vCOREs zugewiesen, Minimum Lizenzierung ist ja sowieso 4 CORE-Lizenzen = 2x 2-CORE-Lizenz-Pack

Da ist also keine Mehr-Lizenzierung bei HT=ON zu beachten, da ja 4 Lizenzen sowieso lizenziert werden müssen.

OK.

 

Aber schon (mathematisch) bei 3 zugewiesenen vCOREs benötige ich bei HT=ON 3x 2-CORE-Lizenz-Pack = 6 CORE-Lizenzen

Aber nur, wenn die HT Threads von anderen als den sowieso physisch zugewiesenen Cores kommt. Ist im Endeffekt irgendwie sehr "schwammig", denn es werden ja maximal 4 Threads angesprochen. Und ich ging bis jetzt davon aus, dass mir dann irgendwie nicht eine Mischung von 1 phyischen Core und 3 HT Threads von 3 anderen physischen Cores in einer VM zugewiesen werden können. Aber ich bin da kein Spezialist.

 

... bei 4 vCOREs benötige ich demnach bei HT=ON 4x 2-CORE-Lizenz-Pack = 8 CORE-Lizenzen

Dafür hätte ich gern mal einen Beleg, wieso das in einer Virtualisierung so sein soll.

 

... bei 4 vCOREs benötige ich demnach bei HT=OFF aber nur 2x 2-CORE-Lizenz-Pack = 4 CORE-Lizenzen

Das ist ja auch klar. ;)

 

Bye

Norbert

bearbeitet von NorbertFe
Link zu diesem Kommentar

Hallo Magheinz,

 

Bei VM kannst du das pro Host einstellen. Aber macht das Sinn in einem Aktiv-Aktiv-Cluster bei einem Host zu aktivieren und bei einem anderen nicht?

M.E. macht das keinen Sinn. Entweder oder ....

Wenn jeder Clusternode das kann amcht es Sinn. Theoretisch ist es aber doch möglich das einzelne Hosts HT können, aber eben nicht alle.

Das hat ja auch mit VMWare nix zu tun, das ist ja eine Frage der Hosthardware.

 

Ich denke die Frage ist was "zugewiesen" bedeutet.

Meinem Verständnis nach trifft das nur auf core-Reservierungen zu, also wenn ich einer VM einen core exklusiv zuweise. Dann weise ich demnach auch die Threads zu. Ansonsten weise ich vcores zu, wie die in Hardware abgebildet werden kann auf jedem Host anders sein und ist nicht exklusiv!

Ist denn überhaupt sichergestellt das die threads eines cores auch bei einer VM landen oder kann es sein das ein vcore den thread eines cores nutzt und ein anderer vcore einen thread einer anderen CPU nutzt?

Link zu diesem Kommentar

HI,

 

Produktbestimmungen, Juni-2016, Seite-11: > Serverlizenzen (pro Core) – Lizenzierung nach Einzelner Virtueller OSE

1. Der Kunde ist berechtigt, eine beliebige Anzahl von Ausgeführten Instanzen der Serversoftware in jeder Virtuellen OSE auf dem Lizenzierten Server zu nutzen,
    sofern er eine ausreichende Anzahl von Lizenzen erwirbt (siehe unten).

2. Die Anzahl der erforderlichen Lizenzen entspricht der Anzahl von Virtuellen Cores in der Virtuellen OSE, unter Berücksichtigung einer Mindestanforderung von
    vier Lizenzen pro Virtueller OSE.

3. Wenn einer dieser Virtuellen Cores irgendwann mehreren Hardware-Threads zugewiesen ist,
    benötigt der Kunde eine Lizenz für jeden zusätzlichen Hardware-Thread, dem er zugewiesen ist.

 

Glossar
Seite-76:
Hardware-Thread ist entweder ein Physischer Core oder ein Hyperthread in einem Physischen Prozessor.
Seite-77:
Virtueller Core ist die Einheit der Verarbeitungsleistung in einem virtuellen Hardwaresystem.
Ein Virtueller Core ist die virtuelle Darstellung von einem oder mehreren Hardware-Threads.

 

Diese Erläuterung hat mich etwas schlauer gemacht > https://de.wikipedia.org/wiki/Hyper-Threading
u.U. bringt das Hyper-Threading nicht wirklich sooo viel, wie gedacht.

 

Zurück zum Punkt 3.: zuweisen = lizenzieren
Wenn man 1 vOSE definiert u. nutzt,
ist man ja mit mindestens 4x CORE-Lizenzen dabei = 2x2-CORE-Lizenz-Packs.
Dieses deckt lizenzrechtlich somit eine Nutzung von 1-4 vCOREs sauber ab, wenn „HT=OFF“ ist.
Dieses deckt lizenzrechtlich somit eine Nutzung von 1-2 vCOREs sauber ab, wenn „HT=ON“ ist.

Laienfrage: 
Kann man bei Hyper-Threading ein und demselben vCORE auch mehr als 1 Threads zuweisen?
Wenn nicht, okay. Wenn doch, dann muss jeder dieser Threads zusätzlich lizenziert werden …
Vielleicht ein unwissendes Gedanken-Beispiel:
1 vOSE mit nur 1 vCORE aber mit 6 zugewiesenen Threads … würde bedeuten, dass man 6x Threads
und somit 6x CORE-Lizenz bräuchte = 3x2-CORE-Lizenz-Packs … wie gesagt, falls so was technisch möglich wäre

… Somit würde man gar nicht mehr die vCOREs, sondern die Hardware-Threads lizenzrechtlich betrachten müssen …

oder habe ich das nicht wirklich verstanden?

 

VG, Franz

Link zu diesem Kommentar

Oha, also meine Idee ist der Normalzustand bei vmware

 

Hyper-Threading und ESXi -Hosts
ESXi-Hosts verwalten die Prozessorzeit intelligent, um sicherzustellen, dass die Last gleichmäßig über alle
physischen Kerne des Systems verteilt wird. Logische Prozessoren auf demselben Kern verfügen über fort-
laufende CPU-Nummern, d. h. die CPUs 0 und 1 befinden sich zusammen auf dem ersten Kern, die CPUs 2
und 3 auf dem zweiten Kern usw. Virtuelle Maschinen werden vorzugsweise statt für zwei logische Pro-
zessoren auf demselben Kern für zwei unterschiedliche Kernen eingeplant.
 

 

Zum thema "Zuweisen von threads"

 

Verwendung von CPU-Affinität
Durch das Festlegen einer CPU-Affinität für jede virtuelle Maschine können Sie in Systemen mit mehreren
Prozessoren die Zuweisung virtueller Maschinen auf bestimmte verfügbare Prozessoren einschränken. Mit-
hilfe dieser Funktion können Sie den Prozessoren gemäß der festgelegten Affinitätseinstellung einzelne vir-
tuelle Maschinen zuweisen.

...

 

In diesem Kontext bezeichnet der Begriff „CPU“ in einem System mit Hyper-Threading einen logischen Pro-
zessor und in einem System ohne Hyper-Threading einen Kern.
 

 

Das muss keine exklusive Zuweisung sein!

Alles Zitate sind aus folgendem Dokument:

https://www. vmware.com/files/pdf/techpaper/VMware-vSphere-CPU-Sched-Perf.pdf

 

Damit ist auch die Frage nach der Zuweisung mehrere Threads an einen vcore beantwortet: Es geht nicht.

 

Ich denke die spannende Frage bleibt vor allem die nach dem "zuweisen".

bearbeitet von magheinz
Link zu diesem Kommentar

Die Frage ist was hier "zuweisen" bedeutet.

Ein Host hat 12 threads.

1. Wenn ich jetzt einer VM sage sie hat 2vcpus, dann sind das 2 Threads aus eventuell zwei cores. Es könenn aber auch zwei Threads aus einem core sein. Das kann sich acuh noch ständig ändern.(vmotion, HA, FT, DRS etc)

2. Ich kann aber auch sagen: die VM nutzt explizit die Threads cpu0 und cpu9. Das sind dann zwei Threads aus zwei unterschiedlichen cores. Ich kann aber auch sagen die VM nutzt cpu0 und cpu1. Das wären dann zwei Threads aus einem gemeinsamen core.

 

Für mich ist 2. eine Zuweisung.

 

Was dokuemtiere ich denn da und was lizensiere ich?

Link zu diesem Kommentar

Hi,

 

bitte berichtigt mich, wenn ich als "techn. Laie" das jetzt falsch darstelle!

 

Am Ende des Tages, siehe Punkt 3., will MS doch jeden Hardware-Thread lizenzieren, der in der einzelnen vOSE aktiv (ergo zugewiesen) wird,

unter Berücksichtigung, dass mindestens 4 Hardware-Thread sowieso lizenziert werden müssen.

Woher diese kommen, bzw. wie sie generiert werden, ist z.Zt. MS egal.

Und beim Audit will der Prüfer dazu eine schriftliche Dokumentation gerne darüber sehen ....

 

VG, Franz

Link zu diesem Kommentar

hi,

da gilt dann Punkt 3) wieder:
Wenn einer dieser Virtuellen Cores irgendwann mehreren Hardware-Threads zugewiesen ist,
benötigt der Kunde eine Lizenz für jeden zusätzlichen Hardware-Thread, dem er zugewiesen ist.

Da es ja nur 2er-Packs zu kaufen gibt ...
für 1 vOSE mind. ja 2x2 Packs = 4 Lizenzen
und für jeden Thread, der hinzukommt 1 Lizenz zusätzlich ...

 

VG, Franz

Link zu diesem Kommentar
Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Schreibe einen Kommentar

Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung jetzt entfernen

  Only 75 emoji are allowed.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor-Fenster leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

×
×
  • Neu erstellen...