วัน: 10 กุมภาพันธ์ 2018

unified memoryunified memory

ในโลกของสถาปัตยกรรมคอมพิวเตอร์สมัยใหม่ การจัดการหน่วยความจำถือเป็นปัจจัยสำคัญที่กำหนดขีดจำกัดด้านประสิทธิภาพ โดยเฉพาะอย่างยิ่งเมื่อระบบต้องประมวลผลงานหนักทั้งจาก CPU และ GPU ในอดีต ระบบการ์ดจอแยกส่วนใหญ่จะใช้ VRAM เฉพาะตัว ซึ่งแม้จะมีแบนด์วิดท์สูง แต่ก็จำเป็นต้องมีการคัดลอกข้อมูลระหว่าง RAM หลักและ VRAM ผ่านช่องทางเช่น PCIe ทำให้เกิดปัญหา ‘Data Transfer Bottleneck’ ที่ลดทอนศักยภาพรวมของการคำนวณ

Unified Memory คืออะไร?

Unified Memory (UM) หรือ หน่วยความจำแบบผสาน เป็นแนวคิดเชิงสถาปัตยกรรมการออกแบบฮาร์ดแวร์ที่ทำให้ซีพียูหลัก (CPU) และกราฟิกโปรเซสเซอร์ (GPU) สามารถเข้าถึงพื้นที่หน่วยความจำร่วมกันชุดเดียวได้อย่างอิสระโดยตรง ต่างจากการทำงานแบบเดิมที่มีการแบ่งทรัพยากรออกจากกัน UM แก้ไขข้อจำกัดนี้ด้วยการสร้าง Address Space เดียวขนาดใหญ่ เพื่อให้ทุกองค์ประกอบสามารถอ่าน เขียน ข้อมูลเดียวกันได้ทันที ไม่ว่าจะเป็นโมเดล AI ขนาดมหึมาหรือเอนจิ้นเกม 3 มิติซับซ้อน การจัดการข้อมูลจึงเป็นไปอย่างราบรื่นไร้รอบโคจรของขวดคอในการถ่ายโอน.

ประโยชน์และความก้าวหน้าด้านประสิทธิภาพ

  • ลด Latency ในการสื่อสาร: เนื่องจากไม่มีขั้นตอนบังคับใดๆ ต้องส่งผ่านบัสภายนอกระหว่าง CPU กับ GPU จึงช่วยตัดระยะเวลาหน่วง (Latency) อย่างมาก
  • ประหยัดพลังงานและเพิ่ม Throughput: เมื่อไม่จำเป็นต้องทำกระบวนการ Copy Data ซ้ำหลายครั้ง ทำให้ระบบใช้พลังงานน้อยลงแต่ยังคงรักษาอัตราปริมาณผลงานรวมสูงไว้ได้ เหมาะสำหรับอุปกรณ์ Edge Computing หรือ Mobile Devices ที่ต้องการประสิทธิภาพสูงสุดต่อวัตต์ที่กินเข้าไป

UM มีความสำคัญอย่างไรในยุคปัญญาประดิษฐ์?

สำหรับการพัฒนา Machine Learning และ Deep Neural Networks ปริมาณหน่วยความจำและการเข้าถึงข้อมูลคือหัวใจหลัก UM ช่วยให้ผู้พัฒนาระบบสามารถโหลดชุดข้อมูลขนาดใหญ่ทั้งหมดเข้ามาอยู่ในพื้นที่ส่วนกลางได้อย่างมีเสถียรภาพ โดยไม่ต้องคำนึงว่าโมเดลจะถูกใช้งานโดยองค์ประกอบฮาร์ดแวร์ตัวไหนก่อนหลัง สิ่งนี้ทำให้วงจรของการฝึกฝนหรืออนุมานโมเดลมีความเร็วในการวนรอบของข้อมูลที่ดีขึ้นอย่างเห็นได้ชัด นอกจากนี้ ผู้เชี่ยวชาญด้านคอมพิวเตอร์จึงเริ่มมีการเขียนโปรแกรมเชิงสถาปัตยกรรมใหม่ๆ เพื่อรองรับแนวคิด Shared Memory นี้ ซึ่งนำไปสู่ขีดจำกัดทางสมรรถนะที่ไม่เคยปรากฏมาก่อน