The SystemC* Evolution Day 2017 is happening in München next month (on October 18). Just like last year, it is right after DVCon (Design and Verification Conference) Europe, and we expect to see a lot of people interested in design, verification, and virtual platform work with SystemC attend. Several of my Intel colleagues and I will be running a session around virtual platform checkpointing and how we can bring that to the SystemC world.
We will combine our experience with Simics* and SystemC with the best minds in the SystemC world to get a better understanding of the problem and possible solutions. Way back in 2009, I actually put together a prototype solution for this together with Marius Monton.
Checkpointing and how it can help optimize workflows and make virtual platforms more useful is a topic dear to my heart (for example see my blogs on Checkpointing: Meaningless, Difficult, or just Overlooked?, and Checkpointing in SystemC @ FDL). It can mean different things to different people, and one thing I want to bring to the discussion is a broad take on just what checkpointing is and what we want to use it for.
To me, checkpointing can be defined as follows: “the ability of a virtual platform or virtualization environment to save the state of an executing simulation to storage and later bring the saved state back and continue the simulation as if nothing had happened from the perspective of the simulated system.” To be really useful, we also need to add the qualification: “…by any users, on any machine, at any point in time.”
Given this, we can do a lot of interesting and useful things. Here is an infographic capturing the most common ones:
I have written a lot about various use cases in the past. Few of them are listed below:
- Transporting bugs with checkpoints
- Continuous integration workflows with checkpoints
- Capturing a bug for reproduction and analysis
- Checkpoints with recording
- Parallelizing testing with checkpoints
- Boot once, run many separate tests
See You in München
I will be there for both DVCon and the SystemC Evolution Day.
For more complete information about compiler optimizations, see our Optimization Notice.