[
https://issues.apache.org/jira/browse/OODT-75?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12970342#action_12970342
]
Brian Foster commented on OODT-75:
----------------------------------
- Here is the general idea in mind for wrapping DRMAA resource manager in CAS
resource manager:
{noformat}
//This implementation spec is based on the idea the CAS-Resource will be used
// as a front to 1 or more DRMAA resource managers, thus each ResourceNode will
// be a DRMAA resource manager server. For example, if you have both Torque and
// Condor running, you would have two ResourceNodes (i.e. 1 for Torque and 1 for
// Condor).
public class DRMAAScheduler implements Scheduler {
public void run() {
//periodically getNextJob() from JobQueue
//pass the job to -> schedule(JobSpec)
}
public boolean schedule(JobSpec spec) throws SchedulerException {
//Get ResourceNodes supporting JobSpec queue
//Submit JobSpec to best ResourceNode
}
public ResourceNode nodeAvailable(JobSpec spec) throws
SchedulerException {
//return null
}
public Monitor getMonitor() {
// return instance of DRMAAMonitor
}
public Batchmgr getBatchmgr() {
// return instance of DRMAABatchmgr
}
public JobQueue getJobQueue() {
//return instance of JobStack
}
public QueueManager getQueueManager() {
//return instance of QueueManager
}
}
public DRMAAMonitor implements Monitor {
public int getLoad(ResourceNode node) throws MonitorException {
//Ask DRMAA resource manager server at node.getIpAddr() for it current
load
}
public List getNodes() throws MonitorException {
//Return a list all DRMAA resource managers
}
public ResourceNode getNodeById(String nodeId) throws MonitorException {
//Return a ResourceNode for a DRMAA resource manager for the given
nodeId
}
public ResourceNode getNodeByURL(URL ipAddr) throws MonitorException {
//Return a ResourceNode for a DRMAA resource manager for the given
ipAddr
}
public boolean reduceLoad(ResourceNode node, int loadValue) throws
MonitorException {
//return true;
}
public boolean assignLoad(ResourceNode node, int loadValue)
throws MonitorException {
//return true;
}
}
public DRMAABatchmgr implements Batchmgr {
private Monitor monitor;
private JobRepository repository;
public boolean executeRemotely(JobSpec job, ResourceNode resNode)
throws JobExecutionException {
//send the JobSpec to the DRMAA resource manager at the given
resNode.getIpAddr()
//update JobSpec in JobRepository
}
public void setMonitor(Monitor monitor) {
//this.monitor = monitor;
}
public void setJobRepository(JobRepository repository) {
//this.repository = repository;
}
public boolean killJob(String jobId, ResourceNode node) {
//tell the DRMAA resource manager at the given node.getIpAddr() to kill
job with given jobId
}
public String getExecutionNode(String jobId) {
//get nodeId of DRMAA resource manager who is executing the job with
given jobId
}
}
{noformat}
> Ability to submit jobs to a DRMAA based resource manager
> --------------------------------------------------------
>
> Key: OODT-75
> URL: https://issues.apache.org/jira/browse/OODT-75
> Project: OODT
> Issue Type: Improvement
> Components: resource manager, workflow manager
> Affects Versions: 0.1-incubating
> Environment: none
> Reporter: Brian Foster
> Assignee: Brian Foster
> Priority: Minor
> Fix For: 0.2
>
>
> Currently at JPL, the ACOS project is funding development to added the
> ability to submit CAS jobs to Torque PBS resource manager. In researching
> this topic, I found Torque was designed around DRMAA specification and
> serveral other resource management/grid components in use today also conform
> to DRMAA specification (e.g. Condor, SGE).
> I believe this can be approached in two ways (or both):
> - Write CAS-Resource plugins (e.g. Monitor, Batchmgr, etc...) such that
> CAS-Resource can wrap any resource manager component conforming to the Java
> DRMAA specification
> - Enable CAS-Workflow manager to submit jobs to a resource manager
> conforming to the Java DRMAA specification
> The implementation of the Java DRMAA Specification has already been
> implemented:
> - Gridway (http://www.gridway.org) has implement the Java DRMAA
> specification and is available for download under Apache licensing
> (http://www.gridway.org/doku.php?id=software), and when used with Globus
> which is also under Apache Public License (applicable for 4.0.1+) can be used
> to wrap DRMAA resource managers.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.