Open MPI logo

Open MPI Development Mailing List Archives

  |   Home   |   Support   |   FAQ   |   all Development mailing list

From: Jeff Squyres \(jsquyres\) (jsquyres_at_[hidden])
Date: 2006-06-14 09:30:29

> -----Original Message-----
> From: devel-bounces_at_[hidden]
> [mailto:devel-bounces_at_[hidden]] On Behalf Of Matthijs Richard Koot
> Sent: Wednesday, June 14, 2006 1:04 AM
> To: devel_at_[hidden]
> Subject: [OMPI devel] Q: Job scheduling of MPI applications?
> (in general)
> I'm new to this list, and have a question regarding the how
> MPI jobs are scheduled by JMSs. If I understand correctly, to
> have decent management/scheduling of MPI jobs, there are
> requirements for both the MPI implementation and JMS
> implementation, for them to be 'integrated':
> - the JMS needs to be 'parallel-aware', i.e. implement the PSCHED API;

It is probably more precise to say that the JMS ("Job Management
System"?) needs to provide a mechanism to start jobs on allocated nodes.
If it provides a parallel mechanism (e.g., a caller can invoke one
command to launch many processes), so much the better -- but if the
mechanism is serial, that's ok too. All common resource managers
provide *some* way of launching jobs on allocated notes -- indeed, that
is one of their main purposes (to start / stop jobs).

The PSCHED API is one of several such interfaces. A subset of the
PSCHED API is only in common use in the PBS line of resource managers
(Torque, PBS Pro, etc.). I doubt that TM is the native interface that
the PBS flavors use to launch jobs (i.e., I doubt that PBS uses TM
internally for launching processes), but I have not dived into the
implementation enough to know. Other resource managers have different

> - the MPI needs to be 'JMS-aware', i.e. call the PSCHED
> functions at the JMS.

That's correct in spirit, but a little more precise would be to say that
the MPI needs to be aware of and properly utilize the mechanism that the
resource manager provides to start jobs.
> My questions:
> 1. Is this correct?
> 2. Which question should is valid: "does OpenMPI support
> SGE?", or: "does SGE support OpenMPI"?

It's probably more correct to ask if Open MPI supports a given resource

> 3. How do I know which JMSs (Torque/OpenPBS, SGE, LSF, ...)
> are compatible with which MPI implementations (OpenMPI,
> MPICH, MPICH-G2, ...), and vice versa?

I can't speak for the other MPI implementations, but for Open MPI, you
can look here:

> 4. Is it true that the PSCHED API is the 'de facto' for such
> integration?

No. It was an attempt to standardize such things, but it never really
caught on outside of the PBS family.

Jeff Squyres
Server Virtualization Business Unit
Cisco Systems