- Address David's comment of Feb 2. Now properly reduce the
disk size resource requirements of a WU being sent if the
file is already on the host, or already included in a previous
WU being sent. DAVID: please check that reply_copy.wus.pop_back()
is right.
- For this, define a function host_has_file(). This can also
be used in the future for more intelligent file deletion
schemes.
- Make warnings to upgrade old clients have low priority until
3 days before deadline. Then high priority.
- Fix sign error in messages sent to users about insufficient
disk space.
- Move extract_filename() from sched_locality.C to sched_util.C
- Pretty up the ordered list of URLs printed for a given host.
- I've even tested these changes before committing them!
svn path=/trunk/boinc/; revision=5382
<min_core_client_version_announced> N </min_core_client_version_announced>
<min_core_client_upgrade_deadline> M </min_core_client_upgrade_deadline>
This is used to warn users in advance if a new minimum core client is going
to be required. Users have until time 'M' (Unix epoch time(2) format)
to upgrade. Not yet tested.
svn path=/trunk/boinc/; revision=5370
no work was sent to hosts, and available space<0 OR if available space>0
but work was unfeasible because the disk bound requirements of the work
exceeded the available space.
Added a new config.xml boolean element called 'choose_download_url_by_timezone'
This requires that projects provide a 2-column file in the project root named
'download_servers'. An example is:
3600 http://einstein.aei.mpg.de
-21600 http://einstein.phys.uwm.edu
The first column is offset from UTC in seconds, and the second column is the URL
of the download server. When enabled, the scheduler will replace the download
path for data and executables by a list of download URLs, ordered by proximity
to the host's timezone. The download path must start with the
BOINC default download/ and the different download servers must have identical
file paths under download/, in other words they must be mirrored.
svn path=/trunk/boinc/; revision=5275
disk space is < 0, delete files which have <sticky> and <report_on_rpc>
set. Note that (1) this deletion simply removes the <sticky> tag, so
file won't be deleted until after all WU that depend upon it are
completed and (2) the mechanism to determine which file to delete
could be improved. TODO: improve messages to hosts which have no file
space and ALSO have no files to delete.
- scheduler changes: locality scheduling. Clean up code which makes a
deterministic search of results to delete. Data files names can not
contain the "~" character!
- scheduler changes: added a simple debugging mechanism for scheduler
replies. If you touch a file named 'debug_sched' in the project
root, then files called sched_reply_HOSTID_RPCNO will be created
under cgi-bin/ which contain the scheduler replies. You can turn on
this mechanism for some time to study the scheduler replies.
In a little while I will add a similar debugging feature which also
prints the corresponding scheduler requests.
svn path=/trunk/boinc/; revision=5247
of gcc to try and force them to not complain with -Wall but to always
include this, I decided to take a simpler approach. All these strings
now have global linkage. To prevent namespace conflicts they all
have different names. For the record, the variable extension is a hash made of the first ten characters of the md5sum of the file path, eg:
md5hash=`boinc/api/x_opengl.C | md5sum | cut -c 1-10`
svn path=/trunk/boinc/; revision=4979
fix was incomplete. In order for it to work as intended, I would
have also had to modify SCHED_RESULT_ITEM::parse to copy the
additional needed fields into the in-memory structure. But this
is fragile. The next time some additional fields are added to the
result table, they would have to be incorporated here as well, to
ensure that SET followed by UPDATE is the identity operation. So
I did a more graceful and robust fix. Simply set result.id=0 for
those results that have already been received or which for other
reasons should not be modified in the database, then skip these
when updating.
svn path=/trunk/boinc/; revision=4763
the top of all .C files. This means that 'string' or 'ident'
run on an executable will tell you the exact file versions used
in building it, since CVS replaces $Id$ with a complete version ID
string. Declaration is volatile so that the compiler won't remove
it even under agressive optimizations.
svn path=/trunk/boinc/; revision=4610