OpenStack Accelerator (Cyborg)

What is Cyborg?

Cyborg is a general management framework for accelerators.

Cyborg architecture

Cyborg design can be described by following diagram:

_images/cyborg-architecture.png

cyborg-api - cyborg-api is a cyborg service that provides REST API interface for the Cyborg project. It supports POST/PUT/DELETE/GET operations and interacts with cyborg-agent and cyborg-db via cyborg-conductor.

cyborg-conductor - cyborg-conductor is a cyborg service that coordinates interaction, DB access between cyborg-api and cyborg-agent.

cyborg-agent - cyborg-agent is a cyborg service that is responsible for interaction with accelerator backends via Cyborg drivers. Multiple drivers are supported and actively developed; see Cyborg Support Matrix for details. It will also handle the communication with the Nova placement service. Cyborg-Agent will also write to a local cache for local accelerator events.

Vendor drivers - Cyborg can be integrated with drivers for various accelerator device types, such as FPGA, GPU, NIC, and so forth. You are welcome to extend your own driver for a new type of accelerator device.

Documentation for Operators

The documentation in this section is aimed at Cloud Operators needing to install or configure Cyborg.

Installation

The detailed install guide for Cyborg.

Configuration Reference

Maintenance

Once you are running cyborg, the following information is extremely useful.

  • Admin Guide: A collection of guides for administrating cyborg.

For End Users

As an end user of Cyborg, you’ll use Cyborg to create and manage accelerators with either tools or the API directly.

For a step-by-step guide on creating instances with accelerators, see Using Cyborg with Your Instance.

Tools for using Cyborg

Information on the commands available through Cyborg’s Command Line Interface (CLI) can be found in this section of documentation.

Using the API

Following the Ussuri release, every Cyborg deployment should have the following endpoints:

/ - list of available versions

/v2 - the version 2 of the Acceleration API, it uses microversions

/v2.0 - same API as v2, except uses microversions

The following guide concentrates on documenting the v2 API, please note that the v2.0 is the first microversion of the v2 API and are also covered by this guide.

  • Cyborg API Reference: The complete reference for the accelerator API, including all methods and request / response parameters and their meaning.

  • REST API Version History: The Cyborg API evolves over time through Microversions. This provides the history of all those changes. Consider it a “what’s new” in the Cyborg API.

Documentation for Developers

Indices and tables