Wulf si McKee (1995): viteza procesoarelor creste ~50%/an, memoria ~7%/an. In 2020, CPU-ul poate executa sute de operatii in timpul unui singur acces RAM (~200 de cicli).
Ierarhia de memorie
| Nivel | Marime | Latenta | Bandwidth | |---|---|---|---| | Registri | ~1KB | 1 ciclu | ~1TB/s | | L1 cache | ~32KB | 3-5 cicli | ~500GB/s | | L2 cache | ~256KB | 10-15 cicli | ~200GB/s | | L3 cache | ~8MB | 30-50 cicli | ~100GB/s | | RAM | ~32GB | 200-400 cicli | ~50GB/s | | SSD | ~1TB | 100,000 cicli | ~3GB/s |
Roofline Model
Un model care vizualizeaza performanta in functie de arithmetic intensity (operatii per byte). Aplicatiile sunt fie compute-bound, fie memory-bound. Optimizarea gresita nu ajuta.
Solutii hardware si software
Hardware: cache HBM, NUMA, prefetching, memorie cu 3D stacking (HBM). Software: DOD, SOA, blocking/tiling, arena allocators.