design and performance analysis of buffers: a constructive approach
DESCRIPTION
Design and Performance Analysis of Buffers: a Constructive Approach. Rudolf H. Mak Dept. of Mathematics and Computer Science Technische Universiteit Eindhoven P.O. Box 513, 5600 MB Eindhoven, The Netherlands E-mail: [email protected]. Baroque Buffer. Design issues. Functional correctness - PowerPoint PPT PresentationTRANSCRIPT
Design and Performance Analysis of Buffers:a Constructive Approach
Rudolf H. Mak
Dept. of Mathematics and Computer Science
Technische Universiteit Eindhoven
P.O. Box 513, 5600 MB Eindhoven, The Netherlands
E-mail: [email protected]
2R.H.Mak
Baroque Buffer
3R.H.Mak
Design issues
• Functional correctness• Preservation of order
• Behavioral correctness• Absence of deadlock
• Performance• Cycle time, throughput• Latency• Occupancy
4R.H.Mak
Constructive Approach
• Basic building blocks• 1-place buffer• 2-way split • 2-way merge
• Construction methods• Serial composition• Wagging composition• Multi-wagging
5R.H.Mak
Functional Specification
A functional specification of a system spe-cifies each output stream as a transforma-tion of (a combination of) its input streams.
• Basic stream transformers• Take operator• Drop operator
• Stream transformer calculus• Computation rules
6R.H.Mak
Baroque Buffer (functional spec)
7R.H.Mak
Sequence Functions
• map the events of a system onto discrete time-slots
• are used to:• establish absence of deadlock• analyze system performance
• are constructed using:• a fixed set of basic sequence functions• a set of sequence function transformers
8R.H.Mak
Baroque Buffer (sequence function)
9R.H.Mak
Capacity and I/O-distance
• The capacity of a buffer is the sum of the number of variables of each of its compo-nents
• The i/o-distance of a buffer is the minimal number of variables visited by any value on its passage through the buffer
10R.H.Mak
Cycle Time
Given a sequence function we define
• The individual cycle time by
• The average cycle time by
11R.H.Mak
Latency
Given a sequence function we define
• The individual latency by
• The average latency by
12R.H.Mak
Occupancy
Given a sequence function we define
• The instantaneous occupancy by
• The average occupancy by
13R.H.Mak
Queuing Formula (Little)
Let be a sequence function of a buffer with finite average latency, occupancy, and cycle time. Then
14R.H.Mak
-bounds
Let X be a buffer with capacity and i/o-distance . Then for every sequence function for X with average cycle time , the average occupancy is bounded by
15R.H.Mak
Optimality Problem
Given a pair of values (, ), design the optimal buffer with capacity and i/o-distance , where optimal means that the occupancy can attain both bounds.
16R.H.Mak
Optimal Buffer Families
• Linear buffers
• Tree-like buffers
• Rectangular buffers• Square buffers
17R.H.Mak
Rectangular Buffer (5x3)
18R.H.Mak
Ebergen’s Square FIFO
J. Ebergen, Squaring the FIFO in GasP, Async 2001
19R.H.Mak
Ebergen’s Ring Experiment
• Capacity: 74• I/o-distance: 34• Theoretical bounds:
17 57
• Experimental bounds:23 63
20R.H.Mak
Conclusions
• Simple calculus to verify functional correctness
• Accurate performance analysis based on sequence functions
• Rectangular buffers are (, )-optimal
21R.H.Mak
22R.H.Mak
1-place Buffer
23R.H.Mak
2-way Split
24R.H.Mak
2-way Merge
25R.H.Mak
Serial Composition
26R.H.Mak
Wagging Composition
27R.H.Mak
Multi-wagging
28R.H.Mak
Take Operator
For integers and l, 0 k l, and an infinite stream of values A, we define the postfix-operator by
“from A take every k-th out of l values”
29R.H.Mak
Drop Operator
For integers and l, 0 k l, and an infinite stream of values A, we define the postfix-operator by
“from A drop every k-th out of l values”
30R.H.Mak
• Drop-take rule
• Take-take rule
• Complement rule
Computation Rules
31R.H.Mak
Linear Buffers
• Capacity
= n
• I/o-distance
= n
32R.H.Mak
Tree-like Buffers
• Capacity
= 32n-1 2
• I/o-distance
= 2n 1
33R.H.Mak
Rectangular Buffers
• Capacity
= mn
• I/o-distance
= m + n 1
34R.H.Mak
SF-construction
0 a#0
1 b#0
2 a#1
3 b#1
4 a#2
5 b#2
6 a#3
7 b#3
a#0
b#0
a#1
b#1
a#0
b#0
a#1
b#1
2 2,4
35R.H.Mak
Multi-split and Multi-merge