[openstack-dev] FPGA as a dynamic nested resources
Ed Leafe
ed at leafe.com
Tue Jul 19 19:40:50 UTC 2016
On Jul 19, 2016, at 11:03 AM, Roman Dobosz <roman.dobosz at intel.com> wrote:
> It can identified 3 levels of FPGA resources, which can be nested one
> on the others:
>
> 1. Whole FPGA. If used discrete FPGA, than even today it might be pass
> through to the VM.
Can you explain why this would ever be useful? IOW, what can a VM do with an entire FPGA?
> 2. Region in FPGA. Some of the FPGA models can be divided into regions
> or slots. Also, for some model it is possible to (re)program such
> region individually - in this case there is a possibility to pass
> entire slot to the VM, so that it might be possible to reprogram
> such slot, and utilize the algorithm within the VM.
Why would a VM program the slot? Wouldn’t it usually be at the host level?
> 3. Accelerator in region/FPGA. If there is an accelerator programmed
> in the slot, it is possible, that such accelerator provides us with
> Virtual Functions (similar to the SR-IOV), than every available VF
> can be treated as a resource.
This is my understanding of what would be consumable: the slot / VF, which the VM could take advantage of.
> 4. It might be also necessary to track every VF individually, although
> I didn't assumed it will be needed, nevertheless with nested
> resources it should be easy to handle it.
I’m still not seeing the need for nesting. If you have a single FPGA with 8 slots, when you program the slots with accelerators, you now have 8 consumable resources. The fact that they came from a particular FPGA unit doesn’t seem relevant from a scheduling perspective.
-- Ed Leafe
More information about the OpenStack-dev
mailing list