Live data from Hacker News

Launch HN: ParaQuery (YC X25) – GPU Accelerated Spark/SQL

news.ycombinator.com

21–30 of 85 posts

Re: Launch HN: ParaQuery (YC X25) – GPU Accelerated Spark/SQL

#21

This could be incredibly useful for me. Currently struggling to complete jobs with massive amounts of shuffle with Spark on EMR (large joins yielding 150+ billion rows). We use Glue currently, but it has become cost prohibitive.

Is the shuffle the biggest issue? Not too sure about joins but one of the datasets we're currently dealing with has a couple trillion rows. Would love to chat about this!

Re: Launch HN: ParaQuery (YC X25) – GPU Accelerated Spark/SQL

#22
post #19

couple weeks ago at VeloxCon one of the days was dedicated to GPU processing (the other being AI/ML data preprocessing); the cuDF team talked about their Velox integration as well. for those interested, might worth to check it out. disclaimer: my team is working on this very problem as well, as I was a speaker at VeloxCon.

Just checked out Velox. It's awesome that you're reducing duplicate eng effort! What was your talk about?

I was part of the panel discussion at the end of the 2nd day discussing hardware acceleration for query processing. before the panel there were very interesting talks about various approaches on how to get to the end goal, which is to efficiently use hardware (non-x86 CPUs, so mostly either GPUs or FPGAs/custom chips) to speed up queries.

Re: Launch HN: ParaQuery (YC X25) – GPU Accelerated Spark/SQL

#23
post #16

Cool project, congratulations. How would you contrast it against HeavyDB? https://github.com/heavyai/heavydb

I'm not too familiar with HeavyDB, but here are the main differences:

- We're fully compatible with Spark SQL (and Spark). Meaning little to no migration overhead.

- Our focus is on distributed compute first.

- That means ParaQuery isn't a database, just an MPP engine (for now). Also means no data ingestion/migration needed.

Re: Launch HN: ParaQuery (YC X25) – GPU Accelerated Spark/SQL

#25
post #12

Earlier quoted context omitted.

Large scale shuffles: Absolutely. One of the larger queries we ran saw a 450TB shuffle -- this may require more than just deploying the spark-rapids plugin, however (depends on the query itself and specific VMs used). Shuffling was the majority of the time and saw 100% (...99%?) GPU utilization. I presume this is partially due to compressing shuffle partitions. Network/disk I/O is definitely not the bottleneck here.…

8TB/s bandwidth on the B200 helps :-) [yes, yes, that is at the high end, but 4.8TB/s@H200, 4TB/s@H100, 2TB/s@A100 is nothing to sneeze at either).

Very true. Can't get those numbers even if you get an entire single-tenant CPU VM. Minor note, A100 40G is 1.5TB/s (and much easier to obtain).

That being said, ParaQuery mainly uses T4 and L4 GPUs with "just" ~300 GB/s bandwidth. I believe (correct me if I'm wrong) that should be around a 64-core VM, though obviously dependent on the actual VM family.

Re: Launch HN: ParaQuery (YC X25) – GPU Accelerated Spark/SQL

#27
post #19

Earlier quoted context omitted.

Just checked out Velox. It's awesome that you're reducing duplicate eng effort! What was your talk about?

I was part of the panel discussion at the end of the 2nd day discussing hardware acceleration for query processing. before the panel there were very interesting talks about various approaches on how to get to the end goal, which is to efficiently use hardware (non-x86 CPUs, so mostly either GPUs or FPGAs/custom chips) to speed up queries.

Since you mentioned non-x86, how are things on the ARM side? I believe I heard AWS's Graviton + Correto combo was a huge increase for JVM efficiency.

FPGAs... I somehow highly doubt their efficiency in terms of being the "core" (heh) processor. However, "compute storage" with FPGAs right next to the flash is really interesting.

Re: Launch HN: ParaQuery (YC X25) – GPU Accelerated Spark/SQL

#28
> they're saving over 60% off of their BigQuery bill

how big is their data?

A lot of BigQuery users would be surprised to find they don't need BigQuery.

This[0] post (written by founding engineer of BigQuery) has a bit of hyperbole, but this part is inline with my experience:

> A couple of years ago I did an analysis of BigQuery queries, looking at customers spending more than $1000 / year. 90% of queries processed less than 100 MB of data. I sliced this a number of different ways to make sure it wasn’t just a couple of customers who ran a ton of queries skewing the results. I also cut out metadata-only queries, which are a small subset of queries in BigQuery that don’t need to read any data at all. You have to go pretty high on the percentile range until you get into the gigabytes, and there are very few queries that run in the terabyte range.

We're[1] built on duckdb and I couldn't be happier about it. Insanely easy to get started with, runs locally and client-side in WASM, great language features.

0 - https://motherduck.com/blog/big-data-is-dead/

1 - https://www.definite.app/

Re: Launch HN: ParaQuery (YC X25) – GPU Accelerated Spark/SQL

#29

nobody so far mentioned Apache Gluten yet. are you familiar? how do you compare?

I was about to comment that Gluten is only targeting CPU vectorization, but then I found this (very cool!): https://github.com/apache/incubator-gluten/issues/9098

I'm not very familiar with Gluten, but I'll still comment on the CPU side though, assuming that one of Gluten's goals is to use the full vector processing (SIMD) potential of the CPU. In that case, we'd still be memory(-bandwidth)-bound, not to mention the significantly lower FLOPs of the CPU itself. If we vectorize Spark (or any MPP) for efficient compute, perhaps we should run it on hardware optimized for vectorized, super-parallel, high-throughput compute.

Also, there's nothing which says we can't use Gluten to have even more CPU+GPU utilization!

Re: Launch HN: ParaQuery (YC X25) – GPU Accelerated Spark/SQL

#30

So nice to see GPU's being used for classical reasons again.

Came here to say the same thing. Set Theory is the classical foundation of SQL: https://www.sqlshack.com/mathematics-sql-server-fast-introdu... It's analogous to how functional programming expressed through languages like lisp is the classical foundation of spreadsheets. I believe that skipping first principles (sort of like premature optimization) is the root of all evil. Some other examples: - If TCP had been a lay…

I'm not sure about the rest of your comment, but we would likely still want GPUs even with highly multicore CPUs. Case in point: the upper-range Threadripper series.

It makes sense to have two specialized systems: a low-latency system, and a high-throughput system, as it's a real tradeoff. Most people/apps need low-latency.

As for throughput and efficiency... turns out that shaving off lots of circuitry allows you to power less circuitry! GPUs have a lot of sharing going on and not a lot of "smarts". That doesn't even touch on their integrated throughput optimized DRAM (VRAM/HBM). So... not quite. We'd still be gaming on GPUs :)

Post reply on HN