[clug] Why virtual x86 machines?

Andrew Donnellan andrew at donnellan.id.au
Fri Aug 21 15:17:41 UTC 2020


On Fri, 21 Aug 2020 at 23:28, Hugh Fisher via linux <linux at lists.samba.org>
wrote:

> And while I'm not a kernel developer, I'm fairly sure that if say a
> system has an SSD drive but the hypervisor provides an 'abstract'
> spinning disk device to the guest OS(es), that will cause Really Bad
> Things to happen.
>

Typically, in a paravirtualisation environment such as KVM, the guest will
not be provided with an "abstract spinning disk device" but rather an
abstract block storage device using a standard such as VirtIO. The guest
cooperates with the hypervisor, knowing that it is a virtualised guest -
the virtual device doesn't try to simulate the actual interface to a real
storage device but rather serves as a quick pipe to get data from the guest
into a buffer that the hypervisor can read from and work out how to write
to disk in a way that makes sense to maximise performance for whatever the
real hardware is.


> And this is where I see mainframe reasoning being applied to
> microprocessors: we need to make better utilization of expensive
> infrastructure, but why is the infrastructure expensive in the first
> place? Why not buy a cheap server for every database?
>

It's all about elasticity (
https://en.wikipedia.org/wiki/Elasticity_(cloud_computing)).

If I want to spin up a new virtualised server on a VM host for whatever
reason, I click a button or make an API call to deploy a new guest based on
my existing image, and a few seconds later, I can have a working
virtualised server.

If I want to buy a cheap server for my new database, I have to buy the
server, find a place to put the server, install the server, and then
maintain this physical piece of hardware indefinitely, times however many
databases I'm running. At a typical company, just getting the budget
approved for one new server will take you months.

You are correct in that this is "mainframe reasoning". Mainframe reasoning
is absolutely fine! Mainframes are good, and they are the natural state of
large-scale enterprise computing. (I do work for IBM, I am biased I
guess...) An x86 cloud provider really is just renting out a system that on
the whole is like a giant mainframe - but built out of smaller and cheaper
chunks than an IBM Z installation.

-- 
Andrew Donnellan
http://andrew.donnellan.id.au         andrew at donnellan.id.au


More information about the linux mailing list