[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

Bob, good though also you might want to consider the interrupts and their
priority responsible grabbing data from the IO which is largely unknown to
us don't mention the software interrupts and their priorities. While treads
and priorities are more visible to us. At the end of the day field-testing
would speak the loudest. We had a chap earlier this week whom actually using
the said setup and he could tell no difference. Very puzzling. PO insists
that he is the guru in the field and no matter how many "gazillions kilo
bauds" we throw at it is useless. We need some hardware guy with some test
equipment to look at this to determine what might be effective solving this
issue. I wonder if Omega might consider it while only TS4 is affected?

I'm running TS2K for some time now so not terribly well positioned to help
with such a complex issue. I actually think that it is an OK product ;))
well compared to some of the early betas.

Attila




-----Original Message-----
From: bfulks@xxxxxxxxxxxx [mailto:bfulks@xxxxxxxxxxxx]
Sent: Friday, January 21, 2000 6:40 PM
To: Richard Josslin
Cc: Ron Dawes; attila_antal@xxxxxxx; Omega-List
Subject: Re: TurboExpress Card [Re: Sad days for data for TS4 traders]


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