Abstract
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.
Highlights
Heterogeneous systems rise two kinds of problems for distributed applications
Java homogenises the heterogeneous platforms through its virtual machine (JVM): issues of operating systems, word size or endianness disappear
We present the approach of a dynamic and transparent intraapplication load balancing strategy in ADAJ and its evaluation on a concrete application
Summary
Heterogeneous systems rise two kinds of problems for distributed applications. The first aspect concerns transparency: applications should be designed as transparently as possible of the heterogeneity of available resources (CPU, memory, operating system). Java homogenises the heterogeneous platforms through its virtual machine (JVM): issues of operating systems, word size or endianness disappear Another layer of abstrac-tion, the resource consumption, is missing. The dynamic load balancing scheme in ADAJ (Adaptive Distributed Applications in Java) is a transparent tool at the middleware level which makes the execution reactive to irregularities in the evolution of the application and to changes in the resource availabilities. This adaptability requires the use of a monitoring tool, concurrent with the execution of an application, and not prior to it.
Talk to us
Join us for a 30 min session where you can share your feedback and ask us any queries you have
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.