Cara akses memori pada chip Apple M1
(lemire.me)"Single-core M1 memproses memori secara paralel dalam lebih dari 28 tahap"
-
Akses memori lebih mahal daripada pekerjaan komputasi
-
Secara teori, model naif bahwa saat mengakses x, nilai di dekatnya seperti x+1 bisa dibaca hampir gratis tampak masuk akal, tetapi tidak memungkinkan prediksi performa
-
Kapan prediksi performa ini gagal? Inti CPU mencoba mengakses beberapa lokasi memori sekaligus
-
Jika melakukan 7 akses memori secara bersamaan, memang akan lebih lambat daripada mengakses 1 saja, tetapi apakah akan 7 kali lebih lambat?
-
Melalui program benchmark, diuji berapa banyak akses simultan (
lane, rutinitas penelusuran pointer yang independen) yang dimungkinkan
→ Melalui titik saat performa akses simultan mulai menurun, diperkirakan berapa jumlah lane yang dimiliki
- Diperkirakan satu inti Apple M1 memiliki 28
lane, karena performanya mulai turun setelah melewati 28lane
→ Jadi, karena pemrosesan paralel tingkat tinggi, prediksi biaya dari model naif tersebut menjadi gagal
5 komentar
Setiap kali pembahasan tentang CPU muncul
https://ridibooks.com/books/443000037
buku ini sangat membantu. Kalau ada yang ingin mengikutinya dari awal, sepertinya akan lebih mudah diikuti jika membaca buku ini terlebih dahulu.
Untuk mencegah promosi Ridibooks (...), nama bukunya adalah: Cerita tentang CPU Multicore yang Tidak Diketahui Programmer. Kenapa harus Ridibooks? Karena buku cetaknya sudah habis terbit, dan untuk ebook, satu-satunya toko yang masih tersisa hanya Ridibooks, jadi mau tidak mau saya mengunggahnya di sana.
Ternyata Kim Min-jang juga menulis buku seperti ini... tak terasa sudah 10 tahun, waktu memang terasa hampa ya ^^;
Ini memang bagian yang cukup sulit. Karena sulit untuk digeneralisasi. Namun, dalam situasi saat ini ketika arsitektur CPU dan pemrosesan paralel semakin banyak digunakan, tampaknya ini bisa cukup efektif. Rasanya ini juga menunjukkan bahwa banyak eksperimen perbaikan struktur hardware sedang dilakukan.
Mungkin karena ditulis oleh seorang profesor ilmu komputer, isinya hanya mencatat fakta-fakta yang benar-benar ia pahami..
Kalau melihat gabungan komentar di tulisan tersebut dan komentar di HN: https://news.ycombinator.com/item?id=25659615
Pada dasarnya, sepertinya bisa dipahami bahwa M1 menunjukkan performa yang sangat baik berkat lebih dari 28 paralelisasi dan ukuran cache L1, bahkan saat melakukan akses acak ke banyak lokasi.