Skip to content
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

[C++] Add traceable general purpose queue(s) #27458

Closed
1 task done
asfimport opened this issue Feb 10, 2021 · 2 comments
Closed
1 task done

[C++] Add traceable general purpose queue(s) #27458

asfimport opened this issue Feb 10, 2021 · 2 comments

Comments

@asfimport
Copy link

asfimport commented Feb 10, 2021

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.

@asfimport
Copy link
Author

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).

@asfimport
Copy link
Author

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants