An improved replacement strategy for function caching
LFP '88 Proceedings of the 1988 ACM conference on LISP and functional programming
Incremental computation via function caching
POPL '89 Proceedings of the 16th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Caching intermediate results for program improvement
PEPM '95 Proceedings of the 1995 ACM SIGPLAN symposium on Partial evaluation and semantics-based program manipulation
Modeling and simulation of mobile agents
Future Generation Computer Systems
Updateable simulation of communication networks
Proceedings of the sixteenth workshop on Parallel and distributed simulation
The SPEEDES Persistence Framework and the Standard Simulation Architecture
Proceedings of the seventeenth workshop on Parallel and distributed simulation
Behavioral diversity in learning robot teams
Behavioral diversity in learning robot teams
Proceedings of the 35th conference on Winter simulation: driving innovation
Towards adaptive caching for parallel and discrete event simulation
WSC '04 Proceedings of the 36th conference on Winter simulation
Proceedings of the 38th conference on Winter simulation
Hi-index | 0.00 |
We present adaptive computation-block caching that supports improved performance and is suited for agent-based simulations. The approach is illustrated in SASSY (Scalable Agents Simulation System). SASSY leverages a Parallel Discrete Event Simulation for performance, but provides an agent-based API to the developer. Agent-based simulation is suited to computation-block caching because relevant calculations completed at each event may be relatively heavyweight and may be repeated. The potential savings of avoiding a computation entirely may offset the overhead cost of caching. The approach is refined through the use of statistical methods for choosing which computation blocks should be cached or not. If the relevant computation is trivial, caching is not worth the cost. In other cases caching provides a substantial speedup. Our mechanism tracks these costs online and adjusts accordingly. It requires no additional coding but is automatically integrated into applications. We assess the performance of the approach in a benchmark-application.