Commit Graph

5139 Commits

Author SHA1 Message Date
Charlie Fenton 0dcb0373a6 client: Fix typo which had no actual effect in practice. 2013-12-15 03:05:41 -08:00
David Anderson e97e5c059f client: when write file upload error XML to stderr, include user-friendly string 2013-12-14 16:34:47 -08:00
David Anderson a33e76e656 admin web: add "SQL rule" field to badge form 2013-12-13 00:07:36 -08:00
David Anderson 7944a791d0 client: allow <file> in app_info.xml
In a checkin on 20 July 2011, I changed <file_info> to <file>
in client_state.xml.
However, the code that parses app_info.xml still requires <file_info>.
This means you can't copy and paste stuff from
client_state.xml to app_info.xml.
Fix: parse either <file> or <file_info> in app_info.xml
2013-12-12 00:06:24 -08:00
David Anderson 47b4d6bacc client: fix bugs involving CPU throttling and GPU apps
Suspended tasks can be either left in memory (LIM) or removed
from memory (RFM).
CPU throttling always uses LIM.
Other types of suspension (e.g. user request) use LIM or RFM
depending on user prefs, except that RFM is always used for GPU tasks.

There was a bug: if tasks were suspended because of CPU throttling,
and then the user suspended activity,
GPU apps would remain LIM.
They need to be RFM.
2013-12-12 00:03:22 -08:00
David Anderson 6394a37dc6 Merge branch 'master' of ssh://boinc.berkeley.edu/boinc-v2 2013-12-11 00:35:49 -08:00
David Anderson 86a0dc0850 client: message tweak 2013-12-11 00:35:30 -08:00
David Anderson 0276ea6a2a Client: if have a non-English language, set ACCEPT_LANGUAGE in all HTTP requests 2013-12-11 00:35:03 -08:00
David Anderson e929b58ac8 client: fix bug that caused idle GPUs when CPU throttling used 2013-12-11 00:14:47 -08:00
David Anderson 2882ca2c94 client emulator: build fixes 2013-12-10 10:04:04 -08:00
Charlie Fenton e68dd4ac03 client: fix build break introduced by commit 9933262 2013-12-03 16:35:12 -08:00
Rom Walton 0d0a2067e9 android: revert my previous change. Eric implemented a better solution. 2013-12-03 14:15:18 -05:00
David Anderson 8f7e94ec5d Client and Manager: make notices translatable
- Add a GUI RPC ("set_language") that lets the Manager communicate
  the user's selected language code to the client at startup.
- The client stores the language code in the client state file
- The client appends a "lang=X" GET argument to the URLs from
  which notices are fetched.
- The next steps (not done) are 1) to change the get_notices.php
  script to parse the argument and do translation, and
  2) extend our Pootle system to allow volunteer translation
  of notices by all projects.
2013-12-03 10:47:56 -08:00
Rom Walton 229c1c50be android: Fix the get_mac_address() function on Android. For some reason we cannot link against the ether_ntoa function. 2013-12-03 10:20:44 -05:00
Charlie Fenton ccb339841d client: Convert Mac and Haiku CPU features strings to match that returned by Linux 2013-12-01 23:44:21 -08:00
David Anderson d6da81b862 client: fix bugs with CPU throttling and GPU apps
Various bad things could happen when CPU throttling was used together w/ GPU apps.
Examples:
- on a multi-GPU system, several GPU tasks are assigned to the same GPU
- a suspended GPU task remains in memory (tying up its GPU resources)
while other tasks try to use the GPU.

The problem was that parts of the code assumed that suspended
GPU processes don't exist - i.e. that when a GPU task is suspended
it's always removed from memory.
This isn't true in the presence of CPU throttling.

So I made the following changes:
- When assigning GPUs to tasks, treat suspended tasks like running tasks
  (i.e. reserve their GPUs)
- At the end of the CPU-scheduling logic, if there are any GPU tasks
  that are suspended and not scheduled, remove them from memory,
  and trigger a reschedule so we can reallocate their GPUs.

Also, a cosmetic change: in the resource usage string shown in the GUI,
include "(device X)" even if the task is suspended (i.e. because of throttling).

Also: zero out COPROC::opencl_device_indexes[] so we don't write
a garbage number to init_data.xml for non-OpenCL jobs
2013-11-29 11:44:09 -08:00
David Anderson de9b77e51e web site translation changes 2013-11-28 00:22:54 -08:00
David Anderson 1963f5c8cc client: apply CPU throttling to all tasks except non-CPU-intensive or app version is marked as no-throttle; in particular, apply it to GPU apps regardless of their CPU usage 2013-11-24 16:07:19 -08:00
Charlie Fenton a58db314a4 client: tweaks to get_max_cpu_temperature() for Macintosh 2013-11-23 16:01:46 -08:00
Charlie Fenton f8d822e7d2 client: update get_max_cpu_temperature() for Macintosh
- Return temperature in Celsius as a double
 - Add support for (hopefully) all Macintosh models
2013-11-23 03:31:57 -08:00
David Anderson c2a34cb938 client: parse <plan_class> in app_config.xml; fix error messages; show error message if <app_version> doesn't match any app versions 2013-11-22 00:04:00 -08:00
David Anderson 44793a4fcd client: don't show "Resuming - CPU throttle" messages w/ cpu_sched flag 2013-11-21 13:55:06 -08:00
David Anderson e3646cb406 client: fix error returns for get_mac_address() on Unix 2013-11-19 11:23:38 -08:00
Charlie Fenton 8ac1d88df1 client: On Macintosh, return MAC address for first Ethernet controller only. 2013-11-19 02:13:22 -08:00
Charlie Fenton 3e52dbaf31 client: On Macintosh, return MAC address for first Ethernet controller only.
- Update Xcode project for mac_adress.cpp,.h moved from lib/ to client/
2013-11-19 01:18:32 -08:00
David Anderson 6d0d5d42f0 compile fix 2013-11-18 20:43:07 -08:00
David Anderson d441502f66 Merge branch 'master' of ssh://boinc.berkeley.edu/boinc-v2 2013-11-18 20:36:55 -08:00
David Anderson 634613abcc client: generate host CPID as a function of MAC address
This makes the host CPID stable; if you repeatedly install BOINC
on a particular node, it will get the same host CPID each time,
and your host table won't get lots of redundant entries.
A host can have multiple NICs;
we use the MAC address of the first Ethernet controller we find,
or the last NIC if there is none.
Of course, this will create problems if we get the same MAC address
for different hosts; in principle this shouldn't happen.

Remove the unused file hostinfo_network.h
2013-11-18 20:31:14 -08:00
Charlie Fenton 969fbd7ded Fix compile breaks 2013-11-18 17:20:03 -08:00
David Anderson 20a03b71aa BOINC web site: platform icon stuff 2013-11-18 15:12:34 -08:00
Charlie Fenton 7c70f89b80 Mac: Fixes to allow minor OS versions > 9 and major OS versions > 10 2013-11-15 05:02:04 -08:00
Rom Walton 508456c449 client: --unsigned_apps_ok should cause the client to ignore file size checks as well 2013-11-14 23:20:07 -05:00
David Anderson 3d910a0190 client: message tweak 2013-11-13 21:24:16 -08:00
David Anderson 19b8fda196 client: don't delete global prefs file if we detach the project it came from. 2013-11-13 21:08:18 -08:00
David Anderson d3a199b3d3 win compile fix 2013-11-11 10:45:19 -08:00
David Anderson 0fc0f80c30 Fix win compile warnings. Let's shoot for zero warnings, OK? 2013-11-11 10:42:03 -08:00
David Anderson 43c5715729 client: parse (but ignore) <min_rpc_time> in state file 2013-11-10 18:03:15 -08:00
David Anderson d9aa54ca18 client: add is_wrapper flag to APP_VERSION. If set, the main program uses little CPU and can be run at elevated priority 2013-11-07 10:27:17 -08:00
David Anderson c77f580746 client: AMD GPU naming, from Jord 2013-11-05 19:15:54 -08:00
David Anderson f327561a19 client: tweak last commit; don't clear flags if anonymous platform 2013-11-05 14:45:17 -08:00
David Anderson 9778177448 client: clear no_rsc_apps[] flags before parsing scheduler reply. Otherwise they'll never get cleared if server doesn't explicitly send. 2013-11-05 12:56:51 -08:00
David Anderson a3b2be239f Compile fixes for C++11, from Rene Ladan 2013-11-05 09:19:27 -08:00
Charlie Fenton becaf33656 client: Remove redundant code in OpenCL CPU detection which was added in commit 8888ba6 2013-11-04 02:19:19 -08:00
David Anderson 3d644861aa client: AMD GPU detection fixes 2013-10-24 20:56:44 -07:00
David Anderson 41f2c94902 Client: limit # of slots to #CPUS*100. Also, consider an app verison a VM app if one of its files contains "vboxwrapper" 2013-10-24 14:21:30 -07:00
David Anderson 5a198b7fcb AMD GPU naming updates, from [P3D] Crashtest 2013-10-23 21:56:20 -07:00
David Anderson 45dfb684a6 Client: don't allow more than 1000 slot dirs.
There was a report of a situation where the client created unbounded slot dirs.
Not sure why this happened, but may as well impose a limit.
2013-10-23 21:37:24 -07:00
Rom Walton 61521aef4e client: Parse no_intel_gpu using the deprecated syntax for different venues. Thanks to Richard Haselgrove for pointing out the issue. 2013-10-23 15:05:15 -04:00
David Anderson 590bbf517a Client: for VM apps, use rsc_memory_bound as the working set size.
On Windows, the working-set size reported by the OS for VM apps is too low.
Apparently the RAM usage is in fact roughly the VM size.
This can lead to running multiple VM apps,
which use more RAM than is available, causing performance problems.
Solution: use workunit.rsc_memory_bound as the working set size for VM apps.
(Note: for now, a VM app is one where the plan class includes "vbox").
2013-10-22 22:21:13 -07:00
Rom Walton 67c4db3e66 client: Add missing reference to thread.cpp for Makefile.am 2013-10-22 14:28:51 -04:00