Update.

Weeks later the overkill of setting memory to 12gb for the VM that runs qmaster 
has resulted in relative stability. I could investigate how much I can reduce 
that without cause problems but not in the mood for tempting Murphy,

FYI, those of you using SnakeMake will find out that it does not support using 
-v. Because it makes the user's lives "easier" they don't want to go through 
the trouble of using -v manually. I don't know why SnakeMake insists on not 
following best practice. I've just told the users that if they use SnakeMake to 
create thousands of jobs using -V and they crash the scheduler as a result, the 
blame will come right back to them...

Mfg,
Juan Jimenez
System Administrator, HPC
MDC Berlin / IT-Dept.
Tel.: +49 30 9406 2800


________________________________________
From: Reuti [re...@staff.uni-marburg.de]
Sent: Tuesday, March 21, 2017 17:19
To: Jimenez, Juan Esteban
Cc: Jesse Becker; SGE-discuss@liv.ac.uk
Subject: Re: [SGE-discuss] Sizing the qmaster

> Am 21.03.2017 um 16:15 schrieb juanesteban.jime...@mdc-berlin.de:
>
>>   The "size" of job metadata (scripts, ENV, etc) doesn't really affect
>>   the RAM usage appreciably that I've seen.  We routinely have jobs
>>   ENVs of almost 4k or more, and it's never been a problem.  The
>>   "data" processed by jobs isn't a factor in qmaster RAM usage, so far as
>>   I know.
>
> I’ve been reading otherwise, with specific recommendations to use –v rather 
> than –V, but many tools out there are lazy and just use –V. passing the 
> entire environment.

Although it falls out of the main discussion here:

I second to use only -v and only for environment variables you need in the job 
script, preferably with an assignment and not only broadcasting any value of 
the current bash session to the job. The best is to have self contained 
scripts, so that you can reproduce the behavior of a job also in a month for 
sure. Whether you have -v in the job script as a #$ line for SGE, or set/export 
it directly in the script, might be a matter of taste. One real application of 
-v with an assignment on the command line, is to use a different program flow 
in the job script (and print this case of execution in the output).

I avoided the word "path" in the last sentence above by intention. When I 
started with queuing systems, I saw many users using -V as it looks appealing 
to execute in the queuing system what you would otherwise start right now on 
the command line. But on the command line you notice instantly whether any 
$PATH was set in the wrong way and target the wrong binary or a wrong value for 
any application was assigned which changes its behavior. Recalling in one month 
why a different version of program XY was used than it was intended, or why the 
job crashed using e.g. a different parameter file can be hard. So I convinced 
my users to stop this procedure, as it was impossible for me as an admin to 
explain to them why their job crashed, when I'm not aware of the actual 
settings inside their shell session was at submission time. Even worse: having 
more than one terminal window open to the head node can result in the effect 
that in one session it's working, but not in the other because the shell's 
environment was changed by the user.

-- Reuti
_______________________________________________
SGE-discuss mailing list
SGE-discuss@liv.ac.uk
https://arc.liv.ac.uk/mailman/listinfo/sge-discuss

Reply via email to