9.1. Latency Benchmarks¶
Latency measurements are provided on the following environment:
Xeon – End-to-end latency measured with the RTI Connext DDS Performance Test tool on high-performance Xeon machines in a dedicated network .
9.1.1. Xeon¶
The end-to-end latency is measured between two identical machines, using the test configuration below and running the RTI Connext DDS Performance Test tool.
The test environment consists of the following:
x86_64 CentOS Linux release 7.1.1503
RTI Perftest 3.0
Switch Configuration: D-Link DXS-3350 SR:
176Gbps Switching Capacity
Dual 10-Gig stacking ports and optional 10-Gig uplinks
Stacks up to 8 units per stack
4MB (Packet Buffer Size)
48 x 10/100/1000BASE-T ports
Machine:
Intel I350 Gigabit NIC
Intel Core i7 CPU:
12MB cache
6 Cores (12 threads)
3.33 GHz CPU speed
12GB memory
The latency is measured by sending one PING sample and wait for the Echoer to return the PONG sample. The sender records the time it took to receive the PONG sample and divides the result by 2. The test is repeated a number of times for each size. Note that the end-to-end latency is measured.
The following measurements are reported in the tables below:
Bytes - The size of the DDS sample payload in bytes (UDP overhead is not included).
Ave - Average latency
Std - Standard deviation
Min - The minimum latency
Max - The maximum latency
50% - The 50th percentile latency
90% - The 90th percentile latency
99% - The 99th percentile latency
99.99% - The 99.99th percentile latency
All values are reported in micro-seconds (µs).
9.1.1.1. C++ Best Effort keyed 1 Gbps¶
Bytes |
Ave (µs) |
Std (µs) |
Min (µs) |
Max (µs) |
50% (µs) |
90% (µs) |
99% (µs) |
99.99% (µs) |
---|---|---|---|---|---|---|---|---|
32 |
25 |
0.4 |
24 |
80 |
25 |
25 |
27 |
28 |
64 |
25 |
0.4 |
24 |
40 |
25 |
26 |
27 |
29 |
128 |
27 |
0.4 |
26 |
41 |
27 |
27 |
28 |
30 |
256 |
30 |
0.6 |
29 |
40 |
30 |
30 |
31 |
33 |
1024 |
44 |
0.5 |
43 |
56 |
44 |
44 |
45 |
48 |
4096 |
76 |
0.6 |
75 |
345 |
76 |
77 |
78 |
80 |
8192 |
113 |
0.6 |
112 |
231 |
113 |
114 |
115 |
119 |
63000 |
605 |
0.9 |
603 |
622 |
605 |
606 |
607 |
621 |
9.1.1.2. C++ Best Effort Unkeyed 1 Gbps¶
Bytes |
Ave (µs) |
Std (µs) |
Min (µs) |
Max (µs) |
50% (µs) |
90% (µs) |
99% (µs) |
99.99% (µs) |
---|---|---|---|---|---|---|---|---|
32 |
24 |
0.3 |
23 |
35 |
24 |
24 |
26 |
27 |
64 |
24 |
0.5 |
23 |
39 |
24 |
25 |
26 |
28 |
128 |
26 |
0.3 |
25 |
46 |
26 |
26 |
27 |
29 |
256 |
29 |
0.5 |
28 |
334 |
29 |
29 |
30 |
32 |
1024 |
43 |
0.4 |
42 |
54 |
43 |
44 |
45 |
47 |
4096 |
76 |
0.5 |
75 |
169 |
76 |
76 |
78 |
80 |
8192 |
113 |
0.7 |
112 |
272 |
113 |
114 |
115 |
118 |
63000 |
605 |
0.9 |
603 |
622 |
605 |
606 |
608 |
619 |
32 |
24 |
0.6 |
24 |
43 |
24 |
25 |
26 |
28 |
64 |
25 |
0.6 |
24 |
271 |
25 |
25 |
26 |
29 |
128 |
26 |
0.4 |
25 |
267 |
26 |
26 |
28 |
30 |
256 |
28 |
0.6 |
28 |
291 |
28 |
29 |
30 |
33 |
1024 |
43 |
0.6 |
42 |
336 |
43 |
44 |
45 |
48 |
4096 |
76 |
0.6 |
75 |
287 |
76 |
76 |
78 |
80 |
8192 |
113 |
0.9 |
112 |
370 |
113 |
114 |
115 |
118 |
63000 |
605 |
1.2 |
603 |
775 |
605 |
606 |
607 |
622 |
9.1.1.3. C++ Reliable Keyed 1 Gbps¶
Bytes |
Ave (µs) |
Std (µs) |
Min (µs) |
Max (µs) |
50% (µs) |
90% (µs) |
99% (µs) |
99.99% (µs) |
---|---|---|---|---|---|---|---|---|
32 |
28 |
1.4 |
26 |
45 |
27 |
31 |
32 |
34 |
64 |
28 |
1.4 |
26 |
325 |
27 |
31 |
32 |
34 |
128 |
30 |
1.3 |
28 |
39 |
29 |
32 |
33 |
36 |
256 |
33 |
1.2 |
31 |
47 |
33 |
36 |
37 |
39 |
1024 |
47 |
1.2 |
46 |
335 |
47 |
49 |
50 |
53 |
4096 |
80 |
1.4 |
77 |
347 |
80 |
83 |
84 |
87 |
8192 |
117 |
1.4 |
114 |
390 |
117 |
119 |
121 |
124 |
63000 |
609 |
1.5 |
606 |
785 |
608 |
610 |
612 |
622 |
32 |
28 |
1.2 |
25 |
91 |
27 |
30 |
31 |
35 |
64 |
28 |
1.6 |
25 |
311 |
27 |
31 |
32 |
35 |
128 |
30 |
1.4 |
28 |
55 |
29 |
32 |
33 |
36 |
256 |
33 |
1.2 |
31 |
336 |
33 |
35 |
36 |
40 |
1024 |
48 |
1.2 |
46 |
514 |
47 |
50 |
50 |
53 |
4096 |
80 |
0.9 |
78 |
342 |
79 |
80 |
82 |
86 |
8192 |
117 |
1.5 |
114 |
381 |
117 |
119 |
120 |
124 |
63000 |
609 |
1.1 |
606 |
628 |
609 |
610 |
612 |
624 |
9.1.1.4. C++ Reliable Unkeyed 1 Gbps¶
Bytes |
Ave (µs) |
Std (µs) |
Min (µs) |
Max (µs) |
50% (µs) |
90% (µs) |
99% (µs) |
99.99% (µs) |
---|---|---|---|---|---|---|---|---|
32 |
27 |
1.9 |
25 |
312 |
27 |
30 |
34 |
36 |
64 |
28 |
1.3 |
26 |
51 |
28 |
30 |
31 |
35 |
128 |
29 |
1.4 |
27 |
42 |
29 |
32 |
32 |
37 |
256 |
32 |
1.1 |
30 |
64 |
32 |
34 |
35 |
38 |
1024 |
48 |
0.9 |
45 |
63 |
47 |
49 |
50 |
53 |
4096 |
80 |
1.2 |
77 |
298 |
79 |
82 |
83 |
86 |
8192 |
117 |
1.3 |
115 |
211 |
116 |
119 |
121 |
125 |
63000 |
609 |
1.5 |
607 |
807 |
609 |
611 |
613 |
624 |
32 |
27 |
1.3 |
24 |
312 |
27 |
30 |
31 |
34 |
64 |
28 |
1.6 |
25 |
322 |
27 |
31 |
32 |
37 |
128 |
28 |
1.4 |
26 |
307 |
28 |
31 |
32 |
36 |
256 |
33 |
1.3 |
30 |
632 |
32 |
35 |
35 |
38 |
1024 |
47 |
1.1 |
45 |
337 |
46 |
49 |
50 |
52 |
4096 |
80 |
1.4 |
78 |
550 |
79 |
82 |
83 |
85 |
8192 |
117 |
1.2 |
115 |
362 |
116 |
119 |
120 |
123 |
63000 |
609 |
1.7 |
607 |
898 |
609 |
610 |
612 |
628 |