Project

General

Profile

Feature #18033

Milestone #15372: art multi-threading phase 1

Detect ordering conflicts of modules in paths

Added by Kyle Knoepfel almost 2 years ago. Updated about 1 year ago.

Status:
Closed
Priority:
Normal
Assignee:
Category:
-
Target version:
Start date:
10/26/2017
Due date:
% Done:

100%

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

Description

The following specification of paths is an error:

p1: [a, b, c]
p2: [d, c]

In the above example, the c module follows either b or d. If (e.g.) c requires products produced by a and b, then the above specification can only result in a successful execution if p1 is executed before p2. The processing order of paths is unspecified by art, and in a multi-threaded environment, parallel processing of trigger paths implies that there can be no inconsistent module specifications among them.

The feature request is to catch this type of module-ordering conflict across paths.

History

#1 Updated by Kyle Knoepfel almost 2 years ago

  • Status changed from New to Assigned
  • Assignee set to Kyle Knoepfel
  • Estimated time set to 16.00 h
  • Parent task set to #15372
  • SSI Package art added

#2 Updated by Kyle Knoepfel almost 2 years ago

  • Status changed from Assigned to Accepted

Preliminary work I did on this feature was based on an incomplete understanding on the functionality required. The estimated time should be updated to take into account using the produces/consumes information to build the graph of dependencies necessary for catching such an error.

#3 Updated by Kyle Knoepfel almost 2 years ago

  • Assignee deleted (Kyle Knoepfel)

#4 Updated by Kyle Knoepfel over 1 year ago

  • Status changed from Accepted to Assigned
  • Assignee set to Kyle Knoepfel
  • Target version set to 3.00.00
  • % Done changed from 0 to 80

This feature has largely been implemented by various commits:

Data-product dependency checking is done for all workflows. If users wish to print out a graph (in DOT format) file for a particular workflow, the '-g,--data-dependency-graph' command can be used (e.g.):

art -c config.fcl -g config.dot
dot config.dot -Tpdf -o config.pdf

Some cleaning up of the implementation and some tests are yet needed.

#5 Updated by Kyle Knoepfel over 1 year ago

  • Status changed from Assigned to Resolved
  • % Done changed from 80 to 100

Implemented with commit art:3df74f7.

#6 Updated by Kyle Knoepfel about 1 year ago

  • Status changed from Resolved to Closed


Also available in: Atom PDF