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
"There is a bug in tra() that causes problems if one of the arguments
contains a replacement marker itself. For example, if the first
argument contains an encoded URL, which contains '%2', the second
argument may appear in the middle of the URL."
- client simulator: further fiddling around. Not done.
svn path=/trunk/boinc/; revision=20201
to accept CPU, NVIDIA and ATI jobs.
These prefs are shown only where relevant:
e.g., only for processor types for which the project has app versions,
and if it has versions for only one type, no pref is shown.
These prefs affect both client and scheduler.
The client won't ask for work for a device blocked by prefs,
and the scheduler won't send it.
This replaces earlier optional project-specific prefs for
"no CPU jobs" and "no GPU jobs".
(However, these prefs continue to be honored on the server side).
- client: if NVIDIA driver is unknown, say that rather than 0
svn path=/trunk/boinc/; revision=19194
- 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
working-set size into a fixed-size buffer.
Use %e instead.
TODO: figure out why WSS was huge.
- web: if "en" is primary language, don't read translation files
svn path=/trunk/boinc/; revision=17831
which compiles the translation files into the form
used by the web code.
Projects that don't use "upgrade" will need to do this manually
whenever translation files change.
svn path=/trunk/boinc/; revision=17652
There are two mechanisms to prevent the scheduler from
sending jobs that won't finish by their deadline.
Simple mechanism:
The client sends the interval x for which CPUs are projected
to be saturated.
Given a job with estimated duration y,
the scheduler doesn't send it if x + y exceeds the delay bound.
If it does send it, x is incremented by y.
Complex mechanism:
Client sends workload description.
Scheduler does EDF simulation, sees if deadlines are missed.
The only project using this AFAIK is BOINC alpha test.
Neither of these mechanisms takes coprocessors into account,
and as a result jobs could be sent that are doomed to
miss their deadline.
This checkin adds coprocessor awareness to the Simple mechanism.
Changes:
Client:
compute estimated delay (i.e. time until non-saturation)
for coprocessors as well as CPU.
Send them in scheduler request as part of coproc descriptor.
Scheduler:
Keep track of estimated delays separately for different resources
- client: fixed bug that computed CPU estimated delay incorrectly
- client: the work request (req_secs) for a resource is the min
of the project's share and the shortfall.
svn path=/trunk/boinc/; revision=17086
The bug caused the default language to be ignored if set to "English"
regardless of whether this was done through the browser or through a
cookie.
svn path=/trunk/boinc/; revision=17012
- Removed language interface code (noone seemed to understand/use it anyways)
- Removed a lot of debug. Compiling the language files will now only show whether the compile worked or not
- Removed automatic change-detection. You must now manually trigger compiles using ops/update_translations.php (improves performance slightly)
- Extended tra() to support arbitrary number of arguments
- Random code documentation fixes
- Fixed language override selection page to now correctly show the possible language alternatives
svn path=/trunk/boinc/; revision=16190
for a particular (non-ASCII) profile text.
Not sure why, but I rewrote sub_sentence() in
less obscure way and it works now
- web: slight cleanup of translation code.
Can we please replace this with gettext()??
svn path=/trunk/boinc/; revision=16035
(language_select.php wasn't working)
- tr.po had some syntax error, and was way out of date.
replaced it with en.po
svn path=/trunk/boinc/; revision=15858
1) it's not correct to apply stripslashes() to all form input.
That should be done only if magic quotes is on.
I fixed this by adding a function undo_magic_quotes()
that does the right thing.
2) There's no reason to strip backslashes from user-supplied text
(forum titles and bodies, private messages, passwords etc.)
I'm not sure why this was being done.
It prevented messages from containing backslashes.
svn path=/trunk/boinc/; revision=15364
(should this be set by default?)
- web: removed addslashes() when building language translation arrays.
These caused 's to be displayed as \' everywhere.
They may serve some purpose, but I can't think of what it is.
- web: changed max profile image dimensions from 800x600 to 640x480.
The new profile page puts a column to the right
of the image, so it shouldn't be quite that wide.
svn path=/trunk/boinc/; revision=14562
Here's how things should eventually be:
- inc/db_conn.inc defines DbConn, a PHP class representing
a connection to a database with
various generic operations (update, insert etc.).
DbConn prepends the DB name to table names,
so you don't have to select a DB;
this means you can access multiple databases
(e.g. BOINC and Bossa) and use persistent connections.
ALL MYSQL-SPECIFIC CODE WILL EVENTUALLY BE HERE.
- inc/boinc_db.inc defines classes BoincUser, BoincTeam etc.,
representing the various BOINC DB tables.
All access to the DB should use these classes.
When you use this framework, no initialization calls are needed.
db.inc is deprecated and should eventually be removed.
I changed get_logged_in_user()
and all team-related code to use this framework.
- user web: show team founder link to "management functions"
even if they're not currently a member;
allow team founder to perform all operations even if not a member.
- turned on E_ALL error checking,
and fixed a bunch of warnings
and a couple of bugs ($team, not team)
- database: update schema/constraints for team fulltext search
- user web: forgot to change Serbia and Montenegro to Serbia
svn path=/trunk/boinc/; revision=13968
$s = '$s';
at top of compiled translation files,
to allow re-ordering of format codes
(from H. Komori)
html/inc/
translation.inc
svn path=/trunk/boinc/; revision=12673
we need to use " to expand $PROJECT var
- scheduler:
take work_buf_min into account in deciding whether
a result will be reported by its deadline.
- all back end programs:
better error message if can't parse config file
html/inc/
translation.inc
sched/
*.C
svn path=/trunk/boinc/; revision=12652
- Add --server_uses_workload option
(simulate server that does EDF simulation)
- Add simulation of exponential backoff when don't get work.
Otherwise it will keep asking forever.
- move non-interesting stuff to sim_util.C
- change simulator code to use ' instead of " in compiled translations
client/
makefile_sim
sim_util.C
sim.C,h
work_fetch.C
html/inc/
translation.inc
sched/
edf_sim.C
edf_sim.h (new)
svn path=/trunk/boinc/; revision=12604
in the project home directory.
It contains the output of /usr/bin/svnversion,
i.e. the code revision from which the server software was built.
- Web files that create directories now give them g+rwx permissions
html/inc/
cache.inc
translation.inc
sched/
edf_sim.C
tools/
make_project
upgrade
svn path=/trunk/boinc/; revision=12521
- bug in language_select.php made 'auto' not work,
i.e. its impossible to return to browser settings
after doing a cookie-based language choice
- translation.inc and language_select.php were using $HTTP_SERVER_VARS,
which appears to be deprecated in PHP 5.
Use $_SERVER instead.
- made strings at top of web site translatable
html/
inc/
translation.inc
user/
language_select.php
languages/translations/
en.po
svn path=/trunk/boinc/; revision=12493