Example: Pipeline Performance
1
t=0
t=6
t=2
t=4
t=8
t=10
t=12
t=14
•Slow right environment
•Bitgen: LCT = 2
•Buffer: FL=2, BL=2
•Bucket: LCT = 6
•
2
3
t=16
4
5
t=18
t=20
t=6: Token 1 consumed
t=12: Token 2 consumed
t=18: Token 3 consumed
t=24
t=24: Token 4 consumed
t=22
CE-653 - Asynchronous Pipeline Performance
11/5/2014
16
After start-up time, there should always be 2 tokens in C1, C2, and C3. (a token on C0 does not count).  This is N-1 tokens. Based on the mathematics, dynamic slack should happen at 3/2 tokens in the 3-stage pipeline at a rate of ¼ tokens. Thus the slope of the bubble-limited edge in the triangle graph is –(1/6). At 2 tokens, you should get a rate of 1/6.  Thus, I think the Bucket should have to run at 1/6. To see this effect (not 12).

If the token happens at c0 at time 0 and enters the pipeline at this time. It comes out at c3 at time 6 at which time it is immediately consumed.
The next token is consumed at time 12.  The timing of all other token movements should correspond to this. This is tricky and ideally we should have text to explain all token movements.