ScholarQuill logoScholarQuillUniversity Notes
  • Notes
  • Past Papers
  • Blogs
  • Todo
Login
ScholarQuill logoScholarQuillUniversity Notes
Login
NotesPast PapersBlogsTodo
More
SubjectsDiscussionCGPA CalculatorGPA CalculatorStudent PortalCourse Outline
About
About usPrivacy PolicyReportContact
Notes
Past Papers
Blogs
Todo
Analytics
    Current Subject
    🧩
    Computer Architecture
    COMP3147
    Progress0 / 24 topics
    Topics
    1. Digital Hardware Design: Transistors and Digital logic2. Hardware description languages (Verilog)3. Instruction Set Architecture: Instruction types and mixes4. Addressing modes5. RISC vs. CISC architectures6. Exceptions in instruction sets7. Scalar Pipelines: Data dependencies8. Static scheduling9. Pipeline performance analysis10. VLIW Pipelines: Local scheduling11. Loop unrolling and Software pipelining12. Trace scheduling13. Deferred exceptions and Predicated execution14. IA64 architecture15. Dynamic Pipelines: Dynamical scheduling16. Register renaming17. Speculative execution18. Trace cache19. Thread-Level Parallelism: Cache coherency20. Sequential consistency21. Multithreading22. Symmetric multiprocessing23. Transactional memory24. Data-Level Parallelism: GPU programming
    COMP3147›Symmetric multiprocessing
    Computer ArchitectureTopic 22 of 24

    Symmetric multiprocessing

    3 minread
    425words
    Beginnerlevel

    ⭐ Symmetric Multiprocessing (SMP)

    1. Definition

    Symmetric Multiprocessing (SMP) is a computer architecture in which two or more identical processors are connected to a single shared main memory and operate under a single operating system, sharing I/O and memory resources equally.

    In SMP, all processors are peers—any processor can execute any task, and the OS can schedule tasks on any processor.


    2. Key Features of SMP

    1. Multiple processors: Two or more identical CPUs.
    2. Shared memory: All processors have equal access to the main memory.
    3. Single OS instance: One operating system controls all processors.
    4. Uniform access time: Memory access time is the same for all processors (unlike NUMA).
    5. Common I/O subsystem: All processors share the same I/O devices.

    3. Benefits of SMP

    1. Improved performance and throughput: Multiple processors can execute tasks concurrently.
    2. Scalability: Adding more processors increases system performance (up to limits).
    3. Reliability and fault tolerance: If one processor fails, others can continue processing (though not fully fault-tolerant).
    4. Simpler programming model: Single memory space makes it easier to write concurrent programs.

    4. Challenges of SMP

    1. Cache coherency: Each processor typically has its own cache, so mechanisms (like MESI protocol) are needed to maintain consistent data.
    2. Contention for memory and I/O: Multiple processors accessing the same memory or I/O can cause bottlenecks.
    3. Synchronization overhead: Threads/processes must be synchronized to avoid race conditions.
    4. Scalability limits: Performance gain diminishes as the number of processors increases due to contention.

    5. Typical SMP Architecture

    • Processors (P1, P2, …): Identical CPUs, each with private registers and possibly private cache.
    • Shared Main Memory: Single memory accessible by all CPUs.
    • System Bus / Interconnect: Connects processors to memory and I/O.
    • Operating System: Single OS schedules tasks across all processors.

    6. Comparison with Other Architectures

    Feature SMP NUMA (Non-Uniform Memory Access)
    Memory Access Uniform (same latency for all) Non-uniform (different latency)
    Processors Symmetric, peer CPUs Nodes with local memory
    Scalability Limited due to bus contention Better for large-scale systems
    Programming Model Simpler More complex (awareness of memory locality needed)

    7. Example Scenario

    • Suppose an SMP system has 4 CPUs and shared memory.
    • OS can schedule Thread 1 on CPU1, Thread 2 on CPU2, and so on.
    • All threads access shared variables in memory.
    • Cache coherency protocols ensure all CPUs see the most recent value of shared variables.

    8. Exam-Friendly Summary

    • SMP: Multiple identical processors sharing memory and I/O under a single OS.
    • Goal: Increase throughput and parallelism for multiple tasks/threads.
    • Key challenges: Cache coherency, memory contention, synchronization.
    • Advantages: Simplicity, performance, scalability (moderate), reliability.
    Previous topic 21
    Multithreading
    Next topic 23
    Transactional memory

    Past Papers

    Open this section to load past papers

    Click on Show Past Papers to see past papers.
    On This Page
      Reading Stats
      Est. reading time3 min
      Word count425
      Code examples0
      DifficultyBeginner