Thursday, June 14, 2012

Running Airavata sample workflows


The purpose of this post is to give an understanding of how to run sample workflows shipped in with Airavata. If you are a new user and would like to acquire basic understanding of how to use Airavata, please refer the 5 minute tutorial and then refer the 10 minute tutorial. If you are familiar with Airavata and would like to run a sample workflow, this is the right place for you.


Introduction


This post will explain how to run a workflow, using an existing Airavata Workflow Configuration. Airavata currently, ships sample workflow configurations with it's distribution. The Samples included are;


  1. SimpleMath workflow
  2. ComplexMath workflow
  3. LevenshteinDistance workflow

Note: Currently Airavata will work with Linux distributions and Mac and we do not support all the Apache Airavata components to work on Windows.



Running a sample


  • Download the latest Airavata release pack from downloads link and extract, for future explanation lets assume the path to extracted directory is AIRAVATA_HOME.
  • Now Run the following scripts in the given order below to start the components of Airavata.

AIRAVATA_HOME/bin/jackrabbit-server.sh - This will start Jackrabbit repository on port 8081.

AIRAVATA_HOME/bin/airavata-server.sh - This will start SimpleAxis2Server on port 8080

AIRAVATA_HOME/bin/xbaya-gui.sh - This will start XBaya GUI application.
  • Click the Xbaya tab and open up an Airavata workflow configuration (.xwf) from file system (sample workflows shipped in with Airavata can be found in AIRAVATA_HOME/samples/workflows) eg. Assume that you selected the SimpleMath workflow
    • Now Click on the run button (red colored play).
    • Then the workflow will get executed.
    • Finally the result of the workflow will get displayed.
    • Similarly, other workflows can be executed.

Workflow Samples



Basic samples


  1. SimpleMath workflow
    • This workflow will hand over the inputs to 4 nodes. Then the results will be handed over to another 2 nodes which will then hand over the results to another node. The last node will output the result of the operation. All the nodes considered are doing addition operations.
  2. ComplexMath workflow
    • This workflow will hand over the inputs to 4 nodes which are doing addition operations. Then the outputs(results) will be handed over to another 2 nodes which are doing multiplication operation. The results of the multiplications are handed over to another node. The last node will do addition operation on the input data and output the resulting value.

Advanced Samples


XBaya support Parametric Sweeps which can be used to tackle uncertainty of inputs to a workflow. It supports, Cartesian product and Dot product of inputs.

  1. Levenshtein Distance workflow
    • This workflow will use Airavata's ForEach construct to calculate Levenshtein Distance of strings. This workflow will use cross product to calculate distance.             

No comments: