heluwei 488cc340ef Add Cyborg SPDK Driver
SPDKDRIVER is a virtual interface which provides common methods
for specific drivers (such as: VHOSTDRIVER, NVMFDRIVER, etc.).
For this reason, the Cyborg agent should invoke these drivers
via py-spdk[0] to communicate with the backend SPDK-base app server.
The py-spdk is management lib for SPDK applications which need to
be imported into the cyborg, so we put the pyspdk lib into cyborg/
cyborg/accelerator/drivers/spdk/util/. There are some unit tests
we added in cyborg/cyborg/tests/unit/accelerator/drivers/spdk/.
Now We are first implementing the unit tests of
test_discover_accelerator() and test_accelerator_list(),
and the rest will be added later.

For example:
When the Cyborg agent call the NVMFDRIVER.discover_accelerator(),
the return value we get is:
{
    'server': 'nvmf_tgt',
    'bdevs': [{
       "num_blocks": 131072,
       "name": "nvme1",
       "block_size": 512,
       ......
     }]
    'subsystems': [{
       "core": 0,
       "nqn": "nqn.2018-01.org.nvmexpress.discovery",
       "hosts": [],
       ......
     }]
}

[0] The implementation of py-spdk is subbmitted to
https://review.gerrithub.io/#/c/379741/, please visit it.

Change-Id: I2d0e4dc6b58e725584d22ee85961877a870c68a7
2018-02-05 00:57:30 +08:00
2018-02-05 00:57:30 +08:00
2018-02-05 00:57:30 +08:00
2018-01-16 14:06:14 +00:00
2017-03-14 01:16:33 +08:00
2017-08-30 09:27:56 -04:00
2017-09-11 19:27:17 +00:00
2017-01-13 08:08:37 +11:00
2017-12-29 09:27:59 +01:00
2017-09-13 10:51:11 -06:00
2018-02-05 00:57:30 +08:00

Cyborg

OpenStack Acceleration as a Service

Cyborg provides a general management framework for accelerators such as FPGA, GPU, SoCs, NVMe SSDs, CCIX caches, DPDK/SPDK, pmem and so forth.

Features

  • REST API for basic accelerator life cycle management
  • Generic driver for common accelerator support
S
Description
Acceleration Management
Readme
21 MiB
Languages
Python 78.4%
Perl 14.6%
C 3.6%
Shell 3.2%
Makefile 0.1%