Download PDFOpen PDF in browser

Epirust: Towards a Framework for Large-Scale Agent-Based Epidemiological Simulations Using Rust Language

EasyChair Preprint 4160

8 pagesDate: September 9, 2020

Abstract

To implement large-scale agent-based simulations, developers historically relied on C and C++ due to performance, while struggling to deal with tedious explicit memory management. This struggle translates into software defects and lower developer productivity. More recently, desire to harness multi-core systems via concurrent software complicates design and implementation when memory is shared among compute cores. When we faced this situation, we were looking for a system programming languages as fast as C and C++ but without caveats around memory management. Between Go and Rust, we chose Rust language which guarantees safety in memory management even for concurrency, without a run-time or garbage collector. In this paper, we intend to share our experience with Rust to build a framework for agent-based epidemiological simulations. Our experiments show promising results for a million agents, all running on commodity-class hardware. Key outcomes of this whole exercise are: 1. Performance 2. Flexibility 3. Robustness.

Keyphrases: ABM, Epidemiology, Rust Language, agent based epidemiological simulation, large scale epidemiological simulation

BibTeX entry
BibTeX does not have the right entry for preprints. This is a hack for producing the correct reference:
@booklet{EasyChair:4160,
  author    = {Jayanta Kshirsagar and Akshay Dewan and Harshal Hayatnagarkar},
  title     = {Epirust: Towards a Framework for Large-Scale Agent-Based Epidemiological Simulations Using Rust Language},
  howpublished = {EasyChair Preprint 4160},
  year      = {EasyChair, 2020}}
Download PDFOpen PDF in browser