Abstract

We present a transparent optimisation framework for automatically improving run-time performance of component-based enterprise applications. Run-time performance is improved by automatically identifying and dynamically switching to an optimised but functionally equivalent program flow, for a specific transaction type. More precisely, one or more application components can have both static and dynamic inputs, where the former and its output remain mostly fixed from invocation-to-invocation, while the latter is unconstrained. Through dynamic profiling and run-time adaptation, an optimised program flow is derived, that allows only future execution of program points that operate on dynamic inputs and not static inputs. During execution, a target application is instrumented to switch to an optimised program flow. Additional instrumentation occurs to profile key program points that may invalidate an optimised program flow. If these points execute, then the application reverts back to its pre-optimised program flow. We evaluate and demonstrate how run-time performance for a typical thre-tired enterprise system can be improved for frequently accessed data that remains mostly static. For the application studied we showed a 49% marked improvement in the number of users serviced per second.

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call

Disclaimer: All third-party content on this website/platform is and will remain the property of their respective owners and is provided on "as is" basis without any warranties, express or implied. Use of third-party content does not indicate any affiliation, sponsorship with or endorsement by them. Any references to third-party content is to identify the corresponding services and shall be considered fair use under The CopyrightLaw.