Using and Administering
This subroutine tells the LoadLeveler negotiator to start
a job on the specified nodes.
LoadLeveler API library libllapi.a
#include "llapi.h"
int ll_start_job(LL_start_job_info *ptr);
- ptr
- Specifies the pointer to the LL_start_job_info structure that
was allocated by the caller. The LL_start_job_info members
are:
- int version_num
- Represents the version number of the LL_start_job_info
structure. Should be set to LL_PROC_VERSION
- LL_STEP_ID StepId
- Represents the step ID of the job step to be started.
- char **nodeList
- Is a pointer to an array of node names where the job will be
started. The first member of the array is the parallel master
node. The array must be ended with a NULL.
You must set SCHEDULER_API = YES in the global
configuration file to use this subroutine.
Only jobs steps currently in the Idle state are started.
Only processes having the LoadLeveler administrator user ID can invoke this
subroutine.
An external scheduler uses this subroutine in conjunction with the
ll_get_nodes and ll_get_jobs subroutines of the query
API. The query API returns information about which machines are
avialable for scheduling and which jobs are currently in the job queue waiting
to be scheduled.
This subroutines return a value of zero to indicate the
start job request was accepted by the negotiator. However, a return
code of zero does not necessarily imply the job started. You can use
the llq command to verify the job started. Otherwise, this
subroutine returns an integer value defined in the llapi.h
file.
- -1
- There is an error in the input parameter.
- -2
- The subroutine cannot connect to the central manager.
- -4
- An error occurred reading parameters from the administration or the
configuration file.
- -5
- The negotiator cannot find the specified StepId in the negotiator
job queue.
- -6
- A data transmission failure occurred.
- -7
- The subroutine cannot authorize the action because you are not a
LoadLeveler administrator.
- -8
- The job object version number is incorrect.
- -9
- The StepId is not in the Idle state.
- -10
- One of the nodes specified is not available to run the job.
- -11
- One of the nodes specified does not have an available initiator for the
class of the job.
- -12
- For one of the nodes specified, the requirements statement does not
satisfy the job requirements.
- -13
- The number of nodes specified was less than the minimum or more than the
maximum requested by the job.
- -14
- The LoadLeveler default scheduler is enabled; that is,
SCHEDULING_API=NO.
- -15
- The same node was specified twice in ll_start_job
nodeList.
Makefiles and examples which use this subroutine are
located in the samples/llsch subdirectory of the release
directory. The examples include the executable sch_api,
which invokes the query API and the job control API to start the second job in
the list received from ll_get_jobs on two nodes. You should
submit at least two jobs prior to running the sample. To compile
sch_api, copy the sample to a writeable directory and update the
RELEASE_DIR field to represent the current LoadLeveler release
directory.
Subroutines: ll_get_jobs,
ll_terminate_job, ll_get_nodes.
[ Top of Page | Previous Page | Next Page | Table of Contents | Index ]