Dakota Reference Manual  Version 6.12
Explore and Predict with Confidence
 All Pages

Control how local asynchronous jobs are scheduled


This keyword is related to the topics:


Alias: none

Argument(s): none

Default: dynamic

Child Keywords:

Required/Optional Description of Group Dakota Keyword Dakota Keyword Description
(Choose One)
Scheduling Mode (Group 1) dynamic Dynamic local scheduling (sequential)
static Static local scheduling (tiled)


When performing asynchronous local evaluations, the local_evaluation_scheduling keyword controls how new evaluation jobs are dispatched when one completes.

The two options are:

  • dynamic
  • static

If the local_evaluation_scheduling is specified as dynamic (the default), each completed evaluation will be replaced by the next in the local evaluation queue.

If local_evaluation_scheduling is specified as static, each completed evaluation will be replaced by an evaluation number that is congruent modulo the evaluation_concurrency. This is helpful for relative node scheduling as described in dakota/share/dakota/examples/parallelism. For example, assuming only asynchronous local concurrency (no MPI), if the local concurrency is 6 and job 2 completes, it will be replaced with job 8.

For the case of hybrid parallelism, static local scheduling results in evaluation replacements that are modulo the total capacity, defined as the product of the evaluation concurrency and the number of evaluation servers. Both of these cases can result in idle processors if runtimes are non-uniform, so the default dynamic scheduling is preferred when relative node scheduling is not required.