Specifications
14
High Performance Trading/Algo Speed with Wombat Design and Implementation Guide
OL-15617-01
Testing
Testing
Methodology
Test Setup
Six servers are arranged as in Figure 8. The components consist of recorded OPRA (options price
reporting authority) data (from April 2, 2007), the Wombat playback mechanism mcpub using the
papareplay library, the Wombat OPRA feed handler (OPRA FH), and Wombat’s preferred performance
measurement client, mamaperf. Mcpub replays data from previously captured OPRA files. The goal of
the papareplay library is to mimic the original timing of the market data. This is important, since market
data is notoriously spikey, which can affect performance. The job of papareplay is to preserve the
relative timing of updates even as the playback rate is increased. The OPRA feed handler normalizes
and redistributes content, keeps a current cache, and otherwise manages the feed on behalf of consuming
clients. mamaperf subscribes to content and calculates and logs latency statistics (see
Data
Observations, page 16 for more detail).
Three mcpub instances were run on one server, each listening to a single OPRA line (multicast channel)
plus its backup (i.e., performing line arbitration) and publishing on a two multicast channels. These
transmitted exchange data over a GigE switch. Downstream was a single server running three instances
of the Wombat OPRA feed handler. Each instance was dedicated to a single OPRA FH channel. Twelve
mamaperf clients were distributed across four machines, three to a machine. Each mamaperf instance
subscribed to all of the items from one of the three channels. Across the system, this meant that there
were four consuming applications for each of the three OPRA FH channels.