VMwarePlayer: Ist es sinnvoll mehr als zwei CPUs zu semulieren?

Fasko

Lt. Junior Grade
Registriert
Jan. 2011
Beiträge
479
Hallo,

meine Frage:

ist es überhaupt sinnvoll mehrere CPUs zu simulieren?
Beispielsweise: Bei Videokonvertierungsprogrammen, welche auf nicht virutellen Computern zumindest von mehreren CPU-Kernen profitieren.
& werden die CPUs semuliert oder besteht ein direkter auf die "echte" CPU.

Gruß,

Fasko

PS: Ich habe einen Prozecssor mit sechs Kernen
 
Jeder virtuelle Prozessor ist faktisch ein Thread, der auf dem Host läuft. D.h. wenn du 6 virtuelle CPUs erstellst gibt es 6 Threads aufm Host und somit (potentiell) eine volle Auslastung.
 
Ich würde mich überhaupt fragen, ob ein Videokonvertierungsprogrammen in der VM sinnvoll ist, um es vom System "auszugliedern" wäre evtl. eine Sandbox besser. Andererseits sind die Virtualisierungstechnologien schon extrem weit gekommen. Vielleicht bin ich in der Hinsicht zu engstirnig.
 
@Uncle Kane: Die CPU-Leistung bei hardwarebeschleunigter Virtualisierung ist fast identisch mit nativer Ausführung. Der Unterschied ist minimal.
 
Das hört sich doch gut an... aber was kann ich mir unter einem Thread vorstellen?
 
Das hört sich doch gut an... aber was kann ich mir unter einem Thread vorstellen?
Ein Thread ist eine unabhängige Ausführungsrichtung auf der CPU. X86 CPU's können meist nur 1 oder 2 Threads / Kern parallel verarbeiten. Ein Thread wird abgearbeitet, je nach Einstellung wird ihr CPU-Zeit gewährt, wenn diese abgelaufen ist, pausiert der Thread, wird hinten in die Reihe gesetzt und der nächste in der Reihe wird abgearbeitet. Dies passiert solange bis alle Threads enden. (Threads werden in eigenständige Prozesse gepackt)

Also wenn du mehr Threads ausführen kannst, umso weniger müssen Threads auf die Abarbeitung durch den Scheduler warten und umso mehr kann parallel ausgeführt werden. Besonders gut für Echtzeitanwendungen.
Ergänzung ()

@Uncle Kane: Die CPU-Leistung bei hardwarebeschleunigter Virtualisierung ist fast identisch mit nativer Ausführung. Der Unterschied ist minimal.
Naja laut dem Benchmarks gibt es schon einen Unterschied:
http://www.phoronix.com/scan.php?page=article&item=intel_corei7_virt&num=1
 
Okay, sprich mein Sixcore kann theoretisch 6 Threads gleichzeitig laufen lassen. Wie sieht das mit Intels Hyperthreading aus? Können die CPUs doppelt so viele Threads verarbeiten wie Kerne vorhanden sind?
 
Okay, sprich mein Sixcore kann theoretisch 6 Threads gleichzeitig laufen lassen. Wie sieht das mit Intels Hyperthreading aus? Können die CPUs doppelt so viele Threads verarbeiten wie Kerne vorhanden sind?
Jep, wobei man soweit ich weiß den zweiten Thread als nicht vollwärtigen ansehen sollte, eher eine Ergänzung um brachliegende CPU-Bereiche zu beleben.
 
Threads können unendlich viele auf 1 Kern arbeiten, wenn man bei CPUs von Threads / Kernen spricht meint man damit das der Softwarethread einen eigenen Teil der Hardware bekommt worauf er läuft. Bei nem Kern hat er alles ( außer dem L3 ) bei HT ( auch SMT gennant ) muss er sich dagegen alles außer den Registersätzen mit einem "echten" Kern teilen. Die zusätzliche Leistung kommt daher das ohne HT ein kern meist nur zu ~70% ausgelastet ist.


AMDs CMT ist sowas ähnliches nur muss sich der 2te Thread auf dem Kern dort viel weniger mit de "echten" Kern teilen. ( teilen müssen sich die Threads die Register, Backend + Frontend, die FPU und den L2 )
 
Zurück
Oben