Commit Graph

119 Commits

Author SHA1 Message Date
David Anderson ebfc5dc2ce remove compile warnings. Should have done this long ago! 2017-01-20 00:01:25 -08:00
Rom Walton eac15d6982 sched: Remove CERN Theory hard-coded values from the sched_customize.cpp file. Theory now uses a container approach with each container pulling a job from the CERN job scheduler, which makes this code obsolete. 2016-07-27 10:38:19 -07:00
Rom Walton 4d605b6dc9 sched: Adjust default rule set so that 64-bit VM jobs are not sent to hosts without hardware acceleration or it is disabled. 2016-06-17 21:30:51 -07:00
David Anderson bae397cc54 scheduler: message tweak 2015-11-04 11:57:17 -08:00
David Anderson 2829e7f368 sched_customize.cpp: add another example, and remove S@h-specific code 2014-10-31 15:02:13 -07:00
David Anderson 82da9693a3 scheduler: fix S@h compile error 2014-08-07 14:47:17 -07:00
David Anderson 81faa12ff3 scheduler: make matchmaker scheduling the default
Remove <matchmaker> config option; add <sched_old> option.
2014-07-08 12:35:45 -07:00
David Anderson 8992189045 tweaks (fix comments, compile warnings) 2014-06-20 17:15:04 -07:00
David Anderson 425f67f4c6 scheduler: don't show error msg if no plan class spec file 2014-05-02 12:03:07 -07:00
David Anderson 99332624f3 scheduler: parse <opencl_cpu_prop> in scheduler requests correctly
The OPENCL_CPU_PROP structure was being referred to as both
"opencl_cpu_prop" and "cpu_opencl_prop", roughly 50/50,
in variable names and XML tags.
Let's standardize on "opencl_cpu_prop",
which is what current clients are sending in scheduler requests.
2013-11-28 14:11:42 -08:00
Rom Walton bec26d2447 VBOX: Add support for vbox32_hwaccel and vbox64_hwaccel plan classes in the stock server scheduler. 2013-11-18 14:43:44 -05:00
David Anderson 5b76909f04 scheduler: parse OpenCL/CPU descriptors, and add plan class for OpenCL/CPU/Intel 2013-08-26 23:32:32 -07:00
David Anderson b156e88208 scheduler: sample code for the SSE3 plan class must check for "pni" rather than "sse3"; clients report "pni" 2013-08-08 11:00:29 -07:00
Eric J Korpela 2c226d6ab2 SETI@home: made sending VLAR results to GPUs a run time sah_config.xml option 2013-06-19 14:40:53 -07:00
Eric J Korpela 679cca5f1f Merge branch 'master' of ssh://boinc.berkeley.edu/boinc-v2 2013-06-04 14:01:18 -07:00
Eric J Korpela d9d5b4b3b5 - SCHED: changes SETI@home feasibility to allow VLAR to go to ATI GPUs
with cal_target>15 and NVIDIA GPUs with compute capability>=3.0
2013-06-04 13:57:30 -07:00
David Anderson b9f0733c06 server: replace strcpy() with strlcpy() various places 2013-06-03 22:42:53 -07:00
Eric J Korpela 225dc6534a - SCHED: Modified the SETI@home version of wu_is_infeasible_custom() to allow
very low angle range (VLAR) results to go to newer AMD/ATI GPUs.
2013-05-21 09:20:53 -07:00
David Anderson c9c9f2bae0 - scheduler: code shuffle; new file sched_check.cpp contains functions
that decide whether a job can be sent to a host
2013-04-09 12:19:00 -07:00
David Anderson 12319ca82b - scheduler: add code (commented out for now) for new implementation
of score-based scheduling.
2013-04-09 11:10:50 -07:00
David Anderson 24e8133e4b - tabs -> spaces 2013-04-02 17:23:37 -07:00
Eric J Korpela 5cfe879332 - Moved definitions of some scheduler paramerters from .cpp file to
sched_customize.h.  Their definitions in source are now protected with #ifdef
  to prevent warnings.
- Created #defined parameters for GPU memory requirements of the GPU plan
  classes
- Fixed some logging problems in sched_customize.h and expanded logging in some
  place in the GPU plan class selection.
- Reeplaced opencl_*_101 plan classes with more generic (but compatible)
  opencl_*_<ver> plan classes where the opencl version is determined from the
  plan class name.  This is so we don't need to write new plan classes to go
  from openc 1.1 to opencl 1.2. Just change the name of the plan class from
  opencl_nvidia_101 to opencl_nvidia_102 and it's done.
2013-03-07 11:28:43 +01:00
Rom Walton 3c20551a8f - server: Add a default plan class for the Intel GPUs.
(opencl_intel_gpu_101)
2013-03-04 17:01:37 +01:00
David Anderson 0c4a9bc452 - lib: actually let's make it "intel_gpu". 2013-03-04 17:01:37 +01:00
David Anderson 1174b00aba - client/manager: tweaks to Intel GPU code 2013-03-04 15:27:25 +01:00
David Anderson e2ab21944d - scheduler: use HOST_USAGE::uses_gpu() function where appropriate 2013-03-04 15:23:37 +01:00
David Anderson a93d8d1e4f - scheduler: compile fix for wu_is_infeasible_custom() 2013-03-01 16:26:09 +01:00
David Anderson 19602f45f0 - admin web: improve script for browsing credit info
- client: add a coproc-missing message


svn path=/trunk/boinc/; revision=26074
2012-09-06 03:58:24 +00:00
David Anderson 11a6e85632 - scheduler: support for projects with some non-CPU-intensive apps
(but not all) wasn't finished.
    New logic: if the project has an NCI app then:
    - make a list of NCI apps for which the client doesn't have
        a job in progress.
    - try to send one job for each of these apps
    - do this even if no work is being requested.
    - don't send jobs for NCI apps by other mechanisms

NOTE: the client logic isn't quite right for mixed NCI projects.
    If there's no job for a given NCI app,
    the client should do a scheduler RPC.
    This isn't critical so we won't do this now.


svn path=/trunk/boinc/; revision=26068
2012-09-01 04:58:12 +00:00
Eric J. Korpela 0bb1fd6581 Added additional debugging output for plan classes.
Replaced caluclation of ati version as integer with call to ati_version_int in
plan_class_spec.cpp


svn path=/trunk/boinc/; revision=25848
2012-07-05 15:29:38 +00:00
David Anderson 8c71f6d59a - scheduler: add support for Intel GPUs, and restructure things
to make it easier to add other GPU types in the future


svn path=/trunk/boinc/; revision=25792
2012-06-25 23:09:45 +00:00
David Anderson fd0983b991 - web: server status page should show elapsed time, not CPU time
svn path=/trunk/boinc/; revision=25785
2012-06-22 07:35:54 +00:00
David Anderson 9d25481174 - scheduler: fix bug that tried to open plan class spec file
on each request.
- client: when showing how much work a scheduler request returned,
    scale by availability (as is done to show the amount of the request)
- client in account manager request, <not_started_dur> and
    <in_progress_dur> are in wall time, not run time
    (i.e. scale them by availability)

Note: there's some confusion in the code between runtime and wall time,
    where in general wall time = runtime / availability.
    New convention: let's use "runtime" for the former,
    and "duration" for the latter.

svn path=/trunk/boinc/; revision=25597
2012-04-25 04:10:29 +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
David Anderson a16032dee5 - scheduler: add an alternative way of defining app plan functions
that uses an XML configuration file;
    see http://boinc.berkeley.edu/trac/wiki/AppPlanConfig
    From Bernd.


svn path=/trunk/boinc/; revision=25426
2012-03-14 19:53:16 +00:00
David Anderson f18ffd6fe7 - VDA: add some log messages
- scheduler: add VDA
- client, web: change default prefs to min_buf=.1 days, max_buf=.5 days
- scheduler: app plan function for vbox requires 7.0+ client


svn path=/trunk/boinc/; revision=25351
2012-02-28 06:57:28 +00:00
David Anderson c2ff0d9719 - scheduler: tell the user if we're not sending work because
VirtualBox is not installed


svn path=/trunk/boinc/; revision=25313
2012-02-22 21:21:15 +00:00
David Anderson 64608800cb - scheduler: don't send "update GPU driver" messages if
the client didn't report a driver version #


svn path=/trunk/boinc/; revision=25232
2012-02-09 20:34:29 +00:00
David Anderson 480e28b54c - web: fix the user search feature
- scheduler: parse d_project_share
- scheduler: if vbox and vbox_mt are both available,
    use vbox for a 1-CPU machine


svn path=/trunk/boinc/; revision=25176
2012-02-01 03:30:14 +00:00
Rom Walton be9e807e31 - sched: adjust the vbox??_mt plan classes to use 1.5 CPUs instead
of the full 2 CPUs. Vboxwrapper uses ceil() to allocate enough
        whole CPUs for Virtualbox.  Ideally this will cause the BOINC
        client-side scheduler to use the remaining fraction of the CPU
        for GPU data transfer which will then free up one whole CPU for
        another job.  All without over-commiting anything.
        
    sched/
        sched_customize.cpp

svn path=/trunk/boinc/; revision=25120
2012-01-21 18:51:37 +00:00
David Anderson dd16170fc1 - scheduler: the p_fpops value reported by clients can't be trusted.
Some credit cheats (e.g. with credit_by_runtime) can be done
    by reporting a huge value.
    Fix this by capping the value at 1.1 times the 95th percentile
    of host.p_fpops, taken over active hosts.


svn path=/trunk/boinc/; revision=25017
2012-01-09 17:35:48 +00:00
David Anderson 436d56e70b - scheduler: change vbox_mt plan function to use at most 2 cores, not 3
(CERN doesn't actually need 3)


svn path=/trunk/boinc/; revision=25013
2012-01-09 02:48:51 +00:00
David Anderson e8657adfd2 - scheduler: change vbox_mt app plan function to use 1, 2 or 3 CPUs
depending on how many the host has,
    and whether CPU VM extensions are present
    (this reflects the requirements of CernVM).


svn path=/trunk/boinc/; revision=25009
2012-01-08 01:28:39 +00:00
David Anderson 95ebb112c2 - client: for VBox apps, check stderr for "ERR_CPU_VM_EXTENSIONS_DISABLED".
If found, set HOST_INFO::p_vm_extensions_disabled,
    and pass this to the scheduler.
- scheduler (VBox app plan function) if a host has p_vm_extensions_disabled
    set, don't sent it multicore VBox jobs.

Note: if you have a host with VM extensions, and they're disabled
    in the BIOS, and you enable them, you can remove the
    <p_vm_extensions_disabled> line from client_state.xml
    and you'll be eligible to get multicore VM jobs again.


svn path=/trunk/boinc/; revision=24944
2011-12-30 09:43:58 +00:00
David Anderson df5d595c3a - scheduler, vbox plan class function:
send only 32/64 bit version to 32/64 bit host


svn path=/trunk/boinc/; revision=24916
2011-12-27 02:29:51 +00:00
Rom Walton 94c7b82d3b svn path=/trunk/boinc/; revision=24903 2011-12-26 13:42:34 +00:00
David Anderson fe16024982 - scheduler: in vbox plan class, require that host have
VM acceleration hardware feature
- remove job submission: typo fix


svn path=/trunk/boinc/; revision=24902
2011-12-26 08:27:40 +00:00
David Anderson 4774eeda52 - make_project: don't try to copy nonexistent file; fixes #1166
- scheduler: change Vbox app plan function to accommodate
    single and multithreaded variants


svn path=/trunk/boinc/; revision=24884
2011-12-24 05:07:20 +00:00
David Anderson 819360dfe8 - scheduler: encode CAL version numbers in a way that handles
release #s > 1000


svn path=/trunk/boinc/; revision=24746
2011-12-06 19:41:14 +00:00
David Anderson 2d7573b8f7 - scheduler: in app_plan(), check for "opencl" before "ati".
Otherwise "opencl_ati" won't get handled right.
    Fixes #1158


svn path=/trunk/boinc/; revision=24716
2011-12-02 14:37:47 +00:00