Az előadás letöltése folymat van. Kérjük, várjon

Az előadás letöltése folymat van. Kérjük, várjon

Prímrekord Csajbók Tímea, Farkas Gábor, Kasza János Komputeralgebra Tanszék ELTE IK 2005. november 4. 16869987339975.

Hasonló előadás


Az előadások a következő témára: "Prímrekord Csajbók Tímea, Farkas Gábor, Kasza János Komputeralgebra Tanszék ELTE IK 2005. november 4. 16869987339975."— Előadás másolata:

1 Prímrekord Csajbók Tímea, Farkas Gábor, Kasza János Komputeralgebra Tanszék ELTE IK http://compalg.inf.elte.hu/tanszek/projects.php 2005. november 4. 16869987339975  2 171960 ± 1

2 A keresés menete A H halmaz megválasztása (kandidátusok) Szitálások – „Kisprímek” előállítása – Szitatáblák elkészítése – Általánosított szita Valószínűségi prímteszt Egzakt prímteszt

3 Erathosztenész szitája 1234 5 678910 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27

4 Általánosított szita f 1 (x), f 2 (x), …, f n (x) egész együtthatós, irreducibilis polinomok, pozitív főegyütthatóval. lineáris kongruencia mod (p) f k (x)h

5 h 1, …, h+q  p, …, 2 r -1 f k (1), …, f k (h+q  p), …, f k (2 r -1) q = 0, 1, …, (h+q  p  2 r -1) p: szitáló prím innen kezdünk Mennyit szitálhatunk p-vel ?

6 f 1 (x) = (h 0 +c  x)2 e – 1 f 2 (x) = (h 0 +c  x)2 e + 1 f 3 (x) = (h 0 +c  x)2 e+1 – 1 h 0 = 5775c = 30030e = 171960 f 1 (h) hány számjegyű? 51779

7 Gyakorlati megvalósítás Hardware Software-ek Fordítóprogramok Párhuzamosítás Adatfeldolgozás Mentés Vészleállítás Betöltés Az eredmények összegzése

8 Hardware SGI Altix 3700 Intel Itanium 2 –3 MB cache –128 db processzorregiszter –2 GB memória ~ 5 TB háttérkapacitás ~ 400 db processzor

9 Software-ek Redhat GNU/Linux (ia64), 2.4-es kernel Fordítóprogramok (C): –GNU C Compiler (gcc) –Intel C Compiler (icc) Párhuzamosító software-ek: –PVM library –MPI library

10 Fordítóprogramok Kezdetben mind gcc-vel, mind icc-vel kipróbáltuk a programot Később, az optimalizáláskor az icc 2x-3x gyorsabb kódot tudott előállítani

11 Párhuzamosítás Egy vezérlő processz –Csak az intervallumok kiosztása a feladata –Ha az összes elkészült, STOP signal-t küld a szitálóknak Sok szitáló processz –Csak saját intervallumába eső prímekkel szitál –A vezérlő processztől kér egy új intervallumot, mindaddig, amíg van hátra –Ha STOP signal-t kap, minden adatot a merevlemezre elment.

12 Mentés Az ún. batch node-ok instabilak voltak 2-3 naponta megszakadt a futás Adatvesztés lép fel, a futási idő pedig fogy Mi lett volna, ha az utolsó pillanatban az adatok mentése előtt megszakad a futás?

13 Mentés 2 Menteni kell! A szitáló processzek 10 intervallumonként automa- tikusan mentenek, azaz a h értékeket egy az egyben a merevlemezre írja Vészhelyzet esetén mentés és maximum 5 percen belül vészleállás

14 Vészleállítás Egy egyszerű `touch stop` parancs hatására a vezérlő nem ad új intervallumot Amikor egy szitáló processz új intervallumért fordul a kiszolgálóhoz, STOP signal-t kap Ekkor azonnali mentés indul Ha minden mentés befejeződött, a program (szabályosan) leáll

15 Adatfeldolgozás Hogy tároljuk a számokat a szitatáblában? –Leggazdaságosabb módja, hogy minden szám egyetlen bitnek felel meg Mi jelentse, hogy az adott h még szóba jöhet? –Egy intervallumot minél több prímmel szitálunk meg, annál kevesebb h marad, így jobb, ha az 1 jelenti. 1, …, h+q  p, …, 2 r -1

16 Betöltés Helytakarékossági és adatfeldolgozási okokból adódott a következő ötlet: Dolgozik n db processzor, majd végeznek és mentenek Következő munkafolyamat során minden processz megmarkol egy előzőleg elkészült file-t, és folytatja

17 Betöltés 2 Hogyan lehetséges mindez? Amikor egy számmal szitálunk, adott pozíción lévő egyeseket nullákra cserélünk Ha már az előző munkának köszönhetően kiütöttünk egy lehetséges értéket, nem befolyásolja az aktuális folyamatot.

18 Az eredmények összegzése Miután minden szükséges intervallummal végeztünk, a n db-ból egyetlen file-t kell csinálnunk Összeéseljük az azonos pozíción lévő elemeket Például: 0100100000001001 1000110001000001 0000100000000000 &

19 Az eredmények összegzése 2 Ez a művelet már egyetlen processzoron elvégezhető Első lépésben két file-t fésülünk össze, majd mindig egy újat hozzáveszünk Minden file-t csak egyszer olvasunk be a merevlemezről

20 A legnagyobb ismert ikerprímpár 2005. szeptember 9 – től 16869987339975  2 171960 ± 1 51779 számjegy


Letölteni ppt "Prímrekord Csajbók Tímea, Farkas Gábor, Kasza János Komputeralgebra Tanszék ELTE IK 2005. november 4. 16869987339975."

Hasonló előadás


Google Hirdetések