20070718, 20:20  #1 
"Jason Goatcher"
Mar 2005
3·7·167 Posts 
Ignorant question about P1.
I've decided to involve myself in the Seventeen or Bust P1 subproject. While it's useful to remove the numbers we're managing to remove, it would be helpful if we could remove more. This causes me to ask the following question:
I have only a vague idea of how p1 works. I'm aware that if you find a factor, than that factor, minus 1, has a lot of factors below the B1value, and 1 factor between B1 and B2. My question is, is there any useful way to reuse calculations to try another bound? For instance, if one did a calculation, failed to find a factor, and only wanted to change the B2 bound, can they recycle the calculation in any way? I realize that if this were possible, it would probably already have been implemented, but I figured a stab in the dark is better than nothing. 
20070718, 21:21  #2 
"Ben"
Feb 2007
E8B_{16} Posts 
I don't know anything about the Seventeen or Bust projecct, but in general for P1 the residue after stage 1 can be saved, and calculations resumed with either a larger stage 1 bound, or a different stage 2 bound. GMPECM does this already.
Its also possible to save the state after stage 2, to B2, and then resume with a larger B2. But if I understand GMPECM correctly, this would involve a prohibitive amount of storage to do, and so isn't implemented. Simpiler implementations of P1 don't involve as much storage, and can more easily resume stage 2 with a larger bound. I've written a version that does this. 
20070719, 03:33  #3 
"Jason Goatcher"
Mar 2005
3×7×167 Posts 
I would love to have someone mathematically inclined(no, I'm not suggesting bsquared isn't mathematically inclined) to figure out if this would be worthwhile, and if so, to help me implement it. It would be even better if this knowledge, if it's considered useful, could be relayed to the Seventeen or Bust forum, hosted by FreeDC.

20070719, 05:31  #4 
"Ben"
Feb 2007
7213_{8} Posts 
I'm fairly new to this forum, and DC projects in general, so I'm probably not the best resource. Also, Seventeen or Bust seems to use prime95 for P1, which I don't know much about.
However, I'm willing to speculate that if prime95 doesn't have a feature to save residues after stage 1, there is probably a good reason for it. For one, the residue would be huge given the size of the input number in either SoB or GIMPS. Storing/Serving these huge residues may not be practical. And two, it might not make sense, from the point of view of maximizing the *project* throughput, to test with P1 to higher and higher bounds. The extra time spent might be greater than the primalty testing saved. I think there are helper programs for SoB and probably for gimps, to help determine the optimal B1,B2 bounds for P1. 
20070719, 07:16  #5  
Jun 2003
1594_{10} Posts 
Quote:


20070719, 16:29  #6  
∂^{2}ω=0
Sep 2002
República de California
2×3^{2}×653 Posts 
Quote:
That's the neat thing about stage 2, it's completely distributable, i.e. many people can do separate stage 2 intervals independently, all starting with a single common stage 1 residue. 

20070719, 17:46  #7  
"Ben"
Feb 2007
7213_{8} Posts 
Quote:
All i meant was that if you were going to set up a server of the P1 residues of mersenne prime candidates, so that others could extend the P1 factorizations, that would chew up a lot of storage/bandwidth. Say, 10,000 candidates * 5Mbyte = 50Gbyte to serve. 

20070719, 19:14  #8  
∂^{2}ω=0
Sep 2002
República de California
26752_{8} Posts 
Quote:
Anyway, for SOB the distributedstage 2 method isn't likely to be of interest for regular crunching  I only mentioned it to illustrate some of the basic properties of the p1 algorithm. 

Thread Tools  
Similar Threads  
Thread  Thread Starter  Forum  Replies  Last Post 
Ignorant People on the Internet  flouran  Soap Box  17  20090814 15:40 