This module will illustrate how software is accessed in OSG Connect via OASIS. Different methods to access software are described in Software access using HTCondor or HTTP and Software access using OASIS and Parrot.
OASIS is the OSG Application Software Installation Service. OASIS is a value-added service the OSG offers to Virtual Organizations (VOs) to assist with the distribution of VO application software. OSG offers a central login to a software manager for each VO. The manager will be able to login and install their application software in a central location. Once installed in the central location, the OSG is responsible for distributing the VO software to as many sites as possible. Some Campus Grids, like HCC and UC3, have their own VO. Other Campuses can take advantage of the software installed by OSG or other VOs that let them access their software stack.
By doing this tutorial you will se how to check via PALMS the software installed in OASIS, how to use PALMS and OASIS on login01.osgconnect.com to test your jobs and how to run your jobs on resources that provide the software installed in OASIS.
Before going through the examples, login to login01.osgconnect.net and setup a workarea. , you can either run 'tutorial oasis' or type the following:
Use the OSG Application Software Installation Service (OASIS)
When one requires software that is frequently used (e.g. community software such as R, NumPy, MatLab, Mathematica, etc.), OASIS may be the way to go.
OASIS is an OSG service that presents itself to the users as a network file system based on HTTP and optimized to deliver community or group software in a fast, scalable, and reliable way. Files are installed on a central server by librarians (aka software managers) and are available on all the nodes where they are downloaded on demand and cashed. The OSG VO maintains a software repository specifically for the OSG Production and Campus Grid communities. Using OASIS has the advantage that only the portions of your application accessed will be transferred. In addition, the OASIS FUSE software will cache accesses to the OASIS repository using a web proxy as well as a local disk cache so network utilization is minimized particularly if multiple jobs on a single machine use the same applications.
To use OASIS, the target compute cluster must either have OASIS installed or one must use SkeletonKey/Parrot (see Using Parrot when OASIS is not mounted). Clusters in the OSG environment that have OASIS installed will have the HAS_CVMFS_oasis_opensciencegrid_org ClassAd set to TRUE. The previous tutorial An example: an R (statistical analysis) run on OSG Connect is making use of OASIS to access the R software.
To access software on OASIS you can use PALMS
After sourcing the multi-shell setup you can list the available software and setup the environment for the one you'd like to use. The palmsdosetup command takes care of preparing the PATH, LD_LIBRARY_PATH and the environment that you need to run that application. E.g. anaconda is a bundle including NumPy and other scientific libraries for Python:
And to view the available software (a table is available also at the bottom of this document):
Software available in the OASIS repository
The following software is available on the OASIS server via PALMS. To list the available packages you can use palms list and to setup them for your machine you can type:
To setup a software use the name in the first column as argument for palmsdosetup. The location in the last column is important only if you want to inspect the code or do a manual setup.
Python 2.7 distribution including NumPy/SciPy/...
see http://docs.continuum.io/anaconda/pkgs.html for a list of packages
|R||R software environment for statistical computing and graphics.||3.0.1|
|root||ROOT (note the GCC requirements. The default gcc in SL5 is 4.1.2)|
|snoplus-osg||Software bundle for the SNO+ experiment. Built with Snoing. It includes ROOT||20130806.1|
OSG Client software, it includes basic Grid clients (proxy mgmt, file transfer,
OSG Worker Node Client software, it includes basic Grid clients
(proxy mgmt, file transfer, job submission.
GNU Octave is a high-level interpreted language, primarily intended for