ความแตกต่างระหว่าง UMA และ NUMA
เนื้อหา
มัลติโปรเซสเซอร์สามารถแบ่งออกเป็นสามประเภทโมเดลหน่วยความจำที่แชร์ - UMA (การเข้าถึงหน่วยความจำแบบเดียวกัน), NUMA (การเข้าถึงหน่วยความจำแบบไม่สม่ำเสมอ) และ COMA (การเข้าถึงหน่วยความจำแคชเท่านั้น) โมเดลมีความแตกต่างตามการกระจายหน่วยความจำและทรัพยากรฮาร์ดแวร์ ในโมเดล UMA หน่วยความจำกายภาพจะใช้ร่วมกันอย่างเท่าเทียมกันในโปรเซสเซอร์ซึ่งมีความหน่วงแฝงเท่ากันสำหรับทุกคำของหน่วยความจำในขณะที่ NUMA ให้เวลาในการเข้าถึงตัวแปรสำหรับโปรเซสเซอร์เพื่อเข้าถึงหน่วยความจำ
แบนด์วิดท์ที่ใช้ใน UMA ไปยังหน่วยความจำถูก จำกัด เนื่องจากใช้คอนโทรลเลอร์หน่วยความจำเดี่ยว แรงจูงใจหลักของการถือกำเนิดของเครื่อง NUMA คือการเพิ่มแบนด์วิดท์ที่มีให้กับหน่วยความจำโดยใช้ตัวควบคุมหน่วยความจำหลายตัว
-
- แผนภูมิเปรียบเทียบ
- คำนิยาม
- ความแตกต่างที่สำคัญ
- ข้อสรุป
แผนภูมิเปรียบเทียบ
พื้นฐานสำหรับการเปรียบเทียบ | UMA | NUMA |
---|---|---|
ขั้นพื้นฐาน | ใช้คอนโทรลเลอร์หน่วยความจำเดียว | หน่วยความจำหลายตัว |
ประเภทรถประจำทางที่ใช้ | เดี่ยวหลายและคาน | ต้นไม้และลำดับชั้น |
เวลาในการเข้าถึงหน่วยความจำ | เท่ากัน | เปลี่ยนไปตามระยะทางของไมโครโปรเซสเซอร์ |
เหมาะสำหรับ | แอปพลิเคชั่นวัตถุประสงค์และการแบ่งปันเวลาทั่วไป | แอปพลิเคชั่นตามเวลาจริงและตามเวลาที่สำคัญ |
ความเร็ว | ช้าลง | ได้เร็วขึ้น |
แบนด์วิดธ์ | ถูก จำกัด | มากกว่า UMA |
คำจำกัดความของ UMA
UMA (Uniform Memory Access) system เป็นสถาปัตยกรรมหน่วยความจำแบบแบ่งใช้สำหรับมัลติโปรเซสเซอร์ ในรุ่นนี้มีการใช้หน่วยความจำเดียวและเข้าถึงได้โดยโปรเซสเซอร์ทั้งหมดนำเสนอระบบมัลติโปรเซสเซอร์ด้วยความช่วยเหลือของเครือข่ายเชื่อมต่อโครงข่าย โปรเซสเซอร์แต่ละตัวมีเวลาเข้าถึงหน่วยความจำเท่ากัน (เวลาแฝง) และความเร็วในการเข้าถึง มันสามารถใช้งานได้ทั้งบัสเดี่ยวบัสหลายบัสหรือสวิตช์คาน เนื่องจากมีการเข้าถึงหน่วยความจำแบบแบ่งใช้ที่สมดุลจึงเป็นที่รู้จักกันในนาม SMP (มัลติโพรเซสเซอร์แบบสมมาตร) ระบบ
การออกแบบทั่วไปของ 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 สามารถมีตัวควบคุมหน่วยความจำหลายตัวในการเข้าถึงหน่วยความจำ
- บัสเดี่ยวหลายและ crossbar ใช้ในสถาปัตยกรรม UMA ตรงกันข้าม NUMA ใช้ลำดับชั้นและประเภทของบัสและการเชื่อมต่อเครือข่าย
- ใน UMA เวลาในการเข้าถึงหน่วยความจำสำหรับโปรเซสเซอร์แต่ละตัวจะเท่ากันในขณะที่ NUMA เวลาในการเข้าถึงหน่วยความจำจะเปลี่ยนไปตามระยะทางของหน่วยความจำจากโปรเซสเซอร์ที่เปลี่ยนแปลง
- แอพพลิเคชั่นวัตถุประสงค์ทั่วไปและการแบ่งปันเวลาเหมาะสำหรับเครื่อง UMA ในทางตรงกันข้ามแอปพลิเคชันที่เหมาะสมสำหรับ NUMA นั้นเป็นศูนย์กลางแบบเรียลไทม์และเวลาที่สำคัญ
- ระบบคู่ขนานแบบอิง UMA ทำงานช้ากว่าระบบ NUMA
- เมื่อพูดถึงแบนด์วิดธ์ UMA มีแบนด์วิดท์ จำกัด ในทางตรงกันข้าม NUMA มีแบนด์วิดท์มากกว่า UMA
ข้อสรุป
สถาปัตยกรรม UMA ให้เวลาแฝงโดยรวมเท่ากันกับโปรเซสเซอร์ที่เข้าถึงหน่วยความจำ สิ่งนี้ไม่มีประโยชน์มากเมื่อเข้าถึงหน่วยความจำภายในเนื่องจากความหน่วงแฝงจะเหมือนกัน ในอีกทางหนึ่ง NUMA แต่ละหน่วยประมวลผลมีหน่วยความจำเฉพาะซึ่งจะช่วยลดเวลาแฝงเมื่อเข้าถึงหน่วยความจำภายใน เวลาในการตอบสนองจะเปลี่ยนแปลงตามระยะห่างระหว่างโปรเซสเซอร์และหน่วยความจำ (เช่นแบบไม่สม่ำเสมอ) อย่างไรก็ตาม NUMA ได้ปรับปรุงประสิทธิภาพเมื่อเทียบกับสถาปัตยกรรม UMA