Entanglement of pages and guest threads
AssigneeHewlett Packard Enterprise Development LP
InventorsIsaac R. Nassi, David P. Reed, Mark Hill
Life of this patent
Estimating the term…
Abstract
Entanglement of pages and threads is disclosed. An indication is received of a stalling event caused by a requested portion of memory being inaccessible. It is determined that the requested portion of memory is an entangled portion of memory that is entangled with a physical node in a plurality of physical nodes. A type of the entangled portion of memory is determined. The stalling event is handled based at least in part on the determined type of the entangled portion of memory.
Claims17
A system, comprising:
- a plurality of physically interconnected computing nodes comprising a first computing node and a second computing node separate from the first computing node;
- and
- a kernel that:
- receives an indication of a stalling event caused by the first computing node requesting access to a requested portion of memory and the requested portion of memory being inaccessible by the first computing node;
- determines that the requested portion of memory is an entangled portion of memory that is designated as being entangled with the second computing node;
- handles the stalling event, wherein the handling comprises:
- migrating the requested portion of memory to the second computing node, wherein the requested portion of memory is accessed by a virtual processor on the second computing node;
- and
- migrating the requested portion of memory back to the first computing node responsive to completion of the access by the virtual processor;
- determines a cost to migrate the requested portion of memory from the second computing node to the first computing node;
- and
- determines to migrate the requested portion of the memory to the second computing node based on the cost.
A method, comprising:
- receiving an indication of a stalling event caused by a first computing node of a plurality of physically interconnected computing nodes requesting access to a requested portion of memory, wherein the plurality of physically interconnected computing nodes further comprises a second computing node separate from the first computing node;
- determining that the requested portion of memory is an entangled portion of memory that is designated as being entangled with the second computing node;
- handling the stalling event, wherein the handling comprises:
- migrating the requested portion of memory to the second computing node;
- accessing, by a virtual processor on the second computing node, the requested portion of memory;
- and
- migrating the requested portion of memory back to the first computing node responsive to completion of the access by the virtual processor;
- determining a cost to migrate the requested portion of memory from the second computing node to the first computing node;
- and
- determining to migrate the requested portion of the memory to the second computing node based on the cost.
A non-transitory computer readable storage medium that stores machine readable instructions that, when executed by a machine, cause the machine to:
- receive an indication of a stalling event caused by the first computing node requesting access to a requested portion of memory, and the request portion of memory being inaccessible by the first computing node;
- determine that the requested portion of memory is an entangled portion of memory that is designated as being entangled with a second computing node;
- handle the stalling event, wherein handling the stalling event comprises:
- moving a virtual processor from the first computing node to the second computing node to allow the virtual processor to execute a guest thread on the second computing node to perform the access to the requested portion of memory;
- and
- returning the virtual processor back to the first computing node responsive to completion of the access to the requested portion of memory;
- and
- determine that the requested portion of memory is an entangled portion responsive to a determination that the requested portion of memory is frequently accessed by a plurality of threads.
Dependencies are inferred from the claim text.