14 คะแนน โดย xguru 2021-01-08 | 5 ความคิดเห็น | แชร์ทาง WhatsApp

"ซิงเกิลคอร์ของ M1 ประมวลผลหน่วยความจำแบบขนานได้มากกว่า 28 ขั้น"

  • การเข้าถึงหน่วยความจำมีต้นทุนสูงกว่างานคำนวณ

  • ในทางทฤษฎี โมเดลแบบ naive ที่มองว่าเมื่อเข้าถึง x แล้วจะอ่านค่าที่อยู่ใกล้กันอย่าง x+1 ได้แทบฟรีก็ดูสมเหตุสมผลอยู่บ้าง แต่ไม่สามารถใช้คาดการณ์ประสิทธิภาพได้

  • แล้วการคาดการณ์ประสิทธิภาพนี้จะล้มเหลวเมื่อไร? คอร์ CPU พยายามเข้าถึงหน่วยความจำหลายตำแหน่งพร้อมกัน

  • หากเข้าถึงหน่วยความจำพร้อมกัน 7 ครั้ง ก็ย่อมช้ากว่าการเข้าถึงเพียง 1 ครั้ง แต่จะช้ากว่าถึง 7 เท่าหรือไม่?

  • ทดสอบผ่านโปรแกรมเบนช์มาร์กว่ารองรับการเข้าถึงพร้อมกัน (lane, รูทีนติดตามพอยน์เตอร์ที่เป็นอิสระต่อกัน) ได้กี่ชุด

→ คาดจำนวน lane ได้จากจุดที่ประสิทธิภาพของการเข้าถึงพร้อมกันเริ่มลดลงในระดับหนึ่ง

  • คาดว่าคอร์หนึ่งคอร์ของ Apple M1 มี 28 lane เพราะเมื่อเกิน 28 lane ประสิทธิภาพจะเริ่มลดลง

→ ดังนั้น เนื่องจากมีการประมวลผลแบบขนานในระดับสูง การประเมินต้นทุนด้วยโมเดล naive ข้างต้นจึงล้มเหลว

5 ความคิดเห็น

 
ffdd270 2021-01-09

พอมีการพูดถึงเรื่อง CPU ทีไร

https://ridibooks.com/books/443000037

หนังสือเล่มนี้ช่วยได้มากเลยครับ/ค่ะ ถ้าใครอยากค่อย ๆ ตามมาตั้งแต่ต้น ลองอ่านหนังสือเล่มนี้ก่อนก็น่าจะพอตามได้ง่ายขึ้นครับ/ค่ะ

 
ffdd270 2021-01-09

เพื่อป้องกันไม่ให้ดูเหมือนเป็นการโปรโมต Ridibooks (...) ชื่อหนังสือคือ: เรื่องราวของ CPU แบบมัลติคอร์ที่โปรแกรมเมอร์ไม่เคยรู้มาก่อน ครับ ที่ต้องเป็น Ridibooks ก็เพราะว่าหนังสือกระดาษเลิกพิมพ์ไปแล้ว และในบรรดาอีบุ๊ก ร้านที่ยังเหลืออยู่มีแค่ Ridibooks เท่านั้น เลยจำเป็นต้องลงแบบนี้ครับ

 
galadbran 2021-01-09

คุณคิมมินจังก็เขียนหนังสือแบบนี้ด้วยเหรอ... ผ่านไป 10 ปีแล้ว เวลาช่างไร้ความหมายจริง ๆ ^^;

 
godrm 2021-01-08

นี่เป็นส่วนที่ยากมากจริง ๆ เพราะยากที่จะสรุปเป็นภาพรวมได้ แต่ในสถานการณ์ที่สถาปัตยกรรม CPU สมัยนี้หรือการประมวลผลแบบขนานมีมากขึ้น ก็ดูเหมือนว่าจะมีประสิทธิภาพได้มากทีเดียว ทำให้รู้สึกว่ามีการทดลองปรับปรุงโครงสร้างฮาร์ดแวร์กันเยอะเหมือนกันนะ

 
xguru 2021-01-08

น่าจะเป็นเพราะเขียนโดยอาจารย์ด้านวิทยาการคอมพิวเตอร์ เลยบันทึกไว้เฉพาะข้อเท็จจริงที่ตัวเองเข้าใจได้อย่างชัดเจน..

ถ้าลองอ่านประกอบกันทั้งคอมเมนต์ของโพสต์นั้นและคอมเมนต์ใน HN https://news.ycombinator.com/item?id=25659615

โดยพื้นฐานแล้วก็น่าจะเข้าใจได้ว่า M1 แสดงประสิทธิภาพได้ยอดเยี่ยมแม้จะเข้าถึงหลายตำแหน่งแบบสุ่ม ก็ด้วยปัจจัยอย่างการทำงานแบบขนานมากกว่า 28 ชุดและขนาดของ L1 cache เป็นต้น