[Beowulf] Gridengine and bash + Modules

Reuti reuti at staff.uni-marburg.de
Mon Jan 18 13:03:32 PST 2010


Hi,

Am 18.01.2010 um 20:53 schrieb madskaddie at gmail.com:

> 2010/1/18 Brian Smith <brs at usf.edu>:
>> Ah, the RedHat-isms that we take for granted... hah!  I forgot  
>> that the
>> default ~/.bashrc I push out to everyone sources /etc/bashrc by  
>> default.
>> What distro are you using?
>>
>
> Debian lenny
>
>> There's also this bit of goodness from the man page:
>>
>> "Bash attempts to determine when it is being run with its standard  
>> input
>> connected  to a a network connection, as if by the remote shell  
>> daemon,
>> usually rshd, or the secure shell daemon sshd.
>>
>
> The Debian bash man page doesn't say the word "sshd" (only "rshd"),
> and I'm using ssh as the remote shell, so it may be the case (weird,
> but possible).
>
> (...)

a) you could define a starter method in SGE's queue setup to define  
the necessary things.

But what functions are these in detail? I checked on one cluster and  
to me it looks like it's only one:

module ()
{
     eval `/mypath/environment-modules/3.2.6//Modules/$MODULE_VERSION/ 
bin/modulecmd bash $*`
}

and the eval isn't necessary IMO. It would be necessary if $* would  
include something which has to be interpreted again. So an alias is  
also working for me (unset module and define it like below):

b) alias module='/cm/local/apps/environment-modules/3.2.6//Modules/ 
$MODULE_VERSION/bin/modulecmd bash $*'

or c) you could define a wrapper with a script and put it in /user/ 
local/bin or alike.

-- Reuti


>>
>> I wonder if sge_shepherd doesn't, in fact, trick shells into beha
>> ving
>> this way... I know I'm not using BASH_ENV and my modules environment
>> works correctly.
>>
>
> Just to be sure we aren't missing something: you can load a module
> inside the submit job, correct?
>
> Case 1:
>
>  - module load something
>  - qsub job.sh
>  - cat job.sh
> #!/bin/bash
> #(sge config stuff)
>
> mpirun ...
>
> #EOF
>
> Case 2 (what I pretend):
>  - qsub job.sh
>  - cat job.sh
> #!/bin/bash
> #(sge config stuff)
>
> module add something
> mpirun ...
>
> #EOF
>
>
>
>
>>
>> -Brian
>>
>> --
>> Brian Smith
>> Senior Systems Administrator
>> IT Research Computing, University of South Florida
>> 4202 E. Fowler Ave. ENB308
>> Office Phone: +1 813 974-1467
>> Organization URL: http://rc.usf.edu
>>
>>
>> On Mon, 2010-01-18 at 14:38 +0000, madskaddie at gmail.com wrote:
>>> 2010/1/16 Brian Smith <brs at usf.edu>:
>>>> I'm using this in our environment.  I've simply added the Modules
>>>> environment code to /etc/bashrc and /etc/csh.cshrc on all nodes  
>>>> (I use
>>>> puppet to manage everything, so this is easy).  This ensures that
>>>> Modules is properly integrated with your environment regardless of
>>>> whether you are using an interactive or non-interactive  
>>>> invocation of
>>>> these shells.  This works for SGE (I'm on 6.2u4, ATM)
>>>>
>>>
>>> But it seems that gridengine spawns like "bash script_name" so no rc
>>> files are read. Reading bash manpage, I found the BASH_ENV  
>>> environment
>>> variable:
>>>
>>> """
>>> When  bash  is  started non-interactively, to run a shell script,  
>>> for
>>> example, it looks for the variable BASH_ENV in the environment,
>>> expands its value if it appears there, and uses the expanded  
>>> value as
>>> the name of a file to read and execute.  Bash behaves as if the
>>> following command were executed:
>>>               if [ -n "$BASH_ENV" ]; then . "$BASH_ENV"; fi
>>> but the value of the PATH variable is not used to search for the  
>>> file name.
>>> """
>>> (bash manpage)
>>>
>>> Right now I'm setting this variable and with the "-V" job submission
>>> flag it's working well (it does not work correctly without it)
>>>
>>> Gil
>>>
>>>
>>
>>
>
>
>
> -- 
> "
> It can't continue forever. The nature of exponentials is that you push
> them out and eventually disaster happens.
> "
> Gordon Moore  (Intel co-founder and author of the Moore's law)
>
> _______________________________________________
> Beowulf mailing list, Beowulf at beowulf.org sponsored by Penguin  
> Computing
> To change your subscription (digest mode or unsubscribe) visit  
> http://www.beowulf.org/mailman/listinfo/beowulf




More information about the Beowulf mailing list