Performance analysis of distributed applications using automatic classification of communication inefficiencies
First Claim
1. A method of performance analysis using machine learning comprising:
- generating a plurality of training records to model the behavior of a first application;
creating a decision tree classifier having a plurality of tests based on the plurality of training records; and
applying said decision tree classifier to a second application.
3 Assignments
0 Petitions
Accused Products
Abstract
The method and system described herein presents a technique for performance analysis that helps users understand the communication behavior of their message passing applications. The method and system described herein may automatically classifies individual communication operations and reveal the cause of communication inefficiencies in the application. This classification allows the developer to quickly focus on the culprits of truly inefficient behavior, rather than manually foraging through massive amounts of performance data. Specifically, the method and system described herein trace the message operations of Message Passing Interface (MPI) applications and then classify each individual communication event using a supervised learning technique: decision tree classification. The decision tree may be trained using microbenchmarks that demonstrate both efficient and inefficient communication. Since the method and system described herein adapt to the target system'"'"'s configuration through these microbenchmarks, they simultaneously automate the performance analysis process and improve classification accuracy. The method and system described herein may improve the accuracy of performance analysis and dramatically reduce the amount of data that users must encounter.
-
Citations
20 Claims
-
1. A method of performance analysis using machine learning comprising:
-
generating a plurality of training records to model the behavior of a first application;
creating a decision tree classifier having a plurality of tests based on the plurality of training records; and
applying said decision tree classifier to a second application. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A system for performance analysis using machine learning comprising:
-
a microprocessor and memory configured to generated a plurality of training records to model the behavior of a first application;
the microprocessor and memory configured to create a decision tree classifier having a plurality of tests based on the plurality of training records; and
the microprocessor and memory configured to apply said decision tree classifier to a second application. - View Dependent Claims (11, 12, 13, 14, 19, 20)
-
-
15. A system of performance analysis using machine learning comprising:
-
a means for generating a plurality of training records to model the behavior of a first application;
a means for creating a decision tree classifier having a plurality of tests based on the plurality of training records; and
a means for applying said decision tree classifier to a second application
-
-
16. A computer readable medium having instructions for performance analysis using machine learning comprising:
-
said instructions configured to generated a plurality of training records to model the behavior of a first application;
said instructions configured to create a decision tree classifier having a plurality of tests based on the plurality of training records; and
said instructions configured to apply said decision tree classifier to a second application.
-
-
17. A computer readable data transmission medium having a data structure for performance analysis using machine learning comprising:
-
said data structure configured to generated a plurality of training records to model the behavior of a first application;
said data structure configured to create a decision tree classifier having a plurality of tests based on the plurality of training records; and
said data structure configured to apply said decision tree classifier to a second application.
-
-
18. A method comprising:
-
generating a plurality of training records to model the behavior of a first application;
creating a decision tree classifier having a plurality of tests based on the plurality of training records; and
applying said decision tree classifier to a second application.
-
Specification