2.4.2. Discovery Performance¶
This document describes discovery performance for certain scenarios that use RTI Security Plugins. The methodology and the tests are similar to the ones explained in the Discovery Performance section for the Core Libraries. The “No Security” values in the graphs below are equivalent to the Core Libraries (multicast) numbers, so you can compare Connext performance with and without the Security Plugins.
These numbers should only be used as a first rough approximation, since the results are highly dependent on the hardware, software configuration, and network infrastructure of the tested system. These numbers are taken with multicast enabled, since this is the default mode used by Connext for discovery.
2.4.2.1. Time to Complete Discovery¶
The following graph shows the time it takes to complete endpoint discovery measured for different numbers of DomainParticipants (each with a single endpoint). See the detailed information about the tests below.
Detailed test input
The input parameters chosen for these tests are designed to go through a set of descriptive scenarios, in increasing complexity. These parameters are:
Number of hosts: 7
Participants in the system: [50 to 300 in steps of 25 participants]
Topics in the system: 1
Readers per topic: 0.5 * Participants in the system
Writers per topic: 0.5 * Participants in the system
Therefore, in this test the number of endpoints is the same as the number of participants, half of them DataReaders and half of them DataWriters.
Detailed results
Time to complete Discovery in 6.1 (Seconds)
Participants |
No Security |
Authentication Only |
Secure Discovery |
Secure Discovery + Sign |
---|---|---|---|---|
50 |
2.2760 |
4.3590 |
2.8210 |
2.8080 |
75 |
2.3510 |
4.4000 |
4.5090 |
4.4040 |
100 |
2.3500 |
4.5380 |
4.4580 |
4.5930 |
125 |
2.3840 |
4.5420 |
4.6590 |
4.6930 |
150 |
4.4200 |
4.7710 |
4.9590 |
4.8900 |
175 |
3.3630 |
4.8130 |
5.0310 |
5.0800 |
200 |
4.4520 |
5.1000 |
5.3790 |
7.5920 |
225 |
6.5650 |
5.4150 |
5.9290 |
5.7130 |
250 |
6.6730 |
5.7440 |
8.1850 |
8.3000 |
275 |
6.8960 |
8.3340 |
8.9760 |
9.2530 |
300 |
7.0960 |
9.0950 |
10.3510 |
9.9280 |
325 |
7.2540 |
9.9140 |
11.7060 |
11.9550 |
350 |
7.4240 |
11.9780 |
12.7840 |
12.9820 |
375 |
7.5560 |
14.5670 |
15.0370 |
15.1950 |
400 |
9.5910 |
16.2720 |
17.4220 |
17.2310 |
425 |
9.9360 |
19.7870 |
19.8630 |
20.3970 |
450 |
10.1860 |
22.9100 |
23.1940 |
23.7560 |
475 |
10.4920 |
26.4580 |
26.7080 |
28.4460 |
500 |
10.7430 |
31.9670 |
32.1420 |
32.5750 |
525 |
10.9610 |
35.3200 |
35.9350 |
35.8810 |
550 |
11.2040 |
41.2640 |
40.9620 |
41.4230 |
575 |
11.4250 |
44.7960 |
47.5620 |
46.2960 |
600 |
11.8490 |
50.7430 |
51.6190 |
52.1610 |
625 |
12.1230 |
57.3220 |
57.5790 |
59.1990 |
650 |
12.3980 |
62.9020 |
64.8640 |
65.6290 |
675 |
12.8300 |
68.9850 |
72.4900 |
72.7830 |
700 |
13.0360 |
76.9080 |
79.8790 |
82.3730 |
725 |
13.5360 |
85.3710 |
88.8430 |
90.0690 |
750 |
13.9740 |
94.3260 |
97.9820 |
99.4330 |
775 |
14.3910 |
104.9200 |
108.5520 |
110.9630 |
800 |
15.8700 |
115.4030 |
120.2640 |
122.3370 |
825 |
15.3340 |
126.9260 |
132.1020 |
134.9140 |
850 |
15.7880 |
139.1550 |
146.1490 |
148.1240 |
875 |
16.3960 |
153.3190 |
160.5810 |
163.7480 |
900 |
16.9250 |
167.7830 |
175.1140 |
178.1520 |
925 |
19.3020 |
183.8730 |
191.3930 |
193.7220 |
950 |
18.0240 |
200.6570 |
209.6250 |
213.2910 |
975 |
20.5690 |
214.4280 |
226.4330 |
230.0820 |
1000 |
20.9180 |
233.5670 |
243.7870 |
248.7710 |
1025 |
19.5760 |
251.8600 |
266.6490 |
269.8340 |
1050 |
20.2790 |
274.7790 |
287.7060 |
294.5320 |
1075 |
23.9810 |
295.9090 |
||
1100 |
23.9540 |
|||
1125 |
23.0520 |
|||
1150 |
24.1260 |
|||
1175 |
26.9750 |
|||
1200 |
28.7840 |
|||
1225 |
25.0830 |
|||
1250 |
27.1640 |
|||
1275 |
29.3860 |
|||
1300 |
28.5730 |
|||
1325 |
28.5430 |
|||
1350 |
30.7830 |
|||
1375 |
34.2250 |
|||
1400 |
35.0140 |
|||
1425 |
36.1890 |
|||
1450 |
36.9700 |
|||
1475 |
36.8790 |
|||
1500 |
39.5920 |
|||
1525 |
38.0380 |
|||
1550 |
42.1040 |
|||
1575 |
42.5670 |
|||
1600 |
44.7470 |
|||
1625 |
44.4710 |
|||
1650 |
46.3590 |
|||
1675 |
47.2270 |
|||
1700 |
48.5230 |
|||
1725 |
48.7090 |
|||
1750 |
53.6230 |
|||
1775 |
52.6760 |
|||
1800 |
54.2970 |
|||
1825 |
56.1120 |
|||
1850 |
58.7650 |
|||
1875 |
59.2520 |
|||
1900 |
58.8420 |
|||
1925 |
60.5000 |
|||
1950 |
65.9760 |
|||
1975 |
64.4320 |
|||
2000 |
65.5510 |
|||
2025 |
69.0590 |
|||
2050 |
68.9960 |
|||
2075 |
69.1650 |
|||
2100 |
72.1330 |
|||
2125 |
72.6110 |
|||
2150 |
75.4140 |
|||
2175 |
78.6630 |
|||
2200 |
78.6470 |
|||
2250 |
81.5950 |
|||
2275 |
84.2900 |
|||
2300 |
86.0180 |
|||
2325 |
93.6220 |
|||
2350 |
104.8510 |
|||
2375 |
96.3120 |
|||
2400 |
105.8430 |
|||
2425 |
110.6300 |
|||
2450 |
112.7820 |
|||
2475 |
116.3270 |
|||
2500 |
121.3220 |
|||
2525 |
130.2110 |
|||
2550 |
134.8300 |
|||
2575 |
144.7060 |
|||
2600 |
151.9670 |
|||
2625 |
158.3420 |
|||
2650 |
165.8270 |
|||
2700 |
185.9890 |
|||
2725 |
190.6510 |
|||
2750 |
199.0610 |
|||
2775 |
213.2880 |
|||
3000 |
245.5460 |
Software information
RTI developed a testing framework specifically designed for discovery benchmarking. This framework was used to perform the tests detailed in this document. This framework is capable of running simultaneously different application loads and commands in all the hosts in the experiment. It can collect all of the results and monitor the resource usage of the hosts.
The framework is composed of four main applications: the Manager, Monitor, Agent and Test Application.
The Manager is the initial process to be run. This process launches and coordinates the Agents on each of the test hosts. The Agents are in charge of launching as many Test Applications as the Manager requests. The Manager also requests the Agents to start the tests and shut down.
The Monitor tool is used to visualize the memory, CPU, and discovery data from the Agent and the Test Application. It also indicates problems in the communication (hosts not connected, missed deadlines, etc.).
RTI Connext 6.1.1 is used for compiling and linking. The architecture chosen for the libraries is x64Linux3gcc4.8.2.
Security Profiles
In this set of tests, we compared the discovery times, increasing the number of endpoints, for different levels of security. We will differentiate among four levels:
No Security: This test will use RTI Connext Professional without Security Plugins.
Secure Libraries, Authentication Only: This test uses Security Plugins and requires authentication, but doesn’t protect any messages (no encryption and no “MAC’ing”). This test uses this governance file:
<dds> <domain_access_rules> <domain_rule> <domains> <id_range> <min>0</min> </id_range> </domains> <allow_unauthenticated_participants>TRUE</allow_unauthenticated_participants> <enable_join_access_control>FALSE</enable_join_access_control> <discovery_protection_kind>NONE</discovery_protection_kind> <liveliness_protection_kind>NONE</liveliness_protection_kind> <rtps_protection_kind>NONE</rtps_protection_kind> <topic_access_rules> <topic_rule> <topic_expression>*</topic_expression> <enable_discovery_protection>FALSE</enable_discovery_protection> <enable_read_access_control>FALSE</enable_read_access_control> <enable_write_access_control>FALSE</enable_write_access_control> <metadata_protection_kind>NONE</metadata_protection_kind> <data_protection_kind>NONE</data_protection_kind> </topic_rule> </topic_access_rules> </domain_rule> </domain_access_rules> </dds>
Secure Libraries, Secure Discovery In this test, we enable security restrictions for discovery. This is the governance file used:
<dds> <domain_access_rules> <domain_rule> <domains> <id_range> <min>0</min> </id_range> </domains> <allow_unauthenticated_participants>FALSE</allow_unauthenticated_participants> <enable_join_access_control>TRUE</enable_join_access_control> <discovery_protection_kind>ENCRYPT</discovery_protection_kind> <liveliness_protection_kind>ENCRYPT</liveliness_protection_kind> <rtps_protection_kind>NONE</rtps_protection_kind> <topic_access_rules> <topic_rule> <topic_expression>*</topic_expression> <enable_discovery_protection>TRUE</enable_discovery_protection> <enable_read_access_control>TRUE</enable_read_access_control> <enable_write_access_control>TRUE</enable_write_access_control> <metadata_protection_kind>NONE</metadata_protection_kind> <data_protection_kind>NONE</data_protection_kind> </topic_rule> </topic_access_rules> </domain_rule> </domain_access_rules> </dds>
Secure Libraries, Secure Discovery + Sign This test is similar to Secure Discovery but also adds an
rtps_protection_kind
ofSIGN
. This is the governance file used:<dds> <domain_access_rules> <domain_rule> <domains> <id_range> <min>0</min> </id_range> </domains> <allow_unauthenticated_participants>FALSE</allow_unauthenticated_participants> <enable_join_access_control>TRUE</enable_join_access_control> <discovery_protection_kind>ENCRYPT</discovery_protection_kind> <liveliness_protection_kind>ENCRYPT</liveliness_protection_kind> <rtps_protection_kind>SIGN</rtps_protection_kind> <topic_access_rules> <topic_rule> <topic_expression>*</topic_expression> <enable_discovery_protection>TRUE</enable_discovery_protection> <enable_read_access_control>TRUE</enable_read_access_control> <enable_write_access_control>TRUE</enable_write_access_control> <metadata_protection_kind>NONE</metadata_protection_kind> <data_protection_kind>NONE</data_protection_kind> </topic_rule> </topic_access_rules> </domain_rule> </domain_access_rules> </dds>
Hardware information
Eight hosts were used to run the tests: seven to run the discovery applications and one to monitor and log the output information.
All these hosts have the following characteristics:
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
All the hosts were connected to the same 10 Gigabit Ethernet switch.
Some extra tuning was done to improve the network and memory capabilities of the hosts:
net.core.rmem_default=65536
net.core.rmem_max=10485760
net.core.wmem_default=65536
net.core.wmem_max=10485760
net.ipv4.ipfrag_high_thresh=8388608
net.core.netdev_max_backlog=30000
You can find more information about this tuning for a better Connext response on RTI Community here.
QOS used
These are the QoS settings used for the Test Applications and Agents. In these QoS settings, we avoid sending the type code and TypeObject during discovery, relax the lease duration settings for participant discovery, and increase the buffer size of the UDPv4 receive sockets.
<dds>
<qos_library name="DiscoveryLibrary">
<qos_profile name="BaseDiscoveryProfile">
<participant_qos name="BaseParticipantQos">
<transport_builtin>
<mask>UDPv4</mask>
</transport_builtin>
<resource_limits>
<type_code_max_serialized_length>0</type_code_max_serialized_length>
<type_object_max_serialized_length>0</type_object_max_serialized_length>
</resource_limits>
<discovery_config>
<participant_liveliness_lease_duration>
<sec>200</sec>
<nanosec>0</nanosec>
</participant_liveliness_lease_duration>
<participant_liveliness_assert_period>
<sec>10</sec>
<nanosec>0</nanosec>
</participant_liveliness_assert_period>
<remote_participant_purge_kind>LIVELINESS_BASED_REMOTE_PARTICIPANT_PURGE
</remote_participant_purge_kind>
<max_liveliness_loss_detection_period>
<sec>10</sec>
<nanosec>0</nanosec>
</max_liveliness_loss_detection_period>
</discovery_config>
<property>
<value>
<element>
<name>dds.transport.UDPv4.builtin.recv_socket_buffer_size</name>
<value>1048576</value>
</element>
</value>
</property>
</participant_qos>
</qos_profile>
</qos_library>
</dds>
2.4.2.2. Comparison between 6.1 and 6.0.1¶
Due to several improvements added in Connext and Security Plugins in 6.1.0, you will see big improvements in discovery time in 6.1. The following graph and tables show the results of the tests above done for both 6.0.1 and 6.1.1.
Note
Note that the numbers used to compare these two releases were taken independently, in a different laboratory, hence the mismatch between these numbers and the ones above. See the hardware information for more details.
Time to complete Discovery (Seconds)
Participants |
No Security |
Authentication Only |
Secure Discovery |
Secure Discovery + Sign |
---|---|---|---|---|
50 |
2.7320 |
3.0650 |
3.1160 |
3.3220 |
75 |
3.0160 |
3.5920 |
3.6760 |
3.8000 |
100 |
3.4170 |
4.2510 |
6.4510 |
6.1540 |
125 |
4.2110 |
8.1120 |
8.2910 |
8.7180 |
150 |
5.1460 |
11.2380 |
10.3900 |
10.5340 |
175 |
6.0260 |
14.2170 |
13.2850 |
13.2770 |
200 |
6.8690 |
15.0870 |
17.2230 |
17.1860 |
225 |
8.2230 |
18.6980 |
20.9340 |
21.5640 |
250 |
9.8220 |
24.4040 |
26.5830 |
26.7730 |
275 |
12.1190 |
28.1240 |
32.0280 |
32.5500 |
300 |
13.6740 |
32.6540 |
37.4390 |
38.4670 |
Participants |
No Security |
Authentication Only |
Secure Discovery |
Secure Discovery + Sign |
---|---|---|---|---|
50 |
2.2760 |
4.3590 |
2.8210 |
2.8080 |
75 |
2.3510 |
4.4000 |
4.5090 |
4.4040 |
100 |
2.3500 |
4.5380 |
4.4580 |
4.5930 |
125 |
2.3840 |
4.5420 |
4.6590 |
4.6930 |
150 |
4.4200 |
4.7710 |
4.9590 |
4.8900 |
175 |
3.3630 |
4.8130 |
5.0310 |
5.0800 |
200 |
4.4520 |
5.1000 |
5.3790 |
7.5920 |
225 |
6.5650 |
5.4150 |
5.9290 |
5.7130 |
250 |
6.6730 |
5.7440 |
8.1850 |
8.3000 |
275 |
6.8960 |
8.3340 |
8.9760 |
9.2530 |
300 |
7.0960 |
9.0950 |
10.3510 |
9.9280 |
325 |
7.2540 |
9.9140 |
11.7060 |
11.9550 |
350 |
7.4240 |
11.9780 |
12.7840 |
12.9820 |
375 |
7.5560 |
14.5670 |
15.0370 |
15.1950 |
400 |
9.5910 |
16.2720 |
17.4220 |
17.2310 |
425 |
9.9360 |
19.7870 |
19.8630 |
20.3970 |
450 |
10.1860 |
22.9100 |
23.1940 |
23.7560 |
475 |
10.4920 |
26.4580 |
26.7080 |
28.4460 |
500 |
10.7430 |
31.9670 |
32.1420 |
32.5750 |
525 |
10.9610 |
35.3200 |
35.9350 |
35.8810 |
550 |
11.2040 |
41.2640 |
40.9620 |
41.4230 |
575 |
11.4250 |
44.7960 |
47.5620 |
46.2960 |
600 |
11.8490 |
50.7430 |
51.6190 |
52.1610 |
625 |
12.1230 |
57.3220 |
57.5790 |
59.1990 |
650 |
12.3980 |
62.9020 |
64.8640 |
65.6290 |
675 |
12.8300 |
68.9850 |
72.4900 |
72.7830 |
700 |
13.0360 |
76.9080 |
79.8790 |
82.3730 |
725 |
13.5360 |
85.3710 |
88.8430 |
90.0690 |
750 |
13.9740 |
94.3260 |
97.9820 |
99.4330 |
775 |
14.3910 |
104.9200 |
108.5520 |
110.9630 |
800 |
15.8700 |
115.4030 |
120.2640 |
122.3370 |
825 |
15.3340 |
126.9260 |
132.1020 |
134.9140 |
850 |
15.7880 |
139.1550 |
146.1490 |
148.1240 |
875 |
16.3960 |
153.3190 |
160.5810 |
163.7480 |
900 |
16.9250 |
167.7830 |
175.1140 |
178.1520 |
925 |
19.3020 |
183.8730 |
191.3930 |
193.7220 |
950 |
18.0240 |
200.6570 |
209.6250 |
213.2910 |
975 |
20.5690 |
214.4280 |
226.4330 |
230.0820 |
1000 |
20.9180 |
233.5670 |
243.7870 |
248.7710 |
1025 |
19.5760 |
251.8600 |
266.6490 |
269.8340 |
1050 |
20.2790 |
274.7790 |
287.7060 |
294.5320 |
1075 |
23.9810 |
295.9090 |
||
1100 |
23.9540 |
|||
1125 |
23.0520 |
|||
1150 |
24.1260 |
|||
1175 |
26.9750 |
|||
1200 |
28.7840 |
|||
1225 |
25.0830 |
|||
1250 |
27.1640 |
|||
1275 |
29.3860 |
|||
1300 |
28.5730 |
|||
1325 |
28.5430 |
|||
1350 |
30.7830 |
|||
1375 |
34.2250 |
|||
1400 |
35.0140 |
|||
1425 |
36.1890 |
|||
1450 |
36.9700 |
|||
1475 |
36.8790 |
|||
1500 |
39.5920 |
|||
1525 |
38.0380 |
|||
1550 |
42.1040 |
|||
1575 |
42.5670 |
|||
1600 |
44.7470 |
|||
1625 |
44.4710 |
|||
1650 |
46.3590 |
|||
1675 |
47.2270 |
|||
1700 |
48.5230 |
|||
1725 |
48.7090 |
|||
1750 |
53.6230 |
|||
1775 |
52.6760 |
|||
1800 |
54.2970 |
|||
1825 |
56.1120 |
|||
1850 |
58.7650 |
|||
1875 |
59.2520 |
|||
1900 |
58.8420 |
|||
1925 |
60.5000 |
|||
1950 |
65.9760 |
|||
1975 |
64.4320 |
|||
2000 |
65.5510 |
|||
2025 |
69.0590 |
|||
2050 |
68.9960 |
|||
2075 |
69.1650 |
|||
2100 |
72.1330 |
|||
2125 |
72.6110 |
|||
2150 |
75.4140 |
|||
2175 |
78.6630 |
|||
2200 |
78.6470 |
|||
2250 |
81.5950 |
|||
2275 |
84.2900 |
|||
2300 |
86.0180 |
|||
2325 |
93.6220 |
|||
2350 |
104.8510 |
|||
2375 |
96.3120 |
|||
2400 |
105.8430 |
|||
2425 |
110.6300 |
|||
2450 |
112.7820 |
|||
2475 |
116.3270 |
|||
2500 |
121.3220 |
|||
2525 |
130.2110 |
|||
2550 |
134.8300 |
|||
2575 |
144.7060 |
|||
2600 |
151.9670 |
|||
2625 |
158.3420 |
|||
2650 |
165.8270 |
|||
2700 |
185.9890 |
|||
2725 |
190.6510 |
|||
2750 |
199.0610 |
|||
2775 |
213.2880 |
|||
3000 |
245.5460 |
Participants |
No Security |
Authentication Only |
Secure Discovery |
Secure Discovery + Sign |
---|---|---|---|---|
50 |
0.10 |
-0.04 |
-1.95 |
-1.77 |
75 |
-0.43 |
-0.17 |
-2.03 |
-3.29 |
100 |
-0.59 |
-0.29 |
-2.67 |
-2.87 |
125 |
-0.95 |
-2.43 |
-6.69 |
-7.07 |
150 |
-1.00 |
-0.02 |
-13.30 |
-15.13 |
175 |
-2.05 |
-0.65 |
-24.91 |
-26.12 |
200 |
-2.72 |
-3.56 |
-39.77 |
-42.37 |
225 |
-4.10 |
-3.23 |
-57.72 |
-59.01 |
250 |
-7.25 |
-2.73 |
-75.99 |
-79.83 |
275 |
-6.25 |
-7.43 |
-97.55 |
-102.68 |
300 |
-7.62 |
-6.99 |
-123.44 |
-127.37 |
For more information about the improvements that account for these gains, see:
“Improved support for concurrency in data reception events in DataReaders in a DomainParticipant” in the Core Libraries’s Performance Improvements
“Improved discovery scalability when using BuiltinQosLib::Generic.Security profile” in the Security Plugins’s Changes Related to Scalability
“Endpoint state transition improvements for key distribution” in the Security Plugins’s Changes Related to Scalability
“Potentially very long recovery times for timed-out authentications” in the Security Plugins’s Fixes Related to Scalability
Hardware information
Eight hosts were used to run the tests: seven to run the discovery applications and one to monitor and log the output information.
All these hosts have the following characteristics:
CPU Intel Core Xeon (12 Cores) 3.6GHz
Memory (RAM): 12 GB
OS: CentOS 7
All the hosts were connected to the same Gigabit Ethernet switch.
Some extra tuning was done to improve the network and memory capabilities of the hosts:
net.core.rmem_default=65536
net.core.rmem_max=10485760
net.core.wmem_default=65536
net.core.wmem_max=10485760
net.ipv4.ipfrag_high_thresh=8388608
net.core.netdev_max_backlog=30000
You can find more information about this tuning for a better Connext response on RTI Community here.