Warum wird ein Programm trotz neuer CPU und schnellem RAM nicht schneller? Die Antwort liegt oft im Memory-Level Parallelism (MLP). Daniel Lemire hat das mit seinem testingmlp-Benchmark an aktuellen Serverprozessoren getestet. AMD führt mit deutlichem Abstand.
Was ist MLP? Fordert ein Programm Daten an, die nicht im Cache liegen, greift der Prozessor auf den Hauptspeicher zu. Das dauert rund 100 Nanosekunden – etwa 300 Taktzyklen bei 3 GHz. Die RAM-Latenz hat sich in zehn Jahren kaum verbessert. Ein Broadwell von 2016 brauchte 100 ns für einen zufälligen Zugriff. Ein aktueller AMD Turin (Zen 5) mit DDR5-6400 benötigt 140 ns. Ein Kern kann aber mehrere Anfragen gleichzeitig stellen. Die Anzahl gleichzeitig ausstehender Speicheranfragen heißt Memory-Level Parallelism. In keinem Datenblatt findet sich diese Kennzahl.
Lemire maß MLP per Pointer Chase. Ein 1 GiB großer Bereich wird mit einer zufälligen Kette befüllt – jedes Element zeigt auf den nächsten Index. Folgt man der Kette, ist jeder Zugriff vom vorherigen abhängig. Ein einzelner Pointer Chase misst die reine Speicherlatenz. Mehrere Ketten (Lanes) liefen gleichzeitig, jede startet an einem anderen Punkt. So beobachtete Lemire den Durchsatz. Sobald eine weitere Lane keine Steigerung bringt, ist das Limit erreicht. Die geschätzte Gesamtbandbreite diente als Metrik.
Die Experimente fanden auf AWS statt. Die Bandbreitenkurve zeigt einen steilen Anstieg mit jeder Lane, dann einen Knick und ein Plateau. Die Höhe dieses Plateaus variiert stark. Intel verbesserte sich von 10 (Broadwell, 2015) auf 30 (Granite Rapids, 2025). AMD startete 2018 mit 15 (Naples), erreichte 22 (Milan) und nun 58 (Turin, Zen 5). AWS Graviton blieb zurück: Graviton 1 bot 6, Graviton 5 kommt auf 19.
Ein Lichtblick: Graviton 5 hat mit 96 ns die niedrigste Latenz, Intel liegt bei 133 ns, AMD bei 142 ns. Aber Latenz allein ist nicht entscheidend. Bei der Gesamtbandbreite erreicht AMD 24,5 GiB/s, Intel 13,3 GiB/s und Graviton 12,0 GiB/s – trotz AMD-Nutzung von DDR5-6400 gegenüber DDR5-7200 (Intel) und DDR5-8800 (Graviton). Höhere Speichertaktraten gleichen die schwächere Parallelität nicht aus.
MLP ist entscheidend für rechenintensive Anwendungen wie Datenbanken, ML-Inferenz und Simulationen. Sie scheitern oft an der Speicherbandbreite, nicht an der Rechenleistung. Ein Prozessor mit mehr parallelen Anfragen holt mehr Daten aus dem RAM. Apple Silicon schneidet in dieser Hinsicht möglicherweise noch besser ab – das liegt an integrierten Speichercontrollern und enger CPU-RAM-Kopplung in den M‑Chips.
Für Rechenzentren und Cloud-Anbieter ist die CPU-Wahl nicht nur eine Frage von Taktrate und Kernzahl. Der Memory-Level Parallelism bestimmt, wie effizient ein Kern bei Cache-Misses arbeitet. AMD hat mit Zen 5 einen Sprung gemacht, der Intel und ARM deutlich übertrifft. Ob sich das in standardisierten Benchmarks oder realen Anwendungen zeigt, bleibt abzuwarten. Lemires Messung spricht für sich: Wer speicherintensive Workloads betreibt, sollte sich AMDs Turin genauer ansehen.
Quelle: lemire.me
