Chapter 11. Optimizing Data Throughput

Table of Contents

11.1. Binary Mode Tunnel/Mirror (TCP) Connections
11.2. Tunnel/Mirror (TCP) Connections for Slow Networks
11.3. Old Value Queuing
11.4. Un-Buffered Delivery
11.5. Screen Output
11.6. CPU Saturation
11.7. How to Optimize
11.7.1. Tunnel/Mirror (TCP) connections
11.7.2. DataHub C++ API
11.7.3. Gamma scripts

The Cascade DataHub has a wide range of configuration options. Among these there are several settings that will optimize data throughput. These are explained in this chapter.

11.1. Binary Mode Tunnel/Mirror (TCP) Connections

TCP/IP connections to the Cascade DataHub can be either ASCII or binary mode. A large part of the CPU cost of transmission is marshalling messages (constructing messages at the source and parsing them at the destination). The binary mode is more efficient in both network bandwidth and CPU usage for both the sender and the receiver. Binary mode requires that the CPU architecture of the sender and the receiver agree, so you can only use this mode if you are running both the sender and the receiver on an Intel x86 CPU. The CPU gain could be as much as 50% when using binary mode. Numeric data benefits most from this option.

How to Optimize

    For tunnelling connections, always use binary mode if possible. Please refer to How to Optimize, Binary mode transmission for details.

    For TCP/IP connections using the C++ API, always use binary mode if possible. Please refer to How to Optimize, Section 11.7.2, “DataHub C++ API” for details.

    Always use binary mode when writing programs in Linux or QNX with the Cogent C API. Please refer to Optimizing Throughput in the Cogent C API manual for details.