Commit Graph

701 Commits

Author SHA1 Message Date
David Anderson fc7c75b200 server: parse peak memory/disk info from client, store in DB, display in web
The latest client reports the peak working set size, swap size,
and disk usage for completed jobs.
Add fields to the results table to store these.
Parse them in scheduler request messages, and write to the DB.
Display them in the result web page.

This data can be used to improve (or even automate)
the job estimates for memory and disk usage.
2014-04-02 19:35:59 -07:00
David Anderson f5fea9c3d3 team_import script: decode entities properly 2014-03-28 14:52:37 -07:00
David Anderson 0cdee0af4e Fixes for the BOINC-wide teams site
- the exported team list wasn't parsing due to non-ASCII characters
    in some team descriptions.
    htmlspecialchars() wasn't doing the job.
    Use DOMDocument instead.
- If SHOW_NONVALIDATE_TEAMS is set (as on the BOINC-wide teams site)
    show teams whose founders email addresses are not validated
    (and hence won't be exported).
2014-03-07 00:37:44 -08:00
David Anderson 5381def663 server: use gpu_active_frac in scheduling decisions
On some hosts, gpu_active_frac may be much less than active_frac
(i.e., GPUs may be available much less than CPUs).
Use gpu_active_frac in the following places:

- scheduler: in estimating the elapsed time of jobs,
    to decide whether they can meet deadline
- scheduler: in computing the effective speed of a (host, app version),
    when deciding what size class it belongs to
- size_census: in computing effective speed of (host, app versions)

(Previously, we were just using active_frac in all these cases)
2014-03-06 21:23:02 -08:00
David Anderson df1d8e2bde server: store and display gpu_active_frac
- gpu_active_frac is the fraction of time GPU use is allowed
  while the client is running.
  Previously the client reported it but we weren't storing it in the DB.
  We may need it in the future for batch scheduling logic.
- fix a crashing bug in scheduler
- client: minor message tweak
2014-03-06 13:23:52 -08:00
David Anderson bb9d53336e server: add app_select_edit.php script
Use this if your project allows user app selection,
and you add a new app.
It makes the new app selected for all users.
2014-03-04 11:14:15 -08:00
David Anderson 6f6168896b admin web: code cleanup in manage_user.php (ancient, undergrad-written) 2014-03-03 00:44:18 -08:00
David Anderson 20c11bccf7 fixes for Android/x86 build scripts, from Jon 2014-03-02 22:47:24 -08:00
David Anderson 28ff9223ab Server: add feature to mass email script to send to ID list 2014-03-01 12:07:46 -08:00
David Anderson 603bca7b0b admin web: fix small bugs in manage_user.php 2014-02-21 12:05:39 -08:00
David Anderson 054d70b4ee Job-size matching: fix bug in size_census.php, and add an --all_apps option. From Jon Sonntag 2014-02-20 09:43:46 -08:00
David Anderson 9220ceb02a Admin web: deprecate problem_host.php, which sends a confusing email to user 2014-02-05 17:21:03 -08:00
David Anderson fe1db8060a Remote job submission: allow a limit on the # of in-progress jobs per user 2014-01-13 21:52:55 -08:00
David Anderson b12b85cfdb Admin web: convert create_forums.php to use DB abstraction layer (from Janus) 2014-01-06 14:20:25 -08:00
David Anderson ef245d456b web: show badges on private user page 2013-12-23 22:13:27 -08:00
David Anderson 92fec3e4ae admin web: enhance badge admin page
- add delete button
- show # of badges assigned
- don't use separate head/tail function are admin pages
- add badge assign task for new projects
- turn on db_dump, update_uotd, update_forum_activities,
  update_profile_pages, notify for new projects
2013-12-23 21:02:55 -08:00
David Anderson 2d0a6cc10f web: add badge stuff to db_update script 2013-12-22 20:53:10 -08:00
David Anderson 387c04c365 web: tweak badge images 2013-12-22 20:39:52 -08:00
David Anderson 32ffd33e3f web: tweaks 2013-12-20 23:18:07 -08:00
David Anderson b33bf69a98 web: enhance badge features
- the default badges (defined in ops/badge_assign.php) are now
  based on RAC percentile (top 1%, 5%, and 25%) rather than plain RAC.
- RAC percentile badges are now granted for teams as well as users;
  show badges in team page.
- move badge utility functions to inc/util_ops.inc
2013-12-20 15:03:24 -08:00
David Anderson 4d738ab4fb admin web: add script for removing zombie hosts 2013-12-18 13:32:23 -08:00
David Anderson a33e76e656 admin web: add "SQL rule" field to badge form 2013-12-13 00:07:36 -08:00
David Anderson 13cb0e817f web: change Recaptcha URL; the old one doesn't work w/ Chrome, IE 2013-12-06 17:45:40 -08:00
David Anderson 65b5ab5184 server/web: preliminary support for badges
- DB: add tables for badges and badge/user and badge/team associations
- add script that defines 3 RAC-based badges and assigns them
- add images for these badges
- add admin page for creating/editing badges
- show badges on user page
not done:
- figure out how to send badges to client
- display badges somewhere in the GUIs
- export badges in db_dump
- enable badges by default for new projects
2013-12-05 10:14:26 -08:00
David Anderson 6e622fa017 web: code cleanup in translation code 2013-12-04 10:22:11 -08:00
David Anderson c6346bef5f Translation system: fixes and updates
Add script (compare_pot) for comparing templates module comments,
   and sending reminder emails if they differ.
Add script (buid_pos) for generating all templates and comparing
   them with current versions.
2013-10-15 11:19:59 -07:00
Rytis Slatkevicius b7a89884b8 Fix incorrect assigment title for users; fix warnings in assign.php 2013-10-10 16:35:43 +03:00
David Anderson f5ac21908f server: fix typo in expire_batches script 2013-10-07 13:16:33 -07:00
David Anderson 2a2c9c4ad8 remote job submission: add notion of "expire time" for batches (for Condor)
- Batches now have optional "expire time".
  If this time passes and the batch is not retired, abort and retire it.
- Add script "expire_batches" which enforces the above.
  Run it as a periodic task.
- Add a web RPC for setting the expire time of a batch
  (it can be changed multiple times)
- Add a C++ interface for this RPC
- Add a BOINC_SET_LEASE command to the BOINC GAHP
  ("lease" is Condor term for expire time)
2013-09-17 13:35:55 -07:00
David Anderson dd41c91c32 client: message tweaks 2013-09-17 13:05:06 -07:00
David Anderson 73d7e0cb81 Server: change declaration of mod_time fields to work with MySQL 5.6 2013-09-10 19:12:47 -07:00
David Anderson 769cc7eaea admin web: link hosts in failure page 2013-08-16 22:31:18 -07:00
David Anderson e401380d5c admin web: fix PHP errors in failure page 2013-08-16 22:21:12 -07:00
David Anderson cca4b96152 admin web: fix PHP warning 2013-08-16 12:20:40 -07:00
David Anderson 6501519031 admin web: in failure-by-version page, show anon platform versions correctly 2013-08-16 11:59:46 -07:00
David Anderson 4a8e916399 admin web: fix "error by platform" page if anon platform used 2013-08-16 10:44:58 -07:00
David Anderson e1523cc093 admin web: add option to Cancel Jobs page to cancel only unsent jobs 2013-07-30 14:07:34 -07:00
David Anderson 7a281665c0 Admin web: change App and App Version admin pages to limit POST size
On projects with lots of app versions and small POST size limits
(PHP or Apache config?) limit could be exceeded,
causing incorrect DB updates.
Fix this by having one Update button per app version.
Similar for apps.
2013-07-02 14:51:19 -07:00
David Anderson bd032149ef admin web, manage app versions: show app versions in better order 2013-06-03 14:49:27 -07:00
David Anderson cde42fcbcc server: parse product_name in scheduler request, store in DB
This will let projects see what kind of device each Android host is,
possibly helping with app debugging.
2013-05-23 23:30:42 -07:00
David Anderson 56b97523e0 admin web: fix result "summary by app version" to show anonymous platform 2013-05-19 23:05:02 -07:00
David Anderson 2cfb1163f2 admin web: avoid divide by zero 2013-05-19 10:00:42 -07:00
Rytis Slatkevicius f34e7c10df Show the number of feeder slots for each application (based on app weight) in the ops pages 2013-05-10 10:17:39 +03:00
David Anderson 82b153b75d admin web pages: validate some input values 2013-05-06 16:41:55 -07:00
David Anderson 4f7bd9e7ad web: user $x = new StdClass instead of $x = null for new objects 2013-05-03 22:12:26 -07:00
David Anderson 0c430ce1fa Add support for multi-size apps
See http://boinc.berkeley.edu/trac/wiki/MultiSize
The components of this include:
- DB changes:
    add size_class to workunit and result
    n_size_classes to app; >1 means multi-size
- size_regulator daemon program: change results states
    from INACTIVE to UNSENT carefully
- size_census program; writes quantile info in flat files
- transitioner: when creating results for multi-size apps,
    set server state to INACTIVE
- sched shmem (feeder): read quantile info from flat files,
    store in shared memory
- scheduler (score-based scheduling): for multi-size apps,
    add component to score function for size class.
- show_shmem: show result size class
- make_work (and other callers of count_unsent_results()):
    count both INACTIVE and UNSENT
- create_work: add --size_class cmdline option

Also:
- if get MySQL errors in upgrade, don't rewrite db_version
2013-04-25 00:27:35 -07:00
David Anderson 8740e9a2b5 - web: update text for finding data directory 2013-04-24 19:15:06 -07:00
David Anderson 0eaaca174a - make_project: don't write <cgi_url> in config.xml; it's not used 2013-04-13 21:32:10 -07:00
David Anderson 033a47691b - client: write log flags in alpha order 2013-03-15 13:38:44 +01:00
David Anderson 71b6508313 - client: add <fetch_on_update> config option;
requests work when you update a project
    even if it's not highest priority
2013-03-07 11:28:43 +01:00