Charles: I think your confusing "multi-jobs (MMJS) Vs an individual
job (MEJS)" and then for an MEJS job "jobtype=multiple Vs
jobtype=single".
Calling all SGE folks:
The default jobtype for an MEJS job is "multiple", meaning that when
you submit a job with count 4, 4 nodes/cpus will be allocated and 4
copies of the executable will be started (one for each node/cpu). In
PBS we have some code to ssh/rsh to each node to start the job. In
SGE, I am not sure how it is done. Seems there is some confusion in
the SGE script with what to do with jobtype multiple. If the SGE
script is dependent on the SGE PE environment to be setup in order to
process jobtype multiple, then that is a current dependency and it
needs to be setup. Simple as that. I don't know if the PE
environment comes default with certain versions of SGE or how it is
setup. Are there others that can shed some light on how this is done
in SGE? Is the PE environment typically setup? Is it easy to do?
An alternative to being dependent on the PE environment would be to
process jobtype=multiple jobs without it. For example, maybe
something similar to the PBS ssh/rsh code can be written to start the
application processes on each allocated node?
Q: Is the PE environment required for processing GRAM jobtype=MPI
jobs? Sounds like it would be, so this would indicate that the PE
environment should always be setup for a GRAM installation. If so,
then this dependency just needs to be made more explicit and documented.
-Stu
On Jul 27, 2007, at Jul 27, 7:41 AM, Charles Bacon wrote:
The globus-job-manager creates it, I believe. What I was
suggesting, though, was to just add a line to the sge.pm that did
something like:
if ( $jobtype == "multiple") && ( $count == 1 ) { $jobtype =
"single"; }
I am confused about why the jobtype is coming in as multiple in the
description, though. As far as I know, this should be coming in as
single when you submit something like -c /bin/hostname. Maybe
Martin or Stu can comment on that.
Charles
On Jul 27, 2007, at 12:29 PM, Francois Hornoy wrote:
Hum ok, thank you.
It seems that the default jobtype is "multiple", as we can see in
the file:
include/gcc64dbg/globus_gram_protocol.h, line 328:
#define GLOBUS_GRAM_PROTOCOL_DEFAULT_JOBTYPE
"multiple"
I've tried to "grep" in the sources of Globus and LESC packages,
and did not fine that GLOBUS_GRAM_PROTOCOL_DEFAULT_JOBTYPE. So
maybe they did not put anything, and by default, it's set to
"multiple". I don't know.
So, who generates that perl $description? "grep" did not help me
much. I understand that the sge.pm reads this file, but who
generates it?
Thanks for helping,
Francois.
On 7/27/07, Charles Bacon <[EMAIL PROTECTED]> wrote:
On Jul 27, 2007, at 11:49 AM, Francois Hornoy wrote:
On 7/27/07, Charles Bacon < [EMAIL PROTECTED]> wrote:
As the SGE module isn't ours, I don't have any reason why it
would be setting the jobtype to multiple here. If I were you, I
would just go into the sge.pm file and make it so it didn't set
my jobtype to multiple unless I asked it to. :-)
Hehe ok. So, you mean that, in my SGE case, all the perl
description (thus, "jobtype" in particular) is set in the LESC
packages and not in yours ?
That's what I'm thinking. I send /bin/hostname jobs to fork and
pbs adapters, and don't hit a jobtype of multiple. I know that
SGE in particular has a jobarray type that some SGE adapters call
multiple, and others don't. This is one of the reasons there is
more than one SGE adapter, because people have made different
decisions from each other.
Or the problem could be in "your" code?
It's definitely possible, but I find it unlikely as it stands.
Charles