Skip to content

Configuring the system page

Procedure

To configure the System page, proceed as follows:

system

  1. In the Memory Reservation field, you can specify the average memory consumption of your application. The minimum value is 6 MB and cannot be greater than the Memory Limit. If the device reaches an overall critical memory consumption level, the system will try to reduce the memory consumption of each application to its reserved memory value.

  2. Select the unit of the memory reservation in the drop-down menu.

  3. Enter the maximum amount of memory the application can use in the Memory Limit input field. The minimum value is 6 MB. If the application surpasses its memory limit, it is stopped. This ensures that the other running processes and applications on the device have enough memory available for their execution.

  4. Select the unit of the memory limit in the drop-down menu.

    NOTICE

    The amount of installed and running applications on a device is limited by their memory consumption. Upon the installation or start of an application, the application's memory reservation (or memory limit, if memory reservation is not set) is checked against the remaining available memory of the device. If there is not enough memory available, the application cannot be installed or started. Although it is optional to define the value for Memory Reservation, it is highly recommended to do so in order to achieve an efficient memory usage on the device. Since the Memory Limit is usually significantly higher than the Memory Reservation, much more memory is virtually occupied by the application. This could result in either the application itself or other applications not being able to be additionally installed or started on a device.

  5. Specify which runtime to use for the application’s containers. The default value of the runtime is always iedge.

!!! info "NOTICE" Runtime value must be set to iedge to use CPU Allocation and GPU Allocation resources.

  1. Configures the physical resources required for the application to run on the platform.

  2. X-resources: Siemens Industrial Edge Resource Manager resource claim specification. This is the 'x-resources' section in docker-compose service definitions.
    Limits: A mapping of resource-class names and the amount of resources requested for this class. The keys can refer a true resource class or to an entry under definitions.
    Definitions: A custom definition for use in limits. This allows for fine-grained resource selection with matchExpressions.

    • Type: The parent resource-class this definition applies to. This does not modify the original resource class, but creates a new resource class name which can be used in limits to allow for a more fine grained resource allocation.
    • limits: Limit the specific number of CPUs, GPU or Shared Memory a container can use. A valid limit can range from 1-128.
      CPU Limits : Example : "siemens.com/isolated_core:1"
      GPU Limits : Example : "nvidia.com/gpu:1"
      Shared Memory : Example : "siemens.com/shared_memory"

    • Optional: A custom definition to indicate whether the resource claimed in limits is optional.

    • Config: Additional configuration for individual resource claims that should be transferred to the resource plugin.
    • Shared: If set to true allocations for this resource type are allocated from the pool of shared resources, if set to false from the pool of exclusive resources and if unset the resources of this type are allocated from the default pool as advertised by the plugin which can be either the pool of exclusive or the pool of shared resources.
    • MatchExpressions: List of expressions which constrain the selection of resource instances from the parent resource class. The list is a logical AND. A missing or empty matchExpressions array will create a simple alias to the resource class given in property type.
      Key : Name of a field in the resources metadata. Nested fields can be addressed by dot separation, e.g. field 'foo' in object 'sub' would be referred to with key 'sub.foo'. One refer to objects of arbitrary type
      Operator : Operator of the matchexpressions entry. 'Exists' checks whether given key exists in metadata. Property values must then not be present. DoesNotExist is the logical opposite. Contains check if all entries in values are contained in the value in metadata at given key (which is itself must be a list or dict). NotContains checks check if non entry in values is contained in the value in metadata at given key (which is itself a list or dict) (this is NOT the opposite of Contains). In check if value in metadata at given key is equal to one value in the given set of values. NotIn is the opposite of In.
      "enum": ["In", "NotIn", "Contains", "NotContains", "Exists", "DoesNotExist"]
  3. Click on the Save button.