Commit Graph

19123 Commits

Author SHA1 Message Date
David Anderson 7f3b3584d0 - scheduler: zero host.nsame_ip_addr if IP addr differs from previous
svn path=/trunk/boinc/; revision=25500
2012-03-27 21:22:00 +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 63c279cef2 - client/server: set cores/proc for NVIDIA compute capability 3.0 to 192
Why can't NVIDIA provide an API for this?????


svn path=/trunk/boinc/; revision=25496
2012-03-27 03:50:16 +00:00
David Anderson 6d8cf13abe svn path=/trunk/boinc/; revision=25495 2012-03-26 22:46:02 +00:00
David Anderson 0e0c7f758b - web: add script for replacing blank user names with the user ID
svn path=/trunk/boinc/; revision=25494
2012-03-26 22:45:14 +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 d3f2d6318f - scheduler: enforce app_version.max_core_version
svn path=/trunk/boinc/; revision=25491
2012-03-26 19:26:12 +00:00
Rom Walton 7822ffb562 Quick Updates
svn path=/trunk/boinc/; revision=25489
2012-03-26 15:22:38 +00:00
Rytis Slatkevičius 1abf76b7e6 Fix account creation RPC
svn path=/trunk/boinc/; revision=25488
2012-03-26 05:48:38 +00:00
David Anderson 1ab6eaf277 - compile fix for redhat, from Steffen Moller
svn path=/trunk/boinc/; revision=25487
2012-03-26 01:32:21 +00:00
Rytis Slatkevičius 2bb7957386 Fix previous commit
svn path=/trunk/boinc/; revision=25486
2012-03-24 14:55:58 +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 ec0ca2615d - scheduler: fix bug that could cause zero credit for
the first few jobs of a new application
    (in wu_estimated_pfc(), only multiply by app.min_avg_pfc
    if it's nonzero).


svn path=/trunk/boinc/; revision=25484
2012-03-23 21:47:06 +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 9caa637a4d - server: is_project_dir() was checking that cgi-bin is a directory.
This doesn't work if it's a symlink to a dir.
    Check for that too.


svn path=/trunk/boinc/; revision=25480
2012-03-23 17:45:04 +00:00
David Anderson adab6254bc Update Translation
svn path=/trunk/boinc/; revision=25477
2012-03-23 16:25:19 +00:00
Rom Walton 498db19ac0 Update Translations
svn path=/trunk/boinc/; revision=25476
2012-03-23 16:23:50 +00:00
Rom Walton 70bc2bd4ca Quick Updates
svn path=/trunk/boinc/; revision=25475
2012-03-22 21:22:23 +00:00
Rom Walton d2155c4488 - VBOX: Do not treat the timeout error as a fatal error when attempting
to delete stale snapshots.  Slower machines can take longer than
        45 seconds to complete the deletion of old snapshots.

    samples/vboxwrapper/
        vbox.cpp

svn path=/trunk/boinc/; revision=25474
2012-03-22 19:00:37 +00:00
Rom Walton fc818a027f - VBOX: Detect another form of out of memory error from VirtualBox.
Reschedule the job for some time in the future when there might
        be enough memory.
    - VBOX: Resume the VM's execution after the creation of the snapshot
        but before we attempt to delete the previous, now stale, snapshot.
    - VBOX: Treat the 'livesnapshotting', 'deletingsnapshotlive', and
        'deletingsnapshotlivepaused' states as online states.
        
    samples/vboxwrapper/
        vbox.cpp
        vboxwrapper.cpp

svn path=/trunk/boinc/; revision=25473
2012-03-22 18:10:42 +00:00
Rom Walton 97fe7c2667 - VBOX: Before attempting to take the snapshot for a VM, pause it first.
This changes the snapshot type from a live snapshot to an online
        snapshot.  Presumably difference might make it easier to do and
        prevent the VM from asserting.
        
    samples/vboxwrapper/
        vbox.cpp, .h

svn path=/trunk/boinc/; revision=25472
2012-03-21 23:17:07 +00:00
Rom Walton 7710c0cfc8 - VBOX: We don't need to display the state of the VM before startup.
- VBOX: Change the snapshot naming scheme by removing the quotes and
        prefixing the checkpoint time with 'boinc_'.  Hopefully this will
        prevent the VM from asserting during the snapshot process.

    samples/vboxwrapper/
        vbox.cpp, .h

svn path=/trunk/boinc/; revision=25471
2012-03-21 22:13:06 +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
Rom Walton f7e7a065de - VBOX: Introduce the use of VM snapshots as a form of checkpoint.
- Perform snapshots at most once every ten minutes.
        - Client suspend/resume messages behave the same.
        - Client no heartbeat/quit messages cause the wrapper to just
          poweroff the VM.
        
        On startup check to see if the last checkpoint time is greater than 0,
        if so, start from the most recent snapshot.
    - VBOX: If we receieve the status message of no heartbeat or quit, set
        the temporary delay to 5 minutes.  If the wrapper is terminated during
        the middle of a snapshot, hopefully this will give VirtualBox enough
        time to complete the snapshot.  Restarting the BOINC job should then
        poweroff the VM and restore from the last snapshot.
    
    samples/vboxwrapper/
        vbox.cpp, .h
        vboxwrapper.cpp

svn path=/trunk/boinc/; revision=25469
2012-03-21 20:03:47 +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
Bernd Machenschalk 75a2116f2e - scheduler: fix hu.peak_flops and hu.projected_flops caclculation
in plan_class_spec by using coproc_pref() and capped_host_fpops()
        (moved coproc_perf() to sched_customize.h to make it available
        in plan_class_spec.cpp, and cleaned up includes)


svn path=/trunk/boinc/; revision=25467
2012-03-21 12:40:18 +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
Rom Walton 7bbdb288ed Quick Updates
svn path=/trunk/boinc/; revision=25464
2012-03-20 18:25:43 +00:00
Rom Walton 5972bf2c8f - VBOX: On successful completion, create the same output file that
the CernVMWrapper would.  This allows both wrapppers to work with
        the same BOINC job generation system.

    samples/vboxwrapper/
        vbox.cpp

svn path=/trunk/boinc/; revision=25463
2012-03-20 18:19:56 +00:00
Rom Walton 64bdde4745 - VBOX: Make it explicily clear what the result of a start/stop
request was.  Hopefully this will give us insight into whether
        the core client is terminating the wrapper or something else is
        going on.
    - VBOX: Shorten the command execution timeout to 45 seconds.
    - VBOX: Don't attempt to re-execute the close/savestate commands.

    samples/vboxwrapper/
        vbox.cpp

svn path=/trunk/boinc/; revision=25462
2012-03-20 17:55:56 +00:00
David Anderson 2a0f17c990 - scheduler: if we can't resend a job (e.g. it's for an app
for which the anonymous-platform client doesn't have a version)
    mark it as sent so the transitioner can do its thing


svn path=/trunk/boinc/; revision=25461
2012-03-20 04:36:14 +00:00
Charlie Fenton 2f795e611d Release Mac BOINC 7.0.22 to alpha test
svn path=/trunk/boinc/; revision=25460
2012-03-19 23:44:51 +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 d677f2c1cd - scheduler: fix a bug in assigning deadlines to resent jobs.
From Kevin.
    NOTE: Kevin also reported a bug that resulted in
    way too large (e.g. year) deadlines.


svn path=/trunk/boinc/; revision=25458
2012-03-19 22:46:00 +00:00
David Anderson 9a77dcc71f - wrapper: fix bug that reported wildly wrong CPU time
svn path=/trunk/boinc/; revision=25457
2012-03-19 20:42:03 +00:00
David Anderson 64210d0420 - fix last checkin
svn path=/trunk/boinc/; revision=25456
2012-03-19 20:26:48 +00:00
David Anderson 3782dca107 - client: Don't include VBox executive processes as non-BOINC CPU time.
On some systems they use significant CPU time while VMs are running.
    TODO: do this only if we're actually running a VBox app


svn path=/trunk/boinc/; revision=25455
2012-03-19 20:13:28 +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
Rom Walton b225c3b074 Quick Updates
svn path=/trunk/boinc/; revision=25453
2012-03-19 17:24:21 +00:00
Rom Walton 884a397457 Quick Updates
svn path=/trunk/boinc/; revision=25446
2012-03-18 23:28:12 +00:00
Charlie Fenton 5a5a9f5975 Add missing checkin logs for tagging 7.0.20 and 7.0.21
svn path=/trunk/boinc/; revision=25444
2012-03-18 12:39:07 +00:00
Charlie Fenton 49fda2e686 MGR: Fix a Mac-only bug which sometimes failed to show the snooze icon
svn path=/trunk/boinc/; revision=25443
2012-03-18 12:35:09 +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