IP Library › Granted Patent US 9,170,909
Granted Patent B2
US 9,170,909 · App. 13/909,781 · Granted Oct 27, 2015

Automatic parallel performance profiling systems and methods

Inventor: Kevin D. Howard (Tempe, AZ)
Assignee: Massively Parallel Technologies, Inc.
G06F11/3003G06F11/3404G06F11/3419G06F11/3466G06F11/3612G06Q10/00G06F2201/865Y02B60/165
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,170,909
App. No.
13/909,781
Granted
Oct 27, 2015
Kind
B2
Abstract

An automatic profiling system and method determines an algorithm profile including performance predictability and pricing of a parallel processing algorithm.

Claims (24)

1. A method for automatically determining a parallel performance profile of a parallel processing algorithm stored within memory, comprising:

recording, via a profiler stored as computer readable instructions stored within the memory and executable by a processor, a total execution time for the algorithm to process test data for each of a plurality of iterations, wherein each iteration uses an increasing number of processing elements, and wherein the first iteration uses one processing element; and

determining performance predictability of the algorithm based upon the determined execution time and processing errors;

wherein the iterations repeat until an error occurs or until the total execution time for a current iteration is greater than the total execution time of a previous iteration.

2. The method of claim 1 , wherein the test data comprises three sizes of data sets: a small sized data set, a medium sized data set and a large sized data set.

3. The method of claim 2 , wherein each of the small, medium, and large sized data sets comprises three different sets of data, and wherein the total execution time for each size of data set is determined by averaging the execution time for each of the three different sets of data of that dataset size.

4. The method of claim 1 , further comprising determining pricing of the algorithm based upon the performance predictability and the determined execution time.

5. The method of claim 1 , further comprising determining Amdahl speedup of the algorithm based upon execution time of the algorithm running on a single node and execution time of the algorithm running on multiple nodes.

6. The method of claim 1 , further comprising determining pricing of the algorithm based upon the number of processing elements and power consumption cost of each processing element.

7. A system for automatically determining a parallel performance profile of a parallel processing algorithm, comprising:

a processor; and,

a memory for storing a profiler having machine readable instructions that when executed by the processor determine a profile of the algorithm, the profiler comprising at least one of:

instructions for determining performance predictability of the parallel processing algorithm, and

instructions for determining price of executing the parallel processing algorithm.

8. The system of claim 7 , the profiler further comprising:

instructions for recording a total execution time for the algorithm to process test data for each of a plurality of iterations, wherein each iteration uses an increasing number of processing elements, and wherein the first iteration uses one processing element; and

instructions for determining the performance predictability of the algorithm based upon the determined execution time and processing errors.

9. The system of claim 8 , wherein the iterations repeat until the total execution time for a current iteration is greater than a total execution time of a previous iteration.

10. The system of claim 8 , wherein the test data comprises three sizes of data sets: a small size data set, a medium size data set, and a large size data set.

11. The system of claim 10 , wherein each of the small, medium, and large size data sets comprises three different sets of data, and wherein the total execution time for each of the small, medium, and large size data sets is determined by averaging an execution time for each of the different sets of data of the respective dataset size.

12. The system of claim 7 , wherein the instructions for determining the price include instructions for determining the price of the algorithm based upon the performance predictability and the determined execution time.

13. The system of claim 7 , wherein the instructions for determining the profile of the algorithm comprise instructions for determining the Amdahl speedup of the algorithm based upon execution time of the algorithm running on a single processing element and execution time of the algorithm running on multiple processing elements.

14. The system of claim 13 , wherein each of the processing elements corresponds to a respective processing server of a server cluster coupled to the system.

15. The system of claim 7 , wherein the instructions for determining pricing of the algorithm comprise instructions for determining the pricing based upon the number of processing elements and power consumption cost of each processing element.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 5, 2013
From: HOWARD, KEVIN D.
To: MASSIVELY PARALLEL TECHNOLOGIES, INC.
Reel/Frame 031143/0306 →
Continuity (2)
Provisional Application 61655151 · Jun 4, 2012
Related Publication 20130346807A1 · Dec 26, 2013