
As already leaked by LinkedIn, I recently started a new job at ASTC, as Global Technical Marketing Manager for the VLAB virtual platform product. This is my first major change of job I since I joined Virtutech to work on the Simics simulator back in 2002. It is both a big change and a small change – staying in the world of virtual platforms, but working with a new product that is quite different from Simics. In fact, more things are different and new and fresh than the same…
From Very Large Enterprise to Small Company
I am very happy to be back to working for a small company.
At Virtutech, we grew to about 50 people and then got acquired. In a company like that you can call the CEO or anyone else and discuss important matters. Hierarchy is not a big deal and you can make decisions quickly and without too much bureaucrazy [sic].
Next, I moved to Wind River. At the time, Wind River was about 50 times larger than Virtutech. This meant more structure and processes, but it was still small enough that you could at least meet the CEO. He would recognize the people working on Simics sales and in product marketing.
Then I moved to Intel. A company with a hundred thousand employees is very different and a world all onto itself. The CEO was a person far away, far above me in the org chart. He visited our office in Sweden once, and I managed to miss the event – despite being in the office. That is how close I got to Pat. Upper management at Intel was seriously dealing with problems far above my pay grade. A group the size of Wind River was considered small fry in the grand scale of Intel. There were processes everywhere, more overhead, and more structure. Formal approval chains even for simple things like posting a blog post.
At ASTC, it is back to having close contact with the management team and CEO. Decisions can be made extremely quickly. If you spot a problem you can propose a solution and own getting it done without having to push through layers of management and colliding with corporate subdivisions. There are no approval tools I have seen.
On the other hand, I must admit to missing some of the support systems we had at Intel. For example, a corporate marketing department that produces corporate Powerpoint templates, logos and usage guidelines, decides on corporate fonts, standard branded icons, etc. Having that meant little influence, but you also did not have to spend time creating your own templates.
But no matter how handy some big enterprise functions are, a small company is more fun.
From One Virtual Thing to Another
If we look at the product category, VLAB, Simics, and several other tools fit in the “virtual platforms” or “virtual prototype” space. If you do not know the details, you could be forgiven for thinking they are all basically the same. They all model processors with their instruction set, add models of peripheral devices, and the resulting simulator can run the same target software as the modeled hardware.
To use an automotive analogy (apropos since the VLAB primary target market is automotive), all these products are like cars from different brands. At a high level of abstraction, they are the same: they have four wheels, a body enclosing passengers and cargo, they move under their own power, and they are steered by a driver (for now). But the details can as all know vary enormously. Different brands are built for different markets, use cases, and price points. People build real affinities and preferences for certain brands. They are not actually identical or necessarily interchangeable.
Not the Same Thing
It is the same with virtual platforms. The variation in technology and approach to the market is enormous. VLAB has a certain style and way of doing things that is new and fresh to me.
While there are clear similarities between the VLAB and Simics frameworks in their primary goals (high performance and using a custom kernel coded in C/C++ to get high performance), the implementation details are often fundamentally different.
Zooming out from the simulation kernels, the two products have been formed by different histories, selling to different users in different markets with different supply-chain structures. All of this affects product design and product behavior.
To take a very simple example, VLAB defaults to running when starting a new simulation, while Simics defaults to paused. In both cases there are command-line switches to achieve the opposite result. Another difference is that Simics has its own built-in command-line interface, while VLAB provides a Python-based API that is accessed from a Python interpreter running on the side of the main simulation process.
Another notable difference is the ecosystem play, in particular integrations with external tools and other simulators. With Simics, the approach was typically to provide an API for users to build their own integrations. It was very rare to see the same external tool being used sufficiently often to warrant making an integration or connection into a standard product feature. VLAB, on the other hand, is active in the automotive market where there are well-established software and simulation tools used across companies. As a result, VLAB has many standard integrations in the product portfolio. It is much more of a product than Simics is today (and working with a real product is one of the key benefits for me of joining ASTC).
Having worked with Simics for a very long time, I have to recalibrate my technical intuition to a new design and implementation. It ain’t what you do is the way that you do it… and VLAB is doing things in ways that are different and fresh to me. The performance achieved by the simulator is impressive – and sometimes achieved by techniques that I have not seen before. Reading up on the internals and actually running the simulator myself keeps provoking me into deep-dives into the kernel. It is all great fun for a technology nerd!
Back to my Roots
Joining ASTC and the VLAB team kind of feels like going back to my roots. I did my PhD in real-time systems in the late 1990s, and automotive companies were quite active in that area. Going to real-time conferences you would see automotive companies (especially European companies) as sponsors, research collaboration partners, and users of results.
For example, I showed this slide in quite a few university lectures around the year 2000, talking about the ubiquity of embedded processors:

The first-generation Volvo S80 and others built on the same platform (the slide shows an S60) was used as an example of CAN-bus-based vehicle architectures in the late 1990s. There were dozens of ECUs! And a network! Today, it is almost quaintly simple, and that architecture is being phased out as cars move to central compute and zonal architectures.
Anyways, if you need a fast virtual platform for an automotive project, you know where to find me!