| CPC G06F 9/45558 (2013.01) [G06F 9/455 (2013.01); G06F 12/0868 (2013.01); G06F 12/0891 (2013.01); G06F 12/1009 (2013.01); G06F 13/105 (2013.01); G06F 13/24 (2013.01); G06F 2009/45579 (2013.01); G06F 2009/45583 (2013.01); G06F 2212/7201 (2013.01)] | 18 Claims |

|
1. A computing node, comprising:
a set of processors to run a first hyper-kernel;
an input/output (I/O) device to provide data associated with an I/O operation to the computing node; and
a memory device is to store the data in one or more portions of a physical memory space of the memory device;
wherein a guest operating system executes on a virtual environment that is defined by a set of hyper-kernels running on a plurality of interconnected computing nodes, and wherein the set of hyper-kernels includes the first hyper-kernel and presents, in conjunction with each other, unified processing and memory resources of the plurality of interconnected computing nodes to the guest operating system;
wherein the first hyper-kernel is to:
receive, at the computing node, an indication of a request to transfer the data to a set of guest physical addresses presented to the guest operating system; and
determine physical addresses of the one or more portions of the physical memory space of the memory device mapped to the set of guest physical addresses, wherein a quest physical address in the set of quest physical addresses is remapped from a previous physical address associated with a second computing node in the plurality of interconnected computing nodes to a new physical address associated with the computing node, and wherein the second computing node is to invalidate the previous physical address;
wherein the I/O device is to deliver, to the first hyper-kernel, an interrupt indicating completion of providing the data of the I/O operation associated with the one or more portions of physical memory space; and
wherein, in response to receiving the interrupt, the first hyper-kernel is to deliver a virtual interrupt indicating completion of the I/O operation to the guest operating system via a virtual processor of the virtual environment.
|