แนะนำ, 2024

ตัวเลือกของบรรณาธิการ

ความแตกต่างระหว่าง UMA และ NUMA

ตัวประมวลผลหลายตัวสามารถแบ่งออกเป็นสามประเภทโมเดลหน่วยความจำที่แชร์ ได้แก่ UMA (การเข้าถึงหน่วยความจำแบบเดียวกัน), NUMA (การเข้าถึงหน่วยความจำแบบไม่สม่ำเสมอ) และ COMA (การเข้าถึงหน่วยความจำแบบแคชเท่านั้น) โมเดลมีความแตกต่างตามการกระจายหน่วยความจำและทรัพยากรฮาร์ดแวร์ ในโมเดล UMA หน่วยความจำกายภาพจะใช้ร่วมกันอย่างเท่าเทียมกันในโปรเซสเซอร์ซึ่งมีความหน่วงแฝงเท่ากันสำหรับทุกคำของหน่วยความจำในขณะที่ NUMA ให้เวลาในการเข้าถึงตัวแปรสำหรับโปรเซสเซอร์เพื่อเข้าถึงหน่วยความจำ

แบนด์วิดท์ที่ใช้ใน UMA ไปยังหน่วยความจำถูก จำกัด เนื่องจากใช้คอนโทรลเลอร์หน่วยความจำเดี่ยว แรงจูงใจหลักของการถือกำเนิดของเครื่อง NUMA คือการเพิ่มแบนด์วิดท์ที่มีให้กับหน่วยความจำโดยใช้ตัวควบคุมหน่วยความจำหลายตัว

แผนภูมิเปรียบเทียบ

พื้นฐานสำหรับการเปรียบเทียบUMANUMA
ขั้นพื้นฐานใช้คอนโทรลเลอร์หน่วยความจำเดียวหน่วยความจำหลายตัว
ประเภทรถประจำทางที่ใช้เดี่ยวหลายและคานต้นไม้และลำดับชั้น
เวลาในการเข้าถึงหน่วยความจำเท่ากันเปลี่ยนไปตามระยะทางของไมโครโปรเซสเซอร์
เหมาะสำหรับแอปพลิเคชั่นวัตถุประสงค์และการแบ่งปันเวลาทั่วไปแอปพลิเคชันตามเวลาจริงและตามเวลาที่สำคัญ
ความเร็วช้าลงได้เร็วขึ้น
แบนด์วิดธ์ถูก จำกัดมากกว่า UMA

คำจำกัดความของ UMA

ระบบ UMA (Uniform Memory Access) เป็นสถาปัตยกรรมหน่วยความจำที่ใช้ร่วมกันสำหรับมัลติโปรเซสเซอร์ ในรุ่นนี้มีการใช้หน่วยความจำเดียวและเข้าถึงได้โดยโปรเซสเซอร์ทั้งหมดนำเสนอระบบมัลติโปรเซสเซอร์ด้วยความช่วยเหลือของเครือข่ายเชื่อมต่อโครงข่าย โปรเซสเซอร์แต่ละตัวมีเวลาเข้าถึงหน่วยความจำเท่ากัน (เวลาแฝง) และความเร็วในการเข้าถึง มันสามารถใช้งานได้ทั้งบัสเดี่ยวบัสหลายบัสหรือสวิตช์คาน เนื่องจากมีการเข้าถึงหน่วยความจำที่แบ่งใช้แบบสมดุลจึงเป็นที่รู้จักกันว่าระบบ SMP (Symmetric multiprocessor)

การออกแบบทั่วไปของ SMP แสดงไว้ด้านบนซึ่งแต่ละโปรเซสเซอร์เชื่อมต่อกับแคชเป็นครั้งแรกจากนั้นแคชจะเชื่อมโยงกับบัส ในที่สุดรถบัสเชื่อมต่อกับหน่วยความจำ สถาปัตยกรรม UMA นี้ลดการแย่งชิงสำหรับบัสผ่านการดึงคำแนะนำโดยตรงจากแคชแยกแต่ละตัว นอกจากนี้ยังมีความน่าจะเป็นที่เท่าเทียมกันสำหรับการอ่านและการเขียนตัวประมวลผลแต่ละตัว ตัวอย่างทั่วไปของโมเดล UMA ได้แก่ เซิร์ฟเวอร์ Sun Starfire, เซิร์ฟเวอร์ Compaq alpha และ HP v series

คำจำกัดความของ NUMA

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

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

สถาปัตยกรรม NUMA ใช้โครงสร้างแผนผังเครือข่ายบัสและลำดับชั้นเพื่อเชื่อมต่อบล็อกหน่วยความจำและโปรเซสเซอร์ BBN, TC-2000, SGI Origin 3000, Cray เป็นตัวอย่างบางส่วนของสถาปัตยกรรม NUMA

ความแตกต่างที่สำคัญระหว่าง UMA และ NUMA

  1. รุ่น UMA (หน่วยความจำที่ใช้ร่วมกัน) ใช้ตัวควบคุมหน่วยความจำหนึ่งหรือสองตัว เมื่อเทียบกับ NUMA สามารถมีตัวควบคุมหน่วยความจำหลายตัวในการเข้าถึงหน่วยความจำ
  2. บัสเดี่ยวหลายและ crossbar ใช้ในสถาปัตยกรรม UMA ตรงกันข้าม NUMA ใช้ลำดับชั้นและประเภทของบัสและการเชื่อมต่อเครือข่าย
  3. ใน UMA เวลาในการเข้าถึงหน่วยความจำสำหรับโปรเซสเซอร์แต่ละตัวจะเท่ากันในขณะที่ NUMA เวลาในการเข้าถึงหน่วยความจำจะเปลี่ยนไปตามระยะทางของหน่วยความจำจากโปรเซสเซอร์ที่เปลี่ยนแปลง
  4. แอพพลิเคชั่นวัตถุประสงค์ทั่วไปและการแบ่งปันเวลาเหมาะสำหรับเครื่อง UMA ในทางตรงกันข้ามแอปพลิเคชันที่เหมาะสมสำหรับ NUMA นั้นเป็นศูนย์กลางแบบเรียลไทม์และเวลาที่สำคัญ
  5. ระบบขนานแบบอิง UMA ทำงานช้ากว่าระบบ NUMA
  6. เมื่อพูดถึงแบนด์วิดธ์ UMA มีแบนด์วิดท์ จำกัด ในทางตรงกันข้าม NUMA มีแบนด์วิดท์มากกว่า UMA

ข้อสรุป

สถาปัตยกรรม UMA ให้เวลาแฝงโดยรวมเท่ากันกับโปรเซสเซอร์ที่เข้าถึงหน่วยความจำ สิ่งนี้ไม่มีประโยชน์มากเมื่อเข้าถึงหน่วยความจำภายในเนื่องจากเวลาแฝงจะเหมือนกัน ในอีกทางหนึ่ง NUMA แต่ละหน่วยประมวลผลมีหน่วยความจำเฉพาะซึ่งจะช่วยลดเวลาแฝงเมื่อเข้าถึงหน่วยความจำภายใน เวลาแฝงจะเปลี่ยนไปตามระยะห่างระหว่างโปรเซสเซอร์และการเปลี่ยนแปลงหน่วยความจำ (เช่นแบบไม่สม่ำเสมอ) อย่างไรก็ตาม NUMA ได้ปรับปรุงประสิทธิภาพเมื่อเทียบกับสถาปัตยกรรม UMA

Top