"Alex Karasulu" <[EMAIL PROTECTED]> wrote:
That's neat experiment. I'd be interested in seeing a simple application
and some performance metrics. I think TCP based protocols would most
benefit from this.
As I said I have implemented yet a server that use this kind of work, and I
can give you the performance of my server right now:
I'm running only a single mina program as network-farm (i've called this
program "dislocator", and that protocol "dislocation protocol"), but the
results are impressive:
BandWidth Speed (out): 2,46 Kb/s
BandWidth Speed (in): 1,23 Kb/s
BandWidth Speed (total): 3,70 Kb/s
theese up are the bandwidth usages of the thinking-block
and theese down are the bandwidth usages of my single dislocator:
Users: 1160 ReadBand: 22,68 Kb/s writeBand: 377,96 Kb/s
You can see that there are 1160 users connected to this MINAs dislocator, so
many many messages that must be sent to all users (it's a p2p protocol, they
are the search messages) are sent from thinking-block to the network-farm
only once, than my single dislocator duplicate it 1160 times and resend it
over all the sockets.
You can see that it work well because this
"must-to-be-sent-equal-to-all-the-users" messages are the higher part of the
traffic.
I think TCP based protocols would most benefit from this.
I agree, actually I've developed it for tcp only, but also UDP can work fine
in this way.
It sounds very interesting. As with many ideas things come down to doing
some experimentation and testing out the theory. I know that for example
SEDA sounds great on paper but can create so many headaches in practice.
Well, I've thought a lot about that project, and I know that it has a
principal limitation: it can work fine only for protocol that have a poor
CPU usage for protocol elaboration (the network load is divide between many
jvms, but all the CPU work is done by the thinking-block), and that it can
work well only for protocol like hubs, in wich a message must to be sent
over many sockets, or must to be sent the same many times equal (in this
case the an adaptive Huffman encode should be fine)
Every kind of protocol that do not have theese features will not have any
bandwidth advantage from that system, but this kind of protocols are the
most diffused chat - gaming - p2p protocols.