Commit Graph

3286 Commits

Author SHA1 Message Date
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 503b481548 web: order results by descending sent_time when showing ID 2014-02-20 12:56:27 -08:00
David Anderson 7787e48172 server: add intel_gpu case to gpu_ratios.php 2014-02-20 11:08:24 -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 6610f7633b web: show Intel GPUs in top GPU list 2014-02-19 22:52:33 -08:00
David Anderson 6ff59eae06 web: remove "mobile" from host venue select 2014-02-08 15:38:11 -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 43eb73fa50 locale: Update compiled localization files 2014-02-03 00:14:28 -08:00
David Anderson 7e00868161 get_project_config: don't show platforms for deprecated apps 2014-02-02 22:08:09 -08:00
David Anderson 5f9cd8c5d5 locale: Update compiled localization files 2014-02-01 12:16:24 -08:00
David Anderson c4f4421ff0 client/manager/server: use HTTPS for web RPCs if possible
The web RPCs done by the client during project attach
(lookup_account, create_account)
have an email address and password hash in their request.
Network sniffers could potentially see these,
so we should use HTTPS for these RPCs if possible.
However, not all BOINC projects have SSL-enabled web servers.
So I did the following:

- Change get_project_config.php to return an additional
  <web_rpc_url_base> element.
  This is SECURE_URL_BASE (if specified in the project's
  project.inc config file) or, if not, the master URL.
- This new element is parsed into the PROJECT_CONFIG structure.
- In calls to create_account and lookup_account,
  the Manager uses PROJECT_CONFIG::web_rpc_url_base
  if it's available, else the master URL.

So, the new Manager/client uses HTTPS for RPCs to projects
that have updated their get_project_config.php,
and specify a SECURE_URL_BASE with https:// prefix.

Android note: I added code to parse the new config element,
but didn't change the higher-level code;
Joachim will need to do this.
2014-01-28 13:25:59 -08:00
David Anderson 4a9f9fa506 locale: Update compiled localization files 2014-01-19 12:17:28 -08:00
David Anderson 5736d2c800 locale: Update compiled localization files 2014-01-18 00:16:58 -08:00
David Anderson 2f6ed0a281 locale: Update compiled localization files 2014-01-17 12:06:50 -08:00
David Anderson 01b78c714a Remote job submission: allow efficient batch query
The batch query call used by Condor (query_batch_set(), in the C++ API)
returned info about all the jobs in the set of batches,
even those that hadn't changed.
This is potentially inefficient - a query might return info
about 10,000 jobs, only a few (or none) of which have changed state
since the last call.

Solution: add a "min_mod_time" parameter to the call.
Only jobs that have changed state since that time are reported.
Also, add a "server_time" field to the return,
giving the current time on the server
(in case there's clock skew between client and server)

Also, fix some text scrambling introduced in previous checkin;
there must have been a gremlin in my vim.
2014-01-16 10:24:10 -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 2163db930a locale: Update compiled localization files 2014-01-11 12:16:19 -08:00
David Anderson ed750422ee web: tweak 2014-01-11 11:03:35 -08:00
David Anderson 52cbfd260e locale: Update compiled localization files 2014-01-11 00:15:10 -08:00
David Anderson a50be68095 locale: Update compiled localization files 2014-01-10 12:18:26 -08:00
David Anderson e979588b7f web: cleanup and minor bug fixes, from Janus 2014-01-09 13:51:12 -08:00
David Anderson 20ff585a94 client: job scheduler tweaks to avoid idle CPUs
- allow overcommitment by > 1 CPU.
  E.g. If there are two 6-CPU jobs on an 8 CPU machine, run them both.
- Prefer MT jobs to ST jobs in general.
  When reorder the run list (i.e. converting "preliminary" to "final" list),
  prefer job J1 to J2 if:
  1) J1 is EDF and J2 isn't
  2) J1 uses GPUs and J2 doesn't
  3) J1 is in the middle of a timeslice and J2 isn't
  4) J1 uses more CPUs than J2
  5) J1's project has higher scheduling priority than J2's
  ... in that order.

  4) is new; it replaces the function promote_multi_thread_jobs(),
  which did something similar but didn't work in some cases.
2014-01-09 12:07:55 -08:00
David Anderson 307b4538d6 get_project_config.php: use DB abstraction layer. From Janus. 2014-01-08 17:17:07 -08:00
David Anderson e579a0ad56 web: change server status page to use DB interface; from Janus 2014-01-07 13:13:44 -08:00
David Anderson e672cdac37 web: don't call db_init() in uotd.inc 2014-01-07 13:04:59 -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 d475de82dc locale: Update compiled localization files 2013-12-29 00:18:36 -08:00
David Anderson e8110e6918 Fix last commit 2013-12-28 22:53:47 -08:00
David Anderson ecdc25968a Extend PHP interface for Web RPCs
- add a PHP interface for lookup_account()
- PHP interfaces return error number as well as message
  (messages change; numbers don't)
- using symbolic error codes instead of hardwired numbers in PHP code
2013-12-28 22:50:59 -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 72e1464b81 web: badge images 2013-12-22 19:59:53 -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 28f975f167 locale: Update compiled localization files 2013-12-18 12:19:42 -08:00
David Anderson 8f10f0a957 locale: Update compiled localization files 2013-12-18 00:20:23 -08:00
David Anderson 00897ecc3f web: remove some mysql_* calls 2013-12-16 19:22:34 -08:00
David Anderson 0fdfcbd074 web: remove some mysql_* calls 2013-12-16 00:45:45 -08:00
David Anderson a33e76e656 admin web: add "SQL rule" field to badge form 2013-12-13 00:07:36 -08:00
David Anderson 3d4f82e3c4 locale: Update compiled localization files 2013-12-09 00:15:39 -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