Optimize runtime for Distributed Processing Runs

Answered

Comments

1 comment

  • Avatar
    Jason

    When we execute a distributed processing run, the master has to communicate with slaves, i.e., pass down the model file and then receive the results after each transaction. This communication time lag is mostly negligible if it runs for small number of realizations, but as the number of transactions increases, this becomes a larger factor to the total simulation run time. And unfortunately increasing the number of slaves sometimes doesn't affect much to the overall run time because the number of transactions hasn't changed.

    In a GoldSim distributed processing run, you can edit the number of realizations to process per transaction. This reduces the number of communications between the master and slaves, and effectively reduces the run time.

    To summarize it, if you have a model with large number of realizations where each one takes a relatively short time to run, then increasing the number of realizations to process per slave transaction is a great way to reduce the run time. On the other hand, if you have a model with relatively few realizations where each realization takes long time to run, then increasing the number of slaves should help the model to run quicker.

Please sign in to leave a comment.