content_image/993948.jpg
<img src='content_image/993948.jpg'>

There are three components that are involved in the job launch: 

1. The workload manager (WLM) (IBM Spectrum LSF) 

2. The CSM 

3. The Message Passing Interface (MPI) Runtime Environment (RTE) 

The dashed lines in Figure 4-9 indicate optional operations. 

After IBM Spectrum LSF decides to start a job by using the CSM infrastructure, it calls csm_allocation_create  to reserve nodes for a job, run the job prolog, create the Job Step Manager (JSM) (PMIx) server, and launch a user script or executable file on the LN. As part of the CSM allocation, the CSM database is updated to include the job start information. Then, the compute nodes are put into job run mode and are accessible to the job owner. 

The jsm  daemon creates a job step launch tree on all the nodes that are determined by a csm_allocation_query  call. This job step tree is created on behalf of the job that is allocated with csm_allocation create . Then, user job steps can be launched by the user with the jsrun command. This command communicates with the jsm  daemon on the LN through a UNIX socket by passing job step requests. As part of the job step start and end, IBM JSM calls CSM to record step-specific information in the CSM database. After the last job step completes, the user script or executable file that is launched by IBM Spectrum LSF exits and IBM Spectrum LSF stops the jsm  daemon. IBM Spectrum LSF then releases resources after calling the job epilog with a call to csm_allocation_delete . Then, the job resource usage is stored in the CSM database; the job is complete; and the node resources can be reused. 

