- client: if a file fails verification, delete it
- client: if we're doing a scheduler RPC because of user request, ask for work for all devices with shortfall. Avoid situation where there's an idle GPU and CPU, we're contacting a project with no GPU apps, and we ask it only for GPU jobs.
- client: tweak CPU scheduling policy to avoid running multithread apps overcommitted. Actually: allow overcommitment but only a fractional CPU (so that, e.g., we can run a GPU app and a 4-CPU app on a 4-CPU host)
- client: fix bug that caused unstarted coproc jobs to preempt ones already running. The problem: we considered a job as started if it has an ACTIVE_TASK. However, we were creating ACTIVE_TASKS for jobs before deciding to run them, because we needed a place to store the coproc reservations. This caused the above bug, and also had the undesirable effect of creating slot directories before they're needed. Solution: store coprocessor reservations in RESULT rather than ACTIVE_TASK.
- client: extra debug msgs (remove when done)
- client: fix preemption bug, this time for sure!