Der VM2000-Administrator kann die Verteilung der CPU-Leistung auf die VMs und VM-Gruppen detailliert planen und im laufenden Betrieb verändern.
Parameter für die Verteilung der CPU-Leistung
Unter VM2000 gibt es zwei Parameter, mit denen der VM2000-Administrator die langfristige Verteilung der zur Verfügung stehenden CPU-Leistung auf die VMs planen und beeinflussen kann:
die CPU-Quote
Die CPU-Quote ist eine Vorgabe des VM2000-Administrators für den CPU-Anteil einer VM-Gruppe oder einer VM, die keiner VM-Gruppe angehört, an der CPU-Leistung des CPU-Pools im Vergleich zu den übrigen VMs, die dem gleichen CPU-Pool direkt oder als Mitglied einer VM-Gruppe zugeordnet sind.
Für VMs, die keiner VM-Gruppe angehören, wird die CPU-Quote im Operanden
CPU-QUOTA
beim Initialisieren der VM oder bei/MODIFY-VM-ATTRIBUTES
angegeben.Für VM-Gruppen (SU /390) wird die CPU-Quote im Operanden
CPU-QUOTA
von/CREATE-VM-GROUP
bzw./MODIFY-VM-GROUP-ATTRIBUTES
angegeben.Für VMs, die Mitglied einer VM-Gruppe sind, bestimmt die Mitglieds-CPU-Quote den Anteil der VM am CPU-Anteil der VM-Gruppe. Die Mitglieds-CPU-Quote wird im Operanden
MEMBER-CPU-QUOTA
beim Initialisieren der VM oder bei/MODIFY-VM-ATTRIBUTES
angegeben.Zur besseren Vergleichbarkeit wird aus den eingestellten CPU-Quoten unter Berücksichtigung idealisierter Bedingungen ein normierter CPU-Anteil der VM an der CPU-Leistung der Server Unit errechnet, der so genannte effektive CPU-Anteil der VM (EFF-Q), siehe „Berechnung des effektiven CPU-Anteils einer VM".
Zur Definition der CPU-Leistung einer Server Unit siehe "CPU-Leistung und CPU-Anteil einer VM".
Der effektive CPU-Anteil einer VM wird in den Informationskommandos von VM2000 neben der per Kommando eingestellten CPU-Quote in der Spalte
CPU-Q / EFF-Q
dargestellt.die maximale CPU-Leistungsaufnahme
Die maximale CPU-Leistungsaufnahme begrenzt den CPU-Anteil einer VM oder VM-Gruppe. Sie wird als Prozentwert der für den VM2000-Betrieb zur Verfügung stehenden CPU-Leistung (Anzahl verfügbarer realer Normal-CPUs) angegeben, der maximal für die VM-Gruppe oder VM gewährt wird.
Die maximale CPU-Leistungsaufnahme begrenzt damit die CPU-Leistungsaufnahme einer VM oder VM-Gruppe, die sonst unerwünscht viel CPU-Zeit aufnehmen würde.Für VMs wird die maximale CPU-Leistungsaufnahme der VM im Operanden
MAX-CPU-UTILIZATION
beim Initialisieren der VM oder bei/MODIFY-VM-
ATTRIBUTES
angegeben.Für VM-Gruppen wird die maximale CPU-Leistungsaufnahme im Operanden
MAX-CPU-UTILIZATION
von/CREATE-VM-GROUP
bzw./MODIFY-VM-GROUP-ATTRIBUTES
angegeben.Aus der eingestellten maximalen CPU-Leistungsaufnahme wird unter Berücksichtigung idealisierter Bedingungen ein normierter Wert errechnet, die so genannte effektive maximale CPU-Leistungsaufnahme der VM (EFF-U), siehe „Berechnung des effektiven CPU-Anteils einer VM".
Die effektive maximale CPU-Leistungsaufnahme einer VM wird in den Informationskommandos von VM2000 neben der per Kommando eingestellten maximalen CPU-Leistungsaufnahme in der Spalte
CPU-U / EFF-U
dargestellt.
Randbedingungen für die Planung
Für die Berechnungen zum effektiven CPU-Anteil und zur effektiven maximalen Leistungsaufnahme der VM werden idealisierte Bedingungen angenommen:
alle realen Normal-CPUs sind zugeschaltet (Extra- und Spare-CPUs werden nicht betrachtet)
alle virtuellen Maschinen laufen auf allen virtuellen CPUs unter Hochlast, d.h. sie nutzen ihre CPU-Zeitscheiben vollständig aus
Leistungsverluste durch Scheduling werden nicht betrachtet
Im laufenden VM2000-Betrieb zeigen /SHOW-VM-ATTRIBUTES/-RESOURCES
die Planwerte unter den idealisierten Bedingungen.
Im laufenden VM2000-Betrieb zeigt /SHOW-VM-STATUS
die Planwerte unter den aktuellen Bedingungen und die dazu gehörenden Messergebnisse, s. "Ausgabe der aktuellen Plan- und Messwerte für den CPU-Anteil der VMs".
Gestaltung der Parameter für die Verteilung der CPU-Leistung
Für die Gestaltung der beiden die CPU-Anteile einer VM bestimmenden Parameter CPU-Quote und maximale CPU-Leistungsaufnahme hat der VM2000-Administrator folgende Möglichkeiten:
Planung des CPU-Anteils der VMs über die CPU-Quote bei unbegrenzter CPU-Leistungsaufnahme der VMs und der VM-Gruppen (MAX-CPU-UTILIZATION = 100).
Diese Einstellung zielt auf eine optimale Auslastung der Server Unit ab. Bei Hochlastbetrieb in allen VMs bestimmt sich der effektive CPU-Anteil einer VM aus den Formeln des Abschnitts „Berechnung des effektiven CPU-Anteils einer VM". Bei Betrieb mit geringer Auslastung kann eine VM mit niedrigem effektiven CPU-Anteil trotzdem eine hohe CPU-Leistung aufnehmen.Beispiel (ohne VM-Gruppen)
VM
(Mono-SU)CPU-QUOTA
MAX-CPU-
UTILIZATIONeffektiver CPU-
Anteil der VM1
1
10
100
20 %
2
15
100
30 %
3
25
100
50 %
1 Bei Hochlast wäre hier die CPU stets vergebenPlanung des CPU-Anteils aller VMs über die maximale CPU-Leistungsaufnahme der VMs und der VM-Gruppen (MAX-CPU-UTILIZATION < 100).
Wird die maximale CPU-Leistungsaufnahme der VMs so gewählt, dass ihre Summe kleiner oder gleich 100 (abzüglich der Leistungsaufnahme durch den VM2000-Hypervisor bei SU /390) ist, dann entspricht die maximale CPU-Leistungsaufnahme einer VM im Hochlastbetrieb auch ihrem CPU-Anteil (in Prozent). Die Auslastung der Server Unit richtet sich nach der Summe der maximalen CPU-Leistungsaufnahme der VMs und den Lastprofilen der VMs. Die CPU-Quote ist in diesem Fall nur für die Priorisierung maßgebend, nicht jedoch für die mögliche CPU-Leistungsaufnahme.Beispiel (ohne VM-Gruppen)
VM
(Mono-SU)CPU-QUOTA
MAX-CPU-
UTILIZATIONeffektiver CPU-
Anteil der VM 1
1
10
20
20 %
2
15
25
25 %
3
25
40
40 %
1 Auch bei Hochlast wäre hier die CPU nicht immer vergebenPlanung des CPU-Anteils ausgewählter VMs über die maximale CPU-Leistungsaufnahme (MAX-CPU-UTILIZATION <= 100).
In diesem Fall begrenzt die maximale CPU-Leistungsaufnahme diejenigen VMs, die unbeabsichtigt viel CPU-Leistung aufnehmen. Trotzdem bleibt im Hochlastbetrieb die Server Unit optimal ausgelastet. Damit eine begrenzte VM ihre geplante CPU-Leistung auch aufnehmen kann, müssen die CPU-Quoten der VMs so gewählt werden, dass der erwartete CPU-Anteil der VM ihrer maximalen CPU-Leistungsaufnahme entspricht.Beispiel (ohne VM-Gruppen)
VM
(Mono-SU)CPU-QUOTA
MAX-CPU-
UTILIZATIONeffektiver CPU-
Anteil der VM 1
1
10
100
30 %
2
15
100
45 %
3
25
25
25 %
1 Bei Hochlast wäre hier die CPU stets vergeben
Beispiel (mit einer VM-Gruppe, SU /390)VM
(Mono-SU)CPU-QUOTA
MAX-CPU-
UTILIZATIONeffektiver CPU-
Anteil der VM 11
10
100
30 %
2
15
100
45 %
VM-Gruppe
GROUP1
3
425
MEMBER-CPU-QUOTA
80
2025
25
25(25 %) 2
20 %
5 %1 Bei Hochlast wäre hier die CPU stets vergeben
2 verteilt auf die beiden VMs der VM-Gruppe
Empfehlung
Die CPU-Anteile der VMs und VM-Gruppen sollten über die CPU-Quote geregelt werden, um eine optimale Auslastung im Hochlastbetrieb zu erreichen.
VMs mit unerwünscht hoher CPU-Leistungsaufnahme (oder bei einer Vereinbarung über die Leistungsbegrenzung bei der CPU-Zeit) können durch die maximale CPU-Leistungsaufnahme begrenzt werden. Messungen haben ergeben, dass das Verhältnis „Auslastung des Gastsystems / MAX-CPU-UTILIZATION
“ unter 0,75 liegen sollte, da sich sonst das Antwortzeitverhalten des betroffenen Gastsystems deutlich verschlechtert.
Data Center, die einer VM eine bestimmte CPU-Leistung (ausgedrückt in RPF) zur Verfügung stellen, müssen beachten, dass sich die nominelle Leistung der Server Unit durch den Einsatz von VM2000 in Abhängigkeit von Zahl und Multiprozessorgrad der VMs reduziert. MAX-CPU-UTILIZATION=20
ist damit weniger als 20% der Leistung der Server Unit!
MAX-CPU-UTILIZATION
< 1) sollte ebenfalls entsprechend klein gewählt werden (MONO
oder höchstens BI
(auf Server Units ohne Spare-CPU)), damit ein reibungsloser Ablauf des Gastsystems gewährleistet ist.CPU-Leistung und CPU-Anteil einer VM
Neben den Parametern CPU-Quote und maximale CPU-Leistungsaufnahme hängt der CPU-Anteil einer VM von der CPU-Leistung der Server Unit bzw. der CPU-Leistung des CPU-Pools ab, dem die VM zugeordnet ist.
Die CPU-Leistung einer Server Unit ist die CPU-Leistung der realen Normal-CPUs, die für den VM2000-Betrieb zur Verfügung stehen (siehe "Reale CPUs (Verarbeitungsprozessoren)"), unabhängig davon, ob sie zu- oder weggeschaltet sind. Sie wird ausgedrückt durch die Anzahl der CPUs.
Die CPU-Leistung eines CPU-Pools ist definiert als der Anteil der realen Normal-CPUs des CPU-Pools (unabhängig davon, ob sie zu- oder weggeschaltet sind) an der CPU-Leistung der Server Unit nach der Formel
|
Beispiel
Ein CPU-Pool mit zwei realen Normal-CPUs auf einer Server Unit mit 4 CPUs hat eine CPU-Leistung von 50% der CPU-Leistung der Server Unit.
Eine virtuelle Maschine erhält einen (theoretischen) Anteil an der CPU-Leistung des CPU-Pools, dem die VM zugeordnet ist.
Für die Planung wird aus der CPU-Leistung des CPU-Pools (und den eingestellten Parametern, siehe "Parameter für die Verteilung der CPU-Leistung") der CPU-Anteil einer VM an der CPU-Leistung der Server Unit errechnet, siehe „Berechnung des effektiven CPU-Anteils einer VM".
Berechnung des effektiven CPU-Anteils einer VM
Unter den genannten idealisierten Bedingungen (siehe "Randbedingungen für die Planung") werden aus den vom VM2000-Administrator eingestellten Werten für die CPU-Quote und die maximale Leistungsaufnahme theoretische Werte für die Verteilung der vorhandenen CPU-Leistung auf die virtuellen Maschinen berechnet.
Fall 1: ohne Betrachtung von VM-Gruppen
Der effektive CPU-Anteil der VM (EFF-Q) berechnet sich aus der Formel:
|
Beispiel für einen CPU-Pool mit 2 Normal-CPUs bei 4 verfügbaren Normal-CPUs
VM1 (BI) | VM2 (BI) | VM3 (MONO) | |
---|---|---|---|
| 90,00 | 50,00 | 10,00 |
effektiver CPU-Anteil der VM ( | 30,00 % | 16,67 % | 3,33 % |
Der effektive CPU-Anteil einer VM wird ggf. begrenzt durch die Nebenbedingungen:
|
|
|
Die effektive maximale CPU-Leistungsaufnahme der VM (EFF-U) ist der Minimalwert dieser Nebenbedingungen und begrenzt den effektiven CPU-Anteil der VM:
|
Wenn der effektive CPU-Anteil einer oder mehrerer VMs (nach Formel (F1)) durch die effektive maximale CPU-Leistungsaufnahme der VM begrenzt wird, wird der verbleibende CPU-Anteil auf die nicht begrenzten VMs gemäß ihrer CPU-Quote verteilt:
|
Beispiel für einen CPU-Pool mit 2 Normal-CPUs bei 4 verfügbaren Normal-CPUs mit begrenzten VMs
VM1 (BI) | VM2 (BI) | VM3 (MONO) | |
---|---|---|---|
| 10,00 | 50,00 | 90,00 |
| 3,33 % | 16,67 % | 30,00 % |
| 100,00 | 15,00 | 60,00 |
effektive maximale | 50,00 % | 15,00 % | 25,00 % |
effektiver CPU-Anteil der VM | 10,00 % | 15,00 % | 25,00 % |
Die Berechnung des CPU-Anteils erfolgt im VM2000-Hypervisor. Im Beispiel wurde der VM3 der maximal mögliche CPU-Anteil gegeben, der Rest der CPU-Leistung des CPU-Pools verbleibt für VM1 und VM2.
(In der Praxis würde obiges Beispiel bedeuten, dass VM3 die CPU-Leistung einer der beiden im CPU-Pool verfügbaren CPUs erhalten soll (50% der CPU-Leistung des Pools = 25% der CPU-Leistung der Server Unit = eine CPU), während sich VM1 und VM2 mit ihren jeweils zwei virtuellen CPUs die CPU-Leistung der anderen CPU des CPU-Pools teilen.)
Fall 2: mit Betrachtung einer VM-Gruppe (SU /390)
Der effektive CPU-Anteil der VM (EFF-Q) berechnet sich aus den Formeln:
|
|
Beispiel für einen CPU-Pool mit 2 Normal-CPUs auf einer Server Unit mit 4 CPUs
VM-Gruppe | |||
VMs | VM1 (BI) | VM2 (BI) | VM3 (MONO) |
---|---|---|---|
| 90,00 | 60,00 | |
| - | 50,00 | 10,00 |
effektiver CPU-Anteil der VM ( | 30,00 % | 16,67 % 2 | 3,33 % 2 |
1 unter der Annahme, dass die maximale Leistungsaufnahme der VMs nicht begrenzt ist
2 unter Vernachlässigung eines „Lastausgleichs innerhalb der VM-Gruppe“, siehe "CPU-Zuteilung im Zeitscheibenverfahren (SU /390)"
Der effektive CPU-Anteil einer VM wird ggf. begrenzt durch die Nebenbedingungen:
|
|
|
|
Die effektive maximale CPU-Leistungsaufnahme der VM (EFF-U) ist der Minimalwert dieser Nebenbedingungen und begrenzt den effektiven CPU-Anteil der VM:
|
Wenn der effektive CPU-Anteil einer oder mehrerer VMs (nach Formeln (F1a) und (F1b)) durch die effektive maximale CPU-Leistungsaufnahme der VM begrenzt wird, wird der verbleibende CPU-Anteil auf die nicht begrenzten VMs gemäß ihrer CPU-Quote verteilt:
|
wobei SUM(LIM) = Summe der effektiven CPU-Anteile der VMs des CPU-Pools, deren effektiver CPU-Anteil durch (N1) oder (N3) begrenzt ist.
Beispiel für einen CPU-Pool mit 2 Normal-CPUs auf einer Server Unit mit begrenzten VMs
VM-Gruppe | |||
VMs | VM1 (BI) | VM2 (BI) | VM3 (MONO) |
---|---|---|---|
| 10,00 | 90,00 | |
| - | 50,00 | 90,00 |
effektiver CPU-Anteil der VM ( | 5,00 % | 16,07 % | 28,93 % |
| - | 50,00 | |
| 100,00 | 15,00 | 60,00 |
effektive maximale | 50,00 % | 15,00 % | 25,00 % |
effektiver CPU-Anteil der VM | 10,00 % | 15,00 % | 25,00 % |
Die Berechnung des CPU-Anteils erfolgt im VM2000-Hypervisor. Im Beispiel wurde der VM3 der maximal mögliche CPU-Anteil gegeben, der Rest der CPU-Leistung des CPU-Pools verbleibt für VM1 und VM2.
(In der Praxis würde obiges Beispiel bedeuten, dass VM3 die CPU-Leistung einer der beiden im CPU-Pool verfügbaren CPUs erhalten soll (50% der CPU-Leistung des Pools = 25% der CPU-Leistung der Server Unit = eine CPU), während sich VM1 und VM2 mit ihren jeweils zwei virtuellen CPUs die CPU-Leistung der anderen CPU des CPU-Pools teilen.)
Änderungen am effektiven CPU-Anteil einer VM
Der VM2000-Administrator kann den effektiven CPU-Anteil einer VM durch Ändern der CPU-Quote und der maximalen CPU-Leistungsaufnahme explizit steuern, siehe "Parameter für die Verteilung der CPU-Leistung". Die entsprechenden Werte werden bei /SHOW-VM-RESOURCES INFORMATION=*CPU
ausgegeben, siehe "SHOW-VM-RESOURCES (Status der Betriebsmittel von VM2000 ausgeben)".
Der effektive CPU-Anteil der VM ändert sich im laufenden Betrieb implizit bei folgenden Änderungen:
die CPU-Quote einer anderen VM oder VM-Gruppe, die dem gleichen CPU-Pool zugeordnet ist, ändert sich
die maximale Leistungsaufnahme der VM oder der VM-Gruppe ändert sich, sodass der effektive CPU-Anteil der VM betroffen ist
die Anzahl der Normal-CPUs, die dem gleichen CPU-Pool zugeordnet sind, ändert sich (unabhängig von deren Rekonfigurationszustand)
die VM wird einem anderen CPU-Pool zugeordnet
die VM wird migriert
die Anzahl der VMs, die dem gleichen CPU-Pool zugeordnet sind, ändert sich
die Anzahl der VMs, die der gleichen VM-Gruppe zugeordnet sind, ändert sich
die CPU-Quote der VM-Gruppe, der die VM zugeordnet ist, ändert sich
Bei der Rekonfiguration virtueller CPUs im Gastsystem ändert sich der effektive CPU-Anteil einer VM nicht.
Bei der Rekonfiguration realer CPUs ändert sich die Anzahl der aktiven CPUs in VM2000, nicht jedoch die CPU-Leistung der Server Unit bei den angenommenen idealisierten Bedingungen. Effektiver CPU-Anteil und die effektive maximale Leistungsaufnahme der VMs ändern sich nicht.
Durch das Zuschalten einer Extra-CPU ändert sich der effektive CPU-Anteil der VMs nicht.
Ausgabe der aktuellen Plan- und Messwerte für den CPU-Anteil der VMs
Das Kommando /SHOW-VM-STATUS
(siehe "SHOW-VM-STATUS (Messwerte von VM2000 ausgeben)") verwendet im Gegensatz zu den für die Planung angenommenen idealisierten Bedingungen die aktuellen Werte der aktiven Objekte des VM2000-Betriebs.
Die aktiven Objekte des VM2000-Betriebs sind:
die zugeschalteten realen Normal- und Extra-CPUs
die VMs im Zustand RUNNING
die aktiven virtuellen CPUs
Wie bei den idealisierten Bedingungen wird angenommen, dass alle VMs im Zustand RUNNING auf allen aktiven virtuellen CPUs unter Hochlast laufen, d.h. sie nutzen ihre CPU-Zeitscheiben vollständig aus.
/SHOW-VM-STATUS INFORMATION=*STD/*TIMER
zeigt im VM-spezifischen Informationsblock neben der eingestellten CPU-Quote (CPU-Q
) die auf Basis der aktiven Objekte des VM2000-Betriebs berechneten Planwerte für den CPU-Anteil der VMs (CUR-Q
) und die maximale CPU-Leistungsaufnahme der VMs (CUR-U
), siehe "SHOW-VM-STATUS (Messwerte von VM2000 ausgeben)".
Die Berechnung erfolgt gemäß den Formeln für EFF-Q
und EFF-U
, die im Abschnitt "Berechnung des effektiven CPU-Anteils einer VM" abgebildet sind, aber bezogen auf die aktiven Objekte des VM2000-Betriebs.
Zum Vergleich zeigt das Kommando die aktuellen Messwerte der CPU-Anteile der VMs in absoluten Zahlen und als Prozentwerte.