Analysis and visualization of cluster resource utilization
First Claim
1. A method, comprising:
- receiving a representative number of at least an amount of available cores in nodes of a distributed computing system;
receiving a plurality of event provider records including context switch records and runtime provider records, wherein context switch records are analyzed to determine a representative number of the cores used to perform at least one selected process over a course of time, and wherein the runtime provider records are analyzed to determine a representative number of the cores used to perform at least one library function that provides for processing the at least one selected process in the nodes over the course of time;
determining from the context switch records and the runtime provider records a duration of time each core of available cores performs the at least one selected process and the at least one selected library function over the course of time;
separating the course of time into periodic intervals;
determining a representative number of cores executing the selected process and library function for each of the periodic intervals on each node in the system; and
presenting the representative number of cores executing the selected process and library function for each of the periodic intervals against the representative number of at least the amount of available nodes over the course of time.
2 Assignments
0 Petitions
Accused Products
Abstract
An analysis and visualization depicts how an application is leveraging processor cores of a distributed computing system, such as a computer cluster, in time. The analysis and visualization enables a developer to readily identify the degree of concurrency exploited by an application at runtime and the amount of overhead used by libraries or middleware. Information regarding processes or threads running on the nodes over time is received, analyzed, and presented to indicate portions of computer cluster that are used by the application, idle, other processes, and libraries in the system. The analysis and visualization can help a developer understand or confirm contention for or under-utilization of system resources for the application and libraries.
38 Citations
20 Claims
-
1. A method, comprising:
-
receiving a representative number of at least an amount of available cores in nodes of a distributed computing system; receiving a plurality of event provider records including context switch records and runtime provider records, wherein context switch records are analyzed to determine a representative number of the cores used to perform at least one selected process over a course of time, and wherein the runtime provider records are analyzed to determine a representative number of the cores used to perform at least one library function that provides for processing the at least one selected process in the nodes over the course of time; determining from the context switch records and the runtime provider records a duration of time each core of available cores performs the at least one selected process and the at least one selected library function over the course of time; separating the course of time into periodic intervals; determining a representative number of cores executing the selected process and library function for each of the periodic intervals on each node in the system; and presenting the representative number of cores executing the selected process and library function for each of the periodic intervals against the representative number of at least the amount of available nodes over the course of time. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)
-
-
14. A computer readable storage device storing computer executable instructions for controlling a computing device to perform a method comprising:
-
receiving a representative number of at least the amount of available cores in nodes of a distributed computing system, wherein each node includes at least one core; receiving a plurality of event provider records including context switch records and runtime provider records, wherein context switch records include a representative number of the cores used to perform at least one selected process over a course of time, and wherein the runtime provider records include a representative number of the cores used to perform at least one library function that provides for processing the at least one selected process in the nodes over the course of time; determining from the context switch records and the runtime provider records a duration of time each core of available cores performs the at least one selected process and the at least one selected library function over the course of time; separating the course of time into periodic intervals; determining a representative number of cores executing the selected process and library function for each of the periodic intervals; and presenting the representative number of cores executing the selected process and library function for each of the periodic intervals against the representative number of at least the amount of available cores over the course of time. - View Dependent Claims (15, 16, 17, 18)
-
-
19. A computer readable storage device storing a development tool including computer executable instructions for controlling a computing device, the development tool configured to perform a method comprising:
-
receiving a representative number of at least the amount of available nodes in a computer cluster computing system; receiving a plurality of event provider records including context switch records and runtime provider records, wherein context switch records include a representative number of the nodes used to perform at least one selected process over a course of time, and wherein the runtime provider records include a representative number of the nodes used to perform input or output library functions that provides for processing the at least one selected process in the nodes over the course of time; determining from the context switch records and the runtime provider records a duration of time each core of available cores performs the at least one selected process and the at least one selected library function over the course of time; modifying clock information for at least some of the nodes in the distributed computing system to synchronize the occurrence of each event provider record; separating the course of time into generally equal periodic intervals; determining a representative number of nodes executing the selected process and a representative number of library function for each of the periodic intervals; and presenting the each of the representative number of nodes executing the selected process and the representative number of library function for each of the periodic intervals against the representative number of at least the amount of available nodes over the course of time in an area graph. - View Dependent Claims (20)
-
Specification