•Main architecture
decision: hardware support for shared memory or not?
–Non-shared
memory architectures are successful
•Simpler
designs, means faster designs
•Leave
memory management to software/programmer
•A
single address space is easy and useful
•“Proper HW support for shared memory” is still unknown and getting less
realistic as technology improves
•Avoid
message passing and its copy/marshal overhead
•One-sided communication (shmem) is very efficient because it
reduces communication’s synchronization
•Shmem
allows “strided communication” with pipelining