Skip to content

Resource Manager

The Resource Manager controls how Industrial Edge applications access selected system resources. It provides a structured way to expose hardware devices, external interfaces, and special runtime resources to containers while avoiding conflicts between applications.

Typical use cases include isolating CPUs for time-critical workloads, assigning dedicated network interfaces, or exposing device-specific resources such as GPUs, GPIO chips, or shared memory.

How the Resource Manager works

The Resource Manager groups resources into resource classes. Each class can provide one or more resource instances that applications can request during deployment or runtime. The Resource Manager then tracks these assignments and makes sure resources are used according to the configured rules.

The exact behavior depends on the enabled plug-ins and on the device configuration. For example, one plug-in can isolate CPUs for a single application, while another can provide controlled access to network interfaces or hardware peripherals.

Components at a glance

The Resource Manager consists of mandatory core services and optional plug-ins for individual resource classes.

Component Purpose
Resource Manager core Discovers resources, tracks claims, and coordinates allocation
CPU resource plug-in Reserves CPUs for specific workloads
Network resource plug-in Manages isolatable network interfaces
Docker network plug-in Applies network claims from Compose manifests
Nvidia GPU resource plug-in Exposes supported Nvidia GPUs to applications
Shared memory resource plug-in Provides managed shared-memory resources
GPIO resource plug-in Exposes GPIO chip resources

The core services are required for every Resource Manager deployment. Install optional plug-ins only for the resource classes that your device should support.

What to configure

When you prepare a device image, consider the following areas:

  • Resource-specific behavior such as CPU isolation, network isolation, GPU access, or GPIO chip access
  • Capability exposure so applications can request only the resource classes you want to support
  • Runtime enablement of the Resource Manager services and plug-ins
  • Persistence behavior so allocated resources can be restored correctly after restarts

Topics in this section

Use the following topics depending on the resource type or task you want to configure:

If you are setting up the Resource Manager for a new device, start with these topics:

  1. Resource Manager Prerequisites
  2. Configuring Capabilities
  3. Configuring the Resource Manager
  4. The resource-specific topic that matches your use case, for example CPU Isolation or Network Interface Isolation
  5. Resource Manager State Persistence

If your device must support deterministic workloads, also read Real-time Applications.