GPU ACCELERATED ADDRESS TRANSLATION FOR GRAPHICS VIRTUALIZATION
First Claim
1. A system comprising:
- a main memory having a plurality of machine physical addresses;
a graphics processor unit having graphics memory therein;
an address translation service integrated with the graphics processor unit;
a hypervisor to manage one or more guest machines;
wherein the hypervisor to configure a lookup table within the graphics memory of the graphics processor unit; and
wherein the address translation service of the graphics processor unit to translate a guest physical address for one of the one or more guest machines to a corresponding machine physical address within the main memory.
2 Assignments
0 Petitions
Accused Products
Abstract
In accordance with embodiments disclosed herein, there are provided methods, systems, mechanisms, techniques, and apparatuses for implementing GPU (Graphics Processing Unit) accelerated address translation for graphics virtualization. In one embodiment, such a system includes a main memory having a plurality of machine physical addresses; a graphics processor unit having graphics memory therein; an address translation service integrated with the graphics processor unit; a hypervisor to manage one or more guest machines; wherein the hypervisor is to configure a lookup table within the graphics memory of the graphics processor unit; and further wherein the address translation service of the graphics processor unit is to translate a guest physical address for one of the one or more guest machines to a corresponding machine physical address within the main memory. Such a graphics processor unit may be implemented separate from a system, for example, embodied within a silicon integrated circuit.
-
Citations
31 Claims
-
1. A system comprising:
-
a main memory having a plurality of machine physical addresses; a graphics processor unit having graphics memory therein; an address translation service integrated with the graphics processor unit; a hypervisor to manage one or more guest machines; wherein the hypervisor to configure a lookup table within the graphics memory of the graphics processor unit; and wherein the address translation service of the graphics processor unit to translate a guest physical address for one of the one or more guest machines to a corresponding machine physical address within the main memory. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15)
-
-
16. A method comprising:
-
managing, via a hypervisor, one or more guest machines on a system; configuring a lookup table with a mapping of guest physical addresses for the one or more guest machines to corresponding machine physical addresses; transferring the lookup table to a graphics memory of a graphics processor unit; receiving an access request to a main memory of the system from one of the guest machines, wherein the access request specifies a guest physical address; engaging an address translation service internal to the graphics processor unit by passing the guest physical address to the graphics processor unit; and translating, via the address translation service of the graphics processor unit, the guest physical address to a corresponding machine physical address. - View Dependent Claims (17, 18, 19, 20, 21, 22, 23, 24, 25, 26)
-
-
27. A graphics processor unit embodied within a silicon integrated circuit, the graphics processor unit comprising:
-
a shared graphics memory interface to receive a prepared lookup table from a hypervisor; a graphics memory to store the prepared lookup table therein, wherein the prepared lookup table to store a Guest physical Frame Number (GFN) to Machine Frame Number (MFN) mapping; an address translation service unit to receive a Guest physical Frame Number for translation; and a Translation Lookaside Buffer (TLB) to retrieve a Machine Frame Number corresponding to the received Guest physical Frame Number from the prepared lookup table to fulfill the translation. - View Dependent Claims (28, 29, 30, 31)
-
Specification