Skip to main content
Version: v1.1

Device with Multiple Nodes

AosEdge supports operating a multi-node device, where multiple hardware nodes function together as a single logical unit. This configuration enables features such as Dynamic Rebalance, allowing workloads to be distributed efficiently across nodes.

This page provides a high-level guide for preparing, connecting, and provisioning your multi-node device for AosEdge.


Why Multi-Node Devices?

A multi-node configuration is useful when a single product contains multiple compute boards or SoCs. AosEdge enables:

  • Dynamic Rebalance for adaptive workload placement
  • Unified device management
  • Scalable compute capacity
  • Optimized service orchestration based on node capabilities

Setup Your Device

1. Adjust Your Image

Each node must run an image configured for multi-node support.

Tasks include:

  • Enable cluster membership (cluster ID, node ID, discovery method)
  • Include multi-node runtime components
  • Define node roles (e.g., GPU node, real-time node)
  • Apply node-specific configuration in build recipes

Adjust build recipes and instructions

Depending on your build system:

  • Add recipes for cluster agent and rebalance components
  • Provide configuration fragments for node identity
  • Ensure all nodes share the same device ID (but unique node IDs)
  • Apply per-node overrides in local.conf or equivalent

Generate images for each node

Build one image per node:

  • Shared base filesystem
  • Node-specific overlays (network config, node ID, node role)

2. Flash the Images

Flash the generated images to each hardware node:

  • Use the correct storage medium (SD/eMMC/NVMe)
  • Flash all nodes with images built from the same release
  • Label each node to avoid mix-ups

3. Connect the Devices

Nodes must communicate over an internal network.

Requirements:

  • Reliable inter-node link (Ethernet recommended)
  • Stable addressing (static or DHCP-managed)
  • Time synchronization (NTP or PTP)
  • Shared cluster ID and unique node IDs

Verify:

  • Nodes can reach each other
  • Node discovery works correctly

Provision Your Multi-Node Device

4. Target Systems

Update Target Systems to describe your multi-node architecture:

  • Number of nodes
  • Capabilities of each node (CPU, GPU, memory, accelerators)
  • Service placement characteristics

This enables proper workload scheduling and Dynamic Rebalance.


5. Unit Config

Update the Unit Config YAML to define the multi-node structure.

Typical configuration fields:

  • device_id: shared across all nodes
  • nodes:
    • Node index
    • Hostname
    • Network address
    • Assigned role
  • roles: per-node capability definitions
  • rebalance: enable/disable and policies
  • network: internal interface definitions

This configuration ensures AosEdge provisions the cluster as a single device.