mersenneforum.org  

Go Back   mersenneforum.org > Prime Search Projects > No Prime Left Behind

Reply
 
Thread Tools
Old 2009-04-27, 21:31   #1
mdettweiler
A Sunny Moo
 
mdettweiler's Avatar
 
Aug 2007
USA (GMT-5)

3×2,083 Posts
Lightbulb PRPnet beta test server

Hi all,

A few days ago, a new version of PRPnet, 2.0.4, was released. Edit: latest is now 2.1.2. This version fixes many of the earlier versions' shortcomings and bugs, including:

-Support for user ID's
-Added a built-in stats/status web page system
-CPU affinity can now be specified when LLR is used as a worker application
-Supports using PFGW as an additional worker application, and thus can automatically prove PRP's found with Phrot or LLR
-Fixed a number of bugs/clunky behaviors related to how the client handles in-queue workunits when it shuts down

Edit: 2.1.2 fixed numerous bugs found in 2.0.4 (most notably a bug in handling Ctrl-C shutdowns on Windows), and added some features to the server. The differences for end-users of the client will be slight.

...as well as a number of other things which I won't go into here since they aren't directly relevant to end-users' use of the client at NPLB or CRUS.

For those who aren't already familiar with what PRPnet is, it was designed a number of months ago to be the long-overdue replacement for LLRnet, which due to its hard-coded LLR version 3.5 is becoming rapidly outdated. LLR 3.7.1c, the latest version, can be up to 10% faster, and another, relatively new program, called Phrot, can handle PRP tests up to 50% faster than LLR for many k*b^n+-1 bases. (Note that Phrot is really only applicable for the Conjectures 'R Us project, not here at NPLB.) PRPnet attempts to accomodate these improvements by providing a brand new client/server application that, rather than using hard-coded computational code, runs an external binary of the respective application, which can be easily swapped out as updates are released.

With this new release, PRPnet appears to be, for the most part, ready for prime time (no pun intended ) and for full-time use here at NPLB. Thus, I have set up a server at nplb-gb1.no-ip.org port 2000, currently loaded with work from the k=3010-3200 mini-drive, as a beta test for PRPnet on this project. Edit: Now loaded with k=300-400, n=260K-300K doublecheck work.

Clients for Windows and Linux can be downloaded at the following locations:
http://www.noprimeleftbehind.net/dow....1.2-win32.zip
http://www.noprimeleftbehind.net/dow....2-linux32.zip

To run either client, follow these steps:

-Download the respective version of the client for your operating system, and extract it to a new directory. The latest LLR, Phrot, and PFGW binaries needed by PRPnet are included in the above-linked zip files.

-Open prpclient.ini and edit userid=, email=, and clientid= to their respective values. userid should be the same as what you would use for LLRnet; email is somewhat self-explanatory and will be used for automatic prime notifications in the near future; and clientid is used to differentiate different computers within a given userid in the server logs. This could be quite useful if, say, one of your machines' residuals are found to be bad in future doublechecking, so that you can locate the faulty machine more easily.

-prpclient.ini is already configured to communicate with the G2000 beta test server. However, you can add other servers, too, as described in the prpclient.ini file's comments. This is actually a really cool feature of PRPnet: you can have it automatically split its time (based on a user-provided ratio) between multiple servers, or even configure a fallback server in case one is unreachable. A list of currently avalable public PRPnet servers is published along with the client in the file servers.txt. (Please note that this file is by no means necessarily exhaustive. )

-Run the program prpclient.exe (or ./prpclient on Linux) and you're all set! The client should automatically connect to the server, grab 10 k/n pairs (this is configurable in the prpclient.ini file), process them, return them to the server, and repeat. (Note that PRPnet handles work in batches, unlike LLRnet which returns results individually. In earlier tests of PRPnet at CRUS this has confused some users, so thus I figured I'd better clarify this here at the get-go. )

-If the PRPnet client is interrupted, it will automatically pick up right where it left off when it restarts. Note that on Windows, simply closing the terminal window in which the client is running will perform a "force shutdown" and possibly lose any work since LLR or Phrot's last checkpoint; the best way to shut it down is with a Ctrl-C. (Usually this is also what happens behind-the-scenes when the computer is shut down normally.) When shut down with Ctrl-C, it theoretically should ask you what to do with the remaining workunits in queue; this usually works as advertised on Linux, but on Windows sometimes the what-to-do prompt is just ignored. Your mileage may vary, but admittedly this is only a minor quibble even if it doesn't work. Edit: as of version 2.1.2, this works fine on Windows as well as Linux.

If you have any questions, feel free to post them in this thread or ask me via PM/email.

Enjoy!

Max

Last fiddled with by mdettweiler on 2009-05-12 at 18:47
mdettweiler is offline   Reply With Quote
Old 2009-04-27, 22:15   #2
mdettweiler
A Sunny Moo
 
mdettweiler's Avatar
 
Aug 2007
USA (GMT-5)

3×2,083 Posts
Default

Oh, I almost forgot--here are the links to the server's various built-in status pages (updated every 5 minutes):

Server status:
http://nplb-gb1.no-ip.org:2000/server_stats.html

Server status (simplified form, for embedding into other pages):
http://nplb-gb1.no-ip.org:2000/server_status.html

Users stats (a simple stats- and score-tracking system):
http://nplb-gb1.no-ip.org:2000/user_stats.html

Please note that the user stats page uses a completely different formula for calculating its scores, so they aren't comparable with the ones at http://stats.ironbits.net. My plan is to code up some scripts sometime soon to convert the PRPnet server's results into our standard CSV format for importing into the stats databse just like with LLRnet results.

Last fiddled with by mdettweiler on 2009-04-27 at 22:17
mdettweiler is offline   Reply With Quote
Old 2009-04-27, 22:16   #3
gamer007
 
Mar 2009

18610 Posts
Default

Sounds good. I'll try it in a couple hours since I'm almost done one of my parts of the mini-drive.
gamer007 is offline   Reply With Quote
Old 2009-04-27, 22:41   #4
Mini-Geek
Account Deleted
 
Mini-Geek's Avatar
 
"Tim Sorbera"
Aug 2006
San Antonio, TX USA

17×251 Posts
Default

Is it possible to set the priority or other options that normally would be set in llr.ini? (I use Windows and downloaded your package) I tried the "idle" option in prpclient.ini and it didn't change it, so I edited the llr.ini file and restarted prpclient, but found that PRPnet regenerates the llr.ini from scratch and so deleted my edits. I also wanted to edit the iterations between screen outputs (OutputIterations).

Also (not sure what you could do about it) on http://nplb-gb1.no-ip.org:2000/user_stats.html it says "PRPs Found" even though all the stuff is prime, not PRP.
Quote:
Originally Posted by mdettweiler View Post
-If the PRPnet client is interrupted, it will automatically pick up right where it left off when it restarts. Note that on Windows, simply closing the terminal window in which the client is running will perform a "force shutdown" and possibly lose any work since LLR or Phrot's last checkpoint; the best way to shut it down is with a Ctrl-C. (Usually this is also what happens behind-the-scenes when the computer is shut down normally.) When shut down with Ctrl-C, it theoretically should ask you what to do with the remaining workunits in queue; this usually works as advertised on Linux, but on Windows sometimes the what-to-do prompt is just ignored. Your mileage may vary, but admittedly this is only a minor quibble even if it doesn't work.
Yeah it doesn't work right when I Ctrl-C out of it. It remembers the progress in the test, but doesn't ask me what to do. Here's what the command line looks like when I run it then use Ctrl+C:
Code:
C:\Files\Prime\PRPnet>prpclient
Client will run in idle class.
[2009-04-27 22:11:00 GMT] PRPNet Client application v2.0.4 started
[2009-04-27 22:11:00 GMT] User name Mini-Geek at email address is [removed]
Resuming test of 3021*2^428009-1 at iteration 110610 [25.84%]

 Caught signal.  TermiWhat should the client do with untested workunits?
natin  1 = Abort all (including current tests)
g.  2 = Report completed tests to server

  3 = Nothing
Choose option: [2009-04-27 22:11:18 GMT] G2000: Could not open file [lresults.txt] for reading.  Ass
uming user stopped with ^C
And it does this consistently. Like you said, it's not that big of a deal, but it is annoying.

Also, is there any way, besides launching it normally and then using an app like HideIt, to launch PRPnet in some sort of silent or in-the-task-tray mode?

BTW I just submitted my first PRPnet result to NPLB. (just testing, don't expect any more soon) Is there a 'nice' way to unreserve numbers (akin to llrnet -c) instead of just deleting the evidence of the reservation on my PC and letting the server expire it eventually? Particularly when the Ctrl-C prompt doesn't work?

Any idea if the idle time between submission of batches can be eliminated? In LLRnet you could just make it queue more than one so it has something to start on while it contacts the server, but with PRPnet's batching that doesn't apply. You could (probably) reduce the average idle time by having a large batch, but that still means there's some idle time.

Last fiddled with by Mini-Geek on 2009-04-27 at 22:45 Reason: added last paragraph
Mini-Geek is offline   Reply With Quote
Old 2009-04-27, 22:43   #5
Flatlander
I quite division it
 
Flatlander's Avatar
 
"Chris"
Feb 2005
England

31·67 Posts
Default

Is 'clientid' an integer or a string?
How do I get it to finish its 10 candidates and then stop? [edit: Looks like Mini-Geek beat me to it.]

Last fiddled with by Flatlander on 2009-04-27 at 22:46
Flatlander is offline   Reply With Quote
Old 2009-04-27, 22:51   #6
Mini-Geek
Account Deleted
 
Mini-Geek's Avatar
 
"Tim Sorbera"
Aug 2006
San Antonio, TX USA

17×251 Posts
Default

Quote:
Originally Posted by Flatlander View Post
Is 'clientid' an integer or a string?
clientid is a string that you use to identify machines/cores under your account name/email. It is required, but it doesn't really matter what it is.
Quote:
Originally Posted by Flatlander View Post
How do I get it to finish its 10 candidates and then stop? [edit: Looks like Mini-Geek beat me to it.]
Not quite, I was talking about unreserving, not finishing a reservation and exiting, (akin to llrnet -1) but that's another good question and I just didn't think to add it.
Mini-Geek is offline   Reply With Quote
Old 2009-04-27, 23:46   #7
mdettweiler
A Sunny Moo
 
mdettweiler's Avatar
 
Aug 2007
USA (GMT-5)

11000011010012 Posts
Default

Quote:
Originally Posted by Mini-Geek View Post
Is it possible to set the priority or other options that normally would be set in llr.ini? (I use Windows and downloaded your package) I tried the "idle" option in prpclient.ini and it didn't change it, so I edited the llr.ini file and restarted prpclient, but found that PRPnet regenerates the llr.ini from scratch and so deleted my edits. I also wanted to edit the iterations between screen outputs (OutputIterations).
Unfortunately, no. The affinity option is the only one currently able to be modified. However, I agree that it would be good to have the same options for the rest--I'll see about posting this over in the PRPnet thread at CRUS so Mark can fix it in the next release.

Quote:
Also (not sure what you could do about it) on http://nplb-gb1.no-ip.org:2000/user_stats.html it says "PRPs Found" even though all the stuff is prime, not PRP.
Hmm, good catch. You are correct, I can't do anything about it from this end (short of modifying the source code, which would probably be possible but a big hassle). I'll also post this in the PRPnet thread so it can be fixed in the next release.

Quote:
Yeah it doesn't work right when I Ctrl-C out of it. It remembers the progress in the test, but doesn't ask me what to do. Here's what the command line looks like when I run it then use Ctrl+C:
...
And it does this consistently. Like you said, it's not that big of a deal, but it is annoying.

Also, is there any way, besides launching it normally and then using an app like HideIt, to launch PRPnet in some sort of silent or in-the-task-tray mode?
Probably the simplest way to run it in the background is by using runh.exe, a program somewhat similar to HideIt except that it runs stuff completely in the background, rather than hiding already-started windows. I posted it a long time ago in the RPS forum in response to a similar question; you can download it from there. Simply run it as "runh program you want to launch" and you should be all set.

On Linux, a simple way to do this is to append the command with an "&". Like this:
./prpclient &
Or, if you want to keep the screen output logged in a file:
./prpclient >> stdout.txt &
Unfortunately Windows doesn't have this option available, though if you have Cygwin installed you can use it just like on Linux.

Quote:
BTW I just submitted my first PRPnet result to NPLB. (just testing, don't expect any more soon) Is there a 'nice' way to unreserve numbers (akin to llrnet -c) instead of just deleting the evidence of the reservation on my PC and letting the server expire it eventually? Particularly when the Ctrl-C prompt doesn't work?
Ah, I didn't think of that...yes, that does indeed make the Ctrl-C prompt more than just a minor annoyance after all. I'll post it in the PRPnet thread also, and see if Mark knows of an alternate method for doing this in the meantime.

Quote:
Any idea if the idle time between submission of batches can be eliminated? In LLRnet you could just make it queue more than one so it has something to start on while it contacts the server, but with PRPnet's batching that doesn't apply. You could (probably) reduce the average idle time by having a large batch, but that still means there's some idle time.
Unfortunately, no--the reason why LLRnet can communicate with the server at the same time it's crunching is because it runs asynchronously, which also seems to cause various other clunky behaviors of its own, such as the client freezing up if it can't communicate with the server properly, etc. (I'm pretty sure that's the cause of the infamous freeze bug, though I'm not positive.) At any rate, the idle time during server communications is actually quite negligible. When PRPnet was first released I was thinking the same thing you were, until I actually some calculations on just how much time was being wasted--turns out, for reasonably sized batches it's less than a tenth of a percent of the total computing time (I think--I don't remember the exact number off the top of my head). It would take ages just to recoup the time it takes to run a single test.

Of course, you're probably wondering just what I meant by "reasonably sized batches". For the size numbers we're currently doing (which take a few minutes apiece), a batch as small as 3-5 of them is still more than plenty to make the idle time a very miniscule amount.

Now, for smaller numbers such as the 9th Drive candidates, you'd definitely want to use a somewhat larger batch for them. Probably 10 would be the minimum reasonable size, though closer to 20 would be optimal.

Max
mdettweiler is offline   Reply With Quote
Old 2009-04-27, 23:49   #8
mdettweiler
A Sunny Moo
 
mdettweiler's Avatar
 
Aug 2007
USA (GMT-5)

3·2,083 Posts
Default

Quote:
Originally Posted by Flatlander View Post
How do I get it to finish its 10 candidates and then stop? [edit: Looks like Mini-Geek beat me to it.]
Theoretically, the client is supposed to give you a choice of what to do when it exits. One of those is "finish the current test, report it to the server, and tell the server to cancel all the rest in queue", which achieves essentially the same effect as what you proposed.

As stated in my last message, I'll report the Ctrl-C problem in the main PRPnet thread over at CRUS.

Edit: Actually, I just took a second look at the options presented and realized that this is indeed *not* one of the options presented. The closest thing to it is "Abort all (including current tests)", which reports all of the tests to the server as cancellations and ditches the save files of partially completed work.

Last fiddled with by mdettweiler on 2009-04-28 at 00:00
mdettweiler is offline   Reply With Quote
Old 2009-04-28, 01:55   #9
vaughan
 
vaughan's Avatar
 
Jan 2005
Sydney, Australia

5178 Posts
Default

Seems to be working OK so far.

How do we check how the individual client cores or clientIDs are crunching or is that something the Admins can see to warn the users of any rogue machines?
vaughan is offline   Reply With Quote
Old 2009-04-28, 01:58   #10
mdettweiler
A Sunny Moo
 
mdettweiler's Avatar
 
Aug 2007
USA (GMT-5)

3×2,083 Posts
Default

Quote:
Originally Posted by vaughan View Post
How do we check how the individual client cores or clientIDs are crunching or is that something the Admins can see to warn the users of any rogue machines?
From what I can tell, the only place the client ID's are used is in the server logs. The stats only keep track of k/n pairs and score per user, not per computer.

Though, that would be a rather interesting feature for the next version...
mdettweiler is offline   Reply With Quote
Old 2009-04-28, 05:27   #11
PCZ
 
PCZ's Avatar
 
Jun 2006
Chertsey Surrey UK

2·179 Posts
Default

Anyone tested the proxy function.
It' would be good if 'pharmers' could use proxy's again.

Last fiddled with by PCZ on 2009-04-28 at 05:27
PCZ is offline   Reply With Quote
Reply

Thread Tools


Similar Threads
Thread Thread Starter Forum Replies Last Post
PRPNet server for personal use johnadam74 Software 2 2016-01-01 15:58
New SR5 PRPnet server online ltd Sierpinski/Riesel Base 5 15 2013-03-19 18:03
First PSP PRPnet 4.0.6 server online ltd Prime Sierpinski Project 9 2011-03-15 04:58
SR5 PRPnet 4.0.4 Beta Server - Special Challenge! Joe O Sierpinski/Riesel Base 5 6 2010-12-25 20:45
PRPnet 3.1.3 stress-test server mdettweiler No Prime Left Behind 40 2010-01-30 18:05

All times are UTC. The time now is 21:38.

Sun Mar 29 21:38:50 UTC 2020 up 4 days, 19:11, 2 users, load averages: 1.63, 1.54, 1.53

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2020, 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.