Project

General

Profile

Feature #19485

Milestone #15372: art multi-threading phase 1

Convert art-provided modules to the appropriate MT type

Added by Kyle Knoepfel over 1 year ago. Updated about 1 year ago.

Status:
Closed
Priority:
Normal
Assignee:
Category:
Application
Target version:
Start date:
03/26/2018
Due date:
% Done:

100%

Estimated time:
Spent time:
Scope:
Internal
Experiment:
-
SSI Package:
art
Duration:

Description

All art-provided modules must be specified as the correct MT type ("shared" or "replicated"), with the appropriate serialize or async calls being made in the constructor. The following modules need to be converted:

  • BlockingPrescaler
  • DataFlowDumper
  • EventIDFilter
  • FileDumperOutput
  • Prescaler
  • ProvenanceCheckerOutput
  • RandomNumberSaver
  • RootOutput

In addition, the following class templates should also be updated:

  • MixFilter
  • ProvenanceDumper

History

#1 Updated by Kyle Knoepfel over 1 year ago

  • Status changed from New to Assigned
  • Assignee set to Kyle Knoepfel

#2 Updated by Kyle Knoepfel over 1 year ago

  • Target version set to 3.00.00
  • % Done changed from 0 to 10
  • SSI Package art added

The Prescaler and BlockingPrescaler modules have been converted to shared::Filters (commit art:f41cc9c), that serialize only against themselves--they can process one event at a time, but independent of any other shared resource.

#3 Updated by Kyle Knoepfel over 1 year ago

  • % Done changed from 10 to 20

The EventIDFilter module was changed to a shared module, whose event-level calls can be called asynchronously (commit art:92a4372).

#4 Updated by Kyle Knoepfel about 1 year ago

  • Category set to Application
  • Status changed from Assigned to Closed

The modules were changed to the following types (all modules in bold face have been upgraded to take advantage of multi-threading behavior):

  • BlockingPrescaler: shared producer with asynchronous event call
  • DataFlowDumper: legacy output module
  • EventIDFilter: shared filter with asynchronous event call
  • FileDumperOutput: legacy output module
  • Prescaler: shared producer with asynchronous event call
  • ProvenanceCheckerOutput: legacy output module
  • RandomNumberSaver: shared producer with serialized event call if debugging enabled; otherwise asynchronous event call
  • RootOutput: legacy output module

For art 3.00.00, all MixHelper and ProvenanceDumper modules are legacy modules.

#5 Updated by Kyle Knoepfel about 1 year ago

  • % Done changed from 20 to 100


Also available in: Atom PDF