System and method for accelerating input/output access operation on a virtual machine
AssigneeMellanox Technologies, Ltd.
InventorsMichael Kagan, Dror Goldenberg, Benny Koren, Michael Tsirkin
Life of this patent
Estimating the term…
Abstract
A system and method for accelerating input/output (IO) access operation on a virtual machine, The method comprises providing a smart IO device that includes an unrestricted command queue (CQ) and a plurality of restricted CQs and allowing a guest domain to directly configure and control IO resources through a respective restricted CQ, the IO resources allocated to the guest domain. In preferred embodiments, the allocation of IO resources to each guest domain is performed by a privileged virtual switching element. In some embodiments, the smart IO device is a HCA and the privileged virtual switching element is a Hypervisor.
Claims15
A method for accelerating input/output (IO) access operation on a virtual machine running on a host computer that has IO resources, comprising the steps of:
- a. providing a smart IO device that includes an unrestricted command queue, a plurality of restricted command queues, each restricted command queue for configuring and controlling only a respective portion of the IO resources of the host computer, and a corresponding plurality of data queues separate from the restricted command queues;
- b. by a hypervisor, allocating the respective portion of the IO resources of one of the restricted command queues to a respective one of a plurality of guest domains through the unrestricted command queue, and
- c. allowing each respective guest domain to directly configure and control the respective portion of the IO resources of the one restricted command queue through the one restricted command queue.
A method for accelerating input/output (I/O) access operation on a virtual machine running on a host computer that has IO resources, comprising the steps of:
- a. in a smart IO device, providing a plurality of restricted command queues, each restricted command queue for configuring and controlling only a respective portion of the IO resources of the host computer, each restricted command queue associated with a respective one of a plurality of guest domains and a separate respective data queue;
- and
- b. using a hypervisor, allocating IO resources to each restricted command queue, whereby each respective guest domain may directly configure and control the respectively allocated IO resources of the respective guest domain's associated restricted command queue while being isolated and protected from other guest domains.
A system for accelerating input/output (IO) access operation on a virtual machine running on a host computer that has IO resources comprising:
- a. a smart IO device that includes an unrestricted command queue, a plurality of restricted command queues and a corresponding plurality of data queues separate from the restricted command queues, each restricted command queue for configuring and controlling only a respective portion of the IO resources of the host computer, each restricted command queue operative to be associated with a respective one of a plurality of guest domains;
- and
- b. a configuring function operative to allocate only the respective portion of the IO resources of one of the restricted command queues to each respective guest domain;
- whereby the system enables each respective guest domain to directly configure and control only the respective guest domain's respective IO resources, while being isolated and protected from all other guest domains accessing the virtual machine through the smart IO device;
- wherein the system is implemented in hardware.
Dependencies are inferred from the claim text.