History | Log In     View a printable version of the current page. Get help!  
Issue Details (XML | Word)

Key: JGRP-511
Type: Feature Request Feature Request
Status: Open Open
Priority: Major Major
Assignee: Bela Ban
Reporter: Bela Ban
Votes: 0
Watchers: 0
Operations

If you were logged in you would be able to see more operations.
JGroups

FC: dynamically adjust credits

Created: 13/May/07 08:07 PM   Updated: 06/Sep/07 11:44 AM
Component/s: None
Affects Version/s: None
Fix Version/s: 2.7

Original Estimate: Unknown Remaining Estimate: Unknown Time Spent: Unknown


 Description  « Hide
FC currently has a static number of credits (max_credits). It would be beneficial to implement something similar to TCP's exponential backoff and slow start, to take the message loss rate into account.

Goal: when there is an overload, we reduce the credits in order to avoid compounding the overload by sending messages. On the other hand, we can send more messages when the receiver(s) have free capacity. To do this, each receiver sends the number of credits it can accept with its responses. By default, this would be the default number of credits (in TCP: size of the sliding window).

DESIGN:
NAKACK (and/or UNICAST) send the loss rate (rolling average of number of messages missing over number of messages received, per sender) when it exceeds a certain value (defined in NAKACK,UNICAST) up the stack.

FC looks at the loss rate and slices the number of credits for that sender in half (exponential backoff). On the next response, it piggy backs the new number of credits, so that sender will block sending messages.

When the loss rate drops below a certain (predefined) value, NAKACK sends another event up the stack. FC then increases the credits by a predefined value (slow start). Next time, it increases the value by the predefined value by 2 and so on, until the max number of credits have been reached again.

 All   Comments   Work Log   Change History   Subversion Commits      Sort Order:
There are no comments yet on this issue.