IP Library Granted Patent US 8,739,162
Granted Patent B2
US 8,739,162 · App. 11/796,423 · Granted May 27, 2014

Accurate measurement of multithreaded processor core utilization and logical processor utilization

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 8,739,162
App. No.
11/796,423
Granted
May 27, 2014
Kind
B2
Abstract

An embodiment of the invention provides an apparatus and method for accurate measurement of utilizations in a hardware multithreaded processor core. The apparatus and method perform the acts including: determining idle time spent cycles which are cycles that are spent in idle by a hardware thread in a processor core; determining idle consumed cycles which are cycles that are consumed in the idle time spent cycles, by the hardware thread; and determining at least one of a processor core utilization and a logical processor utilization based upon at least one of the idle time spent cycles (d 1 ) and idle consumed cycles (d 3 ).

Claims (44)

1. A method for accurate measurement of utilizations in a hardware multithreaded processor core having a plurality of hardware threads, the method, comprising:

determining idle time spent cycles (d 1 ), for a first hardware thread in the multithreaded processor core, which are cycles that elapse between a first time stamp that indicates a hardware thread enters an idle state and a second time stamp that indicates the hardware tread exits the idle state;

determining idle cycles yielded (d 2 ) for the first hardware thread, which are cycles that the hardware thread has yielded to a sibling hardware thread in the multithreaded processor core;

determining idle consumed cycles (d 3 ), for the first hardware thread, which are cycles that are consumed by the hardware thread from the idle spent cycles (d 1 ) and which are cycles defined by a difference between, the idle spent cycles (d 1 ) for the hardware thread and the idle cycles yielded (d 2 ) for the hardware thread;

determining idle time spent cycles (d 1 ) for a second hardware thread in the multithreaded processor core;

determining idle cycles yielded (d 2 ) for the second hardware thread in the multithreaded processor core;

determining idle consumed cycles (d 3 ), for the second hardware thread in the multithreaded processor core; and

determining that a utilization measurement of the multithreaded processor core is a fully utilized measurement that indicates that the multithreaded processor core is being fully utilized and determining that a utilization measurement of the first hardware thread is a non-utilized measurement that indicates that the first hardware thread is not being fully utilized if the difference between the idle time spent cycles (d 1 ) for the first hardware thread and the idle consumed cycles (d 3 ) for the first hardware thread is greater than a threshold divergence value and if the idle time spent cycles (d 1 ) for the second hardware thread is lower than a first threshold or the idle consumed cycles (d 3 ) for the second hardware thread is lower than a second threshold.

2. The method of claim 1 , further comprising:

determining that the utilization measurement of the multithreaded processor core is a first non-utilized measurement that indicates that the multithreaded processor core is not being fully utilized and determining that the utilization measurement of the first hardware thread is a second non-utilized measurement that indicates that the first hardware thread is not being fully utilized if the idle time spent cycles (d 1 ) are the same as the idle consumed cycles (d 3 ).

3. The method of claim 1 , further comprising:

determining that the utilization measurement of the first hardware thread is a non-utilized measurement that indicates that the first hardware thread is not being fully utilized if the idle time spent cycles (d 1 ) has a value greater than a predetermined upper threshold value.

4. The method of claim 1 , further comprising:

determining that the utilization measurement of the first hardware thread is a fully utilized measurement that indicates that the first hardware thread is being fully utilized if the idle time spent cycles (d 1 ) is below a predetermined lower threshold value.

5. The method of claim 1 , further comprising:

determining that the utilization measurement of the multithreaded processor core is a first fully utilized measurement that indicates that the multithreaded processor core is being fully and determining that the utilization measurement of the first hardware thread is a second fully utilized measurement that indicates that the first hardware thread is being fully utilized if the idle time spent cycles (d 1 ) of the first hardware thread is below a predetermined lower threshold value and the idle time spent cycle (d 1 ) of the second hardware thread is below the predetermined lower threshold value.

6. The method of claim 1 , wherein the utilization measurement of the multithreaded processor core is associated with an overall utilization of the multithreaded processor core.

7. The method of claim 1 , wherein the utilization measurement of the first hardware thread is associated with any hardware thread of the multithreaded processor core.

8. An apparatus for accurate measurement of utilizations in a hardware multithreaded processor core having a plurality of hardware threads, the apparatus comprising:

a hardware multithreaded processor core configured to:

determine idle time spent cycles (d 1 ), a first hardware thread in the multithreaded processor core, which are cycles that elapsed between a first time stamp that indicates that a hardware thread enters an idle state and a second time stamp that indicates that the hardware thread exits the idle state;

determine idle cycles yielded (d 2 ), for the first hardware thread, which are cycles that the hardware thread has yielded to a sibling hardware thread in the multithreaded processor core;

determine idle consumed cycles (d 3 ), for the first hardware thread, which are cycles that are consumed by the hardware thread from the idle spent cycles (d 1 ) and which are cycles defined by a difference between the idle spent cycles (d 1 ) for the hardware thread and the idle cycles yielded (d 2 ) for the hardware thread;

determine idle time spent cycles (d 1 ), for a second hardware thread in the multithreaded processor core;

determine idle cycles yielded (d 2 ), for the second hardware thread in the multithreaded processor core;

determine idle consumed cycles (d 3 ), for the second hardware thread in the multithreaded processor core; and

determine that the utilization measurement of the multithreaded processor core is a fully utilized measurement that indicates that the multithreaded processor core is being fully utilized and determine that the utilization measurement of the first hardware thread is non-utilized measurement that indicates that the first hardware thread is not being fully utilized if the difference between the idle time spent cycles (d 1 ) for the first hardware thread and the idle consumed cycles (d 3 ) for the first hardware thread is greater than a threshold divergence value and if the idle time spent cycles (d 1 ) for the second hardware thread is lower than a first threshold or the idle consumed cycles (d 3 ) for the second hardware thread is lower than a second threshold.

9. The apparatus of claim 8 , wherein the hardware multithreaded processor core is configured to determine that the utilization measurement of the multithreaded processor core is a first non-utilized measurement that indicates that the multithreaded processor core is not being fully utilized and determine that the utilization measurement of the first hardware thread is a second non-utilized measurement that indicates that the first hardware thread is not being fully utilized if the idle time spent cycles (d 1 ) are the same as the idle consumed cycles (d 3 ).

10. The apparatus of claim 8 , wherein the hardware multithreaded processor core is configured to determine that the utilization measurement of the first hardware thread is a non-utilized measurement that indicates that the first hardware thread is not being fully utilized if d 1 has value greater than a predetermined upper threshold value.

11. The apparatus of claim 8 , wherein the hardware multithreaded processor core is configured to determine that the utilization measurement is a fully utilized measurement that indicates that the first hardware thread is being fully utilized if the idle time spent cycles (d 1 ) is below a predetermined lower threshold value.

12. The apparatus of claim 8 , wherein the hardware multithreaded processor core is configured to;

determine that the utilization measurement of the multithreaded processor is a first fully utilized measurement that indicates that the multithreaded processor core is being fully utilized and determine that the utilization measurement of the first hardware thread is a second fully utilized measurement that indicates that the first hardware thread is being fully utilized if the idle time spent cycles (d 1 ) for the first hardware thread is below a predetermined lower threshold value and the idle time spent cycle (d 1 ) of the second hardware thread is below the predetermined lower threshold value.

13. The apparatus of claim 8 , wherein the utilization measurement of the multithreaded processor core is associated with an overall utilization of the multithreaded processor core.

14. The apparatus of claim 8 , wherein the utilization measurement of the first hardware thread is associated with any hardware thread of the multithreaded processor core.

15. An apparatus for accurate measurement of utilizations in a hardware multithreaded processor core having a plurality of hardware threads, the apparatus comprising:

a memory; and

a processor configured to execute instructions stored on the memory, the instructions comprising instructions for:

determining idle time spent cycles (d 1 ), for a first hardware thread in the multithreaded processor core, which are cycles that elapse between a first time stamp that indicates that a hardware thread, enters an idle state and a second time stamp that indicates the hardware thread exits the idle state;

determining idle cycle yielded (d 2 ), for the first hardware thread, which are cycles that the hardware thread has yielded to a sibling hardware thread in the multithreaded processor core;

determine idle consumed cycles (d 3 ), for the first hardware thread, which are cycles that are consumed by the hardware thread from the idle spent cycles (d 1 ) and which are cycles defined by a difference between the idle spent cycles (d 1 ) for the hardware thread and the idle cycles yielded (d 2 ) for the hardware thread;

determining idle time spent cycles (d 1 ), for a second hardware thread in the multithreaded processor core;

determine idle cycles yielded (d 2 ), for the second hardware thread in the multithreaded processor core;

determine idle consumed cycles (d 3 ), for the second hardware thread in the multithreaded processor core; and

determine that the utilization measurement of the multithreaded processor core is a fully utilized measurement that indicates that the multithreaded processor core is being fully utilized and determine that the utilization measurement of the first hardware thread is a non-utilized measurement that indicates that the first hardware thread is not being fully utilized if the difference between the idle time spent cycles (d 1 ) for the first hardware thread and the idle consumed cycles (d 3 ) for the first hardware thread is greater than a threshold divergence value and if the idle time spent cycles (d 1 ) for the second hardware thread is lower than a first threshold or the idle consumed cycles (d 3 ) for the second hardware thread is lower than a second threshold.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 18, 2021
From: OT PATENT ESCROW, LLC
To: VALTRUS INNOVATIONS LIMITED
Reel/Frame 058897/0262 →
PATENT ASSIGNMENT, SECURITY INTEREST, AND LIEN AGREEMENT Recorded Jan 26, 2021
From: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP; HEWLETT PACKARD ENTERPRISE COMPANY
To: OT PATENT ESCROW, LLC
Reel/Frame 055269/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 27, 2007
From: KIM, HYUN; NORTON, SCOTT J.
To: HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P.
Reel/Frame 019316/0066 →