Allocating appropriate resource for parallel and distributed simulation (PADS) applications in clouds is an intuitive way to improve their execution efficiency. However, the heterogeneity of virtual machine (VMs) in clouds with respect to both their computing power and network latency influences the execution efficiency of PADS applications on different combinations of VMs.Besides, frequent synchronization is one of the characteristics during the execution of PADS applications, which seriously challenges the prediction of the influence of VMs' computing power and network latency on their execution efficiency, and makes allocating appropriate VMs difficult as a result. This paper first proposes a revivification-based prediction model (ERP), which revives the execution based on statistical data from actual execution of PADS applications to predict the running time of PADS applications on different combinations of VMs. Then, an ERP-based Allocation algorithm, namely, ERPA, is raised to optimize VMs allocation to minimize the running time of PADS applications in clouds. A series of experiments are conducted to compare the proposed ERPA with three resource allocation algorithms, ie, Gang-scheduling-based, Makespan-based, and Max-Min-based algorithms, and the experimental results demonstrate the advantage of ERPA in improving execution efficiency of PADS applications in clouds. In particular, for communication-sensitive PADS applications, the advantage of ERPA is more significant. KEYWORDS execution revivification, parallel and distributed simulation, performance prediction, resource allocation
INTRODUCTIONWith the development of simulation technology, the scale of parallel and distributed simulation (PADS) applications is expanding, and the demand for computing power increases as well. Currently, the parallel platforms or clusters are widely used to improve the execution efficiency, but the high cost of setting up, operating, and maintaining the basic hardware and software infrastructures severely limits the proliferation of simulation technology. The emergence of cloud computing paradigm, which receives considerable atttention in both academic and industry, 1 makes it possible to run PADS applications with reasonable cost. 2,3 In clouds, customers can access unlimited resources (eg, VMs) on demand at a ''pay-as-you-go'' model, and just pays for their actual use. Therefore, deploying PADS applications in clouds is attractive.In PADS, simulation entities are mapped on different machines/cores, and their states are modified by executing events at discrete time.These entities communicate with each other by sending and receiving time-stamped messages. During parallel execution, these entities are synchronized periodically to yield the same result as the sequential execution. As a result, the execution performance goes down. Due to the frequent synchronizations among entities, the running time of PADS is determined by the slowest entities. Besides, the network latency among entities can place a great influence on the runni...