Try TT Now

Configuring a Multiple-Multicast Network

Overview

If your network needs to support coalesced prices for trading clients and non-coalesced prices for Synthetic SE, but the network infrastructure cannot provide the necessary bandwidth to handle both types of prices, you can create multiple multicasts. The network uses one multicast to handle the traffic for coalesced prices, orders, and fills for the trading clients. To maximize performance, the network contains the TT Gateways with dedicated non-coalesced Price Servers in a separate network segment. Additionally, it provides individual multicasts for each Price Server. Synthetic SE connects to these dedicated Price Servers for dedicated access to non-coalesced prices, while X_TRADER clients and remote trading clients use the standard TT Gateways for price, order, and fill data.

Warning

Separating messages onto multiple multicasts is an advanced task that should only be performed under the supervision of your TAM. Many TT messages are interdependent and cannot be separated, and some TT features use dynamically defined messages. Incorrectly configured multicasts could cause messages to be dropped. Additionally, TT may rename, add, or remove messages at any time. Customers will only be notified of changes made to messages used in the supported multiple multicast scenarios.

For more information about multiple multicasts, refer to the TT Network Administration Manual.

Mixed Environment Illustrated

The following figure illustrates a environment that allows Synthetic SE to retrieve non-coalesced prices from a TT Gateway Server Farm that provides non-coalesced prices. This environment contains two independent multicast networks:

  • On the left, a network of TT Gateways with dedicated Price Servers multicasting non-coalesced prices for a Synthetic SE Server
  • On the right, a network of TT Gateways that provide client applications access to prices, orders, and fills

What You Need to Do

To set up a multiple-multicast network environment, you need to perform the following tasks.

  • Verify that each Price Subscription Server disables price coalescing (AConfig utility sets Market-Depth.Inverval-mSec to 0). For more information about this setting, refer to the TT Gateways Architecture System Administration Manual.
  • On one of the Synthetic SE Server machines:
    • Configure the tt_sse.ini file to associate a Price Subscription Gateway with each market.
    • Create a ttminclude.cfg file to identify the TT Gateway ID and multicast address for each TTM subject.
    • Copy the ttminclude.cfg file to all other Synthetic SE Server machines.
  • For the other Synthetic SE Server machines and non-coalesced Price Servers, update their respective ttmd.cfg files to reference the ttminclude.cfg file.

Configuring the tt_sse.ini File

To configure tt_sse.ini:

  1. Using Notepad, open tt_sse.ini, located in <root drive>:ttconfig.
  2. Add additional [gw-Exchange-Flavor] sections as needed.
  3. Determine whether this Synthetic SE will be the primary for this TT Gateway if a client logs into multiple Synthetic SE Servers, and add the Primary configuration option with the appropriate value.
  4. Add Login information to the [gw-Exchange-Flavor] section, where Exchange-Flavor is the TT Gateway to which you want to connect.
  5. Add the name of the TT Gateway containing the non-coalesced Price Servers.
  6. Add additional [gw-Exchange-Flavor] sections as needed, similar to the following

    Example tt_sse.ini

    [gw-CME-A]

    Member=TTORDPM

    Group=XXX

    Trader=MGR

    Primary=Y

    Price_Subscription_Gateway=CME-U

    [gw-ICE_IPE]

    Member=TTORDPM

    Group=XXX

    Trader=MGR

    Primary=Y

    Price_Subscription_Gateway=ICE_IPE-U

  7. Save the tt_sse.ini file.

Configuring the ttminclude.cfg File

You also need to configure the ttminclude.cfg file with the multicast information for each of the TT Gateways to which Synthetic SE connects.

To configure the ttminclude.cfg file:

  1. Using a text editor, create a text file with the following content:

    Example ttminclude.cfg

    <TTMConfiguration>

    <MulticastGroups>

    # TT Gateway 1

    TTVIA.prc.upd.[ps-gw-exch-id].> = [ps-gw-multicast]

    TTVIA.prc.msg.[ps-gw-exch-id].> = [ps-gw-multicast]

    TTVIA.prc.ctl.[ps-gw-exch-id].> = [ps-gw-multicast]

    TTVIA.prc.rfq.[ps-gw-exch-id].> = [ps-gw-multicast]

    TTVIA.prc.ses.[ps-gw-exch-id].> = [ps-gw-multicast]

    TTVIA.prc.req.[ps-gw-exch-id].> = [ps-gw-multicast]

    TTVIA.prc.dl.[ps-gw-exch-id].> = [ps-gw-multicast]

    TTVIA.prc.ack.[ps-gw-exch-id].> = [ps-gw-multicast]

    TTVIA.Time.[ps-gw-exch-id].> = [ps-gw-multicast]

    TTVIA.TTQAP.[ps-gw-exch-id].> = [ps-gw-multicast]

    TTVIA.prc.dl.ttqap.[ps-gw-exch-id].> = [ps-gw-multicast]

    TTVIA.HPS.[ps-gw-exch-id].> = [ps-gw-multicast]

    TTVIA.prod.req.[ps-gw-exch-id].> = [ps-gw-multicast]

    TTVIA.prod.upd.[ps-gw-exch-id].> = [ps-gw-multicast]

    TTVIA.fill.series.bcast.[ps-gw-exch-id].> = [ps-gw-multicast]

    TTVIA.td.[ps-gw-exch-id].> = [ps-gw-multicast]

    TTVIA.ntd.[ps-gw-exch-id].> = [ps-gw-multicast]

    TTVIA.VAP.[ps-gw-exch-id].> = [ps-gw-multicast]

    TTVIA.prc.dl.VAP.[ps-gw-exch-id].> = [ps-gw-multicast]

    TTVIA.dld.[ps-gw-exch-id].> = [ps-gw-multicast]

    TTVIA.SrvSts.[ps-gw-exch-id].> = [customer-multicast]

    # TT Gateway 2

    TTVIA.prc.upd.[ps-gw2-exch-id].> = [ps-gw2-multicast]

    # . . .

    </MulticastGroups>

    </TTMConfiguration>

    Where [ps-gw-exch-id] is the dedicated Gateway flavor exchange ID (e.g. 752) and [ps-gw-multicast] is the Synthetic SE Price Server multicast address. For information about determining the exchange ID, refer to the TT Gateways System Administration Manual.

    The subjects are used by Price API clients. Repeat the subjects within the <MulticastGroups> section for each exchange.

    The following example shows a completed ttminclude.cfg file configured for the ICE_IPE-U (752) and CME-U (694) MPF Servers.

    Example ttminclude.cfg

    <TTMConfiguration>

    <MulticastGroups>

    # ICE_IPE-U Exchange

    TTVIA.prc.upd.752.> = 239.118.1.157

    TTVIA.prc.msg.752.> = 239.118.1.157

    TTVIA.prc.ctl.752.> = 239.118.1.157

    TTVIA.prc.rfq.752.> = 239.118.1.157

    TTVIA.prc.ses.752.> = 239.118.1.157

    TTVIA.prc.req.752.> = 239.118.1.157

    TTVIA.prc.dl.752.> = 239.118.1.157

    TTVIA.prc.ack.752.> = 239.118.1.157

    TTVIA.Time.752.> = 239.118.1.157

    TTVIA.TTQAP.752.> = 239.118.1.157

    TTVIA.prc.dl.ttqap.752.> = 239.118.1.157

    TTVIA.HPS.752.> = 239.118.1.157

    TTVIA.prod.req.752.> = 239.118.1.157

    TTVIA.prod.upd.752.> = 239.118.1.157

    TTVIA.fill.series.bcast.752.> = 239.118.1.157

    TTVIA.td.752.> = 239.118.1.157

    TTVIA.ntd.752.> = 239.118.1.157

    TTVIA.VAP.752.> = 239.118.1.157

    TTVIA.prc.dl.VAP.752.> = 239.118.1.157

    TTVIA.dld.752.> = 239.118.1.157

    TTVIA.SrvSts.752.> = 239.118.1.1

    # CME-U Exchange

    TTVIA.prc.upd.694.> = 239.118.1.199

    TTVIA.prc.msg.694.> = 239.118.1.199

    TTVIA.prc.ctl.694.> = 239.118.1.199

    TTVIA.prc.rfq.694.> = 239.118.1.199

    TTVIA.prc.ses.694.> = 239.118.1.199

    TTVIA.prc.req.694.> = 239.118.1.199

    TTVIA.prc.dl.694.> = 239.118.1.199

    TTVIA.prc.ack.694.> = 239.118.1.199

    TTVIA.Time.694.> = 239.118.1.199

    TTVIA.TTQAP.694.> = 239.118.1.199

    TTVIA.prc.dl.ttqap.694.> = 239.118.1.199

    TTVIA.HPS.694.> = 239.118.1.199

    TTVIA.prod.req.694.> = 239.118.1.199

    TTVIA.prod.upd.694.> = 239.118.1.199

    TTVIA.fill.series.bcast.694.> = 239.118.1.199

    TTVIA.td.694.> = 239.118.1.199

    TTVIA.ntd.694.> = 239.118.1.199

    TTVIA.VAP.694.> = 239.118.1.199

    TTVIA.prc.dl.VAP.694.> = 239.118.1.199

    TTVIA.dld.694.> = 239.118.1.199

    TTVIA.SrvSts.694.> = 239.118.1.1

    </MulticastGroups>

    </TTMConfiguration>

  2. Save the file as ttminclude.cfg.
  3. Copy the ttminclude.cfg file to the <root drive>:ttconfig directory on other Synthetic SE Servers and on each of the dedicated Price Server Gateways supporting Synthetic SE.

Updating the ttmd.cfg file to reference the ttminclude.cfg file

Perform the following procedure for all Synthetic SE Server machines and all non-coalesced Price Servers to which Synthetic SE connects.

To update the ttmd.cfg file to reference the ttminclude.cfg file:

  1. With a text editor, open the <root drive>:ttconfigttmd.cfg file.
  2. After the file header, add a line with the IncludeFile parameter, as follows:
  3. Example ttm.cfg file

    #

    # TTM Communication Daemon Configuration file

    # Copyright(C) 2009 Trading Technologies International Inc., all

    # rights reserved

    #

    ####################################################################

    IncludeFile=ttminclude.cfg

    <TTMConfiguration>

    # ...

    </TTMConfiguration>

  4. Restart TTM on the Synthetic SE Server and on every affected TT Gateway.