[ts-gen] Fair merge [Was: Do I really need to tail -f ShimText?]

R P Herrold herrold at owlriver.com
Wed Sep 16 16:20:15 EDT 2009

On Wed, 16 Sep 2009, Paul C wrote:

> requests using two shim instances. One question though:  if the same
> 'risk' shim is used for both orders, and to acquire tick and book
> data, is there any possibility that order requests could get delayed
> (a little) while the shim is processing the incoming data?
> I guess not - probably the shim is far too smart.

The shim will not get blocked, but the algorithms used inside 
its feeder (the TWS) is not within our knowledge.

The reason we recommend an order shim and a 'the rest' shim, 
is in part that we know of use cases that may require not 
'getting behind a slow truck on a one lane highway' -- Huge 
history sets (2000 lines by about 50 char per line -- a paltry 
100k bytes of so), or fundamentals data where we see returns 
in the tens of megabytes per detail reply (this is part of why 
our work on memory has needed the care for the last little 

Two shims mean two independent TCP connections upstream to IB, 
and no contention to slow down those possible critically timed 
order requests and messages.  Part of our testing here 
involves several machines behind NATting firewall protections, 
to verify that this works at all times, and not unexpectedly, 
it has always worked.  So long as the next hop pipes are 
larger then the expected peak load data rates, we have done 
all we can.  [I assume that IB will probably sell dedicated 
CIR and redundant path circuits for the TWS -- I know they can 
for the FIX connector]

-- Russ herrold

More information about the ts-general mailing list