CPU Overview
202406212114
Status: #idea
Tags: CMU Advanced Database Systems
CPU Overview
- CPU's organize instructions into pipeline stages
- Super-scalar CPU's have multiple pipelines per core
- Out-of-order execution
CPU Problems
- Dependencies
- Dependent instructions can not be pushed into the same pipeline
- Branch prediction
- Misprediction requires a pipeline flush
- Most common branching code in a DBMS is the filter operation during a sequential scan. But this is nearly impossible to predict correctly
- Compiler hints exist, but they cant't talk to the CPU. It can make things worse