|
Convergence
- Shared address and message passing are two distinct programming models, but the architectures look very similar
- Both have a communication assist or network interface to initiate messages or transactions
- In shared memory this assist is integrated with the memory controller
- In message passing this assist normally used to be integrated with the I/O, but the trend is changing
- There are message passing machines where the assist sits on the memory bus or machines where DMA over network is supported (direct transfer from source memory to destination memory)
- Finally, it is possible to emulate send/ recv . on shared memory through shared buffers, flags and locks
- Possible to emulate a shared virtual mem. on message passing machines through modified page fault handlers
A Generic Architecture
- In all the architectures we have discussed thus far a node essentially contains processor(s) + caches, memory and a communication assist (CA)
- CA = network interface (NI) + communication controller
- The nodes are connected over a scalable network
- The main difference remains in the architecture of the CA
- And even under a particular programming model (e.g., shared memory) there is a lot of choices in the design of the CA
- Most innovations in parallel architecture takes place in the communication assist (also called communication controller or node controller)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|