Automated improvement of executable applications based on evaluating independent execution heuristics
AssigneeCisco Technology, Inc.
InventorsBryan Turner, Billy Gayle Moon
Life of this patent
Estimating the term…
Abstract
In one embodiment, a method comprises generating a first executable program optimized for an executable system based on compiling a program relative to an initial set of independent optimization metrics; determining first performance metrics based on the executable system executing the first executable program; adjusting the initial set of independent optimization metrics based on the first performance metrics to generate a second set of independent optimization metrics; and generating a second executable program, based on compiling the program relative to the second set of independent optimization metrics, for improved execution of the program in the executable system.
Claims16
A method executed by a processor, the method comprising:
- generating a first executable program optimized for an executable system based on compiling a program relative to an initial set of independent optimization metrics;
- determining first performance metrics based on the executable system executing the first executable program;
- adjusting the initial set of independent optimization metrics based on the first performance metrics to generate a second set of independent optimization metrics;
- generating a second executable program, based on compiling the program relative to the second set of independent optimization metrics, for improved execution of the program in the executable system;
- wherein the executable system is a distributed computing system that comprises a first machine and a remote machine, the first performance metrics based on the first executable program executed by the first machine in the executable system, the method further comprising:
- receiving a first set of remote performance metrics, the first set of remote performance metrics associated with execution by the remote machine of the program compiled according to a first remote set of independent optimization metrics;
- the adjusting including generating the second set of independent optimization metrics based on applying a probability distribution function based on the first set of remote performance metrics, for improved execution of the second executable program by the first machine in the distributed computing system;
- and
- the first machine and the second machine sharing at least a portion of one of their respective independent optimization metrics or their performance metrics, for improved distributed execution of the program in the first machine and the remote machine.
The method of 2, wherein the adjusting includes establishing the probability distribution function based on a Markov sequence generated of the independent optimization metrics.
An apparatus comprising:
- a non-transitory tangible computer readable storage medium configured for storing an initial set of independent optimization metrics used for compiling a program;
- and
- a compiler circuit configured for generating a first executable program optimized for an executable system based on compiling the program relative to the initial set of independent optimization metrics, the compiler circuit further configured for:
- determining first performance metrics based on the executable system executing the first executable program,
- adjusting the initial set of independent optimization metrics based on the first performance metrics to generate a second set of independent optimization metrics, and
- generating a second executable program, based on compiling the program relative to the second set of independent optimization metrics, for improved execution of the program in the executable system;
- wherein the executable system is a distributed computing system that comprises the apparatus and a remote machine, the first performance metrics based on the first executable program executed by the apparatus, the apparatus further comprising:
- an interface circuit configured for receiving a first set of remote performance metrics from the remote machine distinct from the apparatus, the first set of remote performance metrics associated with execution by the remote machine of the program compiled according to a first remote set of independent optimization metrics;
- the compiler circuit configured for generating the second set of independent optimization metrics based on applying a probability distribution function based on the first set of remote performance metrics, for improved execution of the second executable program by the apparatus in the distributed computing system;
- the compiler circuit configured for sharing, with the second machine, at least a portion of one of the independent optimization metrics or the performance metrics, for improved distributed execution of the program in the apparatus and the remote machine.
Logic encoded in one or more non-transitory tangible machine readable media for execution and when executed operable for:
- generating a first executable program optimized for an executable system based on compiling a program relative to an initial set of independent optimization metrics;
- determining first performance metrics based on the executable system executing the first executable program;
- adjusting the initial set of independent optimization metrics based on the first performance metrics to generate a second set of independent optimization metrics;
- generating a second executable program, based on compiling the program relative to the second set of independent optimization metrics, for improved execution of the program in the executable system;
- wherein the executable system is a distributed computing system that comprises a first machine and a remote machine, the first performance metrics based on the first executable program executed by the first machine in the executable system, the logic when executed further operable for:
- receiving a first set of remote performance metrics, the first set of remote performance metrics associated with execution by the remote machine of the program compiled according to a first remote set of independent optimization metrics;
- the adjusting including generating the second set of independent optimization metrics based on applying a probability distribution function based on the first set of remote performance metrics, for improved execution of the second executable program by the first machine in the distributed computing system;
- and
- wherein the first machine and the second machine share at least a portion of one of their respective independent optimization metrics or their performance metrics, for improved distributed execution of the program in the first machine and the remote machine.
Dependencies are inferred from the claim text.