Content-Filtered Topics
The following tests have been performed to show the benefits of using Content-Filtered Topics (CFT) in your system design. For more information about this feature, see ContentFilteredTopics in the RTI Connext DDS Core Libraries User’s Manual.
In this set of scenarios we will communicate an RTI Perftest Publisher application with several RTI Perftest Subscribers distributed across several machines in the same LAN network. Communication is done through UDPv4. The idea for the scenario is that only one Subscriber from all of them is interested in each sample at a time (we do this in a Round-Robin fashion).
The three different approaches we will test are the following ones:
Using Unicast: Sample are sent by the publisher individually through Unicast. All samples are received by all Subscribers, which then discard the samples if they are not interested. This could be the approach followed in an initial design of a system.
Using Multicast: First level of improvement, samples are only sent once; however, all the Subscribers will need to receive and process them (only to discard them at the end).
Using Unicast and CFT*: The benefit of using Content-Filtered Topics is that in most cases the filtering can be performed on the writer side (see this section in the Connext DDS Core Libraries User’s Manual to see the conditions). Hence, samples are sent via Unicast only to the Subscriber that is interested in them (that information is known through the filter query of the CFT). That way, we minimize the processing in each Subscriber and save bandwidth.
See below the results of performing these test for keyed samples of 64 Bytes and 1 kB.
The graph below shows the one-way latency for the use-cases mentioned above for best-effort as well as strict reliable reliability scenarios.
Note
We use the median (50th percentile) instead of the average in order to get a more stable measurement that does not account for spurious outliers.
Note
In cases where the Latency has to be measured between an RTI Perftest Publisher and multiple RTI Perftest Subscribers, each latency sample is assigned by the Publisher to be answered by a different Subscriber (and not by any other) in a Round-Robin fashion.
Detailed Statistics
This table contains the raw numbers presented by RTI Perftest.
CFT, Best Effort
Subscribers |
Min |
Median |
90percentile |
Max |
---|---|---|---|---|
1 |
15 |
15.0 |
15.0 |
15 |
2 |
25 |
25.0 |
25.0 |
25 |
4 |
22 |
22.0 |
22.0 |
22 |
8 |
21 |
21.0 |
21.0 |
21 |
10 |
22 |
22.0 |
22.0 |
22 |
20 |
22 |
22.0 |
22.0 |
22 |
30 |
22 |
22.0 |
22.0 |
22 |
50 |
23 |
23.0 |
23.0 |
23 |
80 |
24 |
24.0 |
24.0 |
24 |
100 |
24 |
24.0 |
24.0 |
24 |
120 |
24 |
24.0 |
24.0 |
24 |
150 |
26 |
26.0 |
26.0 |
26 |
200 |
23 |
23.0 |
23.0 |
23 |
CFT, Reliable
Subscribers |
Min |
Median |
90percentile |
Max |
---|---|---|---|---|
1 |
17 |
17.0 |
17.0 |
17 |
2 |
23 |
23.0 |
23.0 |
23 |
4 |
24 |
24.0 |
24.0 |
24 |
8 |
24 |
24.0 |
24.0 |
24 |
10 |
24 |
24.0 |
24.0 |
24 |
20 |
25 |
25.0 |
25.0 |
25 |
30 |
25 |
25.0 |
25.0 |
25 |
50 |
25 |
25.0 |
25.0 |
25 |
70 |
26 |
26.0 |
26.0 |
26 |
80 |
26 |
26.0 |
26.0 |
26 |
100 |
26 |
26.0 |
26.0 |
26 |
120 |
27 |
27.0 |
27.0 |
27 |
150 |
27 |
27.0 |
27.0 |
27 |
200 |
27 |
27.0 |
27.0 |
27 |
Multicast, Best Effort
Subscribers |
Min |
Median |
90percentile |
Max |
---|---|---|---|---|
1 |
15 |
15.0 |
15.0 |
15 |
2 |
15 |
15.0 |
15.0 |
15 |
4 |
16 |
16.0 |
16.0 |
16 |
10 |
18 |
18.0 |
18.0 |
18 |
20 |
25 |
25.0 |
25.0 |
25 |
30 |
31 |
31.0 |
31.0 |
31 |
50 |
37 |
37.0 |
37.0 |
37 |
70 |
47 |
47.0 |
47.0 |
47 |
80 |
50 |
50.0 |
50.0 |
50 |
100 |
59 |
59.0 |
59.0 |
59 |
120 |
70 |
70.0 |
70.0 |
70 |
150 |
82 |
82.0 |
82.0 |
82 |
200 |
101 |
101.0 |
101.0 |
101 |
Multicast, Reliable
Subscribers |
Min |
Median |
90percentile |
Max |
---|---|---|---|---|
1 |
17 |
17.0 |
17.0 |
17 |
2 |
17 |
17.0 |
17.0 |
17 |
4 |
18 |
18.0 |
18.0 |
18 |
8 |
20 |
20.0 |
20.0 |
20 |
10 |
21 |
21.0 |
21.0 |
21 |
20 |
28 |
28.0 |
28.0 |
28 |
30 |
36 |
36.0 |
36.0 |
36 |
50 |
50 |
50.0 |
50.0 |
50 |
70 |
57 |
57.0 |
57.0 |
57 |
80 |
63 |
63.0 |
63.0 |
63 |
100 |
75 |
75.0 |
75.0 |
75 |
120 |
88 |
88.0 |
88.0 |
88 |
150 |
98 |
98.0 |
98.0 |
98 |
200 |
128 |
128.0 |
128.0 |
128 |
Unicast, Best Effort
Subscribers |
Min |
Median |
90percentile |
Max |
---|---|---|---|---|
1 |
15 |
15.0 |
15.0 |
15 |
2 |
15 |
15.0 |
15.0 |
15 |
4 |
16 |
16.0 |
16.0 |
16 |
10 |
18 |
18.0 |
18.0 |
18 |
20 |
25 |
25.0 |
25.0 |
25 |
30 |
31 |
31.0 |
31.0 |
31 |
50 |
37 |
37.0 |
37.0 |
37 |
70 |
47 |
47.0 |
47.0 |
47 |
80 |
50 |
50.0 |
50.0 |
50 |
100 |
59 |
59.0 |
59.0 |
59 |
120 |
70 |
70.0 |
70.0 |
70 |
150 |
82 |
82.0 |
82.0 |
82 |
200 |
101 |
101.0 |
101.0 |
101 |
Unicast, Reliable
Subscribers |
Min |
Median |
90percentile |
Max |
---|---|---|---|---|
1 |
17 |
17.0 |
17.0 |
17 |
2 |
17 |
17.0 |
17.0 |
17 |
4 |
18 |
18.0 |
18.0 |
18 |
8 |
20 |
20.0 |
20.0 |
20 |
10 |
21 |
21.0 |
21.0 |
21 |
20 |
28 |
28.0 |
28.0 |
28 |
30 |
36 |
36.0 |
36.0 |
36 |
50 |
50 |
50.0 |
50.0 |
50 |
70 |
57 |
57.0 |
57.0 |
57 |
80 |
63 |
63.0 |
63.0 |
63 |
100 |
75 |
75.0 |
75.0 |
75 |
120 |
88 |
88.0 |
88.0 |
88 |
150 |
98 |
98.0 |
98.0 |
98 |
200 |
128 |
128.0 |
128.0 |
128 |
Test Hardware
The following hardware was used to perform these tests:
Linux Nodes
Dell R340 Servers (13 Units)
Processor: Intel Xeon E-2278G (3.4-5GHz, 8c/16t, 16MB cache, 2 memory channels @2666MHz)
RAM: 4x 16GB 2666MHz DIMM (64GB RAM)
HD: 480GB SATA SSD
NIC 1: Intel 710 dual port 10Gbps SFP
OS: Ubuntu 20.04 -- gcc 9.3.0
Switch
Dell 2048 -- 10Gbps switch
The graph below shows the one-way latency for the use-cases mentioned above for best-effort as well as strict reliable reliability scenarios.
Note
We use the median (50th percentile) instead of the average in order to get a more stable measurement that does not account for spurious outliers.
Note
In cases where the Latency has to be measured between an RTI Perftest Publisher and multiple RTI Perftest Subscribers, each latency sample is assigned by the Publisher to be answered by a different Subscriber (and not by any other) in a Round-Robin fashion.
Detailed Statistics
This table contains the raw numbers presented by RTI Perftest.
CFT, Best Effort
Subscribers |
Min |
Median |
90percentile |
Max |
---|---|---|---|---|
1 |
29 |
29.0 |
29.0 |
29 |
2 |
29 |
29.0 |
29.0 |
29 |
4 |
51 |
51.0 |
51.0 |
51 |
8 |
46 |
46.0 |
46.0 |
46 |
10 |
47 |
47.0 |
47.0 |
47 |
20 |
47 |
47.0 |
47.0 |
47 |
30 |
46 |
46.0 |
46.0 |
46 |
70 |
46 |
46.0 |
46.0 |
46 |
80 |
39 |
39.0 |
39.0 |
39 |
100 |
45 |
45.0 |
45.0 |
45 |
120 |
26 |
26.0 |
26.0 |
26 |
150 |
25 |
25.0 |
25.0 |
25 |
CFT, Reliable
Subscribers |
Min |
Median |
90percentile |
Max |
---|---|---|---|---|
1 |
27 |
27.0 |
27.0 |
27 |
2 |
26 |
26.0 |
26.0 |
26 |
4 |
26 |
26.0 |
26.0 |
26 |
8 |
25 |
25.0 |
25.0 |
25 |
10 |
26 |
26.0 |
26.0 |
26 |
20 |
26 |
26.0 |
26.0 |
26 |
30 |
27 |
27.0 |
27.0 |
27 |
50 |
27 |
27.0 |
27.0 |
27 |
70 |
27 |
27.0 |
27.0 |
27 |
100 |
27 |
27.0 |
27.0 |
27 |
120 |
28 |
28.0 |
28.0 |
28 |
150 |
28 |
28.0 |
28.0 |
28 |
200 |
28 |
28.0 |
28.0 |
28 |
Multicast, Best Effort
Subscribers |
Min |
Median |
90percentile |
Max |
---|---|---|---|---|
1 |
26 |
26.0 |
26.0 |
26 |
2 |
27 |
27.0 |
27.0 |
27 |
4 |
26 |
26.0 |
26.0 |
26 |
8 |
27 |
27.0 |
27.0 |
27 |
10 |
27 |
27.0 |
27.0 |
27 |
20 |
31 |
31.0 |
31.0 |
31 |
30 |
34 |
34.0 |
34.0 |
34 |
50 |
45 |
45.0 |
45.0 |
45 |
70 |
51 |
51.0 |
51.0 |
51 |
80 |
57 |
57.0 |
57.0 |
57 |
150 |
85 |
85.0 |
85.0 |
85 |
200 |
110 |
110.0 |
110.0 |
110 |
Multicast, Reliable
Subscribers |
Min |
Median |
90percentile |
Max |
---|---|---|---|---|
1 |
27 |
27.0 |
27.0 |
27 |
2 |
24 |
24.0 |
24.0 |
24 |
4 |
24 |
24.0 |
24.0 |
24 |
8 |
25 |
25.0 |
25.0 |
25 |
10 |
25 |
25.0 |
25.0 |
25 |
20 |
31 |
31.0 |
31.0 |
31 |
30 |
40 |
40.0 |
40.0 |
40 |
50 |
56 |
56.0 |
56.0 |
56 |
70 |
61 |
61.0 |
61.0 |
61 |
80 |
68 |
68.0 |
68.0 |
68 |
100 |
75 |
75.0 |
75.0 |
75 |
150 |
110 |
110.0 |
110.0 |
110 |
200 |
137 |
137.0 |
137.0 |
137 |
Unicast, Best Effort
Subscribers |
Min |
Median |
90percentile |
Max |
---|---|---|---|---|
1 |
26 |
26.0 |
26.0 |
26 |
2 |
27 |
27.0 |
27.0 |
27 |
4 |
26 |
26.0 |
26.0 |
26 |
8 |
27 |
27.0 |
27.0 |
27 |
10 |
27 |
27.0 |
27.0 |
27 |
20 |
31 |
31.0 |
31.0 |
31 |
30 |
34 |
34.0 |
34.0 |
34 |
50 |
45 |
45.0 |
45.0 |
45 |
70 |
51 |
51.0 |
51.0 |
51 |
80 |
57 |
57.0 |
57.0 |
57 |
150 |
85 |
85.0 |
85.0 |
85 |
200 |
110 |
110.0 |
110.0 |
110 |
Unicast, Reliable
Subscribers |
Min |
Median |
90percentile |
Max |
---|---|---|---|---|
1 |
27 |
27.0 |
27.0 |
27 |
2 |
24 |
24.0 |
24.0 |
24 |
4 |
24 |
24.0 |
24.0 |
24 |
8 |
25 |
25.0 |
25.0 |
25 |
10 |
25 |
25.0 |
25.0 |
25 |
20 |
31 |
31.0 |
31.0 |
31 |
30 |
40 |
40.0 |
40.0 |
40 |
50 |
56 |
56.0 |
56.0 |
56 |
70 |
61 |
61.0 |
61.0 |
61 |
80 |
68 |
68.0 |
68.0 |
68 |
100 |
75 |
75.0 |
75.0 |
75 |
150 |
110 |
110.0 |
110.0 |
110 |
200 |
137 |
137.0 |
137.0 |
137 |
Test Hardware
The following hardware was used to perform these tests:
Linux Nodes
Dell R340 Servers (13 Units)
Processor: Intel Xeon E-2278G (3.4-5GHz, 8c/16t, 16MB cache, 2 memory channels @2666MHz)
RAM: 4x 16GB 2666MHz DIMM (64GB RAM)
HD: 480GB SATA SSD
NIC 1: Intel 710 dual port 10Gbps SFP
OS: Ubuntu 20.04 -- gcc 9.3.0
Switch
Dell 2048 -- 10Gbps switch