It is difficult to analyze the performance of dynamic environment like Grid. In a Grid , data need to be collected and analyzed in real time. A Grid has to adapt to the changing resources usages scenario. The objective of this paper is to present an object oriented implementation of a part of hierarchical agent frame work for performance monitoring , analysis and tuning of applications running in Grid environment. Results of the implementation are presented in order to demonstrate the effectiveness of agent Framework. This paper highlights the interaction and exchange of information among the agents for collecting data, analyzing and improving the performance by application of local tuning actions. It also discusses the implementation of some of them. The results presented in this paper highlight the effectiveness of the framework by demonstrating the performance improvement through tuning and showing that the agent control overheads are negligible even when multiple jobs are submitted concurrently onto the same resource. In future work we will experiment in more complex system. Also the future work will focus on incorporating more categories of performance properties and implementation of other analysis agents in the hierarchy.
Keywords: Grid, Hierarchical agent Framework, .NET Technology , C L R
[...] Darlington, “ICENI: Optimization of Component Applications within a Grid environment”, Parallel Computing, 28(12): 1753- Globus Toolkit 4.0 available in www.globus.org/toolkit GrADS: Grid Application Development Software Project, http://www.hipersoft.rice.edu/grads/ Kennedy K., et al, “Toward a Framework for Preparing and Executing Adaptive Grid Programs”, Proceedings of the International Parallel and Distributed Processing Symposium Workshop (IPDPS NGS), IEEE Computer Society Press, April Kesler J. Charles, “Overview of Grid Computing”, MCNC, April Miller, B.P., M. D. Callaghan, J.M. Cargille, J.K. Hollingsworth, R.B. Irvin, K. L. [...]
[...] Test Case I Job with data size Job with data size Time Test Case II Time Figure Overhead Calculation Figure3(b) Overhead Calculation for Test Case I for Test Case II 7 Conclusion In this paper, we have presented an object-oriented specification for implementation of Node Agent in a Hierarchical Analysis Agent framework for Grid environment. This framework is actually used for performance analysis of applications executing concurrently on distributed systems (like Grid) and also for dynamically improving their execution performances. [...]
[...] All of these are tied together through a Grid middleware layer. A Grid site comprises a collection of all these local resources, which are geographically located in a single site. All these Grid sites, which mutually agree to share resources located in several sites, form a global Grid. Global Grid provides support for multiple Grid resource registries and Grid security services through mutually distrustful administrative domains. On top of the above environment, we propose to build a hierarchical analysis agent framework, where agents are divided into the following four logical levels of deployment in descending order: Grid Agent Grid Site Agent Resource Agent and Node Agent (NA). [...]
[...] Analysis of this property and tuning the job to avoid A local Grid test bed has been set up that consists of heterogeneous nodes running in Linux. The computational nodes of the test bed include HP NetServer LH 6000, HP ProLiant ML570 G4 with 4 Intel core2 Duo processors, Intel core2 Duo PCs and Intel Pentium-4 PCs. The nodes communicate through a fast local area network. The Grid test bed is built with Globus Toolkit 4.0 (GT4) The multi-agent system (which includes the hierarchical analysis agent framework) is implemented on top of GT4. [...]
[...] Thus, the active .NET Framework agents on a Grid resource cooperate with each other and interact in order to detect performance problems in real time. Initially, a job is instrumented depending on the types of data the Analysis Agent requires to collect. As soon as the job starts its execution, JEM Agent communicates with the corresponding NA sitting at that particular node. NA receives the BSLA and the job metadata from the JEM Agent along with a ‘Ready' message. It then sends a ‘Query' message to the JEM Agent with a fraction value (e.g ) indicating the portion of a significant block of the job (in the current implementation, a significant loop) to be executed before collecting any performance data. [...]
using our reader.