The EPPA tool is implemented in java and is independent of the parallel communication layer [4, http://parallel.vub.ac.be/eppa]. A parallel program should be instrumented manually with one EPPAProbe object for each process. Experimental runs are identified by the program parameters, like the problem size W , number of processors p or algorithm-specific parameters. These are passed with the EPPAProbe constructor. Then, the programmer a method call should be inserted at the end of each functional part of the program. These parts or phases do not have to correspond with loops or function al calls, as is the case for most automatic instrumentation tools. For each phase, the number of operations and quantums processed are passed to the EPPAProbe . The number of operations ( #op ) relates to the processing time as the number of identical operations that are performed during that phase (E.g. The number of compare and swap operations for a sort algorithm). The number of quantum #q relate to the problem size W (E .g. The number of elements sorted or communicated).
At the end of program execution, the data is written to a My SQL database (www.mysql.com). The analysis of the data is performed automatically. Results are shown graphically (written in Java ) in 4 different views , each representing a different aspect of the analysis: the time, overhead, function and interpretation view.
Why use Java?
In a general sense, the main benefits of the Java language are its portability across platforms and operating systems and its ability to be delivered over relatively low-bandwidth channels, such as dial-up communications. The language is also impressively scalable; existing applications can easily be adapted for devices with limited-memory resources. Additionally, because it was designed to run in a secure manner over networks, it affords this level of security when operating over the Internet, as well. In essence, Java technology extends a users computing power from the desktop to the resources of the Web.
EPPA (Experimental Parallel Performance Analysis) is our Performance Analysis Tool. It is now used in all our parallel computing experiments broadly.
For demonstrational, educational and marketing purposes, I was asked to develop EPPA by using JAVA. The goal is to make it platform independent. That's also the advantage of java programming. The users who don't have the Linux operating system can still use our performance evaluation tools. Additionally the program has a user friendly web front end .That it gives the non-expert developer a clear insight in the performance of its parallel program.
Information on EPPA: