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:

_images/cyborg-architecture.png
cyborg-api

REST 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-conductor

Central orchestration service that coordinates placement updates, device bindings, and database access between cyborg-api and cyborg-agent.

cyborg-agent

Runs 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 Drivers

Cyborg 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

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.

Search and Indices