IP Library Granted Patent US 9,191,435
Granted Patent B2
US 9,191,435 · App. 13/830,094 · Granted Nov 17, 2015

Selective data migration or remapping of virtual processors to provide required data accessibility to processor cores

Inventor: Isaac R. Nassi (Los Gatos, CA)
Assignee: TidalScale, Inc.
H04L67/10G06F9/455G06F9/5077G06F9/4856G06F2009/45583
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,191,435
App. No.
13/830,094
Granted
Nov 17, 2015
Kind
B2
Abstract

Selective resource migration is disclosed. A computer system includes physical memory and a plurality of physical processors. Each of the processors has one or more cores and each core instantiates one or more virtual processors that executes program code. Each core is configured to invoke a hyper-kernel on its hosting physical processor when the core cannot access a portion of the physical memory needed by the core. The hyper-kernel selectively moves the needed memory closer to a location accessible by the physical processor or remaps the virtual processor to another core.

Claims (32)

1. A computer system, comprising:

physical memory; and

a plurality of physical processors each having one or more cores;

wherein each core instantiates one or more virtual processors that execute program code;

wherein a given core is configured to invoke a hyper-kernel on its hosting physical processor when the given core cannot access a set of data needed by the core, wherein the needed set of data resides in a portion of the physical memory;

wherein the invoked hyper-kernel selectively moves the needed set of data to a location accessible by the hosting physical processor or remaps a virtual processor associated with the given core to another core that can access the needed set of data; and

wherein the hyper-kernel is configured to unify computing resources of a plurality of disparate computing nodes into a unified set.

2. The system of claim 1 wherein at least one core includes at least one hyperthread and wherein the hyperthread instantiates the virtual processor.

3. The system of claim 1 wherein the system includes the plurality of disparate computing nodes and wherein the plurality of disparate computing nodes collectively includes the plurality of physical processors.

4. The system of claim 3 wherein, upon initialization, each node is provided with an initial resource table.

5. The system of claim 3 wherein each node stores a current resource map.

6. The system of claim 3 wherein each node stores an event table.

7. The system of claim 1 wherein the hyper-kernel is configured to determine which virtual resource or resources should move.

8. The system of claim 7 wherein at least one virtual resource comprises a storage resource.

9. The system of claim 7 wherein at least one virtual resource comprises a network resource.

10. The system of claim 1 wherein the hyper-kernel is configured to determine where a virtual resource or resources should move.

11. The system of claim 1 wherein the hyper-kernel is configured to determine a time at which one or more virtual resources should move.

12. The system of claim 1 wherein the selective moving is determined based at least in part on a cost function.

13. The system of claim 12 wherein at least one of the factors in the cost function includes a length of a work queue.

14. The system of claim 12 wherein at least one of the factors in the cost function includes a probability that a cache has reusable entries.

15. The system of claim 1 wherein an operating system invokes the hyper-kernel.

16. The system of claim 1 wherein an application invokes the hyper-kernel.

17. The system of claim 1 wherein the given core is included on a first node and wherein said another core is included on a second node that is different from the first node.

18. The system of claim 1 wherein the program code comprises operating system code.

19. A method, comprising:

receiving, at a hyper-kernel on a hosting physical processor, an indication that a core which instantiates one or more virtual processors that execute program code cannot access a set of data needed by the core, wherein the needed set of data resides in a portion of physical memory;

in response to the received indication, selectively moving, by the hyper-kernel, the needed set of data to a location accessible by the hosting physical processor or remapping a virtual processor associated with the core to another core that can access the needed set of data; and

wherein the hyper-kernel is configured to unify computing resources of a plurality of disparate computing nodes into a unified set.

20. A computer program product embodied in a non-transitory computer readable storage medium and comprising computer instructions for:

receiving, at a hyper-kernel on a hosting physical processor, an indication that a core which instantiates one or more virtual processors that execute program code cannot access a set of data portion of physical memory needed by the core, wherein the needed set of data resides in a portion of physical memory;

in response to the received indication, selectively moving, by the hyper-kernel, the needed set of data to a location accessible by the hosting physical processor or remapping a virtual processor associated with the core to another core that can access the needed set of data; and

wherein the hyper-kernel is configured to unify computing resources of a plurality of disparate computing nodes into a unified set.

Assignments (5)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 5, 2023
From: TIDALSCALE, INC.
To: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP
Reel/Frame 062282/0452 →
RELEASE OF SECURITY INTEREST RECORDED AT REEL/FRAME 060724/0458 Recorded Dec 30, 2022
From: COMERICA BANK
To: TIDALSCALE, INC.
Reel/Frame 062252/0199 →
RELEASE OF SECURITY INTEREST Recorded Dec 15, 2022
From: COMERICA BANK
To: TIDALSCALE, INC.
Reel/Frame 062108/0963 →
SECURITY INTEREST Recorded Aug 4, 2022
From: TIDALSCALE, INC.
To: COMERICA BANK
Reel/Frame 060724/0458 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 28, 2013
From: NASSI, ISAAC R.
To: TIDALSCALE, INC.
Reel/Frame 030714/0742 →
Continuity (2)
Provisional Application 61692648 · Aug 23, 2012
Related Publication 20140059543A1 · Feb 27, 2014