Mersennen alkuluvut ja GIMPS-projekti

ikez

Tukijäsen
Liittynyt
19.01.2022
Viestejä
109
Matematiikassa on käsite Mersennen alkuluku. Niitä lasketaan hajautetulla järjestelmällä, johon on luotu projekti GIMPS Projektin kotisivulta löytyy lisäohjeita.

Kuka tahansa voi osallistua kotitietokoneellaan projektiin. Kotisivulla Get Started opastetaan asentamaan tarvittava ohjelma tietokoneelle. Siitä on myös lähdekoodit saatavana. Voit ottaa yhden laskentaviipaleen tehtäväksi. Laskenta kuormittaa konetta tehokkaasti. Oma koneeni laski noin 10 tunnin ajon aikana 2,5 % tehtäväviipaleesta. Ohjelma toimii taustalla. Voit tehdä siinä samalla muutakin koneella. Ohjelmassa voi säätää parametreja, jolloin laskentatehokkuus voi nousta tai laskea ja koneen kuormitus sen mukaisesti.

Projektissa on mainittu jopa 3000 dollarin tai 50 000 dollarin palkintoja uusien alkulukujen löytäjälle. Niitä ei tosin kovin usein löydy. EFF on luvannut 100 000 dollarin palkinnon tietyt ehdot täyttävälle löydölle. Projektissa on Finland-tiimi, jossa on noin 50 jäsentä ja 208 tietokonetta. Voit liittyä siihenkin kotisivulla. Autat vielä matematiikan tiedettäkin pieneltä osin.

Mersennen luvuilla on useita lukuteoreettisia kuriositeettiominaisuuksia. Muun muassa parillisten täydellisten lukujen kuvaus perustuu niihin (parittomien täydellisten lukujen olemassaolo on avoin pulma). Lukua sanotaan täydelliseksi, jos se on aitojen tekijöidensä summa. Esimerkiksi 6 on täydellinen, koska sen tekijät ovat 1,2,3 ja 1+2+3=6. Jos 2^p-1 on alkuluku, niin n=2^(p-1)(2^p-1) on täydellinen (kun p=2, niin saadaan juurikin n=2). Tämä ja moni vastaava ominaisuus on mainittu Wikipedia-artikkelissa.

Yksi avoin ongelma on kysymys jatkuuko Mersennen torni? 2 on alkuluku, 2^2-1=3 on alkuluku, 2^3-1=7 on alkuluku, 2^7-1=127 on alkuluku, 2^127-1 on sekin alkuluku, ja se oli pitkään suurin tunnettu alkuluku. Tornin seuraava alkio 2^(2^127-1)-1 sitä vastoin on aivan liian suuri jopa GIMPSin käsiteltäväksi.

Mersennen tornin seurauksena saadaan vastaava torni polynomeja, jotka ovat jaottomia yli kahden alkion kunnan: x^2+x+1, x^3+x+1, x^7+x+1, x^127+x+1, x^(2^127-1)+x+1, joka sitten jatkuu tai ei. Käsittääkseni ainakin joku yrittää viritellä tuon 2^127 alkioisen kunnan päälle kryptografista konstruktiota. Mersenne ominaisuus nimittäin takaa, ettei tuon kunnan multiplikatiivisella ryhmällä ole pieniä aliryhmiä (joita hyökkääjä voisi hyödyntää). Tuo saattaa olla liian pieni nykyisissä systeemeissäs käytettäväksi.
 
Yleensä Prime95:n ajaminen saa aikaan vain Mersennen alkulukujen kokoisia lämpötiloja prosessorissa kun haetaan ylikellojen vakautta. Vaikiaa hommaa.
 
Jep.

Tuo Prime95 on hyvä ohjelma prossun vakauden sekä jäähdytyksen riittävyyden testaamiseen. Harva tuota muuhun käyttää.
 
Nykyisillä sähkön hinnoilla ei todellakaan kannata tätä, BOINCia, yms. ajella 24/7. Vakaustestaukseen on kyllä hyvä ohjelma kun ajaa torture testiä :)
 
Pari vuorokautta on rouskuttanutä tällä i5-10400F prossulla. Säätelin parametreista sen ottamaan enemmän tehoja irti kuin perusasetuksilla. Linuxissa loadi oli 7+ luokkaa. Ilmeisesti tämä kone on sitten hyvää laatua tai hyvää puuta kuten Loiri kuvaili. Tai joo, yhden kerran kone tilttasi ja bootin jälkeen jatkoi.
 
Onkohan tämä Eratostheneen seula tehokkaampi alkulukujen etsintä kuin Prime95? Kopioin FaceBookista python-koodin PoE ja ajoin sen i5-10400F prosessorisella koneella noin puolessa sekunnissa samaan aikaan kun kone jylläsi Prime95:ttä noin 20 % - 50 % kuormalla.

Koodi:
$ python Sieve_Eratos.py
Result:
    Total Primes: 78498
    Total time : 0.574810266494751
 
Siirryin pörssisähköön ja varsinkin 2 centin / kWh aikoina annoin kahdenkin koneen hyrrätä noita. Päälle tulee tietysti siirtomaksut noin 5 c / kWh. Hyrrää nyt tälläkin hetkellä kaksi konetta, joista toinen tekee yhden viipaleen noin 7 vuorokaudessa kun toiselta menee 17 vuorokautta. Se toinen on SER-tavaraa (HP 8200), mutta SSD-levyllä varustettuna ihan mukiinmenevä.

Suomen tiimi on 67. sijalla (linkki tilastoihin) tilastoissa. Tiimejä voi olla enemmän, mutta eivät ole mukana Team Finlandissa.

Ajattelin siirtyä kryptovaluuttojen rouskuttamiseen, mutta yhdessä videossa oli kuvaa Amerikasta, jossa isoja tehdashalleja täynnä koneita (tuhansia) jyystää niitä. Tuli ajatus, että ei taida olla rahallisille ansioille enää yhtään tilaa kotitietokoneilla tehtynä.
 
Kopioin FaceBookista python-koodin PoE ja ajoin sen i5-10400F prosessorisella koneella noin puolessa sekunnissa samaan aikaan kun kone jylläsi Prime95:ttä noin 20 % - 50 % kuormalla.

Koodi:
    Total time : 0.574810266494751

En tiedä liittyykö tämä mihinkään, mutta tässä on 5900X Wsl2 Ubuntun tulokset. Lisäsin kolme nollaa sinne koodiin että tulee vähän pidempiä mittauksia. Eli num = 1000000000 miljardi.
Koodi:
$ python3.8 era.py
Result:
        Total Primes: 50847534
        Total time  : 65.14776110649109
$ python3.11 era.py
Result:
        Total Primes: 50847534
        Total time  : 46.89904189109802
$ pypy3 era.py
Result:
        Total Primes: 50847534
        Total time  : 29.11097478866577

lisäys

Koodi:
$ ../bin/codon build --release --exe era.py
$ ./era
Result:
        Total Primes: 50847534
        Total time  : 10.2494
 
Viimeksi muokattu:
Lueskelin vähän tuosta Mersennestä. 1990-luvulla alkulukuja etsittiin jopa CRAY-supertietokoneella. Nykyajan kotitietokoneet taitavat olla sen suorituskyvyn tasolla tai ylikin. Löytyi jopa Python-kielellä prime95. Ja ohjelma, jolla voi valjastaa useamman kotikoneen verkoksi tässä projektissa. Lisäksi löytyi ohjelmakoodia GPU:ta käyttävälle numeronmurskaukselle. Sivujen mukaan se voi olla nopeampaa kuin prosessorilla tehty laskenta. En ihan löytänyt valmista koodia, jolla voisi ajaa Pythonilla mprimeä graafisena vaikka Linuxissa. Ja erityisesti KDE:ssä tai Plasmassa. Ohjelmakoodeja löytyy GitHubista.
 

Statistiikka

Viestiketjuista
261 699
Viestejä
4 544 476
Jäsenet
74 831
Uusin jäsen
Panasonic

Hinta.fi

Back
Ylös Bottom