Exponential Back-Off Mechanism

From Unofficial BOINC Wiki

(Redirected from Exponential Back-Off)
Jump to: navigation, search

[edit] General

Quite simply it is a tool to prevent a massive number of the Participant's Computers, all trying to connect, from overwhelming a Scheduling Server. Let us say that a server went Off-Line for a brief period. If we allow all of the Participants try to connect once every minute we would see a steady increase in attempts to connect to the Scheduling or the Data Server (Note: this is less of an issue with the Data Server). These continual attempts to contact the Server may well overload it to the point where it fails again.

With the Exponential Back-off Mechanism, every time the BOINC Daemon tries to connect to the Data Server and fails, the length of time before the next attempt rises. So when the BOINC Daemon tries to contact the Scheduling Server and fails, the spacing between requests goes up fairly fast. So the first delay might be 1 minute, the second delay 2 minutes, the third 4 minutes, and so forth. The intent here is to spread out the requests some so that all the machines participating in the project don't try to gang up on the Scheduling or the Data Servers.

There is an absolute upper limit on the time delays. The entire purpose though is to prevent the Scheduling or the Data Servers from becoming inundated with repeated requests for work.

The Exponential Back-off Mechanism has two parts. First the Server will not accept more than one connection from the same computer within a 15 minute period to avoid flood attacks. These have happened when one computer type would request about one WU/Second for a week or so. This was caused by a bug, but in order to ensure that it would not be able to happen again, it was decided to throttle the connections.

The second part is that the BOINC Daemon will back off by a small amount of time at first, and then by increasing amounts of time if it fails to connect. The increase in time is approximately by a factor of two, or exponential back off. Later, when it reaches some maximum, it stops backing off.

You can always attempt to manually connect with the update. Right click on a Project in the Projects Tab and press the Update Button. If you are mostly Off-Line, you can also disable the BOINC Network connection. When you are On-Line again, re-enable it, and things should begin to happen immediately.

Personal tools
RSS Feeds
BOINC Wiki RSS feeds RSS Feeds
Powered by BOINC!
Powered by BOINC