![]() |
|
|
#45 |
|
Undefined
"The unspeakable one"
Jun 2006
My evil lair
22·1,549 Posts |
I think only dedicated prime searchers would be testing 100M digit numbers.
Last fiddled with by retina on 2008-12-22 at 01:55 |
|
|
|
|
|
#46 | |
|
Aug 2006
3×1,993 Posts |
Quote:
Code:
k=-log(2)/1.5; solve(x=2,3,solve(y=-9,9,1+x*k*exp(k*y)))*12 Last fiddled with by CRGreathouse on 2008-12-22 at 02:06 |
|
|
|
|
|
|
#47 |
|
Aug 2006
3·1,993 Posts |
I think only foolhardy ones would be. But if we assume that everyone testing a 100M digit number will move the work from computer to computer we are rather begging the question, aren't we? The thread *is* titled "Will Any Current 100M Digit LL Tests Finish?", after all.
|
|
|
|
|
|
#48 | |
|
Dec 2003
Hopefully Near M48
2×3×293 Posts |
Quote:
Say that at time 0, one can buy a computer with speed r (measured in iterations per second, at 20M FFT, the FFT size used for the smallest 100M digit LL tests). The number of seconds needed to complete 100M iterations is then 100,000,000/r. Now suppose that one instead waits for t seconds and then buys a computer. The computer's speed will be faster by a factor of 2^(t/d), where d is the time needed for computing speed to double, measured in seconds. Thus the number of seconds needed to run the test is 100,000,000/r2^(t/d). Adding in the waiting time, the time at which the test finishes is t + 100,000,000/r2^(t/d) seconds in the future. Therefore, the problem is to minimize The derivative of the function is Therefore, the best time to buy a computer is: If, instead of iterations per second, one wants to express the answer in terms of time needed to finish the test on a current computer (call it T), the answer is: Note that this quantity is positive when The moral of the story is: Start your calculation when the time needed to complete it is Last fiddled with by jinydu on 2008-12-22 at 02:59 |
|
|
|
|
|
|
#49 |
|
Aug 2006
10111010110112 Posts |
Right. Then if you solve for the value of T that makes t = 0 (with d = 18 months), you get T = 25.96851... months.
|
|
|
|
|
|
#50 |
|
Dec 2003
Hopefully Near M48
2×3×293 Posts |
Now consider the more complicated problem in which one is able to upgrade the computer N times. This is evidently more realistic than assuming that one can upgrade continuously.
First of all, note that one should always use up all N upgrades before the test is finished. Obviously, one should always buy a first upgrade at some time (or else the test will never finish) and if not all of the upgrades have been used up, one can always improve the completion date by adding a upgrade sometime between the last scheduled upgrade and the scheduled completion time. So let us assume that the completion time is after Taking a hint from the N = 1 case, let us use the time needed for computing speed to increase by a factor of e as our unit of time, and set our clock so that t = 0 a computer bought at t = 0 will finish the test when t = 1. Then a computer purchased at time t is [Dinner time. Maybe someone else can finish the rest of the derivation.] Last fiddled with by jinydu on 2008-12-22 at 03:48 |
|
|
|
|
|
#51 |
|
Dec 2003
Hopefully Near M48
110110111102 Posts |
[Detour]
Here is the continuous version of the problem. Suppose that you have a limited budget (1 unit of money) and want to finish an LL test (1 unit of computing work) at the earliest time possible. At each instant of time, one can buy a computer; the computer's speed is proportional to the amount of money one spends. However, because of continual improvements in technology, the constant of proportionality decays exponentially with time. Treating money as a continuous variable, what is the optimum way to distribute the budget? Note: The answer should be a function that assigns to instant of time the amount of money one is spending at that instant per unit time. Let us choose our time unit so that the price per unit computing speed decays by a factor of e every time unit. Computing speed (in the natural units) will then be 1 divided by the number of time units needed to complete the test. Let time 0 be the time at which the cost per unit of computing speed is 1. Then the cost per unit computing speed at time t is Let f(t) be any "sensible" distribution. Since you should spend all the money eventually, and assuming that you can't sell computing parts at any time, we have the conditions: The rate at which you are accumulating computing speed at time t is then An inverse function and a double antiderivative... This looks even more difficult than the previous problem... [/Detour] Last fiddled with by jinydu on 2008-12-22 at 08:20 |
|
|
|
|
|
#52 |
|
Dec 2003
Hopefully Near M48
6DE16 Posts |
Anyway, going back to the discrete problem...
In the case N = 2 (which is the case when one can buy a computer and then upgrade once), the completion time is: Using the substitution It is now clear that we should minimize By the result for N = 1, it is clear that we should take Meanwhile, the derivative of Therefore, the optimum strategy is |
|
|
|
|
|
#53 |
|
Aug 2006
135338 Posts |
Here's my work on the two-computer case. I will borrow notation from jinydu when possible (so the results are easier to compare), but will use a and b rather than t_1, t_2 for the purchase times for the computers to avoid subscripts. I will use d = 18 months, but this should cause no confusion as I will not simplify the constant further -- substitution should be straightforward.
Let F be the time at which computations are finished. The goal is to minimize F. T represents the time needed to finish the test on a current computer. In the one-computer case, T = (F - a) * 2^(a/18), and so F = a + T / 2^(a/18). In the two-computer case, T = (F - a) * 2^(a/18) + (F - b) * 2^(b/18) and so As a quick double-check, taking the limit of the above as b approaches Taking the derivative wrt b (for fixed a) gives and setting this to zero gives . . . Cheating with Mathematica, this makes I don't know how jinydu's solution avoids the use of the W function; it seems that a solution must have this. But regardless, substituting this into the original gives a one-variable minimization problem. Unfortunately, with the W, this doesn't seem to be solvable except numerically. |
|
|
|
|
|
#54 | |
|
(loop (#_fork))
Feb 2006
Cambridge, England
72×131 Posts |
Quote:
I don't know how many memory accesses exactly are required for such an FFT; I'd guess eight runs through the whole data, to split from 160MB of raw input to a 1MB cache size and recombine afterwards. So 1.28GB in 0.047 seconds, 27GB/second - a quarter the speed of the memory on a present-day GTX280, a bit faster than the fastest reports from overclocked Nehalems. |
|
|
|
|
|
|
#55 |
|
Dec 2003
Hopefully Near M48
2·3·293 Posts |
|
|
|
|
![]() |
Similar Threads
|
||||
| Thread | Thread Starter | Forum | Replies | Last Post |
| 332.2M - 333.9M (aka 100M digit range) | Uncwilly | LMH > 100M | 684 | 2018-07-01 10:52 |
| overclocking an i7-2600 to finish an 100M exponent in less than a year :) | emily | Hardware | 4 | 2013-02-28 20:11 |
| I want a 100M digit Mersenne that.... | JuanTutors | PrimeNet | 8 | 2012-12-06 13:47 |
| 100M-digit n/k pairs | __HRB__ | Riesel Prime Search | 0 | 2010-05-22 01:17 |
| 100M digit prime | Unregistered | Information & Answers | 10 | 2010-03-24 20:16 |