Fast development and fast time-to-solution for

discrete event simulation

It’s a challenge to scale discrete event simulation — whether you’re simulating the traffic of vehicles on roads or bytes on networks, whether your application is improving circuits, mobile networks, logistics, or any number of agent-based simulations. Lack of parallelism, shifting load patterns, and fine-grained messaging and execution schemes bog down even the best code implementations.


By bringing automatic load balancing and other adaptive algorithms to discrete event simulation, CharmDES delivers unprecedented performance and scalability. In fact, it runs much faster than other parallel simulators — with as much as a 40 percent higher event rate on industry-standard benchmarks.


Built on top of our flagship product, Charm++, CharmDES offers developers:

  • Excellent speculative concurrency, reducing the number of times you have to rollback your simulation, synchronization overhead, and time-to-solution.

  • Adaptive algorithms to effectively and dynamically adapt to a wide range of model behaviors and execution environments. 

  • Fine-grained communication control and optimistic execution mechanisms, allowing you to overlap communications and improve performance.

Application Areas

Logic Simulation

Urban Traffic

Traffic Simulation

Sound Waves

Signal Processing

Internet of Things

Rather than modeling systems at regular intervals or timesteps — running calculations for every second of time, regardless of what is happening or not happening at a given moment — DES models focus on events. That makes the approach particularly useful when you’re looking at situations where things don’t change much between events occurring. Think of cars at an intersection. Why spend resources modeling the behavior at the intersection during the times when there aren’t any cars there? By intelligently predicting when events might occur using speculative concurrency and automatically using those predictions to balance your computing load, CharmDES allows you to quickly develop DES simulations and get your results more quickly.

What is CharmDES?

CharmDES is a C++-based parallel discrete event simulator built on top of Charm++. It uses state-of-the art adaptive algorithms and automatic load balancing to provide unprecedented performance and scalability for models in any domain.

If you’re ready to learn more, contact us today for a demo.