Reverse or Unifying Virtualization
My understanding is that virtualization software is designed to create many virtual hardware instances, so that a four core Xeon CPU can spawn 25 or more virtual CPUs.
I have three questions:
- What 'model' CPU is being created virtually? Is it a direct virtualization of a particular Intel CPU, like a Xeon 5630, or is it just a basic 8086 CPU?
- Is there a way to select which model CPU is virtualized? Would it be possible to offer upgraded virtualization options, to match Intel's latest CPU technology?
- Most important: Instead of an actual physical E3 Xeon quad core using a virtual abstraction layer to create many more virtual CPUs, is there a product that goes in the opposite direction? That is, I want my physical quad-core Xeon to virtualize a SINGLE-core 'super CPU', so that all 2.2 billion transistors can run a single-threaded program. Currently, any single-threaded program can only use one core, or 1/4 of the transistors on a quad-core CPU - I want to find an abstraction layer that will focus all transistors, from all cores, onto a single program.
This would actually be a ‘unifying’ virtualization, combining multiple physical cores to virtualize a single-core CPU. If such an abstraction layer were developed, could it also possibly virtualize a CPU that does not yet exist physically? So, Intel could virtualize a future CPU that relies on manufacturing processes that haven’t yet been developed. Or could it virtualize a CPU that is too expensive to build, with, for example, 2 GB of L1 cache? Could a light-based photonic CPU be virtualized?
It seems like something that Intel would have to initiate and allow, like hyperthreading, but I am not sure about that.
I just wonder if someone has developed such a program – there are many single-threaded apps still in use, and it is frustrating to see all this Xeon horsepower unused.
A ‘reverse virtualization’ abstraction layer could be invoked just for a selected single-threaded program – once the program is closed, the cores on the CPU would be again available individually.
A relatively low-end Xeon could become much more powerful, depending on the CPU that is virtually created.
Such ‘reverse virtualization’, or ‘unifying virtualization’, would be a win for Intel, it would be a win for users, and it would reduce the pressure on software vendors to re-write their programs for multi-threading.