SlideShare ist ein Scribd-Unternehmen logo
1 von 19
High Performance Computing

        Jawwad Shamsi
           Lecture #5
       26th January 2010
Recap
• SMP
• Clustering
Today’s topics
• NUMA (Non-Uniform Memory Access)
• Cache Coherence
Nonuniform Memory Access (NUMA)
• UMA: Uniform memory access
   – All processors have access to all parts of memory
       • Using load & store
   – Access time to all regions of memory is the same
   – Access time to memory for different processors same
   – As used by SMP
• Nonuniform memory access
   – All processors have access to all parts of memory
       • Using load & store
   – Access time of processor differs depending on region of memory
   – Different processors access different regions of memory at different speeds
• Cache coherent NUMA
   – Cache coherence is maintained among the caches of the various processors
   – Significantly different from SMP and clusters
Motivation
• SMP has practical limit to number of processors
   – Bus traffic limits to between 16 and 64 processors
• In clusters each node has own memory
   – Apps do not see large global memory
   – Coherence maintained by software not hardware
• NUMA retains SMP flavour while giving large scale
  multiprocessing
   – e.g. Silicon Graphics Origin NUMA 1024 MIPS R10000 processors
• Objective is to maintain transparent system wide memory
  while permitting multiprocessor nodes, each with own bus or
  internal interconnection system
CC-NUMA Organization
CC-NUMA Operation
• Each processor has own L1 and L2 cache
• Each node has own main memory
• Nodes connected by some networking facility
• Each processor sees single addressable memory
  space
• Memory request order:
    –   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
Cache Coherence
• Node 1 directory keeps note that node 2 has copy
  of data
• If data modified in cache, this is broadcast to
  other nodes
• Local directories monitor and purge local cache if
  necessary
• Local directory monitors changes to local data in
  remote caches and marks memory invalid until
  writeback
• Local directory forces writeback if memory
  location requested by another processor
NUMA Pros & Cons
• Effective performance at higher levels of parallelism than SMP
• No major software changes
• Performance can breakdown if too much access to remote
  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?
Cache Coherence
• In SMP or NUMA, multiple copies of cache
  – Each copy may have a different value of data item
  – Maintain Coherency
     • How?
Cache Coherence: Two Approaches
• Write back: Update Main memory once cache
  is flushed.
• Write through: Write is updated to cache as
  well as to the main memory.
Implementations
• Software Solutions:
  – Compile time decision
  – Conservative
  – Inefficient cache utilization
• Hardware Solutions:
  – Runtime decision
  – More effective
Hardware based solution
• Directory Protocol
• Snoopy Protocol
Directory
• Centralized Controller
  – Individual cache controller makes a request
     • Centralized controller checks and issues command
  – Updates information
Directory
• Write
  – Processor requests exclusive writes
  – Controller sends message
  – Invalidates
• Read
  – Issues command to the processor
  – Holding Processor
     • Writes back to MM
     • Read permitted
Directory
• Disadvantage
  – Centralized Controller
  – Bottleneck
• Advantage
  – Useful in large –scale system
Snoopy Protocol
• Update operation announced
• All Cache controllers snoop
• Bus architecture
  – Careful
     • Increased Bus Traffic
Snoopy Protocol
• Two approaches
  – Write Invalidate
     • One write
     • Multiple readers
     • Exclusive: Writer invalidates others entries
  – Write Update
     • Multiple writers
     • All writes are updated
Write Invalidate
• The MESI Protocol : P4 processor
  – Data cache: Two status bits, 4 states
     •   Modified
     •   Exclusive
     •   Shared
     •   Invalid
     •   See Table

Weitere ähnliche Inhalte

Was ist angesagt?

Multithreaded processors ppt
Multithreaded processors pptMultithreaded processors ppt
Multithreaded processors pptSiddhartha Anand
 
Introduction 1
Introduction 1Introduction 1
Introduction 1Yasir Khan
 
Multithreading computer architecture
 Multithreading computer architecture  Multithreading computer architecture
Multithreading computer architecture Haris456
 
Hardware multithreading
Hardware multithreadingHardware multithreading
Hardware multithreadingFraboni Ec
 
Parallel architecture-programming
Parallel architecture-programmingParallel architecture-programming
Parallel architecture-programmingShaveta Banda
 
Introduction to parallel processing
Introduction to parallel processingIntroduction to parallel processing
Introduction to parallel processingPage Maker
 
What is simultaneous multithreading
What is simultaneous multithreadingWhat is simultaneous multithreading
What is simultaneous multithreadingFraboni Ec
 
Cache coherence problem and its solutions
Cache coherence problem and its solutionsCache coherence problem and its solutions
Cache coherence problem and its solutionsMajid Saleem
 
Introduction to parallel_computing
Introduction to parallel_computingIntroduction to parallel_computing
Introduction to parallel_computingMehul Patel
 
Advanced processor principles
Advanced processor principlesAdvanced processor principles
Advanced processor principlesDhaval Bagal
 
Lecture 6.1
Lecture  6.1Lecture  6.1
Lecture 6.1Mr SMAK
 
Dichotomy of parallel computing platforms
Dichotomy of parallel computing platformsDichotomy of parallel computing platforms
Dichotomy of parallel computing platformsSyed Zaid Irshad
 
Superscalar & superpipeline processor
Superscalar & superpipeline processorSuperscalar & superpipeline processor
Superscalar & superpipeline processorMuhammad Ishaq
 
18 parallel processing
18 parallel processing18 parallel processing
18 parallel processingdilip kumar
 
Parallel computing
Parallel computingParallel computing
Parallel computingvirend111
 
Lecture 6
Lecture  6Lecture  6
Lecture 6Mr SMAK
 
Shared-Memory Multiprocessors
Shared-Memory MultiprocessorsShared-Memory Multiprocessors
Shared-Memory MultiprocessorsSalvatore La Bua
 

Was ist angesagt? (20)

parallel processing
parallel processingparallel processing
parallel processing
 
Multithreaded processors ppt
Multithreaded processors pptMultithreaded processors ppt
Multithreaded processors ppt
 
Introduction 1
Introduction 1Introduction 1
Introduction 1
 
Multithreading computer architecture
 Multithreading computer architecture  Multithreading computer architecture
Multithreading computer architecture
 
Hardware multithreading
Hardware multithreadingHardware multithreading
Hardware multithreading
 
Parallel architecture-programming
Parallel architecture-programmingParallel architecture-programming
Parallel architecture-programming
 
Introduction to parallel processing
Introduction to parallel processingIntroduction to parallel processing
Introduction to parallel processing
 
What is simultaneous multithreading
What is simultaneous multithreadingWhat is simultaneous multithreading
What is simultaneous multithreading
 
Cache coherence problem and its solutions
Cache coherence problem and its solutionsCache coherence problem and its solutions
Cache coherence problem and its solutions
 
Introduction to parallel_computing
Introduction to parallel_computingIntroduction to parallel_computing
Introduction to parallel_computing
 
Advanced processor principles
Advanced processor principlesAdvanced processor principles
Advanced processor principles
 
Parallel processing
Parallel processingParallel processing
Parallel processing
 
Lecture 6.1
Lecture  6.1Lecture  6.1
Lecture 6.1
 
Dichotomy of parallel computing platforms
Dichotomy of parallel computing platformsDichotomy of parallel computing platforms
Dichotomy of parallel computing platforms
 
Superscalar & superpipeline processor
Superscalar & superpipeline processorSuperscalar & superpipeline processor
Superscalar & superpipeline processor
 
18 parallel processing
18 parallel processing18 parallel processing
18 parallel processing
 
Scope of parallelism
Scope of parallelismScope of parallelism
Scope of parallelism
 
Parallel computing
Parallel computingParallel computing
Parallel computing
 
Lecture 6
Lecture  6Lecture  6
Lecture 6
 
Shared-Memory Multiprocessors
Shared-Memory MultiprocessorsShared-Memory Multiprocessors
Shared-Memory Multiprocessors
 

Ähnlich wie Lecture5

Multiprocessor_YChen.ppt
Multiprocessor_YChen.pptMultiprocessor_YChen.ppt
Multiprocessor_YChen.pptAberaZeleke1
 
Week 13-14 Parrallel Processing-new.pptx
Week 13-14 Parrallel Processing-new.pptxWeek 13-14 Parrallel Processing-new.pptx
Week 13-14 Parrallel Processing-new.pptxFaizanSaleem81
 
Module2 MultiThreads.ppt
Module2 MultiThreads.pptModule2 MultiThreads.ppt
Module2 MultiThreads.pptshreesha16
 
Multiprocessor.pptx
 Multiprocessor.pptx Multiprocessor.pptx
Multiprocessor.pptxMuhammad54342
 
Chapter1 Computer System Overview.ppt
Chapter1 Computer System Overview.pptChapter1 Computer System Overview.ppt
Chapter1 Computer System Overview.pptShikhaManrai1
 
Chapter1 Computer System Overview Part-1.ppt
Chapter1 Computer System Overview Part-1.pptChapter1 Computer System Overview Part-1.ppt
Chapter1 Computer System Overview Part-1.pptShikhaManrai1
 
Lecture-7 Main Memroy.pptx
Lecture-7 Main Memroy.pptxLecture-7 Main Memroy.pptx
Lecture-7 Main Memroy.pptxAmanuelmergia
 
Memory Management in Operating Systems for all
Memory Management in Operating Systems for allMemory Management in Operating Systems for all
Memory Management in Operating Systems for allVSKAMCSPSGCT
 
network ram parallel computing
network ram parallel computingnetwork ram parallel computing
network ram parallel computingNiranjana Ambadi
 
chapter-18-parallel-processing-multiprocessing (1).ppt
chapter-18-parallel-processing-multiprocessing (1).pptchapter-18-parallel-processing-multiprocessing (1).ppt
chapter-18-parallel-processing-multiprocessing (1).pptNANDHINIS109942
 
Memory Management Strategies - II.pdf
Memory Management Strategies - II.pdfMemory Management Strategies - II.pdf
Memory Management Strategies - II.pdfHarika Pudugosula
 
Multicore processor.pdf
Multicore processor.pdfMulticore processor.pdf
Multicore processor.pdfrajaratna4
 

Ähnlich wie Lecture5 (20)

Multiprocessor_YChen.ppt
Multiprocessor_YChen.pptMultiprocessor_YChen.ppt
Multiprocessor_YChen.ppt
 
Week 13-14 Parrallel Processing-new.pptx
Week 13-14 Parrallel Processing-new.pptxWeek 13-14 Parrallel Processing-new.pptx
Week 13-14 Parrallel Processing-new.pptx
 
parallel-processing.ppt
parallel-processing.pptparallel-processing.ppt
parallel-processing.ppt
 
Module2 MultiThreads.ppt
Module2 MultiThreads.pptModule2 MultiThreads.ppt
Module2 MultiThreads.ppt
 
Multiprocessor.pptx
 Multiprocessor.pptx Multiprocessor.pptx
Multiprocessor.pptx
 
Chapter1 Computer System Overview.ppt
Chapter1 Computer System Overview.pptChapter1 Computer System Overview.ppt
Chapter1 Computer System Overview.ppt
 
Chapter1 Computer System Overview Part-1.ppt
Chapter1 Computer System Overview Part-1.pptChapter1 Computer System Overview Part-1.ppt
Chapter1 Computer System Overview Part-1.ppt
 
Lecture-7 Main Memroy.pptx
Lecture-7 Main Memroy.pptxLecture-7 Main Memroy.pptx
Lecture-7 Main Memroy.pptx
 
Memory Management in Operating Systems for all
Memory Management in Operating Systems for allMemory Management in Operating Systems for all
Memory Management in Operating Systems for all
 
Memory Management.pdf
Memory Management.pdfMemory Management.pdf
Memory Management.pdf
 
network ram parallel computing
network ram parallel computingnetwork ram parallel computing
network ram parallel computing
 
Ch8 main memory
Ch8   main memoryCh8   main memory
Ch8 main memory
 
parallel processing.ppt
parallel processing.pptparallel processing.ppt
parallel processing.ppt
 
chapter-18-parallel-processing-multiprocessing (1).ppt
chapter-18-parallel-processing-multiprocessing (1).pptchapter-18-parallel-processing-multiprocessing (1).ppt
chapter-18-parallel-processing-multiprocessing (1).ppt
 
Memory Management Strategies - II.pdf
Memory Management Strategies - II.pdfMemory Management Strategies - II.pdf
Memory Management Strategies - II.pdf
 
High performance computing
High performance computingHigh performance computing
High performance computing
 
Lecture4
Lecture4Lecture4
Lecture4
 
08 operating system support
08 operating system support08 operating system support
08 operating system support
 
Multicore processor.pdf
Multicore processor.pdfMulticore processor.pdf
Multicore processor.pdf
 
11-IOManagement.ppt
11-IOManagement.ppt11-IOManagement.ppt
11-IOManagement.ppt
 

Kürzlich hochgeladen

Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxLoriGlavin3
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxBkGupta21
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 

Kürzlich hochgeladen (20)

Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptx
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 

Lecture5

  • 1. High Performance Computing Jawwad Shamsi Lecture #5 26th January 2010
  • 3. Today’s topics • NUMA (Non-Uniform Memory Access) • Cache Coherence
  • 4. Nonuniform Memory Access (NUMA) • UMA: Uniform memory access – All processors have access to all parts of memory • Using load & store – Access time to all regions of memory is the same – Access time to memory for different processors same – As used by SMP • Nonuniform memory access – All processors have access to all parts of memory • Using load & store – Access time of processor differs depending on region of memory – Different processors access different regions of memory at different speeds • Cache coherent NUMA – Cache coherence is maintained among the caches of the various processors – Significantly different from SMP and clusters
  • 5. Motivation • SMP has practical limit to number of processors – Bus traffic limits to between 16 and 64 processors • In clusters each node has own memory – Apps do not see large global memory – Coherence maintained by software not hardware • NUMA retains SMP flavour while giving large scale multiprocessing – e.g. Silicon Graphics Origin NUMA 1024 MIPS R10000 processors • Objective is to maintain transparent system wide memory while permitting multiprocessor nodes, each with own bus or internal interconnection system
  • 7. CC-NUMA Operation • Each processor has own L1 and L2 cache • Each node has own main memory • Nodes connected by some networking facility • Each processor sees single addressable memory space • Memory request order: – 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
  • 8. Cache Coherence • Node 1 directory keeps note that node 2 has copy of data • If data modified in cache, this is broadcast to other nodes • Local directories monitor and purge local cache if necessary • Local directory monitors changes to local data in remote caches and marks memory invalid until writeback • Local directory forces writeback if memory location requested by another processor
  • 9. NUMA Pros & Cons • Effective performance at higher levels of parallelism than SMP • No major software changes • Performance can breakdown if too much access to remote 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?
  • 10. Cache Coherence • In SMP or NUMA, multiple copies of cache – Each copy may have a different value of data item – Maintain Coherency • How?
  • 11. Cache Coherence: Two Approaches • Write back: Update Main memory once cache is flushed. • Write through: Write is updated to cache as well as to the main memory.
  • 12. Implementations • Software Solutions: – Compile time decision – Conservative – Inefficient cache utilization • Hardware Solutions: – Runtime decision – More effective
  • 13. Hardware based solution • Directory Protocol • Snoopy Protocol
  • 14. Directory • Centralized Controller – Individual cache controller makes a request • Centralized controller checks and issues command – Updates information
  • 15. Directory • Write – Processor requests exclusive writes – Controller sends message – Invalidates • Read – Issues command to the processor – Holding Processor • Writes back to MM • Read permitted
  • 16. Directory • Disadvantage – Centralized Controller – Bottleneck • Advantage – Useful in large –scale system
  • 17. Snoopy Protocol • Update operation announced • All Cache controllers snoop • Bus architecture – Careful • Increased Bus Traffic
  • 18. Snoopy Protocol • Two approaches – Write Invalidate • One write • Multiple readers • Exclusive: Writer invalidates others entries – Write Update • Multiple writers • All writes are updated
  • 19. Write Invalidate • The MESI Protocol : P4 processor – Data cache: Two status bits, 4 states • Modified • Exclusive • Shared • Invalid • See Table