Hey folks, just wishing to get some ideas here. Wh...
# general
c
Hey folks, just wishing to get some ideas here. What are some of the hot loops in Pinot? Any idea which loop could benefit from the new Java Vector API (https://openjdk.java.net/jeps/338) ?
j
Hi, we are working on optimizing the forward index reader in this PR: https://github.com/apache/incubator-pinot/pull/6262 where we introduced the bulk read. I think the bulk read can be further optimized with the vector API
Feel free to try it out
c
Thanks Jackie, I'll take a look
s
Agree with Jackie on trying the vector api on the tight loops in this PR and see if they can be further vectorized. Other than that, please take a look at SumAggregationFunction, Add transform function to begin with. There are loops there to compute running sum of an array and to sum two arrays into a resulting 3rd array. In my previous experience with C++, I saw huge improvements by directly using simd instructions on avx 512.. So may be worth exploring if using vector api in these loops can help vectorize more than what JVM is already doing (if at all)
👍 1
@Cesar ^