Abstract:
A method and system for dynamically managing memory in a computing environment using a control monitor. The control monitor (e.g., a virtual machine monitor or operating system kernel) includes a nomination module configured to collect memory statistics associated with at least one memory node. Based on the memory statistics, the control monitor detects one or more first pages accessed from a remote memory node at or above an access threshold. The nomination module nominates, via a communication to at least one of a scheduler module and a memory manager of the control monitor, the one or more first pages for migration to the remote memory node.
Abstract:
A system and methods for sending data from one process to another process (i.e., interprocess communication) are disclosed. In accordance with one embodiment, an operating system recognizes a request by a sending process to perform an asynchronous write to a pipe, and a request by a receiving process to perform an asynchronous read from the pipe, occurring in either order. The operating system then selects one of a plurality of mechanisms for providing the data to the receiving process.
Abstract:
A computing apparatus identifies that a first physical processor of a host has forwarded information regarding a device interrupt for a device to a second physical processor executing at least one of a virtual processor that controls the device or an application thread that controls the device. After identifying that the first physical processor has forwarded the information regarding the device interrupt to the second physical processor and in response to determining that one or more update criteria have been satisfied, the computing apparatus updates at least one of the device or an interrupt controller to cause at least one of the device or the interrupt controller to send future device interrupts for the device to the second physical processor.
Abstract:
Methods and systems for managing requests for access to devices managed by a hypervisor in virtualized computing environment. A hypervisor receives a request for access to a device from a guest. The hypervisor provides an address hint associated with the device to the guest and an association between the address hint and the device is stored in a reference table. Upon receipt of a subsequent request from the guest including the address hint, the hypervisor performs a look-up in the reference table based on the address hint to identify the device and establishes access to the device by the guest.
Abstract:
A mechanism for asynchronous input/output (I/O) using second stack switching in kernel space is disclosed. A method of the invention includes receiving, by a kernel executing in a computing device, an input/output (I/O) request from an application thread executing using a first stack, allocating a second stack in kernel space of the computing device, switching execution of the thread to the second stack, and processing the I/O request synchronously using the second stack.
Abstract:
A mechanism for memory change tracking during migration of a virtual machine (VM) with VM-controlled assigned peripherals is disclosed. A method of the invention includes informing a write tracking module of an interest by a hypervisor of a host machine in a specific memory location associated with a peripheral device that is controlled by a VM managed by the hypervisor, receiving notification from the write tracking module that the identified specific memory location has been modified by the peripheral device, and marking a memory page of the specific identified memory location as dirty in order for the migration of the memory page to be repeated as part of a migration process of the VM to a destination host machine.
Abstract:
A mechanism for automatic adjustment of virtual machine (VM) storage is disclosed. A method of embodiments of the invention includes stopping, by a host computing device, a virtual machine (VM) hosted by the host computing device from running upon detecting a write error due to lack of storage on the VM, communicating, by the host computing device, an out-of-storage notification from a hypervisor of the host computing device to a host management agent, and sending, by the host computing device, data associated with the out-of storage notification and the VM to a host controller that manages the host computing device, wherein the host controller causes storage for the VM to be increased.
Abstract:
A mechanism for on-demand hypervisor memory mapping is disclosed. A method of the invention includes trapping an access instruction to a memory location from a virtual machine (VM) managed by a hypervisor of a host machine, determining whether a number of accesses to the memory location by the VM exceeds a threshold, if the number of accesses to the memory location by the VM does not exceed the threshold, then emulating the access instruction to the memory location on behalf of the VM, and if the number of accesses to the memory location by the VM exceeds the threshold, then allocating guest physical memory for the VM associated with the memory location.
Abstract:
A computing apparatus determines that a virtual processor of a guest has been moved from a first physical processor of a host to a second physical processor of the host. The computing apparatus identifies a device that is controlled by the virtual processor, wherein device interrupts for the device are forwarded to the virtual processor. The computing apparatus updates at least one of the device or an interrupt controller to cause at least one of the device or the interrupt controller to send the device interrupts to the second physical processor of the host, wherein the second physical processor of the host forwards the device interrupts to the virtual processor running on the second physical processor without generating an inter-processor interrupt.
Abstract:
A computing apparatus identifies that a first physical processor of a host has forwarded information regarding a device interrupt for a device to a second physical processor executing at least one of a virtual processor that controls the device or an application thread that controls the device. After identifying that the first physical processor has forwarded the information regarding the device interrupt to the second physical processor and in response to determining that one or more update criteria have been satisfied, the computing apparatus updates at least one of the device or an interrupt controller to cause at least one of the device or the interrupt controller to send future device interrupts for the device to the second physical processor.