OpenStack Accelerator (Cyborg)¶
Cyborg is a general management framework for accelerators such as FPGAs, GPUs, NICs, SSDs, and AI chips in OpenStack clouds.
Architecture Overview¶
Cyborg design can be described by the following diagram:
cyborg-apiREST API service that handles device profile queries, ARQ creation, and accelerator discovery. Supports POST/PUT/DELETE/GET operations and interacts with cyborg-agent and the database via cyborg-conductor.
cyborg-conductorCentral orchestration service that coordinates placement updates, device bindings, and database access between cyborg-api and cyborg-agent.
cyborg-agentRuns on compute nodes and discovers local accelerators via drivers, reports inventory to the conductor, and manages device programming and attachment. See Cyborg Support Matrix for supported drivers.
Accelerator DriversCyborg supports drivers for various accelerator types (FPGA, GPU, NIC, SSD, AI chips). See Driver Development Guide for extending Cyborg with new device types.
Installation Guide¶
Installation instructions for operators deploying Cyborg from source or packages, including prerequisites, configuration, and post-installation steps.
User Guide¶
End-user documentation for creating device profiles and requesting accelerators in instances.
Administration¶
Administrator Guide¶
Operational guides for managing Cyborg deployments, including placement integration, ARQ lifecycle, upgrades, and security.
Configuration Reference¶
Configuration options for Cyborg services and per-driver setup.
API Documentation¶
REST API Reference¶
Cyborg API Reference: Complete reference for the accelerator API, including all methods and request/response parameters.
REST API Version History: History of API microversion changes.
Command Line Tools¶
CLI reference for cyborg-status and other command-line utilities.
Developer Documentation¶
Contributor guides covering repository structure, driver development, testing, release notes, and agentic coding conventions.