[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: TurboExpress Card [Re: Sad days for data for TS4 traders]



PureBytes Links

Trading Reference Links

Dear Bob,

Thank for your generous and, as usual, lucid explanation.

I believe that you have inadvertently explained why the Telcor Systems T-Port card was so effective with TradeStation.  To quote from Telcor's "T-Port Installation Guide":

"What allows the T-Port to outperform the standard communications chips that were shipped with your PC?

"First, the T-Port has greater buffer capacity.  Standard interfaces, such as the ... 16550 ... UART, feature only 1 to 16 characters of buffering, while the T-Port dedicates 16,000 bytes to buffer incoming data and 14,000 bytes to handle outgoing data."

It appears to me that the issue is not speed but buffering, and for buffering, the T-Port card, with 16,000 bytes of buffering, wins hands down.  Unfortunately, the T-Port card works only with DOS or Win 3.11, and Telcor has long since gone out of business.  The TurboExpress card, with 64 bytes of buffering, while providing some help, seems a distant second.

Sincerely,

Richard

Bob Fulks wrote:

> At 10:09 AM -0500 1/19/00, Richard Josslin wrote:
>
> >I do hope that I am wrong about this, and I do invite you and anyone else to
> >see if the installation of a TurboExpress card or any other after-market
> >"fix" could improve the performance and reliability of TS4 to chart data
> >received from the DynaStore program.
>
> I believe the potential benefit of the TurboExpress card in this application is in the size of its FIFO (first-in-first-out) buffer.
>
> The BMI box (and perhaps others) sends data at a fixed rate.
>
> The server can accept data at some average rate, presumably related to how much work it has to do, which is related to how many symbols you are collecting data on, etc.
>
> If the server is mostly not busy (and the computer is not doing anything else) then it should be sitting idle most of the time waiting for new data and should be able to grab every tick from the source. But as it gets busier, then a tick will sometimes occur while the computer is busy doing other things and the tick would be lost.
>
> The FIFO buffer helps by storing some number of ticks which allows the server to grab the next one when it has time to process it. If the buffer is infinitely large, then so long as the average rate at which the server can process ticks is higher than the average rate the source produces ticks, then no ticks are lost. They may be delayed but they are not lost. But if the buffer size is limited, then in certain cases, it will get full and new ticks will have no place to go and will be lost.
>
> So the bigger buffer in the chip used in the TurboExpress card should result in fewer ticks getting lost. But even if the card can process data at some very high speed, the speed of the total process is limited to the slowest speed of any of the three components, the source, the card, or the server/computer combination.
>
> To quote the description on their web page at <http://www.turbocom.com/texport.html>:
>
>     Reliability is solid even at extremely high data rates because the
>     16750 UART holds incoming and outgoing characters in extra-deep
>     FIFO (First-In-First-Out) buffers. These buffers can store 64 bytes
>     each, versus only 16 bytes for the ordinary 16550 UART. UART-mediated
>     hardware flow control provides nearly complete immunity from overrun
>     and queue overflow errors.
>
> Putting a few numbers on this should give us an idea of how it works. Assuming a 38.4K baud rate, this is about 4000 bytes per second, or 0.25 millisecond per byte. So the 16 byte FIFO in the 16550 UART chip can store data for about 4 milliseconds (four thousands of a second). The 64 byte FIFO in the 16750 UART chip can store data for about 16 milliseconds. So if the server can process data at greater than 4000 bytes per second on the average, and doesn't get stuck on some task for more than about 16 milliseconds, the FIFO buffer in the UART chip should allow no data loss. (Exact calculations would require estimated of the distributions and queueing theory.)
>
> Assuming we wanted no data loss and could wait as long as a second for the data, we would ideally like a FIFO 64 times this large, or about 4,000 bytes. No such card is available that I know of. Black Box Corp. has a box that has a 32,000 byte buffer which is probably overkill for this requirement, and a lot more expensive.
>
> Bob Fulks