[gridengine users] global jsv not being applied and jsv performance...

Reuti reuti at staff.uni-marburg.de
Wed Nov 13 18:43:38 UTC 2013


Am 13.11.2013 um 17:44 schrieb Pablo Escobar:

> thanks Reuti, the problem is if I use "jsv_reject_wait" the job is rejected. I would like to find someway to give output to the users and accept the job, mainly to inform them when I modify any of their args before accepting the job.

Looking further down into the SGE source, it's seems to be a matter of a few lines to output also something in case the job can be submitted, hence I wonder about the reason why it was not implemented initially.


> Doing testing I have found that the performance improvement is only achieved when running jsv in server side. If I run jsv in client side using sge_request file I get this runtime:
> 
> time for i in `seq 1 100`; do qsub -o /dev/null -e /dev/null -cwd -b y /bin/sleep 120; done
> real    1m48.857s
> user    0m3.276s
> sys    0m1.469s

It was also mentioned in the link I posted before: on the client-side it will be compiled for each invocation, on the server-side it will be compiled once and kept alive until the qmaster discovers a change in the modification time of the script.

-- Reuti


> When doing the same submitting another 100 jobs but running the same jsv in server side I get this runtime:
> real    0m4.420s
> user    0m1.015s
> sys    0m0.936s
> 
> Seeing the huge difference in performance by now I will stay with the jsv in the server side and giving information to the users just when their jobs are rejected with jsv_reject() function. 
> 
> regards,
> Pablo.
> 
> 
> 2013/11/13 Reuti <reuti at staff.uni-marburg.de>
> Am 13.11.2013 um 15:55 schrieb Pablo Escobar:
> 
> > p.s Now I see that when using sge_request file I only get the output to stdout in the client but not to the master log file. I suppose it is related to what Reuti explained previously, using sge_request the jsv runs as a client side JSV (qsub child).
> 
> In case you want  an output for a server-side JSV in both locatinos you can use:
> 
> "jsv_log_info" => qmaster's messages file
>  "jsv_reject_wait" and change the message thereafter => output to the user
> 
> (messages after "jsv_correct" and "jsv_accept" are not output though, but it may be implemented later according to the docs in the source)
> 
> -- Reuti
> 
> 
> > The ideal would be to get the output in both logfile and client stdout, anyways I prefer the output to the client stdout because I want that my users get noticed about the reason why their jobs are rejected or which modifications are done by the jsv script.
> >
> > regards,
> > pablo.
> >
> >
> > 2013/11/13 Pablo Escobar <pescobar001 at gmail.com>
> > Hi Arnau, I have just done this 1min ago  :)
> >
> > when using jsv_url and calling jsv_log_info() function in the perl jsv I was getting no output to stdout in the client machine, I was only getting the output of jsv_log_info() in the master log.
> >
> > After this workaround of using sge_request file instead of global jsv_url config, jsv_log_info() function shows the output correctly in the client's stdout
> >
> > thanks!
> > Pablo.
> >
> >
> > 2013/11/13 Arnau Bria <listsarnau at gmail.com>
> > Hi Pablo,
> >
> > I did add
> >
> >  -jsv /usr/local/bin/jsv.pl
> >
> > to jse_request because I also had problems with jsv_url parram.
> >
> > Cheers,
> > Arnau
> > _______________________________________________
> > users mailing list
> > users at gridengine.org
> > https://gridengine.org/mailman/listinfo/users
> >
> >
> > _______________________________________________
> > users mailing list
> > users at gridengine.org
> > https://gridengine.org/mailman/listinfo/users
> 
> 





More information about the users mailing list