Great Internet Mersenne Prime Search

aus Wikipedia, der freien Enzyklopädie
Wechseln zu: Navigation, Suche

Die Great Internet Mersenne Prime Search (GIMPS) ist ein gemeinschaftliches Projekt zur computergestützten Suche nach Mersenne-Primzahlen. Das Projekt wurde von George Woltman gegründet, der auch die Software Prime95 und MPrime für das Projekt schrieb. Scott Kurowski programmierte den Internet PrimeNet[1]-Server. GIMPS ist als Mersenne Research, Inc. eingetragen. Es war der erste umfangreiche Einsatz von verteiltem Rechnen über das Internet für Forschungszwecke.

Das GIMPS-Forschungsprojekt[Bearbeiten]

GIMPS bietet weltweit die Beteiligung an einem Projekt für Verteiltes Rechnen an, um Mersenne-Primzahlen zu finden. Die erforderliche Software, die George Woltman ab 1996 programmierte, kann von der GIMPS-Download-Webseite[2] heruntergeladen werden. Als Prime95 und MPrime ist diese Software zum Installieren auf verschiedenen Intel bzw. AMD Mikroprozessor-basierten Betriebssystemen verfügbar, unter anderem für Windows 64-bit und 32-bit, Mac OS X, Linux 64-bit und 32-bit, FreeBSD und PC-BSD 64-bit und 32-bit. Für andere Computerplattformen stehen die Programme Mlucas[3] und Glucas[4] zur Verfügung. Nach der Installation der jeweiligen Prime95-Softwareversion auf einem Computer kommuniziert diese im laufenden Betrieb mit dem Internet PrimeNet Server[1] von Scott Kurowski, um u. a. (Zwischen-) Ergebnisse zu registrieren, eliminierte Mersenne-Primzahlkandidaten zu speichern und GIMPS Nutzerdaten zu verwalten. Der GIMPS PrimeNet Server ist zusammen mit den lose gekoppelten Computern, die Prime95 oder MPrime ausführen, ein Grid-Computing-Netzwerk für Verteiltes Rechnen, bei dem ein virtueller Supercomputer für die rechenintensive wissenschaftlich-mathematische Suche nach Mersenne-Primzahlen entsteht.

Der GIMPS-Supercomputer erzielte am 6. April 2000 den Preis der Electronic Frontier Foundation (EFF) von 50.000 US$ für das erstmalige Auffinden einer Primzahl mit mehr als einer Million Dezimalziffern. Es handelt sich um die 38. Mersenne-Primzahl M6.972.593[5], die 2.098.960 Stellen hat und am 1. Juni 1999 mit einem 350 MHz Pentium II IBM Aptiva PC gefunden wurde. Der Preis ging zu Teilen an GIMPS und Nayan Hajratwala aus Plymouth, Michigan.[6] Edson Smith[7] fand die 47. bekannte Mersenne-Primzahl M42.643.801, welche am 12. April 2009 vom GIMPS-Projekt registriert und am 12. Juni 2009 veröffentlicht wurde. Edson Smith, George Woltman, Scott Kurowski, u. a. erhielten den Preis der EFF für das erstmalige Auffinden einer Primzahl mit mehr als zehn Millionen Ziffern von 100.000 US$[8], er ging am 14. Oktober 2009 zu Teilen an GIMPS und das Mathematikdepartment der University of California in Los Angeles (UCLA).

Mit 150.000 US$ für das Auffinden der ersten Primzahl mit mehr als 100 Millionen Dezimalziffern (100.000.000) und 250.000 US$ für das erste Finden einer Primzahl mit mehr als 1 Milliarde Dezimalziffern (1.000.000.000) sind zwei weitere Preise, die sogenannten Cooperative Computing Awards der EFF[9], ausgeschrieben. Der GIMPS Supercomputer beteiligt sich daran[10], in der Prime95 bzw der MPrime Software und in der Verwaltung des eigenen Kontos auf dem PrimeNet Server, zur Steuerung der Prime95 bzw der MPrime Software, kann die Suche nach 100 Millionen zifferigen Mersenne-Primzahlen eingestellt werden.

Status[Bearbeiten]

Anfang Februar 2013 hat GIMPS einen mittleren Durchsatz von ca. 130,546 TFLOP/s (Teraflop pro Sekunde) geleistet.[11] Im März 2012 hatte GIMPS einen mittleren Durchsatz von ca. 86,107 TFLOP/s,[12] was GIMPS theoretisch den Platz 153 unter den leistungsstärksten Computern der Welt einbrachte.[13] Im Oktober 2010 leistete GIMPS-PrimeNet rund 50 TFLOP/s, Mitte 2008 waren es ca. 30 TFLOP/s, Mitte 2006 ca. 20 TFLOP/s und zu Anfang 2004 ca. 14 TFLOP/s.

Geschichte[Bearbeiten]

Das GIMPS-Projekt begann im Januar 1996 mit einem Programm, das auf i386-Computern lief.[14][15] Der erste getestete Exponent damals war M859.433[16]. Der Name für das Projekt wurde von Luther Welsh gefunden, einer der ersten Teilnehmer und der Entdecker der 29. Mersenne-Primzahl[17]. Innerhalb weniger Monate hatten sich 1996 mehrere dutzend Personen angeschlossen, über tausend am Ende des ersten Jahres.[15][18] Joel Armengaud, ein Teilnehmer, entdeckte die Primalität von M1.398.269 am 13. November 1996.[19]

Gefundene Primzahlen[Bearbeiten]

Siehe: Mersenne-Primzahl

Bis dato (Februar 2013) hat das Projekt insgesamt 14 Mersenne-Primzahlen gefunden. Aktuell ist die größte Primzahl[20] 257,885,161 − 1 (oder kurz M57,885,161). Sie wurde am 25. Januar 2013 von Curtis Cooper an der University of Central Missouri entdeckt.[21]

Alle Mersenne-Primzahlen sind Potenzen von 2, minus 1, etwa 23-1=7, während etwa die Mersenne-Zahl 24-1=15 nicht prim ist. Mersenne-Primzahlen haben die Form Mq, wobei q der Exponent ist. Die Primzahl selbst ist 2q − 1. Somit ist die kleinste Primzahl in untenstehender Tabelle 21398269 − 1.

Mn ist der Rang der Mersenne-Primzahl gemäß ihres Exponenten. M43 ist die größte Mersenne-Primzahl für die ihr Rang bewiesen wurde, da alle kleinere Kandidaten doppelt geprüft wurden.

Entdeckungsdatum Primzahl Stellen Name Maschine
13. November 1996 M1398269 420.921 M35 Pentium (90 MHz)
24. August 1997 M2976221 895.932 M36 Pentium (100 MHz)
27. Januar 1998 M3021377 909.526 M37 Pentium (200 MHz)
1. Juni 1999 M6972593 2.098.960 M38 Pentium (350 MHz)
14. November 2001 M13466917 4.053.946 M39 AMD Thunderbird (800 MHz)
17. November 2003 M20996011 6.320.430 M40 Pentium (2 GHz)
15. Mai 2004 M24036583 7.235.733 M41 Pentium 4 (2,4 GHz)
18. Februar 2005 M25964951 7.816.230 M42 Pentium 4 (2,4 GHz)
15. Dezember 2005 M30402457 9.152.052 M43 Pentium 4 (2 GHz übertaktet auf 3 GHz)
4. September 2006 M32582657 9.808.358 M44 ? Pentium 4 (3 GHz)
23. August 2008 M43112609 12.978.189 M47 ? Intel Core 2 Duo E6600 CPU (2,4 GHz)
6. September 2008 M37156667 11.185.272 M45 ?
12. April 2009 M42643801 12.837.064 M46 ? Intel Core 2 Duo (3 GHz)
25. Januar 2013 M57885161 17.425.170 M48 »einem PC der Universität«[22]

Immer wenn eine mögliche Primzahl an den Server gemeldet wird, wird vor deren Verkündung eine Verifikation (Zweittest) durchgeführt, um Fehlmeldungen zu vermeiden: 2003 beispielsweise wurde eine falsche als 40. Mersenne-Primzahl gemeldet.

Die Software[Bearbeiten]

Hauptartikel: MPrime

Das Projekt verwendet für die Suche nach Mersenne Primzahlen vorwiegend den computerbasierten Lucas-Lehmer-Test (LL-Test) von Édouard Lucas und Derrick Henry Lehmer[23], ein Algorithmus, der auf den Test von Mersenne-Primzahlen spezialisiert und insbesondere effizient in binären Computersystemen ist.

Vor dem eigentlichen LL-Test erfolgt eine kurze Phase mit Probedivisionen auf enthaltene kleine Faktoren. Computerisierte Probedivisionen dauern im Vergleich zu den LL-Tests sehr viel kürzer, nur Tage statt Wochen. Dadurch können schnell und effizient Mersenne Primzahl-Kandidaten aussortiert werden, wenn für diese kleine Faktoren gefunden werden können. Dieses effiziente Eliminieren von Kandidaten wird regelmäßig für eine große Zahl von Kandidaten erfüllt, so ist etwa jede dritte Kandidatin durch drei teilbar, jede fünfte durch fünf, usw. John M. Pollards P − 1-Algorithmus wird für die Suche nach enthaltenen größeren Faktoren in Mersenne Primzahl-Kandidaten verwendet.

Obwohl der GIMPS-Quelltext frei verfügbar ist, gilt die Software nicht als freie Software, da sich Benutzer an die Projektbedingungen, die GIMPS End User License Agreement (EULA) und die GIMPS Terms and Conditions of Use (TCU) binden müssen, dies gilt insbesondere bei der Suche nach Mersenne-Primzahlen.

Der Lucas-Lehmer-Test[Bearbeiten]

Hauptartikel: Lucas-Lehmer-Test

Dieser Test ist ein speziell auf Mersenne-Zahlen zugeschnittener Primzahltest, der auf Arbeiten von Édouard Lucas aus der Zeit 1870 – 1876 beruht und im Jahr 1930 von Derrick Lehmer ergänzt wurde.

Er funktioniert wie folgt:

Sei p ungerade und prim. Die Folge S(k) sei definiert durch S(1) = 4, S(k+1) = S(k)2–2.
Dann gilt: Mp = 2p–1 ist genau dann eine Primzahl, wenn S(p–1) durch Mp teilbar ist.

Siehe auch[Bearbeiten]

Einzelnachweise[Bearbeiten]

  1. a b Internet PrimeNet
  2. GIMPS-Download
  3. Mlucas - A portable program for Lucas-Lehmer tests
  4. Glucas - Yet Another FFT
  5. GIMPS Finds First Million-Digit Prime, Stakes Claim to $50,000 EFF Award
  6. EFF Gives $50,000 to Finder of Largest Known Prime Number
  7. Titanic Primes Raced to Win $100,000 Research Award
  8. Record 12-Million-Digit Prime Number Nets $100,000 Prize - Mersenne.org Wins EFF's Cooperative Computing Award
  9. EFF Cooperative Computing Awards
  10. 100M digit range (mersenneforum.org)
  11. PrimeNet Activity Summary Aggregate Computing Power last 30 days, actual 86,107 TFLOP/sec; Webzugriff am 14. Februar 2013.
  12. PrimeNet Activity Summary Aggregate Computing Power last 30 days, actual 86.107 TFLOP/sec; Webzugriff am 5. April 2012.
  13. TOP500 per November 2011; nach dem 'HP DL160 Cluster G6' von Hewlett-Packard - HP DL160 mit 87,095 TFLOP/s (R max).
  14. George Woltman: The Mersenne Newsletter, issue #1 (txt) Great Internet Mersenne Prime Search (GIMPS). February 24, 1996. Abgerufen am 16. Juni 2009.
  15. a b George Woltman: The Mersenne Newsletter, issue #9 (txt) GIMPS. January 15, 1997. Abgerufen am 16. Juni 2009.
  16. Bekanntgabe von M859.433 (mersenneforum.org)
  17. The Mersenne Newsletter, Issue #9. Abgerufen am 25. August 2009.
  18. George Woltman: The Mersenne Newsletter, issue #3 (txt) GIMPS. April 12, 1996. Abgerufen am 16. Juni 2009.
  19. George Woltman: The Mersenne Newsletter, issue #8 (txt) GIMPS. November 23, 1996. Abgerufen am 16. Juni 2009.
  20. url=http://primes.utm.edu/top20/page.php?id=3
  21. GIMPS Project Discovers Largest Known Prime Number, 257,885,161-1. Great Internet Mersenne Prime Search. Abgerufen am 5. Februar 2013.
  22. http://mersenne.org/various/57885161.htm
  23. What are Mersenne primes? How are they useful? - GIMPS FAQ Page

Weblinks[Bearbeiten]