An Examination of Routing Algorithms for Parallel Computing - - PowerPoint PPT Presentation
An Examination of Routing Algorithms for Parallel Computing - - PowerPoint PPT Presentation
An Examination of Routing Algorithms for Parallel Computing Environments By James Kurtz Luis Martinez Network Topology Types Irregular Regular Irregular Irregular Conforms to some sort of regular graph standard, or definable
Network Topology Types
Regular
Conforms to some
sort of “regular graph standard”, or definable shape:
Irregular Irregular Irregular
Network Topology Types
Regular
Conforms to some sort of
“regular graph standard”,
- r definable shape:
Ex: Cubes
Irregular Irregular Irregular
Network Topology Types
Regular
Conforms to some sort of
“regular graph standard”,
- r definable shape:
Ex: Torus (Ring)
Irregular Irregular Irregular
Network Topology Types
Regular
Conforms to some sort of
“regular graph standard”,
- r definable shape:
Ex: Meshes
Irregular Irregular Irregular
Network Topology Types
Regular Regular Regular
- Conforms to some
Conforms to some Conforms to some sort of “regular sort of “regular sort of “regular graph standard”, or graph standard”, or graph standard”, or definable shape: definable shape: definable shape:
Irregular
Don’t. Best example is the
Internet
Routing Algorithms for Regular and Irregular Topologies
I’m going to take a look at some algorithms designed for regular networks James will later show you some algorithms for irregular networks Yes, I had to make this slide, otherwise I’d forget to say that
Detour-NF
Described by Yoshinaga in his 2003 paper “Design and Evaluation of a Fault-
Tolerant Adaptive Router for Parallel Computers”
A fault-tolerant algorithm designed for a fault- tolerant router of their design. They don’t like faults. Did they mention fault-tolerance yet?
Detour-NF
They wanted a system which allowed them to switch their routing modes between deterministic and adaptive
They also wanted to further expand the adaptive
functionality to include both minimal and non- minimal routing
The reason to include both is that minimal routing doesn’t support fault-tolerance (take a drink!) Non-minimal routing can easily emulate minimal routing
- nce implemented
Detour-NF
Takes an already existing fully-adaptive algorithm
Adds one or more VC’s (in addition to any
it may already use) to any existing channels
Treated as non-minimal channels
Adds a function, R, which details how to
use the VC’s
Detour-NF
The original algorithm and R are combined
The combined algorithm favors paths chosen
by the original, but
Misroutes a message to one of the new VC’s if
there is an unavoidable block in the channel
Fault-tolerance! (seriously, I close my eyes, I
see that term…)
Routing in Detour-NF
If a channel is blocked for whatever reason, the algorithm forces it to take a turn in the “negative” direction
Followed by
whatever turns are necessary to leapfrog the compromised channel in question
“Positive” direction
turns as the first step in a leap frog are not allowed
Routing in Detour-NF
Unintended consequence:
If the path is
blocked by a faulty channel at its last turn, the path becomes unnecessarily long, since it cannot begin a leapfrog with a positive turn.
Solution: Allow 180
degree turns
Detour-NF Analysis
The hardware router they designed to implement this algorithm is more expensive
29% increase in FlipFlops compared to other
routers (dimension-order, Duato’s Protocol)
Other routers can be faster But the other routers compared, such as Duato’s Protocol, aren’t fault-tolerant
Odd-Even Turn Model
Ge-Ming Chiu of the IEEE Computer Society Can be both an element of a larger algorithm, or its own algorithm Used to determine what kinds of turns a message can make in its travels Avoids deadlock
Doesn’t use Virtual Channels
Odd-Even Turn Model
Most deadlock-avoiding, non-VC algorithms accomplish their goal by prohibiting certain kinds turns altogether, closely controlling them, or limiting their numbers Chiu says this results in an uneven efficiency across a regular mesh His turning model seeks to limit the limits
Specifically it prohibits only specific turns at
specific places, but otherwise, the message is free to turn however it wants
Odd-Even Turn Model
Picture a mesh network
Label the top North The left West, right
East
The Bottom South
NORTH SOUTH WEST EAST
Odd-Even Turn Model
Define a turn, NW, on node X such that the message is
Traveling in a northern
direction, turns at X, and heads in a western direction
NORTH SOUTH WEST EAST
Odd-Even Turn Model
Now number the rows and columns on the grid, starting from 0
NORTH SOUTH WEST EAST 1 2 1 2
Odd-Even Turn Model
Now the rules:
Rule 1. Any packet is not
allowed to take an EN turn at any nodes located in an even column, and it is not allowed to take an NW turn at any nodes located in an odd column.
NORTH SOUTH WEST EAST 1 2 1 2
Odd-Even Turn Model
Now the rules:
Rule 2. Any packet is not
allowed to take an ES turn at any nodes located in an even column, and it is not allowed to take an SW turn at any nodes located in an odd column
NORTH SOUTH WEST EAST 1 2 1 2
Odd-Even Turn Model
Now the rules:
What does this mean?
The tell-tale cycle of a deadlock is prevented by never letting the eastern- most side of that cycle form
NORTH SOUTH WEST EAST 1 2 1 2
Odd-Even Turn Model
Now the rules:
What does this mean?
180-degree turns however cannot be allowed.
NORTH SOUTH WEST EAST 1 2 1 2
Odd-Even Turn Model Analysis
An algorithm formed from the Odd- Even Turn Model performed well under high-traffic situations The xy algorithm performed best under most situations, but its un-evenness caused fluctuations in network performance.
Odd-Even Turn Model Analysis
Pros:
Easy scalability. It can be applied to a regular
mesh of most any large size.
Larger more expensive parallel systems
Can easily be incorporated into other dead-lock
free algorithms.
Since it’s not dependant on VC’s, it may even form
the basis of a VC-defining algorithm that may be used by another VC-based routing algorithm (such as R in Detour-NF perhaps)
Virtual Channel
Used to divide network into sub- networks This sub-network is virtual network Creates shorter path hops Avoid deadlock
No Virtual Channel Algorithms
Low port first Random Sancho’s Low virtual-channel first
Up* /Down* (Sancho’s)
Avoids network congestion Labels paths Remove path with largest counter Continues until one path remains
Virtual Channel Algorithms
Previous Algorithms High virtual-channel first High physical-channel first Low virtual-channel first Low physical-channel first
Virtual Channel Cont.
Descending Layers network (DL)
Divide into sub networks