Butterfly network

Figure 1: Butterfly Network for 8 processors

A butterfly network is a technique to link multiple computers into a high-speed network. This form of multistage interconnection network topology can be used to connect different nodes in a multiprocessor system. The interconnect network for a shared memory multiprocessor system must have low latency and high bandwidth unlike other network systems, like local area networks (LANs) or internet[citation needed] for three reasons:

  • Messages are relatively short as most messages are coherence protocol requests and responses without data.
  • Messages are generated frequently because each read-miss or write-miss generates messages to every node in the system to ensure coherence. Read/write misses occur when the requested data is not in the processor's cache and must be fetched either from memory or from another processor's cache.
  • Messages are generated frequently, therefore rendering it difficult for the processors to hide the communication delay.