apache / datafusion-ballista

Apache DataFusion Ballista Distributed Query Engine
https://datafusion.apache.org/ballista
Apache License 2.0
1.39k stars 181 forks source link

Improve ballista performance #129

Open yahoNanJing opened 1 year ago

yahoNanJing commented 1 year ago

Is your feature request related to a problem or challenge? Please describe what you are trying to do.

To be an efficient distributed execution platform, there're still many aspects we need to improve.

Describe the solution you'd like

Describe alternatives you've considered

Additional context

andygrove commented 1 year ago

I added https://github.com/apache/arrow-ballista/issues/243

yahoNanJing commented 1 year ago

With all the PRs merged, we can achieve a relatively high throughput in RoundRobinLocal SlotsPolicy. For a 200ms query with 200 concurrency running 5 minutes, the average query latency is also around 200ms, which proves the task scheduling is very efficient and should not be a bottleneck in a high throughput system.

And for a large query with with more than 2000 tasks in the first stage, the query latency is improved from more than 10s to around 2.5s.

Hi @thinkharderdev and @andygrove, if you have time, you can also help verify on it.

yahoNanJing commented 1 year ago

Since Dan may not have time for reviewing on these PRs, Andy could you at other guys who may be interested on these PRs? Thanks very much.