Distributed runtime diagnostics in hierarchical parallel environments
First Claim
1. A computer-implemented method for performing distributed runtime diagnostics in a hierarchical parallel environment containing a plurality of processing elements, comprising:
- receiving, at a user interface, user input specifying at least a first processing element of the hierarchical parallel environment for diagnostics;
receiving, at the user interface, user input specifying an algorithm for the first processing element to execute using a set of data;
receiving, at the user interface, user input specifying a condition, wherein the condition specifies when, during the algorithm, to execute the diagnostic function;
transmitting, via a communication interface to the first processing element, the specified algorithm, the set of data, the diagnostic function, and the specified condition; and
invoking the diagnostic function on the first processing element when the condition is satisfied.
1 Assignment
0 Petitions
Accused Products
Abstract
A technique is disclosed for distributed runtime diagnostics in hierarchical parallel environments. In one embodiment, a user is allowed to configure, during runtime, a processing element on which to perform diagnostics, an algorithm for the processing element to execute, a data set for the algorithm to execute against, a diagnostic function for the processing element to execute, a condition for executing the diagnostic function, and visualization parameters for memory local to the processing element. As a result, runtime diagnostics can be performed with sufficient degree of control and customization to aid debugging in a hierarchical parallel environment.
21 Citations
22 Claims
-
1. A computer-implemented method for performing distributed runtime diagnostics in a hierarchical parallel environment containing a plurality of processing elements, comprising:
-
receiving, at a user interface, user input specifying at least a first processing element of the hierarchical parallel environment for diagnostics; receiving, at the user interface, user input specifying an algorithm for the first processing element to execute using a set of data; receiving, at the user interface, user input specifying a condition, wherein the condition specifies when, during the algorithm, to execute the diagnostic function; transmitting, via a communication interface to the first processing element, the specified algorithm, the set of data, the diagnostic function, and the specified condition; and invoking the diagnostic function on the first processing element when the condition is satisfied. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A non-transitory computer readable storage medium containing a program which, when executed, performs an operation for performing distributed runtime diagnostics in a hierarchical parallel environment containing a plurality of processing elements, comprising:
-
receiving user input specifying at least a first processing element of the hierarchical parallel environment for diagnostics; receiving user input specifying an algorithm for the first processing element to execute using a set of data; receiving user input specifying a condition, wherein the condition specifies when, during the algorithm, to execute the diagnostic function; transmitting, to the first processing element, the specified algorithm, the set of data, the diagnostic function, and the specified condition; and invoking the diagnostic function on the first processing element when the condition is satisfied. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
-
15. A system, comprising:
-
a processor; and a memory containing a program, which when executed by the processor is configured to perform an operation for performing distributed runtime diagnostics in a hierarchical parallel environment containing a plurality of processing elements, comprising; receiving user input specifying a processing element of the hierarchical parallel environment for diagnostics; receiving user input specifying an algorithm for the processing element to execute; receiving user input specifying a data set for the algorithm to execute against; receiving user input specifying a diagnostic function for the processing element to execute; receiving user input specifying a condition, wherein the condition specifies when, during the algorithm, to execute the diagnostic function; loading the specified algorithm, the specified data set, the specified diagnostic function, and the specified condition into a local memory of the specified processing element; and executing the specified diagnostic function on the specified processing element when the condition is satisfied. - View Dependent Claims (16, 17, 18, 19, 20, 21)
-
-
22. A computer-implemented method for performing distributed runtime diagnostics in a computing environment which includes a hierarchy of processing elements including at least a main processing element and a plurality of subordinate processing element, the method comprising:
-
invoking, by the main processing element, executable code on one or more of the subordinate processing elements, wherein the executable code on at least a first one of the one or more subordinate processing elements is instrumented to invoke a diagnostic function when specified conditions are satisfied; invoking the diagnostic function, via the instrumented executable code, during execution of the executable code on the first subordinate processing element, on the subordinate processing element when the conditions are satisfied; storing, by the first subordinate processing element, a result from obtained from invoking the diagnostic function in a dedicated region of memory local to the first subordinate processing element; and reporting, by the first subordinate processing element, the result to the main processing element.
-
Specification