![]() |
|
|
#683 | |
|
Serpentine Vermin Jar
Jul 2014
CF116 Posts |
Quote:
Trying to get a first-time test actually pulls 3 different exponents on each iteration... The lowest LL candidate, lowest P-1 candidate, and lowest TF candidate, and then picks the one with the lowest "difficulty" rating as the final choice. The difficulty is based on exponent size, whether an LL has already been trial factored or not, etc. So it does this each time, grabbing 3 types of results and then picking one of them. By process of elimination (running each of the 3 sub-queries at a time), I saw that the one that picks the smallest TF is the one that slows things down. The other two run splendidly fast, but in that third case, if there are zero matching records, as is the case when using a low range, below where TF work has already been done, it seems to take a long time. Whereas, running that 3rd part with basically no min/max (the default 0 to 1 billion) it finds the smallest one lickety split. It probably has to do with the way the table is organized or if there's a good index at work. If it has to scan the entire table before realizing there aren't any matching results, yeah, that would take a while. Otherwise without any range, it finds an entry before scanning the whole table. An interesting little puzzle there. I presume that trying to get "first time work" isn't exclusive to LL tests on purpose. In my mind when I saw "smallest available first time tests" I just assumed first time *LL* tests. Anyway, in my fictional and artificial test, doing the SQL queries themselves, instead of picking the "top 1" result from each sub query, I could do, for example, the top 12 of each type, as if I were going to try and reserve 12 exponents at once. Still no TF results in that low range, but it easily found 12 P-1 and 12 LL tests, so 24 altogether, and then still sorted by difficulty. *In theory* if you then took the top 12 of those, it *should* give you the same result as if you went through this 12 separate times, picking the top 1 of each type and then the top 1 of those. Plus, in whatever SQL magic way, I can get those top 12 results faster than I could (2 seconds) than I could even just getting one at a time (3 seconds). Someone at Microsoft would have to explain that to me... that's like arriving at your destination before you've left, or something. ![]() It could probably be made even quicker with a few other minor tweaks or doing it as one single query rather than 3 sub-queries unioned together but in the back of my mind I think George will post a reply and tell me why it does it the way it does.
|
|
|
|
|
|
|
#684 | |
|
P90 years forever!
Aug 2002
Yeehaw, FL
165618 Posts |
Quote:
The reason 3 queries are unioned together is we must find the smallest (or close to it) exponent available. For an LL request, we can hand out an exponent that is marked available for TF, P-1, or LL. Since we prefer to hand out an LL assignment if we can, the difficulty column is a manufactured column that helps us do this. Difficulty groups all exponents in the same million range together, then adds a value so exponents needing P-1 and TF sort higher than ones not needing LL. An example, if M60999999 is ready for LL it has a difficulty of 60000. If M60000001 needs 3 more levels of TF then it has a difficulty of 60003. Thus, requesting an LL test will return 60999999 rather than the smaller 60000001 because of the smaller difficulty value. Such shenanigans are mostly obsolete now as GPU72 as pretty much assured that all exponents have been TFed. |
|
|
|
|
|
|
#685 |
|
Apr 2014
27 Posts |
Summary page
Recent results recent cleared Have not been updated since 0400 UTC. LL results Known factors Are updating |
|
|
|
|
|
#686 |
|
Nov 2008
3×167 Posts |
Found 2 lines to process.
processing: TF no-factor for M45936097 (272-273) Error code: 40, error text: TF result for M45936097 was not needed Done processing: Notice: Undefined variable: expected_error_text_list in C:\inetpub\www\manual_result\default.php on line 1041 Warning: array_diff(): Argument #2 is not an array in C:\inetpub\www\manual_result\default.php on line 1041 * Parsed 1 lines. * Found 0 datestamps. GHz-days Qty Work Submitted Accepted Average 1 Trial Factoring: no factor 20.823 - 20.823 1 - all - 20.823 Status codes: Code Meaning Count 40 invalid assignment key 1 Lines by error code: Error Text Lines with this error TF result for <exponent> was not needed Did not understand 0 lines. Recognized, but ignored 0/1 of the remaining lines. Skipped 0 lines already in the database. Accepted 1 lines. |
|
|
|
|
|
#687 |
|
"James Heinrich"
May 2004
ex-Northern Ontario
342110 Posts |
|
|
|
|
|
|
#688 | |
|
Serpentine Vermin Jar
Jul 2014
63618 Posts |
Quote:
That meant an extra step in the process and I had a little difficulty getting the syntax just right. I thought I got it going last night before calling it good but I probably missed one last step. I'm on it now, thanks for the reminder. I meant to check it today but, you know... real jobs and all that. Didn't have the time earlier.EDIT: And... fixed. During my testing I actually had it skip doing the SQL steps and just doing the ANSI->UTF-8 conversion... guess what I forgot to do? Have it create fresh reports again after I was done with the testing. Last fiddled with by Madpoo on 2014-09-11 at 03:51 Reason: Fixed... |
|
|
|
|
|
|
#689 | |
|
Serpentine Vermin Jar
Jul 2014
3,313 Posts |
Quote:
I'll email you the SQL query I was using to test (basically pulled from the PHP with static values in place of some variables). I'll also toss out a few proposals for optimizing it. In the meanwhile if you're having performance issues like that, I'd recommend leaving the min/max values blank. It'll pick the lowest possible values. If you actually want some higher ones, enter that for the minimum value but put in 1 billion for the max. That will keep it running good and fast. |
|
|
|
|
|
|
#690 | |
|
P90 years forever!
Aug 2002
Yeehaw, FL
7,537 Posts |
Quote:
BTW, MSSQL was using the proper index. It was my fault for not putting enough information in the where clause to make this particular case super fast. Last fiddled with by Prime95 on 2014-09-11 at 03:55 |
|
|
|
|
|
|
#691 |
|
Dec 2002
11001011112 Posts |
The graph of the PrimeNet activity has become remarkably flat at 160 TFlops for the past 28 hours.
|
|
|
|
|
|
#692 |
|
Aug 2002
Termonfeckin, IE
22×691 Posts |
|
|
|
|
|
|
#693 |
|
If I May
"Chris Halsall"
Sep 2002
Barbados
262716 Posts |
Just to let the admins know, I got back to my main workstation a little while ago to discover that GPU72's spiders are reporting many extremely long timeouts, and some "500 read timeout" errors, since about 1910 UTC today.
|
|
|
|
![]() |
Similar Threads
|
||||
| Thread | Thread Starter | Forum | Replies | Last Post |
| Official "Faits erronés dans de belles-lettres" thread | ewmayer | Lounge | 39 | 2015-05-19 01:08 |
| Official "all-Greek-to-me Fiction Literature and Cinema" Thread | ewmayer | Science & Technology | 41 | 2014-04-16 11:54 |
| Official "Lasciate ogne speranza" whinge-thread | cheesehead | Soap Box | 56 | 2013-06-29 01:42 |
| Official "Ernst is a deceiving bully and George is a meanie" thread | cheesehead | Soap Box | 61 | 2013-06-11 04:30 |
| Official "String copy Statement Considered Harmful" thread | Dubslow | Programming | 19 | 2012-05-31 17:49 |