Simulation is a key technology allowing the automotive, aerospace, and other industries to develop products of high quality and complexity in shorter times and at lower costs. Trade-offs among simulation speed, fidelity, and compatibility are limiting the use of accurate simulators. The growing demands for efficient and environmentally friendly systems are driving the requirements for precise co-simulation of ever-larger systems. Co-simulation is a simulation methodology that allows individual model components to be simulated independently by different simulation tools and algorithms running simultaneously while exchanging data at discrete communication points. Co-simulation is especially appropriate for large multi-disciplinary systems such as those used by the automotive and aerospace industries because users can freely choose the best simulation tools for each discipline and requirement.
Our group devised a new approach for distributed discrete event co-simulation that exploits parallel computing and distributed simulations with advanced synchronization techniques to overcome various limitations. The technology devised by our group allows us to add new components to a simulation without compromising the accuracy of the results or slowing down the simulation. The framework works as a kind of backplane to simulate the heterogeneous components that can be modeled using various industry-standard simulation tools.
Conventional co-simulation techniques currently used in the industry can be categorized broadly into three categories:
- Conventional techniques that simulate an entire system as a single continuous or discrete time system. These approaches are not fully parallelizable and are therefore non-scalable.
- In another commonly used approach called the macro-step approach, each component simulates a time-step independently and synchronization occurs after each time-step. Increasing the size of time-steps can lead to faster results, but accuracy may be sacrificed. In contrast, reducing the length of each time-step increases the accuracy at the expense of simulation speed.
- Since communication in many systems involves the exchange of discrete event data among physical components, distributed discrete event simulation (DDES) is a powerful candidate to simulate complex systems like entire vehicles. In a DDES simulation the components cannot move forward in time without information about the state of the other components in the simulation. Therefore, all DDES approaches need some kind of synchronization mechanism to control the overall simulation. The synchronization mechanism can be centralized or distributed among the computing nodes, but none of the existing synchronization techniques can achieve 100% parallel execution (i.e. in existing DDES techniques some part of the simulation must execute in a sequential manner).
This means that all of the conventional co-simulation techniques compromise on either simulation fidelity or speed.
CCSS Co-simulation Platform
Our group has developed a framework (shown in Figure 1) that simultaneously solves the two major problems in simulation, thus providing both speed and fidelity. We named this co-simulation technology Complex Control System Simulation (CCSS), a new kind of co-simulation platform.
Fig. 1: CCSS Co-simulation Platform
A conventional DDES cannot achieve 100% parallelism, and the execution times increase with additions of new components. In a CCSS simulation, the multiple components run on multiple computational nodes in a 100% parallel fashion (i.e. there is no sequential part in the simulation). Provided sufficient hardware resources are available the execution time for a simulation does not increase as new components are added to the simulation. We have also developed a technology called Model Compiler (MC) to reduce the execution time for simulating each simulation component. During our process of parallelization the fidelity of the simulation is never degraded. CCSS can handle heterogeneous simulation components that are modeled using different industry standard modeling tools and interfaces such as Simulink®, Functional Mockup Interface (FMI), and others. CCSS is based on two major tools with associated technologies, the Model Synchronizer (MS) and Model Compiler (MC).
Model Synchronizer (MS):
Model synchronizer generates a data-exchange backplane that connects all of the simulator units with the best possible scheduling and communications scheme. MS is responsible for parallelizing the execution of various simulation components over multiple processing nodes to achieve a 100%-parallel and high-fidelity simulation.
Model Compiler (MC):
The Model Compiler accelerates the execution of each simulation component. This technology divides a single model into multiple pieces as segments that run in parallel without any communication within each time step. This is done by analyzing the mathematical structure of the model and exploiting the properties of ordinary differential equations that describe the complete model without changing the results of the simulation.
Fig. 2: Model Compiler abstract concept
We have empirically demonstrated the feasibility of CCSS by testing the technology on real-life simulations of complicated models. Figure 3 shows the crank angle pulse output of an engine. Since both the macro-step and CCSS co-simulation run in full parallel we get comparable respective speedups of 2.91x and 2.83x for a model consisting of 3 components. However, the fidelity of the CCSS output tracks the nominal output while the macro-step output (now widely used for parallel co-simulation) shows an angular error of 4° in just 2.5 seconds of simulation.
Fig. 3: Crank angle error accumulation in macro-step co-simulation after just 2.5 seconds of simulation. In contrast, CCSS remains accurate over the interval.
If there is a relatively slow component in the simulation it can reduce the speed in both a macro-step and CCSS implementation. In such cases, our Model Compiler technology can be used to further reduce the execution time for that component and thus accelerate the overall simulation.
Fig. 4: Model Compiler speedup
Our Model Compiler technology has been tested with large-scale simulation models that were created and used by an automotive company. Figure 4 shows a speedup of 1.5x to 3.5x, depending on the structure of the model.
Fig. 5: Advantages of CCSS in comparison to existing simulation techniques. Conventional techniques trade fidelity against execution speed. CCSS delivers high fidelity parallel simulations without trading speed for fidelity.
The clear advantages of using CCSS as compared to existing techniques are shown in Figure 5. Some tools support high fidelity while others are fast. In contrast, CCSS is both fast with high fidelity.