IP Library Granted Patent US 10,783,000
Granted Patent B2
US 10,783,000 · App. 16/407,043 · Granted Sep 22, 2020

Associating working sets and threads

Inventors: Isaac R. Nassi (Los Gatos, CA); Kleoni Ioannidou (Sunnyvale, CA); David P. Reed (Needham, MA); I-Chun Fang (San Jose, CA); Michael Berman (Scotts Valley, CA); Mark Hill (Los Altos, CA); Brian Moffet (Santa Cruz, CA)
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,783,000
App. No.
16/407,043
Granted
Sep 22, 2020
Kind
B2
Abstract

Associating working sets and threads is disclosed. An indication of a stalling event is received. In response to receiving the indication of the stalling event, a state of a processor associated with the stalling event is saved. At least one of an identifier of a guest thread running in the processor and a guest physical address referenced by the processor is obtained from the saved processor state.

Claims (19)

1. A computer system, comprising:

a plurality of interconnected computing nodes, wherein at least one computing node comprises one or more physical processors, and wherein a physical processor instantiates one or more virtual processors;

wherein in response to a non-local page request that caused a virtual processor to stall, determine an identifier of a guest thread that had been running in the virtual processor and a guest physical address referenced by the guest thread that had been running in the virtual processor; and

wherein referencing of the guest physical address by the guest thread is recorded in a history of page accesses by the guest thread.

2. The computer system of claim 1 , wherein the identifier of the guest thread that had been running in the virtual processor is obtained from an FS-Base0 register in virtual processor state associated with the virtual processor.

3. The computer system of claim 1 , wherein the guest physical address is obtained from a CR3 register in virtual processor state associated with the virtual processor.

4. The computer system of claim 1 , wherein the history of page accesses by the guest thread is stored in a Bloom filter.

5. The computer system of claim 1 , wherein a measure of warmth for the guest thread is determined based at least in part on the recorded history of page accesses by the guest thread, wherein the measure of warmth is indicative of a number of pages in the recorded history of page accesses by the guest thread that are local to a computing node.

6. The computer system of claim 1 , wherein a measure of utilization for the guest thread is determined based at least in part on the recorded history of page accesses by the guest thread, wherein the measure of utilization is indicative of an amount of overlap in page access behavior of the guest thread between two time periods.

7. The computer system of claim 1 , wherein a measure of efficiency for the guest thread when running on a computing node in the plurality of computing nodes is determined.

8. A method, comprising:

in response to a non-local page request that caused a virtual processor to stall, determining an identifier of a guest thread had been running in the virtual processor and a guest physical address referenced by the guest thread that had been running in the virtual processor, wherein the virtual processor is instantiated at least in part by a physical processor included in a computing node in a plurality of interconnected computing nodes; and

recording referencing of the guest physical address by the guest thread in a history of page accesses by the guest thread.

9. The method of claim 8 , wherein the identifier of the guest thread running in the virtual processor is obtained from an FS-Base0 register in virtual processor state associated with the virtual processor.

10. The method of claim 8 , wherein the guest physical address is obtained from a CR3 register in virtual processor state associated with the virtual processor.

11. The method of claim 8 , wherein the recorded history of page accesses by the guest thread is stored in a Bloom filter.

12. The method of claim 8 , further comprising determining a measure of warmth for the guest thread based at least in part on the recorded history of page accesses by the guest thread, wherein the measure of warmth is indicative of a number of pages in the recorded history of page accesses by the guest thread that are local to a computing node.

13. The method of claim 8 , further comprising determining a measure of utilization for the guest thread based at least in part on the recorded history of page accesses by the guest thread, wherein the measure of utilization is indicative of an amount of overlap in page access behavior of the guest thread between two time periods.

14. The method of claim 8 , further comprising determining a measure of efficiency for the guest thread when running on a computing node in the plurality of computing nodes.

Assignments (4)
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 15687173 · Aug 25, 2017
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 20190361735A1 · Nov 28, 2019