Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Change result upload retry policy from per task to per project #909

Closed
romw opened this issue Feb 4, 2015 · 2 comments
Closed

Change result upload retry policy from per task to per project #909

romw opened this issue Feb 4, 2015 · 2 comments

Comments

@romw
Copy link
Member

romw commented Feb 4, 2015

Reported by Raistmer on 20 Jan 39525136 20:26 UTC
Per task upload retry policy leads to kind of DoS attack from fast hosts in periods when project's server can't handle all incoming connections. When many results trying to resend themselves on it' own time schedule host continually tries to connect to server, w/o any delays. With mny hundreds (and this number easely achievable now fro CUDA enabled hosts) of results in transfer queue there are always some that try to reach server at any given moment.

All that need to be done is to change retry policy from per task to per project basis (as it is for result reporting already).
This inefficiency in BOINC leads to increase conncetion problems with overloaded project servers.

(I setted component as Work fetch policy as closest to this component. Actually it's work upload, not fetch, policy)

For more descriptions of this issue look this thread and links in it:
http://boinc.berkeley.edu/dev/forum_thread.php?id=4080

@romw
Copy link
Member Author

romw commented Feb 4, 2015

Commented by Raistmer on 23 Jul 39525233 06:40 UTC
More clear description of proposed change in retry logic:

if last result sending for particular project was OK - do next result upload just when it will be available.
else delay ALL result uploads for this particular project for some time.
repeat cycle.

@romw
Copy link
Member Author

romw commented Feb 4, 2015

Commented by davea on 28 Aug 39525608 14:13 UTC
(In [18593]) - client: restored code for project-wide backoff on file
uploads and downloads.
I originally added this on 30 Sept 2005
and disabled it 2 weeks later because there were reports of problems.
However, we need this functionality
(e.g. on GPU hosts with hundreds of files to upload,
we need to back off after a few failures, not try all of them).
I added messages (<file_xfer_debug>) so you can see what's going on.
Fixes #932.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants