High Throughput Computing Week: Digipede Network™Hands-on Lab ©Copyright Digipede Technologies, LLC. Digipede and the Digipede Network are trademarks of Digipede Technologies, LLC. Microsoft, Excel, Visual Basic, and Visual Studio are registered trademarks of Microsoft Corporation in the United States and/or other countries. All other trademarks are the property of their respective owners. Digipede Network ™ Session 1 Training Guide Hello World Walkthrough This walkthrough will introduce you to the Digipede Workbench by having you define and run a job. The executable you will distribute is HelloWorld.exe, a simple command-line program that writes to standard output. This HelloWorld.exe can optionally take a command line argument—if you give it an argument, it will echo that argument in its standard output. In this exercise, you will define and submit a job and job template. Subsequently, you will submit another job against that job template. Defining the Job Template and Initial Job 1. If you haven’t installed Digipede Workbench, do so. To install Workbench, log in to Digipede Control by opening a browser and navigating to HTCServer/DigipedeControl and entering your username and password. Your username is your machine name (e.g., LABPC01) and your password is the same as your username. Click on the Digipede Workbench link and follow the installation instructions. 2. Start Digipede Workbench by selecting Start->All Programs->Digipede>Workbench from your start menu. Workbench will prompt you for your credentials. Select Digipede Network Authentication and enter your username and password again; use the same username and password you used for Digipede Control. 3. Start a new job by clicking the “New Job” link in the Common Tasks pane of the Start Page. 4. When prompted with the “Would you like to use an existing Job Template” dialog, answer “No.” Digipede Handout.doc November, 2007 2 Digipede Network ™ Session 1 Training Guide 5. Enter a name and description for your job template and click Next. 6. “Hello World” does require a file to be moved. Select the appropriate protocol: if your files are accessible via file share, choose “Share;” if your files are accessible on a web server, choose “HTTP.” 7. The executable is a “Common” file (also known as a Job Template file). Select “Yes” to common files and click Next. Digipede Handout.doc November, 2007 3 Digipede Network ™ Session 1 Training Guide 8. Click the add button, then browse to and select the HelloWorld.exe file. The file is located in the \\HTC-Server\SharedFiles folder. 9. This job does not require Job files or Task files. Select “No” to those screens and click Next on each. 10. While this job does not require any command line parameters, we’ll define one parameter for this job. We’ll define a “Range” parameter in order to create multiple tasks for this job. Select “Yes” and click Next. 11. Add one Range parameter. Enter a Name for your parameter (e.g. “NumTasks”) and define the range to go from 1 to 10 step 1. Check the “Can override at Job submission” box. Then, click OK, then Next. Digipede Handout.doc November, 2007 4 Digipede Network ™ Session 1 Training Guide 12. This application doesn’t return result files nor does it use the Digipede API, so select No for the next two screens. 13. This application needs one command line parameter: a Task ID. Modify the command line by clicking “Edit.” 14. Add the Task ID to the command line by clicking where you would like the parameter to go (right after “HelloWorld.exe”), then double-clicking “Task ID” (or, if you’d rather, any other variable). Your command line should look like this: HelloWorld.exe $(TaskID) 15. Click “No” to notifications and click Next. 16. Because this application generates standard output, click the Advanced Options button and ensure that “Save Standard Output” is selected. Click OK. Digipede Handout.doc November, 2007 5 Digipede Network ™ Session 1 Training Guide 17. Your job template and job are ready to submit. To submit immediately, ensure that the “Run Job on Finish” checkbox is selected and click Finish. However, you may wish to familiarize yourself with the details of the job and job template before submitting them. If you want to see the details before submitting, uncheck the “Run Job on Finish” checkbox and click Finish. Minen Walkthrough This walkthrough demonstrates using the Digipede Network to distribute the calculations of the Minimum Energy executable. Minen contains one distributable step—for each input file, the Update_File executable must be run in order to generate the results for that set of inputs. Digipede Workbench can be used to quickly and easily distribute the work of many Update_File calls. Before beginning this walkthrough, ensure that you have run make_runs.exe in order to create input files. Also, you must create a file share that is “world writable,” or you must utilize Digipede’s HTTP file transfer. 1. Start Digipede Workbench by selecting Start->All Programs->Digipede>Workbench from your start menu. 2. Start a new job by clicking the “New Job” link in the Common Tasks pane of the Start Page. 3. When prompted with the “Would you like to use an existing Job Template” Digipede Handout.doc November, 2007 6 Digipede Network ™ Session 1 Training Guide dialog, answer “No.” 4. Enter a name and description for your job template and click Next. 5. “Update_File.exe” has two common files: Update_file.exe and cygwin1.dll. Answer “Yes” to common files, then browse the file share and select these two files. 6. There are no job files for MinEn, so select “No” and click “Next.” 7. Each task in MinEn requires an input file. Select “Yes” and click “Next.” 8. Browse to a file share and select one or more input files. Digipede Handout.doc November, 2007 7 Digipede Network ™ Session 1 Training Guide 9. The tasks do not have parameters – click “No” and click “Next.” 10. MinEn will produce one result file – select “Yes” and browse to the file share where files should be returned. For this exercise, browse to: htc-server/digipedetransfer/AcceptsFiles.aspx 11. Next, give the output file a name (that can be used on the command line) and give an expression that can be used for a file name. In this case, use the expression $N(INFile).out. The $(VariableName) syntax indicates that the value of another variable (in this case, the input file name) will be used. The N indicates that the extension should be stripped off of the file, and the “.out” adds the .out extension. For a complete definition of the command line expression syntax, see the Digipede Workbench documentation. 12. This application does not use the Digipede API, so select “My application does NOT use the Digipede API” and click “Next.” 13. Update_File takes two arguments – the input file and the output file. Because these will be different for each task, you should use a variable for each of them. The wizard will provide a list of the files for this job. Digipede Handout.doc November, 2007 8 Digipede Network ™ Session 1 Training Guide 14. We do not have an SMTP server set up for this server, so select “No” to notifications and click “Next.” 15. Click Finish. Digipede Handout.doc November, 2007 9