Commit Graph

4680 Commits

Author SHA1 Message Date
David Anderson 1abff8dd98 win compile fix
svn path=/trunk/boinc/; revision=25560
2012-04-14 04:56:35 +00:00
David Anderson f4d985c659 - client: add PID to random stuff used to make host CPID,
in case running multiple clients on same host


svn path=/trunk/boinc/; revision=25559
2012-04-14 04:48:20 +00:00
David Anderson 759c23ed27 - server: create a harness for testing validator code.
If you link your functions (init_result(), compare_results(),
    cleanup_result()) with validate_test.cpp,
    you'll get a program that you can run as
        validate_test file1 file2
    and it will compare the two files
    (this works only for validators that expect 1 file per result).

    I added a makefile, sched/makefile_validator_test,
    that you can use for this.
- server: shuffle code so that the above doesn't need to
    link MySQL libraries
- client: if we fetch a master file and it contains no scheduler URLs,
    show a message of class INTERNAL_ERROR
- client/scheduler: make CUDA_DEVICE_PROP.totalGlobalMem a double,
    and remove dtotalGlobalMem.
    Although NVIDIA reports RAM size as a size_t,
    there's no reason to store it as an integer after that.


svn path=/trunk/boinc/; revision=25542
2012-04-10 00:32:35 +00:00
David Anderson 36529da919 - client: change some unsigned int to size_t in our versions
of NVIDIA APIs.  This apparently caused crashes
    (in app, not client, which I don't understand) for Einstein@Home.
    From Steffen Moller.


svn path=/trunk/boinc/; revision=25527
2012-04-02 21:31:02 +00:00
David Anderson c22ac04ad0 - scheduler: don't max with min_work_buffer() in estimating
job turnaround time.
    min_work_buffer doesn't necessarily reflect network disconnect periods
- client simulator: compile fixes


svn path=/trunk/boinc/; revision=25521
2012-03-30 21:39:22 +00:00
Charlie Fenton 7e0c4dd431 client: Fix idle detection during fast user switching
svn path=/trunk/boinc/; revision=25511
2012-03-29 11:56:09 +00:00
David Anderson 39f5dc7e58 - client: fix bug in reading reason for temporary exit
- lib: fix a valgrind warning


svn path=/trunk/boinc/; revision=25499
2012-03-27 20:52:25 +00:00
David Anderson ea4613214a - client: fix bug where if we sent app a <quit> message,
and it timed out and we killed it, we'd treat it as a job error.
    (This was a major bug).
- API: remove BOINC_STATUS::suspend_request.
    I meant to do this before.


svn path=/trunk/boinc/; revision=25498
2012-03-27 19:23:26 +00:00
David Anderson f317329321 - client: fix typo that prevented GPU jobs from running
if CPUs were filled with EDF jobs


svn path=/trunk/boinc/; revision=25497
2012-03-27 17:20:47 +00:00
David Anderson 6498b0bba2 - client: set PROJECT::last_upload_start whenever an upload starts,
not just when a result becomes ready to upload.
    Fix bug where a scheduler RPC to report results is done
    even though uploads are active.
- client: cpu_sched_debug enables messages about not scheduling jobs
    because of insufficient RAM
    

svn path=/trunk/boinc/; revision=25493
2012-03-26 22:01:31 +00:00
David Anderson 8ebe90fbe3 - client: report results if CPU suspend pending in next 30 min
svn path=/trunk/boinc/; revision=25492
2012-03-26 20:28:23 +00:00
David Anderson 24761958fd - client/server: estimate FLOPS for NVIDIA GPUs with
compute capability 3.x.
    Not sure if the parameters are right
    (128 cores/proc, 2 flops/clock)
    but they're better than nothing.
- web: don't allow user names that have leading or trailing white space,
    or HTML tags, or are empty


svn path=/trunk/boinc/; revision=25485
2012-03-24 06:31:03 +00:00
David Anderson bf393ad913 - client: if a job calls boinc_temporary_exit() 100 times, abort it.
Otherwise it could keep doing it forever
    (e.g. if there's not ever enough available GPU RAM)


svn path=/trunk/boinc/; revision=25483
2012-03-23 21:09:44 +00:00
David Anderson 2cbe7336bf - client: small bug fix
svn path=/trunk/boinc/; revision=25482
2012-03-23 19:06:32 +00:00
David Anderson adab6254bc Update Translation
svn path=/trunk/boinc/; revision=25477
2012-03-23 16:25:19 +00:00
David Anderson fc8191220f - client: change timeout for job quit/abort from 60 back to 15
(time between sending app a quit/abort message
    and, if not exited yet, killing it)
- client: if app has reported an "other PID"
    (e.g., vboxwrapper reports the VBoxHeadless PID)
    then include it (along with descendants) in the
    list of processes we kill when killing the job.


svn path=/trunk/boinc/; revision=25470
2012-03-21 20:30:14 +00:00
David Anderson e7e52a57ad - client: set file ownership and permissions after an async verify.
This was presumably the cause of the recent Einstein@home problem.
- client: set file ownership and permissions after an async copy.
- client: set file ownership and permissions after a
    regular (non-async) copy.

    The latter 2 bugs would affect a VM app that copies
    its executable to slot/x/shared


svn path=/trunk/boinc/; revision=25468
2012-03-21 18:36:00 +00:00
Rom Walton 1cb76d2d5a - client: Initialize buffer which is used to hold the temporary exit reason.
If somebody didn't populate the reason when calling boinc_temporary_exit
        the buffer contained junk.

    client/
        app_control.cpp

svn path=/trunk/boinc/; revision=25466
2012-03-21 01:26:05 +00:00
David Anderson ad232b2869 - client: report completed results if a time-of-day network suspend is
scheduled within the next 30 minutes


svn path=/trunk/boinc/; revision=25465
2012-03-20 19:37:04 +00:00
David Anderson b312669349 - client: if an app process exits because of a signal,
don't show the "no finish file" message;
    not sure why this was there in the first place.
- client: if an app process exits because of a signal,
    show the signal correctly


svn path=/trunk/boinc/; revision=25459
2012-03-19 23:37:08 +00:00
David Anderson dfd34e631f - client: job scheduling policy tweak:
if CPUs are fully committed (e.g. with EDF jobs)
    allow GPU jobs but only up to CPU usage of ncpus+1


svn path=/trunk/boinc/; revision=25454
2012-03-19 17:39:26 +00:00
David Anderson 22f6512135 - client: changes to job scheduling policy:
- fix bug that could greatly overcommit CPUs
        if there are several EDF jobs and several non-EDF GPU jobs.
    - don't overcommit CPUs if any job is MT (MT means avg_ncpus > 1).
        For example, on a 4-CPU machine we will run:
            a 0.5-CPU GPU job and 4 1-CPU jobs
            but not
            a 0.5-CPU GPU job and 1 4-CPU job

svn path=/trunk/boinc/; revision=25442
2012-03-18 05:50:47 +00:00
David Anderson 673788e273 - client: use %g to format job resources (#CPUs, #GPUs).
This suppresses trailing zeroes and (if integer) the .


svn path=/trunk/boinc/; revision=25441
2012-03-17 17:50:11 +00:00
David Anderson 37535d48e9 - client: small changes to make client compile on Android,
and to report the platform as "arm-android".
    From Carl Christensen.
- Add a script for building BOINC and library dependencies on Android
    From Peter Hanappe.


svn path=/trunk/boinc/; revision=25440
2012-03-16 21:48:35 +00:00
Rom Walton 25142dda02 - VBOX: Give the VM process a short priority boost when responding
to a quit request.  On older XP machines it might speed up the memory
        dump to disk.
    - client: Increase the quit request timeout from 10 seconds to 60 seconds for
        machines running VMs and slow disk drives.  It should give the VM enough
        time to gracefully shutdown and not give boinc reason to kill the wrapper.

    client/
        app.h
    samples/vboxwrapper/
        vbox.cpp, .h
        vboxwrapper.cpp

svn path=/trunk/boinc/; revision=25433
2012-03-16 01:04:43 +00:00
David Anderson d0847d098b - client: when killing a task, don't delete its shmem or change its state.
These mess up the logic for dealing with exited processes.


svn path=/trunk/boinc/; revision=25431
2012-03-15 07:32:32 +00:00
David Anderson 3a69f2d102 - client: on each scheduler RPC,
make sure that files flagged as executable in the reply,
    and that are present, are actually executable.


svn path=/trunk/boinc/; revision=25430
2012-03-15 05:59:01 +00:00
Charlie Fenton 79e3e16786 client: On Mac only, update ATI available RAM after getting ATI total RAM size from OpenGL
svn path=/trunk/boinc/; revision=25428
2012-03-14 22:51:02 +00:00
Charlie Fenton e76d18c6fc client: When comparing ATI model names from OpenCL and IOKit on a Mac, substitute "AMD" for "ATI"
svn path=/trunk/boinc/; revision=25423
2012-03-14 09:22:53 +00:00
Charlie Fenton 2919c802cd client: When comparing ATI model names from OpenCL and IOKit on a Mac, substitute "AMD" for "ATI"
svn path=/trunk/boinc/; revision=25422
2012-03-14 09:05:10 +00:00
Charlie Fenton 07d30294e0 client: call some Mac coproc_detect debugging code only if coproc_debug flag is set
svn path=/trunk/boinc/; revision=25411
2012-03-13 01:11:23 +00:00
Charlie Fenton 500334af77 client: call some Mac coproc_detect debugging code only if coproc_debug flag is set
svn path=/trunk/boinc/; revision=25410
2012-03-13 01:02:46 +00:00
Charlie Fenton e04221efac client: fix compile errors
svn path=/trunk/boinc/; revision=25409
2012-03-13 00:46:49 +00:00
David Anderson 82d64e9403 - msg tweak and fix compile warnings
svn path=/trunk/boinc/; revision=25408
2012-03-12 23:34:41 +00:00
David Anderson 061f4c3647 - client: message tweak
svn path=/trunk/boinc/; revision=25407
2012-03-12 23:11:42 +00:00
David Anderson 5aa97b5578 - API: fix various bugs related to process control and critical sections.
- client: code cleanup (no functional change)


svn path=/trunk/boinc/; revision=25392
2012-03-08 22:22:45 +00:00
David Anderson c4bd510f22 - typo fix
svn path=/trunk/boinc/; revision=25376
2012-03-04 05:01:37 +00:00
David Anderson d5bf5c46e3 - Manager: in Project Properties page,
show if a GPU type is excluded by configuration
- client: don't fetch work for a resource type if all instances
    of that type are excluded
- web: don't use filter_var(, FILTER_SANITIZE_STRING)
    to strip HTML tags from a string.
    This escapes singles quotes also.
    Use strip_tags() instead.


svn path=/trunk/boinc/; revision=25375
2012-03-04 04:58:41 +00:00
David Anderson dbed92fbe2 - Manager: small code cleanup
svn path=/trunk/boinc/; revision=25374
2012-03-04 04:50:40 +00:00
David Anderson 64a371173b - client: fix crashing bug when there is 1 instance of a resources.
I'm not sure how this every worked.


svn path=/trunk/boinc/; revision=25362
2012-03-02 03:56:26 +00:00
Charlie Fenton 6688c21c11 client: On Mac only, get ATI RAM sizes from OpenGL
svn path=/trunk/boinc/; revision=25358
2012-03-01 02:35:45 +00:00
David Anderson 08d7dcd6d9 - client: amend checkin of 18 Feb to not request work if
work buffer is above upper limit


svn path=/trunk/boinc/; revision=25335
2012-02-24 16:42:38 +00:00
Charlie Fenton df9357b456 client: When available, use total RAM value from CAL for all ATI OpenCL GPUs, not only for the "best" GPU
svn path=/trunk/boinc/; revision=25319
2012-02-23 00:42:04 +00:00
David Anderson dd6779a7be - client: fix an instance of
sprintf(buf, "%s...", buf)
    on Unix


svn path=/trunk/boinc/; revision=25317
2012-02-23 00:06:43 +00:00
David Anderson b796c65a19 - client win compile fix
svn path=/trunk/boinc/; revision=25316
2012-02-22 22:59:49 +00:00
David Anderson 7c3bc68a05 - API, client, and Manager: add an optional "reason" argument to
boinc_temporary_exit(),
        explaining why the app is exiting.
        Convey this to the client, and then to the Manager,
        and display it there and in the log.

    clientgui/
        MainDocument.cpp
    lib/
        gui_rpc_client_ops.cpp
        gui_rpc_client.h
    api/
        boinc_api.cpp,h
    client/
        client_types.cpp,h
        app.h
        app_control.cpp

svn path=/trunk/boinc/; revision=25315
2012-02-22 22:56:05 +00:00
David Anderson 14c5493c69 - client: change the job scheduling policy for MT jobs.
The old policy avoided running an N-CPU job unless N CPUs were free.
    This could result in idle CPUs for long periods; for example:
    on a 4-CPU machine, suppose you have a long 1-CPU job in EDF mode,
    and some 4-CPU jobs.
    3 CPUs will be idle until the 1-CPU job finishes.
    Furthermore, the work fetch mechanism won't try to get
    jobs (possibly non-MT) from other projects,
    because the RR simulation doesn't reflect the scheduling
    policy's exclusion principle.

    The change: schedule jobs until ncpus_used >= ncpus.
    E.g. in the above situation run the 1- and 4-CPU jobs together.
    In extreme cases we might run 3 1-CPU jobs and the 4-CPU job.
    This will degrade the performance of the 4-CPU job,
    but that's probably better than having idle CPUs.


svn path=/trunk/boinc/; revision=25312
2012-02-22 21:11:41 +00:00
Charlie Fenton ef811a917b client: Fix OpenCL NVIDIA GPU enumeration bug I introduced with last checkin
svn path=/trunk/boinc/; revision=25301
2012-02-21 00:17:42 +00:00
David Anderson 015a70e757 - client: define a "arrived-first" order on results
in which the tiebreaker is MD5 of name.
    That way the order is stable
    (it doesn't change from one run of the client to the next)
    and it doesn't grep results with similar names
    (and hence for the same app).
    This ordering is used for
    1) the order of display in the manager
    2) the job scheduler's notion of FIFO


svn path=/trunk/boinc/; revision=25300
2012-02-20 22:31:40 +00:00
David Anderson 721493bf29 - Manager/Client: fix bugs in GUI RPC that prevented
updates to proxy info from being saved by client


svn path=/trunk/boinc/; revision=25297
2012-02-20 21:32:26 +00:00
David Anderson fa11d48f1d - client: message tweaks
- scheduler: fix crash when use <enable_assignment>


svn path=/trunk/boinc/; revision=25296
2012-02-20 19:59:36 +00:00
David Anderson 995047c74f - client: fix bug in notices where, after a notice is deleted,
the notices tab refreshes once/second forever after

svn path=/trunk/boinc/; revision=25292
2012-02-20 06:29:46 +00:00
David Anderson a6bf5aecf3 - client: tweak to work-fetch policy:
if we're making a scheduler RPC to a project for reasons
    other than work fetch,
    and we're deciding whether to ask for work, ignore hysteresis;
    i.e. ask for work even if we're above the min buffer
    (idea from John McLeod).


svn path=/trunk/boinc/; revision=25291
2012-02-18 23:19:06 +00:00
Charlie Fenton f164369b7e client: Fix OpenCL NVIDIA GPU detection when CUDA is not present
svn path=/trunk/boinc/; revision=25290
2012-02-18 12:29:54 +00:00
Charlie Fenton 71e75ee57e client: Fix OpenCL NVIDIA GPU detection when CUDA is not present
svn path=/trunk/boinc/; revision=25289
2012-02-18 11:41:08 +00:00
Charlie Fenton be8e6ca82c client: Prevent an unlikely but possible crash
svn path=/trunk/boinc/; revision=25280
2012-02-17 09:53:27 +00:00
David Anderson 43278d0f41 - client: fix bug where WCG downloads were getting wrong size errors.
To be honest, I don't know that the problem was or why my change fixed it.

svn path=/trunk/boinc/; revision=25279
2012-02-17 08:55:45 +00:00
Charlie Fenton ebdcf623d4 Add comment
svn path=/trunk/boinc/; revision=25278
2012-02-17 02:02:27 +00:00
Charlie Fenton aed729dbcd client: Always use GPU model name from OpenCL if available for ATI / AMD GPUs
svn path=/trunk/boinc/; revision=25276
2012-02-17 00:31:14 +00:00
Charlie Fenton 7ee9f28e54 client: Always use GPU model name from OpenCL if available for ATI / AMD GPUs
svn path=/trunk/boinc/; revision=25275
2012-02-17 00:10:36 +00:00
Charlie Fenton a3569f47e1 client: Remove some temporary debugging code
svn path=/trunk/boinc/; revision=25273
2012-02-16 23:23:32 +00:00
David Anderson 6d8bdd777b - client: fetch work from backup (zero resource share) projects
only if a device instance is idle


svn path=/trunk/boinc/; revision=25271
2012-02-16 04:54:09 +00:00
David Anderson caf56b8b6b - lib: change get_mac_address() to avoid sprintf(buf, "%s...", buf);
use strcat instead
- client: don't use get_mac_address() to create host CPIDs
    (we have plenty of other info to make them unique)
- storage stuff


svn path=/trunk/boinc/; revision=25269
2012-02-16 00:08:40 +00:00
David Anderson c1137166af - client: msg tweak
svn path=/trunk/boinc/; revision=25268
2012-02-15 19:56:02 +00:00
David Anderson 4435172b42 svn path=/trunk/boinc/; revision=25266 2012-02-15 07:11:19 +00:00
David Anderson 68ac56c716 - client: more tweaks to work-fetch messages
svn path=/trunk/boinc/; revision=25265
2012-02-15 06:59:35 +00:00
David Anderson bcc3ad6add - client: instead of saying "comm deferred",
say "project backoff XXX.XX".


svn path=/trunk/boinc/; revision=25264
2012-02-15 05:49:12 +00:00
Charlie Fenton a2c94a7b83 Mac sandbox: Don't check permissions of project-created subdirectories under project or slot directories
svn path=/trunk/boinc/; revision=25261
2012-02-15 00:00:06 +00:00
Charlie Fenton 505fdf703a Mac sandbox: Don't check permissions of project-created subdirectories under project or slot directories
svn path=/trunk/boinc/; revision=25254
2012-02-14 05:56:09 +00:00
Charlie Fenton 7df4286081 client: Try to fix incorrect NVIDIA device number in OpenCL descriptions
svn path=/trunk/boinc/; revision=25248
2012-02-13 10:47:59 +00:00
Charlie Fenton 98542c99e2 client: Try to fix incorrect NVIDIA device number in OpenCL descriptions
svn path=/trunk/boinc/; revision=25247
2012-02-13 09:35:10 +00:00
David Anderson a4cd8e5cdb - storage stuff
- client: message tweak


svn path=/trunk/boinc/; revision=25244
2012-02-13 08:41:48 +00:00
David Anderson 21d4a3d9c2 - client: zero PROJECT::last_upload_start on reset,
so that we can fetch work immediately
	- client: in PERS_FILE_XFER::create_xfer(),
		check for already-existing file before seeing we're allowed to start a new xfer
	- client: in PERS_FILE_XFER::create_xfer(),
		if an async verify is in progress, mark PERS_FILE_XFER as done.

svn path=/trunk/boinc/; revision=25243
2012-02-13 05:02:51 +00:00
Charlie Fenton 4e1ff26060 client: If OpenCL but no CAL or no CUDA, copy GPU model name from OpenCL
svn path=/trunk/boinc/; revision=25239
2012-02-11 06:57:06 +00:00
David Anderson bbb1f04420 - client (Unix): don't print misleading "task exited with no finish file"
message if task actually called boinc_temporary_exit().


svn path=/trunk/boinc/; revision=25235
2012-02-10 05:31:30 +00:00
David Anderson e59816234e - client: only check file size if the FILE_INFO specifies it.
svn path=/trunk/boinc/; revision=25225
2012-02-09 09:15:23 +00:00
David Anderson 4c545f407a if file is wrong size on startup, delete it
svn path=/trunk/boinc/; revision=25224
2012-02-09 01:06:15 +00:00
David Anderson d2cf999563 - client: on startup, check file size as well as existence
- client: add <async_file_debug> log flag
- client: do decompress (both sync and async) to a temp file,
    then rename
- client: if a file's status is VERIFY_PENDING on startup,
    set it to NOT_PRESENT; that will trigger a verify
- client: do async copy only if size is above threshold


svn path=/trunk/boinc/; revision=25222
2012-02-09 00:47:04 +00:00
David Anderson 541f6dd1f3 - client: bug fix for async file ops:
set up files in slot dir when starting an app,
		whether or not it's the first time

svn path=/trunk/boinc/; revision=25221
2012-02-08 21:14:34 +00:00
David Anderson bfe3b7cbb8 - client: fix bug in async file verify.
File verify is done in 4 places:
    - after a download finishes
    - transition result to DOWNLOADED
    - if project->verify_files_on_app_start, on app start
    Use asynchrony only in the first 2 cases,
    since the async logic is set up to mark the file as PRESENT
    when done, not to restart a task


svn path=/trunk/boinc/; revision=25219
2012-02-08 19:30:57 +00:00
David Anderson 4b7a079776 - bug fixes to previous checkin
svn path=/trunk/boinc/; revision=25218
2012-02-08 01:53:19 +00:00
Charlie Fenton 1b41c17cb9 client: Fix bug in setting opencl_device_index
svn path=/trunk/boinc/; revision=25216
2012-02-08 01:02:56 +00:00
David Anderson 3a4e85bff3 - client: async file stuff
- set threshold at 10 MB for doing things asynchronously
		- don't count VERIFY_PENDING as failure

svn path=/trunk/boinc/; revision=25215
2012-02-08 00:45:37 +00:00
David Anderson e268b81a3d - async file stuff. mostly working. still a few bugs
svn path=/trunk/boinc/; revision=25214
2012-02-07 17:54:09 +00:00
David Anderson 739f40c4f7 - client: HTTP range request errors are permanent.
svn path=/trunk/boinc/; revision=25213
2012-02-07 07:58:08 +00:00
Charlie Fenton 4599eab858 client: remove now-redundant "GPU n is OpenCL-capable" messages
svn path=/trunk/boinc/; revision=25212
2012-02-07 04:27:09 +00:00
David Anderson b5a1175d95 - client: async file stuff.
async decompress/verify seems to be working

svn path=/trunk/boinc/; revision=25211
2012-02-07 00:35:55 +00:00
David Anderson d6534ba118 - client: async file stuff
svn path=/trunk/boinc/; revision=25210
2012-02-06 23:33:23 +00:00
David Anderson ea2e64cef5 - client: async file stuff
svn path=/trunk/boinc/; revision=25209
2012-02-06 22:57:36 +00:00
David Anderson 21d0a20b08 - client: tweaks to AMD GPU detection msgs
- client: async file stuff

svn path=/trunk/boinc/; revision=25208
2012-02-06 21:13:04 +00:00
David Anderson 223be7e62d - async verify
svn path=/trunk/boinc/; revision=25207
2012-02-06 20:41:26 +00:00
Rom Walton b72c5d1310 - client: Undo my change of 24 Jan 2012 which broke WCG's use of the
.gzb file extension.  I was wrong in how I read the conditional and
        it turns out that libcurl does not honor the content-encoding even
        if it is capable of supporting it.  My bad.

    client/
        http_curl.cpp

svn path=/trunk/boinc/; revision=25205
2012-02-06 18:41:17 +00:00
Charlie Fenton 659fb8ceb0 client: Fix compiler warning generated by above checkin
svn path=/trunk/boinc/; revision=25204
2012-02-06 08:24:21 +00:00
David Anderson ea35d7df5c svn path=/trunk/boinc/; revision=25203 2012-02-06 06:16:26 +00:00
David Anderson cdd40fcc10 - client: intermediate checkin for async file verification
svn path=/trunk/boinc/; revision=25202
2012-02-06 06:06:44 +00:00
David Anderson 540a16e2f0 - transitioner: fix bug that cause invalid SQL query
svn path=/trunk/boinc/; revision=25197
2012-02-04 00:18:37 +00:00
David Anderson 3dc7dc9ad3 - client: debug async file copy. Seems to be working.
svn path=/trunk/boinc/; revision=25195
2012-02-03 22:08:11 +00:00
Rom Walton 5fd660bd22 - client: add async file copy stuff to Windows project file.
client/
        async_file.cpp
    win_build/
        boinc_cli.vcproj

svn path=/trunk/boinc/; revision=25193
2012-02-03 19:00:28 +00:00
David Anderson 4adba7ee4e - client: first pass at async file copy feature.
When a large file is copied from a project dir to a slot dir,
    it's copied in chunks,
    interleaved with other polling activities such as GUI RPCs.
    That way the manager doesn't freeze while large copies
    (e.g. VM images) are happening


svn path=/trunk/boinc/; revision=25192
2012-02-03 18:33:39 +00:00
David Anderson b36779b22a - client: fix job scheduler problem:
old: RR simulation marks some jobs as missing their deadline,
        and the job scheduler runs those jobs as "high priority".
    problem: those generally aren't the ones we should run.
        E.g. if the client has a lot of jobs from a project,
        typically the ones with later deadlines are the ones
        whose deadlines are missed in the simulation.
        But in this case the EDF policy says we should run
        the ones with earliest deadlines.
    new: if a project has N deadline misses,
        run its N earliest-deadline jobs,
        regardless of whether they missed their deadline in the sim.
    Note: this is how it used to be (as designed by John McLeod).
        I attempted to improve it, and got it wrong.


svn path=/trunk/boinc/; revision=25188
2012-02-02 17:05:55 +00:00