MyGrid 1.1 ========== The purpose of this document is to sketch the procedures that a developer should follow to have MyGrid running in his machine. MyGrid provides an execution environment for bag-of-tasks applications (i.e. set of tasks that can be executed not depending on the execution order (independently) and that don't also need to run simultaneously). First of all, get yourself familar with MyGrid documentation at http://www.ourgrid.org/mygrid Now, instead of downloading the MyGrid distribution, you get the source files from the CVS server located at baleia.lsd.ufcg.edu.br. (Since you are reading this file, you probably have done that). The CVS has four commands that are used more frequently in Mygrid: 1- commit : this command is used when you wish to show your changes to other developers, incorporating them in the source repository. The syntax of this command is : cvs commit -m "message" file 2- add : this command is used to enroll new files in cvs records of your working directory. The files will be added to the repository the next time you run 'cvs commit'. The syntax of this command is : cvs add file 3- remove : the command remove is used to declare that you wish to eliminate files from the repository. The removal does not affect others until you run 'cvs commit'. The syntax of this command is : cvs remove file 4- update : execute update from within your private source directory when you wish to update your copies of source files from changes that other developers have made to the source in the repository. The syntax of this command is : cvs update In case of doubts see the cvs manual (man cvs). The environment set-up differs from the MyGrid documentation. Say that you are in directory DIRBASE when you perform the CVS checkout of MyGrid.(i.e.cvs checkout mygrid) Your CLASSPATH must contain DIRBASE, DIRBASE/mygrid/lib/AbsoluteLayout.jar,DIRBASE/mygrid/lib/mmmockobjects.jar, and DIRBASE/mygrid/lib/junit.jar. You must set MGROOT to DIRBASE/mygrid. At DIRBASE/mygrid/var, create MG.properties with your configurations. There are a few example MG.properties at DIRBASE/mygrid/var. We use antmg, version 1.5.1 or higher, (a customized invocation of ant, see http://jakarta.apache.org/ant) to help us build MyGrid. In order to use antmg, set JAVA_HOME to the J2SE SDK installation directory. The build.xml has two targets: compile (the default) and build. 'antmg compile' compiles the files that were modified since last compilation. 'antmg build' deletes every .class files in the system and then compiles them. At DIRBASE/mygrid/test, contains scripts of tests and also can be found at same directory README_TEST,for more informations about it. Note that a developer should run all tests and also compile everything (antmg build) before doing any alteration in the central copy of the mygrid through CVS (cvs commit). At ~/mygrid/bin there is a script called mg-services that has many commands like : put (home2playpen) ,get (playpen2home) , mirror , experiment and ping . The three first files were explained at documentation . "Experiment" is a command used to performs the starting execution of experiment .To start this command you do : mg-services experiment processor start To finished it you do : mg-services experiment processor report The command "ping" is used to test if gridmachine is active. mg-services ping gridmachine The command "waitForJob" is used to wait each task of a job to finish his processing. mg-services waitForJob jobId The command "mirror" is used to reduce the number of file transfer operations. mg-services mirror [processor] [file] [remoteDir] At ~/mygrid/ui there is a class called GetProcInfo has three commands that can be used: - "-all_procs" - prints all processors' name that are in the grid file. Its syntax is : javamg mygrid.ui.GetProcInfo -all_procs [grid-file] - "-user_agents" - prints all processors' name that has the option user agent at type.This command is used at scripts mg-test and clean-ua . Its syntax is: javamg mygrid.ui.GetProcInfo -user_agents [grid-file] - "-rem_exec" - prints the remote execution script of the processor. This command is used at script ua-test. Its syntax is: javamg mygrid.ui.GetProcInfo -rem_exec [processor] [grid-file]