RADICAL Pilot Getting Started

Requirements.

RADICAL-Pilot is written in Python. Python 2.7 or greater is a requirement. RADICAL-Pilot supports Linux and Mac

Get Python Virtualenv.

Since RADICAL-Pilot is written in Python, Python Virtualenv is a requirement by RADICAL-Pilot. This how to install Python Virtualenv.

Get RADICAL-Pilot

Create a new VirtualEnv and activate it. Install RADICAL-Pilot using pip as shown in the following commands:

$ virtualenv RADICALPilot
$ source RADICALPilot/bin/activate
(RADICALPilot)$ pip install radical.pilot

RADICAL-Pilot is now installed in the Virtualenv. The latest stable RADICAL-Pilot release is 0.40.4

Run RADICAL-Pilot

Example python scripts, that use RADICAL-Pilot, can be found in the RADICAL-Pilot repository example directory. Scripts have a .py file extension. Run the following commands to launch a simple /bin/date application in local machine.

(RADICALPilot)$ cd $HOME/RADICALPilot/share/radical.pilot/examples
(RADICALPilot)$ python 00_getting_started.py

When you run this application, it should print the following output

================================================================================
 Getting Started (RP version 0.42)                                            
================================================================================

new session: [session name]               \
database   : [database]                                                       ok
read config                                                                   ok

--------------------------------------------------------------------------------
submit pilots                                                                   

create pilot manager                                                          ok
create pilot description [local.localhost:2]                                 ok
submit 1 pilot(s) .                                                           ok

--------------------------------------------------------------------------------
submit units                                                                    

create unit manager                                                           ok
add 1 pilot(s)                                                                ok
create 128 unit description(s)
        ........................................................................
        ........................................................              ok
submit 128 unit(s)
        ........................................................................
        ........................................................              ok

--------------------------------------------------------------------------------
gather results                                                                  

wait for 128 unit(s)
        +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++|
        +++++++++++++++++++++++++++++++++++++++++++++++++++++++++             ok

--------------------------------------------------------------------------------
finalize                                                                        

closing session [session]                                                      \
close pilot manager                                                            \
wait for 1 pilot(s) *                                                         ok
                                                                              ok
close unit manager                                                            ok
session lifetime: 55.4s                                                       ok

--------------------------------------------------------------------------------
As it is executed, the script creates a pilot of 2 cores and submits 128 tasks to the pilot. These tasks be executed in parallel on the available cores; once the tasks are executed the pilot will shut down. Upon completion of the script, you will see how long it took for the script to run (relative to the clock on your machine). In your $HOME folder, you will see a folder named "radical.pilot.sandbox", which is the folder created to hold all of the sessions which run on your machine. In "radical.pilot.sandbox", you will see a folder named "-pilot-0000". In that pilot folder, you will find 128 folders, from "unit.000000" to "unit.000127". These unit folders contain the tasks that were actually executed. Go into one of them and check the STDOUT file; you should see today's date!