Projects:
If you use a work generator that tries to maintain a certain number
of unsent results, please read the following.
In a heavily-loaded project, the transitioner can fall behind.
If this happens, as Jon describes below,
the work generator can produce too many workunits.
To fix this, you must add code to your work generator
to wait for transitioner to catch up after creating workunits.
See the latest sample_work_generator.cpp for an example.
The logic is as follows:
while (1) {
if there enough unsent results
sleep(10)
continue
make some new workunits
// ADD THE FOLLOWING:
// wait for the transitioner to catch up
double now = dtime();
while (1) {
daemon_sleep(5);
double x;
min_transition_time(x);
if (x > now) break;
}
-- David
On 10-Dec-2013 8:17 AM, Jon Sonntag wrote:
If the transitioner is backlogged, the work generator is called to create
more work. But, since the transition creates the results, the server
things that there isn't any work so it creates more. That causes the
transition to get even more bogged down trying to create the result
records. Collatz is only supposed to have 1K of workunits per app. As a
result of the "catch 22" described, there are almost 500,000 WUs now. That
causes the database to grow even larger and when it exceeds the physical
RAM, MySQL slows down considerably which makes the transitioner even slower
causing even more workunits to be generated.
So... is there any way that the work generator can check not only that the
count of WUs per appid is below the threshhold but also that the
transitioner is not backlogged prior to generating more work?
Jon Sonntag
_______________________________________________
boinc_dev mailing list
[email protected]
http://lists.ssl.berkeley.edu/mailman/listinfo/boinc_dev
To unsubscribe, visit the above URL and
(near bottom of page) enter your email address.
_______________________________________________
boinc_dev mailing list
[email protected]
http://lists.ssl.berkeley.edu/mailman/listinfo/boinc_dev
To unsubscribe, visit the above URL and
(near bottom of page) enter your email address.