When people start working with high performance computing or parallel systems, “memory” often sounds like a background detail. It’s not. The way memory is structured can completely change how your applications behave, scale, and even fail.
Let’s break it down in a practical way.
⸻
What is Shared Memory?
In a shared memory system, all processors access the same memory space.
Think of it like multiple people working on a single Google Doc. Everyone sees the same data, and changes are immediately visible.
Key traits:
One global memory space
Fast communication between threads
Easier to program (generally)
Requires synchronization (locks, semaphores)
Where you see it:
Multi core CPUs
OpenMP based applications
Single node parallel jobs
The catch:
Shared memory doesn’t scale well forever. As you add more cores, contention increases.…