edu.rit.pj.cluster
Class JobSchedulerProxy

java.lang.Object
  extended by edu.rit.pj.cluster.Proxy
      extended by edu.rit.pj.cluster.JobSchedulerProxy
All Implemented Interfaces:
JobSchedulerRef

public class JobSchedulerProxy
extends Proxy
implements JobSchedulerRef

Class JobSchedulerProxy provides a proxy object for sending messages to a PJ job scheduler process.


Constructor Summary
JobSchedulerProxy(ChannelGroup theChannelGroup, Channel theChannel)
          Construct a new job scheduler proxy.
 
Method Summary
 void backendFailed(JobFrontendRef theJobFrontend, String name)
          Report that a backend node failed.
 void cancelJob(JobFrontendRef theJobFrontend, String errmsg)
          Cancel a job.
 void jobFinished(JobFrontendRef theJobFrontend)
          Report that a job finished.
 void renewLease(JobFrontendRef theJobFrontend)
          Renew the lease on a job.
 void reportComment(JobFrontendRef theJobFrontend, int rank, String comment)
          Report a comment for a process.
 void requestJob(JobFrontendRef theJobFrontend, String username, int Nn, int Np, int Nt)
          Request that a job be scheduled.
 
Methods inherited from class edu.rit.pj.cluster.Proxy
close, receive, receive, send, send
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface edu.rit.pj.cluster.JobSchedulerRef
close
 

Constructor Detail

JobSchedulerProxy

public JobSchedulerProxy(ChannelGroup theChannelGroup,
                         Channel theChannel)
Construct a new job scheduler proxy. The proxy will use the given channel in the given channel group to send messages to the job scheduler process.

Parameters:
theChannelGroup - Channel group.
theChannel - Channel.
Method Detail

backendFailed

public void backendFailed(JobFrontendRef theJobFrontend,
                          String name)
                   throws IOException
Report that a backend node failed.

Specified by:
backendFailed in interface JobSchedulerRef
Parameters:
theJobFrontend - Job frontend that is calling this method.
name - Backend node name.
Throws:
IOException - Thrown if an I/O error occurred.

cancelJob

public void cancelJob(JobFrontendRef theJobFrontend,
                      String errmsg)
               throws IOException
Cancel a job.

Specified by:
cancelJob in interface JobSchedulerRef
Parameters:
theJobFrontend - Job frontend that is calling this method.
errmsg - Error message string.
Throws:
IOException - Thrown if an I/O error occurred.

jobFinished

public void jobFinished(JobFrontendRef theJobFrontend)
                 throws IOException
Report that a job finished.

Specified by:
jobFinished in interface JobSchedulerRef
Parameters:
theJobFrontend - Job frontend that is calling this method.
Throws:
IOException - Thrown if an I/O error occurred.

renewLease

public void renewLease(JobFrontendRef theJobFrontend)
                throws IOException
Renew the lease on a job.

Specified by:
renewLease in interface JobSchedulerRef
Parameters:
theJobFrontend - Job frontend that is calling this method.
Throws:
IOException - Thrown if an I/O error occurred.

reportComment

public void reportComment(JobFrontendRef theJobFrontend,
                          int rank,
                          String comment)
                   throws IOException
Report a comment for a process.

Specified by:
reportComment in interface JobSchedulerRef
Parameters:
theJobFrontend - Job frontend that is calling this method.
rank - Process rank.
comment - Comment string.
Throws:
IOException - Thrown if an I/O error occurred.

requestJob

public void requestJob(JobFrontendRef theJobFrontend,
                       String username,
                       int Nn,
                       int Np,
                       int Nt)
                throws IOException
Request that a job be scheduled.

Specified by:
requestJob in interface JobSchedulerRef
Parameters:
theJobFrontend - Job frontend that is calling this method.
username - User name.
Nn - Number of backend nodes.
Np - Number of processes.
Nt - Number of CPUs per process. 0 means "all CPUs."
Throws:
IOException - Thrown if an I/O error occurred.


Copyright © 2005-2012 by Alan Kaminsky. All rights reserved. Send comments to ark­@­cs.rit.edu.