MemoSim: Avoiding of Redundant Computations in Simulation Parameter Studies by Memoization

Simulations are essential in the development and optimization of communication systems. In parameter studies a system model is simulated in manifoldly different configurations to obtain early conclusions about the behavior of the system under study. Their execution time increases with model complexity and network size, typically more than linear, hence easily becomes a critical bottleneck in research and development.

Until today, runtime reductions were primarily achieved through increasing computational power (by additional processor cores and parallel and distributed simulation). In many cases the theoretical optimum is already almost reached. To nevertheless improve performance while model complexity steadily increases, fundamentally new approaches have to be investigated.

In preliminary studies and by many years of experience in network simulation, we observed that often many complex operations are performed repeatedly during the execution of a parameter study, which is actually not necessary. Unfortunately, those computations are not automatically recognized.

This results in the research question of this project: Is it possible to recognize and avoid redundant computations in parameter studies? If so, up to which degree? This reduction shall be applied orthogonally and additionally to parallelization and offers a great potential for optimization, allowing investigation of even more complex and detailed simulation models without increasing computational power.

Our proposal for avoiding redundant computations bases on the concept of memoization. This approach caches results of computations in memory to allow direct application if demanded later. While this can in general be realized manually, it had to be performed individually for every simulation model; this results in huge manual effort for the developers.

Consequently, the goal of this proposal is to investigate concepts to automated memoization. To this end, we will design, investigate, and evaluate methods able to automatically recognize and avoid redundant computations. We will (1) research and develop methods to automatically identify complex, redundant computations, whose elision seems promising, (2) design approaches allowing automated memoization of the identified code blocks, such that redundant computations are efficiently avoided, and (3) investigate to which extent these approaches are comparable to high-quality, manual memoizations, hence if we can provide developers access to efficient and automated tools for this purpose.

Our research project will answer the questions whether we can realize automated approaches for Memoized Simulation (MemoSim) and how efficient these approaches are.

Awards



Publications

On Automated Memoization in the Field of Simulation Parameter Studies. ACM Transactions on Modeling and Computer Simulation (TOMACS), vol. 28, no. 4. October 2018.
Automated Memoization: Automatically Identifying Memoization Units in Simulation Parameter Studies. Proceedings of the 21st IEEE/ACM International Symposium on Distributed Simulation and Real Time Applications (DS-RT 2017), Oct 18 - Oct 20, 2017, Rome, Italy. October 2017.
Code-transparent Discrete Event Simulation for Time-accurate Wireless Prototyping. Proceedings of the 5th ACM SIGSIM/PADS Conference on Principles of Advanced Discrete Simulation (SIGSIM-PADS’17), May 24 - May 26, 2017, Singapore, Singapore. May 2017.
Automated Memoization for Parameter Studies Implemented in Impure Languages. Proceedings of the 4th ACM SIGSIM/PADS Conference on Principles of Advanced Discrete Simulation (SIGSIM-PADS’16), Banff, AB, Canada. May 2016.