[
https://issues.apache.org/jira/browse/ARROW-8626?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17095585#comment-17095585
]
Wes McKinney edited comment on ARROW-8626 at 4/29/20, 4:08 PM:
---------------------------------------------------------------
This work should also be able to give way to other kinds of fairer resource
allocation schemes. For example, round robin is bad when you have two consumers
whose tasks are greatly unequal in cost. Imagine CPU tasks that take 1000x as
long for one consumer as the other -- then eventually the first (costly
per-task) consumer is running on all threads and the second (less-costly per
task) consumer is waiting
was (Author: wesmckinn):
This work should also be able to give way to other kinds of fairer resource
allocation schemes
> [C++] Implement "round robin" scheduler interface to fixed-size ThreadPool
> ---------------------------------------------------------------------------
>
> Key: ARROW-8626
> URL: https://issues.apache.org/jira/browse/ARROW-8626
> Project: Apache Arrow
> Issue Type: New Feature
> Components: C++
> Reporter: Wes McKinney
> Priority: Major
> Fix For: 1.0.0
>
>
> Currently, when submitting tasks to a thread pool, they are all commingled in
> a common queue. When a new task submitter shows up, they must wait in the
> back of the line behind all other queued tasks.
> A simple alternative to this would be round-robin scheduling, where each new
> consumer is assigned a unique integer id, and the schedule / thread pool
> internally maintains the tasks associated with the consumer in separate
> queues.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)