Patent ID: 8423987

Claim:
A method of optimizing performance of an application executed by a plurality of interconnected nodes comprising a massively parallel computer system using on-the-fly monitoring and performance adjustment, the method comprising: receiving actual performance data concerning the application executed by the plurality of interconnected nodes; analyzing the actual performance data to identify an actual performance pattern; determining a desired performance pattern for the application executed by the plurality of interconnected nodes in order to address a performance problem dynamically detected during execution of the application by the plurality of interconnected nodes; and selecting an algorithm from among a plurality of algorithms stored within a memory, the algorithm configured to achieve the desired performance pattern and address the performance problem based on the actual performance data, wherein selecting the algorithm includes dynamically evaluating causes and effects of known algorithms stored in a library of effects for known causal actions to achieve a best fit to the desired performance pattern; wherein the method further comprises, in response to determining that the actual performance pattern is unidentified, sequencing through the plurality of algorithms to determine the algorithm configured to best achieve the desired performance pattern based on the actual performance data, wherein sequencing through the plurality of algorithms comprises simulating each of the plurality of algorithms and storing results associated with simulating each of the plurality of algorithms to grow the library with additional effects for known causal actions to address future performance problems, and wherein selecting the algorithm includes, in response to determining that the actual performance pattern is unidentified, selecting the algorithm from the stored results to address the performance problem.