Patent ID: 9569243
Date: 2017-02-14
CPC Classifications: G06F

Claim:
1. A computer program product to facilitate offloaded and parallelized direct memory access (DMA) translation table operations, the computer program product comprising: a computer-readable storage medium having computer-readable program code embodied therewith, the computer-readable program code executable to: request, by a hypervisor executing on a primary parallel processing element and hosting at least a first virtual machine, a lease on an auxiliary parallel processing element assigned to the first virtual machine, wherein the hypervisor is configured to manage a hypervisor DMA translation table, wherein the first virtual machine is configured to manage a virtual machine DMA translation table referenced by the hypervisor DMA translation table; receive, from the first virtual machine, a grant of the lease on the auxiliary parallel processing element assigned to the first virtual machine, whereby ownership of the auxiliary parallel processing element is transferred from the first virtual machine to the hypervisor; during the lease, provide, by the hypervisor, a predefined program to execute on the auxiliary parallel processing element to perform a desired operation on the hypervisor DMA translation table, whereupon the predefined program is executed on the auxiliary parallel processing element in parallel with the hypervisor executing on the primary parallel processing element, and in order to identify memory pages referenced by the first virtual machine, wherein the desired operation on the hypervisor DMA translation table is selected from a plurality of operations comprising a predefined page table scanning operation; calculate, based on a result of the predefined page table scanning operation, statistical information in order to determine which identified memory pages have the most translations pointing thereto; facilitate memory affinity, based on the calculation, by placing said identified memory pages with increased proximity to the primary parallel processing element for performing subsequent virtual machine DMA operations; and upon the predefined program completing execution, terminate the lease by the hypervisor, whereby ownership of the auxiliary parallel processing element is returned to the first virtual machine.