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
There are a few places we queue data/jobs today (e.g. readahead, thread pool). In order to reduce complexity (single responsibility) and add traceability (so we can tell where queues are filling up) we should create general purpose queues (e.g. the boost lockfree one) and add some basic performance counters/events (queue size, queue full, queue starved).
We will need multiple queue implementations. Some places will need a spsc lock free queue and others will need a multi-producer / multi-consumer queue with proper waits (and potentially more queues than that).
Antoine Pitrou / @pitrou:
Sounds good to me. On a general basis, we try to minimize the Boost dependencies, but that's only a guideline (especially if header-only).
Weston Pace / @westonpace:
Cleaning up my issues. General queues seems to be more of a pipe dream. Different operators have had different queuing needs and so we are likely to have multiple types. David has already made good work on tracing and I feel this issue could probably be better served by a "execution graph tracing" issue.
There are a few places we queue data/jobs today (e.g. readahead, thread pool). In order to reduce complexity (single responsibility) and add traceability (so we can tell where queues are filling up) we should create general purpose queues (e.g. the boost lockfree one) and add some basic performance counters/events (queue size, queue full, queue starved).
We will need multiple queue implementations. Some places will need a spsc lock free queue and others will need a multi-producer / multi-consumer queue with proper waits (and potentially more queues than that).
Reporter: Weston Pace / @westonpace
Assignee: Weston Pace / @westonpace
Subtasks:
Related issues:
Note: This issue was originally created as ARROW-11588. Please see the migration documentation for further details.
The text was updated successfully, but these errors were encountered: