[Openais] proposal for better end to end flow control

Tim Beale tlbeale at gmail.com
Thu Apr 8 22:09:07 PDT 2010

Hi Steve,

> Could you send me your backlog backoff calculation code (or preferably
> tarball of source tree)?  I'd like to see what you have.

Attached is a patch that should apply to trunk, which contains the changes
we've made. It's based off Angus's patch you referred to, which holds onto the
token for longer (plus a reworked patch Angus did to use a poll mechanism).
My fudge tinkers with the token backlog in fcc_token_update() and
fcc_calculate(), and also uses a smaller MESSAGE_QUEUE_MAX.
Also attached is a log of the commit descriptions. If there are any problems
with the patch then I can send you a tarball.

One problem is that when you get more than one node that's congested, you get
lost tokens. We're only using up to 4 node clusters, so this shouldn't be a
huge problem for us.
The problem I'm looking into currently is that when the token is lost, it
doesn't recover that well (the recovery token keeps getting lost). I've added
extra checks so the backlog_calc/wait_for_delivery() changes are only done when
the ring is OPERATIONAL, but the problem's still happening.

-------------- next part --------------
A non-text attachment was scrubbed...
Name: diff.patch
Type: text/x-patch
Size: 14392 bytes
Desc: not available
Url : http://lists.linux-foundation.org/pipermail/openais/attachments/20100409/5f9ba04b/attachment-0002.bin 
-------------- next part --------------
A non-text attachment was scrubbed...
Name: commits.log
Type: text/x-log
Size: 3609 bytes
Desc: not available
Url : http://lists.linux-foundation.org/pipermail/openais/attachments/20100409/5f9ba04b/attachment-0003.bin 

More information about the Openais mailing list