Originally Posted by
Slicker
I used to think reporting results ASAP was the way to go. That was before I started the Collatz project. Now I prefer to set the cache very low and have a backup project setup in case the main project is down. Here's why:
Reporting ASAP is good for challenges, races, etc. if you need to make sure a WU gets reported before a deadline. However, it uses lots of bandwidth and dings the servers pretty good if the project has the option turned on to resend lost workunits. (e.g. You play with an app info and wipe out all your WUs by accident. Rather than having to wait for them to timeout, the server resends them the next time you update.) Every time you do an update, your host sends the info about every single WU you have on your machine to the server, not just the info about the one you recently completed. If the server allows a cache of 100 WUs, you increase the bandwidth 100 times and the server needs to check each of the 100 you have against the list it has for that host and compare them one at a time to see if there is a discrepancy. That's part of the reason that the Collatz project ignores updates if done less than every 4 minutes rather than the default which is 1 minute. When set to 1 minute, it quadruples the bandwidth and increases the number of simultaneous connections needed for Apache and MySQL which means more 4x more CPU and RAM are used. Instantaneous credit gratification reduces the number of users a project can support without increasing resources.