Multithreaded execution in Firebolt

  Рет қаралды 145

Firebolt

Firebolt

Күн бұрын

Пікірлер: 2
@ishugpt17
@ishugpt17 6 күн бұрын
What is the memory layout of the tablets and the independent chunks in RAM and what do they represent? For cores to be able to work truly independently, there should not be any contention (data to be accessed should not fall on same cache line) while accessing the chunks in main memory, so how do we ensure that?
@BenjaminWagnerFirebolt
@BenjaminWagnerFirebolt 6 күн бұрын
Great question! For us, batches of a few thousand rows are the finest granularity we can access data at. These batches are stored in our columnar format and then compressed independently (e.g. using LZ4). Worker threads can then pick these batches independently. Note that the granularity is a lot bigger than cache lines here: usually one of the tasks we pick has data that uses the whole L1 cache. As the cores can then work on these L1 sized chunks of data independently, contention isn't a big problem. The thing that's hard is what to do with operators such as joins and aggregations where some cross-core coordination is required. Here we invested a lot into having algorithms that minimize contention. For example when building a hash join, our hash tables are naturally partitioned and different threads build the hash table for different partitions. This allows us to scale up even for very complex query patterns. Andy Pavlo has a great lecture on query scheduling here: kzbin.info/www/bejne/jIvNq36Mm7pnbM0 The state-of-the-art paper for this is "Morsel-driven parallelism: a NUMA-aware query evaluation framework for the many-core age" by Leis et al.
Zero-copy clone in Firebolt
5:57
Firebolt
Рет қаралды 105
Primary indexing in Firebolt
6:13
Firebolt
Рет қаралды 84
My scorpion was taken away from me 😢
00:55
TyphoonFast 5
Рет қаралды 2,7 МЛН
Don’t Choose The Wrong Box 😱
00:41
Topper Guild
Рет қаралды 62 МЛН
UFC 310 : Рахмонов VS Мачадо Гэрри
05:00
Setanta Sports UFC
Рет қаралды 1,2 МЛН
threading vs multiprocessing in python
22:31
Dave's Space
Рет қаралды 606 М.
Subresult reuse in Firebolt
3:47
Firebolt
Рет қаралды 123
Jeff Dean: AI will Reshape Chip Design - NeurIPS 2024
43:53
GradientSpills
Рет қаралды 6 М.
AI Is Making You An Illiterate Programmer
27:22
ThePrimeTime
Рет қаралды 271 М.
Why Does Diffusion Work Better than Auto-Regression?
20:18
Algorithmic Simplicity
Рет қаралды 446 М.
Building Production RAG Over Complex Documents
1:22:18
Databricks
Рет қаралды 25 М.
Learn Database Normalization - 1NF, 2NF, 3NF, 4NF, 5NF
28:34
Decomplexify
Рет қаралды 2,2 МЛН
Distributed query processing in Firebolt
5:34
Firebolt
Рет қаралды 143
Transformers (how LLMs work) explained visually | DL5
27:14
3Blue1Brown
Рет қаралды 4,6 МЛН