How does cache coherency operate across multiple POWER sockets?

How does cache coherency operate across multiple POWER sockets?

On multi-socket systems built with the IBM POWER architecture (e.g., servers using the IBM POWER10 processor or IBM POWER9 processor), cache coherency ensures that all coresโ€”across all socketsโ€”see a consistent view of memory, even though each core has its own private caches.

Hereโ€™s how it works at a system level.


๐Ÿ”น 1. The Problem: Multiple Copies of Data

Each core has:

  • L1 and L2 (private)
  • L3 (shared within a chip/module)

Across sockets:

  • The same memory line may exist in multiple caches

๐Ÿ‘‰ Without coherency:

  • One core updates data
  • Others keep stale copies โ†’ incorrect results

๐Ÿ”น 2. Coherency Protocol (MESI/MOESI-like)

POWER systems use an advanced directory-based coherency protocol (similar to MESI/MOESI but extended).

Each cache line has states like:

  • Modified (M) โ€“ only this cache has the latest copy
  • Exclusive (E) โ€“ clean and private
  • Shared (S) โ€“ multiple caches share it
  • Invalid (I) โ€“ not valid

POWER adds enhancements for:

  • Scalability across sockets
  • Reduced broadcast traffic

๐Ÿ”น 3. Directory-Based Coherency (Key Difference)

Unlike simple snooping systems:

๐Ÿ‘‰ POWER uses a directory-based model:

  • A directory tracks which socket/core holds each cache line
  • Typically stored alongside L3 or memory controller

Why this matters:

  • Avoids broadcasting to all sockets
  • Sends messages only to relevant nodes

๐Ÿ‘‰ Result:

  • Scales efficiently to large multi-socket systems

๐Ÿ”น 4. Inter-Socket Fabric (X-Bus / PowerAXON)

Sockets are connected via high-speed interconnects:

  • POWER9: X-Bus / NVLink-based fabric
  • POWER10: PowerAXON fabric

These links:

  • Carry coherency messages
  • Transfer cache lines between sockets

๐Ÿ”น 5. Example: Read Across Sockets

Scenario:

Core A (Socket 1) needs data owned by Socket 2

Steps:

  1. Core A issues a load miss
  2. Directory identifies owner (Socket 2)
  3. Request sent over interconnect
  4. Socket 2 supplies data:
    • From its L3 cache (if present)
    • Or from memory

๐Ÿ‘‰ Result:

  • Data fetched without full system broadcast

๐Ÿ”น 6. Example: Write (Invalidation Flow)

Scenario:

Core A modifies a shared cache line

Steps:

  1. Core A requests ownership (Modified state)
  2. Directory finds other sharers
  3. Sends invalidate messages to those sockets
  4. Other caches mark line Invalid
  5. Core A updates data

๐Ÿ‘‰ Result:

  • Only one โ€œownerโ€ โ†’ ensures correctness

๐Ÿ”น 7. Cache-to-Cache Transfers

Instead of going to memory:

  • If another socket already has the latest copy:
    • Data is transferred directly cache-to-cache

๐Ÿ‘‰ Benefits:

  • Lower latency than DRAM access
  • Reduced memory bandwidth usage

๐Ÿ”น 8. NUMA Awareness

Multi-socket POWER systems are NUMA (Non-Uniform Memory Access):

  • Local memory โ†’ faster
  • Remote memory โ†’ slower

Coherency system:

  • Minimizes remote accesses via caching
  • Works with OS (like AIX/Linux) for:
    • Thread placement
    • Memory locality

๐Ÿ”น 9. L3 Cache Role in Coherency

Large shared L3 cache (per chip/module):

  • Acts as a coherency hub
  • Stores directory information
  • Reduces cross-socket traffic

๐Ÿ‘‰ Many requests are resolved:

  • Within the chip
  • Without going to other sockets

๐Ÿ”น 10. Scalability Features in POWER10

Compared to earlier generations:

  • More efficient directory structures
  • Higher bandwidth interconnect (PowerAXON)
  • Better coherency filtering
  • Reduced false sharing impact

๐Ÿ‘‰ Result:

  • Scales to large systems with:
    • Many sockets
    • Thousands of threads

๐Ÿ”น 11. Impact on Database Workloads

For workloads like Oracle:

Positive effects:

  • Consistent shared data across nodes
  • Faster cache-to-cache transfers
  • Reduced locking overhead

Challenges:

  • Cross-socket sharing can add latency
  • False sharing can degrade performance

๐Ÿ‘‰ Best practice:

  • Keep frequently shared data NUMA-local

๐Ÿ”‘ Summary

FeatureHow POWER Handles ItBenefit
Coherency ModelDirectory-basedScalable
CommunicationHigh-speed interconnectFast data sharing
Data TransferCache-to-cacheLow latency
Write HandlingInvalidate othersCorrectness
L3 CacheCoherency hubReduced traffic
NUMA IntegrationOS-awareBetter locality

๐Ÿง  Key Insight

In IBM POWER architecture systems:

Cache coherency is selective, directory-driven, and fabric-accelerated
โ€”not broadcast-heavy like older designs.

This is what allows POWER systems to scale efficiently for large databases, SAP, and enterprise workloads across multiple sockets.

Looking for servers Rental ?

Call Our Expert :


  • (call for rental enquiries)

Email us :