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
{{ message }}
Repository navigation
Comet Native Executors: TPC-H q17 in pipelined mode takes 277 s where Ballista takes 154 s #7409
TPC-H q17 at SF1000 in pipelined mode runs in about 277 s on Comet Native Executors (#7289, head e9d6e3da0) and 154 s on Ballista, on the same cluster: 2 nodes linked by 2.5 GbE, one executor per node with 8 cores and 56 GiB, node-local Parquet.
Comet, with partial aggregation skipping (experiment, #7406)
241.8, 242.4 s
Both engines run the same plan shape. Neither broadcasts part in pipelined mode, so both shuffle all of lineitem twice: once to join part, and once for the per-l_partkey average. Both move about 35 GB per node in each direction.
Sampling CPU and network on both nodes every 5 seconds shows where the time goes:
Ballista keeps the network at about 227 MB/s each way, close to the link's limit, for most of the query, with the 8 executor cores never all busy. It is network-bound.
Comet averages 134 MB/s. It has a phase of about 90 s with all 8 executor cores busy and the network nearly idle, and an idle stretch of about 15 s before any data moves. With partial aggregation skipping, the busy phase is about 60 s.
Profile the remaining CPU-bound phase on an executor. It is likely the final aggregate over 200 million groups or the join stage, but that is not measured yet.
Find out what the first 15 s of a Comet query wait on. Ballista starts moving data at once.
Additional context
The blocking-mode side of q17 is #7391. Part of #7288.
Activity