A highly scalable and adaptable PDES engine built on top of the Charm++ runtime system

*Available from the University of Illinois for research and evaluation use only. For commercial use of Charm++, explore our licensing options or contact us for more info.

What is Charades?

Whether you are simulating traffic on roads or bytes on networks, studying behavior of digital circuits, mobile networks, human-in-the-loop or logistical scenarios, you need discrete event simulation. This type of simulation is challenging to scale effectively due to lack of parallelism, shifting load patterns, and fine-grained messaging and execution. Charades is a parallel discrete event simulator (PDES) built on top of Charm++ and C++, which uses state-of-the-art algorithms and automatic load balancing to provide unprecedented performance and scalability.

Why Charades?

Charades provides a clean, object-oriented C++ API, which allows for model development in conjunction with modern C++ code. It uses cutting-edge synchronization algorithms to deal with model synchronization at any scale, enabling models to run effectively, with low synchronization overhead from the simulation engine. The adaptive nature of the Charm++ runtime system, and the adaptive algorithms present in the Charades simulation framework, allow the simulator to effectively and dynamically adapt to a wide range of model behaviors and execution environments to provide excellent performance.



Charades Documentation



Towards PDES in a Message-Driven Paradigm: A Preliminary Case Study Using Charm++


Adaptive Methods for Irregular Parallel Discrete Event Simulation Workloads

Application Areas

Logic Simulation

Traffic Simulation

Signal Processing

Internet of Things

  • Facebook - White Circle
  • Twitter - White Circle
  • LinkedIn - White Circle



Charmworks, Inc. © 2019