Commit Graph

276 Commits

Author SHA1 Message Date
David Anderson 07982df97a - update_versions: if FILE.file_ref_info contains <open_name>,
use that instead of physical name.
    This lets you have logical names with slashes

svn path=/trunk/boinc/; revision=23042
2011-02-16 04:57:31 +00:00
David Anderson 4dbe2c8fdf - new script sched/transitioner_catchup.php: transitions all WUs
that need it, then exits.
    For big projects coming up after an outage, run this before bin/start
    to minimize startup overload
- tweaks to PHP libraries to allow them to be used
    by scripts anywhere in the dir hierarchy


svn path=/trunk/boinc/; revision=22959
2011-01-29 06:28:10 +00:00
David Anderson 58b345fce6 - server: disable upload certificates by default.
These increase server load and it's not clear they're needed.
        

svn path=/trunk/boinc/; revision=22934
2011-01-24 19:39:50 +00:00
David Anderson 9d35970994 - server scripts (e.g. update_versions):
compute MD5 checksums be reading files in pieces instead
    of reading whole file into memory.  From Tolu Aina

svn path=/trunk/boinc/; revision=22743
2010-11-23 22:16:24 +00:00
David Anderson 723c764963 - server: add scripts to submit jobs for demo application
svn path=/trunk/boinc/; revision=22676
2010-11-10 22:54:56 +00:00
David Anderson c0612ab77f - make_project: with --test_app, copy all the executables
(for many platforms) from samples/example_app/bin
- make_project: change name of example app from uppercase to example_app.
- update_versions: allow version numbers to not have decimal points
- sample work generator: make app name and template files
    command-line options;
    default to "example_app", "example_app_in.xml", "example_app_out.xml"

svn path=/trunk/boinc/; revision=22667
2010-11-10 00:10:32 +00:00
David Anderson d384377743 - client: fix harmless compile warning
- make_project: don't try to install non-existent file

svn path=/trunk/boinc/; revision=22656
2010-11-09 05:00:49 +00:00
David Anderson 8aa29bec33 - validator: fix another bug with --credit_from_wu
- make_project, update scripts: don't quit it user_profiles
    already exists


svn path=/trunk/boinc/; revision=22630
2010-11-05 17:15:27 +00:00
David Anderson 7fcd20e020 - make_project, upgrade scripts:
create a symbolic link from html/user/user_profile to html/user_profile
    (needed to make profiles work)

svn path=/trunk/boinc/; revision=22622
2010-11-03 22:42:01 +00:00
David Anderson e97a9177d3 - python DB layer: fields with values None or ''
where being omitted from query strings.
    This is incorrect.
    For example, suppose you have an app version with nonempty plan_class,
    then you try to add a version with no plan class.
    The query would omit the "and plan_class = ''"
    so it would match the existing app version and not add a new version.
    Reported by Rytis.
    Hopefully this won't break anything.


svn path=/trunk/boinc/; revision=22616
2010-11-03 18:25:24 +00:00
David Anderson d44e403fbf - admin: fix bug with "upgrade --server_only".
It wasn't copying html/ops/db_update.php,
    so it wasn't doing necessary DB updates.
    Fixed this by always copying html/ops/*.

    Even with this fix, there is a problem when using
    the --server_only or --web_only options of upgrade:
    if any DB updates are done, they may affect the
    server code that's not being updated, resulting in crashes.

    I added a warning message in this case,
    recommending that a full upgrade be done.

svn path=/trunk/boinc/; revision=22200
2010-08-11 20:08:13 +00:00
David Anderson fb851311e0 - server: various changes;
see http://boinc.berkeley.edu/trac/wiki/CreditNew

    Projects will need to update DB and recompile all back-end programs.

    Summary:
    - new way of computing credit
    - "reliable host" mechanism is per app version
    - "host punishment" mechanism is per app version
    - adjustment of wu.rsc_fpops_est provides the
        equivalent of per app version DCF
    - max jobs in progress is now per app
    - max jobs per RPC is now per app

    TODO:
    - reliable mechanism:
        - populate and use host_app_version.error_rate
        - populate host_app_version.turnaround
    - host punishment:
        - populate host_app_version.max_jobs_per_day
        - populate host_app_version.n_jobs_today
        - use app.max_jobs_per_day_init
    - job limits:
        - use app.max_jobs_in_progress, max_gpu_jobs_in_progress
        - use app.max_jobs_per_rpc
    - adjust wu.rsc_fpops_est
    - remove old credit stuff
        fpops_cumulative, credit_multiplier
        credit computation in scheduler

- AVERAGE class: use the Knuth algorithm (Wikipedia)


svn path=/trunk/boinc/; revision=21021
2010-03-29 22:28:20 +00:00
David Anderson c0ad0f3745 - update_versions: if file is already in download dir,
and is the same, don't copy (it might not be writeable)
- client: change "result" to "task" in user-visible messages

svn path=/trunk/boinc/; revision=20785
2010-03-03 23:52:20 +00:00
David Anderson c27f2486e7 - fix python deprecation warning (from Jeremy Cowles)
svn path=/trunk/boinc/; revision=20122
2010-01-11 06:10:17 +00:00
David Anderson 437087a053 - upgrade: add --server_only option
(updates scheduler and back-end programs, but not web code)
    fixes #968

svn path=/trunk/boinc/; revision=20052
2009-12-31 02:37:16 +00:00
David Anderson e1bdfc0ee8 - web: change the way project news is stored.
Old: in a flat file (html/project/project_news.inc)
    New: in a forum (called "News" by default)
    The script html/ops/news_convert.php copies news from
    old to new format.
    You'll also need to edit your index.php and use
    "show_news(0, 5)" to show news.
- web: added a "message of the day" mechanism.
    Edit html/user/motd.php to show a message.
    This will be shown as the first news item,
    but it's not archived (i.e., it's not a forum post)


svn path=/trunk/boinc/; revision=19949
2009-12-16 22:35:08 +00:00
David Anderson 3f9f76f5c2 - add "appmgr" script for managing apps and versions (from Gabor Gombas)
svn path=/trunk/boinc/; revision=18938
2009-08-28 18:25:26 +00:00
David Anderson d14527f79d - update_versions: if app version files already exist in download dir,
make sure they're the same (i.e., enforce file immutability).
    TODO: do this for input files too
- client: check return values from CUDA device detection functions

svn path=/trunk/boinc/; revision=18903
2009-08-24 19:08:05 +00:00
David Anderson 25cd6f456d - make_project and upgrade: copy file management programs to proj/bin/
svn path=/trunk/boinc/; revision=18885
2009-08-20 18:10:42 +00:00
David Anderson c653852718 svn path=/trunk/boinc/; revision=18840 2009-08-13 18:22:40 +00:00
David Anderson a1d18e7e11 svn path=/trunk/boinc/; revision=18839 2009-08-13 18:20:03 +00:00
David Anderson 69e363df2f svn path=/trunk/boinc/; revision=18838 2009-08-13 18:18:32 +00:00
David Anderson 6b36764b65 - start: don't print "XML parse error" message if run_state file
doesn't exist (e.g. when start new project)


svn path=/trunk/boinc/; revision=18837
2009-08-13 18:17:09 +00:00
David Anderson a0c483f5e6 - make_project/upgrade: install pymw assimilator
- make pymw_assimilator.py executable


svn path=/trunk/boinc/; revision=18481
2009-06-22 22:20:35 +00:00
David Anderson 817153c96b - setup script: remove old pymw stuff
svn path=/trunk/boinc/; revision=18455
2009-06-18 22:48:11 +00:00
David Anderson 577f14ff49 - python scripts: fix bugs, restore latest version of "start"
svn path=/trunk/boinc/; revision=18424
2009-06-15 23:24:15 +00:00
David Anderson ac14777bae - forget to add file
svn path=/trunk/boinc/; revision=18384
2009-06-11 23:06:02 +00:00
David Anderson b7406ef57c - server: make the python code honor BOINC_PROJECT_PATH.
It is now possible to use the same set of tools for multiple
    projects by setting BOINC_PROJECT_PATH.
    From Gabor Gombas.

svn path=/trunk/boinc/; revision=18376
2009-06-11 16:06:25 +00:00
David Anderson 6bc55040f0 - server: Use distutils for installing the python modules,
and move files not part of the BOINC package from py/Boinc to py/
    From Gabor Gombas.

svn path=/trunk/boinc/; revision=18375
2009-06-11 16:01:36 +00:00
David Anderson 4cf6b7793c - server: move python modules from PROJECT/bin to PROJECT/py/Boinc.
make_project now generates PROJECT/bin/boinc_path_config.py
    to ensure that the interpreter will find the modules.
    From Gabor Gombas.

svn path=/trunk/boinc/; revision=18374
2009-06-11 15:38:48 +00:00
David Anderson 144c106e19 - make_project and upgrade: add --srcdir option so you
can run these commands from any directory
    (mostly from Gabor Gombas; added a fix for svnversion)

svn path=/trunk/boinc/; revision=18356
2009-06-10 22:38:33 +00:00
David Anderson cb0c57c590 - python DB code: add clear cache method, and fix equality crash
(from Jeremy Cowles)

svn path=/trunk/boinc/; revision=18258
2009-06-02 04:07:53 +00:00
David Anderson da217e4c59 - upgrade: don't crash if file copy fails
- db_update.php: select database (not clear if this ever worked)
- translation: fix bug if have both BOINC and project translation

svn path=/trunk/boinc/; revision=18141
2009-05-18 04:18:47 +00:00
David Anderson 9dc7ecb22a - make_project: get rid of verbosity-level stuff
and fancy overwriting of stdout lines


svn path=/trunk/boinc/; revision=17736
2009-04-06 18:27:02 +00:00
David Anderson 4dfc96033c - web: clean out translation directories before updating
(to get rid of bad translation files)


svn path=/trunk/boinc/; revision=17656
2009-03-24 23:08:09 +00:00
David Anderson f6b1ae85b9 - certificate stuff
svn path=/trunk/boinc/; revision=15957
2008-09-04 12:17:58 +00:00
David Anderson 95fdff2fd3 - server: add assimilator for Python Master/Worker system,
and change setup script to copy its files

svn path=/trunk/boinc/; revision=15702
2008-07-28 22:56:39 +00:00
David Anderson 283a785c0f - back-end stuff to support Python MW (from Adam Kornafeld)
Not complete.

svn path=/trunk/boinc/; revision=15679
2008-07-25 22:13:41 +00:00
Adam Kornafeld 1787e0eb14 Make project installs pymw specific parts
svn path=/workspaces/kadam/; revision=15660
2008-07-22 22:29:29 +00:00
Adam Kornafeld a0ff4d5276 Edit project.xml programmatically
svn path=/workspaces/kadam/; revision=15657
2008-07-22 20:57:25 +00:00
Adam Kornafeld d252499e0f Moving pymw setup script to tools directory
svn path=/workspaces/kadam/; revision=15655
2008-07-22 17:45:35 +00:00
Adam Kornafeld a6ba196dfc Added setup script for pymw
svn path=/workspaces/kadam/; revision=15654
2008-07-22 17:23:56 +00:00
David Anderson ba752a17e7 - make_project: allow account creation initially.
Otherwise it's another nit-picky little step
    in the project "quick start" process.

svn path=/trunk/boinc/; revision=15382
2008-06-10 21:19:09 +00:00
David Anderson 4387e4491b - Fix emacs mode line in Makefile.am's
svn path=/trunk/boinc/; revision=15375
2008-06-08 22:18:52 +00:00
David Anderson 0e03df254b - Back end: add adaptive validation feature
(DB update required)
- Fixed typo in Eric's 5/28 checkin

svn path=/trunk/boinc/; revision=15357
2008-06-04 23:04:12 +00:00
David Anderson 812d033008 svn path=/trunk/boinc/; revision=15229 2008-05-15 22:10:29 +00:00
David Anderson d2a02a5184 - client and server: in coprocessor records, change "name" to "type"
to avoid confusion with "name" field of CUDA.
    This is a bug fix - please port.
- start script: don't error out if run_state.xml file is empty
    (which happens if project runs out of disk space)

svn path=/trunk/boinc/; revision=15168
2008-05-09 20:54:52 +00:00
David Anderson 05f703559f - scheduler: add preliminary support for "job size matching"
(attempt to send big jobs to fast hosts, small jobs to slow hosts).
    - have "census" compute mean/stdev of host speeds,
        write it to a file perf_info.txt
    - have feeder compute mean/stdev of sizes of jobs in shmem
    - have feeder read perf_info.txt into shmem
- scheduler: add some debugging messages for app version selection
- Add LGPL license to a few files
- upgrade/setup scripts: copy census to bin/


svn path=/trunk/boinc/; revision=15136
2008-05-06 19:53:49 +00:00
David Anderson 6ba8928537 - client (Unix): use symbolic links instead of XML link files.
This will allow applications to access shared libraries
    by their logical names,
    which simplifies things when you have multiple platforms,
    and the apps (or libraries) refer to shared libraries
    by names that don't include the platform.
    This shouldn't impact the API - boinc_resolve_filename()
    will open the file, see that it's not an XML link file,
    and the symbolic link will be used directly.
    At some point we can change boinc_resolve_filename() on Unix
    to be a no-op if the client is 6.2+
- client (Unix):
    Append the slot dir to LD_LIBRARY_PATH.

svn path=/trunk/boinc/; revision=14944
2008-03-19 16:54:36 +00:00
David Anderson 815b8fc043 Various preparation for handling multithreaded apps
and apps that use coprocessors.
There now can be several app_versions for the same
(app, platform, version_num) combination.
This changes a number of things.

- Added app_version.plan_class field to DB
- update_versions now looks for a :plan-class in the
    file or directory name, and puts it in the app_version's DB record
- Change uniqueness constraint to include plan_class
- Feeder: the feeder was putting non-deprecated app_versions
    in shared mem, and leaving it to the scheduler to
    find the latest version for a given platform.
    This is dumb.
    Instead, for each app/platform pair the feeder now
    finds the highest version number of a non-deprecated app version,
    and enumerates all non-deprecated app_versions with that
    app/platform/version
- Scheduler: add a BEST_APP_VERSION data structure that keeps track,
    for each app, what the best app_version is for this host.
    This saves the work of recomputing it for each job.

svn path=/trunk/boinc/; revision=14906
2008-03-13 22:57:24 +00:00