Virtualization

discussion of forwardcom instruction set and corresponding hardware and software

Moderator: agner

Post Reply
JoeDuarte
Posts: 10
Joined: Tue Dec 19, 2017 6:51 pm

Virtualization

Post by JoeDuarte » Wed Jan 24, 2018 1:47 am

Hi Agner – I didn't see any treatment of virtualization in the specification. Does an ISA need to implement some things to optimize virtualization? Would these be instructions or something at a higher level of implementation?

Intel and AMD tout lots of virtualization features, and instructions like VMPTRLD, VMPTRST, VMCLEAR, VMREAD, VMWRITE, VMCALL, VMLAUNCH, VMRESUME, VMXOFF, and VMXON. Since virtualization is used pervasively on servers today, I wondered why Forwardcom didn't cover it.

(VMs are the most common way people use virtualization, but this may change – Intel has been working on hardware virtualized containers, which seem to be lighter in overhead, but still depend on hardware/ISA support: https://clearlinux.org/blogs/announcing-intel-clear-containers-30)

Joe

agner
Site Admin
Posts: 58
Joined: Sun Oct 15, 2017 8:07 am
Contact:

Re: Virtualization

Post by agner » Wed Jan 24, 2018 6:20 am

Virtualization requires complex micro-coded instructions. This is something I want to avoid in order to keep the hardware simple and efficient. These features can be added later if needed, but many applications will not need them.

JoeDuarte
Posts: 10
Joined: Tue Dec 19, 2017 6:51 pm

Re: Virtualization

Post by JoeDuarte » Tue Feb 06, 2018 9:45 am

Hi Agner – I think virtualization support is de rigueur at this point. In many settings a server is practically defined as a computer that hosts multiple guest VMs.

Bare metal server setups certainly exist, but they tend to be wasteful if running one or two applications on a legacy OS like Linux, Windows Server, or BSD.

There is so much underutilized CPU, I/O, and networking when virtualization is not used. VMs are like the Uber of computing – they leverage previously idle resources and capacities.

Would the complexity of the microcode be affected by limiting FC's virtualization support to identical guest OSes? Meaning, on a given server, you could only run Fedora 27 guests, for example, or Alpine Linux 3.7 guests, etc.

Would the microcode be less complex if ForwardCom's ISA was designed in concert with a hypervisor tailored specifically for it? I also wonder if supporting unikernel guests only might simplify the microcode. I think unikernels are the future anyway: http://unikernel.org/

agner
Site Admin
Posts: 58
Joined: Sun Oct 15, 2017 8:07 am
Contact:

Re: Virtualization

Post by agner » Tue Feb 06, 2018 12:21 pm

JoeDuarte wrote:
Would the complexity of the microcode be affected by limiting FC's virtualization support to identical guest OSes?
Yes. You wouldn't need any hardware support for that - just a subdivision of the memory space.

Post Reply