Push-Based Model¶
Grafeo uses a push-based (producer-driven) execution model.
Push vs Pull¶
| Model | Data Flow | Control |
|---|---|---|
| Pull (Volcano) | Child -> Parent | Parent requests |
| Push | Parent -> Child | Parent pushes |
Benefits¶
- Better pipelining - No function call overhead per row
- Parallelism - Natural morsel-driven parallelism
- Cache efficiency - Process data while hot
- Early termination - LIMIT can stop pipeline early
Pipeline Structure¶
Morsel-Driven Parallelism¶
Work is divided into morsels (chunks of data):