IP Library Granted Patent US 10,620,992
Granted Patent B2
US 10,620,992 · App. 15/687,154 · Granted Apr 14, 2020

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 10,620,992
App. No.
15/687,154
Granted
Apr 14, 2020
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 (25)

1. A computer system, comprising:

a plurality of interconnected nodes, wherein at least one node in the plurality of interconnected nodes comprises a processor in communication with a memory, and wherein a guest operating system is run collectively across the plurality of interconnected nodes;

wherein a request is received, at a target node in the plurality of interconnected nodes, for a resource on the target node, wherein the request is received from a requestor node in the plurality of interconnected nodes;

wherein the request includes information pertaining to a guest thread running on the requestor node that needs the requested resource, wherein the guest thread is associated with an application running on the guest operating system that is run collectively across the plurality of interconnected nodes;

wherein a hyper-kernel on the target node is configured to determine whether to send the requested resource to the requestor node or reject the request based at least in part on a comparison of (1) at least some of the information pertaining to the guest thread included in the request and (2) information pertaining to the requested resource that is local to the target node that received the request; and

wherein a response is provided to the requestor node based at least in part on the determination.

2. The computer system of claim 1 , wherein the information pertaining to the guest thread running on the requestor node includes at least one of thread efficiency, affinity, duty, an indication of page contention, a recorded history of page accesses by the guest thread, warmth, utilization, and size of common interest with respect to a set of threads on the requestor node.

3. The computer system of claim 1 , wherein based at least in part on an indication of page contention included in the request, a comparison is performed of a size of common interest between the guest thread and a set of guest threads on the node to a size of common interest between the guest thread and a set of guest threads on the target node that received the request.

4. The computer system of claim 3 , wherein the size of common interest between the guest thread running on the requestor node and the set of guest threads on the target node is determined based at least in part on a recorded history of page accesses by the guest thread, wherein the recorded history is included in the request.

5. The computer system of claim 4 , wherein a size of common interest between the guest thread and an individual guest thread in the set of guest threads on the target node that received the request is determined based at least in part on a hamming weight, and wherein the size of common interest between the guest thread and the set of guest threads on the target node is determined at least in part by aggregating individual hamming weights.

6. The computer system of claim 5 , wherein an individual hamming weight is excluded from the aggregating in response to determining that the individual hamming weight is below a threshold.

7. The computer system of claim 1 , wherein the response comprises a rejection of the request, and wherein a determination is made at the requestor node whether to migrate a virtual processor running the guest thread or to send a subsequent request for the resource.

8. The computer system of claim 7 , wherein the determination of whether to migrate a virtual processor running the guest thread or to send a subsequent request for the resource is based at least in part on receipt by the requestor node of the rejection to the request.

9. A method, comprising:

receiving, at a target node in a plurality of interconnected nodes a request for a resource on the target node, wherein the request is received from a requestor node in the plurality of interconnected nodes, and wherein a guest operating system is run collectively across the plurality of interconnected nodes;

wherein the request includes information pertaining to a guest thread running on the requestor node that needs the requested resource, wherein the guest thread is associated with an application running on the guest operating system that is run collectively across the plurality of interconnected nodes;

based at least in part on a comparison of (1) at least some of the information pertaining to the guest thread included in the request and (2) information pertaining to the requested resource that is local to the target node that received the request, determining, by a hyper-kernel on the target node, whether to send the requested resource to the requestor node or reject the request; and

providing a response to the requestor node based at least in part on the determination.

10. The method of claim 9 , wherein the information pertaining to the guest thread running on the requestor node includes at least one of thread efficiency, affinity, duty, an indication of page contention, a recorded history of page accesses by the guest thread, warmth, utilization, and size of common interest with respect to a set of threads on the requestor node.

11. The method of claim 9 , wherein based at least in part on an indication of page contention included in the request, a comparison is performed of a size of common interest between the guest thread and a set of guest threads on the requestor node to a size of common interest between the guest thread and a set of guest threads on the target node that received the request.

12. The method of claim 11 , wherein the size of common interest between the guest thread running on the requestor node and the set of guest threads on the target node is determined based at least in part on a recorded history of page accesses by the guest thread, wherein the recorded history is included in the request.

13. The method of claim 12 , wherein a size of common interest between the guest thread and an individual guest thread in the set of guest threads on the target node that received the request is determined based at least in part on a hamming weight, and wherein the size of common interest between the guest thread and the set of guest threads on the target node that is determined at least in part by aggregating individual hamming weights.

14. The method of claim 13 , wherein an individual hamming weight is excluded from the aggregating in response to determining that the individual hamming weight is below a threshold.

15. The method of claim 9 , wherein the response comprises a rejection of the request, and wherein a determination is made at the requestor node whether to migrate a virtual processor running the guest thread or to send a subsequent request for the resource.

16. The method of claim 15 , wherein the determination of whether to migrate a virtual processor running the guest thread or to send a subsequent request for the resource is based at least in part on receipt by the requestor node of the rejection to the request.

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 Oct 13, 2017
From: NASSI, ISAAC R.; IOANNIDOU, KLEONI; MOFFET, BRIAN; BERMAN, MICHAEL; REED, DAVID P.
To: TIDALSCALE, INC.
Reel/Frame 043858/0125 →
Continuity (6)
Provisional Application 62457609 · Feb 10, 2017
Provisional Application 62380896 · Aug 29, 2016
Provisional Application 62468856 · Mar 8, 2017
Provisional Application 62525544 · Jun 27, 2017
Provisional Application 62525552 · Jun 27, 2017
Related Publication 20180060120A1 · Mar 1, 2018