IP Library Granted Patent US 11,403,135
Granted Patent B2
US 11,403,135 · App. 16/799,593 · Granted Aug 2, 2022

Resource migration negotiation

Inventors: Isaac R. Nassi (Los Gatos, CA); Kleoni Ioannidou (Sunnyvale, CA); Brian Moffet (Santa Cruz, CA); Michael Berman (Scotts Valley, CA); David P. Reed (Needham, MA)
Assignee: TidalScale, Inc.
G06F9/4875G06F9/3009G06F9/30123G06F9/3855G06F9/44G06F9/45558G06F9/4856G06F9/4881G06F9/5011G06F9/5055G06F9/5077G06F9/546H04L67/10G06F2009/4557
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 11,403,135
App. No.
16/799,593
Granted
Aug 2, 2022
Kind
B2
Abstract

Resource migration negotiation is disclosed. A request is received, from a remote physical node in a plurality of physical nodes, for a resource. An operating system is run collectively across the plurality of physical nodes. The request includes information pertaining to a guest thread running on the remote physical node. Based at least in part on at least some of the information included in the request, it is determined whether to send the requested resource or reject the request. A response is provided based at least in part on the determination.

Claims (27)

1. A computer system, comprising:

a plurality of physically interconnected computing nodes, wherein a guest operating system is run on a virtual environment that is defined by a set of hyper-kernels running on the plurality of interconnected computing nodes;

wherein a request for a resource made by a hyper-kernel on a first computing node is received at a second computing node that owns the resource, wherein the request made by the hyper-kernel on the first computing node includes metadata information associated with the requested resource, and wherein the request for the resource was made by the hyper-kernel on the first computing node based at least in part on an evaluation of a set of requestor-side cost functions;

wherein in response to receiving the request for the resource made by the hyper-kernel on the first computing node, a hyper-kernel on the second computing node determines, at least in part by evaluating a set of owner-side cost functions, whether to send the resource or reject the request, wherein evaluating the set of owner-side cost functions by the hyper-kernel on the second computing node comprises evaluating the metadata information included in the request made by the hyper-kernel on the first computing node; and

wherein the hyper-kernel on the second computing node provides a response based at least in part on the determination of whether to send the resource or reject the request.

2. The computer system recited in claim 1 wherein the hyper-kernel on the second computing node determines, based at least in part on the evaluating of the set of owner-side cost functions, a cost of sending the resource and a cost of rejecting the request.

3. The computer system recited in claim 2 wherein the cost of sending the resource is determined to be less than the cost of rejecting the request, and wherein the response comprises sending the resource to the first computing node.

4. The computer system recited in claim 2 wherein the cost of rejecting the request is determined to be less than the cost of sending the resource, and wherein the response comprises sending, to the first computing node, a message indicating rejection of the request.

5. The computer system recited in claim 4 wherein the message includes a reason for rejection of the request.

6. The computer system recited in claim 4 wherein based at least in part on the message indicating rejection of the request, the hyper-kernel on the first computing node migrates a virtual processor to the second computing node.

7. The computer system recited in claim 2 wherein an owner-side cost function included in the set of owner-side cost functions comprises one or more owner-side cost terms.

8. The computer system recited in claim 7 wherein the requested resource comprises a portion of memory, and wherein an owner-side cost term is associated with an indication of whether the portion of memory is in use by a non-moveable device.

9. The computer system recited in claim 7 wherein the request is associated with a requesting guest thread running on the first computing node, and wherein an owner-side cost term included in the owner-side cost function is associated with an efficiency of the requesting guest thread.

10. The computer system recited in claim 7 wherein the requested resource comprises a portion of memory, and wherein an owner-side cost term is associated with a warmth of the portion of memory.

11. A method, comprising:

receiving a request for a resource made by a hyper-kernel on a first computing node, wherein the request is received at a second computing node that owns the resource, wherein the request made by the hyper-kernel on the first computing node includes metadata information associated with the requested resource, wherein the request for the resource was made by the hyper-kernel on the first computing node based at least in part on an evaluation of a set of requestor-side cost functions, wherein the first computing node and the second computing node are included in a plurality of physically interconnected computing nodes, and wherein a guest operating system is run on a virtual environment that is defined by a set of hyper-kernels running on the plurality of interconnected computing nodes;

in response to receiving the request for the resource made by the hyper-kernel on the first computing node, determining, by a hyper-kernel on the second computing node, whether to send the resource or reject the request, wherein whether to send the resource or reject the request is determined at least in part by evaluating a set of owner-side cost functions, wherein evaluating the set of owner-side cost functions by the hyper-kernel on the second computing node comprises evaluating the metadata information included in the request made by the hyper-kernel on the first computing node; and

providing, by the hyper-kernel on the second computing node, a response based at least in part on the determination of whether to send the resource or reject the request.

12. The method of claim 11 further comprising, based at least in part on the evaluating of the set of owner-side cost functions, determining, by the hyper-kernel on the second computing node determines, a cost of sending the resource and a cost of rejecting the request.

13. The method of claim 12 wherein the cost of sending the resource is determined to be less than the cost of rejecting the request, and wherein the response comprises sending the resource to the first computing node.

14. The method of claim 12 wherein the cost of rejecting the request is determined to be less than the cost of sending the resource, and wherein the response comprises sending, to the first computing node, a message indicating rejection of the request.

15. The method of claim 14 wherein the message includes a reason for rejection of the request.

16. The method of claim 14 wherein based at least in part on the message indicating rejection of the request, the hyper-kernel on the first computing node migrates a virtual processor to the second computing node.

17. The method of claim 12 wherein an owner-side cost function included in the set of owner-side cost functions comprises one or more owner-side cost terms.

18. The method of claim 17 wherein the requested resource comprises a portion of memory, and wherein an owner-side cost term is associated with an indication of whether the portion of memory is in use by a non-moveable device.

19. The method of claim 17 wherein the request is associated with a requesting guest thread running on the first computing node, and wherein an owner-side cost term included in the owner-side cost function is associated with an efficiency of the requesting guest thread.

20. The method of claim 17 wherein the requested resource comprises a portion of memory, and wherein an owner-side cost term is associated with a warmth of the portion of memory.

Assignments (5)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 24, 2024
From: NASSI, ISAAC R.; IOANNIDOU, KLEONI; MOFFET, BRIAN; BERMAN, MICHAEL; REED, DAVID P.
To: TIDALSCALE, INC.
Reel/Frame 068064/0761 →
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 →
Continuity (7)
Continuation 15687154 · Aug 25, 2017
Provisional Application 62525544 · Jun 27, 2017
Provisional Application 62525552 · Jun 27, 2017
Provisional Application 62468856 · Mar 8, 2017
Provisional Application 62457609 · Feb 10, 2017
Provisional Application 62380896 · Aug 29, 2016
Related Publication 20200192702A1 · Jun 18, 2020