Open pdxjohnny opened 5 years ago
Union/Lock/Export/SystemContext
style type annotation extras on definitions.@op
decorator use the extras to add some metadata which says at a minimum:
dataflow.flow
inspection at time of overlay apply (still TODO on best practice methodologies around ordering overlay applications)dffml.df.memory
)Input
s relationship to it's links
.Input
has a relationship (relationships and types could be stored within metadata) with a link where the link is it's parent, the current locking implementation will lock the parent.
ActiveSystemContext
method) of the dataflow for the context of the operation, the check returns some, or maybe even better implements some locking policy (it could take the lock network as an argument from the caller)upstream
to replace the operation entirely with a full fledged decision tree on what to do with different metadata. (test this)
Current implementation of
MemoryLockNetworkContext
is such that it locks all parent inputs and the input itself.What it should do is look at the parents and let descendants of a parent all operate on descendant
Input
items at the same time, but not let anyone operate on that parent item until all the operations working on descendantInput
s have completed.Effectively, all operations working on the descendant
Intput
s "share" the lock on that parent they descend from.https://github.com/intel/dffml/blob/2c671985d3aef0886554397c729aa2b667884be1/dffml/df/memory.py#L466-L492