apache / apache/datafusion

[EPIC] Improve NUMA-awareness

Aperta
#20,902 2 commenti 4 reazioni 0 assegnatari Vedi su GitHub
EPIC performance
Lingua principale
Rust
Stelle
9.3k
Fork
2.4k
Merge medio
3g 11h
PR unite (30g)
360

Descrizione

### Is your feature request related to a problem or challenge?

This is a list to check where DataFusion w.r.t. NUMA-awareness and where we can improve.

I will list to some other tickets.

- https://github.com/apache/datafusion/issues/21719
- [ ] Support morsel-splitting in Parquet, other datasources for better parallelisation / distribution / prefetching
- [x] Read parquet metadata to use `ParquetMetaDataPushDecoder`
- [ ] Support/use pinning threads to cores to minimize context switches / cache misses)
- [ ] Support reading into thread-local storage using async io / `io_uring` instead of using `spawn_blocking`
- [ ] Split/decode row groups into sizes that fit well in cache (e.g. ~RecordBatch)
- [ ] Better query execution pipelining / scheduling to minimize context switching / optimize data locality

### Describe the solution you'd like

_No response_

### Describe alternatives you've considered

_No response_

### Additional context

_No response_

Guida per i contributori

Apri la guida per i contributori

Direzione di ricerca

Inizia con la issue 21719 collegata e rivedi la NUMA-awareness checklist in questa issue. Le aree elencate includono Parquet morsel-splitting, ParquetMetaDataPushDecoder, thread pinning, async I/O, cache-sized row groups e query scheduling; il lavoro è completo solo quando viene selezionato e implementato un miglioramento specifico e il relativo checklist item può essere contrassegnato come completato.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Stack tecnologico
rust
Ambito
performance
Tipo di issue
Funzionalità
Difficoltà
5/5
Tempo stimato
Più di una settimana
Stato di attività
Ferma
Chiarezza
Da chiarire
Idoneità per principianti
25/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.