This API does not give you access to any new LoadLeveler functions from Version 2 Release 1.0, or later releases.
Program applications which use the parallel APIs to interface with LoadLeveler are supported under a job type called parallel. When a user submits a job specifying the keyword job_type equal to parallel, the LoadLeveler API job control flow is as follows:
The negotiator selects nodes based on the resources you request. Once the nodes have been obtained, the negotiator contacts the schedd to start the job. The schedd marks the job pending and contacts the affected startds to start their starter processes.
One machine becomes the Master Starter. The Master Starter is one of the selected parallel nodes. After all starters are started and have completed inititialization, the Master Starter starts the executable specified in the job command file. The executable referred to as the Parallel Master uses this API to start tasks on remote nodes. A LOADLBATCH environment variable is set to YES so that the Parallel Master can distinguish between callers.
The Parallel Master must:
When the Parallel Master starts, the job is marked Running. Once the Parallel Master and all tasks exit, the job is marked Complete.
The Parallel Master is expected to cleanup and exit when:
The SIGTERM is also sent to all parallel tasks.
The SIGUSR1 is also sent to all parallel tasks.
A SIGKILL is issued to any process which does not exit within two minutes of receiving a termination signal.
Note that a SIGUSER1 indicates the job must terminate but will be restarted, while a SIGTERM indicates the job must terminate but will not be restarted.