Simulating streaming software applications running on top of a distributed stream processing platform can be useful to evaluate their performance before putting them into production. However, simulating them in parallel is a complex task as the execution of events across simulation processors is not trivial because causality related events can form different sequences distributed on many processors. In this work, we present a window-based simulation algorithm for approximate parallel discrete-event simulation of streaming software applications. The algorithm is suitable for distributed stream computing platforms containing facilities for supporting fully asynchronous processing elements and downstream event flows. Namely, our simulations can be executed on the same streaming platform where the streaming application is intended to be run. The parallel simulation algorithm is based on two time control barriers. The first one is a time window barrier used to process events with time-stamps within the time window. The second one is an oracle time barrier used to define the values of the time window barrier in a manner that is based on the intrinsic features of the system being simulated rather than the current value of the time window barrier of the actual parallel simulation. Both barriers are computed asynchronously. For experimentation, on top of the distributed stream computing platform we simulate a Web search engine. The experiments show that our proposal is capable of efficiently s caling up and at the same time achieving good approximate results with respect to the results obtained from sequential simulations of the same Web search engine model.
['Veronica Gil-Costa', 'Emilio Pindado Tapia', 'Mauricio Marin']
Asynchronous approximate simulation algorithm for stream processing platforms (WIP)