You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@arrow.apache.org by "Adam Lippai (Jira)" <ji...@apache.org> on 2020/05/12 15:29:00 UTC

[jira] [Commented] (ARROW-8774) [Rust] [DataFusion] Improve threading model

    [ https://issues.apache.org/jira/browse/ARROW-8774?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17105524#comment-17105524 ] 

Adam Lippai commented on ARROW-8774:
------------------------------------

A thing to consider on the long run (but a single default threadpool now helps a lot!):
For an optimal result reading files should have less priority than the computation part later.

This is what I've found on the topic: [https://users.rust-lang.org/t/dealing-with-work-priority-and-rayon/30954/2]

Rayon doesn't support setting priority for the tasks, but as a workaround we could create two threadpools, eg one with <=10 threads for file reading and CPU_NUM threads for the computation. If you need fine tuning the workload (S3, HDFS, NFS behave differently, local HDD or SSD is a different topic too) you could either configure the threadpool sizes (even down to 1 thread) or setting "nice" for the threadpool threads.

> [Rust] [DataFusion] Improve threading model
> -------------------------------------------
>
>                 Key: ARROW-8774
>                 URL: https://issues.apache.org/jira/browse/ARROW-8774
>             Project: Apache Arrow
>          Issue Type: Improvement
>          Components: Rust, Rust - DataFusion
>            Reporter: Andy Grove
>            Assignee: Andy Grove
>            Priority: Major
>             Fix For: 1.0.0
>
>
> DataFusion currently spawns one thread per partition and this results in poor performance if there are more partitions than available cores/threads. It would be better to have a thread-pool that defaults to number of available cores.
> Here is a Google doc where we can collaborate on a design discussion.
> https://docs.google.com/document/d/1_wc6diy3YrRgEIhVIGzrO5AK8yhwfjWlmKtGnvbsrrY/edit?usp=sharing



--
This message was sent by Atlassian Jira
(v8.3.4#803005)