![]() |
[QUOTE=Prime95;118869]Expect outages / problems today getting assignments. I'm changing the definition of the available assignments table.[/QUOTE]
Seems this has solved the problem described in post #242 - worker thread 1 is getting assignments again. |
If anyone is feeling brave, you can sign up for trial factoring, P-1 factoring, and first-time LL testing. The range 46,000,000 to 46,010,000 contains real up-to-date data so your results will be useful.
|
The server assigned me a couple LL tests yesterday. One of them's done already (well, sortof):[quote][Fri Nov 23 14:31:10 2007]
P-1 found a factor in stage #1, B1=560000. UID: JamesHeinrich/3600x2v255, M46000231 has a factor: 64450044967347486511, AID: ACB2384746AA7678DF1B4649FFC4762A[/quote]The other's still doing P-1, and I hope it finds a factor too, since otherwise I won't be done LL until 09-Apr-2007 :yawn: |
multiple threads & manual ECM
Hi, I'm playing around a bit with this version of Prime95, trying (manually) to get two threads do ECM. Unfortunately, I end up having all my assignments in thread #1 and none in thread #2 :sad:. Probably I should modify the entries in my worktodo file, but I couldn't find any information on how to do that. At the moment I use lines like:
ECM=1960,44000000,0,500,0,0,1 Any suggestions how to get the second thread active? Best regards, Arjen. |
In local.txt you need the lines:
ThreadsPerTest=1 WorkerThreads=2 And in worktodo.txt you write [Worker #1] ECM=1960,44000000,0,500,0,0,1 [Worker #2] ECM=<something else> |
This is something I've talked about before, but I provide another example:
I have 1 thread doing ECM on small Mersenne numbers, and another thread working on an LL test, but currently doing the initial P-1 factoring. Now Prime95 has gone through and done all the stage1 for the ECM work it has queued up, while the P-1 thread is still churning away on its stage2, which will take another day or so to complete. When I start Prime95 the ECM thread usually gets to the check-how-much-RAM-it-can-claim stage first, and allocates anywhere from 250-750MB for itself. If I have high RAM settings (say 2GB for Prime95) there's plenty left over for the P-1 thread to do something useful with, and it does. However, once the ECM thread finishes its stage2, the P-1 thread restarts with new settings and grabs all available RAM for itself and then the ECM thread sits idle (in this case for several days) because there is no RAM available to do stage2 work. I realize that (in many cases) using a lot of RAM is more efficient at processing than using less RAM; however you can see from this example my system would get far more work done using (for example) 250MB for ECM and 750MB for P-1 rather than 1GB for P-1 and the ECM thread sitting idle for 2 days. My request/suggestion is that Prime95 scans through the worktodo for all threads before allocating memory so that it could detect situations like this, where allocating less-than-max memory for one thread would result in greater overall throughput. |
I've never even come close to programming something as complex as Prime95. The best I've done was a final exam where I took a sentence and encoded and decoded it into rail fence cipher. That task was a real bitch for me, so I can just imagine how much work(I don't know whether to put Prime95 or Old Man PrimeNet here) is going through. So maybe we just add that to the long list of suggestions and HOPE he gets to it.
Off-topic: If you want to have some fun, pretend like my name, Jason Goatcher, is already an encoded string and use rail fence cipher to decode it. Then look at the last five letters and remember that I'm a paranoid schizophrenic, meaning I sometimes find meaning where there isn't any. Coincidences like that really suck when you first get sick. (I'm white btw, and the trouble it caused involved me thinking I was a white Martin Luther King type person, but fighting for(on the side of) the blacks) |
[QUOTE=James Heinrich;119116]This is something I've talked about before, but I provide another example:
I have 1 thread doing ECM on small Mersenne numbers, and another thread working on an LL test, but currently doing the initial P-1 factoring. Now Prime95 has gone through and done all the stage1 for the ECM work it has queued up, while the P-1 thread is still churning away on its stage2, which will take another day or so to complete. When I start Prime95 the ECM thread usually gets to the check-how-much-RAM-it-can-claim stage first, and allocates anywhere from 250-750MB for itself. If I have high RAM settings (say 2GB for Prime95) there's plenty left over for the P-1 thread to do something useful with, and it does. However, once the ECM thread finishes its stage2, the P-1 thread restarts with new settings and grabs all available RAM for itself and then the ECM thread sits idle (in this case for several days) because there is no RAM available to do stage2 work. I realize that (in many cases) using a lot of RAM is more efficient at processing than using less RAM; however you can see from this example my system would get far more work done using (for example) 250MB for ECM and 750MB for P-1 rather than 1GB for P-1 and the ECM thread sitting idle for 2 days. My request/suggestion is that Prime95 scans through the worktodo for all threads before allocating memory so that it could detect situations like this, where allocating less-than-max memory for one thread would result in greater overall throughput.[/QUOTE] I have also experienced this behaviour. One thing (feature request) I suggested in an earlier post is to implement the possibility to set max. RAM useage for each individual thread. |
[QUOTE=Andi47;119147]I have also experienced this behaviour. One thing (feature request) I suggested in an earlier post is to implement the possibility to set max. RAM useage for each individual thread.[/QUOTE]Max-RAM-per-thread is one way of doing it, but in many cases that would leave available RAM "wasted" if not all threads are using their available RAM -- more than likely the thread(s) actually using RAM would be happier (i.e. more efficient, faster, etc) with all the available RAM from all threads.
What might be workable, however, is specifying both a minimum RAM-per-thread a global max RAM setting. Global max works as it does now. Minimum RAM-per-thread means that a thread can always get that amount of RAM if it asks for it (assuming min_per_thread is forced to be <= global_max / threads). So if I have 1024MB allocated as global_maximum, and 256MB min_per_thread, then my first thread will start off and use the whole 1024MB for itself if no other threads need it, but when thread #2 comes along and asks for RAM, thread #2 will get its 256MB and thread #1 has to make do with only 768MB (it gets more RAM because it was there first). This is probably less-optimal, but easier (as far as I can see) to program than my proposed fully-automatic RAM reassignment. On a related note, one observation: I had 1 thread doing small-ECM-stage2, another doing P-1-stage2. ECM didn't ask for a lot of RAM (anywhere from 125MB to 450MB), while P-1 got the rest of the allocated 2.5GB. However, the ECM stage2 often takes a very short amount of time (30 seconds to a few minutes) and the P-1 thread spent all its time trying to initialize its 2GB of RAM, then halfway through that restart with new memory settings, only to repeat a few minutes later. I'm not sure if there's an easy solution. My above-proposed automatic intelligent memory allocation would probably be able to solve it, at least if combined with a mechanism that would calculate the "new" memory settings for all running threads and prevent a thread from restarting if its going to get allocated the same amount of RAM as it had before (and probably bias the allocation of RAM such that that happens if it doesn't impact efficiency much). |
I've asked prime95 the secret line to add in prime.txt to contact new server but he didn't answer (maybe he is on holidays ?). Somebody can send me that line in a private message ? Tx
|
[quote=pacionet;119168]I've asked prime95 the secret line to add in prime.txt to contact new server but he didn't answer (maybe he is on holidays ?). Somebody can send me that line in a private message ? Tx[/quote]
[URL]http://www.mersenneforum.org/showpost.php?p=117067&postcount=2[/URL] UseV4=0 It goes in the main, first section of prime.txt, not under the [PrimeNet] section. |
| All times are UTC. The time now is 21:53. |
Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2021, Jelsoft Enterprises Ltd.