Communication cost estimation for parallel CFD using variable time-stepping algorithms

Variable time-stepping algorithm can greatly reduce the execution time of parallel CFD by allowing each parallel CFD process to select its own computation and communication time-steps according to the computational stability conditions. However, this algorithm significantly complicates the task of deriving the cost function for computer load balancing. Computer load balancing for parallel CFD requires a cost function that generally uses the elapsed CFD execution time as the cost. The cost function consists of three components: the computation cost, the communication cost, and the idle cost. Since the execution of parallel CFD using variable time-stepping approach causes the change the load of of computer and network even in a single user environment, the cost function should be derived based on the measurement of the parallel CFD execution time. The derived cost function can be used for predicting the elapsed time of future program execution. In this paper, the derivation of communication cost function for a parallel CFD using variable time-stepping algorithm is described. The accuracy of the communication cost function is demonstrated by two test cases and has been successfully used in dynamic computer load balancing.