Académique Documents
Professionnel Documents
Culture Documents
Brian Leete
brian.a.leete@intel.com
Introduction
Platform Architecture Lab
Bulk
Traffic
Designed
transfer
No guarantees are made in the specification
for throughput
Is scheduled last after ISOC, Interrupt, and
Control
Throughput is dependant on many factors
Introduction
will look at Bulk Throughput from the
following aspects
We
Distribution
Endpoints
Low Bandwidth Performance
Small Endpoint Performance
Nak Performance
CPU Utilization
PCI bus Utilization
PII
Custom
Terminology
Platform Architecture Lab
Total Throughput on All End Points v.s. Buffer Size for Multiple
Endpoints
(UHCI)
Oscillations @ 256, 512
Byte Buffers
Flat Throughput @
512 and 1024 Byte
Buffers
1000000
Throughput
(Bytes per Second)
1200000
800000
600000
400000
32767
8192
2048
512
Buffer Size
128
(Bytes)
200000
0
15 14
13 12
11 10
32
9
Number of Endpoints
8
4
For
Host
No
Why
is this?
Interrupt Delay
Last Packet
Buffer 'n'
First Packet
Buffer 'n+1'
Unused Frame
Software Latency
Start of Frame
Interrupt
10
11
Maximum Measured
Expected Throughput
Throughput (Bytes per
(Bytes per
Second)
Second for
Transfer
Size)
8000
8071
16000
16082
32000
32293
64000
64264
128000
129186
256000
255667
512000
512017
512000
515515
682666
682803
819200
819200
910222
910131
910222
910404
936228
936072
949797
948087
12
1200000
800000
600000
400000
200000
0
1
10
11
12
13
14
15
Number of Endpoints
13
SOF
Inter P
Delay
(Bits)
1000 0
M B
End
Time
(Bits)
5000
Measured
14
SOF
Inter
Delay
(Bits)
5
0
0
1
1
2
2
3
3
4
4
Ending
Time
(Bits)
5
5
6
6
480
B/S Measured
15
End
Point
3
2
1
Inter
Delay
(Bits)
S
O
F
0
1000
1
0
1
15 Packets Total in This Frame
Ending
Time
554
For Frame N + 1
End
Point
3
2
1
S
O
F
Inter
Delay
(Bits)
Ending
Time
7
6
4
5
9 Packets Total in This Frame
7
6
5700
Measured
16
1200000
Total Throughput
(Bytes per Second)
Flat Throughput @
512 and 1024 B
Buffers
1000000
800000
600000
400000
32768
4096
512
200000
0
Oscillations @
256 and 512 B
buffers
15 14 13
64
12 11 10
9 8 7
6 5 4
3 2
Number of Endpoints
Buffer Size
(Bytes)
Small Buffer
Throughput
17
1200000
Total Throughput
(Bytes per Second)
1000000
800000
600000
400000
32768
200000
4096
512
0
15 14
64
13
12
11 10
Number of Endpoints
Buffer Size
(Bytes)
8
4
19
20
1000000
800000
Single
Multiple
600000
400000
200000
0
8
16
32
64
128
256
512
1024
2048
4096
8192
21
Results
We
22
Total Throughput on All Endpoints V.S. Buffer Size for Multiple Endpoints
Minimal Endpoint Configuration
(OHCI)
1000000
Total Throughput
(Bytes per Second)
1200000
800000
600000
400000
32768
8192
2048
512
Buffer Size
128
(Bytes)
200000
0
15 14 13
12 11
10 9
32
8
Number of Endpoints
8
3
23
900000
800000
700000
Throughput
(Bytes Per Sec)
1000000
600000
500000
400000
300000
200000
3
100000
6
9
0
1
Number of Endpoints
12
4
Endpoint Number
10 11
12 13
14 15
15
25
Results
26
800000
700000
600000
Throughput
(Bytes Per Sec)
900000
500000
400000
300000
200000
3
100000
6
9
0
1
12
4
10 11
12 13
14 15
15
27
250000
Throughput
(Bytes per Second)
300000
200000
150000
100000
50000
3
5
7
9
0
1
Endpoint Number
11
2
13
7
Number of Endpoints
10
11
12
15
13
14
15
29
400000
350000
300000
250000
200000
150000
100000
1
3
50000
5
7
9
0
1
Endpoint Number
11
2
13
8
Number of Endpoints
10 11
12
15
13 14
15
30
450000
400000
Total Throughput
(Bytes per Second)
350000
300000
250000
200000
150000
100000
32768
4096
50000
512
0
15 14 13
12 11 10
9 8 7
6
64
5 4
Buffer Size
(Bytes)
8
3
Number of Endpoints
32
Total Throughput on All End Points v.s. Buffer Size for Multiple Endpoints
8 Byte Max Packet Size
(OHCI)
450000
400000
Total Throughput
(Bytes per Second)
500000
350000
300000
250000
200000
150000
100000
32768
8192
50000
2048
512
0
15
128
14
13
12
11
10
Buffer Size
(Bytes)
32
9
Number of Endpoints
8
3
33
800000
Throughput (Bytes per Second)
900000
700000
600000
8
16
500000
32
64
400000
300000
200000
100000
0
8
16
32
64
128
256
512
1024
2048
4096
8192
16384
32768
65536
Buffer Size
34
900000
1000000
800000
700000
600000
500000
400000
300000
200000
1
3
5
100000
7
9
0
1
11
2
Number of Endpoints
13
7
Endpoint Number
10
11
12
15
13
14
15
35
36
Nak Performance
1200000
1000000
Total Throughput
800000
600000
400000
32768
8192
2048
Buffer Size
512
(Bytes)
128
200000
0
15 14
13
12 11
10
32
9
Number of Endpoints
8
3
38
900000
45 % Drop in Total
Throughput
800000
700000
600000
No NAK
NAK
500000
400000
300000
200000
100000
Buffer Size
9
16 2
38
32 4
76
65 8
53
6
81
96
40
48
20
24
10
51
6
25
8
12
64
32
16
0
8
1000000
39
Total Throughput on All Endpoints V.S. Buffer Size for Multiple Endpoints
14 Endpoints OUT, 1 Endpoint NAK IN
(UHCI)
1000000
Total Throughput
(Bytes per Second)
1200000
800000
600000
400000
32768
8192
2048
Buffer Size
512
(Bytes)
128
200000
0
15 14
13 12
11 10
32
9
Number of Endpoints
8
3
40
900000
800000
700000
600000
Nak
No NAK
500000
400000
300000
200000
100000
0
8
16
32
64
128
256
512
1024
2048
4096
8192
Buffer Size
41
CPU Utilization
CPU Utilization
Platform Architecture Lab
Stack Navigation
43
CPU Utilization
(UHCI)
10000000
8000000
6000000
4000000
3
5
7
2000000
Number of
Endpoints
11
13
65536
15
32768
16384
8192
4096
0
2048
Idle Count
12000000
44
CPU Utilization
(OHCI)
12000000
10000000
8000000
6000000
4000000
3
5
7
2000000
9
11
13
0
2048 4096
8192 16384
32768 65536
15
45
PCI Utilization
PCI Utilization
(UHCI)
30
25
% Utilization
35
20
15
1
3
10
5
7
9
Number of Endpoints
11
13
0
2048
4096
8192
Buffer Size
15
16384 32768
65536
47
PCI Utilization
(UHCI)
15 Endpoint Configuration
48
Conclusions
Need
Performance Recommendations
Use
49
50