Skip to Main Content
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.