-
Notifications
You must be signed in to change notification settings - Fork 3.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
.Net Processes - Map Step Feature #9339
base: main
Are you sure you want to change the base?
Conversation
ProcessBuilder mapProcess = this.MapProcess; | ||
|
||
KernelProcessMapState state = new(this.Name, this.Id); | ||
return new KernelProcessMap(state, mapProcess.Build(), this.TargetFunction.ParameterName!, builtEdges); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
thinking about state propagation at this stage there may need a state validation to either pass the state or pass null (like no state was given) before letting the build logic take care of it.
Also thinking about if it's needed to have a stepId here or just keep treating the map steps as an array
General thoughts about State + Map: Since the map is a subprocess with N steps (to be defined at runtime), I'm thinking of 2 scenarios:
|
Additional considerations - not for this PR but for the feature in general:
|
I like these considerations. I feel that timeout and depth considerations apply generally to the entire framework, not just the map-step. I very much like the volatile concept. I have to admit, I'm not entirely clear on the pause or cancel mechanics in the runtime. I don't see the cancel-token being propagated much, but I need to take a closer look |
Ben and I did discuss this "functoid" constraint for the map operation and felt it might be too limiting. At this point, the feature is functional without resorting to constraining the map operation. Also if we apply the "volatile" concept, I wonder if the need exists to further constrain the map operation. Another question that comes to mind is how to enforce such a constraint (singleton / functoid)...i suspect such enforcement may not be trivial. What do you think? |
DRAFT
Motivation and Context
Fixes: #9193
Description
Map each value from a set to a map-operation and present the results as a set for potential reduction.
Includes:
ProcessMapBuilder
(Core)KernelProcessMap
/KernelProcessMapState
(Abstractions)LocalMap
(LocalRuntime)Features:
Contribution Checklist