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.