MIDDLEWARE-BASED LOAD BALANCING FOR COMMUNICATING JAVA OBJECTS
In the context of heterogeneous networks, like clusters of workstations, the design of programming and execution environments aims to automatically adapt execution to fluctuations that may appear in the execution of distributed and parallel Java applications. ADAJ, Adaptive Distributed Applications in Java, addresses this problem, dealing with both parallelism and distribution features. Ease of programming is achieved through an object and method parallelism paradigm. The trade-off between transparency of such a parallelism expression and efficiency is solved by application redeployment, meant to maintain a good performance level. This is the purpose of the load balancing in ADAJ, a dynamic and transparent tool at the middleware level, which exploits information issued from observation of the application, in order to consider both object activity and communication patterns. Communications generate attraction relations between objects and this article presents the evaluation of the load balancing mechanism for a type of asynchronous applications in which the communication aspect is important.