Hmm.. Here's my take.
If the deadline is allowed to be flexible, then it may get extended even when BOINC hasn't done much work on the task. Worst case scenario (depending on things like Resource Shares), is ... the task never gets worked on, and is basically STUCK at the client with an ever-increasing deadline.
Currently, the deadline is extended on the server, such that: If BOINC contacts the server within 2 weeks, and did some work on the task, the server will extend the deadline, and not reassign the task to someone else. This works well, even in cases where BOINC hasn't done MUCH work on the task yet.
Currently, the deadline is not extended in BOINC. And when BOINC goes past deadline on that task... if the task hasn't checkpointed yet, it is aborted. If the task has checkpointed, it goes into EDF (earliest deadline first) mode, and BOINC prioritizes the task, to work on it before other tasks. This also works well - it's time to get that task done punk, regardless of how much you worked on it before!
So, yeah. The system actually works nicely overall.... just not intuitively! RNA World tasks are sooooooo weird!
As a side note, there are some steps I take whenever I get an RNA World task:
---------------------------------------------
- Allow the task to checkpoint
- Exit BOINC
- Edit client_state.xml
- Find that task's <result> block
- CAREFULLY edit <report_deadline> to be EQUAL to <received_time>
--- This puts it into EDF mode right away! We work on it FULL TIME NOW.
- Find that task's <workunit> block
- CAREFULLY edit <rsc_fpops_bound> to make it 6x larger (from 200000000000000000.000000 to 1200000000000000000.000000)
--- This allows it to run for 6 times its prior limit before aborting for "ran too long". At p_fpops of 4367549860, on my fastest rig, it allows 8.7 years instead of 1.45 years
- Inspect the file to make sure your changes are perfect, because if not, you may lose your entire workload!
- Save the file
- Start BOINC
- Verify the task properties shows that received time equals deadline
---------------------------------------------
GET TO WORK, CRUNCHERS!
Jacob