Verständnisfrage KVM

ServerSide

New Member
Hallo.

Ich hab mal eine Frage zur KVM Virtualisierung.
So wie ich es verstanden habe, hat man dabei dedizierten Zugriff auf die Hardware-CPU-Kerne.

Ich nehme nun mal das Beispiel netcup:

Dort gibt es im Paket RS8000G7SE 12 Kerne eines E5-2680V4 für 44,99€
Laut Intel ARK hat die CPU insgesamt 14 Kerne. Wenn wir also noch den kleinsten RS1000G7SE hinzunehmen haben für gerade mal 50 Euro eine Gesamtleistung von:

14 E5-2680V4 CPU Kernen
54GB Ram

Preislich liegt das also WEIT unter dem was ein vergleichbarer Dedicated Server kosten würde.

Wie ist das Ganze zu erklären?
 
So wie ich es verstanden habe, hat man dabei dedizierten Zugriff auf die Hardware-CPU-Kerne.
Nicht inherent. KVM Virtualisierung gibt dir vCPU's welche die Kapabilitäten der echten CPU (Befehlssatz und Erweiterungen) durchreichen (können!). Der Anbieter kann entscheiden ob er virtuelle CPU's auf reelle CPU's "pinnen" geht, also diese fest darauf zuordnet. Aber auch dann lassen sich mehrere virtuelle CPU's auf den gleichen reellen Core pinnen.
Der Anbieter muss also sowohl die CPU's pinnen als auch jede CPU nur einmal zuordnen damit du echte Dedizierung hast.
 
Dort gibt es im Paket RS8000G7SE 12 Kerne eines E5-2680V4 für 44,99€
Laut Intel ARK hat die CPU insgesamt 14 Kerne. Wenn wir also noch den kleinsten RS1000G7SE hinzunehmen haben für gerade mal 50 Euro eine Gesamtleistung von:

14 E5-2680V4 CPU Kernen
54GB Ram

Preislich liegt das also WEIT unter dem was ein vergleichbarer Dedicated Server kosten würde.

Wie ist das Ganze zu erklären?

Wie der Preis zustande kommt, kannst du nur vom Provider selber erfahren.

Es gibt sogar Provider, die dieses Angebot vom Preis her noch mal toppen. Schau dir von daher auch mal das Angebot von Contabo mit der Produktbezeichnung VPS XL SSD mit 10 dedizierten Kernen, 50 GB dedizierten RAM und 1200 GB Speicherplatz auf SSD für aufgerundet 27 Euro pro Monat genauer an. Und las dich nicht von der Bezeichnung VPS beirren. Denn es ist genauso ein Root-Server, wie ihn auch Netcup anbietet. Halt nur vom Leistungsumfang viel üppiger.
 
Felix von netcup beschrieb bereits an mehreren Stellen, dass sie unter dedizierten Kernen solche verstehen, die bei Bedarf jederzeit voll vom Kunden genutzt werden können, aber im Idle-Zustand eben auch von anderen Kunden. Es wird auch irgendwo auf deren Webseite stehen. Anders ist es auch preislich nicht möglich und genau das ist einer der Kernvorteile der Virtualisierung: Eine Mischkalkulation, die zu einem erheblich besseren Preis-/Leistungsverhältnis, als sie ein dedizierter Server anbieten könnte, führt. Der Kunde hat davon meines Erachtens nur Vorteile.

netcup kocht an der Stelle wohlgemerkt natürlich auch nur mit Wasser, die dedizierten Kerne bieten immer mehr Anbieter an und setzen dies auch zuverlässig um.


Viele Grüße
Tim
 
Guten Morgen,


vielen Dank für Ihr Interesse an unseren Root-Server Angebot.

Es ist richtig, dass die Intel (R) Xeon (R) E5-2680v4 14 physikalische Kerne + HT hat. Je physikalischen Node können bei der E5-2600-Reihe wiederum zwei physikalische CPUs verbaut werden, was wir bei unseren Nodes auch tun. Insgesamt stehen also 28 physikalische Kerne bzw. 56 virtuelle Kerne dank HT zur Verfügung. Das ist schon eine ordentliche Leistung.

Bei unseren Root-Servern garantieren wir, dass die beworbenen Kerne dediziert genutzt werden können. Das bedeutet, dass die Kerne nicht mit anderen Kunden geteilt werden müssen, sobald CPU-Last auf diesen erzeugt wird. Das ist z.B. der Unterschied zu unseren VPS-Produkten. Hier teilen sich auch andere Kunden die Kerne.

Jetzt könnte die Frage aufkommen, was passiert wenn mehr Kerne dediziert beansprucht werden, als physikalisch zur Verfügung stehen. Hier kommt unser Verbund von vielen physikalischen Servern (Cluster) zum tragen. Wir können virtuelle Server innerhalb kurzer Zeit auf anderen physikalischen Servern arbeiten lassen. Das geht fast in Echtzeit und ohne das es zu Ausfällen während der Datenmigration kommt. Letzteres passiert alles im Hintergrund, ohne das die virtuellen Server benachteiligt werden. Insgesamt stehen uns so knapp 100.000 physikalische CPU-Kerne und 240 TB physikalischer RAM in einem Verbund zur Verfügung.

Generell kann gesagt werden, dass ein Kunde der 12 Kerne gebucht hat, im Schnitt maximal 4 Kerne wirklich beansprucht. Werden einmal mehr Kerne beansprucht, ist das absolut kein Problem, da wir aufgrund von einer sehr großen Anzahl an Kunden, eine optimale Mischkalkulation betreiben können, ähnlich wie es Versicherungen tun. Unser Ziel ist es das auf einem physikalischen Node immer 50% der CPU-Kerne für mögliche Peaks reserviert sind. Das Ziel setzen wir zu über 99% um. Die letzteren 1% sind die möglichen Peaks, die es immer wieder geben kann.

Unsere Technik ist sicherlich sehr innovativ. Viele unserer Mitbewerber setzen auf herkömmliche Techniken oder eben auf teure VM-Ware-Lösungen. Wir setzen eine eigen entwickelte Management-Lösung, basierend auf KVM, ein. Nicht nur bei CPUs gehen wir ganz neue Wege, auch bei Festplatten. Unsere Nodes verfügen z.B. über viele parallel geschaltete SSDs Festplatten. In der aktuellen Generation unserer Root-Server sind so Schreibraten von > 500 MByte auf einem vServer absolut kein Problem mehr. Je nach Auslastung des Nodes, sind sogar 2 GByte/s möglich.

Unsere Root-Server können übrigens innerhalb von 30 Tagen zurückgegeben werden, sollten sie nicht gefallen. Damit ist ein risikofreies Testen möglich.

Für weitere Fragen stehe ich gerne zur Verfügung.


Viele Grüße

Felix Preuß
 
[netcup] Felix;381000 said:
Bei unseren Root-Servern garantieren wir, dass die beworbenen Kerne dediziert genutzt werden können. Das bedeutet, dass die Kerne nicht mit anderen Kunden geteilt werden müssen, sobald CPU-Last auf diesen erzeugt wird.

Schaue ich mir diese beiden Sätze mal genauer an, so widersprechen sich diese beiden Sätze aufgrund der beiden Wörter "können" im ersten und "müssen" im zweiten Satz.

Übersetzt heißt es für mich:
Alle Kunden teilen sich die beworbenen Kerne mit anderen Kunden und können diese nur dann auch im vollen Umfang nutzen, sofern sie nicht gerade von anderen Kunden schon genutzt werden.

Das Wörtchen "dediziert" in Bezug auf die Kerne würde ich dann eher mal so verstehen, dass dem Kunden laut Vertrag nur die maximale Anzahl an Threads (keine exklusiven Kerne) ohne Performance-Garantie pro Thread garantiert wird.
 
Alle Kunden teilen sich die beworbenen Kerne mit anderen Kunden und können diese nur dann auch im vollen Umfang nutzen, sofern sie nicht gerade von anderen Kunden schon genutzt werden.
Marketing :D Der Anbieter gibt nach best-effort dedizierte CPU-Cores laut Beschreibung aber wenn es mal eng wird dann kann es für ein paar Minuten (so lange dauert generell eine Livemigration) weniger zur Verfügung stehen.

In der Hoffnung dass es dem Verständnis hilft, sponten würde ich Netcup's Beschreibung wie folgend implementieren

1) Kein CPU Pinning, bei korrekter NUMA-Topologie weiss der Kernel besser als jedes Tool auf welchen CPU Core man welchen Prozesse kombinieren kann und kann dies bei Bedarf viel schneller auch umbalancieren.

2) Überwachung der Load als direkte Indikator für Scheduler/CPU-Belastung. Bei Load >= (Anzahl CPU Threads)/2 führe (3) aus.

3) Berechne einen Kostenindex aus CPU-Belastung der letzten X Minuten und Festplattengrösse für jeden VPS auf dem Host (mit jeweils statischen Multiplikatoren für das Grössenverhältnis) im Format (CPU-Zeit * Konstante) / ( Festplattengrösse * Konstante). Wähle das grösste Resultat, führe (4) aus.

4) Virsh livemigrate Wrapperskript mit target auf den Host mit niedrigster Load. Hierbei ist Ausfallzeit dann <= definierter maximaler Offlinezeit, standardmässig 0.3 Sekunden. IP-Verbindungen gehen während Migration ggf verloren oder müssen wiederholt werden.

(3) und (4) kann man über big-data deutlich optimieren und sogar präventive Migrationen zu anderen Zeitpunkten durchführen.
Anmerkung: 3 ist notwendig da es sinnvoller und schneller sein kann 2 kleine aber weniger belastende VPS zu migrieren als einen VPS der gigantischen Datenspeicher hat.
 
Last edited by a moderator:
Der Anbieter muss also sowohl die CPU's pinnen als auch jede CPU nur einmal zuordnen damit du echte Dedizierung hast.


Würde der Anwender dies überhaupt feststellen können?

Code:
-smp [cpus=]n[,cores=cores][,threads=threads][,sockets=sockets][,maxcpus=maxcpus]

    Simulate an SMP system with n CPUs. On the PC target, up to 255 CPUs are supported. On Sparc32 target, Linux limits the number of usable CPUs to 4. For the PC target, the number of cores per socket, the number of threads per cores and the total number of sockets can be specified. Missing values will be computed. If any on the three values is given, the total number of CPUs n can be omitted. maxcpus specifies the maximum number of hotpluggable CPUs.
 
Dies ist einzig und allein durch Benchmarks und vor allem Vergleiche feststellbar. Feste CPU-Pinnings sind (etwas) schneller und liefern auch weniger Stealtime innerhalb der VM, das gilt aber natürlich wie sonst auch nur, wenn der Host nicht überladen ist. Wobei man davon ausgehen sollte, wenn man tatsächlich 1:1-Pinning durchführt, da dann ja neben der VM nichts mehr auf den Kernen laufen sollte (zumindest keine anderen Gäste).
 
Also ich habe über mehrere Tage hinweg und auf mehreren Servern benchmarks durchgeführt.
Das Ergebnis war immer fast gleich. die normalen Schwankungen die ich auch lokal habe.
Ich würde also sagen das die Kerne sich Tatsächlich wie echte verhalten.



Falls für alle die einen server bestellen wollen hier ein paar 5€ Gutscheine

MOD EDIT: Nö, hier stehen KEINE Gutscheine.
 
Last edited by a moderator:
Affiliate Links (außer SSF eigene, die helfen, diese Plattform zu erhalten) oder Gutscheincodes, die einen Kick-Back versprechen sind hier NICHT erlaubt und werden (wie in diesem Fall) verwarnt.
 
Back
Top