Virtualization – Matryoshka dolls of computing.

A few weeks back I talked about various open operating systems to efficiently run some of the deep learning and simulation models. I switched back and forth between six different flavors of linux to finally settle with one. This experimentation phase is helpful in the long-run.

But, for folks who want to run one particular toolkit in the convenience of their preferred operating system environment, there is an alternate option. It is virtualization, and one software particularly: Docker.

Virtualization is the computing equivalent of Matryoshka dolls. A host computer can have multiple operating systems running inside it, or one can nest virtual machine within a virtual machine within a physical machine. This layering approach to operating systems have made software applications somewhat platform agnostic.

I love Docker in Windows 10. The caveat is, the OS has to be 64 bit and the processor should support specific extensions that allow hardware level virtualization. These extensions are often referred to as x86-VT-x. Docker prefers Microsoft Hyper-V, to run its linux virtual machines inside windows. In systems that may not meet these requirements, it is possible to force Docker to use VirtualBox’s implementation of virtual machines inside Windows.

The backbone of modern internet applications including cloud computing applications are based on virtualization. With the advent of hardware extensions supporting virtual machines, the performance difference between a physical machine and a well configured virtual machine in a right host is non-existent.

For new-comers to linux, who are still more comfortable dealing with off-the-shelf consumer hardware, virtualization is an easy entry point to start using some of the awesome tools for deep learning and computational simulations. But, once you learn the tricks of the trade, there is always the option to convert all your applications to a physical machine or run it inside a cloud provider.

This work is done as part of our startup project nanoveda. For continuing nanoveda’s wonderful work, we are running a crowdfunding campaign using gofundme’s awesome platform. Donation or not, please share our crowdfunding campaign and support our cause.

Donate here: gofundme page for nanoveda.

(The image of Docker whale logo is from Docker blog)