art series 3.00

Previous series release notes (The features introduced in the art 2.12 series are not included in this series as 2.12 was introduced later than this one.)
Next series release notes

This is the first release to support concurrent processing of events.

 New features

Concurrent processing of events

This is the first series of art releases to support concurrent processing of events. Much documentation has been added here. Any users interested in benefiting from multi-threading should consult that documentation and/or contact for guidance.

Please see the guidance for upgrading to art 3, as well as the list of breaking changes.

Configuration pruning

Users are now able to specify the --prune-config program option to remove unused modules and paths from the final post-processed configuration.

Data-dependency graph creation

To assist users in understanding data dependencies between modules, the '-g' program option (or '--data-dependency-graph' long option) has been added. By using the 'produces' and 'consumes' information provided by the user in the module constructors, art can create a DOT file that represents all data dependencies--the name of the file is the argument to the program option. To draw the graph, the following command may be used:

dot -Tpdf -O

This generated pdf file is helpful in diagnosing illegal configurations and determining better ways to improve the execution efficiency of the job.

Other improvements

  • Updated cetskelgen plugins
  • Configuration validation and description for services.scheduler ('art --print-description scheduler')
  • etc.

 Compiler support

This series of releases is the last to support the e15 qualifier. Starting with art series 3.01, only builds with the C++17 standard enabled will be provided.

To upgrade to using the C++17 standard, use the e17 or c2 qualifiers.

 Breaking changes

Please consult the list of breaking changes to determine if/how your code should be modified.

  art releases