You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The reconciler relies on the allocation name (task name + index) when deciding which allocs to stop. This is a non-deterministic value that has led to numerous defects over time. While the name is useful for identifying allocations that conflict, by itself, it is not enough to know which allocation to keep and which to discard. We should design a more resilient approach to reconciling allocations that have the same name.
Use-cases
This issue was identified during work on PR12795. During code review, it came to light that this has been a source of historical problems and that we should look for an alternate approach.
Attempted Solutions
So far, all effort has been expended around ensuring that the surrounding code ensures allocs are filtered correctly into specific sets and then managing those sets. This approach, compounded by change over time, has led to sprawling logic spread across numerous functions that creates a significant cognitive load when trying to work on this aspect of the scheduler.
The text was updated successfully, but these errors were encountered:
Proposal
The reconciler relies on the allocation name (task name + index) when deciding which allocs to stop. This is a non-deterministic value that has led to numerous defects over time. While the name is useful for identifying allocations that conflict, by itself, it is not enough to know which allocation to keep and which to discard. We should design a more resilient approach to reconciling allocations that have the same name.
Use-cases
This issue was identified during work on PR12795. During code review, it came to light that this has been a source of historical problems and that we should look for an alternate approach.
Attempted Solutions
So far, all effort has been expended around ensuring that the surrounding code ensures allocs are filtered correctly into specific sets and then managing those sets. This approach, compounded by change over time, has led to sprawling logic spread across numerous functions that creates a significant cognitive load when trying to work on this aspect of the scheduler.
The text was updated successfully, but these errors were encountered: