IP Library Granted Patent US 10,353,736
Granted Patent B2
US 10,353,736 · App. 15/687,173 · Granted Jul 16, 2019

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/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,353,736
App. No.
15/687,173
Granted
Jul 16, 2019
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 (25)

1. A computer system, comprising:

a plurality of interconnected physical nodes, wherein each physical node includes one or more physical processors each having one or more cores, and wherein each core instantiates one or more virtual processors that execute program code;

wherein in response to an indication of a stalling event that stalled a virtual processor, a state of the virtual processor associated with the stalling event is saved;

wherein at least one of an identifier of a guest thread running in the virtual processor and a guest physical address referenced by the guest thread running in the virtual processor is obtained from the virtual processor state saved in response to the indication of the stalling event; and

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

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

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

4. The computer system of claim 1 , wherein the stalling event is associated with access of a non-local page.

5. The computer system of claim 1 , wherein the stalling event is associated with a thread context switch.

6. The computer system of claim 1 , wherein the recorded history of page accesses by the identified guest thread is stored in a bloom filter.

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

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

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

10. A method, comprising:

in response to an indication of a stalling event that stalled a virtual processor, saving a state of the virtual processor associated with the stalling event, wherein the virtual processor is instantiated by a core of a physical processor included in a physical node in a plurality of interconnected physical nodes, and wherein the virtual processor executes program code;

obtaining, from the virtual processor state saved in response to the indication of the stalling event, at least one of an identifier of a guest thread running in the virtual processor and a guest physical address referenced by the guest thread running in the virtual processor; and

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

11. The method of claim 10 , wherein the identifier of the guest thread running in the virtual processor is obtained from an FS-Base0 register in the saved virtual processor state.

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

13. The method of claim 10 , wherein the stalling event is associated with access of a non-local page.

14. The method of claim 10 , wherein the stalling event is associated with a thread context switch.

15. The method of claim 10 , wherein the recorded history of page accesses by the identified guest thread is stored in a bloom filter.

16. The method of claim 10 , further comprising determining a measure of warmth for the identified guest thread based at least in part on the recorded history, wherein the measure of warmth is indicative of a number of pages in the recorded history that are local to a node.

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

18. The method of claim 10 , further comprising determining a measure of efficiency for the identified guest thread when running on the physical node.

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 10, 2017
From: NASSI, ISAAC R.; IOANNIDOU, KLEONI; REED, DAVID P.; FANG, I-CHUN; BERMAN, MICHAEL; HILL, MARK; MOFFET, BRIAN
To: TIDALSCALE, INC.
Reel/Frame 043823/0891 →
Continuity (6)
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 20180060071A1 · Mar 1, 2018
Cited By (1)
US 12,445,532