Re: silly windows
"William J. Mills" <[email protected]> Tue, 30 Mar 2004 11:32:37 -0800
| Newsgroups | gmane.network.beep.beepcore.c.general |
|---|---|
| Message-ID | <[email protected]> |
I am trying to implement the spirit of "Nagle's algorithm" here,
one part of which is not to send more than one tiny frame in
sequence. The major difference is that it applies to TCP and
uses the concepts of MSS and window size, and we don't have MSS
in BEEP.
I compiles and ran (with c-> rather than b-> as you note) last
night, using beepng. WIth window size of 4K and sending 4K
payloads you do still end up with tiny frames sent, but they
are much less frequent. With the restriction of opening the
window at least 50% it's rediced the silliness a lot already right?
Sending a small frame that completes the message is not "silly"
Thoughts?
-bill
On Tue, Mar 30, 2004 at 12:50:05PM -0500, David C Niemi wrote:
>
> While this looks kind of promising, it doesn't seem to work.
>
> First, I presume you mean c-> rather than b-> in each of the tests below,
> and that you want <= and >= for the two new tests. But I think the
> problem is that all this does is to skip certain operations on the channel
> (in the "if (b) {" structure), and silliness still happens. I feel we
> have peeled the onion several layers only to find we might have the wrong
> onion.
>
> How does the (c->max_out_seq - c->cur_out_seq) situation ever get
> improved? If we punt is some other process going to help out and clean
> things up?
>
> DCN
>
> On Mon, 29 Mar 2004, William J. Mills wrote:
> > David,
> >
> > I am playing with the following change to the below...
> >
> > while (c) {
> > if (c->commit_frame != NULL && ul_lt(c->cur_out_seq, c->max_out_seq) &&
> > (s->tuning == -1 || c->channel_number == s->tuning) &&
> > ((b->commit_frame->size < (b->max_out_seq - b->cur_out_seq)) ||
> > ((b->max_out_seq - b->cur_out_seq) > (b->apparent_out_window / 4)))) {
> > b = c;
> > break;
> > }
> > c = c->next;
> > }
> >
> > which adds logic to check if the current frame is smaller than the
> > open window or the current window is greater than 1/4 the largest
> > apparent window. I think this will reduce silliness. I will see what
> > results I get.
> >
> > -bill
> >
> >
-------------------------------------------------------
This SF.Net email is sponsored by: IBM Linux Tutorials
Free Linux tutorial presented by Daniel Robbins, President and CEO of
GenToo technologies. Learn everything from fundamentals to system
administration.http://ads.osdn.com/?ad_id=1470&alloc_id=3638&op=click