OpenStack Cyborg

Accelerator management framework that discovers FPGAs, GPUs, NICs, SSDs and AI chips, reports them to Placement and attaches them to instances.

Provider
openstack
Category
Operations
Also known as
Accelerator Life Cycle Management
Properties · 2 set by this component
propertytypevaluesrequiredkind defaultthis component
acceleratorType · component propertyenumfpga | gpu | nic | ssd | ai-chipno—inherited
consensusenumnone | raft | paxos | zabnononeinherited
deviceProfile · component propertyboolean—notrueinherited
managedboolean—nofalse▸ false
nodesinteger—no—inherited
placementInventory · component propertyboolean—notrueinherited
replicatedboolean—nofalseinherited
roleenummetadata | lock | discovery | placement | sharding | leader-election | configyes—▸ placement
Rules that apply · 2

Every rule whose selector covers this component's kind or its category. Whether a rule fires depends on the design: its properties, its edges and its groups.

shared-dependency-without-redundancy

The design requires redundant discovery, but this DNS or coordination service, which everything depends on, runs on a single provider or a single replica. Its failure is the whole system's failure.

  • — all of these hold:
  • — the design requirement `availability.discoveryRedundant` is true
  • — any of these hold:
  • — the node's `redundantProviders` is false
  • — the node's `replicated` is false
stateful-engine-pinned-to-single-zone

A matching engine, coordination service or event store living in exactly one availability zone, with no failover and no replication, is lost with that zone. Everything that depends on it stops with it.

  • — all of these hold:
  • — the node sits inside exactly 1 availability-zone group
  • — any of these hold:
  • — the node's `failover` is "none"
  • — the node's `replicated` is false
  • — the node's `replication` is "none"
Use it in a design
nodes:
  - { id: "cyborg", component: "openstack-cyborg" }
Other Coordination service products · 17
Source
# yaml-language-server: $schema=../../schema/component.schema.json
# OpenStack Cyborg: general management framework for accelerators. Per "OpenStack Accelerator (Cyborg)" the
# cyborg-agent discovers local FPGAs, GPUs, NICs, SSDs and AI chips via drivers, reports inventory to the
# conductor for Placement, and manages device programming and attachment to Nova instances through device
# profiles: a placement role over the cloud, with no consensus protocol of its own.
schemaVersion: "1"
type: "component"
id: "openstack-cyborg"
kind: "coordination-service"
provider: "openstack"
docs: "https://docs.openstack.org/cyborg/latest/"
aliases: ["Accelerator Life Cycle Management"]
defaults:
  role: "placement"
  managed: false
properties:
  acceleratorType:
    type: "enum"
    values: ["fpga", "gpu", "nic", "ssd", "ai-chip"]
  placementInventory:
    type: "boolean"
    default: true
  deviceProfile:
    type: "boolean"
    default: true

The same page as markdown, for an agent: /catalogue/components/openstack-cyborg.md