Apparatuses and methods for monitoring performance of parallel computing
First Claim
1. A computer-implemented method comprisingexecuting a plurality of processes in parallel to process data, wherein at least one of the processes is represented by a graphical object;
- displaying graphical representations of the processes and the flow of the data through the processes as the data is processed by the processes, wherein a volume of the flow of data processed by the at least one of the processes is represented by a characteristic of the graphical representation of the flow of data associated with the at least one of the processes.
7 Assignments
0 Petitions
Accused Products
Abstract
A performance monitor represents execution of a data flow graph by changing performance information along different parts of a representation of that graph. If the graph is executed in parallel, the monitor can show parallel operator instances, associated datalinks, and performance information relevant to each. The individual parallel processes executing the graph send performance messages to the performance monitor, and the performance monitor can instruct such processes to vary the information they send. The monitor can provides 2D or 3D views in which the user can change focus, zoom and viewpoint. In 3D views, parallel instances of the same operator are grouped in a 2D array. The data rate of a datalink can be represented by both the density and velocity of line segments along the line which represent it. The line can be colored as a function of the datalink'"'"'s source or destination, its data rate, or the integral thereof. Alternatively, a histogram can be displayed along each datalink'"'"'s line, displaying information about the rate of, total of, or value of a field in, the data sent, at successive intervals. The user can click on objects to obtain additional information, such as bar charts of statistics, detailed performance listings, or invocation of a debugger. The user can selectively collapse representations of graph objects into composite representations, highlight objects which are out of records or which have flow blockages; label operators; turn off the display of objects; and record and playback the performance information.
297 Citations
18 Claims
-
1. A computer-implemented method comprising
executing a plurality of processes in parallel to process data, wherein at least one of the processes is represented by a graphical object; displaying graphical representations of the processes and the flow of the data through the processes as the data is processed by the processes, wherein a volume of the flow of data processed by the at least one of the processes is represented by a characteristic of the graphical representation of the flow of data associated with the at least one of the processes. - View Dependent Claims (2, 3)
-
4. A computer-implemented method comprising
executing a plurality of processes on a plurality of processors to process data, wherein at least one of the processes is an instance of an operator, and the instance is executed by at least one of the processors; displaying graphical representations of the processes and the flow of the data through the processes as the data is processed by the processes, wherein a volume of the data processed by each instance is represented by a characteristic of the graphical representation of the flow of data associated with the at least one of the processes. - View Dependent Claims (5, 6)
-
7. A computer-implemented method comprising
executing a plurality of processes to process data, wherein at least a portion of the processes are instances of parallelizable operators; -
displaying a graphical user interface to the user to enable the user to define a data flow graph representing, at least in part, a combination of the parallelizable operators and relationships among the parallelizable operators for processing the data;
parallelizing the parallelizable operators to generate the instances of the parallelizable operators to process the data; and
displaying graphical representations of the processes and the flow of the data through the processes as the data is processed by the processes, wherein a volume of the data process by each one of the instances of the one of at least one of the parallelizable operators is represented by a characteristic of a graphical representation of the flow of data associated with a corresponding one of the parallelizable operators. - View Dependent Claims (8, 9)
-
-
10. Computer-readable medium storing a computer program comprising instructions for:
-
executing a plurality of processes in parallel to process data, wherein at least one of the processes is represented by a graphical object;
displaying graphical representations of the processes and the flow of the data through the processes as the data is processed by the processes, wherein a volume of the flow of data processed by the at least one of the processes is represented by a characteristic of the graphical representation of the flow of data associated with the at least one of the processes. - View Dependent Claims (11, 12)
-
-
13. Computer-readable medium storing a computer program comprising instructions for:
-
executing a plurality of processes on a plurality of processors to process data, wherein at least one of the processes is an instance of an operator, and the instance is executed by at least one of the processors;
displaying graphical representations of the processes and the flow of the data through the processes as the data is processed by the processes, wherein a volume of the data processed by each instance is represented by a characteristic of the graphical representation of the flow of data associated with the at least one of the processes. - View Dependent Claims (14, 15)
-
-
16. Computer-readable medium storing a computer program comprising instructions for:
-
executing a plurality of processes to process data, wherein at least a portion of the processes are instances of parallelizable operators;
displaying graphical user interface to the user to enable the user to define a data flow graph representing, at least in part, a combination of the parallelizable operators and relationships among the parallelizable operators for processing the data;
parallelizing the parallelizable operators to generate the instances of the parallelizable operators to process the data; and
displaying graphical representations of the processes and the flow of the data through the processes as the data is processed by the processes, wherein a volume of the data processed by each one of the instances of the one of at least one of the parallelizable operators is represented by a characteristic of the graphical representation of the flow of data associated with a corresponding one of the parallelizable operators. - View Dependent Claims (17, 18)
-
Specification