IP Library Granted Patent US 9,015,718
Granted Patent B1
US 9,015,718 · App. 13/247,948 · Granted Apr 21, 2015

Identifying task instances that interfere with processor performance

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 9,015,718
App. No.
13/247,948
Granted
Apr 21, 2015
Kind
B1
Abstract

Among other disclosed subject matter, a computer-implemented method includes receiving an indication that execution of an instance of a first task is degraded relative to a performance threshold associated with the first task. Performance data associated with the execution of the instance of the first task and performance data associated with execution of a plurality of additional tasks executed on the computing device are collected. For each of the plurality of additional tasks, the method includes determining a score for the respective additional task based on the performance data associated with the execution of the instance of the first task and performance data associated with the respective additional task. The method includes identifying one or more additional tasks as a potential cause of degraded performance based on the scores associated with each of the plurality of additional tasks. The method includes modifying an execution of a particular identified task.

Claims (54)

1. A computer-implemented method comprising:

receiving an indication that execution of an instance of a first task on a computing device is degraded relative to a performance threshold associated with the first task;

collecting performance data associated with the execution of the instance of the first task and performance data associated with execution of a plurality of additional tasks executed on the computing device;

for respective tasks from the plurality of additional tasks:

determining a score for the respective additional task based on a correlation between the performance data associated with the execution of the instance of the first task and performance data associated with the execution of the respective additional task, the score representing a probability that the respective additional task is a cause of degraded performance of the instance of the first task;

identifying one or more additional tasks as a potential cause of degraded performance for the instance of the first task based on the scores each of which are associated with the first task and one of the plurality of additional tasks;

selecting a particular identified task from the one or more identified additional tasks using a corresponding score for the particular identified task and the instance of the first task;

modifying an execution of the particular identified task; and

determining whether the particular identified task is a cause of degraded performance for the instance of the first task.

2. The computer-implemented method of claim 1 comprising:

ranking the one or more identified additional tasks using the scores, wherein selecting the particular identified task from the one or more identified additional tasks comprises selecting a highest ranked task in the ranking of the one or more identified additional tasks that is notes a high priority task.

3. The method of claim 1 wherein the performance data associated with the instance of the first task includes cycles per instruction data associated with the instance of the first task.

4. The method of claim 3 wherein the performance data associated with the plurality of additional tasks includes processor usage data associated with each of the plurality of additional tasks.

5. The method of claim 4 wherein a time period associated with the cycles per instruction data corresponds to a time period associated with the processor usage data.

6. The method of claim 1 wherein determining the score includes normalizing the performance data associated with the instance of the first task before determining the score.

7. The method of claim 6 , wherein normalizing the performance data associated with the instance of the first task before determining the score comprises normalizing a sum of a particular performance measure for each of the plurality of additional tasks.

8. The method of claim 1 wherein modifying the execution of the particular identified task includes relocating the task to a second computer.

9. The method of claim 1 wherein modifying the execution of the particular identified task includes limiting resources associated with the computing device used to execute the particular identified task.

10. The method of claim 1 further comprising:

determining whether the particular identified task is a high-priority task; and

modifying the execution of the particular identified task based on the determination that the particular identified task is a not a high-priority task.

11. The method of claim 10 further comprising:

selecting a second particular identified task from the one or more additional tasks; and

modifying the execution of the second particular task based on the determination that the particular task is a high priority task.

12. The method of claim 1 wherein the correlation between the performance data associated with the instance of the first task and the performance data associated with the respective additional task comprises a correlation between a first performance measure of the first task and a second performance measure of the respective additional task.

13. The method of claim 12 , wherein:

the first performance measure of the first task comprises a performance measure of a first property of the instance of the first task; and

the second performance measure of the respective additional task comprises a performance measure of a second property of the respective additional task, the second property different than the first property.

14. The method of claim 13 , wherein the first property comprises cycles per instruction and the second property comprises computer processor unit usage.

15. A system comprising:

memory;

one or more processors coupled to the memory and configured to execute instructions causing the one or more processors to perform operations comprising:

receiving an indication that execution of an instance of a first task on a computing device is degraded relative to a performance threshold associated with the first task;

collecting performance data associated with the execution of the instance of the first task and performance data associated with execution of a plurality of additional tasks executed on the computing device;

for respective tasks from the plurality of additional tasks:

determining a score for the respective additional task based on a correlation between the performance data associated with the execution of the instance of the first task and performance data associated with the execution of the respective additional task, the score representing a probability that the respective additional task is a cause of degraded performance of the instance of the first task;

identifying one or more additional tasks as a potential cause of degraded performance for the instance of the first task based on the scores each of which are associated with the first task and one of the plurality of additional tasks;

selecting a particular identified task from the one or more identified additional tasks using a corresponding score for the particular identified task and the instance of the first task;

modifying an execution of the particular identified task; and

determining whether the particular identified task is a cause of degraded performance for the instance of the first task.

16. The system of claim 15 the operations comprising:

ranking the one or more identified additional tasks using the scores, wherein selecting the particular identified task from the one or more identified additional tasks comprises selecting a highest ranked task in the ranking of the one or more identified additional tasks that is not a high priority task.

17. The system of claim 15 wherein the performance data associated with the instance of the first task includes cycles per instruction data associated with the instance of the first task.

18. The system of claim 17 wherein the performance data associated with the plurality of additional tasks includes processor usage data associated with each of the plurality of additional tasks.

19. The system of claim 18 wherein a time period associated with the cycles per instruction data corresponds to a time period associated with the processor usage data.

20. The system of claim 15 wherein determining the score includes normalizing the performance data associated with the instance of the first task before determining the score.

21. The system of claim 15 wherein modifying the execution of the particular identified task includes relocating the task to a second computer.

22. The system of claim 15 wherein modifying the execution of the particular identified task includes limiting resources associated with the computing device used to execute the particular identified task.

23. The system of claim 15 , wherein the operations further comprise:

determining whether the particular identified task is a high-priority task; and

modifying the execution of the particular identified task based on the determination that the particular identified task is a not a high-priority task.

24. The system of claim 23 wherein the operations further comprise:

selecting a second particular identified task from the one or more additional tasks; and

modifying the execution of the second particular task based on the determination that the particular task is a high priority task.

Assignments (1)
CHANGE OF NAME Recorded Oct 2, 2017
From: GOOGLE INC.
To: GOOGLE LLC
Reel/Frame 044334/0466 →