A computing system comprising: a central processing unit arranged to run a plurality of virtual machines under the control of a hypervisor and wherein transactions output by the central processing unit are assigned an identifier for the virtual machine to which it relates; a CPU memory management unit arranged to translate between virtual memory addresses used by the virtual machines and guest physical addresses; a first root memory management unit configured by the hypervisor and arranged to translate between guest physical addresses used by the CPU memory management unit and actual physical memory addresses based on the identifier for the virtual machine assigned to a transaction; a graphics processor unit comprising a microprocessor; a GPU memory management unit arranged to translate between virtual memory addresses used by the graphics processor unit and guest physical addresses; and characterized in that the system further comprises: a second root memory management unit configured by the hypervisor and arranged to translate between guest physical addresses used by the GPU memory management unit and actual physical memory addresses based on the identifier for the virtual machine assigned to the transaction; wherein access to one or more portions of a memory resource is controlled as a consequence of address translations performed by the root memory management units, wherein the memory resource comprises a plurality of GPU registers and each portion of the memory resource comprises one or more dedicated GPU registers and is assigned to one of the virtual machines, wherein each virtual machine can only access their own GPU registers; wherein the GPU can access all the GPU registers; and wherein a combination of the assigned identifier and the dedicated registers enables different jobs from different virtual machines to run on the GPU concurrently, thereby eliminating the need for every communication from a virtual machine to the GPU to involve the hypervisor. a central processing unit arranged to run a plurality of virtual machines under the control of a hypervisor and wherein transactions output by the central processing unit are assigned an identifier for the virtual machine to which it relates; a CPU memory management unit arranged to translate between virtual memory addresses used by the virtual machines and guest physical addresses; a first root memory management unit configured by the hypervisor and arranged to translate between guest physical addresses used by the CPU memory management unit and actual physical memory addresses based on the identifier for the virtual machine assigned to a transaction; a graphics processor unit comprising a microprocessor; a GPU memory management unit arranged to translate between virtual memory addresses used by the graphics processor unit and guest physical addresses; and characterized in that the system further comprises: a second root memory management unit configured by the hypervisor and arranged to translate between guest physical addresses used by the GPU memory management unit and actual physical memory addresses based on the identifier for the virtual machine assigned to the transaction; wherein access to one or more portions of a memory resource is controlled as a consequence of address translations performed by the root memory management units, wherein the memory resource comprises a plurality of GPU registers and each portion of the memory resource comprises one or more dedicated GPU registers and is assigned to one of the virtual machines, wherein each virtual machine can only access their own GPU registers; wherein the GPU can access all the GPU registers; and wherein a combination of the assigned identifier and the dedicated registers enables different jobs from different virtual machines to run on the GPU concurrently, thereby eliminating the need for every communication from a virtual machine to the GPU to involve the hypervisor. a second root memory management unit configured by the hypervisor and arranged to translate between guest physical addresses used by the GPU memory management unit and actual physical memory addresses based on the identifier for the virtual machine assigned to the transaction; wherein access to one or more portions of a memory resource is controlled as a consequence of address translations performed by the root memory management units, wherein the memory resource comprises a plurality of GPU registers and each portion of the memory resource comprises one or more dedicated GPU registers and is assigned to one of the virtual machines, wherein each virtual machine can only access their own GPU registers; wherein the GPU can access all the GPU registers; and wherein a combination of the assigned identifier and the dedicated registers enables different jobs from different virtual machines to run on the GPU concurrently, thereby eliminating the need for every communication from a virtual machine to the GPU to involve the hypervisor.