IP Library Granted Patent US 11,144,428
Granted Patent B2
US 11,144,428 · App. 15/992,565 · Granted Oct 12, 2021

Efficient calculation of performance data for a computer

Inventor: Fumitake Abe (Numazu, JP)
Assignee: FUJITSU LIMITED
G06F11/3466G06F7/483G06F9/3004G06F12/0811G06F11/3409G06F11/3419G06F2201/81G06F2201/88G06F2201/885
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 11,144,428
App. No.
15/992,565
Granted
Oct 12, 2021
Kind
B2
Abstract

An apparatus includes a memory and a processor, where the processor includes a performance counter that stores performance data for the processor. The apparatus store plural groups of calculation instructions in the memory. The apparatus calculates a first execution result by executing, based on the performance data obtained from the performance counter, each calculation instruction included in a first group of calculation instructions, and selects a second group of calculation instructions to be executed next, from among the plural groups of calculation instructions, based on the calculated first execution result.

Claims (47)

1. A non-transitory, computer-readable recording medium having stored therein a program for causing a computer to execute a process, the computer including a performance counter that stores plural types of performance data for the computer, the process comprising:

providing plural groups of calculation instructions;

calculating a first execution result by executing, based on a first type of performance data obtained from the performance counter, each calculation instruction included in a first group of calculation instructions corresponding to the first type of performance data;

selecting a second group of calculation instructions to be executed next, from among the plural groups of calculation instructions, based on the calculated first execution result; and

calculating a second execution result by executing, based on a second type of performance data obtained from the performance counter, each calculation instruction included in the second group of calculation instructions corresponding to the second type of performance data.

2. The non-transitory, computer-readable recording medium of claim 1 , the process further comprising:

determining whether the first execution result exceeds a threshold; and

selecting the second group of calculation instructions, depending on a result of the determining.

3. The non-transitory, computer-readable recording medium of claim 1 , wherein

the first execution result includes a memory access wait time; and

the process includes selecting the second group of calculation instructions that include a calculation instruction relating to a L2 cache when the memory access wait time obtained from the first execution result exceeds a threshold.

4. The non-transitory, computer-readable recording medium of claim 1 , wherein

the first execution result includes an access wait time for a L2 cache; and

the process includes selecting the second group of calculation instructions that include a calculation instruction relating to the L2 cache when the access wait time for the L2 cache obtained from the first execution result exceeds a threshold.

5. The non-transitory, computer-readable recording medium of claim 1 , wherein

the first execution result includes an access wait time for a L1 cache; and

the process includes selecting the second group of calculation instructions that include a calculation instruction relating to the L1 cache when the access wait time for the L1 cache obtained from the first execution result exceeds a threshold.

6. The non-transitory, computer-readable recording medium of claim 1 , wherein

the first execution result includes a store wait time; and

the process includes selecting the second group of calculation instructions that include a calculation instruction relating to a floating point calculation wait time when the store wait time obtained from the first execution result exceeds a threshold.

7. The non-transitory, computer-readable recording medium of claim 1 , wherein

the first execution result includes a store wait time; and

the process includes selecting the second group of calculation instructions that include a calculation instruction relating to a branch instruction wait time when the store wait time obtained from the first execution result does not exceed a threshold.

8. The non-transitory, computer-readable recording medium of claim 1 , the process further comprising storing identification information for identifying the selected second group of calculation instructions.

9. The non-transitory, computer-readable recording medium of claim 8 , the process further comprising:

determining whether first identification information identifying the second group of calculation instructions that include a calculation instruction relating to a L2 cache is stored; and

upon determining that the first identification information is stored, selecting, as the second group of calculation instructions, a group of calculation instructions that include a calculation instruction relating to a floating point calculation wait time.

10. The non-transitory, computer-readable recording medium of claim 8 , the process further comprising:

determining whether first identification information identifying the second group of calculation instructions that include a calculation instruction relating to a L1 cache is stored; and

upon determining that the first identification information is stored, selecting, as the second group of calculation instructions, a group of calculation instructions that include a calculation instruction relating to a floating point calculation wait time.

11. The non-transitory, computer-readable recording medium of claim 1 , the process further comprising determining whether the second execution result exceeds a threshold; and

when the second execution result does not exceed a threshold, selecting the second group of calculation instructions to be executed next.

12. The non-transitory, computer-readable recording medium of claim 11 , wherein the process includes, when the second execution result exceeds the threshold, not selecting the second group of calculation instructions to be executed next.

13. The non-transitory, computer-readable recording medium of claim 1 , wherein

the first execution result includes a memory access wait time; and

the process includes, when the memory access wait time obtained from the first execution result exceeds a threshold, outputting data relating to the first execution result and information indicating that the memory access wait time exceeds the threshold.

14. An apparatus comprising:

a memory configured to store plural groups of calculation instructions;

a processor coupled to the memory and configured to include a performance counter that stores plural types of performance data for the processor, the processor is configured to:

calculate a first execution result by executing, based on a first type of performance data obtained from the performance counter, each calculation instruction included in a first group of calculation instructions corresponding to the first type of performance data;

select a second group of calculation instructions to be executed next, from among the plural groups of calculation instructions, based on the calculated first execution result; and

calculate a second execution result by executing, based on a second type of performance data obtained from the performance counter, each calculation instruction included in the second group of calculation instructions corresponding to the second type of performance data.

15. A method performed by an apparatus including a performance counter that stores plural types of performance data for a processor included in the apparatus, the method comprising:

providing plural groups of calculation instructions;

calculating a first execution result by executing, based on a first type of performance data obtained from the performance counter, each calculation instruction included in a first group of calculation instructions corresponding to the first type of performance data;

selecting a second group of calculation instructions to be executed next, from among the plural groups of calculation instructions, based on the calculated first execution result; and

calculating a second execution result by executing, based on a second type of performance data obtained from the performance counter, each calculation instruction included in the second group of calculation instructions corresponding to the second type of performance data.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 7, 2018
From: ABE, FUMITAKE
To: FUJITSU LIMITED
Reel/Frame 046011/0015 →
Priority Claims (1)
JP JP2017-110402 · Jun 2, 2017 · national
Continuity (1)
Related Publication 20180349249A1 · Dec 6, 2018
Cited By (1)
US 12,379,940