if job A is unstarted and EDF,
and there's a job B that is later in the list,
is started, has the same app version,
and has the same arrival time,
move A after B.
- client: remove the "temp_dcf" mechanism,
which had the same goal but didn't work.
- client: in computing overall debt for a project,
subtract a term that reflects pending work.
This should reduce repeated fetches from the same project.
- client simulator: tweaks
svn path=/trunk/boinc/; revision=20223
"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
10000*major + 100*minor + release,
rather than 100*major + minor.
Sometimes you need release-level resolution.
This affects:
- app_version.min_core_version
- config: min_core_client_version_announced
- config: min_core_client_version
Projects using these must multiply them by 100.
svn path=/trunk/boinc/; revision=20149
if project has crazy DCF, don't automatically request 1 sec;
only request work if there's a shortfall.
- intermediate checkin for notices stuff
svn path=/trunk/boinc/; revision=20145
sends the first rather than last 64KB of stderr to server.
This doesn't belong here; this choice should come from the server.
I may take this out later.
- user web: when add a private message, always add a notification
svn path=/trunk/boinc/; revision=20141
Old: in a flat file (html/project/project_news.inc)
New: in a forum (called "News" by default)
The script html/ops/news_convert.php copies news from
old to new format.
You'll also need to edit your index.php and use
"show_news(0, 5)" to show news.
- web: added a "message of the day" mechanism.
Edit html/user/motd.php to show a message.
This will be shown as the first news item,
but it's not archived (i.e., it's not a forum post)
svn path=/trunk/boinc/; revision=19949
the BOINC stylesheet (main.css) was included.
This is no good if we're exporting the HTML.
Add an option to generate generic HTML.
- web: add options to the forum RSS feed:
1) threads_only: just show threads (i.e. 1st post in each thread)
2) truncate: truncate posts to 256 chars.
If this is not set, convert post from BBcode to generic HTML,
and put this (XML-encoded) in item.description
This is preparation for using the forum code for project news,
and for displaying forum RSS feeds in the manager.
svn path=/trunk/boinc/; revision=19915
- default: script can be run from command line;
to run from web you need to be logged in as a particular user.
(in addition to .htaccess protection).
- if include $cli_only at start of script:
can only be run from the command line.
- if include $skip_auth_ops at start of script:
can run from web without being logged in
(this is set ONLY in login_action.php)
- admin web: added $cli_only = true to a bunch of scripts
svn path=/trunk/boinc/; revision=19230
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
Got rid of auth_ops_cmdline() (not needed).
auth_ops() is now called in util_ops.inc;
every script in html/ops/ must include util_ops.inc.
Note: for existing projects, the admin web interface
will now show "access denied".
Projects must think about what access control policy they want,
and specify it in project.inc
svn path=/trunk/boinc/; revision=19053
(this is separate from login to user pages,
since the cookie path is different).
- admin web: added a framework for project-specified
access control to admin pages.
Can be on the basis of user ID, user flags, etc.
To do this, define functions auth_ops() and auth_ops_cmdline()
in html/project/project.inc
(see the one in project.samples/ for an example)
This is in addition to .htaccess protection.
svn path=/trunk/boinc/; revision=19052
use job name as tiebreaker if received times are the same.
This makes the order deterministic.
- web: show elapsed time and CPU time,
and show app version info, in result display
svn path=/trunk/boinc/; revision=19008
elapsed_time: the elapsed time (runtime) as reported by client
flops_estimate: the app's estimated FLOPS as reported by app_plan()
app_version_id: the DB ID of the app_version used
(or -1 if anonymous platform)
TODO: show these in the web interfaces,
and use them where appropriate
svn path=/trunk/boinc/; revision=19002
don't modify user preferences or CPID.
- client: fix bug that shows ATI version incorrectly
- database: host.posts has been repurposed as a salt (or seqno)
for a new type of weak authenticator that won't depend on password
- web code:
modify forum_preferences.posts instead of host.posts.
(actually, the former isn't used either, we just do a select count(*);
should fix this at some point).
svn path=/trunk/boinc/; revision=18865
(This bug has been there since 28 Oct 2004)
- GUI RPC and manager: include project backoff in FILE_TRANSFER,
so that manager gets up-to-date value
svn path=/trunk/boinc/; revision=18786
don't skip the reference site check.
Instead, defer the reference site check until 30 secs after startup.
Also, if during this interval (when the check has been requested
but not started) return net status as LOOKUP_PENDING
svn path=/trunk/boinc/; revision=18760
return ERR_IN_PROGRESS is the reference site check is in progress.
This hopefully fixes a bug where:
- the user is connected via a proxy
- the manager is run for the first time, and an attach is tried
- the get_project_config.php fetch fails because no proxy config
- the manager gets the CC_STATUS before the ref site check has
finished, so it thinks there's a network connection,
and it doesn't ask the user for proxy info
svn path=/trunk/boinc/; revision=18712
for showing how GPU instances are being reserved
- scheduler: add "sse3" plan class example
- web: add option (NO_TEAMS constant) for suppressing teams
svn path=/trunk/boinc/; revision=18658
Add the following to html/project/project.inc:
$banned_email_domains = array(
"foo.bar",
"blah"
);
Email addresses ending with any of those strings will be disallowed.
- Web RPCs: have am_set_info.php do the same checking for
email addresses (invalid, banned) as the other web code
svn path=/trunk/boinc/; revision=18352
but allow other tags (like <a>).
Note: if the image is itself inside a <a href=x>,
then the [Image link] will be linked to x, not to the image.
svn path=/trunk/boinc/; revision=18169
- 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
limits the # of completed results handled per scheduler RPC.
This may be needed to avoid crashes due to memory allocation
failure (each reported result uses about 128KB memory).
- web: In showing result lists,
include "Validate error" results in the "Invalid" category.
(Previously they didn't appear in any category)
svn path=/trunk/boinc/; revision=18104
don't use the variable name "sgi";
include <xxx.h> instead of <cxxx>; the latter just adds
overloaded functions that we avoid.
svn path=/trunk/boinc/; revision=17954
(say what kind of job and why we're scheduling it)
- client: log messages describing GPUs: one line per GPU; fixes#879
svn path=/trunk/boinc/; revision=17847
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
- web: divide the stylesheet into "main.css"
(which has formatting stuff, rounded corners etc.)
and "white.css" (which has colors).
The above two from Simek.
- scheduler: change default min NVIDIA driver version
from 17500 to 17700
svn path=/trunk/boinc/; revision=17819
i.e., list both win/x86 and win/x86 + NVIDIA.
This will allow the manager to show which projects can
use the hosts's coprocessors,
and also graying out projects that require an absent coproc.
- fix compile warnings
svn path=/trunk/boinc/; revision=17735
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
"client state", and "outcome" into a single status.
The fact that there are three separate status fields
is an implementation detail that users don't need to see.
svn path=/trunk/boinc/; revision=17599
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
if it has a canonical result, not if it's been assimilated
(if the assimilator is not working, the latter causes
WUs to be hidden longer than needed)
svn path=/trunk/boinc/; revision=16986
(corresponding to the get_project_config.php web RPC):
- platforms: list of platforms supported by the project
- sched_stopped: scheduler disabled
- web_stopped: DB-driven web features disabled
- min_client_version
- GUI RPC: add the following items to CC_STATE:
- platforms: list of platforms supported by the client
(this replaces the unused <platform_name>)
- GUI RPC: add the following items to PROJECT_LIST_ENTRY
(entry in the "all projects" list):
- platforms: list of platforms supported by the project
- GUI RPC: move APP_VERSION pointer from WORKUNIT to RESULT;
include plan class in APP_VERSION lookup.
This completes the change of March 2008,
and allows the Manager to work correctly when a project
has two different app versions of the same (app, platform, version)
running on a client at once (e.g., a CPU and a GPU app)
- get_project_config.php: remove logic that checks client version.
This page is accessed by PHP, not just by client
- web: add link to forum page to get forum as RSS
svn path=/trunk/boinc/; revision=16900
- Added translation awareness to view_profile.php
- Added translation awareness to show_user.php
- Added cacheability to the community_links() by splitting it into a function for getting the cacheable object "get_community_links_object()" and another for displaying it "community_links()"
- Added the community_links cacheable object to the cache in show_user.php
- Changed view_profile.php from being full-page cached to using data caching. Only the community_links object is cached as that is the only one containing heavy queries. All other queries are simple and will be cached at the SQL query cache level.
svn path=/trunk/boinc/; revision=16749
- Added ability to get a forum post title from the GET request as well as the POST request data (POST overwrites GET)
svn path=/trunk/boinc/; revision=16747
- web: check whether to show profile in separate function
from displaying profile; eliminate double headers
- scheduler: finish purge of redundant arguments
svn path=/trunk/boinc/; revision=16726
put a textual summary of them in host.serialnum (currently unused)
- web: show coprocs on host detail page
- db_dump: include coproc info in host XML
svn path=/trunk/boinc/; revision=16697
- Fixed duplicate code segment by moving it outside the if-sentence
- A few random HTML4.01 transitional fixes
- Translation awareness (From ORE)
svn path=/trunk/boinc/; revision=16682