Nodes are multiprocessors connected nonhiearchically

Info iconThis preview shows page 1. Sign up to view the full content.

View Full Document Right Arrow Icon
This is the end of the preview. Sign up to access the rest of the document.

Unformatted text preview: t vA -> wr pA $ I 43 Example Directory Protocol (Wr to Ex) RU/_ D RX/invalidate&reply P2: pA EX R/_ S R/reply M Dir ctrl U Read_toUpdate pA Inv pA Reply xD(pA) Write_back pA W/_ E W/req E W/_ E W/req E R/_ S I W/req E $ R/req Inv/_ W/req E P1 R/_ S $ P2 R/req Inv/_ I st vA -> wr pA 44 A Popular Middle Ground • Two-level “hierarchy” • Individual nodes are multiprocessors, connected nonhiearchically – e.g. mesh of SMPs • Coherence across nodes is directory-based – directory keeps track of nodes, not individual processors • Coherence within nodes is snooping or directory within nodes snooping directory – orthogonal, but needs a good interface of functionality • SMP on a chip: – directory + snoopy? 45 Synchronization • Why Synchronize? – Need to know when it is safe for different to know when it is safe different processes to use shared data • Issues for Synchronization: – Uninterruptable instruction to fetch and update memory (atomic operation); – User level synchronization operation using this level synchronization operation this primitive; – For large scale MPs, synchronization can be a bottleneck; techniques to reduce contention and latency of synchronization 46 Uninterruptable Instruction to Fetch and Update Memory and Update Memory • Atomic exchange: interchange a value in a register for a value in memory value in memory 0 ⇒ synchronization variable is free 1 ⇒ synchronization variable is locked and unavailable ...
View Full Document

{[ snackBarMessage ]}

Ask a homework question - tutors are online