> I have just started looking at a project which needs to process high data
STP is an appropriate choice. However, note that it is not the
protocol per se that makes STP efficient (high speed data transfer
with low CPU use). It is the fact that the protocol is designed to
enable hardware acceleration. When you use hardware acceleration, you
get high efficiency. With pure software, the efficiency is somewhat
better than TCP, but the protocol doesn't do quite as much for you as
> The idea is to string together a set of machines connected by a
> Gigabit network. A typical data rate would be a sustained 350Mbits/s
> input and output for each machine.
Pekka (Pekka.Pietikainen@xxxxxxx) published some numbers a little
while ago which were ~47 MB/s using 1-2% CPU. The source was a
2x500 and the sink a 1x400.
If you're willing to `cheat' and use Ethernet jumbo frames, you can
get all the way up to 102MB/s with mebe 5% CPU.
SGI has done ~790 MB/s (!) on GSN (roughly 10 GigE speed) using < 10%
CPU on a run of the mill Origin 2000 (and we all know how slow the
CPUs are on those babies :^) That's the fastest wire that ST runs on.
It was expected that the protocol would scale at least to the
equivalent of 100 GigE.
The trick when you start crawling up to a significant portion of your
memory bandwidth with I/O traffic is to remember that application code
which used to take 5% CPU to execute can start taking a LOT MORE CPU
due to memory contention. 80 MB/s of I/O traffic is going to have
substantial additional main memory consumption overhead. Whether
it'll really interfere depends upon the design of your box.
> We are looking at using the Netgear GA620 network card - is this the
You must use a card which has ST acceleration. Currently the Alteon,
is the only GigE card that has it. Ask Pekka for the particulars.
The Alteon card is using firmware acceleration, and the onboard
processor/code is a bit slow, which is why it is limited to 47 MB/s
with 1500 byte ethernet frames. Somebody in England (I seem to have
lost the reference) did custom Alteon firmware for a similar project
and got wire speed performance. There was some mention of trying to
adapt that firmware to accelerating ST. Again, Pekka can probably
tell you where the bodies are buried with that.
For what you're trying to do, the limitations of the existing firmware
may or may not be OK. It's not clear from your message whether you're
planning to go in and out on the same interface. I would guess so, in
which case, if you don't use jumbo frames, the Alteon firmware may run
out of gas.