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
debugging #988 revealed less-than-ideal aspects of the current WorkGraph push/pop implementation. @hcedwar suggested a new design, this issue is to implement that new design and compare to the current one in terms of performance and robustness.
The text was updated successfully, but these errors were encountered:
New algorithm has only a single state for push/pop of the ready queue and uses the ready queue begin/end indices as performance hints. This entirely avoids the problems with updating a split-state (#988). Also replaces a compare-and-swap loop with a simple atomic increment.
Pop function should not spin waiting for work. Instead return either (a) a valid work index, (b) value indicating that all work is done, or (c) value indicating that no work index is currently available. The back-end specific scheduler should be handling condition (c), not the pop function.
debugging #988 revealed less-than-ideal aspects of the current WorkGraph push/pop implementation. @hcedwar suggested a new design, this issue is to implement that new design and compare to the current one in terms of performance and robustness.
The text was updated successfully, but these errors were encountered: