That doesn't make sense to me. Nagle is necessary because of the
high level of overhead of sending packets over the network. And it
never prevents data from flowing, it only slows the flow down.

If the application writes the data with small buffers, the amount
of resources used per unit will be the same with or without the
block. The same number of data blocks will be used, and the same
number of context switches. In fact, the block might actually
increase the number of syscall used by the reader. The only
thing saved is the high water mark of simultaneous data blocks
used might be lower. Nagle tries to reduce the number of packets
used by allowing the application to write more data before sending
the packet. That doesn't work in this case.

It seems backwards to me because:

1. The purpose of fused connections was to reduce the TCP baggage,
not introduce more.

2. As far as I know, no other IPC method imposes this kind of flow
control. Why single out TCP?

Kacheong Poon wrote:
Roch - PAE wrote:

Do I get this right also  that the need  to yield the CPU is
only present    on single CPU systems    (a rare thing these
days).


I believe the dynamics is not about yielding the CPU
(btw, what is the facility in kernel to cause the
current running thread to yield?)  If Adi is reading
this, he can explain the dynamics in details.  But
how I understand it is that the reason is actually
similar to the rationale behind Nagle algorithm.  Nagle
is there to minimize the chance of sending very small TCP
segment over the network unnecessarily.  The implementation
is very simple.  TCP won't send small segment if there
is unacknowledged data.

Apply this idea to the fusion case and you will get
something like the current algorithm.  The difference
to the TCP over real network case is that although TCP
will not send anything, it will continue to buffer data.
But the fusion case will make the sender block instead.
*IF* the sender is clever and does its own buffering so
that when it is unblocked, it can send a huge chunk of
data, it will be a win.

How to make the above work smoothly is the question
to answer.



--
blu

"The genius of you Americans is that you never make clear-cut stupid
 moves, only complicated stupid moves which make us wonder at the
 possibility that there may be something to them which we are missing."
 - Gamal Abdel Nasser
----------------------------------------------------------------------
Brian Utterback - Solaris RPE, Sun Microsystems, Inc.
Ph:877-259-7345, Em:brian.utterback-at-ess-you-enn-dot-kom
_______________________________________________
networking-discuss mailing list
[email protected]

Reply via email to