Appendix B: Processing Resource Applet
Appendix C: Control Server Source Code
| # | p | Mp | Disc. | Found |
|---|---|---|---|---|
| 1 | 2 | 3 | c. 500 BCE | 3/31 |
| 2 | 3 | 7 | c. 500 BCE | 3/31 |
| 3 | 5 | 31 | c. 300 BCE | 3/31 |
| 4 | 7 | 127 | c. 300 BCE | 3/31 |
| 5 | 13 | 8191 | 1456 | 3/31 |
| 6 | 17 | 131,071 | 1588 | 3/31 |
| 7 | 19 | 524,287 | 1588 | 3/31 |
| 8 | 31 | 2.15e+9 | 1772 | 3/31 |
| 9 | 61 | 2.31e+18 | 1883 | 3/31 |
| 10 | 89 | 6.19e+26 | 1911 | 3/31 |
| 11 | 107 | 1.62e+32 | 1914 | 3/31 |
| 12 | 127 | 1.70e+38 | 1876 | 3/31 |
| 13 | 521 | 6.86e+156 | 1952 | 3/31 |
| 14 | 607 | 5.31e+182 | 1952 | 3/31 |
| 15 | 1279 | 1.04e+385 | 1952 | 3/31 |
| 16 | 2203 | 1.48e+663 | 1952 | 3/31 |
| 17 | 2281 | 4.46e+686 | 1952 | 3/31 |
| 18 | 3217 | 2.59e+968 | 1957 | 3/31 |
| 19 | 4223 | 1.91e+1280 | 1961 | 3/31 |
| 20 | 4453 | 2.86e+1331 | 1961 | 3/31 |
| 21 | 9689 | 4.78e+2916 | 1963 | 3/31 |
| 22 | 9941 | 3.46e+2992 | 1963 | 3/31 |
| 23 | 11213 | 2.81e+3375 | 1963 | 3/31 |
| 24 | 19937 | 4.32e+6001 | 1971 | 3/31 |
| 25 | 21701 | 4.49e+6532 | 1978 | 3/31 |
| 26 | 23209 | 4.03e+6986 | 1979 | 4/1 |
| 27 | 44497 | 8.95e+13394 | 1979 | 4/3 |
| 28 | 86243 | 5.37e+25961 | 1982 | 4/13 |
| 29 | 110503 | 5.22e+33264 | 1988 | 4/19 |
We started running our system on March 31st. (We had planned on launching it long before then, but were held back by problems with the Java applet. The original plan, in which the applet would be written primarily in Jython – a dialect of Python with an interpreter written in Java – had to be changed when the Jython interpreter was unable to run within the default security restrictions enforced by the Java browser plug-in.) We finished our first sieve at 10:34:38 AM, and our first Lucas-Lehmer test at 10:36:51 AM.
At the start, the number of participating processing resources was small, as we resolved issues related to Java versions and applet tag problems on Macintosh browsers. Nonetheless, within 24 hours, the system managed to find the first 26 Mersenne primes, out of the 46 known. (See table, right.)
The system demonstrated impressive speed and robustness. By closing the browser while the applet was processing, interrupting network connections, and even modifying the database during processing, we were able to test a number of exceptional conditions. In all of these tests, the system recovered automatically, and all partially completed processing tasks were resumed as expected.
At various times since the system went live, it has had over 20 computers participating concurrently as processing resources. In some cases, individual computers have multiple instances of the applet running, to take advantage of multi-core processing. As of April 19th, the system is still running (see Appendix A and Appendix B), testing Mersenne numbers with seed primes in excess of 110,000.
M110503, the 29th Mersenne prime, was tested and confirmed by our distributed system at 1:23 PM PST on April 19th, six days after the system tested and confirmed the 28th Mersenne prime, M86243. (The 29th Mersenne prime was first discovered by Colquitt & Welsh on January 28th, 1988; this was an "out of sequence" discovery, since two larger Mersenne primes – M132049 and M216091 – were discovered in 1983 and 1985, respectively.)