Module 3: Fundamentals of Parallel Computers: ILP vs TLP
  Lecture 5: Communication Architectures and Communication Costs
 


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)