Die Art des Speicherzugriffs im Apple-M1-Chip
(lemire.me)"Der Single-Core des M1 verarbeitet Speicher in mehr als 28 Stufen parallel"
-
Speicherzugriffe sind teurer als Rechenoperationen
-
Theoretisch wirkt ein naives Modell plausibel, nach dem man beim Zugriff auf
xnahegelegene Werte wiex+1praktisch kostenlos mitlesen kann, aber damit lässt sich die Leistung nicht vorhersagen -
Wann scheitert diese Leistungsvorhersage? CPU-Kerne versuchen gleichzeitig auf mehrere Speicherstellen zuzugreifen
-
Wenn 7 Speicherzugriffe gleichzeitig stattfinden, ist das langsamer als ein einzelner Zugriff, aber ist es 7-mal langsamer?
-
Mit einem Benchmark-Programm wurde getestet, wie viele gleichzeitige Zugriffe (
lane, unabhängige Pointer-Tracking-Routinen) möglich sind
→ An dem Punkt, an dem die Leistung bei gleichzeitigen Zugriffen nachlässt, lässt sich abschätzen, wie viele lane vorhanden sind
- Es wird vermutet, dass ein einzelner Apple-M1-Kern 28
lanehat, weil die Leistung nachlässt, sobald mehr als 28lanegenutzt werden
→ Deshalb scheitert die Kostenabschätzung des naiven Modells wegen der hochgradigen Parallelverarbeitung
5 Kommentare
Immer wenn es um CPUs geht,
https://ridibooks.com/books/443000037
hilft mir dieses Buch sehr. Falls jemand von Anfang an mitverfolgen möchte: Wenn man dieses Buch zuerst liest und dann den Rest, kann man wahrscheinlich einigermaßen gut folgen.
Um Werbung für Ridibooks zu vermeiden (...): Der Buchtitel lautet Die Geschichte der Multicore-CPU, die Programmierer nicht kannten. Warum ausgerechnet Ridibooks? Weil das gedruckte Buch vergriffen ist und beim E-Book nur noch Ridibooks als Shop übrig war, sodass ich es notgedrungen dort verlinkt habe.
Kim Minjang hat offenbar auch so ein Buch geschrieben ... Kaum zu glauben, dass das schon 10 Jahre her ist – wie schnell die Zeit vergeht ^^;
Das ist wirklich ein schwieriger Punkt. Es ist schwer, das zu verallgemeinern. Aber angesichts der heutigen CPU-Architekturen und der zunehmenden Parallelverarbeitung könnte es durchaus recht effektiv sein. Daran sieht man auch, dass offenbar viel mit Verbesserungen an Hardware-Architekturen experimentiert wird.
Vielleicht liegt es daran, dass es von einem Informatikprofessor geschrieben wurde, aber es wurden genau nur die Tatsachen festgehalten, die er selbst verstanden hat..
Wenn man die Kommentare zu dem Beitrag und die Kommentare auf HN zusammennimmt: https://news.ycombinator.com/item?id=25659615
Dann kann man es im Grunde so verstehen, dass der M1 dank mehr als 28-facher Parallelisierung und der Größe des L1-Cache selbst bei Random Access an vielen Stellen eine hervorragende Leistung zeigt.