9.2. Throughput Benchmark

The throughput is measured between two identical machines using the test configuration shown below and running the RTI Connext DDS Performance Test tool.

The test environment is:

  • 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

      +-----------+                           +----------+
      |           |                           |          |
      |  Sender   +----------Sample --------->| Receiver |
      |           |                           |          |
      +-----------+                           +----------+
      

Interpretation of the measurements:

  • Length - The size of the DDS sample payload (UDP overhead is _not_ included)
  • Packets - The number of samples written.
  • Packets/sec - The number of samples written per second.
  • Mbps - The bandwidth utilization for the payload based on Size and Packets/sec.
  • Lost - On the subscriber size the number of packets received is counted against what is expected.
  • % - Lost packets measured in percent.

9.2.1. C++ Shared Memory Best Effort Keyed

Table 9.9 Throughput C++ Shared Memory Best Effort Keyed
Size (Bytes) Packets Packets/s Mbps (ave) Lost Lost (%)
32 12461618 207693 53.2 416712 3.24
64 12585313 209755 107.4 437222 3.36
128 12854289 214238 219.4 80637 0.62
256 12591545 209857 429.8 545898 4.16
1024 12270235 204503 1675.3 508530 3.98
4096 11737219 195620 6410.1 121176 1.02
8192 10593673 176561 11571.1 98265 0.92
63000 4106165 68436 34491.8 0 0.00

9.2.2. C++ Shared Memory Best Effort Unkeyed

Table 9.10 Throughput C++ Shared Memory Best Effort Unkeyed
Size (Bytes) Packets Packets/s Mbps (ave) Lost Lost (%)
32 13321914 222031 56.8 874747 6.16
64 13084206 218070 111.7 1166373 8.18
128 13345328 222421 227.8 696723 4.96
256 13321052 222016 454.7 823204 5.82
1024 13211530 220191 1803.8 846684 6.02
4096 12460227 207670 6804.9 594336 4.55
8192 11613673 193561 12685.2 128077 1.09
63000 4285796 71430 36000.7 20 0.00

9.2.3. C++ Shared Memory Reliable Keyed

Table 9.11 Throughput C++ Shared Memory Reliable Keyed
Size (Bytes) Packets Packets/s Mbps (ave) Lost Lost (%)
32 10096778 168279 43.1 0 0.00
64 10277040 171284 87.7 0 0.00
128 10323059 172050 176.2 0 0.00
256 10244846 170747 349.7 0 0.00
1024 10224089 170401 1395.9 0 0.00
4096 8680725 144678 4740.8 0 0.00
8192 8583233 143053 9375.2 0 0.00
63000 3563026 59383 29929.4 0 0.00

9.2.4. C++ Shared Memory Reliable Unkeyed

Table 9.12 Throughput C++ Shared Memory Reliable Unkeyed
Size (Bytes) Packets Packets/s Mbps (ave) Lost Lost (%)
32 10986128 183102 46.9 0 0.00
64 10972522 182875 93.6 0 0.00
128 10927417 182123 186.5 0 0.00
256 10864332 181072 370.8 0 0.00
1024 10678021 177967 1457.9 0 0.00
4096 10062121 167701 5495.3 0 0.00
8192 9037141 150618 9871.0 0 0.00
63000 3052864 50879 25643.3 0 0.00

9.2.5. C++ UDPv4 1Gbps Best Effort Keyed

Table 9.13 Throughput C++ UDPv4 1Gbps Best Effort Keyed
Size (Bytes) Packets Packets/s Mbps (ave) Lost Lost (%)
32 10161627 169293 43.3 107063 1.04
64 10245755 170759 87.4 12413 0.12
128 9995367 166524 170.5 270566 2.64
256 9572516 159522 326.7 678835 6.62
1024 6388960 106476 872.3 0 0.00
4096 1766534 29440 964.7 0 0.00
8192 899134 14984 982.0 0 0.00
63000 118016 1966 991.3 0 0.00

9.2.6. C++ UDPv4 1Gbps Best Effort Unkeyed

Table 9.14 Throughput C++ UDPv4 1Gbps Best Effort Unkeyed
Size (Bytes) Packets Packets/s Mbps (ave) Lost Lost (%)
32 10578088 176236 45.1 324656 2.98
64 10358451 172640 88.4 718324 6.48
128 10441511 173959 178.1 322200 2.99
256 9751586 162507 332.8 876157 8.24
1024 6522221 108698 890.5 0 0.00
4096 1776564 29607 970.2 0 0.00
8192 901732 15028 984.9 0 0.00
63000 118065 1967 991.7 0 0.00

9.2.7. C++ UDPv4 1Gbps Reliable Keyed

Table 9.15 Throughput C++ UDPv4 1Gbps Reliable Keyed
Size (Bytes) Packets Packets/s Mbps (ave) Lost Lost (%)
32 7910871 131847 33.8 0 0.00
64 7936690 132277 67.7 0 0.00
128 7427761 123795 126.8 0 0.00
256 7905701 131761 269.8 0 0.00
1024 6370226 106169 869.7 0 0.00
4096 1764921 29414 963.9 0 0.00
8192 898691 14977 981.6 0 0.00
63000 115722 1928 972.0 0 0.00

9.2.8. C++ UDPv4 1Gbps Reliable Unkeyed

Table 9.16 Throughput C++ UDPv4 1Gbps Reliable Unkeyed
Size (Bytes) Packets Packets/s Mbps (ave) Lost Lost (%)
32 7862633 131043 33.5 0 0.00
64 8262641 137710 70.5 0 0.00
128 8342711 139045 142.4 0 0.00
256 8341524 139025 284.7 0 0.00
1024 6502871 108380 887.9 0 0.00
4096 1774961 29581 969.3 0 0.00
8192 901281 15020 984.4 0 0.00
63000 115767 1929 972.4 0 0.00