Enabling Cross-Event Optimization in Discrete-Event Simulation Through Compile-Time Event Batching

05/11/2018
by   Marc Leinweber, et al.
0

A discrete-event simulation (DES) involves the execution of a sequence of event handlers dynamically scheduled at runtime. As a consequence, a priori knowledge of the control flow of the overall simulation program is limited. In particular, powerful optimizations supported by modern compilers can only be applied on the scope of individual event handlers, which frequently involve only a few lines of code. We propose a method that extends the scope for compiler optimizations in discrete-event simulations by generating batches of multiple events that are subjected to compiler optimizations as contiguous procedures. A runtime mechanism executes suitable batches at negligible overhead. Our method does not require any compiler extensions and introduces only minor additional effort during model development. The feasibility and potential performance gains of the approach are illustrated on the example of an idealized proof-ofconcept model. We believe that the applicability of the approach extends to general event-driven programs.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
09/27/2017

Ciw: An open source discrete event simulation library

This paper introduces Ciw, an open source library for conducting discret...
research
06/28/2022

Compilation Forking: A Fast and Flexible Way of Generating Data for Compiler-Internal Machine Learning Tasks

Compiler optimization decisions are often based on hand-crafted heuristi...
research
02/01/2022

Compiler-Driven Simulation of Reconfigurable Hardware Accelerators

As customized accelerator design has become increasingly popular to keep...
research
05/17/2020

Not So Fast: Understanding and Mitigating Negative Impacts of Compiler Optimizations on Code Reuse Gadget Sets

Despite extensive testing and correctness certification of their functio...
research
07/25/2018

Compiling Database Application Programs

There is a trend towards increased specialization of data management sof...
research
02/14/2019

Redundant Loads: A Software Inefficiency Indicator

Modern software packages have become increasingly complex with millions ...
research
07/18/2017

On Thin Air Reads: Towards an Event Structures Model of Relaxed Memory

This is the first paper to propose a pure event structures model of rela...

Please sign up or login with your details

Forgot password? Click here to reset