Qilos schrieb:
Ich habe schon mal über Virtualbox die version 16.04 simuliert
Virtualisiert, nicht simuliert (bzw korrekter: emuliert). Auch die VM läuft direkt auf der Hardware, was das ganze ja gerade eben so effizient und schnell macht - emuliert werden muss nur das, was keine Virtualisierung unterstützt und nicht über pseudovirtualisierung umgesetzt werden kann. Bei reinen Rechenaufgaben die ausschließlich die CPU belasten sind mit KVM Leistungsverluste unterhalb von 1% keine Seltenheit.
Dabei gibt es insbesondere zwei Flaschenhälse: Festplattenzugriffe und die GPU. Festplattenzugriffe erzeugen insbesondere in einer virtualisierten Umgebung jede Menge Kontextwechsel, welche ziemlich langsam sind - besonders, wenn das Dateisystem der VM bereits auf einem Dateisystem des Hosts sitzt. Je weniger Abstraktion hier zwischen liegt, desto schneller wird der Zugriff auch in der VM: So kann man etwa auch die SCSI(/SATA) Befehle direkt an eine für die VM reservierte Festplatte weiterreichen - oder gleich den gesamten SATA Controller an die VM durchreichen, wenn man denn einen separaten Controller übrig hat.
Bei den GPUs ist nicht nur die fehlende Hardwareunterstützung das Problem, sondern insbesondere auch die Software. Hardwarevirtualisierung gibt es zwar mit SR-IOV auch bei den GPUs, dies ist allerdings nur sehr wenigen Workstation Karten und mit Intel GVT-g auch neueren Intel GPUs vorbehalten, sodass hier nur eine Pseudovirtualisierung in Frage kommt, welche die beim Host Verfgügbare 3D Hardwarebeschleinigung nutzt - eine Software-Emulation ist viel zu ineffizient um brauchbar zu sein. Nur muss hier eben auch die Software mitspielen: Wenn der Host zB nur OpenGL bieten kann, sieht es mit Direct3D in der VM ziemlich schlecht aus.
Es ist unter Spielern inzwischen zur Mode geworden, einfach eine komplette separate GPU an die (Windows-)VM durchzureichen, um die meiste Leistung herausholen zu können. Das ganze funktioniert aber zB mit Virtualbox überhaupt nicht, ist sehr umständlich zu konfigurieren - und wird aktiv von Nvidia verhindert, damit du gefälligst ihre sauteuren Workstation Modelle kaufst, die für sowas zertifiziert werden. Ich habe selbst schon seit einigen Jahren so eine VM mit einer Radeon Karte am laufen.
Pseudovirtualisierte Peripherie emuliert eben keine bereits bekannte Hardware, sondern schafft eine direkte Schnittstelle zum Host, sodass die ganze unnötige Emulation eines Gerätes entfallen kann. Dadurch erscheinen die pseudovirtualisierten Geräte innerhalb der VM allerdings auch in einer Form, die eigene spezielle Treiber benötigt. Jene sind bei Virtualbox Bestandteil der Gast Erweiterungen - neuere Linux Kernel bringen diese Treiber bereits von Haus aus mit.