Cloud, Containers, and Your Simulator

ID 659171
Updated 5/22/2019
Version Latest



The Design Automation Conference (DAC) 2019 takes place in Las Vegas, Nevada, on June 2 to 6, 2019. In addition to demonstrating Simics® and other Intel® simulation solutions on the show floor, I have a presentation about how to use cloud services and containers to run virtual platforms and other simulations. The presentation takes place on Tuesday, June 4, in the Designer track.

// to promote the conference.

The talk will cover reasons to use cloud services and containers to run virtual platforms and other simulations, and what we have learned about such setups over the years.

In general, the problem is that simulation solutions like virtual platforms, power and thermal simulators, environment simulators, and rest-of-network simulators are difficult to manage in a smooth way. To make a simulation setup work right, you need the correct versions of all components, as well as matching versions of firmware, drivers, and other software. Keeping this updated with matching and consistent versions of all components – as well as any external dependencies on libraries and other utilities and tools – is a constant struggle. When updates to a model happen it should be deployed to all users quickly, but that might not happen if it is left up to individual users.

Putting such solutions into a cloud environment, where users access a single setup created and maintained by experts, makes a lot of sense. It ensures that everyone gets a consistent setup, accessed in a convenient way, as illustrated in Figure 1.

Diagram showing how a user would access a simulation on a cloud server instead of installing it locally.
Diagram showing how a user would access a simulation on a cloud server instead of installing it locally.

Having the simulation setup running in the cloud would also provide additional capacity on demand. A key feature of cloud simulators is that the execution details are hidden from the users, and the simulation should be possible to schedule and run on additional hosts without the user having to do anything or even knowing what is going on.

With users, experts, simulation maintainers, and automated test systems accessing and running their simulations on the same cloud environment, collaboration becomes a lot easier, too. Instead of copying files from user to user and sending bug reports as text, it is possible to simply access a failing run from any location to interactively investigate and debug it.

Cloud services also offer a nice way for vendors to control what they expose to users of their platforms, tools, and simulations. For example, a silicon vendor can provide their partners access to a virtual platform of a future chip in the cloud. This provides a lot more control over confidential materials than shipping a binary, since the users cannot reverse-engineer anything from the models, and access to models can be shut down at any point.

These benefits do not appear magically, though. If public cloud services can’t deliver sufficient security, the private cloud services and network integrations have to be built, and concerns like network security, which traffic is allowed through firewalls, logins and user management come into the picture. Additionally, how do users get inputs into and outputs out of the cloud? How do the cloud services fit into existing workflows of the users?

In the talk, I will present some of our learnings from building cloud services for virtual platforms and running virtual platforms on cloud infrastructure. In particular, I will talk about how containers make very good sense for cloud-based simulation applications.

See you in Vegas!

Photo of the “Welcome to Las Vegas” sign, by Jakob Engblom
Photo of the “Welcome to Las Vegas” sign, by Jakob Engblom.


Jakob Engblom headshotDr. Jakob Engblom is a product management engineer for the Simics virtual platform tool, and an Intel® Software Evangelist. He got his first computer in 1983 and has been programming ever since. Professionally, his main focus has been simulation and programming tools for the past two decades. He looks at how simulation in all forms can be used to improve software and system development, from the smallest IoT nodes to the biggest servers, across the hardware-software stack from firmware up to application programs, and across the product life cycle from architecture and pre-silicon to the maintenance of shipping legacy systems. His professional interests include simulation technology, debugging, multicore and parallel systems, cybersecurity, domain-specific modeling, programming tools, computer architecture, and software testing. Jakob has more than 100 published articles and papers and is a regular speaker at industry and academic conferences. He holds a PhD in Computer Systems from Uppsala University, Sweden.