Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [ptp-dev] new rm prototype

Is the new rm prototype available in a repo somewhere?

Cheers,
Steve

On 01/04/2011 04:39 PM, Greg Watson wrote:
Happy new year!

I've just committed a prototype of the new RM control framework to org.eclipse.ptp.core.rm. The framework roughly follows the DRMAA spec, but since we're not actually implementing DRMAA I chose only to use those parts I thought were relevant to us.

The way the new framework will work is that a new RM will need to provide implementations of IResourceManager (by extending AbstractResourceManager), and the IJobTemplateFactory and IJobTemplate interfaces.

There are two new primary methods:

	public String runJob(IJobTemplate jobTemplate, IProgressMonitor monitor) throws ResourceManagerException;

and

	public void control(String job, JobControlOperation operation, IProgressMonitor monitor) throws ResourceManagerException;

The runJob method basically replaces the current submitJob method. The control method is used to control jobs, such as placing them on hold, terminating them, etc.

Job status changes are notified via the IResourceManagerListener interface (much as they are now, but simpler). The resource manager will need to call the handleJobStatusChange method whenever a job's status changes (i.e. when it changes from submitted to running to done, etc. This is probably going to be the trickiest bit of the implementation, since most RM's will need to be polled for this information. I would prefer not to have to use the monitoring system to provide this information if possible; that way we could keep a clean separation between the control and monitoring components.

The piece I'm least sure about is the IJobTemplate. The DRMAA spec includes a whole lot of methods for things like setStartTime, setHardWallclockTimeLimit, etc., but these seem more like attributes to me. I presume that they are there to mandate their use (some are optional), so I'm not sure if we should keep them or not. On one hand we could just pass an ILaunchConfiguration with all the attributes from the launch dialog. On the other hand, it might be nice to enumerate the common attributes more explicitly. I'm also not sure what to do about stdin/stdout/stderr (if anything).

Note that this is all pretty high level. I presume that we'll provide a concrete implementation that gets configuration/attribute information from XML files, uses remote commands, etc., and that can be easily cloned to support different RMs.

Please take a look and provide feedback.

Thanks,
Greg
_______________________________________________
ptp-dev mailing list
ptp-dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/ptp-dev



Back to the top