Hi Jim and all,

Do you know OpenStack/Cyborg? It is OpenStack acceleration service which provides a management framework for accelerator devices (e.g. FPGA, GPU, NVMe SSD). There is a strong demand for OpenStack to support hardware accelerated devices in a dynamic model(mentioned in OpenStack Summit Vancouver 2018 [0]). 

For this reason, we can use Cyborg to interactive with nvmf_tgt to realize the management of the user space accelerator NVMe SSD device, which can badly promote the efficiency. It is worth mentioning that the Cyborg_SPDK_Driver I summitted has been merged into the OpenStack version Q [1]. The driver can report the detailed information of the device to the Cyborg agent. When user requests a vm with a user space NVMe SSD, Cyborg agent will update the Nova/Placement inventory on available NVMe devices. This is a complete process to describe the connection of Cyborg and SPDK.

I wonder whether you guys are interested in integrating OpenStack/Cyborg into SPDK architecture? Do I make sense? Please let me know what your thoughts.

[0]https://www.openstack.org/videos/vancouver-2018/optimized-hpcai-cloud-with-openstack-acceleration-service-and-composable-hardware
[1]https://review.openstack.org/#/c/538164/


Thx,
Helloway