Storyboard for SimpleGrid Course

Course Introduction

  • PIC : SimpleGrid Overview Diagram (SGT Slide 3)
  • 3 stage learning (3 chapters of course) / outline
  • TeraGrid services? (SGT slide 19)
  • Summary slide (SGT slide 60) - Instead of summary say as introduction

Chapter 1 : Command line: TeraGrid resources and services

Introduction

  • PIC : Computation flow (SGT slide 18) (make new slide fitting the 6 steps, w/ final phrases for the steps)

High-level

  • PIC : Computation flow (SGT slide 18)

Low-level

  • Tutorial Environment (SGT slide 15)
  • Reference each numbered step in Computation flow from high-level (subsections?)
  • Copy DMS executable to TG resource + Appendix B link for Code deployment on TG
  • Special subsubsection is sequence of commands for each subsection, that if you have allocation on resource (Abe?) that using the command sequence will result in a successful deployment and execution of DMS.
  1. Proxy
    • Need a proxy, what is a proxy, where to get proxy.
    • PIC : proxy process (allocation, credential to myproxy, login/pwd to my proxy, proxy is returned, proxy is used for TG)
    • myproxy-logon, look at proxy information,
    • VIDEO? : showing myproxy-logon + showing proxy info
    • VIDEO: myproxy-logon, password, show location /tmp/x509_u{id}, run id to show id, show proxy info grid-proxyinfo -f /tmp/...
    • command sequence for getting a proxy and verifying the proxy
    • further reading: globus proxy commands, local credentials
  2. Select TG resource (info service)
    • 3 sources of information : tginfo, TG website (same info, but in verbage), info.teragrid.org (REST API, per project/user info)
    • We cover tginfo, the other 2 further readings
    • tginfo & parameters
    • VIDEO : showing different parameters of tginfo (sites; foreach site software, software kits, gridftp, gram, outage)
    • Need 2 pieces of information, gridftp and gram server for resource.
      • tginfo sites
      • get tginfo gram at selected site, tginfo gridftp at selected site
    • Command sequence for selecting NCSA resource for DMS
    • Further reading, tginfo command, info.teragrid.org, tg website (user info category)
  3. Transfer data set
    • commands: uberftp, globus-url-copy
    • protocol: gridftp
    • VIDEO : globus-url-copy, then uberftp to verify
    • Command sequence for copying data for DMS
    • Further reading : data & viz page on tg user support, globus gridftp page, links for uberftp, globus-url-copy
  4. Construct and submit job
    • Material covered: GRAM, globusrun, RSL,
    • How to create a job description file (RSL) + example w/ high-level verbage describing
    • globusrun (batch mode is suitable for gateway submission)
    • VIDEO : construct, submit, status (cross-linked)
    • Lots of further reading : gateway credential, globusjobrun (nonbatch/debug)
  5. Job Status
    • Material covered: globus-job-status <URI>, job queues & why you are waiting / shared resource
    • qstat as an example would be good
    • usually a SG will manage job status by polling job status for all active jobs
    • VIDEO : construct, submit, status (cross-linked)
    • Further reading: info for job queue selection
  6. Transfer results
    • Short, just reverse the process
    • show commands

Further Reading

Chapter 2 : Application: TeraGrid-enabled analysis using SimpleGrid API

Introduction

  • Goals:
    1. use simplegrid api to do same thing as chapter 1,
    2. develop application specific code in stateless way so it can be easily wrapped as a web service,
    3. use webservice to automatically generate a webservice

High-level

  • PIC : SimpleGrid Gateway Design (SGT Slide 10) (simplify top & bottom, detail middle)

Low-level

  • Simple grid in 3 parts : security (1), step 2 through static config, job (4,5), data (3,6)
  • PIC : Simplegrid API Arch (SGT slide 34)
  • Follow identical steps (subsections?) as the tutorial above for 1-to-1 conceptual mapping
  • PIC : simplegrid webservice tool (SGT slide 43) - create/register service ???
  • ws-gen
  1. API Introduction
    • Cover the 3 packages
  2. Application development (how to use packages to develop gateway? code
    • 6 steps from chapter 1, in SimpleGrid terms
    • Include code snippits and explanations/descriptions
    • In the end, will have a “program” that will manage DMS code on TeraGrid
    • Identical to AppRun (we either adjust the tutorial or AppRun to fit)
  3. Application Service
    • Develop DMS as stateless service
    • Take javacode and generate the REST & SOAP webservice as access webservice and put in access webservice container
    • Series of commands to generate service using SimpleGrid tools

Further Reading

Chapter 3 : Sharing: SimpleGrid user environment development

Introduction

  • Goal: Build a highly usable Web interface for sharing the TeraGrid-enabled application

High-level

  • PIC : SG user env development (SGT slide 46)
  • Usability: hide cyberinfrastructure complexity; leverage Web 2.0 advances
  • Comparison between portal and web 2.0 rich client (SGT slide 49-50)
    1. JavaScript-based rich client development features event-driven programming

Low-level

  • Organization notes (From Eric)
    • We should choose a pipeline direction (e.g. from backend to user, or user to backend - whichever makes sense)
    • Organize material around that pipeline direction based on a high-level diagram (perhaps SGT slide 46)
    • I think it makes most sense to go backend to user, since Ch 1 & 2 talk about the backend.
    • Will have to walk a fine line between telling the story (getting DMS on a working portal) and giving sufficient info for portal development
  • Technology list (SGT slide 47-48)
  1. Application integration
    1. Connect to services created in Chapter 2
    2. Web service client development (PHP: CURL)
    3. Job database
  2. User interactions
    1. Translate user actions into server interactions.
    2. JavaScript, YUI
    3. Building analysis management interface
      • User job management - Create, update, delete jobs; display job info
      • Job description - interpret data in a user-friendly way (data field parser)
      • Drag and drop
  3. Communications with Web server
    1. Communication: AJAX-based, event-driven (YUI IO)
    2. Server's role (data feeder, message handler)
    3. Server-side programming for managing application integration and user interactions
  4. Integrated user environment
    1. Addons
    2. Third-party online services (google map for visualization, twitter for online collaboration)
    3. Layout management (YUI CSS control)

Further Reading

  • Web 2.0 user interface technologies
    1. YUI
    2. jQuery
    3. HTML5
  • TeraGrid science gateway list
  • Science gateway portal technologies
    1. OGCE
    2. nanoHUB/HUBZero
    3. JavaScript cogkit

Course Conclusion

  • Summary slide (SGT slide 60)

References

  • Generic references (e.g. TG/Globus/... references that would be useful for someone going through the course)
  • Chapter 1 further reading / references
  • Chapter 2 further reading / references
  • Chapter 3 further reading / references

Appendix A : Environment Preparation & Setup

  • What services / toolkits / environments need to be setup.

Appendix B : Application deployment on TG

  • What applications are available already on TG.
  • DMS code executable
  • Short steps on deploying a *very* simple code on TG. Hello world example.
  • VIDEO : demo copying/compiling helloworld on TG (with qsub to show it works)