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.
Launch HN: ParaQuery (YC X25) – GPU Accelerated Spark/SQL
21–30 of 85 posts
Re: Launch HN: ParaQuery (YC X25) – GPU Accelerated Spark/SQL
#22couple 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?
Re: Launch HN: ParaQuery (YC X25) – GPU Accelerated Spark/SQL
#23Cool project, congratulations. How would you contrast it against HeavyDB? https://github.com/heavyai/heavydb
- 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
#24Re: Launch HN: ParaQuery (YC X25) – GPU Accelerated Spark/SQL
#25Earlier 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).
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
#26Re: Launch HN: ParaQuery (YC X25) – GPU Accelerated Spark/SQL
#27Earlier 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.
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
#28how 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.
Re: Launch HN: ParaQuery (YC X25) – GPU Accelerated Spark/SQL
#29nobody so far mentioned Apache Gluten yet. are you familiar? how do you compare?
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
#30So 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…
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 :)