CC-NUMA (Cache-coherent nonuniform memory access)
CC-NUMA Cache-coherence NUMA (CC-NUMA): คือสถาปัตยกรรมความจำคอมพิวเตอร์ที่เวลาเข้าถึงระบบ cache coherence NUMA จะถูก Processorsทั้งหมดจะส่งข้อมูล ไปยัง cache เพื่อส่งต่อไปยัง main memory โดยการ loads and stores the memory access time ของ processor จะแตกต่างไปขึ้นอยู่กับบริเวณของmain memory ที่ถูกเข้าถึง อย่างไรก็ตาม processor ทั้งหมดจะมีการประมวลที่ต่างๆกันไป memory regions อาจจะช้าหรือเร็วก็ได้
Competing Computer Architectures
Competing Computer Architectures จะเห็นได้ ว่าระบบ cc numa นั้นจะถูกแยกออกมาจาก ระบบของ SMPs,Clusters,MPPs และระบบของ cc numa มีการเชื่อมต่อแบบขนานและ การจัดสรรหน่วยความจำ จะใช้หน่วยความจำร่วมกัน
CC-NUMA Organization
CC-NUMA Operation แต่ละ processor จะมี L1 และ L2 cache โนดแต่ละโนดมีหน่วยความจำหลักเป็นตนเอง โนดจะมีการเชื่อมต่อ โดยการใช้เน็ตเวิร์คที่มีคุณสมบัติพิเศษ แต่ละprocessorจะมองเห็นหน่วยความจำเพียงอันเดี่ยวและสามารถระบุแอดแดรสได้ รายการการเรียกร้องความจำ: L1 cache (local to processor) L2 cache (local to processor) Main memory (local to node) Remote memory Delivered to requesting (local to processor) cache Automatic and transparent
Memory Access Sequence โนดแต่ละโนดจะรักษาไดเร็กทอรีของที่ตั้งของหน่วยความจำและสถานภาพของแคช e.g. node 2 processor 3 (P2-3) requests location 798 which is in memory of node 1 P2-3 issues read request on snoopy bus of node 2 Directory on node 2 recognises location is on node 1 Node 2 directory requests node 1’s directory Node 1 directory requests contents of 798 Node 1 memory puts data on (node 1 local) bus Node 1 directory gets data from (node 1 local) bus Data transferred to node 2’s directory Node 2 directory puts data on (node 2 local) bus Data picked up, put in P2-3’s cache and delivered to processor
Cache Coherence ไดเร็กทอรีโนด1รักษาข้อความที่บันทึกไว้ ส่วนโนดที่2 มีการสำเนาของข้อมูล ถ้ามีข้อมูลที่ถูกการปรับปรุงแก้ไขในต้นฉบับ แคชถูกแพร่ข้อมูลไปยังโนดอื่นๆ Local directories จะทำการดูแล ส่วน local cache การกวาดล้างถ้าจำเป็น. การเปลี่ยนแปลงLocal directory monitors ไปเป็นข้อมูล local data ที่แคชที่ห่างไกลและทำการมาร์คที่ข้อมูลที่ผิดพลาด จนกระทั้งกูข้อมูลกลับคืน(writeback) Local directory จะทำการ writeback ถ้าข้อมูลที่แท้จริงมีการร้องขอจาก processอื่นๆ
NUMA Pros & Cons การแสดงที่มีประสิทธิภาพที่สูงกว่าSMP No major software changes ระบบมีการหยุดถ้า ถ้าการเข้าถึง memory หลายอย่างมากไป Can be avoided by: L1 & L2 cache design reducing all memory access Need good temporal locality of software Good spatial locality of software Virtual memory management moving pages to nodes that are using them most Not transparent Page allocation, process allocation and load balancing changes needed Availability?
Figure 1 การแสดงประสิทธิภาพประกอบด้วยจัดแถว ของบัสfield-programmable(FPGAs) และความจำ512K 36-bit SRAM
Figure 2
Figure 2 ชี้แผนภาพบล็อกที่ถูกลดรูปของการ์ดการแสดง. FPGAsบรรจุเหตุผลที่จำเป็นเพื่อจับข้อมูลเกี่ยวกับรายการติดต่อความจำที่ถูกอยากได้เกี่ยวกับเชื่อมต่อซึ่งกันและกันccNUMA; ข้อมูลอันนี้ถูกเก็บที่ความจำSRAMในเวลานั้น. การ์ดมีอินเตอร์เฟส2อัน. อันแรกจะส่งผ่านไปMCUเชิญชวนให้ccNUMAกลุ่มเชื่อมต่อซึ่งกันและกัน. ที่ตอบสนองที่บัส PCIของโหนดที่อาศัยมาตรฐานPCI
ข้อดีหลัก ๆ ของ CC-NUMA มันสามารถส่งผลให้ประสิทธิภาพที่ระดับที่สูงกว่าเมื่อเทียบ กับ SMP ใช้แคช L1และL2 ออกแบบให้การเข้าถึงหน่วยความจำที่ห่างออกไป การเปลี่ยนแปลงข้อมูลที่แคชที่ห่างไกลและทำการมาร์คที่ข้อมูลที่ผิดพลาด จนกระทั้งกูข้อมูลกลับคืน(writeback)
ข้อเสียของการเข้าถึง CC-NUMA การใช้งาน CC-NUMA นั้นไม่ง่ายเหมือน SMP การใช้งานของระบบ CC-NUMA ค่อนข้างที่จะมีผลลัพธ์ที่ซับซ้อน และขึ้นอยู่กับความถูกต้องของการปฏิบัติ
References http://www.research.ibm.com/journal/rd/452/brock.html http://en.wikipedia.org/wiki/CcNUMA http://williamstallings.com/COA6e.html www.vwin.co.th/ http://www.ece.neu.edu/