December 8 & 9, 2005, Austin, TX SURA Cyberinfrastructure Workshop Series: Grid Technology: The Rough Guide Grid Enabling Applications for the Grid: ENDYNE Jerry Perez, Senior Administrator - Texas Tech University C 2 H 2 Target Carbon 1 Carbon 2 d=15 a.u. b p x z H + Projectile, Hydrogen 3 [ ] Orientation y Hydrogen 2 Hydrogen 1
December 8 & 9, 2005, Austin, TX SURA Cyberinfrastructure Workshop Series: Grid Technology: The Rough Guide ENDYNE Credits K. Tsereteli, S. Addepalli, J. Perez & J. A Morales
December 8 & 9, 2005, Austin, TX SURA Cyberinfrastructure Workshop Series: Grid Technology: The Rough Guide What is ENDYNE? With Coherent-States Theory, a Chemical Reaction Can Be Formulated As Reactants-to-Products Trajectories in a Quantum Phase Space As It Were Classical Mechanics The Several Trajectories Necessary to Simulate One Single Reaction Can Be Efficiently Run in Parallel on a Compute Grid.
December 8 & 9, 2005, Austin, TX SURA Cyberinfrastructure Workshop Series: Grid Technology: The Rough Guide How does ENDYNE run on a cluster? A batch file was written for the ENDYNE users and stored in an environment variable called DYNROOT$ The batch file that ran single processor jobs was called “endyne”. The batch file called “run” submits multiple ENDYNE jobs into the queue by reading multiple input files from the directory “run” is ran in.
December 8 & 9, 2005, Austin, TX SURA Cyberinfrastructure Workshop Series: Grid Technology: The Rough Guide How does ENDYNE run on a cluster? Before any jobs are submitted, the files must be prepared for running: 1. prepare the "endyne_H+HF_opt_pvdz in" 2. optimize the "endyne_H+HF_opt_pvdz in" by command "endyne endyne_H+HF_opt_pvdz in > inin" 3. collect the zoca parameters by using collect.pe program and command "./collect.pe >outout" 4. prepare the "endyne_H+HF_run_pvdz tmpl.in" and insert the zoca parameters from "outout" file 5. modify the "run" file to program path of input files 6. modify the endynejob file to handle output files 7. type "./run" to submit the job 8. type "qstat" to see the job
December 8 & 9, 2005, Austin, TX SURA Cyberinfrastructure Workshop Series: Grid Technology: The Rough Guide Grid enabling ENDYNE on a Cycle Scavenging Grid Had to remove environment dependencies (DYNROOT$). Had to recompile ENDYNE for uniprocessor capabilities. TEST recompiled program locally before moving it onto the grid!!! Had to register libraries and necessary input files with the grid. Had to teach researchers how to use TechGrid campus-wide grid. Approx 3 hours of instruction with added documentation was necessary to get them on their feet.
December 8 & 9, 2005, Austin, TX SURA Cyberinfrastructure Workshop Series: Grid Technology: The Rough Guide Grid enabling ENDYNE on a Globus Grid If all sites wish to use ENDYNE, one way is to create an environment variable called DYNROOT$. Another way to run ENDYNE is to do away with environmental dependencies and recompile for static execution. The following program is a Perl script written by TTU’s Srirangam Addepalli that allows users to create a GUI that runs ENDYNE and exports DYNROOT$.
December 8 & 9, 2005, Austin, TX SURA Cyberinfrastructure Workshop Series: Grid Technology: The Rough Guide Grid enabling ENDYNE on a Globus Grid and a Data Grid #!/usr/bin/perl -w $run=1; while($run=="1") { system ("clear ;"); print(" Select one of the following options \n"); print(" Type of Job \n"); print(" 0. Hit Zero Any time to Quit \n"); print(" 1. Data, Executable on Data Grid \n"); print(" 2. Executable on Local Node \n"); print(" 3. Source on Data Grid \n"); print(" 4. Output on Data Grid \n"); print(" 5. View output file \n");
December 8 & 9, 2005, Austin, TX SURA Cyberinfrastructure Workshop Series: Grid Technology: The Rough Guide print("My Option:"); my $option = ; if ($option==0) { exit 0; } if ($option==1) { print(" Data Executable on Data Grid \n"); print("Name Executable: "); my $executable= "endyne"; print "\n"; print("Input File:"); my $input="endyne1.inp"; print"\n"; print("Output:"); my $output="endyne.out";
December 8 & 9, 2005, Austin, TX SURA Cyberinfrastructure Workshop Series: Grid Technology: The Rough Guide print "\n"; print (" Available Executables \n"); system ("find /mnt/avaki/data/rangam -name $executable > jobexec "); #open(executables, "/home/addepall/jobexec"); = executables; #foreach $line #{ # print "$line"; #} print ("1/0 for executable: \n"); $selection= ; if ($selection=="1") { print (" "); print ("\n Pushing Executable to Data Grid \n");
December 8 & 9, 2005, Austin, TX SURA Cyberinfrastructure Workshop Series: Grid Technology: The Rough Guide system("globus-url-copy -vb -p 20 -dbg gsiftp://antaeus.hpcc.ttu.edu:2811/home/addepall/GRI D/endyne gsiftp://buda.tacc.utexas.edu:2811/home/a ddepall/endyne &"); for ($wait=0;$wait < 15; $wait=$wait+1) { print ("*"); system("sleep 0.5;"); } print ("\n Pushing input on to remote Execute host \n"); for ($wait=0;$wait < 10; $wait=$wait+1) { print ("*"); system("sleep 0.5;");
December 8 & 9, 2005, Austin, TX SURA Cyberinfrastructure Workshop Series: Grid Technology: The Rough Guide } system ("cat /proc/net/tcp;"); #system("globus-url-copy -vb -p 20 -dbg gsiftp://antaeus.hpcc.ttu.edu:2811/home/addepall/GRI D/endyne gsiftp://buda.tacc.utexas.edu:2811/home/a ddepall/endyne ; system (" globus-url-copy -dbg gsiftp://antaeus.hpcc.ttu.edu:2811/home/addepall/GRI D/endyne.inp gsiftp://buda.tacc.utexas.edu:2811/home/addepall/end yne.inp; globus-job-submit buda.tacc.utexas.edu:2119 /home/addepall/DrEscobar/script2.sh"); system ("cd /home/addepall/GRID/; export DYNROOT=./;./endyne /mnt/avaki/data/rangam/$input > $input.out&; ");
December 8 & 9, 2005, Austin, TX SURA Cyberinfrastructure Workshop Series: Grid Technology: The Rough Guide } if ($option==2) { print(" Data Executable on Data Grid \n"); print("Name of Executable: "); my $executable="ENDYNE"; print "\n"; print("Input File:"); my $input="endyne.inp"; print"\n"; print("Output:"); my $output="endyne.output"; print "\n"; {
December 8 & 9, 2005, Austin, TX SURA Cyberinfrastructure Workshop Series: Grid Technology: The Rough Guide system ("cd /home/addepall/GRID/; export DYNROOT=./;./endyne endyne.inp | tee endyne.out "); } if ($option==3) { print(" Data,Executable,Outp ut Different Location \n"); print("Name of Executable: "); my $executable="endyne"; print "\n"; my $input="endyne.inp"; print"\n";
December 8 & 9, 2005, Austin, TX SURA Cyberinfrastructure Workshop Series: Grid Technology: The Rough Guide my $output="endyne.out"; $inputfile="$input"; $outputfile="$output"; print " \n Acquiring ENDYNE GRID IMAGE "; print "\n Running Endyne on Local Machine"; print ("\n Finished Endyne Job"); print ("\n Cleaning your tracks and Protecting your source" ); for ($wait=0;$wait < 13; $wait=$wait+1) { print ("*"); system("sleep 0.5;"); } print ("\n"); {
December 8 & 9, 2005, Austin, TX SURA Cyberinfrastructure Workshop Series: Grid Technology: The Rough Guide system ("cp /mnt/avaki/data/rangam/*tar /home/addepall; system ("echo $MESSAGE1; tar -xvf GRID-REAL.tar; cd GRID; export DYNROOT=./; echo $MESSAGE2;./endyne H4+-md.inp > H4+-md.out; echo $MESSAGE3; cp H4+-md.out../endyne.out; cd /home/addepall; echo $MESSAGE4;");
December 8 & 9, 2005, Austin, TX SURA Cyberinfrastructure Workshop Series: Grid Technology: The Rough Guide } if ($option==5) { print" View Output File \n"; print("Name of outputfile \n"); my $output="endyne.out"; system ("cat $output ;"); } print " Perform Another Operation \n"; $run=1; }
December 8 & 9, 2005, Austin, TX SURA Cyberinfrastructure Workshop Series: Grid Technology: The Rough Guide Questions?