[glue-wg] Software publishing - TeraGrid use cases

JP Navarro navarro at mcs.anl.gov
Tue Feb 19 09:08:11 CST 2008


On Feb 19, 2008, at 6:08 AM, Sergio Andreozzi wrote:

> Hi JP,
>
> thanks for the detailed feedback. For the proposed changes:
>
> ok to split EnvironmentSetup in:
>
> 1. SetupMethod, enumeration: softenv, ... (need to investigate  
> other methods/values)
> 2. Setup[Key/Script]: need to check what this can contains  
> according to the method
>
> questions:
> - can you better clarify what is it a Key in your system? <an-mpich- 
> gm-key>

Some examples, including an mpich-gm one:
   +java-sun-1.4.2
   +java-sun-1.5.0
   +gcc-3.4.3
   +mvapich-0.9.8
   +mpich-gm-1.2.5..10-intel

> - does the Stephen proposal of having a default value for  
> SetupMethod is a good replacement for the In Default attribute need?

Yes, Stephen's proposal would work great.

Thanks,

JP

> Cheers, Sergio
>
>
> JP Navarro ha scritto:
>> On a GLUE2 call last week or the week before I agreed to review  
>> the  currently
>> proposed schema for publishing software information and comment  
>> on  whether it
>> addresses TeraGrid requirements and use cases.
>>
>> The TeraGrid has been publishing software information in  
>> information  services
>> since the summer of 2007.  Our goals were to support the  
>> following  use cases:
>>
>> 1) users can discover which compute resources offer a specific   
>> software package
>> 2) users can discover the version, or versions, of available  
>> software  packages
>> 3) users can discover if a package is in the default login/ 
>> execution  environment
>>     (users or application do not need to do anything to access  
>> this  software)
>> 4) if a package is not in the default login/execution environment,
>>     how can a user or job access the software package
>>
>> We support the above use cases by publishing the following  
>> attributes  about the
>> software available on each compute resource:
>> - TeraGrid standard software name
>> - TeraGrid standard software version
>> - In default environment (yes/no)
>> - How to access the software:
>>     - access technique (the TeraGrid currently only uses the   
>> "softenv" technique)
>>     - access key (a key/string understood by a technique handler)
>>
>> Some notes:
>>
>> Even though we currently only use the "softenv" technique we   
>> abstracted the schema
>> a little so we could eventually support other techniques (i.e.   
>> "modules", "path", ..)
>>
>> A software component may include multiple binaries, have man page   
>> directories, have
>> various library directories, have multiple binary directories  
>> (bin/,  sbin/, etc),
>> be parallel/non-parallel, threaded/non-threaded, scripted/ 
>> compiled,  and have other
>> arbitrary but relevant user information. We chose not to design  
>> or  implement a schema
>> complex enough to communicate all this information, but instead   
>> expect users will
>> discover such details thru other methods. What we offer is a way  
>> for  users/jobs to
>> request that a specific piece of software be available in their  
>> login  or execution
>> environment, and will set all the appropriate environment  
>> variables  for them to make
>> that software component available (using the access technique and  
>> key  listed above).
>>
>> Example: User wants to use "mpich-gm" and must know ahead of time  
>> how  to compile
>>           (mpicc, mpicxx, mpif77, mpif90, etc) and run (mpirun)
>>
>>           1) a single info service query can return the compute   
>> resources that offer
>>           "mpich-gm", which version(s), the access technique and  
>> key  for each available
>>           "mpich-gm", and the endpoint of the execution service  
>> where  each "mpich-gm"
>>           is available
>>
>>           2 the user then submits jobs to the endpoint with the   
>> information:
>>             request software "softenv:<an-mpich-gm-key>"
>>             mpirun <myprogram> <arguments>
>>
>>           The softenv handler will make sure the libraries,  
>> paths,  and anything else
>>           needed by the application are configured correctly. The   
>> user doesn't need
>>           to know the mpirun binary path because the correct  
>> mpirun  will be first in
>>           their PATH (and LD_LIBRARY_PATH and other variables will  
>> be  set also)
>>
>>
>> Comparing the proposed GLUE2 ApplicationEnvironment entity  
>> attributes:
>>     ID
>>     Name
>>     Version
>>     State
>>     License
>>     LifeTime
>>     InstalledRoot
>>     EnvironmentSetup
>>     Description
>>
>> The attributes that would directly map to TeraGrid attributes, or  
>> be  generated
>> automatically include:
>>     ID
>>     Name
>>     Version
>>     Description
>>
>> For the TeraGrid the "EnvironmentSetup" attribute is a tuple   
>> "EnvironmentSetupMethod"
>> and "EnvironmentSetupKey".  This could be represented as a  
>> compound  value inside
>> "EnvironmentSetup" (i.e. softenv:<key>), but it would be better  
>> if  the schema had
>> the attributes separately. We propose "EnvironmentSetupMethod"  
>> and  "EnvironmentSetupKey".
>>
>> We currently have no need for License, LifeTime, or InstalledRoot,  
>> so  would suggest that
>> these attributes all be OPTIONAL.
>>
>> Lastly the TeraGrid's "in default environment" attribute doesn't  
>> map  to any proposed
>> GLUE2 attributes. It could be added as an OPTIONAL attribute, or  
>> the  TeraGrid could add
>> it as a local extension in our implementation of GLUE2.
>>
>> Regards,
>>
>> JP
>>
>>
>>
>> _______________________________________________
>> glue-wg mailing list
>> glue-wg at ogf.org
>> http://www.ogf.org/mailman/listinfo/glue-wg
>>
>
>
> -- 
> Sergio Andreozzi
> INFN-CNAF,                    Tel: +39 051 609 2860
> Viale Berti Pichat, 6/2       Fax: +39 051 609 2746
> 40126 Bologna (Italy)         Web: http://www.cnaf.infn.it/~andreozzi
>



More information about the glue-wg mailing list