virtual platform

25 articles

Simics 4.8 is Here

By Jakob Engblom Simics 4.8 is now generally available for old and new users to enjoy. I will be doing a series of blog posts going into the details on what is new and improved in this release. Simics 4.8 represents a significant improvement in the Simics user interface and collaboration features, as well as tweaks to the simulator performance, debugger,…

Debug Quicker with Simics (video demo)

By Jakob Engblom Late last year, I presented a one-hour webinar on how Simics lets you “resolve bugs in minutes instead of weeks.” Part of that webinar were two Simics demos that show Simics in action, from the first booting of a target system through loading software onto it and debugging a nasty crash in a server program. The webinar demos…

Debugging Simics — on Simics

By Jakob Engblom I often write and talk about how useful Simics is for debugging concurrency bugs and glitches in multithreaded and multicore systems. Recently, we had a case where we proved this on a very complex application, namely Simics itself. This nicely demonstrated both the recursive completeness of Simics, and its usefulness for conquering tricky bugs in complex software.…

Determinism, Simics, and Flying Piggies

By Jakob Engblom  In a recent Simics seminar, I was asked about repeatability, variability, determinism and Simics. This is a question that comes up almost every time I present about Simics in front of an audience with testing experience. The people asking the question intuitively think that determinism is a bad thing - since it sounds like it will limit the execution scenarios that will…

Simulation is a competitive advantage!

By Michel Genard The American general election is over. Pundits providing postmortem analysis will continue to generate a ton of studies. Let’s examine one aspect of the election that has already generated some interesting ink. This article in Time Magazine mentions how analytic teams tried to predict election results, even running as many as 66,000 simulations night after night. The Obama campaign managed…

Systematically Exposing OS Kernel Races – An Interview with Ben Blum

By Jakob Engblom Full-system simulators like Simics provide unparalleled insight into what is going on in a target system. Indeed, better insight is one of the main features of simulation that we get regardless of what we simulate and how. In addition, if we want to, we can also exert control over the target system to make it take different…

Analyzing Manycore Scaling with Simics

By Jakob Engblom In my previous blog post on multicore scaling investigations with Simics, I tested a simple parallel program on a variety of machines. The scaling obtained was not particularly impressive, especially not on a 60-core target machine. In this post, we will use the Simics timeline view to look a bit closer at what is going on inside the…

Testing Manycore Scaling with Simics

By Jakob Engblom A few years ago, I did a Simics demo where I tested the scalability of a multithreaded program as the target hardware went from two to four to eight cores. Unfortunately, I could not take it beyond that point, since the hardware platform that I used simply did not allow for more than eight cores. Now, with…

Inside a Synthetic Simulation Platform

By Jakob Engblom Recently, we introduced a synthetic simulation-only Simics target machine called QSP (Quick-Start Platform) and it's included in the latest version of Wind River Simics. The idea of QSP is to give every user a useful Simics target that allows them to immediately start using Simics and begin reaping the benefits of simulation for software development. In this blog post, we'll…

You Will be Simulated – A Bit Quicker

By Jakob Engblom We just released a new Simics feature, the QSP (Quick-Start Platform). This is a synthetic simulation-only Simics target machine that is included with the Simics base product. QSP provides every user with a useful Simics target that allows you to immediately start using Simics and reap the benefits of simulation for software development, without waiting for a…