Source routing
Followed by book_Principles and Practices of Interconnection Networks, p204.
With source routing, all routing decisions for a packet are made entirely in the source terminal by table lookup of a precomputed route.
Each source node contains a table of routes, at least one per destination.
To route a packet, the table is indexed using the packet destination to look up the appropriate route or set of routes.
This route is then prepended to the packet and used to rapidly steer the packet through the network along the selected path with no further computation.
Source routing has several advantages:
1.The foremost advantage is speed. After the initial table lookup and route selection in the source, no further time is spent on routing.
As each packet arrives at a router, it can immediately select its output port without any computation or memory reference. The routing delay component of per-hop latency is zero.
2.In addition to being fast, source routing results in a simple router design. There is no need for any routing logic or tables in each router.
比如这个表,source node(00)->destination node(21), 期间经过的路由器个数为|2-0|+|1-0|=3。
若选择Route 0, 路径上经过的output port依次为north, east, east, exit port (core),output port选择由port selectors来完成。
eg. adopt source routing and encode the route in 2 bits for each router.
At the source router, the 2-bit corresponds to East, South, West and North output ports, while at all other routers, the bits correspond to Left, Right, Straight and Core.
The direction Left, Right and Straight are relative to the input port of the flit.