[EPIC] Improve NUMA-awareness
- 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