Module 17: "Interconnection Networks"
  Lecture 37: "Introduction to Routers"
 

Coherence protocol and routing

  • Have already discussed the necessity of at least two queues in each direction in NI; how do they talk to the router?
    • Let’s call the queues as request and reply (in each direction): gets specified by the source coherence engine
    • These queues form request and reply virtual networks in the system
    • Each output queue of NI may map to several input virtual lanes in the router (at least one)
    • Each port of the router has equal number of virtual lanes, e.g. the request virtual lanes form the request virtual network
  • The coherence protocol normally does a static assignment of message types to virtual networks
    • A message originating from request lane will be carried along the route in the request network and will arrive at the destination in the input request queue of NI
    • Within each virtual network there may be several virtual channels per port of the router to avoid routing deadlock cycles, head-of-line blocking, and to aid adaptive routing
    • Three-lane protocols normally have a third virtual network to carry requests generated by requests e.g., interventions and invalidations
    • Stanford FLASH runs four-lane coherence protocols and uses all the four virtual lanes of SGI Spider router