mersenneforum.org  

Go Back   mersenneforum.org > Factoring Projects > Msieve

Reply
 
Thread Tools
Old 2010-02-28, 03:16   #23
jasonp
Tribal Bullet
 
jasonp's Avatar
 
Oct 2004

3,541 Posts
Default

Basically if the input is over about 145 digits, then each of the large and small ranges is split into a variable number of pieces, and one piece is chosen randomly to be searched for the large and small ranges. It does throw way a lot of the range, but most of the range was not searchable in a reasonable amount of time anyway (especially without a GPU). At the 155-digit input size, each range is split into 5 pieces, so you would need maybe 5 machines searching the same group of A5's before needing to worry about work being duplicated at random.

Once the ranges are chosen, p and q values are chosen inside them; I started out using a sieve, but that gets very slow for large problems, so degree 6 polynomials use explicit enumeration with pruning (it's enormously faster, and should be used most of the time for degree 5 too). The enumeration means that values are picked from all over the range in a haphazard order, but nothing in the search code really depends on things being sorted.

Last fiddled with by jasonp on 2010-02-28 at 03:19
jasonp is offline   Reply With Quote
Old 2010-02-28, 09:37   #24
xilman
Bamboozled!
 
xilman's Avatar
 
"π’‰Ίπ’ŒŒπ’‡·π’†·π’€­"
May 2003
Down not across

10,753 Posts
Default

Quote:
Originally Posted by jasonp View Post
Basically if the input is over about 145 digits, then each of the large and small ranges is split into a variable number of pieces, and one piece is chosen randomly to be searched for the large and small ranges. It does throw way a lot of the range, but most of the range was not searchable in a reasonable amount of time anyway (especially without a GPU). At the 155-digit input size, each range is split into 5 pieces, so you would need maybe 5 machines searching the same group of A5's before needing to worry about work being duplicated at random.

Once the ranges are chosen, p and q values are chosen inside them; I started out using a sieve, but that gets very slow for large problems, so degree 6 polynomials use explicit enumeration with pruning (it's enormously faster, and should be used most of the time for degree 5 too). The enumeration means that values are picked from all over the range in a haphazard order, but nothing in the search code really depends on things being sorted.
Hint: coupon collector.

If you need more than a hint I'll post I'll post a more detailed explanation.

Paul
xilman is offline   Reply With Quote
Old 2010-02-28, 20:37   #25
jasonp
Tribal Bullet
 
jasonp's Avatar
 
Oct 2004

3,541 Posts
Default

Paul, I'm afraid I've never had the patience to be good at puzzles...
jasonp is offline   Reply With Quote
Old 2010-02-28, 20:41   #26
xilman
Bamboozled!
 
xilman's Avatar
 
"π’‰Ίπ’ŒŒπ’‡·π’†·π’€­"
May 2003
Down not across

250018 Posts
Default

Quote:
Originally Posted by jasonp View Post
Paul, I'm afraid I've never had the patience to be good at puzzles...
I'll PM you with the answer. Let's give others the chance to solve it for themselves.

Paul
xilman is offline   Reply With Quote
Old 2010-02-28, 21:15   #27
Brian Gladman
 
Brian Gladman's Avatar
 
May 2008
Worcester, United Kingdom

22×7×19 Posts
Default

Quote:
Originally Posted by jasonp View Post
Paul, I'm afraid I've never had the patience to be good at puzzles...
Also known as the 'classical occupancy problem' - see the attached
Attached Files
File Type: pdf classical.occupancy.pdf (233.4 KB, 1090 views)
Brian Gladman is offline   Reply With Quote
Old 2010-02-28, 22:32   #28
jasonp
Tribal Bullet
 
jasonp's Avatar
 
Oct 2004

DD516 Posts
Default

Note that in the case of poly selection we have two groups of ranges, each of which is split into pieces. Machines pick one choice for each range and search the combination for hits, so it's not immediately silly to set 5 machines loose on 25 combinations of search space.

PS: Brian, please tell me you didn't type that up just now :)

Last fiddled with by jasonp on 2010-02-28 at 22:33
jasonp is offline   Reply With Quote
Old 2010-03-01, 00:00   #29
jrk
 
jrk's Avatar
 
May 2008

109510 Posts
Default

Jason, that's a lot of cool improvements you've done in the last few days. I will check them out later.
jrk is offline   Reply With Quote
Old 2010-03-01, 07:57   #30
Brian Gladman
 
Brian Gladman's Avatar
 
May 2008
Worcester, United Kingdom

22·7·19 Posts
Default

I wish, Jason!

In the UK the Sunday Times publishes a weekly puzzle and I run a Google Group called 'Sunday Times Teaser Solutions' where people discuss these puzzles.

A puzzle came up a couple of years ago involving this issue so I wrote up the maths behind the solution.

Brian
Brian Gladman is offline   Reply With Quote
Old 2010-03-02, 03:07   #31
frmky
 
frmky's Avatar
 
Jul 2003
So Cal

2×34×13 Posts
Default

I have a feature request. Can msieve keep two checkpoint files? That is, rather than overwriting an existing chk file, move an existing chk to ch2, then create a new chk?

I ask because I just had about the worst possible msieve scenario happen. The LA for 2,899- has been running since Jan. 30. Another process was recently started on the computer. Today, while writing the checkpoint, which apparently uses slightly more memory than just running the LA, the computer ran out of memory so the Linux kernel decided to kill msieve. In the middle of writing the checkpoint. So it is now corrupt. With about 130 hours remaining until completion. And of course this is on the scratch partition so there's no backup. Time to start over.
frmky is online now   Reply With Quote
Old 2010-03-02, 12:41   #32
jasonp
Tribal Bullet
 
jasonp's Avatar
 
Oct 2004

354110 Posts
Default

Yuck, I figured that was so rare that it wasn't worth worrying about. The changes are easy and I'll make them.

Can low-level disk access with 'dd' find the unlinked inodes and recover the file? It probably would not be overwritten on disk...

PS: split checkpoint writes now available in SVN

Last fiddled with by jasonp on 2010-03-02 at 13:19
jasonp is offline   Reply With Quote
Old 2010-03-02, 14:00   #33
xilman
Bamboozled!
 
xilman's Avatar
 
"π’‰Ίπ’ŒŒπ’‡·π’†·π’€­"
May 2003
Down not across

10,753 Posts
Default

Quote:
Originally Posted by jasonp View Post
Can low-level disk access with 'dd' find the unlinked inodes and recover the file? It probably would not be overwritten on disk..
dd(1) is unlikely to be of much use. You could, I suppose, access the raw disk device and use a tool (grep(1) perhaps?) to look for disk blocks which look as if they might contain the data. However, recognizing the data, finding it all, and then putting it back together correctly is rather implausible IMO.

It's rather more likely that if something could be put together it would consist of the first portion of the second checkpoint followed by the second portion of the first. The reason being that if you open an existing file for writing its disk blocks are usually re-used.

Paul
xilman is offline   Reply With Quote
Reply



Similar Threads
Thread Thread Starter Forum Replies Last Post
Msieve 1.53 feedback xilman Msieve 149 2018-11-12 06:37
Msieve 1.50 feedback firejuggler Msieve 99 2013-02-17 11:53
Msieve 1.43 feedback Jeff Gilchrist Msieve 47 2009-11-24 15:53
Msieve 1.42 feedback Andi47 Msieve 167 2009-10-18 19:37
Msieve 1.41 Feedback Batalov Msieve 130 2009-06-09 16:01

All times are UTC. The time now is 00:48.


Sat Jul 17 00:48:32 UTC 2021 up 49 days, 22:35, 1 user, load averages: 1.43, 1.49, 1.39

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2021, Jelsoft Enterprises Ltd.

This forum has received and complied with 0 (zero) government requests for information.

Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation.
A copy of the license is included in the FAQ.