Virtual Machine Queue
# Virtual Machine Queue

VMQ steht für Virtual Machine Queue und steht für auf Hyper-V basierenden Servern zur Verfügung, die über eine VMQ-fähige Netzwerk-Hardware (Netzwerkkarte) verfügen. Hyper-V ist ein Programm von Microsoft, welches es erlaubt, mehrere Betriebssysteme auf einem einzelnen Computer zu betreiben, siehe (Virtuelle Server). Das bedeutet nichts anderes, als dass mehrere Server auf einer Hardware betrieben werden können. Meistens verfügt jeder dieser virtuellen Server über eine eigene IP-Adresse aber nicht über eine eigene Netzwerkkarte. Kommt ein Netzwerk-Datenpaket an der Netzwerkkarte an, dann sorgt ein Programm dafür, dass dieses Paket an den richtigen virtuellen Server weitergeleitet wird. Dieser Vorgang wird Routing genannt, die entsprechende Software wird Router genannt. Dieser Vorgang ist jedoch zeit- und rechenintensiv.

Mit VMQ werden Netzwerkpakete von einem externen Netzwerk vom Netzwerk-Adapter in einen eigenen Speicherbereich auf der Netzwerkkarte zwischengespeichert. Jeder der virtuellen Server verfügt über einen eigenen Speicherbereich, einer sogenannten dedizierten Warteschlange. Auf solche Warteschlangen kann ein Betriebssystem direkt zugreifen, siehe (Speicherdirektzugriff) englisch Direct Memory Access. Eine Zwischenspeicherung ist notwendig, da die Netzwerkkarte von mehreren virtuellen Servern geteilt und die Rechenleistung der Hardware auf mehrere virtuelle Server verteilt wird. Jedes dieser Server-Betriebssysteme bekommt eine eigene Warteschlange zugewiesen und wird auf einen eigenen Speicherbereich konfiguriert. Der Netzwerktreiber eines Betriebssystems kann sich dann die für ihn bestimmten Daten direkt aus der Warteschlange der Netzwerkkarte abholen. Ein Verteil-, sprich Routing-Vorgang, entfällt und das Gesamtsystem arbeitet effektiver.

Die VMQ-Technologie wurde 2010 von Daniel Baumberger vom Prozessor Hersteller Intel entwickelt und ist patentiert. Der Nachteil der Technik ist der Konfigurationsaufwand, welcher störanfällig ist. Eine fehlerhafte Konfiguration kann zu Netzwerkausfällen führen, weswegen die Technik bei vielen Serverbetreibern deaktiviert wird.

VMQ sollte nur eingesetzt werden wenn der Server über besonders schnelle Netzwerkkarten verfügt (10-Gigabyte-Netzwerk) und auf den virtuellen Servern zum Beispiel Videoanwendungen laufen.

