Limit (Families)

The previous section has shown how to apply limit/inlimit to constraint task execution/submission.

This section shows how to apply similar constrains to how many suites/families are allowed to run in parallel. When a family is limited, the contained tasks are unconstrained. In the following eample, while only two families can run at a time, all the tasks in the family are allowed to start at once.

Modify the suite definition file, as follows:

# Definition of the suite test.
suite test
 edit ECF_INCLUDE "$HOME/course"
 edit ECF_HOME    "$HOME/course"
 edit SLEEP 20
 limit fam 2
 family lf1
     inlimit -n fam
     task t1 ;  task t2 ; task t3 ; task t4; task t5 ; task t6; task t7; task t8 ; task t9
 endfamily
 family lf2
     inlimit -n fam
     task t1 ;  task t2 ; task t3 ; task t4; task t5 ; task t6; task t7; task t8 ; task t9
 endfamily
 family lf3
     inlimit -n fam
     task t1 ;  task t2 ; task t3 ; task t4; task t5 ; task t6; task t7; task t8 ; task t9
 endfamily
endsuite

What to do

  1. Apply the changes to suite definition.

  2. Copy the task script from the previous section example into the new families directories.

  3. In ecflow_ui, observe the effects on the number of active families/submitted tasks.

  4. How could the suive be updated to limit tasks as well as families (i.e. only allow 1 task to run in each family)?