ผลวิจัยพบว่าซีพียูมากกว่า 16 คอร์กลับทำให้ระบบช้าลง!

by mk
8 December 2008 - 07:39

งานวิจัยจาก Sandia National Laboratories พบว่าการเพิ่มจำนวนคอร์ของซีพียูอย่างรวดเร็ว จนไม่ทันกับแบนด์วิธของหน่วยความจำ กลับทำให้ประสิทธิภาพโดยรวมของระบบช้าลง

ปัญหานี้เป็นปัญหาที่รู้จักกันมาในวงการซีพียูมานานแล้ว มันคือ "memory wall" ซึ่งหลักการง่ายๆ มีอยู่ว่า แบนด์วิธรวมในการประมวลผลของซีพียู (นับทุกคอร์ หรือทุกเธร็ด) จะต้องมีขนาดได้ดุลกับแบนด์วิธการส่งข้อมูลจากหน่วยความจำด้วย ระบบจึงจะทำงานได้อย่างมีประสิทธิภาพ

ปัญหาคือแบนด์วิธการคำนวณของซีพียูนั้นเติบโตตามกฎของมัวร์ แต่แบนด์วิธของหน่วยความจำนั้นกลับโตขึ้นปีละประมาณ 10% เท่านั้น ซึ่งในท้ายที่สุดจะทำให้ถึงจุดที่เกิดคอขวดที่หน่วยความจำ

ในโลกยุคมัลติคอร์แบบปัจจุบัน ที่จำนวนคอร์ของซีพียูเพิ่มขึ้นอย่างรวดเร็ว การวิจัยของ Sandia National Laboratories พบว่าจุดสมดุลที่ดีที่สุดในขณะนี้อยู่ที่ 8 คอร์เท่านั้น ถ้าเพิ่มจำนวนคอร์เป็น 16 คอร์ (โดยใช้สถาปัตยกรรมหน่วยความจำแบบในปัจจุบัน) ประสิทธิภาพรวมจะลดลงเหลือเท่ากับระบบที่ใช้ 2 คอร์ แต่ถ้าเพิ่มคอร์มากขึ้นไปอีกเป็น 32 หรือ 64 คอร์ ประสิทธิภาพรวมจะลดลงไปอีกมาก (ดูกราฟง่ายกว่า อยู่ด้านใน)

ทางแก้ก็ต้องปรับปรุงวิธีการเชื่อมต่อหน่วยความจำให้ดีกว่านี้ ซึ่งทาง Sandia เสนอให้วางทับไปบนซีพียูเลย เพื่อลดปัญหา interconnect

ที่มา - IEEE Spectrum ผ่าน Ars Technica

Blognone Jobs Premium