Pipeline Rings
}Definition (informal)
}Pipeline buffers configured in a loop
}Can be combined with forks, joins
}Used in implementing iterative algorithms
}Each iteration implemented by a token traversing the loop
}Multiple tokens in loop possible
}Each token independent of others
}Implements “multi-threading”, i.e. pipelining
}function gcd(A, B)        
}     while A ≠ B
}         if A > B
}             A := A - B
}         else
}             B := B - A
}     return O = A
Euclid’s Algorithm for Greatest Common Divisor (GCD)
CE-653 - Asynchronous Pipeline Performance
11/5/2014
19