- Client
-
in gui_client.py, start_server() launches ContinuityParallel.py on the server (which runs on the front end) and waits for config_dyn_*.mpich to be created
-
-
ContinuityParallel.py
- Runs from the front end; however, all real work is sent to compute nodes, so this shouldn’t be a problem at all.
- Sets up SGE_ROOT and PATH environment variables
- Creates ep_run
- sets up some environment variables
-
mpirun -p4pg config_dyn* python ContinuityDaemon.py
- Creates sge_cont
- file used by qsub; basically contains the # of required nodes and
- sgeStart.py (which simply creates config_dyn_* file and then waits)
- Gets a current list of jobs
- qsub sge_cont
- Wait for sge_cont (by using sgeStart.py) to create config_dyn*
- Once config_dyn is ready, identifies new job_id (as the job id that was not in previous list of jobs)
- Creates tunnel to root node (which it identifies in config_dyn)
- Runs ep_run on root node
- When it’s done, clean up everything, including qdel new job_id