In this study a simulation-based methodology for software performance enhancement is proposed that allows finding the near-optimal deployment of distributed software objects over a set of computing resources with respect to response time. To achieve this, a heuristic load balancing algorithm is proposed that determines the object deployment by means of a hill-climbing partitioning algorithm. The objective function of this partitioning algorithm takes into account both the resource capacities and the execution load related to the software use-case scenarios when evaluating each object deployment. The execution load of a use-case scenario is defined in terms of some metrics such as utilisation, population and mean response times of objects and threads which realise each scenario. The deployment algorithm requires that values of these metrics be known beforehand. These values are obtained from recorded simulation statistics.
Published in:
Software, IET
(Volume:5
,
Issue:
4
)
Date of Publication: August 2011