SciGaP / ultrascan-airavata-bridge

Glue layer combining Ultrascan and Airavata
Apache License 2.0
0 stars 5 forks source link

Question on launch experiments #10

Closed ehb54 closed 2 years ago

ehb54 commented 2 years ago
    /**
     * This function calls Airavata Launch Experiments. Inside the implementation, all the required steps such as
     *  creating an experiment and then launching is taken care of.
     *
     * @param string $limsHost - Host where LIMS is deployed.
     * @param string $limsUser - Unique user name of LIMS User
     * @param string $experimentName - Name of the Experiment - US3-AIRA, US3-ADEV ..
     * @param string $requestId - LIMS Instance concatenated with incremented request ID. Ex: uslims3_CU_Boulder_1974
     * @param string $computeCluster - Host Name of the Compute Cluster. Ex: comet.sdsc.edu
     * @param string $queue - Queue Name on the cluster
     * @param integer $cores - Number of Cores to be requested.
     * @param integer $nodes - Number of Nodes to be requested.
     * @param integer $mGroupCount - Parallel groups.
     * @param integer $wallTime - Maximum wall time of the job.
     * @param string $clusterUserName - Juelich’s clusters will use this to submit job as the specified user. Other clusters ignore it.
     * @param string $clusterScratch - Cluster scratch for Juelich clusters, Others ignore it.
     * @param string $clusterAllocationAccount - override cluster allocation project account number
     * @param string $inputFile - Path of the Input Tar File
     * @param string $outputDataDirectory - Directory path where Airavata should stage back the output tar file.
     * @param integer $memoryreq - Optional memory requirement in megabytes. Pass 0 if needed to be skipped
     *
     * @return array - The array will have three values: $launchStatus, $experimentId, $message
     *
     */

assuming $mGroupCount == 1

is $nodes used as # of nodes requested and $cores split amongst them? i.e. if i request 4 nodes and 32 cores will the execution be on 4 nodes with 8 mpi jobs on each ? does the architecture have any effect? i.e. if there are actually 128 hardware cores/node, is this considered?

Not asking you to make any changes, just trying to understand 'as-is'. (I suppose I could run tests to see, but thought it might be quicker to ask)

ehb54 commented 2 years ago

Also, when $mGroupCount > 1 do the separate parallel tasks get consolidated into one slurm script or do they run as individual slurm scripts?

smarru commented 2 years ago

@ehb54 yes, precisely. mGroupCount is something the ultrascan specific, but in general what you say about nodes and cores is correct.

ehb54 commented 2 years ago

@smarru Thanks - I assume then that actual hardware doesn't effect, if we ask for n nodes and c cores, we get n nodes each with c/n jobs running.

on mGroupCount, say mGroupCount = 4, does this create 1 slurm batch job or 4 ?

smarru commented 2 years ago

Still 1 SLURM job, for Airavata mGroupCount is a application parameter and doesn't take into consideration for jobs. Only nodes and cores are considered