Innovation 2025 : Multicore Processing in Automation Software 6

As modern hardware trends shift towards multi-core architectures, Automation Software 6 (AS6) has evolved to fully leverage these capabilities. This article outlines the technical implementation of multicore processing in AS6, its integration into runtime environments, and practical considerations for developers.

Why Multicore?

  • CPU frequency has plateaued, and single-core performance improvements are marginal.
  • Core counts are increasing, making parallel execution essential for performance gains.

AS6 adapts to this trend by enabling parallel task execution across multiple cores.

Runtime Architecture: From Single-Core to Multicore

Traditional Single-Core Execution

Tasks are queued and executed based on priority. Only one task runs at a time, limiting performance.

Multicore Execution Model

Tasks are distributed across available cores. Parallel execution of high-priority tasks is now possible. Dynamic load balancing ensures optimal CPU utilization.

Evolution Processing in AS6 Timeline

Release Key Features
AR 6.1 Multicore platform for mapp packages, Automation Runtime API
AR 6.3 Multicore diagnostics (Profiler, SDM)
AR 6.4 Full multicore support for non-hard RT system tasks
AR 6.x More to come :slight_smile: e.g. mapp Track/IEC Task classes

Runtime Integration

Automation Runtime API enables system-level multicore control. RT Class-based task scheduling allows fine-grained priority management. Background tasks are dynamically distributed across cores.

Technology Package Multicore Support

Multicore support is integrated into several key packages:

  • mapp View 6.1
  • OPC UA FX 6.1
  • OPC UA Client/Server
  • mapp Robotics 6.2
  • mapp Track (comming soon)

Tasks are automatically balanced across the least utilized cores, improving responsiveness and throughput. Tasks may be automatically migrated from one core to another at runtime based on system load.

OPC UA FX & OPC UA C/S 6.1

  • Multicore Processing activated by default (configurable) – tasks balanced on least utilized cores

mapp View 6.1

  • Multicore Processing activated by default - tasks balanced on least utilized cores

Real-World Example: mapp Robotics

Using Codian Delta Robots on APC3200:

  • With multicore support, up to 7 robots can be handled simultaneously.
  • CPU load is distributed across cores, significantly reducing bottlenecks on Core 0.
  • Demonstrates scalability and efficiency of multicore task scheduling.

Diagnostics and Profiling

From AR 6.3 onwards:

  • System Diagnostics Manager (SDM) and Automation Studio Profiler provide visibility into core usage.
  • Developers can identify bottlenecks and optimize task distribution.

Hardware Compatibility

Not all B&R hardware supports multicore. BIOS settings and I/O system configurations may reserve cores. Refer to System Datasheets for supported targets and configurations.

Case Studies

  • IO scheduler can not benefit from multicore processing
  • Task classes parallelization will come in one of upcoming AR version

Unsuitable Project (AR 6.4)

High cyclic load (44.38%) not parallelizable. Only 12.4% of tasks could benefit from multicore. Minimal performance gain.

Suitable Project (AR 6.4)

45.5% of system tasks were multicore-ready. Real-world reduction of 30–40% in Core 0 load. Significant performance improvement.

Application Code Considerations

Pitfall: Priority-Based Synchronization

On single-core systems, task execution is serialized. On multicore systems, simultaneous access to shared memory can lead to race conditions.

Solution: Use memory locks or synchronization primitives (e.g., AsSem Standard Library) to ensure data integrity.

:open_book: QnA

  • How Multicore Processing is handled with a Hypervisor System?

    • Starting with AR 6.4 and AS 6.5 the Cores of an APC can be assigned to either GPOS or Automation Runtime
  • Is debugger ready for that ? will the all cores be stopped if it reach a breakpoint in one core ??

    • Yes. The debugger stops tasks, not cores — tasks are stopped no matter which core they are running on
  • Is ARsim also using multicore?

    • yes
  • Does the “mappCNC” also support multicore processing (Since mappRobotics supports..)?

    • Yes
  • Is multicore functionality supported on X20CP0410 and X20CP0411?

    • No, there is only a license for one core on these CPUs.

:books: Configuration/additional info

:link: OPCUA C/S : multicore enabling

:link: MappMotion : Processing-> Symetric multiprocessing

16 Likes