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.confor 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 nodesnodes:- Node index
- Hostname
- Network address
- Assigned role
roles: per-node capability definitionsrebalance: enable/disable and policiesnetwork: internal interface definitions
This configuration ensures AosEdge provisions the cluster as a single device.