Assignment 3 GridNexus Job Submission. Authors: Grid Computing Course Team C. Ferner and B. Wilkinson February 5, 2010

Similar documents
Assignment 6. Using GridNexus to Create Workflows that use Web and Grid Services

Parallel Programming Pre-Assignment. Setting up the Software Environment

Parallel Programming Pre-Assignment. Setting up the Software Environment

Network Administration/System Administration (NTU CSIE, Spring 2018) Homework #1. Homework #1

FAQs for Lawson Career Management

CMSC 201 Spring 2017 Lab 01 Hello World

CMSC 201 Spring 2018 Lab 01 Hello World

Introduction to Programming and Computing for Scientists

Session 1: Accessing MUGrid and Command Line Basics

Virtual Machine Connection Guide for AWS Labs

1 Setting Up Your Auto Login Link in Windows

The Command Shell. Fundamentals of Computer Science

Key File Generation. November 14, NATIONAL STUDENT CLEARINGHOUSE 2300 Dulles Station Blvd., Suite 220, Herndon, VA 20171

Marriott. Manual Submission Quick Reference Guide (QRG)

Student Website Setup

Lab - Share Resources in Windows

CS CS Tutorial 2 2 Winter 2018

5. A small dialog window appears; enter a new password twice (this is different from Dori!) and hit Go.

Gridbus Portlets -- USER GUIDE -- GRIDBUS PORTLETS 1 1. GETTING STARTED 2 2. AUTHENTICATION 3 3. WORKING WITH PROJECTS 4

Getting help with Edline 2. Edline basics 3. Displaying a class picture and description 6. Using the News box 7. Using the Calendar box 9

BASIC USER TRAINING PROGRAM Module 5: Test Case Development

CS Operating Systems, Fall 2018 Project #0 Description

JNIOR. A Network I/O Resource Utilizing the JAVA Platform. JNIOR Support Tool Manual. Release 6.0

Laboratory Assignment #3 Eclipse CDT

Lab 1 Introduction to UNIX and C

Title of Resource Introduction to SPSS 22.0: Assignment and Grading Rubric Kimberly A. Barchard. Author(s)

UNIT IV PROGRAMMING MODEL. Open source grid middleware packages - Globus Toolkit (GT4) Architecture, Configuration - Usage of Globus

Adding Content to Blackboard

Website Setup & Assignment Publishing (Tomcat)

Module 3: Working with C/C++

Standard Edition (SE) application development Enterprise Edition (EE) enterprise development Micro Edition (ME) Internet of Things (IoT) development

Homework #1: SSH. Step 1: From the start button (lower left hand corner) type Secure. Then click on the Secure Shell File Transfer Client.

Perceptive TransForm E-Forms Manager

Introduction to Joker Cyber Infrastructure Architecture Team CIA.NMSU.EDU

Classes and Objects Lab Learn to use lpq and lprm commands. 2. Learn to manage your file space. Restrict size of Netscape disk cache.

27-Sep CSCI 2132 Software Development Lab 4: Exploring bash and C Compilation. Faculty of Computer Science, Dalhousie University

Writing and Running Programs

Review of Fundamentals

GMetrix Guide. What is GMetrix? Why GMetrix practice tests?

The QuickCalc BASIC User Interface

ALICE Grid/Analysis Tutorial Exercise-Solutions

BASIC USER TRAINING PROGRAM Module 1: Installation and Licensing

Assignment 5 Using Paraguin to Create Parallel Programs

GRID COMPANION GUIDE

Standard Edition (SE) application development Enterprise Edition (EE) enterprise development Micro Edition (ME) Internet of Things (IoT) development

New User Tutorial. OSU High Performance Computing Center

ChemSense Studio Client Version 3.0.7

Linux Tutorial #1. Introduction. Login to a remote Linux machine. Using vim to create and edit C++ programs

Bitnami Apache Solr for Huawei Enterprise Cloud

DATA 301 Introduction to Data Analytics Command Line. Dr. Ramon Lawrence University of British Columbia Okanagan

Why learn the Command Line? The command line is the text interface to the computer. DATA 301 Introduction to Data Analytics Command Line

Review of Fundamentals. Todd Kelley CST8207 Todd Kelley 1

WNE CLIENT V.4.2 FTP SUITE CONFIGURATION GUIDE APRIL 6, 2010

Support Backups and Secure Transfer Server Changes - i-cam

The Dreamweaver Interface

CpSc 1111 Lab 1 Introduction to Unix Systems, Editors, and C

Center for Faculty Development and Support. Google Docs Tutorial

Lab Exercise #1 Project Compilation, Javadoc Generation, and Submission Computer Science 2334

Client Setup (.NET, Internet Explorer)

Installation and Release Notes

Agent and Agent Browser. Updated Friday, January 26, Autotask Corporation

Review of Fundamentals. Todd Kelley CST8207 Todd Kelley 1

SmartCVS Tutorial. Starting the putty Client and Setting Your CVS Password

Remote Desktop How to guide

Lab 1 Introduction to UNIX and C

Linux File System and Basic Commands

Gitlab Setup/Usage by Yifeng Zhu modified by Vince Weaver 30 January 2019

Instructions. First, download the file

Lab 4: Shell Scripting

IRLS 504 Student Webpage Tutorial By: Nicole Pagowsky & Sara Hayden Summer 2008

CS/IT 114 Introduction to Java, Part 1 FALL 2016 CLASS 3: SEP. 13TH INSTRUCTOR: JIAYIN WANG

Week 5 Lesson 5 02/28/18

Lab: Supplying Inputs to Programs

Application Notes for Deploying a VoiceXML Application Using Avaya Interactive Response and Audium Studio - Issue 1.0

SCRIPT REFERENCE. UBot Studio Version 4. The Browser Commands

JAD FAQ DOWNLOADS, UPDATES + ACTIVATION

find starting-directory -name filename -user username

Using the New UCOP UAT Validation Reports For Undergraduate Admissions

CS 1301 Lab 2 Introduction to Webservers at GaTech

Chapter 1 An Introduction to C++, Unix, SSH and Komodo Edit

INSTALLATION OF PRO/ENGINEER WILDFIRE TRYOUT EDITION THE SAMPLE INSTALLATION INSTRUCTIONS TO FOLLOW ARE ONLY A GUIDE.

Globus Toolkit 4 Execution Management. Alexandra Jimborean International School of Informatics Hagenberg, 2009

CANDIDATES GUIDE TO USING TASKSTREAM

Adlib PDF FileNet Connector Guide PRODUCT VERSION: 5.1

Guided Tour (Version 3.4) By Steven Castellucci

Supercomputing environment TMA4280 Introduction to Supercomputing

:

SimPortal. Overview. Frank McKenna. What is SimpPortal Simple Example of Job Submission. UC Berkeley. OpenSees Parallel Workshop Berkeley, CA

Configure Recorder in CMS/Acano Call Bridge

Report Commander 2 User Guide

Administration guide. PRISMAdirect Configuration

Portrait Editor. to Portrait Flow

Hands-On Introduction to Queens College Web Sites

ITCS 4145/5145 Assignment 2

Lab 7.5.1: Basic Wireless Configuration

Using echo command in shell script

CS 215 Fundamentals of Programming II Spring 2019 Very Basic UNIX

Gradekeeper Version 5.7

Helsinki 19 Jan Practical course in genome bioinformatics DAY 0

HTCondor Essentials. Index

Transcription:

I. Introduction Assignment 3 GridNexus Job Submission Authors: Grid Computing Course Team C. Ferner and B. Wilkinson February 5, 2010 In this assignment, you will use the two programs that you developed and used in the first two assignments. After this assignment, you should be able to compare all three interfaces by using them to do the same thing. Log into both machines coit-grid03.uncc.edu and torvalds.cis.uncw.edu using PuTTY (or some other SSH client). Make a new directory called assignment3. Copy your Java class file from the assignment2 directory that you used in the last assignment to the new directory. Test these two programs from the command line to make sure they work. After that, remove any data files and leave only the.class files. II.Task 1: Downloading and Setting Up GridNexus Task 1a: Downloading GridNexus to your local machine 1. First, you need to have java version 1.6 or greater on the local machine. If you don't have it, then you will need to install that first from http://java.sun.com 2. Download GridNexus2.02 from www.gridnexus.org. Use the self-extracting file (GridNexus2_02.exe) and install the software. Task 1b: Setup 3. Determine the username (a) Choose Start->Run then open cmd and press OK. Make a note of what the USERNAME is. You can find this out by executing the command echo %USERNAME% or by executing the command set and looking for the USERNAME variable in the list. Write this down. 4. Setup CA files (a) Download the CA files and save them to the certificates directory C:\Documents and Settings\%USERNAME\.globus\certificates. The CA files can be obtained from the class website at http://www.csc.uncw.edu/~cferner/itcs4146s10/assignment3_ca_files.html. The files you need are: 61de2736.0 61de2736.signing_policy c41c7188.0 1

III. c41c7188.signing_policy 70f07989.0 70f07989.signing_policy 5. Setup your credentials (a) Using WinSCP, download your usercert.pem and userkey.pem files from any of the grid machines. These files are located a directory called.globus in your home directory. Put these files in C:\Documents and Settings\%USERNAME\.globus on the local machine. (b) NOTE: Since you are putting your private key on the local machine, you may need to remove it when you are done. If you are using your own machine, to which others do not have access, then you can leave it there. On the other hand, if you are using a lab computer, on which other people do their work, then you need to remove these files to protect your credentials. If you use GridNexus again, you may have to repeat this step. 6. Edit the etc\hosts file (This step is no longer necessary) (a) Locate the file C:\WINDOWS\system32\drivers\etc\hosts. Open this file with NotePad. Add the following lines which will map the server names to IP addresses: 152.15.98.24 coit-grid01.uncc.edu 152.15.98.25 coit-grid02.uncc.edu 152.15.98.26 coit-grid03.uncc.edu 152.15.98.27 coit-grid04.uncc.edu 152.15.90.78 coit-grid05.uncc.edu 152.20.244.234 torvalds.cis.uncw.edu Save the file and close it Task 2: Testing GridExec Task 2a: Create a new proxy. Choose Start->All Programs->GridNexus->Utils->Proxy->gridproxy-init. Type in the passphrase for your certificate. You can verify that you have a valid proxy by choosing Start->All Programs->GridNexus->Utils->Proxy->grid-proxy-info. Task 2b: Start up GridNexus by choosing Start->All Programs->GridNexus->GridNexus or by using the GridNexus shortcut on the desktop. Choose File->New->Workflow. Drag a GridExec module onto the workspace (Module Library->Transformers->Grid->GridExec). Drag three Const modules onto the workspace (Module Library->Sources->Const). Rightclick on one Const box and choose Configure. Change the value to the string: coitgrid03.uncc.edu:8440. Change the other two Const boxes to have the strings /bin/echo and Hello world from <username> on GridNexus, respectively. All of these strings need to be surrounded by double quotes. Connect the 3 boxes to the input ports of the GridExec. The machine name should connect to the Factory Contact ; the echo command should connect to the Simple Command ; and the message should connect to the Command Arguments. 2

Next drag a JxplDisplay sink module (Module Library->Sinks->JxplDisplay) to the workspace and connect the GridExec to the JxplDisplay. The workflow should look something like Figure 1. Run this workflow. If it works correctly you will see a JxplDisplay window appear, then the message ${GLOBUS_USER_ HOME}/stdout will appear within the window. Switch to the window where you have an SSH login to the machine coit-grid03.uncc.edu. Display the contents of stdout. You should see the output hello world from <username> on GridNexus appear at the bottom of the file. Try removing this file, run the workflow again, and verify that it is recreated with the expected output. Figure 1: Test Workflow If it do not work correctly, there will be an error message that will hopefully give you enough information as to what the problem is. If the stdout file is empty, see if there is a file called stderr and check its contents for a reason why it didn't work properly. If it is not helpful consult the FAQ page to see if the same problem has been reported already. If you need to send email to the instructor for help, please include a copy of the stack trace as well as the JXPL. To see the JXPL, right-click on the JxplDisplay, choose Configure, and uncheck both check boxes Evaluate Jxpl and Output in Text. Then run the workflow again to show the JXPL the workflow creates. This information is necessary for us to understand your workflow. Task 2c: Modify the workflow to use the host torvalds.cis.uncw.edu. Run the workflow and 3

verify the correct output is in the file stdout on the server. IV. Task 3: Using GridNexus In this task, you will create a workflow that uses the two programs you wrote for the first two assignments on two machines and transfer the data files. Make sure your java classes are in your home directories and delete any temporary files (like stdout, stderr, and area_output) on both machines coit-grid03 and torvalds. You will put this workflow together in parts, testing each step. The final workflow will look like Figure 3. You only need to take snapshots of the final step that you were successfully getting to work. Task 3a: Create a new workflow that runs your first program on a UNCC server. Use the GridExec module. Create constant boxes that provide: coit-grid03.uncc.edu:8440 as the Factory Contact, the full path for java as the Simple Command, the name of your.class java program (without the.class extension) as the first argument, then strings with the values for a and b as the next arguments. All of the values need to be given as strings (inside double quotes) including the integer values for a and b. Also remember that the order in which constants are connected to a multi-port is important. Add a JXPLDisplay module and connect the GridExec to it. The workflow should look something like Figure 2. Save it, run it, and verify that the result appears in the file stdout in your home directory on coit-grid03. Then remove the stdout and stderr files. Figure 2: Sample Workflow for One Job Task 3b: You now need to get the output from Task 3a moved to torvalds.cis.uncw.edu in order to run the second java program on it. We can use GridExec to run globus-url-copy to transfer the file to torvalds. Add another GridExec to your workflow to run that command on coit-grid03. The full path of the executable is /usr/local/globus/bin/globus-url-copy. (The path to globus-url-copy is different on some machines. It may be a good idea to execute the command which globus-url-copy on that machine to find where it is located.) The arguments are file:///<full pathname of your outputfile> and gsiftp://torvalds.cis.uncw.edu/<full pathname of where to put the file>/area_output. Note that since this command is running on coit-grid03, the input file is local. Also note that the pathname to your home directories on the two machines will be different. Your home 4

directory on coit-grid03 is in /nfs-home/ and your home directory on torvalds is in /home/grid/. You can run the command pwd to see what the full path to your home directory is. Make sure that you connect the two parameters to the multi-port of GridExec is the correct order. You will also need a Prog module (Module Library->Transformers->Basic->primitives- >Prog) to connect the two GridExec's to and then connect the output of the Prog module to the JXPLDisplay module. Make sure you connect the two GridExec's to the Prog module in the correct order. Save it, run it, and verify that the result file is transferred to the proper location on torvalds. Then remove the stdout, stderr, and area_output files on both machines. Task 3c: Add another GridExec to run the second java program on torvalds. The Factory Contact is torvalds.cis.uncw.edu (the port is not needed). The command is once again the path to java. The arguments will be the name of your class for the java program and the full path of the file you transferred in Task 3b. All of the values need to be given as strings. Also remember that the order in which constants are connected to a multi-port is important. The output of this GridExec should be connected to the Prog Module. Save it, run it, and verify that the result file is transferred to the proper location on torvalds. Then remove the stdout, stderr, and area_output files on both machines. Task 3d: The last thing to do is transfer the output file back to coit-grid03. Add another GridExec to your workflow to run globus-url-copy on coit-grid03 to transfer the file back renaming it to final_output. Save it, run it, and verify that the result appears in the file final_output in your home directory on coit-grid03. The final result should look something like figure 3. When you have all of these tasks completed, you will then have a single workflow that does a multi-step process using multiple servers across organization boundaries. For your submission, take snapshots of: your workflow (the final one), the contents of the data files on both machines, the contents of the JXPL Display. Also rerun the workflow where you turn off Evaluate JXPL and Output in Text (right-click on JXPL Display and choose Configure). Re-run the workflow and cut and paste the contents of the JXPL Display into your submission document. 5

Figure 3: Sample Workflow for All of Task 3 6

V.Task 4: Required for Graduate Students (extra credit for Undergraduates) In this task, you will use the Job Description Document (JDD) to execute both java programs and transfer the data files, just as you did in assignment 2. You may use the same JDDs that you used in assignment 2, but keep in mind that you will be executing your Java programs and copying files in the assignment2 directory. You can continue to work in the assignment2 directory, modify the JDDs to work with a new assignment3 directory, or modify the JDDs to work in your home directory. That is your choice. Task 4a: In GridNexus, open a Text Editor window and copy and paste the integ.xml JDD file you created in Task 3b of assignment 2. Modify it as necessary to reflect the correct path to your Java program. Save this to a text file. (It should be saved to a.txt file because if you try to save it as an XML file, Ptolomy will try to apply a schema to the file and it will be the wrong one. So saving it as a text file will avoid this.) Then create a new workflow that uses GridExec and runs that JDD file on the machine coitgrid03.uncc.edu. You will need to provide the hostname (Factory Contact) and the JDD/RSL File. The JDD File should come from a Const box with the full pathname of the JDD file on the local computer. For example, if you saved the file integ.txt in the MyDocuments folder, the path would be something like: C:/Documents and Settings/<USERNAME>/MyDocuments/ integ.txt. NOTICE THAT THE SLASHES ARE FORWARD SLASHES (/) AND NOT BACKSLASHES (\). This is because the backslash is an escape character. If you would prefer to use backslashes, then you would need to use two for every one, e.g. C:\\Documents and Settings\\<USERNAME>\\MyDocuments\\ integ.txt. No other arguments are necessary to GridExec other than the hostname and the RSL File. Save the workflow and run it. With a login window to coit-grid03, verify the results are written to area_output. Task 4b: In GridNexus, open another Text Editor window and copy and paste the mulch2.xml JDD file you created in Tasks 4b-c of assignment2. Modify it as necessary to for the correct paths. (You may consider temporarily commenting out portions of the File Staging and File Cleanup to test smaller parts of the JDD. In Xml and HTML, a comment is any text between <!-- and -->, but without the double quotes.) Save this to a text file. (It should be saved to a.txt file because if you try to save it as an XML file, Ptolomy will try to apply a schema to the file and it will be the wrong one. So saving it as a text file will avoid this.) Then create a new workflow that uses GridExec and runs that RSL file on the machine torvalds.cis.uncw.edu. Save and run the workflow. With a login window to torvalds, verify the results are written to stdout or that the output file is moved back to coit-grid03. Task 4c: After you have the RSL file working with File Staging and File Clean up, but the two workflows from 4a and 4b together into one workflow. The final result will look something like Figure 4. 7

Figure 4: Sample Workflow for One Job VI. Assignment Submission How to submit your assignment is described in a separate document. Submit a PDF document by the due date posted on the course home page. Include: Code where applicable, with comments Brief explanation of code. Show that you successfully followed the instructions and performs all tasks. Take screen shots and include these screen shots in the document. Number of screen shots is up to you but it should demonstrate your programs worked. Conclusions For the record, state what programming skills and knowledge you used but already knew before doing this assignment This information may be helpful in subsequent course developments. No information you provide will reduce your grade, but extra credit might be given for very useful comments. 8