a case study on dynamic kernel adaptation in a component-based infectious disease simulator
We present in this paper a case study of the benefits of refactoring a large-scale agent-based infectious disease simulator into components. This approach of software development has the potential to increase the productivity of the developer as well as to offer better application performance through a component-based programming paradigm. In our approach, we have designed and developed a generalized component-based optimizer for the compositional adaptation of the compute-intensive kernels. This optimizer provides an efficient mechanism for creating multiple implementations of kernels. It possesses dynamic adaptation feature which selects the most appropriate kernel implementation based on runtime conditions so as to achieve performance that is otherwise unattainable with a single implementation. Our experimental results demonstrate that the component-based simulator with dynamic adaptation enabled has performance gain of 2 to 4 times as compared to the original non-component-based code.
adaptation component-based software engineering