IP Library Granted Patent US 12,073,218
Granted Patent B2
US 12,073,218 · App. 17/194,527 · Granted Aug 27, 2024

System and method for the detection of processing hot-spots

Inventors: Andrew Ward Beale (Irvine, CA); David Strong (Irvine, CA)
Assignee: Unisys Corporation
G06F9/3013G06F11/3442G06F12/0623G06F2212/452
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 12,073,218
App. No.
17/194,527
Granted
Aug 27, 2024
Kind
B2
Abstract

A system and method for the storage, within one or more virtual execution context registers, tracing information indicative of process/code flow within a processor system. This stored information can include a time stamp, information indicative of where the instruction pointer of the system was pointing prior to any process discontinuity, information indicative of where the instruction pointer of the system was pointing after any process discontinuity, and the number of times a specific instruction or sub-process is executed during a particular process. The data collected and stored can be utilized within such a system for the identification and analysis of processing hot-spots.

Claims (45)

1. A system for recognizing processing hot-spots comprising:

at least one processor coupled with a memory;

the memory including:

a plurality of addressable virtual registers, wherein each of the addressable virtual registers stores code indicative of an individual process step;

a plurality of code execution registers, each dedicated to storing information related to a particular individual process step; and

the at least one processor adapted to:

execute at least one process comprising sequentially executing one or more identifiable process steps as indicated by the code stored within the plurality of addressable virtual registers,

record a number of times, within the execution of the at least one process, a particular identifiable process step, as indicated by the code stored within the plurality of addressable virtual registers, is executed, wherein the number of times the particular identifiable process step is executed is determined based on a number of times a specific identifiable code location for the particular identifiable process step occurs within the execution of the at least on process;

store a value indicative of the number of times a particular identifiable process step is executed in a particular one of the plurality of code execution registers dedicated to the particular identifiable process step; and

classify a particular identifiable process step as a process hot-spot based, at least in part, upon the stored value indicative of the number of times a particular identifiable process step is executed and the stored value is a highest count value among the plurality of code execution registers.

2. The system of claim 1 wherein recording the number of times, within the execution of the at least one process, a particular identifiable process step, as indicated by the code stored within the plurality of addressable virtual registers, is executed comprises increasing a monotonic counter.

3. The system of claim 1 wherein the plurality of code execution registers comprises at least one of the following:

a virtual memory; and

a physical memory.

4. The system of claim 1 wherein the at least one processor comprises at least one of the following:

a physical processor; and

a virtual processor.

5. The system of claim 1 wherein the plurality of addressable virtual registers comprises a virtual context memory.

6. The system of claim 5 wherein the virtual execution context memory comprises at least one of the following:

static random-access memory;

dynamic random-access memory;

a non-volatile memory; and

a three-dimensional cross-point memory.

7. A method for recognizing processing hot-spots: in a system comprising:

a plurality of addressable virtual registers, wherein each of the addressable virtual registers stores code indicative of an individual process step;

a plurality of code execution registers, each dedicated to storing information related to a particular individual process step; and

at least one processor adapted to:

execute at least one process comprising sequentially executing one or more identifiable process steps as indicated by the code stored within the plurality of addressable virtual registers;

the method comprising the steps of:

recording a number of times, within the execution of the at least one process, a particular identifiable process step, as indicated by the code stored within the plurality of addressable virtual registers, is executed, wherein the number of times the particular identifiable process step is executed is determined based on a number of times a specific identifiable code location for the particular identifiable process step occurs within the execution of the at least on process;

storing a value indicative of the number of times a particular identifiable process step is executed m a particular one of the plurality of code execution registers dedicated to the particular identifiable process step; and

classifying a particular identifiable process step as a process hot-spot based, at least in part, upon the stored value indicative of the number of times a particular identifiable process step is executed and the stored value is a highest count value among the plurality of code execution registers.

8. The method of claim 7 wherein the step of recording comprises increasing a monotonic counter.

9. The method of claim 7 wherein the plurality of code execution registers comprises at least one of the following:

a virtual memory; and

a physical memory.

10. The method of claim 7 wherein the at least one processor comprises at least one of the following:

a physical processor; and

a virtual processor.

11. The method of claim 7 wherein the plurality of addressable virtual registers comprises a virtual context memory.

12. The method of claim 11 wherein the virtual execution context memory comprises at least one of the following:

static random-access memory;

dynamic random-access memory:

a non-volatile memory; and

a three-dimensional cross-point memory.

Assignments (2)
AMENDED AND RESTATED PATENT SECURITY AGREEMENT Recorded Jun 27, 2025
From: UNISYS CORPORATION; UNISYS HOLDING CORPORATION; UNISYS NPL, INC.; UNISYS AP INVESTMENT COMPANY I
To: COMPUTERSHARE TRUST COMPANY, N.A., AS COLLATERAL TRUSTEE
Reel/Frame 071759/0527 →
SECURITY INTEREST Recorded Jun 14, 2021
From: UNISYS CORPORATION
To: WELLS FARGO BANK, NATIONAL ASSOCIATION
Reel/Frame 056531/0254 →
Continuity (1)
Related Publication 20220283808A1 · Sep 8, 2022