A virtual connection holds the state needed to coordinate the handling of the flits of a packet.
[2]: 237 The growing need for performance from computing systems drove the industry into the multi-core and many-core arena.
[citation needed] Hence, a scalable high performance interconnect network lies at the core of parallel computer architecture.
[3] The primary expectation of an interconnection network is to have as low a latency as possible, that is the time taken to transfer a message from one node to another should be minimal, while allowing a large number of such transactions to take place concurrently.
[4] As with any other engineering design trade offs, the interconnection network must accomplish these traits while keeping the cost of implementation as low as possible.
The basic building blocks of an interconnection network are its topology, routing algorithm, switching strategy and the flow control mechanism.
Topology: This refers to the general infrastructure of the interconnection network; the pattern in which multiple processors are connected.
Routing algorithm: This determines which path the message must take in order to ensure delivery to the destination node.
The choice of the path is based on multiple metrics such as latency, security and number of nodes involved etc.
Switching strategy: The routing algorithm only determines the path that a message must take to reach its destination node.
Each message to be transferred can be broken down into smaller chunks of fixed length entities called packets.
A flit (flow control units/digits) is a unit amount of data when the message is transmitting in link-level.