[openstack-dev] [cyborg] minutes of FPGA introduction meeting

Feng, Shaohe shaohe.feng at intel.com
Wed Dec 20 10:25:45 UTC 2017

Date: 2017-12-12

Shaohe and Dolpher gave an introduction about FPGA.

They also do simple POC for FPGA base on Placement schedule and He 
Yongli's PCI management mechanism in nova.

1.  We define a new resource class CUSTOM_FPGA_INTEL_ECHO for a kind of 
FPGA accelerator which is ECHO.

The Cyborg need to implement an interface to get the inventory, then to 
update the provider inventory of placement whit it.

The Cyborg API need to get the inventory data by its FPGA agent running 
on every node.

2.  We need to extend related PCI info of CUSTOM_FPGA_INTEL_ECHO in the 
PCI whitelist, so this kind of PCI device(CUSTOM_FPGA_INTEL_ECHO) can be 

Cyborg needs to support to get the related PCI info.

3. we define a new  property "resources:CUSTOM_FPGA_INTEL_ECHO='1' " in 

Cyborg needs to translate abstract property to concrete device with PCI 

The flow is:

Create a VM with a flavor which has a FPGA accelerator resource in it's 

The scheduler will schedule a host with this kind of FPGA accelerator 
base on the placement provider information.  and claim an abstract 

The nova-cpu will claim an related concrete PCI devices from the 
abstract accelerator information.

The driver will start a VM with the PCI devices.


1. Should Cybory will leverage Yongli's PCI management mechanism in 
nova?  or it will maintain a new PCI management mechanism for PCI device?

2. beside, for VGPU accelerator, it is not a PCI device, it is a mdev 

Should Cybory maintain this new kind  device mechanism?

3. The FPGA can be programmed. So should the Cyborg  update the 
whitelist on the fly?

NOTE: the POC does not consider the how to program FPGA.

AR:  Zhu Li  will introduce how to cyborg FPGA model and agent.


Shaohe Feng

More information about the OpenStack-dev mailing list