How do you set the deadlines for the work units?
Each work unit is benchmarked on a dedicated 2.8 GHz Pentium 4 machine with SSE2 disabled. Next, we apply this equation
timeout = 20 * (daysPerWU) + 2
deadline = max(30* (daysPerWU) + 2,10)
where daysPerWU is the number of days it took to complete the unit. The "+2" days is there to give an additional buffer for fast WUs (to allow for servers down, etc). If 30*daysPerWU is less than 10 days, we set the deadline to 10 days, as a minimum time for all projects. The timeout is the time at which the WU is resent to another client and the deadline is the last time which we will give stats credit for the WU.
Occasionally, deadlines may be set shorter or longer than the above calculation indicates, but the reason for having deadlines at all is that the sooner we get back work units, the sooner we can put the results to good use. The assignment server does take machine performance into account in making assignments, thereby allowing slower machines to receive more appropriate work units.