orca-robotics


INTRODUCTION
Overview
Download and Install
Quick Start
Documentation
Publications

REPOSITORY
Interfaces
Components
Libraries
Utilities
Software Map

DEVELOPER
Tutorials
Examples
Dev Guide
Dashboard
Wiki
login/pass: orca/orca

PEOPLE
Contributors
Users

SourceForge.net Logo
Project
Download
Mailing lists

 

         

Performance of Orca Components

Note:
Reviewed for release 2.2.0.
Performance of a distributed system can be measured in variety of ways. For comprehensive performance tests of Ice itself, see this Ice vs CORBA comparison done by ZeroC.

The tests we perform are slightly different and reflect the typical usage of our components: frequent transfer of small to medium size messages. Here we provide some numbers on round trip time (RTT) for sending messages of various sizes. The plots below show average RTT for sending 100 objects with an interval of 0.25s. Vertical bars show min and max values. Ping results are shown for comparison.

perf_rtt_all.png

Hardware
  • Computers: rack-mounted servers with Intel DG965RY motherboards, with 2-core 2.13GHz Intel Core-2 Duo 6400.
  • Network: 1000Mb/s Ethernet using a LinkSys switch.

Software
Operating System.
  • Linux: Kubuntu 6.10. Kernel 2.6.17-10.
  • QNX: Neutrino 6.2.3.

Ice v.3.1.1

  • Compiled with default options.

Orca v.2.2.0

  • Compiled compiled with CMAKE_BUILD_TYPE=Release (translates to -O3 for gcc).
  • Test components orca_test_pinger and orca_test_replier.

Objects
We transmit orca::PingReplyData which contains a single integer and a variable-length sequence of doubles. We use doubles to make Ice work a bit harder during marshalling/demarshalling. Presumably, a sequence of bytes can be copied all at once, whereas doubles must be converted according to endiness. (This is just a theory and should be verified). The length of the sequence of double is varied from 1 to 10e6. The size of the byte stream after serialization is estimated using sizeof() function. This is the size of the payload. The actual number of bytes on the wire is slighly higher due to Ice protocol overhead.

Procedure
Orca objects are sent from Pinger to Replier and immediately sent back. The process is repeated 100 times. There is 0.25s delay after each send-receive operation. For a tutorial on how to obtain these results in your environment see Testing Orca Latencies.

UNIX ping for comparison
The ping settings closely follow the settings described above. RTT values are measured for packet sizes from 16 B to 64 KB (maximum allowed size).

$ ping host -c 100 -s 8 -i 0.25 -q
$ ping host -c 100 -s 24 -i 0.25 -q
...
$ ping host -c 3 -s 32760 -i 0.25 -q
$ ping host -c 3 -s 65499 -i 0.25 -q
 

Webmaster: Tobias Kaupp (tobasco at users.sourceforge.net)


Generated for Orca Robotics by  doxygen 1.4.5