Paravirtualisierte virtuelle GPU
Eine Ausführungsform der vorliegenden Erfindung führt ein Computer-System aus, welches eine primäre Verarbeitungseinheit, eine sekundäre Verarbeitungseinheit, welche mit der primären Verarbeitungseinheit gekoppelt ist und über eine Mehrzahl von Kanälen zugreifbar ist, eine Mehrzahl von Gastvirtuelle...
Gespeichert in:
Hauptverfasser: | , , , |
---|---|
Format: | Patent |
Sprache: | ger |
Schlagworte: | |
Online-Zugang: | Volltext bestellen |
Tags: |
Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
|
Zusammenfassung: | Eine Ausführungsform der vorliegenden Erfindung führt ein Computer-System aus, welches eine primäre Verarbeitungseinheit, eine sekundäre Verarbeitungseinheit, welche mit der primären Verarbeitungseinheit gekoppelt ist und über eine Mehrzahl von Kanälen zugreifbar ist, eine Mehrzahl von Gastvirtuelle-Maschinen aufweist, welche auf der primären Verarbeitungseinheit ausführen, wobei jede Gast-virtuelle-Maschine einen Treiber umfasst, welcher mit der sekundären Verarbeitungseinheit assoziiert ist, und wobei eine privilegierte virtuelle Maschine auf der primären Verarbeitungseinheit ausführt und konfiguriert ist, einen verschiedenen Satz von Kanälen, welche in der Mehrzahl von Kanälen umfasst sind, für jeden der Treiber zu allozieren, welche in der Mehrzahl von Gast-virtuelle-Maschinen umfasst sind, wobei ein erster Satz von Kanälen, welcher für einen ersten Treiber alloziert ist, welcher in einer ersten Gast-virtuelle-Maschine umfasst ist, dem ersten Treiber erlaubt, auf die sekundäre Verarbeitungseinheit zuzugreifen, ohne mit irgendeinem der anderen Treiber in Konflikt zu geraten, welche in der Mehrzahl von Gastvirtuelle-Maschinen umfasst sind, und mit einem minimalen Performanz-Overhead mittels eines direkten Zugreifens auf die sekundären Verarbeitungseinheit-Kanäle.
An embodiment of the invention sets forth a primary processing unit, a secondary processing unit coupled to the primary processing unit and accessible via a plurality of channels and a plurality of guest virtual machines executing on the primary processing unit. Each guest virtual machine includes a driver associated with the secondary processing unit, and a privileged virtual machine executing on the primary processing unit and configured to allocate a different set of channels of the plurality of channels to each of the drivers included in the guest virtual machines, where a first set of channels allocated to a first driver enables the first driver to access the secondary processing unit without conflicting with any of the other and with minimal performance overhead by directly accessing the secondary processing unit channels. |
---|